Denken wir an folgende Situationen:
- Sie bringen einem Roboter das Tischtennisspielen bei
- Sie unterrichten ein Programm zum Berechnen der Quadratwurzel
- Sie unterrichten ein Kind in der Schule Mathe
Diese Situationen (dh betreutes Lernen) und viele andere haben (unter anderem) eines gemeinsam: Der Lernende erhält eine Belohnung basierend auf seiner Leistung.
Meine Frage ist, wie soll die Belohnungsfunktion aussehen? Gibt es eine "beste" Antwort oder kommt es auf die Situation an? Wie bestimmt man, wenn es von der Situation abhängt, welche Belohnungsfunktion zu wählen ist?
Nehmen Sie zum Beispiel die folgenden drei Belohnungsfunktionen:
- Funktion
A
sagt:- ab einem bestimmten punkt sind schlecht oder schlechter gleich: man bekommt nichts
- Es gibt einen deutlichen Unterschied zwischen fast gut und perfekt
- Funktion
B
sagt:- Sie werden linear proportional zu Ihrer Leistung belohnt
- Funktion
C
sagt:- Wenn Ihre Leistung schlecht ist, ist es in Ordnung, Sie haben Ihr Bestes gegeben: Sie erhalten immer noch eine Belohnung
- Es gibt nicht viel Unterschied zwischen perfekt und fast gut
Intuitiv würde ich denken A
, dass der Roboter sehr fokussiert ist und das genaue Muster lernt, aber dumm wird, wenn er mit ähnlichen Mustern umgeht, während C
er anpassungsfähiger wird, um Änderungen auf Kosten des Verlusts an Perfektion vorzunehmen.
Man könnte auch an komplexere Funktionen denken, um nur einige zu zeigen:
Woher weiß man also, welche Funktion zu wählen ist? Ist es bekannt , von welchem Verhalten hervorgehen würde (zumindest) den Grund A
, B
und C
Funktionen?
Eine Nebenfrage ist, ob dies für Roboter und menschliche Kinder grundlegend anders ist.
quelle
A
, könnte der Roboter bei der genauen Aufgabe extrem gut werden, aber bei Aufgaben, die ähnlich, aber leicht unterschiedlich sind, schrecklich. Das ist nur meine Vermutung.X
hat mir das beste Ergebnis gebracht."Antworten:
Kurze Antwort: Der stärkste Verstärkungseffekt ergibt sich aus der Abgabe einer wertvollen Belohnung in zeitweiligen (zufälligen) Abständen.
Längere Version: Ein Aspekt Ihrer Frage betrifft die Operantenkonditionierung , zumindest wenn Sie einem komplexen Organismus Mathematik beibringen. Die Anwendung auf maschinelles Lernen wird als Bestärkungslernen bezeichnet .
Die Wirtschaft ( gemäß der Antwort von jwpat7 ) befasst sich nur mit einem Teil der Geschichte der Verstärkung. Die Utility-Funktion gibt an, welche Belohnung in einem bestimmten Kontext den stärksten Verstärkungseffekt (den größten Einfluss auf das Verhalten) hat. Ist es Lob? Schokolade? Kokain? direkte elektrische Stimulation bestimmter Bereiche des Gehirns? Meist geht es bei meiner Antwort um die Auswirkung des Kontexts unter der Annahme eines bestimmten Belohnungsnutzens.
Für komplexe Organismen / Verhaltensweisen ist die Belohnungsplanung mindestens so wichtig wie der Belohnungsnutzen:
Wenn Sie ein Lernbetreuer mit einem festen Belohnungsbudget sind, gibt es für eine bestimmte Lernsituation ein optimales Gleichgewicht zwischen Belohnungsgröße (Nutzen) und Häufigkeit. Es handelt sich wahrscheinlich nicht um eine sehr kleine Belohnung mit einer sehr hohen Frequenz, noch um eine sehr große Belohnung, die sehr selten geliefert wird. Es kann sich sogar um eine zufällige Belohnung für die Größe handeln - das Optimum wird normalerweise experimentell für eine bestimmte Situation bestimmt.
Schließlich wird der "optimale" Zeitplan (zufällige Häufigkeit, zufällige Menge {p (Belohnung), p (Wert)}) wahrscheinlich in verschiedenen Phasen des Lernprozesses variieren. Zum Beispiel kann ein neuer Schüler dem "Primat" -Effekt ausgesetzt sein (willkommen! Haben Sie eine Jelly Bean), der schnell zu einer Belohnung mit festem Intervall wird, wenn Sie ihn wiederholen. Es kann einen "Neuheit" -Effekt geben, der einen höheren Verstärkungswert aus einer Belohnung beim allerletzten Versuch erzielt ("Abschluss mit einer hohen Note"). Zwischendurch kann es zu einem akkumulativen "Glaubenseffekt" kommen, bei dem sich das Optimum mit zunehmender Erfahrung möglicherweise in Richtung einer geringeren Wahrscheinlichkeit und eines höheren Nutzens im Laufe der Zeit verschiebt. Nochmals mehr Dinge, die empirisch in Ihrer Situation ermittelt werden müssen.
quelle
"Optimales Lernen" ist ein sehr vager Begriff, der vollständig von dem spezifischen Problem abhängt, an dem Sie arbeiten. Der Begriff, den Sie suchen, ist " Überanpassung ":
(Die grüne Linie ist der Fehler bei der Vorhersage des Ergebnisses der Trainingsdaten, die violette Linie die Qualität des Modells und die rote Linie der Fehler des gelernten Modells, das "in der Produktion" verwendet wird.)
Mit anderen Worten: Wenn es darum geht, Ihr erlerntes Verhalten an ähnliche Probleme anzupassen, ist es weniger wichtig, wie oft Sie Ihr System belohnt haben, als wie oft Sie es belohnt haben - Sie möchten Fehler in den Trainingsdaten reduzieren, aber nicht im Training belassen lange, dass es die Fähigkeit verliert, an ähnlichen Modellen zu arbeiten.
Eine Methode, um dieses Problem zu lösen, besteht darin, Ihre Trainingsdaten in zwei Hälften zu teilen: Verwenden Sie die eine Hälfte, um weiterzulernen, und die andere Hälfte, um das Training zu validieren. Es hilft Ihnen zu erkennen, wann Sie anfangen, übermäßig fit zu werden.
Nichtlineare Belohnungsfunktionen
Die meisten überwachten Lernalgorithmen erwarten, dass die Anwendung der Belohnungsfunktion eine konvexe Ausgabe erzeugt. Mit anderen Worten, lokale Minima in dieser Kurve verhindern, dass Ihr System zum richtigen Verhalten konvergiert. Dieses Video zeigt ein wenig Mathe hinter Kosten- / Belohnungsfunktionen .
quelle
Diese Fragen werden zum Teil durch das Studium der Nutzfunktionen in der Wirtschaftswissenschaft angesprochen . Eine Utility-Funktion drückt effektive oder wahrgenommene Werte einer Sache in Bezug auf eine andere aus. (Während die in der Frage gezeigten Kurven Belohnungsfunktionen sind und ausdrücken, wie viel Belohnung für verschiedene Leistungsstufen ausgeschrieben wird, können ähnlich aussehende Dienstprogrammfunktionen ausdrücken, wie viel Leistung aus verschiedenen Belohnungsstufen resultiert.)
Welche Belohnungsfunktion am besten funktioniert, hängt vom Gleichgewicht zwischen dem Zahlenden und dem Ausführenden ab. Der Wikipedia- Artikel zur Vertragskurve zeigt anhand von Edgeworth-Feldern, wie man Pareto-effiziente Zuordnungen findet. Das Von Neumann-Morgenstern-Utility-Theorem beschreibt Bedingungen, die sicherstellen, dass ein Agent VNM-rational ist und als Utility-Funktion charakterisiert werden kann. Der Abschnitt „Verhaltensvorhersagen, die sich aus dem HARA-Nutzen ergeben“ im Artikel Hyperbolische absolute Risikoaversion in Wikipedia beschreibt die Verhaltensfolgen bestimmter Nutzenfunktionen.
Zusammenfassung: Diese Themen waren Gegenstand enormer Studien in Wirtschaft und Mikroökonomie. Leider erfordert das Extrahieren einer kurzen und nützlichen Zusammenfassung, die Ihre Frage beantwortet, auch einen enormen Arbeitsaufwand oder die Aufmerksamkeit eines Experten als mir.
quelle
Die optimale Belohnungsfunktion hängt vom Lernziel ab, dh was gelernt werden soll. Bei einfachen Problemen kann es möglich sein, eine geschlossene Darstellung für die optimale Belohnungsfunktion zu finden. Tatsächlich bin ich zuversichtlich, dass es bei wirklich einfachen Problemen möglich ist, obwohl ich keine formalen Methoden dafür kenne (ich vermute, dass die Nützlichkeitstheorie diese Frage beantworten würde). Für komplexere Probleme würde ich argumentieren, dass es nicht möglich ist, eine geschlossene Lösung zu finden.
Anstatt die optimale Funktion zu suchen, könnten wir einen Experten um eine gute Belohnungsfunktion bitten. Ein Ansatz hierfür ist eine Technik namens Inverse Reinforcement Learning (IRL). Es formuliert ein Lernproblem als ein Bestärkungslernproblem, bei dem die Belohnungsfunktion unbekannt und das Ziel des Lernprozesses ist. Der Artikel Lehrlingsausbildung durch Inverse Reinforcement Learning von Pieter Abbeel und Andrew Ng ist ein guter Ort, um etwas über IRL zu lernen.
quelle
Jede Form des überwachten Lernens ist eine gezielte Suche im politischen Raum. Sie versuchen, die Richtlinie - also die zu ergreifende Maßnahme - zu finden, die die maximale Belohnungserwartung bietet. In Ihrer Frage geben Sie eine Belohnung in Abhängigkeit von der Leistung. Solange diese Funktion monoton ist, führt jede konvergierende Methode letztendlich zu maximaler Leistung (bleiben Sie auch bei Ihrer Terminologie).
Wie schnell die Methode konvergiert, ist eine andere Sache und kann durchaus von der Kurve abhängen. Aber ich denke, das wird von Methode zu Methode unterschiedlich sein.
Ein völlig anderes Problem besteht darin, dass die Leistung bei komplexeren Szenarien kein einfacher Skalar ist und die Definition schwierig sein kann. Was ist die Belohnungsfunktion für gute Mathematik?
quelle