How could we build a neural network that is invariant to permutations of the inputs? Given a neural network $f$ that takes as input $n$ data points: $x_1, \dots, x_n$. We say $f$ is permutation invariant if
$$f(x_1 ... x_n) = f(\sigma(x_1 ... x_n))$$
for any permutation $\sigma$.

How could we build such a neural network? The output can be anything (e.g. a number or vector), as long as it does not depend on the order of inputs. Is there any research work on these types of neural networks?
Here is a few that might be what you are looking for:


Deep Sets, https://papers.nips.cc/paper/6931-deep-sets.pdf
BRUNO: A Deep Recurrent Model for Exchangeable Data, https://arxiv.org/pdf/1802.07535.pdf
Deep Learning with Sets and Point Clouds, https://openreview.net/pdf?id=HJF3iD9xe
Permutation-equivariant neural networks applied to dynamics prediction, https://arxiv.org/pdf/1612.04530.pdf