Transformer models
One of the key science goals of AI4Exoplanets is to understand the formation of planetary systems, in order to aid optimising observational surveys in finding planets similar to the Earth. This relies on the capacity to compute the probability a known system harbours such a planet given the properties already known for this system. Computing these conditional probabilities can be done easily if one can generate multi-millions of planetary systems. As this is intractable given the time requested to compute a single synthetic system (of the order of 1000 CPU hours, as in the Bern model computations), we developed generative models, trained on results of numerical simulations.
Ordered in increasing orbital periods, planetary systems can be seen as sequences. In this paper, we modelled planetary systems as sequence of characters, each character encoding the properties of each planet in a system. An illustration of typical generated planetary systems, to be compared with results of full numerical simulations, is given below. We then used a Transformer model to model these sequences, and generate new ones.
Our method achieved extremely good results, as illustrated by some statistics of generated planetary systems (see revised version of the paper), and demonstrated below.
Exemples of planetary systems produced by simulations, and generated by planetary systems. Each panel represents one system, each blue dot depicting a planet in the system. The x axis represents the distance between the central star and the planet (semi-major axis) in astronomical units (the distance between the Sun and the Earth) and in logarithmique scale. The vertical axis represents the mass of planets in Earth masses and in logarithmic scale. The Earth would be located at the (0,0) point on this diagram. For each panel, the sequence of characters coding for the planets is indicated in red. Approximately half of the systems are computed by numerical simulations, the other part are generated by the transformer model. Which system belongs to which population (numerical or generated) is indicated in the preliminary version of our paper.
Our code, in the form of notebooks for each of the steps (data preparation, encoding, training the transformer, decoding, comparison with numerical simulations) is available on GitHub.