-
Querverweis auf Verwandte Anmeldungen
-
Die vorliegende Offenbarung bezieht sich auf die folgenden Anmeldungen, die am selben Tag wie diese Anmeldung eingereicht wurden und durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen sind:
- • US-Patentanmeldung Nr. 17/979047 , mit dem Titel „REINFORCEMENT LEARNING FOR CONTINUED LEARNING OF OPTIMAL BATTERY CHARGING“, Aktenzeichen 097182-00205
- • US-Patentanmeldung Nr. 17/979054 , mit dem Titel „NEURAL NETWORK FEATURE EXTRACTOR FOR ACTOR-CRITIC REINFORCEMENT LEARNING MODELS“, Anwaltsaktenzeichen 097182-00207
-
Technisches Gebiet
-
Die vorliegende Offenbarung bezieht sich auf eine geglättete Übertragung von Belohnungssystemen für bestärkende Actor-Critic-Modelle. Insbesondere stellt die vorliegende Offenbarung Verfahren und Systeme bereit, um die Übertragung zwischen einem Belohnungssystem und einem anderen Belohnungssystem in einem Actor-Critic-Modellkontext zu glätten.
-
Hintergrund
-
Bestärkendes Lernen ist ein Bereich des maschinellen Lernens, das sich damit befasst, wie intelligente Agenten in einer Umwelt Aktionen ergreifen sollten, um den Gedanken der kumulativen Belohnung zu maximieren. Typischerweise wird bestärkendes Lernen als Markov-Entscheidungsprozess (MDP) modelliert. Ein Actor-Critic-Modell ist eine Art von bestärkendem Lernen, bei dem ein Actor-Modell eine Aktion in einer Umwelt befiehlt oder bereitstellt und ein Critic-Modell einen Zustand der Umwelt bestimmt, der durch die Aktion beeinflusst wird. Das Critic-Modell bestimmt auch eine Belohnung basierend auf der Aktion, wobei ein gutes Ergebnis belohnt wird und ein schlechtes Ergebnis weniger belohnt, nicht belohnt oder bestraft wird. Dieser Prozess wird mit dem Ziel der Maximierung der Belohnung wiederholt. Das Belohnungssystem des Actor-Critic-Modells kann übertragen werden. Zum Beispiel kann das System ein erstes Belohnungssystem entfernen und ein zweites Belohnungssystem eingeben, um das Training zu verändern.
-
Bestärkendes Lernen kann in großen Umgebungen in Situationen verwendet werden, zum Beispiel, wenn ein Modell der Umwelt bekannt ist, aber keine analytische Lösung verfügbar ist, oder wenn die einzige Möglichkeit, Informationen über die Umwelt zu sammeln, darin besteht, mit ihr zu interagieren.
-
Kurzdarstellung
-
In einer Ausführungsform umfasst ein Verfahren zum Trainieren eines Actor-Critic-Modells: Trainieren eines Actor-Critic-Modells auf einem ersten Datensatz, wobei das Actor-Critic-Modell ein erstes Belohnungssystem, ein Actor-Modell und ein Critic-Modell nutzt; Einfrieren der Gewichtungen sowohl des Actor-Modells als auch des Critic-Modells; während das Actor-Modell und das Critic-Modell eingefroren sind: (i) (i) Anhängen einer affinen Transformationsschicht (AT-Schicht) an eine abschließende Schicht des Critic-Modells und (ii) Trainieren der AT-Schicht mit einem zweiten Datensatz und einem zweiten Belohnungssystem, um eine Gewichtung der abschließenden Schicht des Critic-Modells zu modifizieren; Auftauen der Gewichtungen des Critic-Modells, um die Implementierung der modifizierten Gewichtung der abschließenden Schicht zu ermöglichen; Neutrainieren des Actor-Critic-Modells auf dem zweiten Datensatz und dem zweiten Belohnungssystem, während die Gewichtungen des Critic-Modells aufgetaut werden und die Gewichtungen des Actor-Modells eingefroren sind; Auftauen der Gewichtungen des Actor-Modells; und Neutrainieren des Actor-Critic-Modells auf dem zweiten Datensatz und dem zweiten Belohnungssystem, während die Gewichtungen sowohl des Critic-Modells als auch des Actor-Modells aufgetaut werden.
-
In einer Ausführungsform schließt ein System zum Trainieren eines Actor-Critic-Modells einen oder mehrere Prozessoren ein und einen Speicher, der Anweisungen speichert, die, wenn sie von dem einen oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen zum: Trainieren eines Actor-Critic-Modells auf einem ersten Datensatz, wobei das Actor-Critic-Modell ein erstes Belohnungssystem, ein Actor-Modell und ein Critic-Modell nutzt; Einfrieren der Gewichtungen sowohl des Actor-Modells als auch des Critic-Modells; während das Actor-Modell und das Critic-Modell eingefroren sind (i) Anhängen einer affinen Transformationsschicht (AT-Schicht) an eine abschließende Schicht des Critic-Modells und (ii) Trainieren der AT-Schicht mit einem zweiten Datensatz und einem zweiten Belohnungssystem, um Gewichtungen der abschließenden Schicht des Critic-Modells basierend zu modifizieren; Auftauen der Gewichtungen des Critic-Modells; Neutrainieren des Actor-Critic-Modells auf dem zweiten Datensatz und dem zweiten Belohnungssystem, während die Gewichtungen des Critic-Modells aufgetaut werden und die Gewichtungen des Actor-Modells eingefroren sind; Auftauen der Gewichtungen des Actor-Modells; und Neutrainieren des Actor-Critic-Modells auf dem zweiten Datensatz und dem zweiten Belohnungssystem, während die Gewichtungen sowohl des Critic-Modells als auch des Actor-Modells aufgetaut werden.
-
In einer Ausführungsform umfasst ein Verfahren zum Trainieren eines Actor-Critic-Modells: Bereitstellen eines Actor-Critic-Modells mit einem Actor-Modell und einem Critic-Modell; Trainieren eines Actor-Critic-Modells mit einem ersten Belohnungssystem; Einfrieren der Gewichtungen sowohl des Actor-Modells als auch des Critic-Modells; während das Actor-Modell und das Critic-Modell eingefroren sind: (i) Anhängen einer affinen Transformationsschicht (AT-Schicht) an das Critic-Modell und (ii) Trainieren der AT-Schicht mit einem zweiten Belohnungssystem; Auftauen der Gewichtungen des Critic-Modells; während die Gewichtungen des Critic-Modells aufgetaut werden und die Gewichtungen des Actor-Modells eingefroren sind, Neutrainieren des Actor-Critic-Modells mit dem zweiten Belohnungssystem; Auftauen der Gewichtungen des Actor-Modells; und während die Gewichtungen sowohl des Critic-Modells als auch des Actor-Modells aufgetaut werden, Neutrainieren des Actor-Critic-Modells mit dem zweiten Belohnungssystem.
-
Kurzbeschreibung der Zeichnungen
-
- 1 zeigt ein System zum Trainieren eines neuronalen Netzes gemäß einer Ausführungsform.
- 2 veranschaulicht ein beispielhaftes Komponentendiagramm eines Systems zum Optimieren des Ladens einer Fahrzeugbatterie gemäß einer Ausführungsform.
- 3 veranschaulicht ein Framework eines Actor-Critic-Modells, das für Offline-Training verwendet wird, gemäß einer Ausführungsform.
- 4 veranschaulicht ein Framework eines Actor-Critic-Modells, das während des Betriebs (z. B. keine Simulierung, auf dem Feld) verwendet wird, gemäß einer Ausführungsform.
- 5 zeigt ein Schema eines tiefen neuronalen Netzes mit Knoten in einer Eingabeschicht, mehrere ausgeblendete Schichten und eine Ausgabeschicht, gemäß einer Ausführungsform.
- 6A-6D zeigen progressive Flussdiagramme der Durchführung einer glatten Belohnungssystemübertragung innerhalb eines Actor-Critic-Modells, gemäß einer Ausführungsform.
- 7 veranschaulicht ein Verfahren zum Trainieren eines Actor-Critic-Modells gemäß einer Ausführungsform.
-
Ausführliche Beschreibung
-
Hierin werden Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale könnten übertrieben oder minimiert sein, um Einzelheiten bestimmter Komponenten zu zeigen. Die hier offenbarten spezifischen strukturellen und funktionalen Details sind daher nicht als beschränkend aufzufassen, sondern lediglich als eine repräsentative Basis, um Durchschnittsfachleute zu lehren, die Ausführungsformen verschiedenartig einzusetzen. Durchschnittsfachleute erkennen, dass verschiedene unter Bezugnahme auf eine beliebige der Figuren veranschaulichte und beschriebene Merkmale mit in einer oder mehreren anderen Figuren veranschaulichten Merkmalen kombiniert werden können, um Ausführungsformen zu produzieren, die nicht explizit veranschaulicht oder beschrieben werden. Die Kombinationen von veranschaulichten Merkmalen liefern repräsentative Ausführungsformen für typische Anwendungen. Verschiedene Kombinationen und Modifikationen der mit den Lehren dieser Offenbarung konsistenten Merkmale könnten jedoch für besondere Anwendungen oder Implementierungen erwünscht sein.
-
Bestärkendes Lernen ist ein Bereich des Maschinenlernens, das sich damit befasst, wie intelligente Agenten in einer Umgebung Aktionen ergreifen sollten, um den Gedanken der kumulativen Belohnung zu maximieren. Typischerweise wird bestärkendes Lernen als Markov-Entscheidungsprozess (MDP) modelliert. Beim tiefen bestärkenden Lernen interagiert ein Agent mit einer Umwelt, um eine Strategie zu entwickeln. Diese Strategie nimmt die Form eines neuronalen Netzes an, das einen Zustand als Eingabe nimmt und eine oder mehrere Aktionen ausgibt. Die typische Art, wie diese Netzwerke lernen, basiert auf einem Verlust, der durch ein Belohnungssystem diktiert wird, z. B. wenn diese Aktion in diesem Zustand tendenziell zu guten (schlechten) Konsequenzen führt und häufiger (seltener) durchgeführt werden sollte. Ein Actor-Critic-Modell ist eine Art von bestärkendem Lernen, bei dem ein Actor-Modell eine Aktion in einer Umwelt befiehlt oder bereitstellt und ein Critic-Modell einen Zustand der Umwelt bestimmt, der durch die Aktion beeinflusst wird. Das Critic-Modell bestimmt auch eine Belohnung basierend auf der Aktion, wobei ein gutes Ergebnis belohnt wird und ein schlechtes Ergebnis weniger belohnt, nicht belohnt oder bestraft wird. Dieser Prozess wird mit dem Ziel der Maximierung der Belohnung wiederholt.
-
Bei bestärkenden Actor-Critic-Lernmodellen wie ACER, PPO, TRPO, DDPG und TD3 wird der Agent in einen Actor und einen Critic zerlegt. Das Critic-Netzwerk markiert die erwarteten Belohnungen basierend auf dem aktuellen Zustand und der nächsten Aktion (z. B. Lernen des Q-Wertes). Das Actor-Netzwerk lernt dann eine Strategie vom Critic statt von den Ausgaben der direkten Belohnung.
-
Bei einem gegebenen Belohnungssystem können die Belohnungen frequent (Feedback von der Umwelt bei fast jedem Schritt, z. B. beim Balancieren einer Stange, wobei Abweichungen von der Vertikalen unverzüglich geringere Belohnungen erhalten) oder spärlich (die Umwelt gibt selten Feedback, z. B. eine Belohnung wird nur erhalten, nachdem ein entferntes Ziel erreicht wurde) verteilt sein. Im Allgemeinen lernt ein Agent schneller und aus weniger Trainingsepisoden, wenn er frequent Belohnungen erhält, als wenn er spärlich Belohnungen erhält.
-
Wenn die Datenerzeugung zeitlich oder finanziell aufwändig ist, ist es besonders vorteilhaft, eine gute Strategie mit einer geringeren Anzahl an Trainingsepisoden zu erzielen. Es kann sein, dass ein Agent aus einem suboptimalen, vielleicht benutzerdefinierten, frequent vergebenen Belohnungssystem lernen kann, um schnell eine „ziemlich gute“ Strategie zu erhalten. Wenn alternativ Erkundungen in Simulationen durchgeführt werden können, die in realen Daten nicht durchgeführt werden können, oder das häufige Belohnungssystem nicht mit langfristigen Belohnungen kompatibel ist, z. B. zufälliges Rauschen ggü. Ornstein-Uhlenbeck-Rauschen, kann der Datensatz selbst grundlegend unterschiedlich sein.
-
Das Belohnungssystem oder die Datensätze des Actor-Critic-Modells können somit während des Trainings übertragen werden. Zum Beispiel kann das System ein erstes Belohnungssystem entfernen und ein zweites Belohnungssystem eingeben, um das Training zu verändern. Die
US-Patentanmeldung Nr. 17/979047 mit dem Titel „REINFORCEMENT LEARNING FOR CONTINUED LEARNING OF OPTIMAL BATTERY CHARGING“, Aktenzeichen 097182-00205, hiermit eingereicht und in ihrer Gesamtheit durch Bezugnahme aufgenommen, offenbart ein Actor-Critic-Modell, das von einer ersten Phase, in der Belohnungen gegeben werden (z. B. in einem kleinen Zeitrahmen, zum Beispiel viele Belohnungen, die während eines einzelnen Batterieladezyklus gegeben werden) zu einer zweiten Phase, in der zweite Belohnungen gegeben werden (z. B. in einem größeren Maßstab, zum Beispiel Belohnungen, die basierend auf Ladezyklus-Zyklus-Analyse gegeben werden) übergeht. In Situationen wie diesen, in denen sich Belohnungssysteme für das Actor-Critic-Modell ändern, kann der Gesamt-Q-Wert (z. B. eine Bestimmung, ob die Aktion zu einem guten oder einem schlechten Ergebnis geführt hat) sehr unterschiedlich sein. Dies liegt an der Änderung der Art und Weise, wie die Belohnungen im Modell vergeben werden. Das Ändern von Belohnungen kann zu Turbulenzen im Actor-Critic-Modell führen.
-
Daher werden gemäß verschiedenen Ausführungsformen hierin Verfahren und Systeme offenbart, die es einem mit einem Belohnungssystem trainierten Actor-Critic-Lernmodell ermöglichen, glatter auf ein anderes Belohnungssystem übertragen zu werden, wenn die erwarteten Strategien der zwei Systeme ähnlich sind. An das Ende des Critic wird eine minimalinvasive affine Transformationsschicht angehängt, um die Bewertung vor dem Neutraining der Modelle zu verschieben. Dies stellt ein neues Verfahren zum Trainieren eines solchen Maschinenlernsystems bereit. Nachdem das Maschinenlernsystem auf diese Weise trainiert wurde, kann es anschließend weiterverwendet werden.
-
Die hierin offenbarten Lehren können auf Änderungen in den Zeitdaten angewendet werden, nicht nur auf Änderungen in dem Belohnungssystem. Wenn das System zum Beispiel auf einem ersten Datensatz trainiert wird und dann mit dem Training auf einem zweiten Datensatz beginnt, der ähnliche (aber nicht identische) Datenpunkte aufweist, kann dies dazu führen, dass sich die Gesamt-Q-Werte im Training stark voneinander unterscheiden. Ein geglätteter Übergang von einem Belohnungssystem zum anderen kann dazu beitragen, eine Änderung der Q-Werte zu dämpfen, wenn der zweite Datensatz für den Beginn des Trainings verwendet wird.
-
Die hierin offenbarten Lehren können angewendet werden, um einen Übergang von Belohnungssystemen, einen Übergang von Datensätzen oder beides zu glätten. In allen drei Szenarien kann eine affine Transformationsschicht an das Ende des Critic angehängt werden, um die Bewertung vor dem Neutraining mit dem neuen Datensatz und/oder Belohnungssystem zu verschieben. Zusätzliche Details dieser Konzepte sind nachstehend offenbart.
-
Zunächst wird jedoch ein Kontext von maschinellem Lernen und neuronalen Netzen offenbart, in dem Ausführungsformen dieser Erfindung angewendet werden können. Unter Bezugnahme auf die Figuren zeigt 1 ein System 100 zum Trainieren eines neuronalen Netzes, z. B. eines tiefen neuronalen Netzes. Das System 100 kann eine Eingabeschnittstelle für den Zugriff auf Trainingsdaten 102 für das neuronale Netz umfassen. Zum Beispiel kann, wie in 1 dargestellt, die Eingabeschnittstelle aus einer Datenspeicherungsschnittstelle 104 bestehen, die auf die Trainingsdaten 102 aus einer Datenspeicherung 106 zugreifen kann. Zum Beispiel kann die Datenspeicherungsschnittstelle 104 eine Speicherschnittstelle oder eine persistente Speicherungsschnittstelle sein, z. B. eine Festplatte oder eine SSD-Schnittstelle, aber auch eine persönliche, lokale oder WAN-Schnittstelle wie eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder Glasfaser-Schnittstelle. Die Datenspeicherung 106 kann eine interne Datenspeicherung des Systems 100 sein, wie etwa eine Festplatte oder SSD, aber auch eine externe Datenspeicherung, z. B. eine über ein Netzwerk zugängliche Datenspeicherung.
-
In einigen Ausführungsformen kann die Datenspeicherung 106 ferner eine Datenrepräsentation 108 einer untrainierten Version des neuronalen Netzes umfassen, auf die das System 100 aus der Datenspeicherung 106 zugreifen kann. Es versteht sich jedoch, dass die Trainingsdaten 102 und die Datenrepräsentation 108 des untrainierten neuronalen Netzes auch jeweils aus einer anderen Datenspeicherung abgerufen werden können, z. B. über ein anderes Subsystem der Datenspeicherungsschnittstelle 104. Die Art jedes Subsystems kann wie die oben für die Datenspeicherungsschnittstelle 104 beschrieben sein. In anderen Ausführungsformen kann die Datenrepräsentation 108 des untrainierten neuronalen Netzes intern durch das System 100 auf der Grundlage von Entwurfsparametern für das neuronale Netz erzeugt werden und wird daher möglicherweise nicht explizit in der Datenspeicherung 106 gespeichert. Das System 100 kann ferner ein Prozessorsubsystem 110 umfassen, das dazu ausgelegt sein kann, während des Betriebs des Systems 100 eine iterative Funktion als Ersatz für einen Schichtstapel des zu trainierenden neuronalen Netzes bereitzustellen. Hier können die jeweiligen Schichten des Schichtstapels, der ersetzt wird, wechselseitig geteilte Gewichte aufweisen und als Eingabe eine Ausgabe einer vorherigen Schicht oder für eine erste Schicht des Schichtstapels eine Erstaktivierung und einen Teil der Eingabe des Schichtstapels empfangen. Das Prozessorsubsystem 110 kann ferner dazu ausgelegt sein, das neuronale Netz unter Verwendung der Trainingsdaten 102 iterativ zu trainieren. Hier kann eine Iteration des Trainings durch das Prozessorsubsystem 110 einen Vorwärtspropagierungsteil und einen Rückwärtspropagierungsteil umfassen. Die Rückwärtspropagierung und/oder Vorwärtspropagierung können fortgesetzt werden, bis die Modelle ein vorgegebenes Leistungsniveau (z. B. 100 % Übereinstimmung mit den den Trainingsdaten zugeordneten Ergebnissen) oder Konvergenz erreichen. Es versteht sich, dass „Konvergenz“ in dieser Offenbarung bedeuten kann, dass eine festgelegte (z. B. vorbestimmte) Anzahl von Iterationen stattgefunden hat, oder dass der Rest ausreichend klein ist (z. B. ändert sich die Änderung der ungefähren Wahrscheinlichkeit über Iterationen um weniger als ein Schwellenwert) oder andere Konvergenzbedingungen. Das System 100 kann ferner eine Ausgabeschnittstelle zum Ausgeben einer Datenrepräsentation 112 des trainierten neuronalen Netzes umfassen, diese Daten können auch als trainierte Modelldaten oder trainierte Modellparameter 112 bezeichnet werden. Zum Beispiel, wie auch in 1 dargestellt, kann die Ausgabeschnittstelle durch die Datenspeicherungsschnittstelle 104 gebildet werden, wobei die Schnittstelle in diesen Ausführungsformen eine Eingabe/Ausgabe-Schnittstelle („E/A“) ist, über die die trainierten Modelldaten 112 in der Datenspeicherung 106 gespeichert werden können. Zum Beispiel kann die Datenrepräsentation 108, die das „untrainierte“ neuronale Netz definiert, während oder nach dem Training zumindest teilweise durch die Datenrepräsentation 112 des trainierten neuronalen Netzes ersetzt werden, indem die Parameter des neuronalen Netzes, wie etwa Gewichte, Hyper-Parameter und andere Arten von Parametern neuronaler Netze angepasst werden können, um das Training an den Trainingsdaten 102 widerzuspiegeln. Dies ist auch in 1 durch die Bezugsziffern 108, 112 dargestellt, die sich auf denselben Datensatz in der Datenspeicherung 106 beziehen. In anderen Ausführungsformen können die Datenparameter 112 getrennt von der Datenrepräsentation 108, die das „untrainierte“ neuronale Netz definiert, gespeichert werden. In einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherungsschnittstelle 104 getrennt sein, kann aber im Allgemeinen von einer Art sein, wie oben für die Datenspeicherungsschnittstelle 104 beschrieben.
-
Die Struktur des Systems 100 ist ein Beispiel eines Systems, das zum Trainieren der hierin beschriebenen Modelle benutzt werden kann. Zusätzliche Struktur zum Betreiben und Trainieren der Maschinenlernmodelle ist in 2 gezeigt.
-
2 ist ein beispielhaftes Komponentendiagramm eines Systems 200 zum Optimieren eines Ladens einer Fahrzeugbatterie. Obwohl die Lehren hierin nicht auf maschinelle Lernsysteme zum Batterieladen beschränkt sind, zeigt
2 lediglich ein Beispiel für die Verwendung solcher maschineller Lernsysteme. Die Systeme können auch in anderen Kontexten verwendet werden, wie denen, die in der
US-Patentanmeldung Nr. 17/979047 mit dem Titel „REINFORCEMENT LEARNING FOR CONTINUED LEARNING OF OPTIMAL BATTERY CHARGING“, Aktenzeichen 097182-00205, offenbart sind, die hiermit eingereicht und durch Bezugnahme in ihrer Gesamtheit aufgenommen wird. Das System 200 kann sich sowohl auf Simulationsdaten als auch auf Felddaten (z. B. tatsächlich im Einsatz befindliche Serienfahrzeuge) stützen und kann daher als Hybridsystem bezeichnet werden, das Hybridmodelle einbezieht. In einer anderen Ausführungsform, wie einer nicht-hybriden Ausführungsform, kann sich das System 200 auf Simulationsdaten stützen, ohne dass Felddaten erforderlich sind. Im Allgemeinen kann das System 200 einen Prozessor 202, einen Speicher 204, einen Bus 206 und einen Simulator 208 beinhalten. Der Simulator 208 kann über den Prozessor 202 und den Speicher 204 implementiert sein. In einer Ausführungsform kann der Simulator 208 eine Simulation simulieren oder durchführen, die einem oder mehreren Agenten 222 zugeordnet ist und eine oder mehrere Aktionen 224 in einer Simulationsumgebung 226 ergreifen, in der ein oder mehrere Critics 228 eine oder mehrere der ergriffenen Aktionen 224 auslegen oder bewerten durch einen oder mehrere der Agenten 222, um eine oder mehrere Belohnungen 232 und einen oder mehrere Zustände 234 zu bestimmen, die sich aus den ergriffenen Aktionen ergeben. In einer Ausführungsform nimmt der Agent 222 als Eingabe den Umweltausgabezustand 234 und die Belohnung 232 und wählt dann eine auszuführende Aktion 224 aus; die Aktion ist eine Unterteilung des Agenten - sie ähneln sich darin, dass beide einen Zustand als Eingabe und Ausgabe einer Aktion nehmen, aber sie unterscheiden sich darin, dass der Actor die Belohnung nicht sieht (auch nicht als Verlust), sondern nur die Critic-Ausgaben als Verlust sieht.
7 und
8 der oben angegebenen Patentanmeldung zeigen Flussdiagramme dieser Ausführungsform, in denen das Actor-Critic-Modell in einer agierenden Phase (
7) und in einer Lernphase (
8) ist. Zusätzlicher Kontext dieser Figuren wird anderswo hierin bereitgestellt.
-
Der Prozessor 202 ist programmiert, um Signale zu verarbeiten und allgemeine rechnerische und arithmetische Funktionen durchzuführen. Vom Prozessor verarbeitete Signale können digitale Signale, Datensignale, Computeranweisungen, Prozessoranweisungen, Nachrichten, ein Bit, einen Bitstrom oder andere Mittel beinhalten, die empfangen, übertragen und/oder erfasst werden können. Im Allgemeinen kann es sich bei dem Prozessor um eine Vielfalt verschiedener Prozessoren handeln, einschließlich mehrerer Einzel- und Mehrkernprozessoren und Co-Prozessoren sowie andere Architekturen mit mehreren Einzel- und Mehrkernprozessoren und Co-Prozessoren. Der Prozessor kann verschiedene Module beinhalten, um die verschiedenen Funktionen auszuführen.
-
Der Prozessor 202 kann eine oder mehrere Vorrichtungen beinhalten, ausgewählt aus Hochleistungsrechen(HPC)-Systemen einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, Zentralverarbeitungseinheiten, feldprogrammierbaren Gate-Arrays, programmierbaren Logikvorrichtungen, Zustandsmaschinen, Logikschaltungen, analogen Schaltungen, digitalen Schaltungen, Grafikverarbeitungseinheiten (GPUs), Tensor-Verarbeitungseinheiten (TPUs), Visionsverarbeitungseinheiten (VPUs) oder beliebigen anderen Vorrichtungen, die (analoge oder digitale) Signale basierend auf sich in dem Speicher 204 befindenden computerausführbaren Anweisungen manipulieren. Bei einigen Beispielen kann der Prozessor 202 ein System auf einem Chip sein, das die Funktionalität einer zentralen Verarbeitungseinheit, des Speichers 204, einer Netzwerkschnittstelle und von Eingabe/Ausgabe-Schnittstellen in einer einzigen integrierten Vorrichtung integriert.
-
Bei Ausführung durch den Prozessor 202 können die computerausführbaren Anweisungen, die sich in dem Speicher 204 befinden, bewirken, dass ein zugeordnetes Steuersystem einen oder mehrere Maschinenlernalgorithmen und/oder -methoden wie hierin offenbart implementiert. Der Speicher 204 kann auch Maschinenlerndaten (darunter Datenparameter) beinhalten, die Funktionen, Merkmale und Prozesse der einen oder mehreren hier beschriebenen Ausführungsformen unterstützen.
-
Der Programmcode, der die hier beschriebenen Algorithmen und/oder Methodologien umsetzt, ist dazu in der Lage, einzeln oder kollektiv in einer Vielfalt von unterschiedlichen Formen als ein Programmprodukt verteilt zu werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speicherungsmediums (z. B. Speicher 204) mit computerlesbaren Programmanweisungen darauf zum Veranlassen, dass ein Prozessor 202 Aspekte einer oder mehrerer Ausführungsformen ausführt, verteilt werden. Computerlesbare Speicherungsmedien, die inhärent nichttransitorisch sind, können flüchtige und nichtflüchtige und entfernbare und nichtentfernbare greifbare Medien beinhalten, die mit einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, implementiert werden. Computerlesbare Speicherungsmedien können ferner RAM, ROM, löschbaren programmierbaren Nurlesespeicher (EPROM), elektrisch löschbaren programmierbaren Nurlesespeicher (EEPROM), Flash-Speicher oder eine andere Festkörperspeichertechnologie, tragbaren Compact-Disc-Read-Only-Speicher (CD-ROM) oder eine andere optische Speicherung, Magnetkassetten, Magnetband, Magnetplattenspeicherung oder andere Magnetspeicherungsvorrichtungen oder ein beliebiges anderes Medium beinhalten, das verwendet werden kann, um die gewünschten Informationen zu speichern, und das von einem Computer gelesen werden kann. Computerlesbare Programmanweisungen können von einem computerlesbaren Speicherungsmedium auf einen Computer, eine andere Art einer programmierbaren Datenverarbeitungseinrichtung oder eine andere Vorrichtung oder über ein Netzwerk auf einen externen Computer oder eine externe Speicherungsvorrichtung heruntergeladen werden.
-
Die Prozesse, Verfahren oder Algorithmen können vollständig oder teilweise unter Verwendung geeigneter Hardware-Komponenten, wie etwa anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsmaschinen, GPUs, Steuerungen oder anderer Hardware-Komponenten oder -Vorrichtungen oder einer Kombination von Hardware-, Software- und Firmware-Komponenten umgesetzt werden.
-
Der Bus 206 kann sich auf eine Interconnect-Architektur beziehen, die mit anderen Computerkomponenten in einem Computer oder zwischen Computern wirkverbunden ist. Der Bus kann Daten zwischen den Computerkomponenten übertragen. Der Bus kann ein Speicherbus, eine Speichersteuerung, ein Peripheriebus, ein externer Bus, ein Crossbar-Schalter und/oder ein lokaler Bus sein, unter anderem. In Ausführungsformen, in denen die Batterie eine Fahrzeugbatterie ist, kann der Bus ein Fahrzeugbus sein, der Komponenten innerhalb eines Fahrzeugs unter Verwendung von Protokollen wie Media Oriented Systems Transport (MOST), Controller Area Network (CAN), Local Interconnect Network (LIN) miteinander verbindet, unter anderem.
-
Der Simulator 208 oder der Prozessor 202 können ein Strategienetzwerk 240 generieren. Insbesondere kann das hierin offenbarte bestärkende Lernen, wie die Actor-Critic-Modelle, einen Deep Deterministic Policy Gradient (DDPG), spezifischer einen Twin Delayed Deep Deterministic Policy Gradient (TD3), beinhalten, um eine Ladestrategie zu konstruieren, um das Laden der Batterie zu optimieren. Dies kann ein Belohnungssystem-Design zum Minimieren der Ladezeit und der Verschlechterung der Batterie beinhalten. Das Belohnungssystem ist die Kombination aus Belohnungen, die von der Umwelt gegeben werden, und jegliche Nachbearbeitung durch den Agenten, wie etwa dem Abzugsfaktor, der sich auf die quantitative Zuweisung der Verlustfunktion auswirkt. TD3-Verfahren ermöglichen insbesondere ein Lernen außerhalb der Strategie und Offline, wodurch der offenbarte hybride Ansatz möglich wird. Das Strategienetzwerk 240 kann in dem Speicher 204 des Systems 100 für das bestärkende Lernen gespeichert werden.
-
Das System 200 kann ferner eine Kommunikationsschnittstelle 250 beinhalten, die die Übertragung des Strategienetzwerks 240 an andere Vorrichtungen ermöglicht, wie einen Server 260, der eine Datenbank des bestärkenden Lernens 262 beinhalten kann. Auf diese Weise kann das durch das System 200 für bestärkendes Lernen generierte Strategienetzwerk 240 auf einer Datenbank des Servers 160 gespeichert werden. Die Kommunikationsschnittstelle 250 kann eine Netzwerkschnittstellenvorrichtung sein, die zum Bereitstellen einer Kommunikation mit externen Systemen und Vorrichtungen bereitstellt (z. B. Server 260). Zum Beispiel kann die Kommunikationsschnittstelle 250 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle gemäß der Institute-of-Electrical-and-Electronics-Engineers (IEEE)802.11-Standardfamilie beinhalten. Die Kommunikationsschnittstelle 250 kann eine Mobilfunkkommunikationsschnittstelle zum Kommunizieren mit einem Mobilfunknetz (z. B. 3G, 4G, 5G) beinhalten. Die Kommunikationsschnittstelle 250 kann ferner konfiguriert sein, um eine Kommunikationsschnittstelle zu einem externen Netzwerk (z. B. World Wide Web oder Internet) oder einer Cloud, einschließlich Server 260, bereitzustellen.
-
Der Server 260 kann das Strategienetzwerk 240 an eines oder mehrere Fahrzeuge 270 verbreiten. Obwohl nur ein Fahrzeug 270 gezeigt ist, versteht es sich, dass mehr als ein Fahrzeug 270 im System bereitgestellt werden kann. Jedes der Fahrzeuge kann entweder ein Simulationsfahrzeug (z. B. in Laborsimulationen verwendet) oder ein Feldfahrzeug (z. B. Fahrzeuge, die von Verbrauchern bei tatsächlichen Fahr- und/oder Ladevorgängen verwendet werden) sein. In hybriden Umgebungen beinhaltet das System sowohl Simulationsfahrzeug(e) als auch Feldfahrzeug(e). In nicht hybriden Umgebungen kann das Fahrzeug 270 ein Simulationsfahrzeug ohne ein Feldfahrzeug beinhalten. Das Fahrzeug 270 kann jedes sich bewegende Fahrzeug sein, das einen oder mehrere menschliche Insassen befördern kann, wie ein Auto, ein LKW, ein Lieferwagen, ein Minivan, ein SUV, ein Motorrad, ein Motorroller, ein Boot, ein persönliches Wasserfahrzeug und ein Flugzeug. In einigen Szenarien beinhaltet das Fahrzeug einen oder mehrere Motoren. Das Fahrzeug 270 kann mit einer Fahrzeugkommunikationsschnittstelle 272 ausgestattet sein, die für die Kommunikation mit dem Server 260 auf ähnliche Weise wie die Kommunikationsschnittstelle 260 konfiguriert ist. Das Fahrzeug 270 kann auch eine Batterie 274 beinhalten, die konfiguriert ist, um mindestens teilweise das Fahrzeug anzutreiben. Daher kann sich der Begriff „Fahrzeug“ auf ein Elektrofahrzeug (EV) beziehen, das vollständig oder teilweise durch einen oder mehrere Elektromotoren angetrieben wird, der/die von der elektrischen Batterie 274 angetrieben wird/werden. Das EV kann Batterie-Elektrofahrzeuge (BEV) und Plug-In-Hybridelektrofahrzeuge (PHEV) beinhalten, wobei die Batterie 274 das Fahrzeug 270 antreibt. Zusätzlich kann sich der Begriff „Fahrzeug“ auf ein autonomes Fahrzeug und/oder selbstfahrendes Fahrzeug beziehen, das mit irgendeiner Energieform angetrieben wird. Das autonome Fahrzeug kann einen oder mehrere menschliche Insassen mit sich führen oder nicht.
-
Das Fahrzeug 270 beinhaltet auch ein Batterieverwaltungssystem 276, das konfiguriert ist, um die Batterie 274 zu verwalten, zu betreiben und zu steuern. Insbesondere kann das vom System 200 ausgegebene und über den Server 260 an das Fahrzeug 270 gesendete Strategienetzwerk 240 dem Batterieverwaltungssystem 276 befehlen, die Batterie 274 so zu steuern, dass sie auf eine bestimmte Art und Weise lädt oder entlädt. Daher kann sich das Batterieverwaltungssystem 276 auf zugehörige Prozessoren und Speicher (wie die oben beschriebenen) beziehen, die zum Laden der Batterie 274 gemäß gespeicherten oder modifizierten Anweisungen konfiguriert sind. Das Batterieverwaltungssystem 276 kann auch verschiedene Batteriezustandssensoren beinhalten, die konfiguriert sind, um die Eigenschaften der Batterie 274 zu bestimmen, wie Spannung, Temperatur, Strom, Amplitude, Widerstand und dergleichen. Diese bestimmten Signale können bei Verarbeitung einen Gesundheitszustand der Batterie 274 bestimmen.
-
3 ist ein Blockdiagramm auf hoher Ebene eines bestärkenden Actor-Critic-Lernmodells 300 gemäß einer Ausführungsform. Allgemein kann das Actor-Critic-Modell 300 zum Offline-Training des bestärkenden Modells verwendet werden. Die Umwelt kann sich auf die Batterie in Simulation oder ein simuliertes Fahrzeug beziehen. Der Begriff „Agent“ kann Actor und Critic gemeinsam beinhalten, zusammen mit dem Puffer für erneute Wiedergabe und Merkmalsextraktor. Hier kann Actor die Aktion in der Umwelt (z. B. die Batterie) übernehmen. Die Aktion kann sich auf die oben beschriebene Strategie beziehen, z. B. einen Befehl, der an das Batterieverwaltungssystem im Hinblick auf einen befohlenen Batterieladestrom gesendet wird. Dies kann durch Critic als die Belohnung oder Bestrafung und eine Zustandsrepräsentation ausgelegt werden, die dann an den Agent zurückgegeben werden kann. Der Agent kann mit der Umwelt durch Ergreifen einer Aktion in einem diskreten Zeitschritt interagieren. Bei jedem Zeitschritt kann der Agent eine Beobachtung empfangen, die die Belohnung beinhalten kann. Der Agent kann eine Aktion aus einem Satz von verfügbaren Aktionen auswählen, der zu einem neuen Zustand und eine neue Belohnung für einen nachfolgenden Zeitschritt führt. Das Ziel des Agenten ist es im Allgemeinen, die größte Menge an möglichen Belohnungen zu sammeln.
-
Q-Lernen ist eine Form des bestärkenden Lernens, das Q-Werte (auch Aktionswerte genannt) verwendet, um iterativ das Verhalten des lernenden Agenten zu verbessern. „Q“ bezieht sich auf die Abhängigkeit, die der Algorithmus berechnet - die erwarteten Belohnungen für eine in einem gegebenen Zustand ergriffene Aktion. Q-Werte können für Zustände und Aktionen der Umwelt definiert werden und repräsentieren eine Schätzung, wie gut es ist, die Aktion in dem Zustand zu ergreifen.
-
Das Diagramm von 3 zeigt den allgemeinen Fluss von Zustandsbeobachtungen und Belohnungssignalen zwischen dem Algorithmus und der Umgebung (z. B. der Batterie), die Critic-Aktualisierung und dessen Wertschätzung, die von der Strategie in ihren Aktualisierungen des Strategiegradienten verwendet wird. Diskrete Steueraktionsausgaben werden durch den Actor berechnet, wenn die Zustandsbeobachtung gegeben ist. Das Critic berechnet einen Q-Wert-Verlust basierend auf dem Zustand und der Aktion.
-
Ein Aktion-Critic-Algorithmus stützt sich auf das Verwenden von zwei neuronalen Netzen, um unterschiedliche Aufgaben zu erreichen: Actor A, der den Zustand s als Eingabe nimmt und die Aktion a ausgibt; A(s) = a, und Critic C, der den Zustand und die Aktion als Eingabe verwendet und den erwarteten Q-Wert ausgibt, C(s, a) = Q. Das Critic-Modell lernt aus den Daten, um den Q-Wert (erwartete Belohnung) des Zustands bei einer bestimmten nächsten Aktion C(s, a) = Q zu schätzen, und belohnt das Gute und gibt diese Informationen an den Actor weiter. Das Actor-Modell lernt eine Strategie, die den erwarteten Q-Wert von Critic maximiert, was in der höchsten Belohnung resultiert. Der Wert und das Ausmaß von Q werden durch das etwas willkürlich definierte Belohnungssystem bestimmt. Bei einem festen Zustand s entspricht der höchste Wert von C(s, a) im Allgemeinen der besten Aktion, die aus dem Zustand ergriffen werden kann.
-
Bei Hybridanwendungen - unter Verwendung von Simulationsdaten sowie Felddaten aus der realen Nutzung von Fahrzeugbatterien - kann die Actor-Critic-Einrichtung etwas anders sein. 4 veranschaulicht ein Blockdiagramm auf hoher Ebene eines bestärkenden Actor-Critic-Lernmodells 400 das Felddaten integriert. Während der Inferenz, z. B. beim Betrieb des Fahrzeugs, verarbeitet und lernt nur das Actor-Netzwerk (z. B. Strategie). Die Meinungen des Critic werden zu diesem Zeitpunkt ignoriert und die Actor-Strategie ist statisch. Das Batterieverwaltungssystem (simuliert oder real) teilt dem Actor Informationen über den Zustand mit (einschließlich der extrahierten Merkmale des Langzeit-Kurzzeitgedächtnisses (LSTM), die sich den ausgeblendeten Zustände annähern), und der Actor stellt die nächste Aktion bereit (Ladestrom). Mit anderen Worten, die Betriebsschleife ist nur Actor- → - Batterie. Hier wird eine Schleife von (Aktion → Batterie → Zustand → Merkmalsextraktor → Merkmale → Actor → Aktion) mit der Sprungverbindung von (Batterie → Zustand → Actor) gezeigt. Critic, Belohnung und Q-Wert werden während der Inferenz gar nicht verwendet, nur während des Trainings. Im Prinzip ist das Actor-Netzwerk klein genug, um während des Gebrauchs innerhalb eines Fahrzeugs offline von dem in 2 gezeigten Kommunikationssystem verwendet werden zu können, zum Beispiel.
-
Jedes der hierin offenbarten Modelle kann durch ein neuronales Netz oder ein tiefes neuronales Netz (DNN) implementiert werden, wovon ein Beispiel schematisch in 5 dargestellt ist. Das neuronale Netzwerk kann durch einen oder mehrere hierin offenbarte Prozessoren und Speicher implementiert werden. Das veranschaulichte Netzwerk-Layout kann für das Actor-Modell, das Critic-Modell oder andere Modelle verwendet werden, die zum Optimieren eines hierin offenbarten Ladens der Fahrzeugbatterie konfiguriert sind. Die Modelle können eine Eingabeschicht (mit einer Vielzahl von Eingabeknoten), eine Vielzahl von ausgeblendeten Schichten und eine Ausgabeschicht (mit einer Vielzahl von Ausgabeknoten) beinhalten. Die Knoten der Eingabeschicht, Ausgabeschicht, der ausgeblendeten Schicht(en) können mit Knoten nachfolgender oder vorheriger Schichten gekoppelt sein. In einer Tieflernform können mehrere ausgeblendete Schichten verwendet werden, um immer komplexere Analysen durchzuführen; ein solches Tiefenlernen ist eine Teilmenge neuronaler Netze, bei denen die Anzahl der ausgeblendeten Schichten größer als eins ist. Beim Tiefenlernen können diese gestapelten ausgeblendeten Schichten dem System beim Lernen helfen, indem sie hierarchische Darstellungen bestimmter Aktivitäten erstellen, wobei anschließend erstellte Schichten eine Abstraktion zuvor erstellter Schichten bilden, um ein Verständnis für komplexe Zusammenhänge zwischen den erfassten Daten und einer gewünschten Ausgabe zu formulieren, wie ein bestimmter Gesundheitszustand der Batterie (z. B. Geschwindigkeit bis zur vollständigen Ladung, andere hierin beschriebene Qualitäten). Und jeder der Knotender Ausgabeschicht kann eine Aktivierungsfunktion ausführen - z. B. eine Funktion, die dazu beiträgt, ob die jeweiligen Knoten aktiviert werden sollten, um eine Ausgabe des Modells bereitzustellen. Die Mengen der in den Eingabe-, ausgeblendeten und Ausgabeschichten gezeigten Knoten sind lediglich beispielhaft und es können beliebige geeignete Mengen verwendet werden.
-
Bestärkendes Lernen beim Offline-Lernen (z. B. DDPG, TD3) nutzt eine Actor-Critic-Einrichtung, bei der das Belohnungssystem selbst auf der Gesundheitszustandsvariablen für Kapazität (SOHC) und der Gesundheitszustandsvariablen für Widerstand (SOHR) und der Ladezeit (z. B. Zeit bis zur vollständigen Aufladung) basiert. Insbesondere in einem TD3-Modell kann ein Puffer der erneuten Wiedergabe genutzt werden, der aus Zuständen, Aktionen, Belohnungen, nächsten Zuständen besteht, in dem das Modell einen Puffer der erneuten Wiedergabe speichert, anstatt aus der aktuellen Iteration zu lernen. Dann kann in einem hybriden Ansätzen die Ausgabe-SOHC und -SOHR erneut gewichtet werden durch Feldmessungen (z. B. Batteriemessungen eines Feldfahrzeuges), um den Algorithmus auszufeilen.
-
Die Belohnungssysteme können in diesem gesamten Prozess verändert werden. Zum Beispiel kann, wie in der hiermit eingereichten
US-Patentanmeldung Nr. 17/979047 mit dem Titel „REINFORCEMENT LEARNING FOR CONTINUED LEARNING OF OPTIMAL BATTERY CHARGING“ beschrieben, während des Trainings der Modelle in der Simulationsphase das Simulationsmodell zunächst auf sofortiges Feedback trainiert werden (z. B. Anodenüberspannung), die mehrmals während eines einzelnen Batterieladezyklus gemessen wird. Dann kann das Actor-Critic-Modell basierend auf einem anderen Belohnungssystems trainiert werden, bei dem Belohnungen auf einer Ladezyklus-Zyklus-Basis vergeben werden (z. B. indem jeder Ladezyklus mit einem anderen Ladezyklus verglichen wird, anstatt auf das sofortige Feedback innerhalb eines einzigen Ladezyklus zu achten). Auch der für das Training verwendete Datensatz kann unterschiedlich sein, wie das Übertragen von einem System, das die momentane Anodenüberspannung untersucht, auf eine Makroanalyse (z. B. Ladung für Ladung) der Spannungseffizienz. Die Wechsel entweder im Belohnungssystem oder im Datensatz können zu großen Änderungen der Q-Werte führen. Diese Offenbarung stellt Verfahren und Systeme zur Glättung dieser Wechsel bereit, um die Flüchtigkeit der Q-Werte bei der Durchführung eines solchen Wechsels zu reduzieren.
-
Allgemeiner ausgedrückt ist ein Problem, das diese Offenbarung zu lösen versucht, eine Situation, in der zwei unterschiedliche Belohnungssysteme auf die gleichen (oder ähnliche) besten Strategien verweisen, aber unterschiedliche Q-Werte aufweisen. Als einfaches Beispiel sei ein 3D-Gitter mit einer Figur, die sich bewegen kann, und einem Ziel, das nach 1000 Zügen terminiert, in Betracht zu ziehen. Nach Erreichen des Ziels vergibt das Belohnungssystem A 100 Punkte für das Erreichen des Ziels und -0,1 Punkte für jede Bewegung, die unternommen wird, um das Ziel zu erreichen. Belohnungssystem B gibt eine Belohnung für den aktuellen Abstand zum Ziel abzüglich des vorherigen Abstands zum Ziel. Diese beiden Belohnungssysteme führen zu identischen Strategien, weisen jedoch sehr unterschiedliche Q-Werte und erforderliche Trainingsepisoden auf, um zu den guten Strategien zu gelangen. (Tatsächlich ist in diesem Fall nicht garantiert, dass ein Random Walk mit Belohnungssystem A in einer endlichen Anzahl von Episoden konvergiert.) Zusätzlich würde Belohnungssystem A einen Abzugsfaktor, Gamma, benötigen, der nahe 1 ist, während B mit einem sehr viel kleineren Abzugsfaktor auskäme.
-
Die hierin offenbarte affine Übertragung ermöglicht diese Neuskalierung der Q-Werte. Obwohl die relative Reihenfolge der Aktionen beibehalten und die Gesamtskala angepasst wird, werden die spezifischen Zahlen nicht unbedingt aufgezeichnet und können bei einem nachfolgenden erneuten Training des Critic angepasst werden.
-
In einer Ausführungsform ist die affine Schicht eine dichte N-Knoten-Schicht mit einem Bias-Term, wobei N die Anzahl der Ausgaben der abschließenden Schicht des neuronalen Zielnetzes ist (im Fall von Critic, N = 1, der Q-Wert). Das gesamte Zielnetz ist eingefroren, und die affine Schicht wird zur Identität mit 0 Bias initialisiert. Mit diesen wenigen Graden an Spielraum wird dann die affine Schicht sehr schnell trainiert. Die Gewichtungen können dann auf die abschließende Schicht des Zielnetzes verteilt werden. Für die affine Gewichtungsmatrix V und Bias P sowie die Endschichtgewichtungen W und Bias B kann die Gewichtung des Zielnetzwerks kann als W → W.V und Bias B → B.V + P neu zugewiesen werden, wobei V eine NxN-Matrix ist und B und P 1 xN-Vektoren sind und Weine MxN-Matrix ist, wobei M die Dimension der Anzahl dichter Knoten in der letzten ausgeblendeten Schicht des Zielnetzes ist.
-
6A-6D veranschaulichen ein Verfahren zum Anhängen einer affinen Schicht an das (eingefrorene) Critic-Modell, um den Übergang zu einem neuen Belohnungssystem und/oder Trainingsdatensatz gemäß einer Ausführungsform zu glätten. 6A zeigt das Modell des bestärkenden Lernens (z. B. Actor-Critic-Modell), das mit einem ersten Datensatz (Datensatz A) und mit einem ersten Belohnungssystem (Belohnung A) trainiert ist. Der Agent (Actor- und Critic-Modell) interagiert mit einer Umwelt, um eine Strategie zu entwickeln, wie oben erörtert. Diese Strategie nimmt die Form eines neuronalen Netzes an, das einen Zustand als Eingabe nimmt und eine oder mehrere Aktionen ausgibt. Das Actor-Critic-Modell lernt basierend auf einem Verlust (Q-Wert A), der durch das erste Belohnungssystem vorgegeben wird.
-
6B zeigt den Beginn eines Übergangs zu einem neuen Belohnungssystem und/oder neuen Datensatz, der in das Actor-Critic-Modell implementiert werden soll. Hier sind die Gewichtungen sowohl des Actor-Modells als auch des Critic-Modells eingefroren. Eine affine Transformationsschicht ist an das Critic-Modell angehängt. Speziell ist die affine Transformationsschicht eine lineare Transformation, die en eine abschließende Schicht des Critic-Modells angehängt ist zum Neuskalieren und Verschieben (Übersetzen). Mit anderen Worten, die Ausgabe der letzten Schicht des Critic-Modells wird in eine affine Schicht eingespeist, die eine affine Transformation durchführt. Ein zweites Belohnungssystem (Belohnung B) wird integriert, die das erste Belohnungssystem ersetzt. Die affine Transformationsschicht wird dann mit einem zweiten Datensatz (Datensatz B) trainiert, um Gewichtungen der abschließenden Schicht des Critic-Modells zu modifizieren, wobei aufgrund der Neuskalierung und Verschiebung neue Verluste (Q-Werte B) aus dem Modell abgeleitet werden. Dies ist in 6C gezeigt, zum Beispiel, wobei die Anpassung der Gewichtungen der abschließenden Schicht des Critic-Modells und die Entfernung der affinen Transformationsschicht zu einem neuen Critic-Modell (Critic B) führen.
-
Dann, wie in 6D gezeigt, können die Gewichtungen des Critic-Modells aufgetaut werden (z. B. ermöglicht werden, dass diese modifiziert werden) und das Actor-Critic-Modell kann auf dem zweiten Datensatz (Datensatz B) zusammen mit dem zweiten Belohnungssystem (Belohnung B) neu trainiert werden. In einigen Ausführungsformen wird das Actor-Modell zusammen mit dem Auftauen des Critic-Modells aufgetaut. In anderen Ausführungsformen kann jedoch das Training des Datensatzes (oder neuen Datensatzes) mit dem zweiten Belohnungssystem erfolgen, während die Gewichtungen des Actor-Modells anfänglich eingefroren bleiben. Dann können die Gewichtungen des Actor-Modells aufgetaut werden und das Actor-Critic-Modell kann auf dem zweiten Datensatz (Datensatz B) und dem zweiten Belohnungssystem (Belohnung B) neu trainiert werden. Dies führt zu einem Actor-Critic-Modell, das glatt in die Verarbeitung des zweiten Datensatzes unter Verwendung des zweiten Belohnungssystems übergegangen ist und gleichzeitig die Flüchtigkeit der Verluste während des Übergangs abgedämpft hat.
-
Wie oben erwähnt, versteht es sich, dass die Lehren dieser Offenbarung beim Übergang zwischen unterschiedlichen Datensätzen (z. B. von einem ersten Datensatz zu einem zweiten Datensatz) oder beim Übergang zwischen unterschiedlichen Belohnungssystemen (z. B. von einem ersten Belohnungssystem zu einem zweiten Belohnungssystem) oder beidem erfolgen können. Daher können in der obigen Beschreibung der erste und zweite Datensatz gleich sein, während das erste und zweite Belohnungssystem unterschiedlich sein können; alternativ können der erste und der zweite Datensatz unterschiedlich sein, während das erste und das zweite Belohnungssystem gleich sind. In noch einer anderen Ausführungsform sind der erste und zweite Datensatz unterschiedlich, und das erste und das zweite Belohnungssystem sind unterschiedlich.
-
7 veranschaulicht ein Verfahren 700 zum Trainieren eines Actor-Critic-Modells basierend auf den Lehren, die hierin bereitgestellt sind, im Hinblick auf eine glatte Übertragung entweder eines neuen Datensatzes und/oder eines neuen Belohnungssystems. Bei 702 wird ein Actor-Critic-Modell auf einem ersten Datensatz trainiert, wobei das Actor-Critic-Modell ein erstes Belohnungssystem, ein Actor-Modell und ein Critic-Modell nutzt. Bei 704 werden die Gewichtungen des Actor-Modells eingefroren, wie es die Gewichtungen des Critic-Modells sind. Durch Einfrieren der Gewichtungen versteht es sich, dass die Gewichtungen nicht anpassbar sind oder angepasst werden. Während die Gewichtungen des Actor-Modells und die Gewichtungen des Critic-Modells eingefroren sind, wird bei 706 eine affine Transformationsschicht (AT) an eine abschließende Schicht des Critic-Modells angehängt und bei 708 die AT-Schicht mit einem zweiten Datensatz und einem zweiten Belohnungssystem trainiert, um die Gewichtungen der abschließenden Schicht des Critic-Modells zu modifizieren.
-
Bei 710 werden die Gewichtungen des Critic-Modells aufgetaut (z. B. können angepasst werden). Bei 712 wird das Actor-Critic-Modell auf dem zweiten Datensatz und dem zweiten Belohnungssystem neu trainiert, während die Gewichtungen des Critic-Modells aufgetaut werden und die Gewichtungen des Actor-Modells eingefroren sind. In anderen Ausführungsformen werden die Gewichtungen des Actor-Modells bei diesem Schritt aufgetaut oder innerhalb einer oder mehrerer Iterationen des Trainings. Bei 714 werden, falls eingefroren, die Gewichtungen des Actor-Modells aufgetaut, sodass bei 716 das Actor-Critic-Modell auf dem zweiten Datensatz und dem zweiten Belohnungssystem mit den Gewichtungen sowohl des Actor-Modells als auch des Critic-Modells, die aufgetaut sind, neu trainiert werden. Das Ergebnis ist ein Actor-Critic-Modell, das glatt von der Verarbeitung eines ersten Datensatzes mit einem ersten Belohnungssystem zur Verarbeitung eines zweiten Datensatzes mit einem zweiten Belohnungssystem übergegangen ist. Selbstverständlich, wie oben erläutert, können der erste und zweite Datensatz gleich oder unterschiedlich sein und das erste und das zweite Belohnungssystem können gleich oder unterschiedlich sein; in den hierin offenbarten Ausführungsformen kann ein beliebiger (oder beide) der Datensätze oder der Belohnungssysteme während dieses Übergangs unterschiedlich sein.
-
Es versteht sich auch, dass der Umfang der Erfindung nicht nur auf Actor-Critic-Modelle beschränkt ist, sofern in den Ansprüchen nichts anderes angegeben ist. Stattdessen können die hierin bereitgestellten Lehren auf verschiedene Formen von Reinforcement-Modellen angewendet werden, wie On-Policy-Reinforcement-Modelle, Off-Policy-Reinforcement-Modelle oder Offline-Reinforcement-Modelle. Bei bestärkenden Off-Policy-Lernmodellen lernt der Agent von der aktuellen Zustand-Aktion-Belohnungsinformation, die durch die aktuell beste Strategie produziert wird, wenn diese mit der Umwelt interagiert. Bei bestärkenden Off-Policy-Lernmodellen lernt der Agent von einer vergangenen Erfahrung, die in einem Puffer zur erneuten Wiedergabe gespeichert ist, der beim stärkeren Interagieren mit der Umwelt anwächst. Die Zustand-Aktion-Belohnungswerte in dem Puffer entsprechen nicht der aktuell besten Strategie. Bei Offline-Reinforcement-Modellen lernt der Agent von einer vergangenen Erfahrung, die in einem Puffer zur erneuten Wiedergabe gespeichert ist, der statisch ist; es gibt keine fortgesetzte Interaktion mit der Umwelt. Offline ist ein spezieller Fall der Off-Policy; ein On-Policy-Algorithmus kann nicht offline verwendet werden.
-
Obwohl oben Ausführungsbeispiele beschrieben sind, ist es nicht beabsichtigt, dass diese Ausführungsformen alle möglichen durch die Ansprüche eingeschlossenen Formen beschreiben. Die in der Patentschrift verwendeten Ausdrücke sind Ausdrücke der Beschreibung und nicht der Beschränkung, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne von der Idee und dem Schutzumfang der Offenbarung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die möglicherweise nicht explizit beschrieben oder veranschaulicht sind. Obwohl verschiedene Ausführungsformen als Vorteile ergebend oder gegenüber anderen Ausführungsformen oder Implementierungen nach dem Stand der Technik bezüglich einer oder mehrerer erwünschter Charakteristika bevorzugt beschrieben worden sein können, erkennt ein Durchschnittsfachmann, dass ein oder mehrere Merkmale oder Charakteristika beeinträchtigt werden können, um erwünschte Gesamtsystemattribute zu erzielen, die von der speziellen Anwendung und Implementierung abhängen. Zu diesen Attributen können unter anderem Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Vermarktungsfähigkeit, Erscheinungsbild, Verpackung, Größe, Wartbarkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. gehören. Soweit Ausführungsformen hinsichtlich einer oder mehrerer Eigenschaften als weniger wünschenswert als andere Ausführungsformen oder Implementierungen nach dem Stand der Technik beschrieben sind, liegen diese Ausführungsformen als solche nicht außerhalb des Schutzumfangs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 17979047 [0001, 0013, 0020, 0038]
- US 17979054 [0001]