Concat two tensors of different dimensions
For that, you should repeat b 200 times in the appropriate dimension this way:
c = torch.cat([a, torch.unsqueeze(b, 1).repeat(1, 200, 1)], dim=2)
c.shape

As desired, the shape of the result is torch.Size([500, 200, 15])