DE202016004627U1 - Training eines neuronalen Wertnetzwerks - Google Patents

Training eines neuronalen Wertnetzwerks Download PDF

Info

Publication number
DE202016004627U1
DE202016004627U1 DE202016004627.7U DE202016004627U DE202016004627U1 DE 202016004627 U1 DE202016004627 U1 DE 202016004627U1 DE 202016004627 U DE202016004627 U DE 202016004627U DE 202016004627 U1 DE202016004627 U1 DE 202016004627U1
Authority
DE
Germany
Prior art keywords
environment
neural network
policy
training
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202016004627.7U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeepMind Technologies Ltd
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to DE202016004627.7U priority Critical patent/DE202016004627U1/de
Publication of DE202016004627U1 publication Critical patent/DE202016004627U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/08Learning methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/004Artificial life, i.e. computers simulating life
    • G06N3/006Artificial life, i.e. computers simulating life based on simulated virtual individual or collective life forms, e.g. single "avatar", social simulations, virtual worlds or particle swarm optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0454Architectures, e.g. interconnection topology using a combination of multiple neural nets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computer systems using knowledge-based models
    • G06N5/003Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Abstract

Ein neuronales Netzwerktrainingssystem umfasst einen oder mehrere Computer und ein oder mehrere Speichergeräte zum Speichern von Befehlen, die beim Ausführen durch einen oder mehrere Computer bewirken, dass der besagte oder die besagten Computer Vorgänge ausführen, um ein neuronales Wertnetzwerk zu trainieren, welches dazu dient, eine Beobachtung zu empfangen, die den Zustand einer Umgebung charakterisiert, die mit einem Agenten-System interagiert, und dazu dient, diese Beobachtung gemäß den Parametern des neuronalen Wertnetzwerks zu verarbeiten, um eine Wertepunktzahl zu erzeugen, wobei die Vorgänge folgende Punkte umfassen: Trainieren eines neuronalen Netzwerks mit Richtlinie für überwachtes Lernen, worin das neuronale Netzwerk mit Richtlinie für überwachtes Lernen dazu dient, die Beobachtung zu empfangen und diese Beobachtung gemäß den Parametern des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen zu verarbeiten, um für jede Aktion in einer Reihe von möglichen Aktionen eine jeweilige Aktionswahrscheinlichkeit zu erzeugen, die durch das Agentensystem ausgeführt werden kann, um mit der Umgebung zu interagieren, und worin das Trainieren des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen das Trainieren des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen bezüglich beschrifteter Trainingsdaten unter Verwendung der Richtlinie für überwachtes Lernen umfasst, um die trainierten Parameterwerte des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen zu bestimmen; Initialisieren von Parameteranfangswerten eines neuronalen Netzwerks mit Lernunterstützungsrichtlinie, das dieselbe Architektur aufweist, wie das neuronale Netzwerk mit Richtlinie für überwachtes Lernen gegenüber den trainierten Parameterwerten des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen; Trainieren des neuronalen Netzwerks mit Lernunterstützungsrichtlinie bezüglich der zweiten Trainingsdaten, die durch Interaktionen des Agentensystems mit einer simulierten Version der Umgebung unter Verwendung der Lernunterstützung erzeugt wurden, um aus den Anfangswerten die trainierten Parameterwerte des neuronalen Netzwerks mit Lernunterstützungsrichtlinie zu bestimmen; und Trainieren des neuronalen Wertnetzwerks zur Erzeugung einer Wertepunktzahl für den Zustand der Umgebung, die eine prognostizierte langfristige Belohnung repräsentiert, die sich aus der in dem Zustand befindlichen Umgebung ergibt durch Trainieren des neuronalen Wertnetzwerks bezüglich der dritten Trainingsdaten, die aus den Interaktionen des Agentensystems mit der simulierten Version der Umgebung unter Verwendung der Richtlinie für überwachtes Lernen erzeugt wurden, um aus den Parameteranfangswerten des neuronalen Wertnetzwerks die trainierten Parameterwerte des neuronalen Wertnetzwerks zu bestimmen.

Description

  • HINTERGRUND
  • Diese Spezifikation betrifft das Auswählen von Aktionen, die von einem Lernunterstützungsagenten auszuführen sind.
  • Lernunterstützungsagenten interagieren mit einer Umgebung, indem sie eine Beobachtung empfangen, die den aktuellen Zustand der Umgebung charakterisiert und somit als Reaktion eine Aktion ausführt. Bei einigen Lernunterstützungssystemen werden neuronale Netzwerke verwendet, um die vom Agenten als Reaktion auf das Empfangen einer gegebenen Beobachtung auszuführende Aktion auszuwählen.
  • Neuronale Netzwerke sind Maschinenlernmodelle, bei denen eine oder mehrere Schichten von nichtlinearen Einheiten zum Prognostizieren einer Ausgabe für eine empfangene Eingabe verwendet werden. Einige neuronale Netzwerke sind tiefe neuronale Netzwerke, die zusätzlich zu einer Ausgabeschicht eine oder mehrere verborgene Schichten beinhalten. Die Ausgabe von jeder verborgenen Schicht wird innerhalb des Netzwerks als Eingabe in die nächste Schicht, d. h. in die nächste verborgene Schicht oder Ausgabeschicht, verwendet. Jede Schicht des Netzwerks erzeugt entsprechend den aktuellen Werten eines jeweiligen Parametersatzes eine Ausgabe von einer empfangenen Eingabe.
  • KURZDARSTELLUNG
  • In der Spezifikation werden Technologien beschrieben, die mit der Lernunterstützung im Zusammenhang stehen.
  • Der in dieser Spezifikation beschriebene Gegenstand kann in besonderen Ausführungsformen implementiert werden, um einen oder mehrere der folgenden Vorteile zu realisieren. Aktionen, die von einem Agenten auszuführen sind, der mit einer Umgebung interagiert, die einen sehr großen Statusraum aufweist, können effektiv ausgewählt werden, um die Wahrscheinlichkeit zu maximieren, dass die Aktion eines oder mehrere Ziele während der Interaktion erreicht. Aktionen können insbesondere selbst dann ausgewählt werden, wenn die Umgebung einen Statusbaum aufweist, der zu groß ist, um erschöpfend durchsucht zu werden. Durch Verwendung neuronaler Netzwerke beim Durchsuchen des Statusbaums kann die nötige Menge von Computerressourcen und die Zeit, die zum effektiven Auswählen einer vom Agenten auszuführenden Aktion notwendig ist, reduziert werden. Zusätzlich können neuronale Netzwerke zum Reduzieren der effektiven Breite und Tiefe des Statusbaums während des Suchvorgangs reduziert werden, wodurch die Computerressourcen reduziert werden, die zum Durchsuchen des Baums und zum Auswählen einer Aktion erforderlich sind. Durch Verwenden einer Trainingspipeline zum Trainieren der neuronalen Netzwerke, wie in dieser Spezifikation beschrieben, können unterschiedliche Arten von Trainingsdaten effektiv verwendet werden, wodurch trainierte neuronale Netzwerke mit besserer Leistung entstehen.
  • Die Details einer oder mehrerer Ausführungsformen des Gegenstands dieser Spezifikation sind in den zugehörigen Zeichnungen und der nachfolgenden Beschreibung dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden anhand der Beschreibung, der Zeichnungen und der Schutzansprüche offensichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt ein exemplarisches Lernunterstützungssystem dar.
  • 2 ist ein Ablaufdiagramm eines exemplarischen Prozesses zum Trainieren einer Sammlung neuronaler Netzwerke zur Verwendung beim Auswählen von Aktionen, die von einem mit einer Umgebung interagierenden Agenten auszuführen sind.
  • 3 ist ein Ablaufdiagramm eines exemplarischen Prozesses zum Auswählen einer Aktion, die vom Agenten unter Verwendung eines Statusbaums auszuführen sind.
  • 4 ist ein Ablaufdiagramm eines exemplarischen Prozesses zum Durchsuchen eines Statusbaums einer Umgebung unter Verwendung neuronaler Netzwerke.
  • In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
  • DETAILLIERTE BESCHREIBUNG
  • Diese Spezifikation beschreibt im Allgemeinen ein Lernunterstützungssystem, das Aktionen auswählt, die von einem Lernunterstützungsagenten auszuführen sind, der mit einer Umgebung interagiert. Um mit der Umgebung zu interagieren, empfängt das Lernunterstützungssystem Daten, die den aktuellen Zustand der Umgebung charakterisieren und wählt als Reaktion auf die empfangenen Daten eine vom Agenten auszuführende Aktion aus einer Reihe von Aktionen aus. Sobald die Aktion vom Lernunterstützungssystem ausgewählt wurde, führt der Agent die Aktion aus, um mit der Umgebung zu interagieren.
  • Im Allgemeinen interagiert der Agent mit der Umgebung, um eines oder mehrere Ziele zu erreichen, während das Lernunterstützungssystem Aktionen auswählt, um die Wahrscheinlichkeit zu maximieren, dass die Ziele vom Agenten erreicht werden.
  • In einigen Implementierungen ist die Umgebung eine natürliche Umgebung, und der Agent ist ein Steuerungssystem für einen mechanischen Agenten, der mit der natürlichen Umgebung interagiert. Der Agent kann beispielsweise ein Steuerungssystem sein, das in einem autonomen oder halbautonomen Fahrzeug integriert ist, das durch die Umgebung navigiert. Bei diesen Implementierungen können die Aktionen mögliche Steuerungseingaben sein, um das Fahrzeug zu steuern, während die Ziele, die der Agent zu erreichen versucht, Ziele für die Navigation des Fahrzeugs durch die natürliche Umgebung sind. Bei den Zielen kann es sich mitunter um eines oder mehrere der folgenden Punkte handeln: Erreichen eines Bestimmungsorts, Sicherstellen der Sicherheit von Fahrzeuginsassen, Minimieren der erforderlichen Energie zum Erreichen des Bestimmungsorts, Maximieren des Komforts der Insassen usw.
  • In einigen anderen Implementierungen ist die Umgebung eine natürliche Umgebung, und der Agent ist ein Computersystem, das Ausgaben zur Präsentation für einen Benutzer erzeugt.
  • Bei der Umgebung kann es sich beispielsweise um eine Patientendiagnoseumgebung handeln, sodass jeder Zustand einem repräsentativen Patientenzustand entspricht, d. h. einem Zustand, der die Gesundheitsdaten widerspiegelt, die die Gesundheit des Patienten charakterisieren, während der Agent ein Computersystem sein kann, das Behandlungsvorschläge für den Patienten erteilt. In dem vorliegenden Beispiel sind die Aktionen in der Reihe von Aktionen mögliche medizinische Behandlungen für den Patienten, während es sich bei den Zielen mitunter um eines oder mehrere der folgenden Punkte handeln kann: Aufrechterhalten einer gegenwärtigen Gesundheit des Patienten, Verbessern der gegenwärtigen Gesundheit des Patienten, Minimieren der medizinischen Kosten für den Patienten usw.
  • Des Weiteren kann die Umgebung beispielsweise eine Proteinfaltungsumgebung sein, sodass jeder Zustand dem jeweiligen Zustand einer Proteinkette entspricht, während der Agent ein Computersystem ist, das dazu dient, zu bestimmen, wie die Proteinkette zu falten ist. In dem vorliegenden Beispiel sind die Aktionen mögliche Faltungsaktionen zum Falten der Proteinkette, und das Ziel kann mitunter das Falten des Proteins sein, damit das Protein stabil ist und eine bestimmte biologische Funktion erreicht. Des Weiteren kann der Agent beispielsweise ein mechanischer Agent sein, der die Proteinfaltungsaktionen ausführt, die ohne menschliche Interaktion automatisch vom System ausgewählt werden.
  • In einigen anderen Implementierungen ist die Umgebung eine simulierte Umgebung, bei der der Agent in Form eines oder mehrerer Computerprogramme implementiert wird, die mit der simulierten Umgebung interagieren. So kann die simulierte Umgebung beispielsweise eine virtuelle Umgebung sein, in der ein Benutzer mit einem computergestützten Agenten konkurriert, um ein Ziel zu erreichen, und der Agent ist der computergestützte Agent. In dem vorliegenden Beispiel handelt es sich bei den Aktionen in der Reihe von Aktionen um mögliche Aktionen, die vom computergestützten Agenten ausgeführt werden können, und das das Ziel kann z. B. darin bestehen, den Wettbewerb gegen den Benutzer zu gewinnen.
  • 1 stellt ein exemplarisches Lernunterstützungssystem 100 dar. Das Lernunterstützungssystem 100 ist ein Beispiel von einem System, das in Form von Computerprogrammen auf einem oder mehreren Computern an einem oder mehreren Standorten implementiert ist, in denen die nachfolgend beschriebenen Systeme, Komponenten und Techniken implementiert sind.
  • Dieses Lernunterstützungssystem 100 wählt Aktionen aus, die von einem Lernunterstützungsagenten 102 auszuführen sind, der mit einer Umgebung 104 interagiert. Das heißt, dass das Lernunterstützungssystem 100 Beobachtungen empfängt, wobei es sich bei jeder Beobachtung um Daten handelt, die einen jeweiligen Zustand der Umgebung 104 charakterisieren und als Reaktion auf jede empfangene Beobachtung eine Aktion aus einer Reihe von Aktionen auswählt, die vom Lernunterstützungsagenten 102 als Reaktion auf die Beobachtung auszuführen sind.
  • Sobald das Lernunterstützungssystem 100 eine Aktion auswählt, die vom Agenten 102 auszuführen ist, weist das Lernunterstützungssystem 100 den Agenten 102 an, und der Agent 102 führt die ausgewählte Aktion aus. Im Allgemeinen hat der die ausgewählte Aktion 102 ausführende Agent zur Folge, dass die Umgebung 104 in einen anderen Zustand übergeht.
  • Die Beobachtungen charakterisieren den Zustand der Umgebung auf eine Art und Weise, die für den Kontext der Verwendung des Lernunterstützungssystems 100 geeignet ist.
  • Wenn beispielsweise der Agent 102 ein Steuerungssystem für einen mechanischen Agenten ist, der mit der natürlichen Umgebung interagiert, können die Beobachtungen Bilder sein, die durch Sensoren des mechanischen Agenten erfasst werden, während dieser mit der natürlichen Umgebung und optional auch anderen Sensordaten interagiert, die durch die Sensoren des Agenten erfasst werden.
  • Des Weiteren können beispielsweise, wenn es sich bei der Umgebung 104 um eine Patientendiagnoseumgebung handelt, die Beobachtungen Daten aus einer Krankenakte eines aktuellen Patienten sein.
  • Des Weiteren können beispielsweise, sofern es sich bei der Umgebung 104 um eine Proteinfaltumgebung handelt, die Beobachtungen Bilder der aktuellen Konfiguration einer Proteinkette sein, wobei ein Vektor die Zusammensetzung der Proteinkette oder beides charakterisiert.
  • Das Lernunterstützungssystem 100 wählt insbesondere Aktionen unter Verwendung einer Sammlung neuronaler Netzwerke aus, die ein neuronales Netzwerk 130 mit schneller Bereitstellung (Rollout), ein neuronales Netzwerk 140 mit Richtlinie für überwachtes Lernen (SL), ein neuronales Netzwerk 150 mit Richtlinie für Lernunterstützung (RL) und ein neuronales Wertnetzwerk 160 beinhaltet.
  • Das neuronale Netzwerk 140 mit SL-Richtlinie ist ein neuronales Netzwerk, das zum Empfangen einer Beobachtung und zum Verarbeiten der Beobachtung gemäß Parametern des neuronalen Netzwerks 140 mit der Richtlinie für überwachtes Lernen dient, um eine entsprechende Aktionswahrscheinlichkeit für jede Aktion in der Reihe von möglichen Aktionen zu erzeugen, die vom Agenten ausgeführt werden kann, um mit der Umgebung zu interagieren.
  • Das neuronale Netzwerk 130 mit schneller Bereitstellung dient ebenfalls dazu, Aktionswahrscheinlichkeiten für Aktionen in der Reihe von möglichen Aktionen zu erzeugen (wenn diese durch das neuronale Netzwerk 130 mit schneller Bereitstellung erzeugt werden, werden diese Aktionen in dieser Spezifikation als „Rollout-Aktionswahrscheinlichkeiten” bezeichnet), ist jedoch in der Lage, eine schnellere Ausgabe als das neuronale Netzwerk 140 mit SL-Richtlinie erzeugen.
  • Das heißt, dass die für das neuronale Netzwerk 130 mit schneller Bereitstellung erforderliche Verarbeitungszeit zum Erzeugen von Rollout-Aktionswahrscheinlichkeiten kürzer ist als die für das neuronale Netzwerk 140 mit SL-Richtlinie erforderliche Verarbeitungszeit zum Erzeugen von Aktionswahrscheinlichkeiten.
  • Zu diesem Zweck ist das neuronale Netzwerk 130 mit schneller Bereitstellung ein neuronales Netzwerk, das eine Architektur aufweist, die kompakter als die Architektur des neuronalen Netzwerks 140 mit SL-Richtlinie ist, während die Eingaben in das neuronale Netzwerk mit schneller Bereitstellungsrichtlinie (in dieser Spezifikation als „Rollout-Eingaben” bezeichnet) weniger komplex sind als die Beobachtungen, bei denen es sich um Eingaben in das neuronale Netzwerk 140 mit SL-Richtlinie handelt.
  • So kann es sich beispielsweise beim neuronalen Netzwerk 140 mit SL-Richtlinie in Implementierungen, in denen die Beobachtungen Bilder sind, um ein neuronales Faltungsnetzwerk handeln, das zum Verarbeiten der Bilder dient, während das neuronale Netzwerk 130 mit schneller Bereitstellung ein flacheres, vollständig verbundenes neuronales Netzwerk ist, das zum Empfangen von Vektoren als Eingabemerkmal dient, die den Zustand der Umgebung 104 charakterisieren.
  • Das neuronale Netzwerk 150 mit RL-Richtlinie ist ein neuronales Netzwerk, das dieselbe neuronale Netzwerkarchitektur wie das neuronale Netzwerk 140 mit SL-Richtlinie aufweist, und daher dieselbe Art von Ausgabe erzeugt. Da jedoch das neuronale Netzwerk 150 mit RL-Richtlinie, wie nachfolgend ausführlicher beschrieben, anders als das neuronale Netzwerk 140 trainiert ist, unterscheiden sich Parameterwerte zwischen den zwei neuronalen Netzwerken, sobald beide neuronalen Netzwerke trainiert sind.
  • Das neuronale Wertnetzwerk 160 ist ein neuronales Netzwerk, das zum Empfangen einer Beobachtung und zum Verarbeiten der Beobachtung dient, um eine Wertepunktzahl für den durch die Beobachtung charakterisierten Zustand der Umgebung zu erzeugen. Im Allgemeinen weist das neuronale Wertnetzwerk 160 eine neuronale Netzwerkarchitektur auf, die derjenigen des neuronalen Netzwerks 140 mit SL-Richtlinie und des neuronalen Netzwerks 150 mit RL-Richtlinie ähnlich ist, jedoch eine andere Art von Ausgabeschicht als diejenige des neuronalen Netzwerks 140 mit SL-Richtlinie und des neuronalen Netzwerks 150 mit RL-Richtlinie, wie z. B. eine Regressionsausgabeschicht, aufweist, die zur Folge hat, dass die Ausgabe des neuronalen Wertnetzwerks 160 eine einzelne Wertepunktzahl ist.
  • Um dem Agenten 102 zu ermöglichen, effektiv mit der Umgebung 104 zu interagieren, beinhaltet das Lernunterstützungssystem 100 ein neuronales Netzwerktrainings-Subsystem 110, das die neuronalen Netzwerke in der Sammlung trainiert, um die trainierten Parameterwerte der neuronalen Netzwerke zu bestimmen.
  • Das neuronale Netzwerktrainings-Subsystem 110 trainiert das neuronale Netzwerk 130 mit schneller Bereitstellung sowie das neuronale Netzwerk 140 mit SL-Richtlinie bezüglich beschrifteter Trainingsdaten unter Verwendung von überwachtem Lernen und trainiert das neuronale Netzwerk 150 mit RL-Richtlinie sowie das neuronale Wertnetzwerk 160 basierend auf Interaktionen des Agenten 102 mit einer simulierten Version der Umgebung 104.
  • Im Allgemeinen handelt es sich bei der simulierten Version der Umgebung 104 um eine virtualisierte Umgebung, die simuliert, wie vom Agenten 120 ausgeführte Aktionen den Zustand der Umgebung 104 beeinträchtigen würden.
  • Wenn beispielsweise die Umgebung 104 eine natürliche Umgebung ist, und der Agent ein autonomes oder halbautonomes Fahrzeug ist, dann ist die simulierte Version der Umgebung eine Bewegungssimulationsumgebung, die die Navigation durch die natürliche Umgebung simuliert. Das heißt, dass die Bewegungssimulationsumgebung die Auswirkungen der verschiedenen Steuerungseingaben auf die Navigation des Fahrzeugs durch die natürliche Umgebung simuliert.
  • Als weiteres Beispiel handelt es sich bei der simulierten Version der Umgebung, sofern die Umgebung 104 eine Patientendiagnoseumgebung ist, um eine Patientengesundheitssimulation, die Auswirkungen von medizinischen Behandlungen auf Patienten simuliert. So kann die Patientengesundheitssimulation beispielsweise ein Computerprogramm sein, das Patienteninformationen und eine beim Patienten anzuwendende Behandlung empfängt, und die Auswirkung der Behandlung auf die Gesundheit des Patienten ausgibt.
  • Als weiteres Beispiel handelt es sich bei der simulierten Version der Umgebung, sofern die Umgebung 104 eine Proteinfaltumgebung ist, um eine simulierte Proteinfaltumgebung, die die Auswirkung der Faltaktionen auf Proteinketten simuliert. Das heißt, dass die simulierte Proteinfaltumgebung ein Computerprogramm sein kann, das eine virtuelle Repräsentation einer Proteinkette einschließlich Modellen dokumentiert, die zeigt, wie das Ausführen verschiedener Faltaktionen die Proteinkette beeinflussen wird.
  • Des Weiteren handelt es sich bei der simulierten Version der Umgebung, sofern die Umgebung 104 die oben beschriebene virtuelle Umgebung ist, um eine Simulation, in der der Benutzer von einem anderen computergestützten Agenten ersetzt wird.
  • Das Trainieren der Sammlung neuronaler Netzwerke wird nachfolgend unter Bezugnahme auf 2 ausführlicher beschrieben.
  • Das Lernunterstützungssystem 100 beinhaltet zudem ein Aktionsauswahl-Subsystem 120, das, sobald die neuronalen Netzwerke in der Sammlung trainiert wurden, die trainierten neuronalen Netzwerke verwendet, um Aktionen auszuwählen, die vom Agenten 102 als Reaktion auf eine gegebene Beobachtung auszuführen sind.
  • Das Aktionsauswahl-Subsystem 120 dokumentiert insbesondere Daten, die einen Statusbaum der Umgebung 104 repräsentieren. Der Statusbaum beinhaltet Knoten, die die Zustände der Umgebung 104 und gerichteten Kanten repräsentieren, welche die Knoten in dem Baum verbinden. Eine in dem Baum von einem ersten Knoten zu einem zweiten Knoten ausgehende Kante repräsentiert eine Aktion, die als Reaktion auf eine Beobachtung ausgeführt wurde, die den ersten Zustand charakterisiert, und die den Übergang der Umgebung in den zweiten Zustand zur Folge hatte.
  • Während die Daten logischerweise als ein Baum beschrieben werden, kann das Aktionsauswahl-Subsystem 120 durch eine beliebige Vielzahl von praktischen physischen Datenstrukturen, wie z. B. mehrere Dreiergruppen oder als eine Nebeneinanderstellungsliste, repräsentiert werden.
  • Das Aktionsauswahl-Subsystem 120 dokumentiert zudem Kantendaten für sämtliche Kanten in dem Statusbaum, der (i) eine Aktionspunktzahl für die durch die Kante dargestellte Aktion, (ii) eine Zugriffszahl für die durch die Kante dargestellte Aktion und (iii) eine vorherige Wahrscheinlichkeit für die durch die Kante dargestellte Aktion beinhaltet.
  • Zu jedem gegebenen Zeitpunkt repräsentiert die Aktionspunktzahl für eine Aktion die aktuelle Wahrscheinlichkeit, dass der Agent 102 die Ziele erreicht, sofern die Aktion ausgeführt wird. Die Zugriffszahl für die Aktion entspricht der aktuellen Anzahl von Malen, die die Aktion vom Agenten 102 als Reaktion auf Beobachtungen ausgeführt wurde und den jeweiligen ersten Zustand charakterisiert, der durch den jeweiligen ersten Knoten für die Kante dargestellt wird, während die vorherige Wahrscheinlichkeit die Wahrscheinlichkeit repräsentiert, dass es sich bei der Aktion um diejenige Aktion handelt, die als Reaktion auf Beobachtungen ausgeführt 102 werden sollte, und, wie durch die Ausgabe eines der neuronalen Netzwerke bestimmt, und nicht, wie durch darauffolgende Interaktionen des Agenten 102 mit der Umgebung 104 oder der simulierten Version der Umgebung 104 bestimmt, den jeweiligen ersten Zustand charakterisiert.
  • Das Aktionsauswahl-Subsystem 120 aktualisiert die Daten, die den Statusbaum und die Kantendaten für die Kanten in dem Statusbaum von Interaktionen des Agenten 102 mit der simulierten Version der Umgebung 104 unter Verwendung der trainierten neuronalen Netzwerke in der Sammlung repräsentierten. Das Aktionsauswahl-Subsystem 120 führt insbesondere wiederholt Suchvorgänge des Statusbaums durch, um den Baum und die Kantendaten zu aktualisieren. Das Durchführen einer Durchsuchung des Statusbaums zum Aktualisieren des Statusbaums und der Kantendaten wird nachfolgend unter Bezugnahme auf 4 ausführlicher beschrieben.
  • In einigen Implementierungen führt das Aktionsauswahl-Subsystem 120 eine spezifizierte Anzahl von Suchvorgänge durch oder führt Suchvorgänge für einen spezifizierten Zeitraum durch, um den Statusbaum fertigzustellen und anschließend den fertiggestellten Statusbaum dazu zu verwenden, Aktionen auszuwählen, die vom Agenten 102 auszuführen sind, der mit der aktuellen Umgebung, und nicht mit der simulierten Version der Umgebung, interagiert.
  • In anderen Implementierungen setzt das Aktionsauswahl-Subsystem 120 jedoch die Aktualisierung des Statusbaums fort, indem es Suchvorgänge durchführt, während der Agent 102 mit der Umgebung 104 interagiert.
  • In jeder dieser Implementierungen wählt das Aktionsauswahl-Subsystem 120 jedoch, wenn eine Beobachtung vom Lernunterstützungssystem 100 empfangen wird, die vom Agenten 102 auszuführende Aktion unter Verwendung der aktuellen Kantendaten für die vom Knoten ausgehenden Kanten in dem Statusbaum, der den durch die Beobachtung charakterisierten Zustand repräsentiert. Das Auswählen einer Aktion wird nachfolgend unter Bezugnahme auf 3 ausführlicher beschrieben.
  • 2 ist ein Ablaufdiagramm eines exemplarischen Prozesses 200 zum Trainieren einer Sammlung von neuronalen Netzwerken, die dazu verwendet werden, Aktionen auszuwählen, die von einem mit einer Umgebung interagierenden Agenten auszuführen sind. Der Einfachheit halber wird der Prozess 200 als etwas beschrieben, dass durch ein System von einem oder mehreren Computern ausgeführt wird, die sich an einem oder mehreren Standorten befinden. So kann ein Lernunterstützungssystem, wie z. B. das Lernunterstützungssystem 100 aus 1, das gemäß dieser Spezifikation angemessen programmiert ist, beispielsweise den Prozess 200 ausführen.
  • Das System trainiert das neuronale Netzwerk mit SL-Richtlinie und das neuronale Netzwerk mit schneller Bereitstellungsrichtlinie bezüglich beschrifteter Trainingsdaten unter Verwendung der Richtlinie für überwachtes Lernen (Schritt 202).
  • Die beschrifteten Trainingsdaten für das neuronale Netzwerk mit SL-Richtlinie beinhalten mehrere Trainingsbeobachtungen, und jede Trainingsbeobachtung ein Aktionsbeschriftung, das eine Aktion identifiziert, die als Reaktion auf die Trainingsbeobachtung ausgeführt wurde.
  • So können die Aktionsbeschriftungen für jede Trainingsaktion beispielsweise eine Aktion identifizieren, die von einem Experten, z. B. einem Agenten ausgeführt wurde, der als sich die Umgebung in dem durch die Trainingsbeobachtung charakterisierten Zustand befand, von einem menschlichen Akteur gesteuert wurde.
  • Das System trainiert insbesondere das neuronale Netzwerk mit SL-Richtlinie, um Aktionswahrscheinlichkeiten zu erzeugen, die mit den Aktionsbeschriftungen für die beschrifteten Trainingsdaten übereinstimmen, indem es die Parameterwerte des neuronalen Netzwerks mit SL-Richtlinie von den Parameteranfangswerten auf trainierte Parameterwerte abändert. So kann das System beispielsweise unter Verwendung von asynchronen stochastischen Gradientenabstiegs-Aktualisierungen (SGD) das neuronale Netzwerk mit SL-Richtlinie trainieren, um die Protokollwahrscheinlichkeit der Aktion zu maximieren, die durch das für eine Trainingsbeobachtung gegebene Aktionsbeschriftung identifiziert wurde.
  • Wie oben beschrieben, handelt es sich beim neuronalen Netzwerk mit schneller Bereitstellungsrichtlinie um ein Netzwerk, das Ausgaben schneller als das neuronale Netzwerk mit SL-Richtlinie erzeugt, da die Architektur des neuronalen Netzwerks mit schneller Bereitstellungsrichtlinie kompakter als die Architektur des neuronalen Netzwerks mit SL-Richtlinie ist, und die Eingaben in das neuronale Netzwerk mit schneller Bereitstellungsrichtlinie weniger komplex als die Eingaben in das neuronale Netzwerk mit SL-Richtlinie sind.
  • Somit beinhalten die beschrifteten Trainingsdaten für das neuronale Netzwerk mit schneller Bereitstellungsrichtlinie Trainings-Rollout-Eingaben, wovon jede ein Aktionsbeschriftung beinhaltet, das eine Aktion identifiziert, die als Reaktion auf die Rollout-Eingabe ausgeführt wurde. So kann es sich bei den beschrifteten Trainingsdaten für das neuronale Netzwerk mit schneller Bereitstellungsrichtlinie beispielsweise um dieselben wie die beschrifteten Trainingsdaten für das neuronale Netzwerk mit SL-Richtlinie handeln, wobei die Trainingsbeobachtungen jedoch durch Trainings-Rollout-Eingaben ersetzt werden, die dieselben Zustände wie die Trainingsbeobachtungen charakterisieren.
  • Wie das neuronale Netzwerk mit SL-Richtlinie, trainiert das System das neuronale Netzwerk mit schneller Bereitstellung, Rollout-Aktionswahrscheinlichkeiten zu erzeugen, die mit den Aktionsbeschriftungen in den beschrifteten Trainingsdaten übereinstimmen, indem es die Parameterwerte des neuronalen Netzwerks mit schneller Bereitstellung von den Parameteranfangswerten auf trainierte Parameterwerte abändert. So kann das System beispielsweise unter Verwendung von asynchronen stochastischen Gradientenabstiegs-Aktualisierungen (SGD) das neuronale Netzwerk mit schneller Bereitstellungsrichtlinie trainieren, um die Protokollwahrscheinlichkeit der Aktion zu maximieren, die durch das Aktionsbeschriftung für eine gegebene Trainings-Rollout-Eingabe identifiziert wurde.
  • Das System initialisiert Parameteranfangswerte des neuronalen Netzwerks mit RL-Richtlinie auf die trainierten Werte des neuronalen Netzwerks mit SL-Richtlinie (Schritt 204). Wie zuvor beschrieben, weisen das neuronale Netzwerk mit RL-Richtlinie und das neuronale Netzwerk mit SL-Richtlinie dieselbe Netzwerkarchitektur auf, wobei das System die Parameterwerte des neuronalen Netzwerks mit RL-Richtlinie initialisiert, damit diese mit den trainierten Parameterwerten des neuronalen Netzwerks mit SL-Richtlinie übereinstimmen.
  • Das System trainiert das neuronale Netzwerk mit RL-Richtlinie, während der Agent mit der simulierten Version der Umgebung interagiert (Schritt 206).
  • Das heißt, dass das System nach dem Initialisieren der Werte das neuronale Netzwerk mit RL-Richtlinie trainiert, um die Parameterwerte des neuronalen Netzwerks mit RL-Richtlinie unter Verwendung der Lernunterstützung Daten anzupassen, die aus Interaktionen des Agenten mit der simulierten Version der Umgebung erzeugt wurden.
  • Während dieser Interaktionen werden die vom Agenten ausgeführten Aktionen unter Verwendung des neuronalen Netzwerks mit RL-Richtlinie gemäß aktuellen Parameterwerten des neuronalen Netzwerks mit RL-Richtlinie ausgewählt.
  • Das System trainiert insbesondere das neuronale Netzwerk mit RL-Richtlinie, um die Parameterwerte des neuronalen Netzwerks mit RL-Richtlinie dahingehend anzupassen, Aktionswahrscheinlichkeiten zu erzeugen, die für jede Aktion die Wahrscheinlichkeit repräsentieren, dass sich eine prognostizierte Wahrscheinlichkeit für das Erhalten einer langfristigen Belohnung maximiert, sofern die Aktion vom Agenten als Reaktion auf die Beobachtung anstatt einer anderen Aktion in der Reihe möglicher Aktionen ausgeführt wird. Im Allgemeinen handelt es sich bei der langfristigen Belohnung um ein numerischen Wert, der vom Grad abhängig ist, mit dem eines oder mehrere Ziele während der Interaktion des Agenten mit der Umgebung erreicht werden.
  • Um das neuronale Netzwerk mit RL-Richtlinie zu trainieren, schließt das System, während die Aktionen unter Verwendung des neuronalen Netzwerks mit RL-Richtlinie ausgewählt wurden, eine Interaktionsepisode des Agenten ab und erzeugt anschließend eine langfristige Belohnung für die Episode. Das System erzeugt die langfristige Belohnung basierend auf dem Ergebnis der Episode, d. h. je nachdem, ob die Ziele während der Episode erreicht wurden. So kann das System beispielsweise die Belohnung, sofern die Ziele erreicht wurden, auf einen bestimmten Wert setzen und wiederum auf einen anderen niedrigeren Wert, sofern die Ziele nicht erreicht wurden.
  • Das System trainiert dann das neuronale Netzwerk mit RL-Richtlinie bezüglich der Trainingsbeobachtungen während der Episode, um die Parameterwerte unter Verwendung der langfristigen Belohnung, z. B. durch Gradienten-Aktualisierungen von Datenverarbeitungsrichtlinien, anzupassen und die Parameterwerte unter Verwendung der Gradienten-Aktualisierungen von Richtlinien und einer Lernunterstützungstechnik, wie z. B. REINFORCE, anzupassen.
  • Das System ist in der Lage, endgültige Parameterwerte des neuronalen Netzwerks mit RL-Richtlinie durch wiederholtes Trainieren des neuronalen Netzwerks mit RL-Richtlinie bezüglich Interaktionsepisoden zu bestimmen.
  • Das System trainiert das neuronale Wertnetzwerk bezüglich der Trainingsdaten, die aus Interaktionen des Agenten mit der simulierten Version der Umgebung erzeugt wurden (Schritt 208).
  • Das System trainiert insbesondere das neuronale Wertnetzwerk, um eine Wertepunktzahl für einen gegebenen Zustand der Umgebung zu erzeugen, der die prognostizierte langfristige Belohnung repräsentiert, die sich aus der Umgebung ergibt, die sich durch die Anpassung in dem jeweiligen Zustand befindet.
  • Das System erzeugt aus der Interaktion des Agenten mit der simulierten Version der Umgebung Trainingsdaten für das neuronale Wertnetzwerk. Die Trainingsdaten beinhalten Trainingsbeobachtungen, von denen jede die langfristige Belohnung beinhaltet, die sich aus der Trainingsbeobachtung ergeben hat.
  • So kann das System beispielsweise nach dem Zufallsprinzip aus jeder Episode eine oder mehrere Beobachtungen auswählen und anschließend die Beobachtung mit der Belohnung für die Episode verbinden, um die Trainingsdaten zu erzeugen.
  • Des Weiteren kann das System beispielsweise nach Zufallsprinzip aus jeder Episode eine oder mehrere Beobachtungen auswählen, den Rest der Episode simulieren, indem es Aktionen entweder unter Verwendung eines der neuronalen Netzwerke mit Richtlinie oder unter Verwendung des Zufallsprinzips oder unter Verwendung beider Verfahren auswählt, und anschließend die Belohnung für die simulierte Episode bestimmen. Anschließend kann das System nach Zufallsprinzip aus der simulierten Episode eine oder mehrere Beobachtungen auswählen und die Belohnung für die simulierte Episode mit den Beobachtungen verbinden, um die Trainingsdaten zu erzeugen.
  • Das System trainiert das neuronale Wertnetzwerk bezüglich der Trainingsbeobachtungen unter Verwendung der Richtlinie für überwachtes Lernen, um die trainierten Parameterwerte des neuronalen Wertnetzwerks aus den Parameteranfangswerten des neuronalen Netzwerks zu bestimmen. So kann das System beispielsweise das neuronale Wertnetzwerk mithilfe des asynchronen Gradientenabstiegsverfahrens trainieren, um den mittleren quadratischen Fehler zwischen den Wertepunktzahlen und der tatsächlich erhaltenen langfristigen Belohnung möglichst gering zu halten.
  • 3 ist ein Ablaufdiagramm eines exemplarischen Prozesses 300 zum Auswählen einer Aktion, die unter Verwendung eines Statusbaums vom Agenten auszuführen ist. Der Einfachheit halber wird der Prozess 300 als etwas beschrieben, dass durch ein System von einem oder mehreren Computern ausgeführt wird, die sich an einem oder mehreren Standorten befinden. So kann ein Lernunterstützungssystem, z. B. das Lernunterstützungssystem 100 aus 1, das gemäß dieser Spezifikation angemessen programmiert ist, beispielsweise den Prozess 300 ausführen.
  • Das System empfängt eine aktuelle Beobachtung, die einen aktuellen Zustand der Umgebung charakterisiert (Schritt 302) und identifiziert einen aktuellen Knoten in dem Statusbaum, welcher den aktuellen Zustand (Schritt 304) repräsentiert.
  • Gegebenenfalls durchsucht das System vor dem Auswählen der Aktion, die vom Agenten in Reaktion auf die aktuelle Beobachtung durchgeführt werden soll, den Statusbaum oder setzt die Durchsuchung desselben fort, bis eine Aktion auszuwählen ist (Schritt 306). Das heißt, in einigen Implementierungen wird dem System nach dem Empfang der Beobachtung ein bestimmter Zeitraum vorgegeben, um eine Aktion auszuwählen. In diesen Implementierungen setzt das System, wie unter Bezugnahme auf 4 beschrieben, die Suchvorgänge ausgehend vom aktuellen Knoten in den Statusbaum fort, bis der vorgegebene Zeitraum abgelaufen ist. Anschließend kann das System den Statusbaum und die Kantendaten basierend auf den Suchvorgänge aktualisieren, bevor es eine Aktion in Reaktion auf die aktuelle Beobachtung auswählt. In einigen dieser Implementierungen sucht das System oder setzt den Suchvorgang nur dann fort, wenn die Kantendaten darauf hindeuten, dass die auszuwählende Aktion in Folge des zusätzlichen Suchvorgangs modifiziert werden kann.
  • Das System wählt unter Verwendung der aktuellen Kantendaten für die vom aktuellen Knoten (Schritt 308) ausgehenden Kanten eine vom Agenten in Reaktion auf die aktuelle Beobachtung auszuführende Aktion aus.
  • In einigen Implementierungen wählt das System die durch die ausgehende Kante dargestellte Aktion mit der höchsten Aktionspunktzahl als die vom Agenten in Reaktion auf die aktuelle Beobachtung auszuführende Aktion. In einigen weiteren Implementierungen wählt das System die durch die ausgehende Kante dargestellte Aktion mit der höchsten Zugriffszahl als die vom Agenten in Reaktion auf die aktuelle Beobachtung auszuführende Aktion.
  • Das System kann den Prozess 300 in Reaktion auf die empfangenen Beobachtungen weiter durchführen, bis die Interaktion des Agenten mit der Umgebung endet. In einigen Implementierungen setzt das System die Durchsuchung der Umgebung mit Hilfe der simulierten Version der Umgebung fort, indem es, unabhängig von der Auswahl der vom Agenten auszuführenden Aktionen für die Interaktion mit der tatsächlichen Umgebung, beispielsweise eine oder mehrere Repliken des Agenten zum Durchführen der Aktionen verwendet, um mit der simulierten Version zu interagieren.
  • 4 ist ein Ablaufdiagramm eines exemplarischen Prozesses 400 zum Durchsuchen eines Statusbaums einer Umgebung unter Verwendung neuronaler Netzwerke. Der Einfachheit halber wird der Prozess 400 als etwas beschrieben, dass durch ein System von einem oder mehreren Computern ausgeführt wird, die sich an einem oder mehreren Standorten befinden. So kann ein Lernunterstützungssystem, wie z. B. das Lernunterstützungssystem 100 aus 1, das gemäß dieser Spezifikation angemessen programmiert ist, beispielsweise den Prozess 400 ausführen.
  • Das System empfängt Daten, die einen Ausgangsknoten für den Suchvorgang identifizieren, d. h. einen Knoten, der dem Anfangszustand der simulierten Version der Umgebung (Schritt 402) entspricht.
  • Das System wählt vom Agenten auszuführende Aktionen, um mit der Umgebung zu interagieren, indem es den Statusbaum so lange durchläuft, bis die Umgebung einen Endknotenzustand, d. h. einen Zustand erreicht, der in dem Statusbaum (Schritt 404) durch einen Endknoten dargestellt wird.
  • Das heißt, in Reaktion auf jede empfangene Beobachtung, die einen In-Tree-Zustand, d. h. einen vom Agenten vorgefundenen Zustand charakterisiert, der vom Anfangszustand ausgeht, bis die Umgebung den Endknotenzustand erreicht, wählt das System unter Verwendung der Kantendaten für die vom In-Tree-Knoten ausgehenden Knoten, die den In-Tree-Zustand darstellen, als Reaktion auf die Beobachtung eine vom Agenten auszuführende Aktion aus.
  • Insbesondere bestimmt das System für jede von einem In-Tree-Knoten ausgehende Kante eine angepasste Aktionspunktzahl für die auf der Aktionspunktzahl für die Kante basierende Kante, die Zugriffszahl für die Kante und die vorherige Wahrscheinlichkeit für die Kante. Im Allgemeinen berechnet das System die angepasste Aktionspunktzahl für eine gegebene Kante, indem es zur Aktionspunktzahl für die Kante einen Bonus dazu addiert, der proportional zur vorherigen Wahrscheinlichkeit für die Kante ist, jedoch mit wiederholten Zugriffen verfällt, um eine Untersuchung zu fördern. So kann der Bonus beispielsweise direkt proportional zu einem Verhältnis sein, das der vorherigen Wahrscheinlichkeit als Zähler und einer Konstante, wie z. B. eins plus der Zugriffszahl als Nenner, entspricht.
  • Anschließend wählt das System die durch die Kante mit der höchsten angepassten Aktionspunktzahl repräsentierte Aktion als die vom Agenten in Reaktion auf die Beobachtung auszuführende Aktion.
  • Das System wählt auf diese Weise weiter vom Agenten auszuführende Aktionen aus, bis eine Beobachtung empfangen wird, die einen Endknotenzustand charakterisiert, der einem Endknoten in dem Statusbaum entspricht. Im Allgemeinen handelt es sich bei einem Endknoten um einen Knoten innerhalb des Statusbaums, der keine untergeordneten Knoten aufweist, das heißt, durch keine ausgehende Kante mit anderen Knoten verbunden ist.
  • Das System erweitert den Endknoten unter Verwendung eines neuronalen Netzwerks mit Richtlinie (Schritt 406). Das heißt, dass das System in einigen Implementierungen das neuronale Netzwerk mit SL-Richtlinie verwendet, um den Endknoten zu erweitern, während das System in anderen Implementierungen das neuronale Netzwerk mit RL-Richtlinie verwendet.
  • Um den Endknoten zu erweitern, fügt das System für jede Aktion, bei der es sich um eine gültige vom Agenten in Reaktion auf die Endknotenbeobachtung auszuführende Aktion handelt, eine jeweilige neue Kante zum Statusbaum hinzu. Das System initialisiert zudem die Kantendaten für alle neuen Kanten, indem es die Zugriffszahl und Aktionspunktzahlen für die neue Kante auf Null setzt. Um die spätere Wahrscheinlichkeit für alle neuen Kanten zu bestimmen, verarbeitet das System die Endknotenbeobachtung des neuronalen Netzwerks mit Richtlinie, d. h. je nach Implementierung entweder des neuronalen Netzwerks mit SL-Richtlinie oder des neuronalen Netzwerks mit RL-Richtlinie und verwendet die vom Netzwerk erzeugten Aktionswahrscheinlichkeiten als spätere Wahrscheinlichkeiten für die entsprechenden Kanten. In einigen Implementierungen wird beim Erzeugen der späteren Wahrscheinlichkeiten die Temperatur der Ausgabeschicht des neuronalen Netzwerks mit Richtlinie reduziert, um die durch die Aktionswahrscheinlichkeiten definierte Wahrscheinlichkeitsverteilung auszugleichen.
  • Das System wertet den Endknoten unter Verwendung des neuronalen Wertnetzwerks und des neuronalen Netzwerks mit schneller Bereitstellungsrichtlinie aus, um eine Endknotenauswertungspunktzahl für den Endknoten zu erzeugen (Schritt 408).
  • Um den Endknoten mit Hilfe des neuronalen Wertnetzwerks auszuwerten, verarbeitet das System die Beobachtung, die den Endknotenzustand charakterisiert unter Verwendung des neuronalen Wertnetzwerks, um eine Wertepunktzahl für den Endknotenzustand zu erzeugen, der eine prognostizierte langfristige Belohnung darstellt, die aufgrund der im Endknotenzustand befindlichen Umgebung empfangen wurde.
  • Um den Endknoten mit Hilfe des neuronalen Netzwerks mit schneller Bereitstellungsrichtlinie auszuwerten, führt das System eine Bereitstellung aus, bis die Umgebung einen Endzustand erreicht, indem es unter Verwendung des neuronalen Netzwerks mit Bereitstellungsrichtlinie die vom Agenten auszuführenden Aktionen auswählt.
  • Das heißt, dass das System für sämtliche vom Agenten während der Bereitstellung vorgefundenen Zustände Bereitstellungsdaten erhält, die den Zustand charakterisieren, und die Bereitstellungsdaten unter Verwendung des neuronalen Netzwerks mit schneller Bereitstellungsrichtlinie verarbeitet, welches für das Empfangen der Bereitstellungsdaten trainiert wurde, um für jede Aktion in der Reihe möglicher Aktionen eine entsprechende Rollout-Aktionswahrscheinlichkeit zu erzeugen. In einigen Implementierungen, wählt das System dann als Reaktion auf die den Zustand charakterisierenden Bereitstellungsdaten die Aktion mit der höchsten Rollout-Aktionswahrscheinlichkeit als die vom Agenten auszuführende Aktion. In einigen anderen Implementierungen entnimmt das System gemäß der Rollout-Aktionswahrscheinlichkeiten Stichproben aus den möglichen Aktionen, um die vom Agenten auszuführende Aktion auszuwählen.
  • Bei dem Endzustand handelt es sich um einen Zustand, in dem die Ziele erreicht wurden bzw. um einen Zustand, der als Zustand eingestuft worden ist, von dem aus sich die Ziele nicht angemessen erreichen lassen. Sobald die Umgebung den Endzustand erreicht, legt das System eine langfristige auf dem Endzustand basierende Bereitstellungsbelohnung fest. Zum Beispiel kann das System die langfristige Bereitstellungsbelohnung auf einen ersten Wert setzen, sofern das Ziel im Endzustand erreicht wurde, und auf einen zweiten, niedrigeren Wert, sofern das Ziel im Endzustand nicht erreicht wurde.
  • Anschließend kombiniert das System die Wertepunktzahl und die langfristige Bereitstellungsbelohnung, um die Endknotenauswertungspunktzahl für den Endknoten zu bestimmen. So kann es sich bei der Endknotenauswertungspunktzahl beispielsweise um eine gewichtete Summe der Wertepunktzahl und der langfristigen Bereitstellungsbelohnung handeln.
  • Das System aktualisiert die Kantendaten für die während des Suchvorgangs durchlaufenen Kanten basierend auf der Endknotenauswertungspunktzahl für den Endknoten (Schritt 410).
  • Speziell für sämtliche Kanten, die während des Suchvorgangs durchlaufen wurden, steigert das System die Zugriffszahl für die Kante durch einen vorbestimmten konstanten Wert, wie beispielsweise Eins. Das System aktualisiert zudem die Aktionspunktzahl für die Kante unter Verwendung der Endknotenauswertungspunktzahl, indem es die Aktionspunktzahl dem neuen Mittelwert der Endknotenauswertungspunktzahlen sämtlicher Suchvorgänge angleicht, bei denen die Kante durchlaufen wurde.
  • Während die Beschreibung in 4 Aktionen beschreibt, die für den mit der Umgebung interagierenden Agenten ausgewählt werden, versteht sich, dass der Prozess 400 stattdessen durchgeführt werden kann, um den Statusbaum unter Verwendung der simulierten Version der Umgebung zu durchsuchen, d. h. während vom Agenten oder einem Replikat des Agenten auszuführende Aktionen ausgewählt werden, um mit der simulierten Version der Umgebung zu interagieren.
  • In einigen Implementierungen teilt das System den Suchvorgang des Statusbaums auf, indem es mehrere unterschiedliche Suchvorgänge parallel auf mehreren verschiedenen Rechnern, d. h. Computern ausführt.
  • So kann das System beispielsweise eine Architektur implementieren, die einen Leitrechner beinhaltet, der die Hauptsuche ausführt, viele Telearbeiter-CPUs, die asynchrone Bereitstellungen ausführen, und viele Telearbeiter-GPUs, die asynchrone Richtlinien- und Wertnetzwerkauswertungen ausführen. Der gesamte Statusbaum kann auf dem Leitrechner gespeichert werden, der ausschließlich die Phase jeder Simulation innerhalb des Baums ausführt. Die Endknotenpositionen werden den Arbeiter-CPUs mitgeteilt, die die Bereitstellungsphase der Simulation ausführen, sowie den Arbeiter-GPUs, die die Netzwerkfunktionen berechnen und die Richtlinien- und Wertnetzwerke auswerten.
  • In einigen Fällen aktualisiert das System die Kantendaten erst, wenn seit der letzten Aktualisierung der Kantendaten eine vorgegebene Anzahl von Suchvorgängen ausgeführt wurde, um beispielsweise in den Fällen, in denen mehrere verschiedene Suchvorgänge gleichzeitig ausgeführt werden, die Stabilität des Suchvorgangs zu verbessern.
  • Ausführungsformen des Gegenstandes, sowie die funktionsfähigen in dieser Beschreibung beschriebenen Operationen können in einer digitalen elektronischen Schaltung, in physisch greifbarer Computer-Software oder Firmware, in Computer-Hardware, darunter auch in aus dieser Beschreibung hervorgehenden Strukturen und deren strukturellen Äquivalenten oder in Kombinationen einer oder mehrerer derselben implementiert werden. Die in dieser Beschreibung beschriebenen Ausführungsformen des Gegenstandes können als ein oder mehrere Computerprogramme implementiert werden, d. h. als ein oder mehrere Module mit Computerprogrammbefehlen, die auf einem greifbaren, nicht transitorischen Programmträger kodiert sind, um dann von einem Datenverarbeitungsgerät ausgeführt zu werden bzw. den Betrieb desselben zu steuern. Alternativ oder ergänzend dazu können die Programmbefehle auf einem künstlich erzeugten sich ausbreitendem Signal, wie beispielsweise einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal kodiert werden, welches erzeugt wird, um Informationen zur Übertragung an ein geeignetes Empfängergerät zu kodieren, welche dann von einem Datenverarbeitungsgerät ausgeführt werden. Bei dem Computer-Speichermedium kann es sich um ein maschinenlesbares Speichergerät, ein maschinenlesbares Speichersubstrat, einen frei adressierbaren oder seriellen Zugriffsspeicher oder eine Kombination aus einem oder mehrerer derselben handeln.
  • Der Begriff „Datenverarbeitungsgerät” bezieht sich auf Datenverarbeitungshardware und umfasst sämtliche Gerätearten, Apparate und Maschinen zur Verarbeitung von Daten, wie z. B. einen programmierbaren Prozessor, einen Computer oder mehrere Prozessoren oder Computer. Bei dem Gerät kann es sich auch um eine vorhabensgebundene Logikschaltung, wie z. B. einen FPGA (Universalschaltkreis) oder einen ASIC (anwendungsspezifischen integrierten Schaltkreis) handeln bzw. kann dieselben enthalten. Das Gerät kann, zusätzlich zur Hardware, wahlweise Code enthalten, der eine Ausführungsumgebung für Computerprogramme, wie z. B. Maschinencode in Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination aus einem oder mehrerer derselben, erstellt.
  • Ein Computerprogramm (das auch als Programm, Software, Softwareanwendung, Modul, Softwaremodul, Script oder Code bezeichnet oder beschrieben werden kann) kann in jeder Form von Programmiersprache, darunter auch in kompilierten oder interpretierten Sprachen oder in deklarativen oder prozeduralen Sprachen geschrieben und in beliebiger Form, wie z. B. als allein lauffähiges Programm oder als Modul, Komponente, Subroutine oder als eine andere für den Einsatz in einer Computerumgebung geeignete Einheit bereitgestellt werden. Ein Computerprogramm kann, muss jedoch nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert werden, das andere Programme oder Daten enthält, wie z. B. eine oder mehrere Skripte, die in einem Auszeichnungssprachen-Dokument, in einer einzelnen dem betreffenden Programm gewidmeten Datei, oder in mehreren koordinierten Dateien, wie beispielsweise Dateien, die ein oder mehrere Module, Teilprogramme oder Maschinencode-Abschnitte enthalten, gespeichert werden. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort befinden oder über mehrere Standorte verteilt und durch ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Beschreibung beschriebenen Prozesse und Logikabläufe können von einem oder mehreren programmierbaren Computern ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, die durch den auf Eingabedaten basierenden Betrieb und das Erzeugen von Ausgabedaten bestimmte Funktionen aktivieren. Die Prozesse und Logikabläufe können auch durch eine vorhabensgebundene Logikschaltung, wie z. B. einen FPGA (Universalschaltkreis) oder einen ASIC (anwendungsspezifischen integrierten Schaltkreis) ausgeführt und das Gerät in Form derselben implementiert werden.
  • Die für die Ausführung eines Computerprogramms geeigneten Computer können beispielsweise auf allgemeinen oder speziellen Mikroprozessoren oder auch auf beiden oder auf einer anderen Art von Zentralverarbeitungseinheit basieren. In der Regel empfängt eine zentrale Verarbeitungseinheit Befehle und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder auch von beiden. Die wesentlichen Bestandteile eines Computers sind eine zentrale Verarbeitungseinheit zum Durchführen bzw. Ausführen von Befehlen, sowie eine oder mehrere Speichergeräte zum Speichern von Befehlen und Daten. In der Regel enthält ein Computer eine oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B: magnetische, magneto-optische oder optische Festplatten bzw. wird operativ gekoppelt, um Daten von denselben zu empfangen oder auf dieselben zu übertragen. Ein Computer muss jedoch nicht über solche Geräte verfügen. Darüber hinaus kann ein Computer in einem anderen Gerät, wie beispielsweise einem Mobiltelefon, einem persönlichen digitalen Assistenten (PDA), einem mobilen Audio- oder Video-Player, einer Spielkonsole, einem globalen Positionsbestimmungssystem(GPS)-Empfänger oder einem tragbaren Speichergerät, wie z. B. einem Universal-Serial-Bus(USB)-Flash-Laufwerk integriert sein, um nur einige zu nennen.
  • Zu den computerlesbaren zum Speichern von Computerprogrammbefehlen und Daten geeigneten Medien gehören sämtliche Arten von Festspeichern, Medien und Speichergeräten, einschließlich Halbleiterspeicherelemente, wie beispielsweise EPROM, EEPROM und Flash-Speichergeräte; magnetische Festplatten, wie z. B. interne Festplatten oder Wechselplatten; magneto-optische Festplatten; und CD-ROM- und DVD-ROM-Laufwerke. Der Prozessor und der Speicher können durch eine vorhabensgebundene Logikschaltung ergänzt oder in dieselbe integriert werden.
  • Um die Interaktion mit einem Benutzer zu ermöglichen, können die in dieser Beschreibung beschriebenen Ausführungsformen des Gegenstandes zum Anzeigen von Informationen auf einem Computer mit einem Anzeigegerät, wie z. B. einem CRT-(Kathodenstrahlröhren) oder LCD-(Flüssigkristallanzeige)-Monitor, einschließlich einer Tastatur und einem Zeigegerät, wie z. B. einer Maus oder einem Trackball implementiert werden, mit denen der Benutzer den Computer bedienen kann. Es können auch andere Gerätearten verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen verwendet; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. eine visuelle, akustische, oder taktile Rückmeldung handeln; auch die Eingabe des Benutzers kann in beliebiger Form, also auch akustisch, sprachlich oder taktil empfangen werden. Darüber hinaus kann ein Computer mit einem Benutzer interagieren, indem er Dokumente an ein vom Benutzer verwendetes Gerät sendet und Dokumente von demselben Gerät empfängt; indem er z. B. auf einem Client-Gerät des Benutzers Webseiten an einen Web-Browser in Reaktion auf vom Web-Browser empfangene Anfragen sendet.
  • Die in dieser Beschreibung beschriebenen Ausführungsformen des Gegenstandes können in einem Computersystem implementiert werden, das eine Backend-Komponente, wie z. B. einen Datenserver oder eine Middleware-Komponente, wie z. B. einen Anwendungsserver oder eine Frontend-Komponente, wie z. B. einen Client-Computer mit einer bezugsgrafischen Benutzeroberfläche oder eine beliebige Kombination einer oder mehrerer der besagten Backend-, Middleware- oder Frontend-Komponenten oder einen Web-Browser enthält, durch den ein Benutzer mit einer in dieser Beschreibung beschriebenen Implementierung des Gegenstandes interagieren kann. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk miteinander verbunden werden. Zu Kommunikationsnetzwerken zählen beispielsweise lokale Netzwerke („LAN”) und Großraumnetzwerke („WAN”), wie z. B. das Internet.
  • Das Computersystem kann aus Clients und Servern bestehen. Client und Server sind generell voneinander entfernt und interagieren in der Regel über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern ausgeführt werden und eine Client-Server-Beziehung zueinander haben.
  • Obwohl diese Beschreibung viele spezifische Implementierungsdetails enthält, sollten diese nicht als Einschränkungen des Schutzumfangs einer Erfindung oder eines Anspruchs ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen besonderer Erfindungen spezifisch sein können. Bestimmte Merkmale, die innerhalb dieser Beschreibung im Zusammenhang mit separaten Ausführungsformen beschrieben werden, können auch in Kombination in einer einzelnen Ausführungsform implementiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzelnen Ausführungsform beschrieben werden, auch in mehreren Ausführungsformen separat oder in einer geeigneten Teilkombination implementiert werden. Außerdem können, auch wenn die Merkmale weiter oben ggf. als in bestimmten Kombinationen wirkend beschrieben und sogar zunächst als solche beansprucht werden, in einigen Fällen ein oder mehrere Merkmale einer beanspruchten Kombination aus der Kombination herausgeschnitten und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
  • Gleichermaßen sollte, obwohl die Vorgänge in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, dies nicht so verstanden werden, dass die besagten Vorgänge in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen, oder dass alle veranschaulichten Vorgänge durchgeführt werden, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemmodule und Komponenten in den oben beschriebenen Ausführungsformen nicht als erforderlich ausgelegt werden, auch gilt es zu verstehen, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzelnen Softwareprodukt oder in mehreren Softwareprodukten gebündelt integriert werden können.
  • Es wurden besondere Ausführungsformen des Gegenstandes beschrieben. Weitere Ausführungsformen liegen innerhalb des Schutzumfangs der folgenden Schutzansprüche. So können beispielsweise die in den Schutzansprüchen angegebenen Aktionen in einer anderen Reihenfolge durchgeführt werden und dennoch die erwünschten Ergebnisse erzielen. So erfordern beispielsweise die in den beigefügten Figuren dargestellten Prozesse nicht unbedingt die gezeigte spezielle Reihenfolge oder fortlaufende Reihenfolge, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein.

Claims (16)

  1. Ein neuronales Netzwerktrainingssystem umfasst einen oder mehrere Computer und ein oder mehrere Speichergeräte zum Speichern von Befehlen, die beim Ausführen durch einen oder mehrere Computer bewirken, dass der besagte oder die besagten Computer Vorgänge ausführen, um ein neuronales Wertnetzwerk zu trainieren, welches dazu dient, eine Beobachtung zu empfangen, die den Zustand einer Umgebung charakterisiert, die mit einem Agenten-System interagiert, und dazu dient, diese Beobachtung gemäß den Parametern des neuronalen Wertnetzwerks zu verarbeiten, um eine Wertepunktzahl zu erzeugen, wobei die Vorgänge folgende Punkte umfassen: Trainieren eines neuronalen Netzwerks mit Richtlinie für überwachtes Lernen, worin das neuronale Netzwerk mit Richtlinie für überwachtes Lernen dazu dient, die Beobachtung zu empfangen und diese Beobachtung gemäß den Parametern des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen zu verarbeiten, um für jede Aktion in einer Reihe von möglichen Aktionen eine jeweilige Aktionswahrscheinlichkeit zu erzeugen, die durch das Agentensystem ausgeführt werden kann, um mit der Umgebung zu interagieren, und worin das Trainieren des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen das Trainieren des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen bezüglich beschrifteter Trainingsdaten unter Verwendung der Richtlinie für überwachtes Lernen umfasst, um die trainierten Parameterwerte des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen zu bestimmen; Initialisieren von Parameteranfangswerten eines neuronalen Netzwerks mit Lernunterstützungsrichtlinie, das dieselbe Architektur aufweist, wie das neuronale Netzwerk mit Richtlinie für überwachtes Lernen gegenüber den trainierten Parameterwerten des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen; Trainieren des neuronalen Netzwerks mit Lernunterstützungsrichtlinie bezüglich der zweiten Trainingsdaten, die durch Interaktionen des Agentensystems mit einer simulierten Version der Umgebung unter Verwendung der Lernunterstützung erzeugt wurden, um aus den Anfangswerten die trainierten Parameterwerte des neuronalen Netzwerks mit Lernunterstützungsrichtlinie zu bestimmen; und Trainieren des neuronalen Wertnetzwerks zur Erzeugung einer Wertepunktzahl für den Zustand der Umgebung, die eine prognostizierte langfristige Belohnung repräsentiert, die sich aus der in dem Zustand befindlichen Umgebung ergibt durch Trainieren des neuronalen Wertnetzwerks bezüglich der dritten Trainingsdaten, die aus den Interaktionen des Agentensystems mit der simulierten Version der Umgebung unter Verwendung der Richtlinie für überwachtes Lernen erzeugt wurden, um aus den Parameteranfangswerten des neuronalen Wertnetzwerks die trainierten Parameterwerte des neuronalen Wertnetzwerks zu bestimmen.
  2. System nach Anspruch 1, worin die Umgebung eine reale Umgebung ist, und worin es sich bei den Aktionen in der Reihe von Aktionen ggf. um Steuerungseingaben handelt, um die Interaktion des Agentensystems mit der Umgebung zu steuern.
  3. System nach Anspruch 2, worin die Umgebung eine reale Umgebung ist, worin es sich bei dem Agentensystem um ein Steuerungssystem für ein autonomes oder halbautonomes Fahrzeug handelt, das durch die reale Umgebung navigiert, worin es sich bei den Aktionen in der Reihe von Aktionen ggf. um Steuerungseingaben handelt, um das autonome oder halbautonome Fahrzeug zu steuern, und worin es sich bei der simulierten Version der Umgebung um eine Bewegungssimulationsumgebung handelt, die die Navigation durch die reale Umgebung simuliert.
  4. Das System nach Anspruch 2 oder Anspruch 3, worin die prognostizierte durch das Agentensystem empfangene langfristige Belohnung einem prognostizierten Ausmaß entspricht, in welchem die Ziele für die Navigation des Fahrzeugs durch die reale Umgebung als Folge der in dem Zustand befindlichen Umgebung erfüllt werden.
  5. System nach Anspruch 1, worin es sich bei der Umgebung um eine Patientendiagnoseumgebung handelt, worin die Beobachtung einen Patientenstatus eines Patienten charakterisiert, worin es sich bei dem Agentensystem um ein Computersystem mit Behandlungsvorschlägen für den Patienten handelt, worin es sich bei den Aktionen in der Reihe von Aktionen ggf. um medizinische Behandlungen für den Patienten handelt, und worin es sich bei der simulierten Version der Umgebung um eine Patientengesundheitssimulation handelt, die die Auswirkungen von medizinischen Behandlungen auf Patienten simuliert.
  6. System nach Anspruch 1, worin es sich bei der Umgebung um eine Proteinfaltungsumgebung handelt, worin die Beobachtung einen aktuellen Zustand einer Proteinkette charakterisiert, worin es sich bei dem Agentensystem um ein Computersystem handelt, das dazu dient, zu bestimmen, wie die Proteinkette zu falten ist, worin es sich bei den Aktionen ggf. um Faltaktionen zum Falten der Proteinkette handelt, und worin es sich bei der simulierten Version der Umgebung um eine simulierte Proteinfaltungsumgebung handelt, die die Auswirkungen von Faltaktionen auf Proteinketten simuliert.
  7. System nach Anspruch 1, worin es sich bei der Umgebung um eine virtualisierte Umgebung handelt, in der ein Benutzer gegen ein computergestütztes Agentensystem konkurriert, um ein Ziel zu erreichen, worin es sich bei dem Agentensystem um ein computergestütztes Agentensystem handelt, worin es sich bei den Aktionen in der Reihe von Aktionen ggf. um Aktionen handelt, die durch das computergestützte Agentensystem in der virtualisierten Umgebung ausgeführt werden können, und worin es sich bei der simulierten Version der Umgebung um eine Simulation handelt, bei der der Benutzer durch ein anderes computergestütztes Agentensystem ersetzt wird.
  8. System nach einem der Schutzansprüche 1–7, worin das Trainieren des neuronalen Netzwerks mit Lernunterstützungsrichtlinie bezüglich der zweiten Trainingsdaten das Auswählen der vom Agentensystem auszuführenden Aktionen während der Interaktion mit der simulierten Version der Umgebung unter Verwendung des neuronalen Netzwerks mit Lernunterstützungsrichtlinie umfasst.
  9. System nach einem der Schutzansprüche 1–8, worin das Trainieren des neuronalen Netzwerks mit Lernunterstützungsrichtlinie bezüglich der zweiten Trainingsdaten folgende Punkte umfasst: Trainieren des neuronalen Netzwerks mit Lernunterstützungsrichtlinie, um Aktionswahrscheinlichkeiten zu erzeugen, die eine prognostizierte Wahrscheinlichkeit für jede Aktion repräsentieren, dass sich die langfristige Belohnung maximiert, sofern die Aktion durch das Agentensystem in Reaktion auf die Beobachtung anstatt einer anderen Aktion in der Reihe von möglichen Aktionen ausgeführt wird.
  10. System nach einem der Schutzansprüche 1–9, worin die beschrifteten Trainingsdaten eine Vielzahl von Trainingsbeobachtungen und eine Aktionsbeschriftung für jede Trainingsbeobachtung enthalten, worin jede Trainingsbeobachtung einen jeweiligen Trainingszustand charakterisiert, und worin die Aktionsbeschriftung für jede Trainingsbeobachtung eine Aktion identifiziert, die in Reaktion auf die Trainingsbeobachtung durchgeführt wurde.
  11. System nach Anspruch 10, worin das Trainieren des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen bezüglich der beschrifteten Trainingsdaten folgende Punkte umfasst: Trainieren des neuronalen Netzwerks mit Richtlinie für überwachtes Lernen zur Erzeugung von Aktionswahrscheinlichkeiten, die mit den Aktionsbeschriftungen für die Trainingsbeobachtungen übereinstimmen.
  12. System nach einem der Ansprüche 1–11, dessen Vorgänge des Weiteren folgende Punkte umfassen: Trainieren eines neuronalen Netzwerks mit schneller Bereitstellungsrichtlinie bezüglich der beschrifteten Trainingsdaten, wobei das neuronale Netzwerk mit schneller Bereitstellungsrichtlinie dazu dient, eine den Zustand charakterisierende Rollout-Eingabe zu empfangen und dieselbe zu verarbeiten, um für jede Aktion in der Reihe möglicher Aktionen eine jeweilige Rollout-Aktionswahrscheinlichkeit zu erzeugen, und wobei eine für das neuronale Netzwerk mit schneller Bereitstellung erforderliche Verarbeitungszeit zum Erzeugen von Rollout-Aktionswahrscheinlichkeiten kürzer ist als eine für das neuronale Netzwerk mit Richtlinie für überwachtes Lernen erforderliche Verarbeitungszeit zum Erzeugen von Aktionswahrscheinlichkeiten.
  13. System nach Anspruch 12, worin die den Zustand charakterisierende Rollout-Eingabe weniger Daten enthält als die den Zustand charakterisierende Beobachtung.
  14. System nach einem der Ansprüche 12 oder 13, dessen Vorgänge des Weiteren folgende Punkte umfassen: Verwenden des neuronalen Netzwerks mit schneller Bereitstellungsrichtlinie zur Auswertung der Umgebungszustände im Rahmen der Durchsuchung eines Statusbaums der Umgebungszustände, worin der Statusbaum dazu verwendet wird, vom Agentensystem auszuführende Aktionen in Reaktion auf die empfangenen Beobachtungen auszuwählen, und worin die ausgewählten Aktionen von dem mit der Umgebung interagierenden Agentensystem ausgeführt werden.
  15. System nach einem der Ansprüche 1–14, dessen Vorgänge des Weiteren folgende Punkte umfassen: Verwenden des trainierten neuronalen Wertfunktionsnetzwerks zur Auswertung der Umgebungszustände im Rahmen der Durchsuchung eines Statusbaums der Umgebungszustände, worin der Statusbaum dazu verwendet wird, vom Agentensystem auszuführende Aktionen in Reaktion auf die empfangenen Beobachtungen auszuwählen, und worin die ausgewählten Aktionen von dem mit der Umgebung interagierenden Agentensystem ausgeführt werden.
  16. Ein oder mehrere Computerspeichermedien zum Speichern von Befehlen, die beim Ausführen durch einen oder mehrere Computer bewirken, dass der besagte oder die besagten Computer die in einem der Ansprüche 1–15 definierten Vorgänge des neuronalen Netzwerk-Trainingssystems ausführt bzw. ausführen.
DE202016004627.7U 2016-07-27 2016-07-27 Training eines neuronalen Wertnetzwerks Active DE202016004627U1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202016004627.7U DE202016004627U1 (de) 2016-07-27 2016-07-27 Training eines neuronalen Wertnetzwerks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE202016004627.7U DE202016004627U1 (de) 2016-07-27 2016-07-27 Training eines neuronalen Wertnetzwerks
US15/280,711 US20180032863A1 (en) 2016-07-27 2016-09-29 Training a policy neural network and a value neural network

Publications (1)

Publication Number Publication Date
DE202016004627U1 true DE202016004627U1 (de) 2016-09-23

Family

ID=57135560

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202016004627.7U Active DE202016004627U1 (de) 2016-07-27 2016-07-27 Training eines neuronalen Wertnetzwerks

Country Status (2)

Country Link
US (1) US20180032863A1 (de)
DE (1) DE202016004627U1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
USD898059S1 (en) 2017-02-06 2020-10-06 Sas Institute Inc. Display screen or portion thereof with graphical user interface
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
USD898060S1 (en) 2017-06-05 2020-10-06 Sas Institute Inc. Display screen or portion thereof with graphical user interface
US10650045B2 (en) * 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
WO2018189404A1 (en) * 2017-04-14 2018-10-18 Deepmind Technologies Limited Distributional reinforcement learning
US10567233B2 (en) * 2017-06-07 2020-02-18 International Business Machines Corporation Shadow agent projection in multiple places to reduce agent movement over nodes in distributed agent-based simulation
US10630533B2 (en) * 2017-07-07 2020-04-21 Cisco Technology, Inc. Distributed network query using walker agents
CN109636699A (zh) * 2018-11-06 2019-04-16 中国电子科技集团公司第五十二研究所 一种基于深度强化学习的无监督智能作战推演系统
WO2020102887A1 (en) * 2018-11-19 2020-05-28 Tandemlaunch Inc. System and method for automated design space determination for deep neural networks
US10477418B1 (en) * 2018-12-17 2019-11-12 Loon Llc Operation of sectorized communications from aerospace platforms using reinforcement learning
US10460208B1 (en) * 2019-01-02 2019-10-29 Cognata Ltd. System and method for generating large simulation data sets for testing an autonomous driver

Also Published As

Publication number Publication date
US20180032863A1 (en) 2018-02-01

Similar Documents

Publication Publication Date Title
DE202016008203U1 (de) Spracherkennungssystem
DE112016005059T5 (de) Unterkategorienbewusste faltende neuronale Netzwerke zur Objekterfassung
DE202017105403U1 (de) Befehlssatzarchitektur für neuronale Netze
DE202017105598U1 (de) System zum tiefen Verstärkungslernen für Robotermanipulation
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102016226302A1 (de) Voice-action-system für entwickler
DE112017000141T5 (de) Selektives sensorabfragen
DE112016002185T5 (de) Sprachaktivitätserkennung
DE69630355T2 (de) Dynamische gerätanpassung unter verwendung von treiber-kandidatlisten
DE112016002292T5 (de) Stapel-verarbeitung in einem neuronalen netzwerkprozessor
DE102014218050A1 (de) Übergang von autonomer Fahrzeugsteuerung zu Fahrer-Steuerung
DE102013221052A1 (de) System und Verfahren für Batch-Auswertungs-Programme
DE102013221057A9 (de) System und Verfahren für Batch-Auswertungs-Programme
DE69732943T2 (de) Datenverarbeitungsvorrichtung und -verfahren
DE60007587T2 (de) Automatische diagnostik von drucker-systemen mittels bayesianischen netzwerken
DE69734545T2 (de) Verfahren und Vorrichtung zur Verbesserung der Portierbarkeit einer objektorientierten Schnittstelle zwischen verschiedenen Umgebungen
DE112012006300T5 (de) Prädiktives verhaltensorientiertes Targeting
EP0862161B1 (de) Verfahren zur Spracherkennung mit Sprachmodellanpassung
DE102015004127A1 (de) Verfahren und System zum Vergleichen von verschienenen Versionen einer cloud-basierten Anwendung in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
DE112013000752T5 (de) Verwalten von Verarbeitungselementen in einem Streaming-Datensystem
DE102012102770B9 (de) System und Verfahren zur Fehlereingrenzung und Fehlerabschwächung basierend auf einer Netzwerkmodellierung
EP2685382B1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
DE102012218704A1 (de) Erkennung von schwachstellen für dom-basiertes cross-site-scripting
DE3911465C2 (de) Verfahren zur automatischen Konfiguration technischer Systeme aus Komponenten
CN109348707A (zh) 针对基于深度神经网络的q学习修剪经验存储器的方法和装置

Legal Events

Date Code Title Description
R207 Utility model specification
R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R081 Change of applicant/patentee

Owner name: DEEPMIND TECHNOLOGIES LIMITED, GB

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R081 Change of applicant/patentee

Owner name: DEEPMIND TECHNOLOGIES LIMITED, GB

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

R150 Utility model maintained after payment of first maintenance fee after three years
R081 Change of applicant/patentee

Owner name: DEEPMIND TECHNOLOGIES LIMITED, GB

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE