1 of 97

Artificial Intelligence

Tech-Crashcourse: Block 2

1

2 of 97

Fahrplan

2

  • From 0 to ChatGPT (letzter Block)
  • Vision & Text (Dieser Block)
  • Audio (16.-17.6.)

3 of 97

About the course

  • Wir werden die nächsten Jahre mit sehr vielen KI-basierten Tools konfrontiert werden
  • Lernziel: KI nicht nur konsumieren sonder damit produzieren
    • Intuitives Verständnis von KI - Methoden
      • Adaptation an zukünftige Entwicklungen
      • Entwicklung von Ideen zur kreativen Eigennutzung von KI�
    • Grundsätzliches Verständnis von Programmierung
      • Oft wird eine KI-Anwendung nicht als komplett fertiges Tool veröffentlichtes sondern nur als Code

3

4 of 97

Was ist KI? In diesem Kurs: Deep Learning

4

Sammelbegriff für viele verschiedenen Verfahren

Bestimmte Verfahrensweise

Spezifische Modelle

GOFAI

5 of 97

Programm letzter Block

5

Perceptron

Bildklassifikation�(LeNet)

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

From zero to ChatGPT

6 of 97

Zum Einstieg

6

7 of 97

Programm dieser Block

7

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�(LeNet)�

1991

Autoencoder

2014

GANs

2019

Diffusion

2021

Stable

Diffusion

CLIP

8 of 97

Wiederholung & Ergänzung

8

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs, (LeNet)

9 of 97

Maschinelles Lernen

9

* w1

+

* w2

Eingabe(n)

Erwünschte Ausgabe(n)

Fehler

Optimierer

Algorithmus�

Parameter

Ausgabe(n)

Katze

Die Parameter werden so angepasst, dass aktuelle und erwünschte Ausgabe übereinstimmen

Hund

Trainingsbeispiel

Abgleich von erwünschter und tatsächlicher Ausgabe

“drehen an den Parametern”

10 of 97

Maschinelles Lernen

10

* w1

+

* w2

Eingabe(n)

Erwünschte Ausgabe(n)

Fehler

Optimierer

Algorithmus�

Parameter

Ausgabe(n)

Anhand des generellen Prinzips können wir die Bausteine mit Daten und Mechanismen befüllen

11 of 97

Perceptron

11

* w1

+

* w2

Samples

S1

S2

S3

S4

Petal Länge [cm]

4.3

4.1

6.0

5.1

Petal Breite [cm]

1.3

1.3

2.5

1.9

versicolor := 0

virginica := 1

0

0

1

1

x0

b

x1

* w1

+

* w2

S1

S2

S3

S4

0

1

1

1

Fehler f �erw. Ausgabe - Ausgabe

S1

S2

S3

S4

0

-1

0

0

wi = wi + ɑ * -1 * xi ɑ := Lernrate

Summe der gewichteten Inputs müssen Schwellenwert überschreiten

12 of 97

Verbesserung 1�“Weiche Klassifikation”

12

* w1

+

* w2

x0

b

x1

* w1

+

* w2

* w1

+

* w2

x0

b

x1

* w1

+

* w2

Ausgabe �0: Klasse 0�1: Klasse 1

Ausgabe zwischen 0 und 1

Interpretation als Wahrscheinlichkeit von Klasse 1

13 of 97

Multilayer Perceptron

13

Eingabe(n)

Erwünschte Ausgabe(n)

Fehler

Optimierer

Ausgabe(n)

Backpropagation: �Gradienten basierte �Optimierung

1

14 of 97

LeNet�Yann LeCun

14

Eingabe(n)

Erwünschte Ausgabe(n)

Fehler

Optimierer

Ausgabe(n)

1

15 of 97

Wiederholung & Ergänzung

15

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs, (LeNet)

16 of 97

Convolutional Neural Networks (CNNs)

16

17 of 97

Convolutions

Input Image

  • 3-Channels (RGB)
  • Breite W
  • Höhe H

Kernel

  • Size (k, k)

Featuremap

  • Breite W’, Höhe H’
  • Tiefe 1 pro Kernel
  • Tiefe q bei q verschiedenen Kernel

18 of 97

Stride

19 of 97

LeNet�Yann LeCun

19

Eingabe(n)

Erwünschte Ausgabe(n)

Fehler

Optimierer

Ausgabe(n)

1

20 of 97

Convolutional Neural Networks (CNNs)

20

21 of 97

Deep Learning (~2010)

21

* w1

+

* w2

input

desired output

loss

optimize

Algorithmus�

Parameter

output

A lot, really a lot, perceptrons in parallel and in row

sehr schwierig!

Viele kleine Modifikationen

22 of 97

Transfer Learning: Finetuning

22

Target Domain: Your Data

Dolphin�Plane�� �Cat�Chair

NewCat1��NewCat2�NewCat3

Wir nehmen ein Netz, welches auf einen großen Datensatz vortrainiert wurde und passen es an unsere Aufgabe an, indem wir die hinteren Schichten austauschen

23 of 97

Wiederholung & Ergänzung

23

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs, (LeNet)

24 of 97

Word2Vec

0

0

1

0

0

0

0

0

0

0

0

0

Ein Satz dem ein in der Mitte fehlt

0

0

0

.7

0

0

.5

.8

0

0

0

.3

0

.1

.2

.4

.1

0

2

4

1

Wort

One-Hot Encoding des Vokabular

Vorhersage von

benachbarten Wörtern

Latenter Code: WordVector

1 0 0 1 0 0 0 0 1 0 1 0 1 1 0

gewünschter Output

Output

Eingabe

ein

dem

kleiner

Wort

Satz

anderer

etwas

komplett

verschiedene

Geschichte

in

fehlt

der

Mitte

Stück

25 of 97

Masked �Language�Models

1

0

1

3

3

1

9

2

1

1

2

2

0

0

1

1

0

1

3

3

3

3

2

1

3

2

2

0

0

0

...

contextualization

contextualization

contextualization

...

A <mask> at the road

...

...

...

...

tree

...

way

sun

sign

0.1 0.3 0.1 0.1

“BERT” - Familie

26 of 97

Masked Language Model

Pretrained Masked Language Model:�https://huggingface.co/microsoft/mpnet-base

  1. Give me my <mask> back.
  2. Give me my <mask> back. Your product is useless.

Erkläre den Unterschied zwischen den beiden Vorhersagen:

  • I live in a small <mask>.

Können Sie den Kontext des folgenden Satzes so erweitern, dass sich die Wahrscheinlichkeit von “apartment” stark erhöht?

27 of 97

Attention

27

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

WordVectors

28 of 97

Attention

28

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

29 of 97

Attention

29

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

30 of 97

Attention

30

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

Query-, Key-, Valuevektor

31 of 97

Attention

31

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

= 0.4

= 0.5

*

= 0.1

Query-, Key-, Valuevektor

32 of 97

Attention

32

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

0.4 *

0.5 *

*

0.1 *

Query-, Key-, Valuevektor

2

4

1

2

+

33 of 97

Attention

33

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

0.1 *

0.6 *

*

0.3 *

+

2

4

1

2

2

1

1

1

34 of 97

Attention

34

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

0.0 *

0.1 *

*

0.9 *

+

2

4

1

2

2

2

1

1

2

1

1

1

35 of 97

Attention

35

3

2

0

3

1

2

1

1

5

2

0

1

0

0

0

0

0

0

0

0

1

2

1

1

1

1

1

1

2

4

0

1

3

2

0

3

1

2

1

1

5

2

0

1

3

2

0

3

1

2

1

1

5

2

0

1

The beginning of

2

4

1

2

2

2

1

1

2

1

1

1

(stärker) kontextualisierte �Wordvektoren

�Wordvektoren

36 of 97

Masked �Language�Models

...

A <mask> at the road

...

...

contextualization

contextualization

contextualization

...

...

...

“BERT” - Familie

tree

...

way

sun

sign

0.1 0.3 0.1 0.1

1

0

1

3

3

1

9

2

1

1

2

2

0

0

1

1

0

1

3

3

3

3

2

1

3

2

2

0

0

0

1

0

1

3

3

1

9

2

1

1

2

2

0

0

1

1

0

1

3

3

1

9

2

1

1

2

2

0

0

1

37 of 97

Causal �Language �Models

37

1

2

2

1

0

1

...

A tree in the

0

0

1

wood

...

house

sea

I

.1 .9 0 0

1

0

1

12

03

12

1

03

1

1

0

1

1

0

1

1

0

1

Contextualisation

Contextualisation

Contextualisation

Token

WordVectors

contextualized

WordVectors

next Token

probability

One-hot Encoding

“GPT” - Familie

38 of 97

Von Text Generation to Instruction Following

38

Instructions sollen nach den 3H beantwortet werden: Helpful, Harmless, Honest

39 of 97

Instruction Following Finetuning

40 of 97

Instruct GPT (März 2022)

41 of 97

Lernpyramide

Casual Language Model�Lernt Syntax und Semantik �von Sprache

Instruction �Following Model�Lernt zu Antworten (3H)

Pretraining

Transfer Learning

Finetuning der Gewichte

Großer Korpus von Textdaten

Manuell kuratierte gewünschte Antworten

In Context Learning�Prompt Engineering

Model�+ System Prompt

+ User Prompt

Nutzerspezifische Anpassungen

42 of 97

ChatGPT: Anwenderperspektive

  • “Dialogführung” (Heuristiken)�
    • Gebe Anweisungen möglichst präzise und detailreich
      • Spezifizierungen sind auch iterativ möglich
        • revise your answer to include …
    • In welchem sprachlichen Stil und inhaltlicher Tiefe die Antwort ausgegeben werden soll, �kann durch 2 beliebte Pattern beeinflusst werden�
      • Spezifiziere für welche Zielgruppe die Ausgabe erfolgen soll
        • explain in a particular style
          • for a 5 year old
          • for a science radio program�
      • Spezifiziere die Rolle in der ChatGPT antworten soll
        • Act as a X
          • Act as medieval fool
        • You are X a Y
          • You are JanGPT a computer science instructor and need to help students with questions.
        • Anthropomorphisierung?

42

43 of 97

Few-shot Prompting

43

  • Wir können (Chat)GPT helfen eine Aufgabe zu lösen in dem wir ein(ige) Beispiel(e) zeigen

Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., ... & Amodei, D. (2020). Language models are few-shot learners.

Modelgröße

44 of 97

Chain-of-thought Prompting

44

Kojima, T., Gu, S. S., Reid, M., Matsuo, Y., & Iwasawa, Y. (2022). Large language models are zero-shot reasoners.

  • Wir können (Chat)GPT helfen indem wir es dazu anregen Zwischenergebnisse zu produzieren�������������
  • Inzwischen schon intrinsisch stark vorhanden

45 of 97

Achtung

  • Hallucinations
    • Large Language Models tendieren dazu “Nicht-wissen” durch plausible klingende falsche Fakten aufzufüllen
      • Insbesondere wenn man Sie dazu verleitet, also schon falsche Annahmen in der Prompt impliziert�����

45

46 of 97

(Achtung)

  • zeitlich begrenzter Wissensschatz
    • ChatGPT hat nur Daten bis zu einem bestimmten Zeitpunkt gesehen���������
    • Lösung:
      • ChatGPT Plugins

46

47 of 97

ChatGPT Plugins

  • Erweitern ChatGPT so das Tools bedient werden können
    • Websuche
    • Taschenrechner
    • …�
  • “Wir fügen dem Kopf ein paar Arme hinzu”
  • Generelles Konzept Agents:

47

48 of 97

Lernpyramide

Casual Language Model�Lernt Syntax und Semantik �von Sprache

Instruction �Following Model�Lernt zu Antworten (3H)

Pretraining

Transfer Learning

Finetuning der Gewichte

Großer Korpus von Textdaten

Manuell kuratierte gewünschte Antworten

In Context Learning�Prompt Engineering

Model�+ System Prompt

+ User Prompt

Nutzerspezifische Anpassungen

49 of 97

Transformer Agents

49

50 of 97

Programm dieser Block

50

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs (LeNet)�

1991

Autoencoder

2014

GANs

2019

Diffusion

2021

Stable

Diffusion

CLIP

51 of 97

Autoencoder

* w1

+

Eingabe

gewünschte Ausgabe

Ausgabe

Fehler

Optimierung

Minimaler Rekonstruktionsfehler�(Pixelbasiert)

52 of 97

Show me the Code

52

53 of 97

Autoencoder

Embedding

Input

Output

54 of 97

Autoencoder

Embedding

Input

Output

e2 + a * (e4 - e2)

e4

e2

e4

e4-e2

0

0.1

0.2

0.3

0.4

0.6 0.7 0.8 0.9

Im Embeddingraum rechnen

55 of 97

Variational Autoencoder (VAE)

* w1

+

Eingabe

gewünschte Ausgabe

Ausgabe

Fehler

Optimierung

Komplizierterer Fehlertem

56 of 97

Encoder-Decoder Transformationen

56

Man kann den Autoencoder auch trainieren um Bilder zu transformieren

  • Entrauschen
    • Trainingsdaten: Bilder die verrauscht wurden
  • Superresolution
  • Trainingsdaten: Bilder die runterskaliert wurden

57 of 97

Encoder-Decoder Architektur

57

Input

Transformation

Transformation von Bildern

58 of 97

Encoder-Decoder Architektur

58

Transformation von Bildern

59 of 97

UNet: Encoder-Decoder mit Highway

59

Embedding

Input

Output

60 of 97

UNet: Instance Segmentation

MICCAI COVID-19 Lung Segmentation Challenge:�Markieren von erkranktem Gewebe

61 of 97

UNet: Instance Segmentation

Semantische Strukturierung von Bildern

62 of 97

Programm dieser Block

62

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs (LeNet)�

1991

Autoencoder

2014

GANs

2019

Diffusion

2021

Stable

Diffusion

CLIP

63 of 97

Generative Adversarial Networks

63

64 of 97

GANs | realistische Bilder per Zufall generieren

Generator

65 of 97

GANs | realistische Bilder per Zufall generieren

Generator

�Gewünschter Output Bild sieht aus wie ein “natürliches” Bild

Fehler Stellen im Bild die unnatürlich erscheinen

66 of 97

GANs | Bewerten der Natürlichkeit mit Diskriminator

Zufall

Generator

generiertes Bild

Gewünschter Output:� realistisches Bild

Diskriminator

natürliches Bild

Ausgabe: Wahrscheinlichkeit für natürliches Bild

67 of 97

GANs | Trainieren des Generators

Zufall

Generator

generiertes Bild

Gewünschter Output:� realistisches Bild

Diskriminator

natürliches Bild

Ausgabe: Wahrscheinlichkeit für natürliches Bild

Fehler: Diskriminator erkennt generiertes Bild�(mit Information woran er es erkannt hat)

update

68 of 97

GANs | Trainieren des Diskriminator

Zufall

Generator

generiertes Bild

Gewünschter Output:� realistisches Bild

Diskriminator

natürliches Bild

Ausgabe: Wahrscheinlichkeit für natürliches Bild

Fehler: Diskriminator erkennt generiertes Bild � nicht

update

69 of 97

Show me the Code

69

70 of 97

70

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs (LeNet)

1991

Autoencoder

2014

GANs

2019

Diffusion

2021

Stable

Diffusion

CLIP

Vision Transformer

71 of 97

CNN für Bildklassifizierung

71

72 of 97

Vision Transformer für Bildklassifizierung

72

  • Transformer Architektur kann�auch gut für Vision genutzt werden

73 of 97

Performance of ViT

und

73

74 of 97

74

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs (LeNet)

1991

Autoencoder

2014

GANs

2019

Diffusion

2021

Stable

Diffusion

CLIP

75 of 97

75

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs (LeNet)�

1991

Autoencoder

2014

GANs

2019

Diffusion

2021

Stable

Diffusion

CLIP

76 of 97

CLIP: Contrastive Language Image Pretraining

76

Ausgabe:

  • Cosine-Similarity aller Text-Bild Paare

Gewünschte Ausgabe:

  • Blaue Felder 1
  • Graue Felder 0

Eingabe: �Stapel von Bildern mit Textbeschreibungen

Text-Embeddings

Bild-Embeddings

77 of 97

CLIP: Zero-shot prediction

77

78 of 97

Show me the code

78

79 of 97

Diffusion

79

Idee: Ein Bild zu “verrauschen” ist ein einfacher physikalischer Prozess, wir müssen lernen das Bild zu entrauschen

80 of 97

Diffusion Training erklärt:

80

81 of 97

81

82 of 97

82

83 of 97

83

84 of 97

84

85 of 97

85

86 of 97

86

87 of 97

87

88 of 97

88

Perceptron

Word2Vec

Transformer�LLM

ChatGPT

2018

2013

1958

1989

2023

Bildklassifikation�CNNs (LeNet)

1991

Autoencoder

2014

GANs

2019

Diffusion

2021

Stable

Diffusion

89 of 97

89

Zuerst Autoencoder

90 of 97

90

Diffusion mit den latenten Repräsentationen

91 of 97

91

Diffusion mit den latenten Repräsentationen

92 of 97

92

Denoising mit Text Guidance

93 of 97

93

Denoising mit Text Guidance

94 of 97

Stable Diffusion

94

95 of 97

Stable Diffusion nutzen

Mit Erklärung:

95

96 of 97

Finetuning Stable Diffiusion

96

97 of 97

Dreambooth Training

� oder

97