Angewandtes Maschinelles Lernen

Überblick

Dozent: Florian Dahms, R 1-138

Künstliche Intelligenz

Rational handelnde Maschinen

https://www.bostondynamics.com

Brettspiele

https://www.deepmind.com/blog/alphazero-shedding-new-light-on-chess-shogi-and-go

Planungsprobleme

https://commons.wikimedia.org/wiki/File:UCC_Athletic_Event_Scheduling_Board.jpg

Autopiloten

https://commons.wikimedia.org/wiki/File:Tesla_Autopilot_Engaged_in_Model_X.jpg

Virtuelle Assistenten


https://en.wikipedia.org/wiki/File:Android_Assistant_on_the_Google_Pixel_XL_smartphone_(29526761674).jpg
https://en.wikipedia.org/wiki/File:Amazon_Echo.jpg

Automatische Übersetzung

Google Translate

Geschichte

1956: Dartmouth College Summer Workshop (John McCarty)

Geburtstunde des Begriff "Artificial Intelligence"

Frühe Erfolge

  • 1956: Logic Theorist (Newell, Simon, Shaw)
    Generieren von automatischen Beweisen für Theoreme
  • 1959: Dame (Brettspiel) (Samuel)
    Spielt Dame auf starkem Amateur Level

Großer Optimismus, dass in 10-20 Jahren KI "gelöst" sein wird.

Schlechte Ergebnisse in anderen Bereichen: Übersetzung

The spirit is willing but the flesh is weak.

(Russisch)
The vodka is good but the meat is rotten.

1966: ALPAC report führt zum Ende der Finanzierung von Machine Translation projekten

1970er und 80er: Expertensysteme

Regelbasierte Systeme
"When [x] dann [y]"
Komplett spezifiziert durch Domänenexperten

    Erster großer industrieller Einsatz von KI

  • DENDRAL: Molekülstruktur aus Massenspektrum vorhersagen
  • MYCIN: Diagnose von Blut Infektionen und Empfehlung von Antibiotike
  • XCON: Kundenbestellungen bei DEC in Einzelkomponenten übersetzen

    Pros:

  • Erste echte Anwendungen
  • Expertenwissen kann skaliert werden
  • Cons:

  • Deterministische Regeln unzureichend für nicht deterministische Welt
  • Regeln für viele Probleme zu komplex zum manuellen erfassen

1987: zweiter "AI winter"

Künstliche neuronale Netze

  • 1943: künstliche neuronala Netze / Schaltkreise (McCulloch, Pitts)
  • 1949: "cells that fire together wire together" Regel (Hebb)
  • 1958: Perceptron Algorithmus (Rosenblatt)
  • 1959: ADALINE maschine für lineare regression (Widrow/Hoff)
  • 1969: "Perceptrons" (Minsky, Papert): Zeigten, dass lineare Modelle nicht XOR berechnen können

2. Welle von neuronalen Netzen

  • 1980: Neocognitron (convolutional neural network) für Bilder (Fukushima)
  • 1986: (Wiederentdeckte) Backpropagation zum Training von Multi-layer Netzwerken (Rumelhardt, Hinton, Williams)
  • 1989: Convolutional neural network zum Erkennen von handgeschriebenen Ziffern (LeCun)

Deep Learning

  • 2006: Hinton et. al. zeigen, wie sich tiefe neuronale Netzwerke trainieren lassen
  • 2012: AlexNet macht sehr große Fortschritte bei der Bilderkennung
  • 2016: AlphaGo gewinnt gegen Weltmeister Lee Sedol im Go

Zwei Hauptrichtungen

Symbolische KI Neuronale KI

Ideen aus diversen Feldern

  • 1801: Lineare Regression (Gauss, Legendre)
  • 1936: Lineare Klassifikation (Fisher)
  • 1956: Kürzeste Wege Suche (Dijkstra)
  • 1957: Markov Entscheidungs Prozesse (Bellman)
  • 1985: Bayesian Networks (Pearl)
  • 1995: Support Vector Machines (Cortes, Vapnik)

https://commons.wikimedia.org/wiki/File:Fig-X_All_ML_as_a_subfield_of_AI.jpg

In diesem Modul: Fokus auf Machine Learning.

Gerne eigene Praxisprobleme mitbringen!

Unterteilung Machine Learning

  • Supervised Learning (überwachtes Lernen)
  • Unsupervised Learning (unüberwachtes Lernen)
  • Reinforcement Learning (bestärkendes Lernen)

Supervised Learning

Wir haben Daten $(x_1, y_1), (x_2, y_2), \ldots$ mit korrektem Label $y_i$

Beispiel: Lineare Regression

Input $x$: Rohe Pixel

Output $y$: Objektart, Bounding Box

https://commons.wikimedia.org/wiki/File:Detected-with-YOLO--Schreibtisch-mit-Objekten.jpg

Unsupervised Learning

Wir haben ungelabelte Daten $x_1, x_2, x_3, \ldots$

Beispiel: Clustering

https://commons.wikimedia.org/wiki/File:Cluster-1.svg
https://commons.wikimedia.org/wiki/File:Cluster-2.svg

Input $x$: Genom Sequenz

https://www.sciencedirect.com/topics/medicine-and-dentistry/sequence-clustering

Reinforcement Learning

Zum Zeitpunkt $t$ beobachten wir $s_t$ und entscheiden uns für eine Aktion $a_{t+1}$, die eine Belohnung $r_{t+1}$ bringt und zu einem neuen Zustand $s_{t+1}$ führt.

$\Rightarrow s_0; a_1, r_1, s_1; a_2, r_2, s_2; \ldots$

Input $x$: Video Pixels
Output $a$: Maus Position, Klick, Tastenanschlag
Belohnung $r$: Sieg oder Niederlage

https://openai.com/blog/more-on-dota-2/

Unterteilung Machine Learning

  • Supervised Learning (überwachtes Lernen)
  • Unsupervised Learning (unüberwachtes Lernen)
  • Reinforcement Learning (bestärkendes Lernen)

Machine Learning = Statistik + Algorithmen

Python

  • Eine der populärsten Programmiersprachen.
  • (relativ) leicht erlernbar.
  • Exzellente Bibliotheken für Data Science und Machine Learning.
  • Open Source
Link Jupyter

Mehr Python Referenzen

Lokale Python / Jupyter Installation:
Anaconda