x y
1 22 131
2 41 139
3 52 128
4 23 128
5 41 171
6 54 105
7 24 116
8 46 137
9 56 145
10 27 106
Was ist das, was kann es, was kann es nicht?
Einordnung
Prinzipielle Funktionsweise von neuronalen Netzen
Grenzen der KI
Deep Learning ist der Treiber der jetzigen KI Welle (von 2012 an).
…Mache haben aber mehr Neuronen als andere.
Wichtig ist was hinten rauskommt (und vorne reingeht)
Architektur: “Language Model”
Input: X Sequenz (bis zu 8000 Wörter1)
Output: Y Nächstes Wort (W’keiten)
Typisches Netz 2020 GPT-3 175’000’000’000 Parameter (Neuronen) Brown et al. (2020)
Architektur: Bild Klassifikation
Input X Bild z.B. 1024x1024 Pixel
Output Y Klasse Label (eines von 1000)
Typisches Netz 2012 Alex Net 60’000’000 Parameter Krizhevsky, Sutskever, and Hinton (2012)
Architektur Lineare Regresion
Input X Zahl (X=alter)
Output Y Zahl (Y=Blutdruck)
Typisches Lineare Regression, 2 Parameter, Gauss (unpublished ~ 1795), Legendre (1805)
Slide credit: Dürr, Sick, and Murina (2020)
Trainingsdaten: Blutdruck von 33 Nordamerikanischen Frauen (ersten 10)
x y
1 22 131
2 41 139
3 52 128
4 23 128
5 41 171
6 54 105
7 24 116
8 46 137
9 56 145
10 27 106
Aufgabe: Blutdruck für eine 75 jährige Frau (gegeben den Trainingsdaten)?
Source: Colton. Statistics in Medicine (1974)
function lr(pw){
return(
Plot.plot({
marks: [
Plot.dot(dat, {x: "x", y: "y"}),
Plot.line(curve(dat), {x: "x", y: "y"})
],
y: {
label: "Blutdruck",
domain: [80,200]
},
x: {
label: "Alter",
domain: [15,80]
},
width: pw,
height: pw/1.5,
color: "steelblue"
})
)
}
function curve(template){
const ages = template.map(d => d.x);
const [minAge, maxAge] = d3.extent(ages);
const xvals = d3.range(minAge, maxAge, (maxAge - minAge) / 100);
let yhat = xvals.map(x => w*x + b);
return xvals.map((x, i) => ({x, y: yhat[i]})); //Thanks ChatGPT
}
lr(800)
Blutdruck für eine 75 Jahre, Idee?
Modell mit 2 Parametern \(w,b\), welches für jedes gegebenes Alter (\(x\)) den Blutdruck(\(y\)) vorhersagt:
\[ y = w \cdot x + b \]
function color(value) {
return d3.scaleLinear().domain([-1, 0, 1]).range(['blue', 'gray', 'green'])(value);
}
function lw(value) {
return d3.scaleLinear().domain([-1, 1]).range([0.1, 1])(value);
}
dot`${my_graph}`
my_graph = `digraph {
node [fontsize=20, fontname=Arial];
node [fixedsize=true, width=0.6, height=0.6];
edge [arrowhead=vee, arrowsize=0.7];
//b -> Y[penwidth=${10*lw(Math.abs(b))}, label=${b}]; //<-- Change the factor here
b -> Y[penwidth=2, label=${b}];
x1 -> Y[penwidth=2, label=${w}];
x1 [label="x", pos="0,0"];
b [label="1", pos="0,2"];
Y [label="y", pos="1,0.8"];
//x1 [label="x", pos="0,0"];
//b [label="1", pos="2,0"];
//Y [label="y", pos="1,1"];
}`
Lineare regression hat 2 parameter (slider)
Grosse Netze haben Mio/Mrd parameter
Training Minimierung einer Verlustfunktion auf den Trainingsdaten
Trainingsprinzip: Wie gut sagt das Model die Daten vorher (Maximum Likelihood Prinzip)
Algorithmus: Backpropagation (Rummelhard)
Training von großen Netzten große technoligische Herausforderung
Rumelhart, Hinton, and Williams (1986)
Transformer Architecture / self attention
“trained with maximum likelihood”
Generative Language Model […] predict next token in a sequence of tokens
Wahrscheinlichkeiten (des Sprachmodels) für das nächste Wort
trinken (70%)
bieremoji (15%)
oder (10%)
sonstige kummuliert (5%)
Steps 1: Describe your technology in one sentence. -> I
Steps 2: Describe your technology in one sentence. I -> am
Steps 3: Describe your technology in one sentence. I am -> a
Steps 4: Describe your technology in one sentence. I am a -> generative
…
Step 36 Describe your technology in one sentence. I am a … new text. -> <END>
Beim Text wird das nächste Wort proportional zur Wahrscheinlichkeit ausgewürfelt.
Vorhersage des nächsten Worts
Muss keine Daten labeln
Trainingsdaten “Internet” (common crawl)
CO2 äquivalent 120 Auto für ein Jahr
Finetuning als Chatbot
Einfachstes Beispiel lineare Regression
Die Parameter werden an Trainingsdaten gefittet
Oder prägnanter…
<<All the impressive achievements of deep learning amount to just curve fitting>>
Juda Pearl, 2018
Wichtigkeit von bestimmten Eingangsdaten für die Entscheidungen.
https://arxiv.org/pdf/1311.2901.pdf
Vorhersage vs. Interpretation
Einfach Modelle, wie lineare Regression können interpretiert werden.
Komplexe Modelle oft in den Vorhersagen besser.
Kombination von einfachen interpretierbaren mit komplexen Modellen
BMBF Projekts “DeepDoubt”
Fussvergrößerung ==> mehr Gehalt?
KI ist ein hilfreiches Werkzeug:
Code für Animationen wurde mit ChatGPT entwickelt
Viele Nüzliche Anwendungen Medizin, Stromvorhersage1,…
Allerdings: