0 Daumen
141 Aufrufe

Frage:

Können Maschinen selbst lernen?

Mögliche Lösung: Kommunikation mit Maschinen - Spracherkennung und Sprachverarbeitung • intelligente Software • selbstlernende Maschinen
von

2 Antworten

0 Daumen
 
Beste Antwort

Hi,

ein aktuelles Beispiel dafür ist ChatGPT. Diese kann Rückschlüsse aus Antworten ziehen und beim nächsten Mal besser antworten.

So bspw, wenn ChatGPT bei der Frage 2+3 = 6 zurückgibt, dann aber vom Nutzer ein "Nein, das ist doch 5" als Antwort bekommt, so antwortet ChatGPT beim nächsten User mit 2+3 = 5 (das ist natürlich etwas vereinfacht). Hat sich also angepasst.


Grüßle

von

Also druch Frage lernt computer und diese Sachen werden gespeichert? Damit PC besser lernt und antowrtet?

Nein. Das ist nicht allgemeingültig für ein Computer. Das gilt nur für Programme wie bspw ChatGPT.

0 Daumen

Wenn man unterscheiden kann, ob eine Zahl positiv oder negativ ist, dann kann man mit der Funktion

        \(f(x) = 2x\)

entscheiden, ob in einem Paar \((a,b)\) aus positiven Zahlen das \(b\) mehr als doppelt so groß wie das \(a\) ist. Dazu berechnet man \(p = b - f(a)\). Wenn \(p > 0\) ist, dann ist \(b\) mehr als doppelt so groß wie \(a\).

Angenommen ich möchte eine Funktion haben, die entscheidet ob in einem Paar \((a,b)\) aus positiven Zahlen das \(b\) mehr als drei mal so groß wie das \(a\) ist. Ich vermute, dass das mit einer Funktion

        \(f(x) = mx\)

funktioniert, aber ich weiß nicht welchen Wert für \(m\) ich nehmen soll. Dann kann ich wie folgt vorgehen.

  1. Ich nehme eine Menge \(M\) von Zahlenpaaren (\(a,b)\). Zum Beispiel

            \(M = \{(1,5), (2,3), (3,10)\}\).

  2. Zu jedem Zahlenpaar füge ich das gewünschte Ergebnis hinzu.

            \(M_E = \{(1,5,\text{ja}), (2,3,\text{nein}), (3,10,\text{ja})\}\).

  3. Dann wähle ich einen Startwert für \(m\), zum Beispiel \(m = 1\)

            \(f_1(x) = 1\cdot x\).

  4. Dann füttere ich die Zahlenpaare in die Funktion und vergleiche das gewünschte Ergebnis mit dem tatsächlichen Ergebnis

    1.         \(f_1(1) = 1\cdot 1 = 1\implies p = 5 - 1 = 4 > 0\)

      Tatsächliches Ergebnis ist \(\text{ja}\)

      Gewünschtes Ergebnis war \(\text{ja}\)

    2.         \(f_1(2) = 1\cdot 2 = 2\implies p = 3 - 2 = 1 > 0\)

      Tatsächliches Ergebnis ist \(\text{ja}\)

      Gewünschtes Ergebnis war \(\text{nein}\)

      Weil das tatsächliche Ergebnis vom gewünschten Ergebnis abweicht, muss der Parameter \(m\) einen neuen Wert bekommen. Zum Beispiel \(m = 6\)

              \(f_2(x) = 6\cdot x\)

    3.         \(f_2(3) = 6\cdot 3 = 18\implies p = 10 - 18 = -8 < 0\)

      Tatsächliches Ergebnis ist \(\text{nein}\)

      Gewünschtes Ergebnis war \(\text{ja}\)

      Weil das tatsächliche Ergebnis vom gewünschten Ergebnis abweicht, muss der Parameter \(m\) einen neuen Wert bekommen. Zum Beispiel \(m = \frac{1+6}{2}=\frac{7}{2}\).

              \(f_3(x) = \frac{7}{2}\cdot x\)

    4. Und so weiter.

Der Mensch hat bereitgestellt:

  • Eine Schablone für das Computerprogramm:

            \(f(x) = m\cdot x\)

  • Eine Menge von Trainingsdaten mit gewünschten Ergebnissen:

            \(M_E\)

  • Eine Anfangskonfiguration:

            \(m = 1\)

  • Eine Trainingsfunktion, also ein Verfahren, wie aus einer Abweichung von gewünschten und tatsächlichem Ergebnis eine neue Konfigration berechnet werden kann:

            \(m_{n+1} = \frac{m_{n}+m_{n-1}}{2}\)

Die Maschine hat daraus die Funktion

        \(f_3(x) = \frac{7}{2}\cdot x\)

"gelernt". Die ist sicherlich noch verbesserungsbedürftig (wir wissen doch beide, dass die korrekte Funktion \(g(x) = 3\cdot x\) lauten müsste). Ich bin aber zuversichtlich, dass das mit mehr Trainigsdaten verbessert werden kann.

Probleme sind:

  • Wie muss die Schablone beschaffen sein? Für wirklich sinnvolle Anwendungen reicht ein Parameter nicht aus. GPT-3 hat 175 Milliarden Parameter, GPT-4 voraussichtlich 100 Billionen Parameter.
  • Es besteht die Gefahr der Überanpassung. Das heißt, dass zwar die Trainingsdaten korrekt behandelt werden, aber andere Eingabedaten nicht.
  • Konvergiert das Trainingsverfahren überhaupt? Oder geht durch die Aktualisierung der Parameter vielleicht bereits gelerntes wieder verloren?

Einen ersten Einblick in Antworten zu diesen Fragen bekommst du in einer Vorlesung über Neuronale Netze.

von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Helplounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community