I think, the proposed in the other answer CNN and RNN is a bad choice for this particular problem.
The input is the unordered sequence of the features, corresponding to each runner, so the input is essentially a set structure without the notion of order and locality. If the runners are assigned a number in random order, there is no sense as runner 1 is close to 2, or runner 3 precedes runner 4.
Therefore, CNN
or RNN
seem to be a bad choice since the add an inductive bias irrelevant to the data.
The question is pretty old, and at that time Transformer architecture was just invented, but it is the case, where it can be particularly well applied. Some points to note:
- Since there is no order, there is no need for positional embeddings
- Sequences are short, hence $O(N^2)$ complexity with respect to the length of sequence is small
- There is no need for decoder
Overall, I would suggest to stack several encoder blocks and predict ranks from the resulting embeddings.
As a loss, choose some reasonable choice from mentioned in the paper Ranking Measures and Loss Functions in Learning to Rank.