class: center, middle ## Machine Learning: history, applications, recent successes Hugo RICHARD .affiliations[ ![Criteo](images/criteo.jpeg) ] .credits[Originally written by Arthur Mensch and Zaccharie Ramzi] --- ## Machine learning crash course - Applications, history, limits - General concepts, goals and caveats - Mathematics: - Statistics/ Linear algebra / Optimisation - Programming: - Numerics in Python / Scikit-learn / Deep learning --- ## Team Come Fiegel (ENSAE) Hugo Richard (Criteo) --- ## Course organisation ###
`https://data-psl.github.io/lectures2024/`
Wednesday to Friday and Monday: Course: 9h - 10h30, 11h - 12h30 Lab: 14h - 17h - Based on Python notebooks (bring your laptop) - Colab - Teachers will be available on Discord --- ## Plan of this lecture - What is machine learning ? A brief history - Broken locks and recent successes - Computer vision - Text analysis - Speech analysis - Game playing - Human behavior modelling - Biology --- ## What is machine learning ? - Term that has become common all the way up to general media (since 2015) - Often heard along the words - "Artificial Intelligence"/"Deep learning" - A century-old concept that I'll try to introduce --- ## What is a machine ? .center[
] Standard *computer science* paradigm. Program a.k.a. algorithm
Ada Lovelace
Von Neumann
Alan Turing
Edsger Dijsktra
--- ## What is an intelligent system ? .center[
] If the agent is a machine: *artificial intelligence* (term coined in 1956) --- ## How do we become intelligent ? .center[
] .center[**Learning by trial and error**] --- ## How do we become intelligent ? .center[
] .center[**Learning by organizing new knowledge**] --- ## How do we become intelligent ? .center[
] .center[**Learning by comparison with a reference**] --- ### What do we know about intelligence ? - Psychology/behavior study: learning processes - Neuroscience: better understanding of the brain - Humans use the three type of learning above (trial & error, knowledge, reference) .left-column[
] .right-column[
] --- ## How can a machine learn ? Supervised learning process .center[
] Implementing a program that learns from supervision .center[
] --- ## Machine learning as a field - A subfield of "artificial intelligence" (computer science), where *intelligence* is acquired from *data* .center[
] - Extract information from data: relies on statistics - Training relies on optimization and mathematics --- ## A brief history #### AI boom 1950-1970 - Perceptron: a first attempt to classify images (1958) - AI at the time was mostly symbolic reasoning (not from data) - AI booming, until 1970 #### AI winter 1970-1980 - Too hard a problem ! Researcher were over optimistic.
Marvin Minsky
Frank Rosenblatt
Claude Shannon
--- ## A brief history #### 1980s : Progress in modelling: neural-networks, training techniques .center[
] #### 1990s-2000s: - AI shifts from symbolic reasoning to machine learning (from data) - Progress in statistics: what can be learned ? - Models simple enough to be analysed (SVM/generalized linear models) - First applications (character recognition) - Progress in behavior modelling: *Netflix recommendation* --- ## A brief history #### The 2010 turn: - Large datasets are acquired (ImageNet + Web expansion) - Progress in parallel computing (GPU) #### After 2010: new AI / deep learning boom - Complex (deep) models start working for image classification (2012) - For text analysis (Chat GPT 2020, Le Chat 2024) - Audio processing (2016: speech recognition) - Scene understanding, face recognition (2014--), video generation (2023) - Games: solving ATARI (2015--), Go (2016), ... - Biology: AlphaFold (2020) --- ## The new boom explained - Computational power .center[
] - Powerful programming frameworks .center[
] --- ## The new boom explained - Available datasets and growing data corpus - Money and people .center[
] - Privately funds from the GAFAM, public funding from Chinese governement --- ## Machine learning is now everywhere 1. Computer vision 2. Speech processing 3. Text understanding 4. Game playing 5. Behavior modelling --- ## Image processing .center[
] --- ## Image processing .center[
] .credits[Slide courtesy of https://github.com/m2dsupsdlclass/lectures-labs] --- ## Image processing .center[
] .credits[Slide courtesy of https://github.com/m2dsupsdlclass/lectures-labs] --- ## Image processing: the good .center[
] --- ## Image processing: the bad .center[
] --- ## Image processing: the ugly .center[
] --- ## Text processing .center[
] --- ## Text processing .center[
] .credits[Slide courtesy of https://github.com/m2dsupsdlclass/lectures-labs] --- ## Text processing - GPT-3 [2020] requires only a few examples of a task to generalize. .center[
] --- ## Text/speech processing .center[
] .credits[Slide courtesy of https://github.com/m2dsupsdlclass/lectures-labs] --- ## Combining modalities .center[
] .credits[Slide courtesy of https://github.com/m2dsupsdlclass/lectures-labs] --- ## Generating false data .center[
] --- ## Generating false data .center[
[StyleGAN2 2018] ] .center[
[WaveNet 2017] ] --- ## Generating false data (images)
--- ## Generating false data (videos)
--- ## Generating false data (music)
--- ## Combining modalities to generate fake data Generate an image from natural language (Dalle-2, Make-A-Scene, Imagen) .center[
] .credits[Images courtesy of Imagen] --- ## ML for other sciences .center[
] --- ## ML for other sciences .center[
[Brain decoding, M et al. 2018] ] --- ## Playing games .center[
] --- ## Playing games .center[
] --- ## Influencing human behavior via profiling .center[
] --- ## Influencing human behavior via profiling .center[
] .credits[Criteo website] --- ## Influencing human behavior via profiling .center[
] --- ## Biology Main example: AlphaFold predicts the 3D structure of a protein from its sequence of amino-acids. .center[
] .credits[Illustration from AlphaFold Protein Structure DB] --- ## Limit of machine learning - Model trained from data: as biased as the data itself - facial recognition systems works less well on minorities - CV rating systems learn socio-economic biases - Predictive model may fail on slightly perturbated input - Non robust, hence non deployable - As of today ! --- ## Next course - The principles of machine learning