Gibt es eine Möglichkeit, verstärktes Lernen in anderen Anwendungen als Spielen zu unterrichten?
Die einzigen Beispiele, die ich im Internet finden kann, sind Spielagenten. Ich verstehe, dass VNCs die Eingabe zu den Spielen über das Verstärkungsnetzwerk steuern. Ist es möglich, dies mit einer CAD-Software einzurichten?
reinforcement-learning
applications
Mark Markrowave Charlton
quelle
quelle
Antworten:
Eines der coolen Beispiele für Bestärkungslernen ist ein autonomer Hubschrauber. Ich hatte die Gelegenheit, einige der Sachen zu lernen, die Andrew Ng und andere kürzlich gemacht haben. Hier ist der Forschungsartikel Papier . Es gibt auch andere ähnliche Papiere. Sie können sie googeln, wenn Sie mehr erfahren möchten.
Sie können es auch in diesem YouTube-Video in Aktion sehen .
Hier ist anscheinend eine andere ganz andere Anwendung in der Finanzierung.
quelle
Sie werden viele Spielbeispiele in der Literatur zum Thema Verstärkung sehen, da Spielumgebungen häufig effizient codiert werden können und schnell auf einem einzelnen Computer ausgeführt werden können, der dann die Umgebung und den Agenten enthält. Für klassische Spiele wie Backgammon, Dame, Schach oder Go gibt es menschliche Experten, mit denen wir die Ergebnisse vergleichen können. Bestimmte Spiele oder vereinfachte spielähnliche Umgebungen werden häufig zum Vergleichen verschiedener Ansätze verwendet, ähnlich wie handgeschriebene MNIST-Ziffern zum Vergleichen von Ansätzen für überwachtes Lernen verwendet werden.
Ja. Informell können Sie Bestärkungslernansätze anwenden, wenn Sie ein Problem als Agent in einem Umfeld darstellen können, in dem es über den Zustand und einen zielbeeinflussenden Belohnungswert informiert werden kann. Formal basiert die Theorie des Bestärkungslernens auf Lösungen für Markov-Entscheidungsprozesse. Wenn Sie also Ihre Problembeschreibung an einen MDP anpassen können, können die verschiedenen in RL verwendeten Techniken wie Q-Learning, SARSA und REINFORCE angewendet werden. Diese Übereinstimmung mit der Theorie muss nicht perfekt sein, damit das resultierende System funktioniert. Beispielsweise können Sie einen unbekannten oder unvollständig beobachteten Zustand häufig als praktisch zufällig für den Agenten behandeln und diesen Teil einer stochastischen Umgebung betrachten.
Hier sind einige Beispiele für mögliche Anwendungen für das Lernen außerhalb von Freizeitspielen:
Steuerlogik für motorisierte Roboter, wie z das Umdrehen von Pfannkuchen und andere Beispiele . Hier werden die Umgebungsmessungen durch physikalische Sensoren am Roboter vorgenommen. Die Belohnungen werden für das Erreichen eines Ziels vergeben, können aber auch für die Laufruhe, den sparsamen Einsatz von Energie usw. angepasst werden. Der Agent wählt Aktionen auf niedriger Ebene wie das Motordrehmoment oder die Relaisposition. Theoretisch kann es verschachtelte Agenten geben, bei denen übergeordnete die Ziele für untergeordnete auswählen - z. B. kann der Roboter auf hoher Ebene entscheiden, ob er eine von drei Aufgaben ausführen möchte, für die ein Wechsel an einen anderen Ort erforderlich ist, und auf niedrigerer Ebene Entscheidungen darüber, wie Motoren gesteuert werden sollen, um den Roboter zum gewünschten Ziel zu bewegen.
Selbstfahrende Autos. Obwohl viel Wert auf die Sensorinterpretation gelegt wird - siehe Straßenmarkierungen, Fußgänger usw. - ist ein Steuersystem erforderlich, um Gas, Bremse und Lenkung auszuwählen.
Automatisierter Finanzhandel. Vielleicht ein Spiel für manche, es gibt klare Konsequenzen für die reale Welt. Das Belohnungssignal ist jedoch einfach genug und RL kann angepasst werden, um langfristige oder kurzfristige Gewinne zu bevorzugen.
Theoretisch ja, aber ich weiß nicht, was in der Praxis dafür zur Verfügung steht. Außerdem müssen Sie ein oder mehrere Ziele berücksichtigen, die Sie in den Agenten codieren (als Belohnungswerte, die er beobachten kann), bevor Sie ihm eine virtuelle Maus geben und eine Aufgabe zum Zeichnen festlegen. Computerspiele verfügen über ein Belohnungssystem, das als Bewertungssystem integriert ist, und bieten häufiges Feedback, sodass ein Agent schnell Informationen über gute und schlechte Entscheidungen erhält. Sie müssten diese Bewertungskomponente durch eine Komponente ersetzen, die Ihre Ziele für das CAD-basierte System darstellt.
In CAD ist nichts Passendes eingebaut, obwohl CAD-Tools mit Simulationen, wie z. B. verschiedene Physik-Engines oder Finite-Elemente-Analysen, es Ihnen ermöglichen könnten, Konstruktionen basierend auf simulierten physikalischen Maßen zu bewerten. Andere Möglichkeiten umfassen die Analyse der Beanspruchung und die nicht verschwenderische Verwendung von Material, unabhängig davon, welche Metriken das CAD / CAM-System für eine teilweise oder vollständige Konstruktion bereitstellen kann. Der schwierige Teil besteht darin, ein Design auf sein Ziel oder seinen Zweck zu beschränken und entweder dafür zu sorgen, dass es belohnt wird, oder die Einschränkungen in die Umgebung zu integrieren. Wenn Sie einem RL-Agenten die uneingeschränkte Kontrolle über den CAD-Prozess geben und die geringste Belastung ausgleichen, führt dies wahrscheinlich zu etwas sehr uninteressantem wie einem kleinen Würfel.
quelle
Es gibt definitiv eine Möglichkeit, das, was viele als verstärktes Lernen bezeichnen, in echte Web-, Mobil- und Workstation-Anwendungen einzuführen.
Militärische Organisationen tun es, die Filmindustrie tut es, Software-zentrierte Unternehmen tun es, und ich habe es für Fortune 500-Unternehmen und kleine Unternehmen gleichermaßen getan. Es gibt adaptive Lernkomponenten in allen Arten von Systemkomponenten, die in größere Systeme eingebettet sind, von FaceBook-Gesichtserkennungsrobotern über Google Translate, USPS-Postleitzahlerkennungssystemen bis hin zu autonomen Flug- und Verkehrskontrollsystemen. Computer Aided Design Software (CAD) ist sicherlich ein brauchbares Ziel.
Die Basis für die Verstärkung
Betrachten Sie eine Reihe von Vektoren, die Ereignisse beschreiben. Stellen Sie sich vor, sie sind in zwei Unterserien A und B unterteilt. Ein neuronales Netz (künstlich oder biologisch) könnte mit A trainiert werden.
Das Training könnte überwacht werden, was bedeutet, dass eine der Dimensionen des Vektors als Label und daher als abhängige Variable betrachtet wird, um eine optimale Vorhersage zu ermöglichen. Die anderen Dimensionen werden dann zu Fakten oder Eingangssignalen und damit zu unabhängigen Variablen, die für die Vorhersage verwendet werden. Das Training kann mithilfe der Funktionsextraktion unbeaufsichtigt bleiben.
In beiden Fällen stellt das spätere Eintreffen von B eine Wahl dar, wenn A vor B bereitgestellt wird und erwartet wird, dass es in der Produktion (reale Verwendung) vor dem Eintreffen von B ausgeführt wird.
Wahl 3 ist in vielen Fällen die beste Wahl, da sie die Vorteile der Wahl 1 und 2 bietet. Mathematisch gesehen wird # 3 dadurch erreicht, dass das, was aus der Serie A gelernt wurde, auf irgendeine Weise voreingestellt wird. Die neuronalen Nettogewichte und Metaparameteranpassungen müssen korrigierbar gemacht werden, da neue Erfahrungen dies erfordern. Ein naiver Ansatz kann mathematisch formuliert werden: die inverse Exponentialfunktion, die den natürlichen Zerfall in vielen Phänomenen der Physik, Chemie und Sozialwissenschaften modelliert.
Wenn im Fall der Teilreihen A und B die obige Formel auf irgendeine Weise in den Lernmechanismus implementiert ist, wird das Training von A nach dem fortgesetzten Training mit B weniger Verzerrung auf das Endergebnis ausüben, da das t für A geringer ist als das t für B, was den Mechanismus sagt, dass B wahrscheinlich relevanter ist.
Wenn wir A und B rekursiv in zwei Hälften teilen und so immer mehr Teilreihen erzeugen, bleibt die obige Idee, frühere Informationen allmählich abbauen zu lassen, sowohl gültig als auch wertvoll. Die Ausrichtung des Netzwerks auf die ersten Informationen, die für das Training verwendet werden, entspricht den psychologischen Konzepten der Engstirnigkeit. Lernsysteme, die sich zum Gehirn von Säugetieren entwickelt haben, scheinen das Interesse an früheren Dingen zu vergessen oder zu verlieren, um die Aufgeschlossenheit zu fördern. Dies ist nichts anderes als zuzulassen, dass neues Lernen manchmal das vorherige Lernen verhindert, wenn die neuen Informationen stärkere Lernmuster enthalten.
Es gibt ZWEI Gründe dafür, dass neuere Beispieldaten ältere Beispieldaten nach und nach überwiegen.
Das Erfordernis, die Bedeutung früherer Informationen mit fortschreitendem Lernen allmählich abbauen zu lassen, ist einer der beiden Hauptaspekte der Verstärkung. Der zweite Aspekt ist eine Reihe von Korrekturkonzepten, die auf der Idee der Rückkopplungssignalisierung aufbauen.
Feedback und Verstärkung
Ein Feedbacksignal beim verstärkten Lernen ist das maschinelle Lernen, das bekannten psychologischen Konzepten wie Schmerz, Vergnügen, Zufriedenheit und Wohlbefinden entspricht. Das Lernsystem erhält Informationen, die das Training über das Ziel der Merkmalsextraktion, der Unabhängigkeit von Gruppierungen oder der Ermittlung einer neuronalen Nettogewichtsmatrix hinaus leiten, die die Beziehung zwischen Eingabeereignismerkmalen und ihren Bezeichnungen approximiert.
Die bereitgestellten Informationen können intern von vorprogrammierter Mustererkennung oder extern von Belohnung und Bestrafung stammen, wie dies bei Säugetieren der Fall ist. Die Techniken und Algorithmen, die beim verstärkten maschinellen Lernen entwickelt werden, verwenden diese zusätzlichen Signale häufig (unter Verwendung von Zeitscheiben in der Verarbeitung) oder kontinuierlich unter Verwendung der Unabhängigkeit von Verarbeitungseinheiten von Parallelverarbeitungsarchitekturen.
Diese Arbeit wurde am MIT von Norbert Wiener ins Leben gerufen und in seinem Buch Kybernetik (MIT Press 1948) beschrieben. Das Wort Kybernetik kommt von einem älteren Wort, das Schiffssteuerung bedeutet . Die automatische Bewegung eines Ruders, um auf Kurs zu bleiben, könnte das erste mechanische Rückkopplungssystem gewesen sein. Ihr Rasenmähermotor hat wahrscheinlich einen.
Adaptive Anwendungen und Lernen
Eine einfache Anpassung in Echtzeit für eine Ruderposition oder eine Rasenmäher-Drosselklappe lernt nicht. Eine solche Anpassung ist normalerweise eine Form der linearen PID-Regelung. Die Technologie des maschinellen Lernens, die heute erweitert wird, umfasst die Bewertung und Steuerung komplexer, nichtlinearer Systeme, die Mathematiker als chaotisch bezeichnen.
Chaotisch bedeutet das nicht, dass die beschriebenen Prozesse in Raserei sind oder durcheinander geraten. Die Chaotiker haben vor Jahrzehnten entdeckt, dass einfache nichtlineare Gleichungen zu hoch organisiertem Verhalten führen können. Was sie bedeuten, ist, dass das Phänomen zu empfindlich für geringfügige Änderungen ist, um einen festen Algorithmus oder eine feste Formel zu finden, um sie vorherzusagen.
Sprache ist so. Dieselbe Aussage, die mit einem Dutzend verschiedener Stimmbeugungen getroffen wurde, kann ein Dutzend verschiedener Dinge bedeuten. Der englische Satz "Really" ist ein Beispiel. Es ist wahrscheinlich, dass Verstärkungstechniken es zukünftigen Maschinen ermöglichen werden, mit hoher Erfolgswahrscheinlichkeit zwischen den verschiedenen Bedeutungen dieser Aussage zu unterscheiden.
Warum zuerst spielen?
Spiele haben eine sehr einfache und leicht zu definierende Reihe möglicher Szenarien. Einer der Hauptverantwortlichen für das Aufkommen des Computers, John von Neumann, argumentierte in Theory of Games and Economic Behavior , einem Buch, das er gemeinsam mit Oskar Morgenstern verfasste, dass alles Planen und Treffen von Entscheidungen tatsächlich das Spielen verschiedener Komplexitäten ist.
Betrachten Sie Spiele als Übungsbeispiel der Sammlung von Gehirnen, die mit der Zeit Systeme schaffen, die die Bedeutung einer Aussage bestimmen können, wie es gebildete Menschen aus drei Quellen von Hinweisen können.
Jenseits von Schach und Go
Auf dem Weg von Spielen zu Sprachsystemen mit genauem Verständnis und tieferen Hörfähigkeiten gibt es verschiedene Anwendungen des verstärkten Lernens, die für die Erde und die menschliche Erfahrung von größerer Bedeutung sind.
Diese vier und viele andere sind weitaus wichtiger als die Anhäufung von Vermögen durch automatisiertes Hochgeschwindigkeits-Trading oder das Gewinnen von Spielwettbewerben, zwei selbstbezogene maschinelle Lerninteressen, die sich lediglich auf eine oder zwei Generationen der Familie einer einzelnen Person auswirken.
Reichtum und Ruhm sind das, was in der Spieltheorie als Nullsummenspiel bezeichnet wird . Sie verursachen so viele Verluste wie es Gewinne gibt, wenn Sie die Philosophie der höheren goldenen Regel berücksichtigen, dass andere und ihre Familien für uns von gleicher Bedeutung sind.
Verstärktes Lernen für CAD-Software (Computer Aided Design)
Computer Aided Design ist der natürliche Vorläufer des Computerdesigns (ohne menschliche Hilfe), so wie Antiblockiersysteme auf natürliche Weise zu völlig autonomen Fahrzeugen führen.
Betrachten Sie den Befehl "Erstellen Sie mir eine Seifenschale für meine Dusche, die die Wahrscheinlichkeit maximiert, dass meine Familie beim ersten Versuch nach der Seife greifen kann, ohne die Augen zu öffnen, und die Schwierigkeit minimiert, die Seife und die Duschflächen sauber zu halten meine Familienmitglieder und ein paar Bilder vom Duschraum. " Anschließend wird das Gerät von einem 3D-Drucker zusammen mit den Installationsanweisungen zum Anschließen geöffnet.
Natürlich müsste ein solches CD-System (CAD ohne das A) in Bezug auf die Haushaltsführung, menschliches Verhalten ohne Vision, Möglichkeiten zum Anbringen von Gegenständen an Fliesen, Werkzeuge und Wartungsmöglichkeiten für den Durchschnittsverbraucher sowie die Funktionen des 3D-Druckers geschult werden und einige andere Dinge.
Solche Entwicklungen in der Fertigungsautomatisierung beginnen wahrscheinlich mit dem verstärkten Erlernen einfacherer Befehle wie "Befestigen Sie diese beiden Teile mit in Serie gefertigten Verbindungselementen und bewährten Methoden." Das CAD-Programm wählte dann Hardware aus Schrauben, Nieten, Klebstoffen und anderen Optionen aus und stellte dem Konstrukteur möglicherweise Fragen zu Betriebstemperatur und Vibrationsbereichen. Die Auswahl, Position und der Winkel werden dann zu dem entsprechenden Satz von CAD-Teilen und Baugruppenzeichnungen und Stücklisten hinzugefügt.
quelle