About me

Hi there! I’m Emanuele, a final-year BSc student in Physics and 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 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 and planning-and-control, both theoretical and applied.

My research interests include - to various extent -:

  • Core methods for optimization in highly-dimensional manifolds with minimal assumptions (i.e. SGD, MonteCarlo-based, tempering, genetic programming-based optimization);
  • Artificial neural computation and deep learning (i.e. 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 (i.e. Hebbian approaches, synaptic plasticity, neuromodulation, free-energy principle);
  • Open-ended artificial systems and algorithms, evolutionary methods and neuroevolution (i.e. 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 (i.e. energy-based NNs, Boltzmann machines, Belief Networks) or simulation (i.e. 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 (i.e. GPGPU computing, neuro-/physio-morphic hardware).
  • Bidirectional interplay between artificial intelligence and physics (i.e. quantum machine learning, machine learning in high-energy physics and/or complex systems analysis).

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 ecosystem (NumPy, SciPy, Pandas, PyTorch, Keras, modern TensorFlow, (num)Pyro );
  • Modern C++ (>=2011) with libraries (ROOT, Armadillo, Boost, );
  • The truly awesome Julia programming language and its ecosystem;
  • Integrated computational languages/environments, i.e. MATLAB/Simulink and Wolfram Mathematica/SystemModeler;
  • Bash/Zsh as a scripting language for basic orchestration and system automation;
  • Fortran, F# or R if really necessary or I feel brave enough.