# About me

Hi there! I’m Emanuele, a first-year MSc student in Data Science and Scientific Computing (*Artificial Intelligence and Machine Learning track*), and a volunteer research assistant in Artificial Intelligence and Cyber-Physical Systems with the Bortolussi Group (a.k.a. [email protected]) at the University of Trieste (Italy).

During my studies (a BSc in Physics, previously) I focused mainly on statistical and computational methods for data analysis in experimental physics and signal processing. More recently, I moved toward *more general* artificial intelligence, (statistical) machine learning and analysis of massive datasets, mainly centered around decision-making problems, planning-and-control, and robustness of deep learning systems to adversarial attacks, from both a theoretical and an applied point of view.

My research interests include - to various extent -:

*Core methods*for optimization in highly-dimensional manifolds with minimal assumptions (*e.g. SGD, MonteCarlo-based, tempering, genetic programming-based optimization*);- Artificial neural computation and deep learning (
*e.g. neuron models, CNNs, RNNs, autoencoders/VAEs, GANs, neural ODEs, novel neural architectures*); - Unsupervised learning systems and approaches, particularly those robust to adversarial input and/or endowed with
*common sense*; - Neural information processing systems strongly inspired by brain anatomy, physiology and/or neuroscience (
*e.g. Hebbian approaches, synaptic plasticity, neuromodulation, free-energy principle*); - Open-ended artificial systems and algorithms, evolutionary methods and neuroevolution (
*e.g. NEAT-based approaches, novelty search, coevolution*); - Computational methods to reverse-engineer, model and artificially re-implement the foundations of human cognition, action and behaviour;
- Statistical and information-theoretical foundations - and related methods - of human (and animal, in general) intelligence;
- Statistical network models for inference (
*e.g. probabilistic graphical models, Bayesian networks, energy-based NNs, Boltzmann machines, Belief Networks*) or simulation (*e.g. diffusive processes on networks, computational epidemiology*); - Bayesian statistics and Bayesian ML methods - shallow and deep - including
*(approximate) variational inference*; - Prediction, decision-making and control - through
*reinforcement*(including*Deep RL*),*logic*and*hybrid approaches*- under uncertainty and/or in complex environments; - Scientific high-performance computing, and, more generally, ways to harness computational power and efficiency from dedicated hardware architectures (
*e.g. GPGPU computing, neuro-/physio-morphic hardware*). *Bidirectional interplay*between artificial intelligence and physics (*e.g. quantum machine learning, machine learning in high-energy physics, statistical mechanics and/or complex systems analysis of deep learning*).

When not about any of the above, I usually rant about *optimality* in policy-making, electoral systems and politics; about energy policy, and open science/software/knowledge.

### My (computational) toolbox

In trying to solve whichever problem I have at hand, I will happily use any combination of the following, provided they run on Linux.

**Python**& its rich ecosystem (**NumPy**, SciPy, Pandas, SciKit Learn,**PyTorch**,**JAX**, Keras, modern TensorFlow,**(num)Pyro***…*);**Modern C++**(*>=2011*) with libraries (the**STL**,**TorchScript**,**Armadillo**, Boost,**ROOT**,*…*);- The
**Julia**programming language and its ecosystem; - The
**R**programming language,included (but not limited to);**tidyverse** - Integrated computational languages/environments, e.g.
**MATLAB/Simulink**and**Wolfram Mathematica/SystemModeler**; **Bash/Zsh**as a scripting language for system automation and orchestration;**Rust**,**Fortran**or**F#**if I feel*brave enough*.