Deep Learning & AI
Artificial intelligence is reshaping how space systems are designed and operated. My work applies it end-to-end: generative design of space systems via Reinforcement Learning, Explainable AI for mission architecture trade-offs, computer-vision spacecraft rendezvous and proximity operations with SE(3) dynamics, and neural-network surrogates that accelerate transfer optimization.
Doctoral Research: AI for Mission Design
During my PhD at Purdue I developed the generative design of space systems through Reinforcement Learning, using Kerbal Space Program with Realism Overhaul as a high-fidelity sandbox for Artemis-era vehicles. To make those AI-driven trade studies trustworthy, I created X-SMART — Explainable Space Mission Architectures for Research on Trade-offs (IAC 2024), an XAI framework for evaluating System-of-Systems mission architectures, published in Acta Astronautica and Aerotecnica Missili & Spazio. My collaborations extend this line of work to computer-vision spacecraft rendezvous and proximity operations with SE(3) dynamics (IAC 2025, AIAA SciTech 2026) and to artificial neural network surrogates that predict transfer-optimization outcomes in a fraction of the simulation time.
Practical Experience
Virtually every project I took part applied some kind of computational or statistical analysis. But here, I want to emphasize two important experiences I've had that made direct use of AI & Deep Learning techniques: my year as a professor and data scientist in a coding company, Let's Code Academy, and the use of machine learning regression models in my projects with Dr. Antonio Prado.
Teacher at Let's Code Academy
My experience as a programming teacher allowed me to not only teach, but also learn extensively, from the basics of coding to the most advanced Machine Learning algorithms. Even though my strongest languages in my undergraduate studies were C, Fortran and Matlab, I got to professionally teach Python from an amalgam of approaches: I started with an intensive leveling course of 24 hours, Coding Tank, moving to a more complete view of the language as the teacher of a 48-hour training of Python in 4 different companies, spanning from its basics to an introduction to Data Science and Machine Learning.
Then, I had the opportunity to create from scratch and teach a MOOC specialized in finance data analysis called Python for Bloomberg, inside our own learning platform, in partnership with Bloomberg, the company responsible for the most popular finance platform in the market. I also taught Python for Finance twice, which starts after Python and covers Data Science, Machine Learning and Time Series Analysis libraries.
Next, I went through extensive training as the assistant of yet another, more advanced course, Data Science & Artificial Intelligence, covering roughly everything you need to know about Data Science and Machine Learning. I also started my participation in the Data Squad, further advancing my skills by structuring algorithms for database queries, data manipulation, data visualization and Machine Learning modeling, which allowed me to quickly become the teacher of the DS & AI course 2 months later.
Data Scientist at Let's Code Academy
As a data scientist, I could learn from a team of outstanding computer scientists and engineers. The main project I developed was an Artificial Intelligence for the company's Learning Management System, which aimed at recommending exercises to a student in their learning journey through Reinforcement Learning models. The first step was clustering students into four groups, which we named "genius", "tryhard", "transition" and "beginner". These clusters were made using variables such as the number of exercises the student completes, as well as the difficulty of each exercise and the time he puts into the Learning Management System. Then, another metric is created for the Reinforcement Learning algorithm: the accumulated learning, that merges the students' grade and the difficulty of an exercise in order to measure the reward used in the model.
The data from each student cluster was then used by a Multi-Armed Bandit Agent (i.e. the Artificial Intelligence) responsible for evaluating which exercise difficulty best fits the student profile. The figure below shows how a test's difficulty (very easy to very hard) can affect the learning outcome for a student (represented in 0-10 scale with 2.5 increments). Here, thicker lines indicate more expressive outcomes:
Neural network regression on Astrodynamics
My projects on Radiation Exposure Optimization in Low Thrust Transfers culminated in the radiation absorption prediction for a spacecraft in a transfer to the Moon, given a set of initial parameters. In other words: a regression. I started modeling a simple Linear Regression, but evolved the model to a Support Vector Machine and, finally, a Neural Network. I cared for optimizing the hyperparameters through a Grid Search, creating a Pipeline and using feature scaling. Once the model was plotted against the simulation results, it was clear that it fitted much better the data than the linear regression.
Deep Learning Specialization
Through the 5 courses of the Deep Learning Specialization, I could build upon my experience with Machine Learning to a more advanced realm: Deep Neural Networks. The near 84-hour courses provided me with a much better technical expertise of the area and were filled with practical assignments that developed deep Neural Network algorithms from scratch together with very interesting applications. I have selected a few of the guided projects from the specialization below in order to show what I learned.
Academic Background
STAT 598 — Statistical Machine Learning
This is a graduate-level machine learning course at Purdue ECE focusing on the mathematics behind traditional and fundamental topics in machine learning. Mathematical Preliminaries: matrices, vectors, Lp norm, geometry of the norms, symmetry, positive definiteness, eigen-decomposition; unconstrained optimization, gradient descent, convex functions, Lagrange multipliers, linear least squares; probability space, random variables, joint distributions, multi-dimensional Gaussians. Linear/nonlinear Classifiers: linear discriminant analysis, separating hyperplane, multi-class classification, Bayesian decision rule, linear regression, logistic regression, perceptron algorithms, support vector machines, nonlinear transformations, intro to neural networks. Learning Theory: bias and variance, training and testing, generalization, PAC framework, Hoeffding inequality, VC dimension. Robustness: adversarial attack, targeted and untargeted attack, minimum distance attack, maximum loss attack, regularization-based attack, robustness of SVM.
ACMS 30440 — Probability and Statistics
An introduction to the theory of probability and statistics, with applications to the computer sciences and engineering. Topics include discrete and continuous random variables, joint probability distributions, the central limit theorem, point and interval estimation and hypothesis testing.
PHYS 60203 — Statistical Analysis Techniques for Modern Astronomy
Binomial, Gaussian, Lorentzian and Poisson distributions; Bayesian inference; Error analysis and propagation; Testing for correlation, Partial correlation, Multivariable correlations; Principal component analysis; Parametric tests: mean, variances, t and F tests; Monte Carlo tests; Chi-square test for goodness of fit; Maximum-likelihood method; Least-Squares fit: straight line, polynomial, and arbitrary functions; Bootstrap and jackknife.
MAC0115 — Introduction to Computing for Exact Sciences and Technology
Brief history of computing. Algorithms: characterization, notation, basic structures, pseudo-code instructions. Computers: basic units, instructions, addressing. Concepts of algorithmic languages: expressions, sequential, selective and repetitive commands; input/output; structured variables, functions. Program development and documentation. Examples of non-numerical processing. Extensive programming and program debugging practice.
AGA0503 — Numerical Methods in Astronomy
Introduction. Numerical calculation concepts: representation of real and complex numbers, matrices and vectors; precision, floating point arithmetic; rounding errors. Linear matrices and systems: elimination of Gauss-Jordan, iterative algorithms. Interpolation and extrapolation: polynomial interpolation, by cubic and Laplace splines; multi-dimensional interpolation and extrapolation. Calculation of functions: series and convergence; transcendental equations. Numerical differentiation: Chebyshev approximation. Numerical integration: trapezoid rule, Romberg integration, Gaussian quadratures, multi-dimensional integrals. Function zeros: Newton's successive approximation and interval bisection methods. Minimum and maximum functions: Brent method. Random numbers: uniform, exponential and Gaussian distributions. Eigenvalues and eigenvectors. Search and selection mechanisms. Fourier transforms: fast fourier transform (FFT). Each item addressed considering applications in Astronomy.
Neural Networks and Deep Learning
The foundations of deep learning: major technology trends driving Deep Learning; building, training and applying fully connected deep neural networks; implementing efficient (vectorized) neural networks; key parameters in a neural network's architecture. First course of the Deep Learning Specialization.
Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization
Industry best-practices for building deep learning applications: initialization, L2 and dropout regularization, batch normalization, gradient checking; optimization algorithms such as mini-batch gradient descent, Momentum, RMSprop and Adam; train/dev/test set setup and bias/variance analysis; implementing neural networks in TensorFlow. Second course of the Deep Learning Specialization.
Structuring Machine Learning Projects
How to diagnose errors in a machine learning system; prioritizing the most promising directions for reducing error; complex ML settings such as mismatched training/test sets and surpassing human-level performance; end-to-end learning, transfer learning, and multi-task learning. Third course of the Deep Learning Specialization.
Convolutional Neural Networks
Building convolutional neural networks and applying them to image data: recent variations such as residual networks; visual detection and recognition tasks; neural style transfer to generate art; applications to image, video, and other 2D or 3D data. Fourth course of the Deep Learning Specialization.
Sequence Models
Building models for natural language, audio, and other sequence data: Recurrent Neural Networks and variants such as GRUs and LSTMs; sequence models applied to natural language problems including text synthesis and to audio applications including speech recognition and music synthesis. Fifth and final course of the Deep Learning Specialization.
Build Basic Generative Adversarial Networks (GANs)
GANs and their applications; the intuition behind the fundamental components of GANs; exploring and implementing multiple GAN architectures; building conditional GANs capable of generating examples from determined categories.
Python Pro (taught)
1) Input and output. 2) Variables and data types. 3) Conditional structures. 4) Loops. 5) Data structures: lists, tuples and dictionaries. 6) JSON. 7) Files and data persistence. 8) Functions. 9) Strings. 10) Object-oriented programming: classes, attributes, methods, inheritance. 11) Graphic interface with tKinter. 12) APIs and Web Scraping via HTTP requests and BeautifulSoup.
Python for Finance (taught)
Pandas for mathematical operations and structuring data; visualization with Matplotlib; basic statistics; time series analysis (trend, seasonality, autocorrelation, sliding windows); portfolio management (returns, volatility, Black-Scholes, CAPM, Value at Risk); regression and autoregression models (AR, MA, ARMA, ARIMA); ARCH and GARCH; classification with KNN, Naive Bayes, Decision Trees, Random Forest and Neural Networks.
Data Science & Artificial Intelligence (taught)
Pandas fundamentals and data wrangling; Matplotlib, Seaborn and Plotly visualization; statistical thinking, descriptive and inferential statistics (Bernoulli, Binomial, Poisson, Uniform and Normal distributions; t-tests, one-way ANOVA); databases with Python and Pandas; linear, multilinear, time-series and logistic regression; supervised and unsupervised learning with Scikit-Learn (KNN, KMeans, DBScan, MeanShift); decision-tree family models (Decision Trees, Random Forest, XGBoost, AdaBoost); neural-network family models (perceptrons, multi-layer and convolutional neural networks); natural language processing.
Coding Tank (taught)
Intensive leveling course on logic and algorithms to prepare students for the 480h Data Science and Web Full Stack "mini-college" courses. 1) Propositional Logic and Boolean Operators. 2) Introduction to Algorithms and Programming Logic. 3) Sequential Structures. 4) Conditional Structures. 5) Repetition Structures. 6) Data Structures. 7) Functions. 8) Final project.
Python for Bloomberg (created & taught MOOC)
Python fundamentals (input/output, variables, conditionals, loops, data structures, JSON, files, functions, strings, OOP, APIs) followed by finance-focused data analysis: Pandas fundamentals and data wrangling, Matplotlib charts, BLPAPI for requesting finance data via Bloomberg's API, Bloomberg Query Language (BQL) inside BQuant, and chart production with BQPlot.