# Research Tutorials and Recommended Resources for the Avid Reader

## Tutorial #1: bias and fairness in AI

Author(s): S. Prince

This tutorial discusses how bias can be introduced into the machine learning pipeline, what it means for a decision to be fair, and methods to remove bias and ensure fairness. As machine learning algorithms are increasingly used to determine important real-world outcomes such as loan approval, pay rates, and parole decisions, it is incumbent on the AI community to minimize unintentional unfairness and discrimination.

**Further Reading**:

- Fairness and machine learning Limitations and Opportunities by
*Solon Barocas, Moritz Hardt, Arvind Narayanan* - Data Decisions and Theoretical Implications when Adversarially Learning Fair Representations by
*Alex Beutel, Jilin Chen, Zhe Zhao, Ed H. Chi* - A comparative study of fairness-enhancing interventions in machine learning by
*Sorelle A. Friedler, Carlos Scheidegger, Suresh Venkatasubramanian, Sonam Choudhary, Evan P. Hamilton, Derek Rot*

## Tutorial #2: few-shot learning and meta-learning I

Author(s): W. Zi, L. S. Ghoraie, S. Prince

This tutorial describes few-shot and meta-learning problems and introduces a classification of methods. We also discuss methods that use a series of training tasks to learn prior knowledge about the similarity and dissimilarity of classes that can be exploited for future few-shot tasks.

**Further Reading**:

- Matching Networks for One Shot Learning by
*Oriol Vinyals, Charles Blundell, Timothy Lillicrap, Koray Kavukcuoglu, Daan Wierstra* - Prototypical Networks for Few-shot Learning by
*Jake Snell, Kevin Swersky, Richard S. Zemel* - Meta-learning with memory-augmented neural networks by
*Adam Santoro, Sergey Bartunov, Matthew Botvinick, Dann Wierstra, Timothy Lillicrap*

## Tutorial #3: few-shot learning and meta-learning II

Author(s): W. Zi, L. S. Ghoraie, S. Prince

In part II of our tutorial on few-shot and meta-learning we discuss methods that incorporate prior knowledge about how to learn models, and that incorporate prior knowledge about the data itself. These include three distinct approaches “learning to initialize", "learning to optimize'' and "sequence methods''.

**Further Reading**:

- Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks by
*Chelsea Finn, Pieter Abbeel, Sergey Levine* - A Simple Neural Attentive Meta-Learner by
*Nikhil Mishra, Mostafa Rohaninejad, Xi Chen, Pieter Abbeel* - Low-Shot Learning from Imaginary Data by
*Yu-Xiong Wang, Ross Girshick, Martial Hebert, Bharath Hariharan*

## Tutorial #4: auxiliary tasks in deep reinforcement learning

Author(s): P. Hernandez-Leal, B. Kartal, M. E. Taylor

This tutorial focuses on the use of auxiliary tasks to improve the speed of learning in the context of deep reinforcement learning (RL). Auxiliary tasks are additional tasks that are learned simultaneously with the main RL goal and that generate a more consistent learning signal. The system uses these signals to learn a shared representation and hence speed up the progress on the main RL task. Additionally, examples from a variety of domains are explored.

**Further Reading**:

- Terminal Prediction as an Auxiliary Task for Deep Reinforcement Learning by
*Bilal Kartal, Pablo Hernandez-Leal, Matthew E. Taylor* - Reinforcement Learning with Unsupervised Auxiliary Tasks by
*Max Jaderberg, Volodymyr Mnih, Wojciech Marian Czarnecki, Tom Schaul, Joel Z Leibo, David Silver, Koray Kavukcuoglu* - Adapting Auxiliary Losses Using Gradient Similarity by
*Yunshu Du, Wojciech M. Czarnecki, Siddhant M. Jayakumar, Mehrdad Farajtabar, Razvan Pascanu, Balaji Lakshminarayanan*

## Tutorial #5: variational autoencoders

Author(s): S. Prince

In this tutorial we discuss latent variable models in general and then moves onto the specific case of the non-linear latent variable model. We'll see that maximum likelihood learning of this model is not straightforward, but we can define a lower bound on the likelihood. We then demonstrate how the autoencoder architecture can approximate this bound using a Monte Carlo (sampling) method. To maximize the bound, we need to compute derivatives, but unfortunately, it's not possible to compute the derivative of the sampling component. However, we'll show how to side-step this problem using the reparameterization trick. Finally, extensions of the VAE and some of its drawbacks will be explored.

**Further Reading**:

- Auto-Encoding Variational Bayes by
*Diederik P Kingma, Max Welling* - Variational Inference with Normalizing Flows by D
*anilo Jimenez Rezende, Shakir Mohamed* - beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework by
*Irina Higgins, Loic Matthey, Arka Pal, Christopher Burgess, Xavier Glorot, Matthew Botvinick, Shakir Mohamed, Alexander Lerchner*

## Tutorial #8: Bayesian optimization

Author(s): M. O. Ahmed, S. Prince

In this tutorial, we dive into Bayesian optimization, its key components, and applications. Optimization is at the heart of machine learning; Bayesian optimization specifically is a framework that can deal with many optimization problems that will be discussed. The core idea is to build a model of the entire function that we are optimizing. This model includes both our current estimate of that function and the uncertainty around that estimate. By considering this model, we can choose where next to sample the function. Then we update the model based on the observed sample. This process continues until we are sufficiently certain of where the best point on the function is.

**Further Reading**:

- Practical Bayesian Optimization of Machine Learning Algorithms by
*Jasper Snoek, Hugo Larochelle, Ryan P. Adams* - Sequential Model-Based Optimization for General Algorithm Configuration by
*Frank Hutter, Holger H. Hoos and Kevin Leyton-Brown* - Algorithms for Hyper-Parameter Optimization by
*James Bergstra, Remi Bardenet, Yoshua Bengio, Balazs Kegl*