# Using Artificial Intelligence for Space Challenges: A Survey
## 2 Background on AI  
This section briefly describes the major branches of AI exploited in the literature to solve problems in space applications. These techniques are divided into macro-categories. The first category is one of the most common forms of machine learning: supervised learning. This type of algorithms trains on labeled datasets to predict and classify new input data [4]. A typical application of supervised learning regards image recognition, in which a set of labeled images are received, and the models can learn to distinguish common attributes. An example of a supervised learning technique is the support vector machine [5], a linear model used for classification and regression problems. This algorithm generates a line that separates the data into classes. Another technique is random forest, whose algorithm builds decision trees on different samples, also made of continuous variables, and calculates their majority occurrence for classification and average for regression [6; 7]. A second category is unsupervised learning, in which algorithms learn by unlabeled data and can discover hidden patterns without any human intervention in data cataloging [8]. Clustering is an unsupervised learning technique that aims to find groups or clusters in a feature based on their similarities or differences. There are several clustering algorithms: for example, K-means clustering [9] is used mainly for image segmentation compression, market segmentation, or document clustering. This algorithm assigns data points into K clusters, where K is the number of groups based on the distance from each cluster. Another interesting unsupervised learning technique is dimensionality reduction, whose aim is to reduce the complexity of a problem. It is exploited to reduce the number of random variables under consideration by transforming data from a high-dimensional space into a low-dimensional space to optimize the meaningful properties of the original data. Semi-supervised learning stands between supervised learning and unsupervised learning and is a combination of them [10]. These algorithms involve a small number of labeled data and many unlabeled data. They learn from the labeled data and extract knowledge from the unlabeled data. An example is a document classifier where it is impossible to find many labeled text documents. A small number of labeled training data are used to train the model and, again, an unlabeled training dataset to predict the outputs. Reinforcement learning is a quite different approach from the previously described paradigms because it does not require a labeled dataset or a supervisor. Instead, it consists of an agent able to observe and experiment in a complex environment where the agent learns the optimal behavior through interactions and obtains the maximum reward. Therefore,any problem in which an agent must interact with an uncertain environment to meet a specific goal can be a potential application of reinforcement learning [11]. For this reason, this technique is widely used in robotics and autonomous driving. Neural networks are a subset of machine learning that try to mimic how biological neurons communicate with each other. Neural networks learn from large numbers of data, discovering intricacies while attempting to simulate the behavior of the human brain. The backpropagation algorithm is the basis of how the model changes its internal parameters that are used to compute the representation in each layer from the representation in the previous layer [12]. Convolutional neural networks (CNNs) are mainly used to analyze visual images. CNNs are structured as a series of stages: the first few stages are composed of two types of layers, named convolutional layers and pooling layers. These layers act as a feature extraction tool to derive the base-level features from the images fed into the model. Then, the fully connected layer and the output layer, which are the final stages, use the feature extraction layers' output and predict a class for the image depending upon the features extracted.