-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuerung und eine maschinelle Lernvorrichtung und insbesondere eine numerische Steuerung und eine maschinelle Lernvorrichtung, die maschinelles Lernen ausführen, um einen optimalen Wert zum Einstellen einer Übersteuerungsregelung zu erlernen.
-
Beschreibung der verwandten Technik
-
Als verwandte Technik, bei der eine Bearbeitung durch eine Arbeitsmaschine ausgeführt wird, war die Funktion des Regelns einer Übersteuerung der Vorschubgeschwindigkeit mit einer Proportional-Integral-Differential- (PID) Steuerung, die eine Belastung einer Spindel als Eingangswert verwendete, bekannt (siehe beispielsweise Japanische Patentanmeldungs-Auslegeschrift Nr. 2012-032869). Durch die Verwendung der Funktion wird die Übersteuerung erhöht, um die Zykluszeit an einem Teil zu verkürzen, das eine geringe Belastung aufweist, und wird verringert, um eine Beschädigung eines Werkzeugs oder ein Überhitzen an einem Teil, das eine große Belastung aufweist, zu verhindern.
-
Bei einem Verfahren zum Steuern einer Vorschubgeschwindigkeit wurde die PID-Steuerung weitgehend als allgemeine Steuerung verwendet, um einen Zielwert mit einem konstanten Wert einzuhalten. Eine Ausgabe basierend auf der PID-Steuerung kann im Allgemeinen gemäß der folgenden Formel (1) berechnet werden. Es sei zu beachten, dass in der Formel (1) der Zeitpunkt, zu dem die PID-Steuerung beginnt, mit t
0 angegeben ist.
- O(t): Ausgangswert
- eL(t): Differenz zwischen dem Ziel eines zu steuernden Objekts und einem aktuellen Wert (Zeit t)
- Kp: Verstärkung des proportionalen Terms in der PID-Steuerung
- Ki: Verstärkung des integralen Terms in der PID-Steuerung
- Kd: Verstärkung des differentialen Terms in der PID-Steuerung
- C: Offset in der PID-Steuerung
-
8 zeigt ein Beispiel eines Blockdiagramms der Regelung unter Verwendung der PID-Steuerung gemäß einer verwandten Technik.
-
Wenn eine Vorschubgeschwindigkeit gesteuert wird, um eine Belastung einer Spindel konstant zu machen, wird ein Ausgangswert O(t) als Vorschubgeschwindigkeit (Übersteuerung) eingestellt, eL(t) wird als Differenz zwischen einer Zielbelastung der Spindel und einer Belastung der Spindel zum Zeitpunkt t eingestellt, und eine Konstante wird als ein geeigneter Wert eingestellt. Somit kann die Belastung der Spindel einem Ziel genähert werden. In einem Zustand, in dem kein Schneidvorgang erfolgt, d.h. während des Leerlaufs der Spindel, schwankt die Belastung an der Spindel nicht, selbst wenn die Vorschubgeschwindigkeit erhöht wird. Daher erfolgt die Steuerung wünschenswerterweise während des Schneidvorgangs, d.h. nur wenn die Belastung der Spindel einen konstanten Wert oder mehr erreicht.
-
Bei der PID-Steuerung wird jede Verstärkung (Kp, Ki und Kd in der Formel (1) und 8) gemäß einem Zustand eines zu steuernden Objekts (wie etwa einer Maschinenkonfiguration, einem Werkzeugtyp, einem Werkstückmaterial und einem Schneidaufwand in einer Arbeitsmaschine) angepasst, um eine geeignete Steuerung zu ermöglichen, die dem Zustand entspricht.
-
Die PID-Steuerung ist eine allgemeine Regelung. Daher wurden zahlreiche Versuchsverfahren zum Einstellen der Verstärkung erdacht, wie etwa ein höchst empfindliches Verfahren. Zudem offenbaren die japanische Patentanmeldungs-Auslegeschrift Nr. 7-036506 und die internationale Veröffentlichung
WO 2007/049412 eine Technologie, die ein neuronales Netzwerk verwendet, um die Aktion der PID-Steuerung zu kompensieren.
-
Bei einem Verfahren, das auf der PID-Steuerung gemäß der verwandten Technik basiert, ist es jedoch notwendig, die Verstärkung bei der Bearbeitung auf einen Zustand eines zu steuernden Objekts (wie etwa eine Maschinenkonfiguration, ein Werkzeugtyp, ein Werkstückmaterial und einen Schneidaufwand) einzustellen und einen Versuch mehrmals zu wiederholen, um eine sichere Steuerung durchzuführen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Angesichts der obigen Probleme besteht eine Aufgabe der vorliegenden Erfindung darin, eine numerische Steuerung und eine maschinelle Lernvorrichtung bereitzustellen, die ein maschinelles Lernen ausführen, um einen optimalen Wert zum Einstellen einer Übersteuerungsregelung zu erlernen.
-
Eine numerische Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung steuert eine Maschine, die mindestens eine Achse umfasst. Die numerische Steuerung umfasst eine maschinelle Lernvorrichtung, die maschinelles Lernen einer Anpassung eines Einstellwerts ausführt, der bei einer Übersteuerungsregelung eines Motors, der die Achse antreibt, verwendet wird. Die maschinelle Lernvorrichtung weist auf: einen Teil zum Beobachten von Zuständen, der Zustandsdaten erfasst, welche Zustände der numerischen Steuerung und der Maschine angeben und einen aktuellen Wert des Einstellwerts enthalten, der bei der Übersteuerungsregelung des Motors verwendet wird; einen Teil zum Einstellen von Belohnungsbedingungen, der Belohnungsbedingungen einstellt; einen Teil zum Berechnen von Belohnungen, der eine Belohnung basierend auf den Zustandsdaten, die durch den Teil zum Beobachten von Zuständen erfasst werden, und den Belohnungsbedingungen berechnet; einen Teil zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung, der das maschinelle Lernen der Anpassung des Einstellwerts, der bei der Übersteuerungsregelung verwendet wird, ausführt; und einen Teil zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung, der die Anpassung des Einstellwerts, der bei der Übersteuerungsregelung verwendet wird, basierend auf den Zustandsdaten und einem Ergebnis des maschinellen Lernens der Anpassung des Einstellwerts, der bei der Übersteuerungsregelung durch den Teil zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung verwendet wird, bestimmt und ausgibt. Ferner führt der Teil zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung das maschinelle Lernen der Anpassung des Einstellwerts, der bei der Übersteuerungsregelung verwendet wird, basierend auf dem angepassten Einstellwert, den Zustandsdaten, die nach der Anpassung des Einstellwerts erfasst werden, und der Belohnung, die durch den Teil zum Berechnen von Belohnungen berechnet wird, aus.
-
Der Teil zum Berechnen von Belohnungen kann die Belohnung basierend auf mindestens einem von der Zykluszeit einer Aktion der Maschine, einer Belastung einer Spindel der Maschine, einer Beschädigung eines Werkzeugs, das an der Maschine angebracht ist, und der Bearbeitungsgenauigkeit eines Werkstücks, das durch die Maschine bearbeitet wird, berechnen.
-
Die numerische Steuerung kann mit mindestens einer anderen numerischen Steuerung verbunden sein und gegenseitig das Ergebnis des maschinellen Lernens mit dieser anderen numerischen Steuerung austauschen oder teilen.
-
Eine maschinelle Lernvorrichtung gemäß einer anderen Ausführungsform der vorliegenden Erfindung führt maschinelles Lernen einer Anpassung eines Einstellwerts aus, der bei einer Übersteuerungsregelung eines Motors verwendet wird, der mindestens eine Achse antreibt, die in einer Maschine bereitgestellt wird, die durch eine numerische Steuerung gesteuert wird. Die maschinelle Lernvorrichtung umfasst: einen Teil zum Speichern von Lernergebnissen, der ein maschinelles Lernergebnis der Anpassung des Einstellwerts, der bei der Übersteuerungsregelung verwendet wird, speichert; einen Teil zum Beobachten von Zuständen, der Zustandsdaten erfasst, welche Zustände der numerischen Steuerung und der Maschine angeben und einen aktuellen Wert eines Einstellwerts, der bei der Übersteuerungsregelung des Motors verwendet wird, enthalten; einen Teil zum Einstellen von Belohnungsbedingungen, der Belohnungsbedingungen einstellt; einen Teil zum Berechnen von Belohnungen, der eine Belohnung basierend auf den Zustandsdaten, die durch den Teil zum Beobachten von Zuständen erfasst werden, und den Belohnungsbedingungen berechnet; einen Teil zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung, der das maschinelle Lernen der Anpassung des Einstellwerts, der bei der Übersteuerungsregelung verwendet wird, ausführt; und einen Teil zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung, der die Anpassung des Einstellwerts, der bei der Übersteuerungsregelung verwendet wird, basierend auf den Zustandsdaten und einem maschinellen Lernergebnis der Anpassung des Einstellwerts, der bei der Übersteuerungsregelung durch den Teil zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung verwendet wird, bestimmt und ausgibt. Ferner führt der Teil zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung das maschinelle Lernen der Anpassung des Einstellwerts, der bei der Übersteuerungsregelung verwendet wird, basierend auf dem angepassten Einstellwert, den Zustandsdaten, die nach der Anpassung des Einstellwerts erfasst werden, und der Belohnung, die durch den Teil zum Berechnen von Belohnungen berechnet wird, aus.
-
Gemäß einer Ausführungsform der vorliegenden Erfindung ist es möglich, einen optimalen Wert zum Einstellen einer Übersteuerungsregelung basierend auf einem Zustand einer zu steuernden Maschine (wie etwa einer Maschinenkonfiguration, einem Werkzeugtyp, einem Werkstückmaterial, einem Schneidaufwand und einer befohlenen Vorschubgeschwindigkeit) automatisch einzustellen. Da somit ein Bediener die Verstärkung nicht gemäß einem Zustand einer Maschine anpassen muss, können Zeit und Mühe zum Anpassen der Verstärkung gespart werden.
-
Figurenliste
-
Es zeigen:
- 1 ein Diagramm zum Beschreiben des grundlegenden Konzepts eines Algorithmus zum Verstärkungslernen;
- 2 ein schematisches Diagramm, das ein Neuronenmodell zeigt;
- 3 ein schematisches Diagramm, das ein neuronales Netzwerk zeigt, das Gewichtungen von drei Schichten aufweist;
- 4 ein Diagramm, das ein Beispiel eines Falls zeigt, bei dem ein automatischer Codierer als Lernmodell verwendet wird;
- 5 ein Diagramm, das ein Bild über das maschinelle Lernen einer numerischen Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
- 6 ein schematisches Funktionsblockdiagramm der numerischen Steuerung gemäß der Ausführungsform der vorliegenden Erfindung;
- 7 ein Ablaufschema, das den Ablauf des maschinellen Lernens gemäß der Ausführungsform der vorliegenden Erfindung zeigt; und
- 8 ein Beispiel eines Blockdiagramms der Regelung unter Verwendung einer PID-Steuerung gemäß einer verwandten Technik.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Bei der vorliegenden Erfindung wird eine maschinelle Lernvorrichtung, die als künstliche Intelligenz dient, in eine numerische Steuerung eingeführt, die eine Maschine steuert, um das maschinelle Lernen der Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung (jeder Verstärkung der PID-Steuerung), der einem Zustand einer Maschine (wie etwa einer Maschinenkonfiguration, einem Werkzeugtyp, einem Werkstückmaterial, einem Schneidaufwand und einer befohlenen Vorschubgeschwindigkeit) entspricht, auszuführen. Somit kann die PID-Steuerung mit Bezug auf den Zustand der Maschine geeignet ausgeführt werden.
-
Nachstehend erfolgt eine kurze Beschreibung des maschinellen Lernens, das bei der vorliegenden Erfindung eingeführt werden soll.
-
Maschinelles Lernen
-
Das maschinelle Lernen wird hier kurz beschrieben. Das maschinelle Lernen erfolgt derart, dass nützliche Regeln, Wissensausdrücke, Bestimmungskriterien oder dergleichen durch Analyse aus Datensätzen entnommen werden, die in eine Vorrichtung eingegeben werden, die das maschinelle Lernen ausführt (nachstehend als maschinelle Lernvorrichtung bezeichnet), dass die Bestimmungsergebnisse der Entnahme ausgegeben werden und ein Erlernen des Wissens ausgeführt wird. Obwohl das maschinelle Lernen gemäß diversen Verfahren ausgeführt wird, werden die Verfahren in etwa als „betreutes Lernen“, „nicht betreutes Lernen“ und „Verstärkungslernen“ klassifiziert. Um diese Verfahren auszubilden, gibt es zudem ein Verfahren, das als „tiefgehendes Lernen“ bezeichnet wird, mit dem die Entnahme von Merkmalsbeträgen als solche zu erlernen ist.
-
Das „betreute Lernen“ ist ein Modell, mit dem Sätze von Eingangs- und Ergebnis-(Etiketten) Daten an eine maschinelle Lernvorrichtung in großen Mengen gegeben werden, um die Merkmale der Datensätze zu erlernen und Ergebnisse aus den Eingaben zu schätzen, d.h. ein Verfahren, mit dem die Beziehung zwischen Eingaben und Ergebnissen induktiv erzielt werden kann. Das Verfahren kann unter Verwendung eines Algorithmus, wie etwa eines neuronalen Netzwerks, das noch beschrieben wird, durchgeführt werden.
-
Das „nicht betreute Lernen“ ist ein Lernverfahren, mit dem eine Vorrichtung, die durch Empfangen nur von großen Mengen von Eingangsdaten lernt, wie die Eingangsdaten verteilt sind, und eine Kompression, Klassifizierung, Gestaltung oder dergleichen auf die Eingangsdaten anwendet, selbst wenn keine entsprechenden betreuten Ausgangsdaten gegeben werden. Die Merkmale der Datensätze können in Gruppen eingerichtet sein, die jeweils ähnliche Kennzeichen gemeinsam haben. Unter Verwendung der Ergebnisse wird eine Richtlinie eingestellt, um Ausgaben zur Optimierung zuzuteilen. Somit kann die Vorhersage der Ausgaben durchgeführt werden. Zudem gibt es als Zwischenproblemstellung zwischen dem „nicht betreuten Lernen“ und dem „betreuten Lernen“ ein Verfahren, das als „halbbetreutes Lernen“ bezeichnet wird, bei dem einige Teile ausschließlich Sätze von Eingangs- und Ausgangsdaten erhalten, während die anderen Teile nur Eingangsdaten erhalten. Da bei einer Ausführungsform Daten, die erfasst werden können, selbst wenn eine Bearbeitungsmaschine nicht wirklich funktioniert, bei dem nicht betreuten Lernen verwendet werden, ist ein effizientes Lernen möglich.
-
Das „Verstärkungslernen“ ist ein Verfahren, mit dem nicht nur Bestimmungen oder Klassifizierungen sondern auch Aktionen zu erlernen sind, um das Lernen von optimalen Aktionen angesichts der Interaktionen, welche die Umgebungen durch Aktionen erhalten, auszuführen, d.h. ein Lernen, um Belohnungen zu maximieren, die in Zukunft erzielt werden. Beim Verstärkungslernen kann eine maschinelle Lernvorrichtung das Lernen in einem Zustand starten, in dem die maschinelle Lernvorrichtung die Ergebnisse, die durch Aktionen bewirkt werden, nicht vollständig kennt oder sie ungenau kennt. Zudem kann eine maschinelle Lernvorrichtung mit dem Lernen von einem erwünschten Startpunkt in einem anfänglichen Zustand beginnen, in dem das frühere Lernen (ein Verfahren wie das obige betreute Lernen und umgekehrtes Verstärkungslernen) derart ausgeführt wird, dass es menschliche Aktionen nachahmt.
-
Es sei zu beachten, dass es, wenn das maschinelle Lernen auf eine numerische Steuerung angewendet wird, die eine Werkzeugmaschine steuert, notwendig ist, die Tatsache zu berücksichtigen, dass Ergebnisse als Daten erst erzielt werden können, wenn die Werkzeugmaschine tatsächlich funktioniert, d.h. das Suchen von optimalen Aktionen erfolgt durch einen Versuchs-und-Irrtums-Lösungsansatz. Angesichts der obigen Gegebenheiten verwendet die vorliegende Erfindung als Hauptlernalgorithmus einer maschinellen Lernvorrichtung den Algorithmus des Verstärkungslernens, mit dem die maschinelle Lernvorrichtung Belohnungen erhält, um automatisch Aktionen zu erlernen, um ein Ziel zu erreichen.
-
1 ist ein Diagramm zum Beschreiben des grundlegenden Konzepts eines Algorithmus zum Verstärkungslernen.
-
Beim Verstärkungslernen werden durch Interaktionen zwischen einem Agenten (einer maschinellen Lernvorrichtung), der als Lernsubjekt dient, und einer Umgebung (Steuerzielsystem), das als Steuerziel dient, das Lernen und die Aktion des Agenten verbessert. Genauer gesagt werden die folgenden Interaktionen zwischen dem Agenten und der Umgebung ausgeführt.
- (1) Der Agent beobachtet eine Umgebungsbedingung st zu einem gewissen Zeitpunkt.
- (2) Basierend auf einem Beobachtungsergebnis und dem früheren Lernen wählt der Agent eine Aktion at aus, die der Agent ausführen darf, und führt sie aus.
- (3) Die Umgebungsbedingung st ändert sich in einen nächsten Zustand st+1 basierend auf einer beliebigen Regel und der Ausführung der Aktion at.
- (4) Der Agent nimmt eine Belohnung rt+1 basierend auf der Zustandsänderung als Ergebnis der Aktion at an.
- (5) Der Agent verbessert das Lernen basierend auf dem Zustand st, der Aktion at, der Belohnung rt+1 und einem früheren Lernergebnis.
-
In der anfänglichen Phase des Verstärkungslernens versteht der Agent die Richtlinie einer Wertbeurteilung zum Auswählen der optimalen Aktion at mit Bezug auf die Umgebungsbedingung st bei der obigen Aktionsauswahl (2) nicht. Daher wählt der Agent diverse Aktionen at in einem gewissen Zustand st aus und erlernt die Auswahl einer besseren Aktion, d.h. die Richtlinie eines geeigneten Beurteilungswerts basierend auf Belohnungen rt+1, die mit Bezug auf die Aktionen at zu diesem Zeitpunkt erteilt werden.
-
Bei dem obigen Lernen (5) erfasst der Agent die Zuordnung eines beobachteten Zustands st, einer Aktion at und einer Belohnung rt+1 als Referenzinformation zum Bestimmen eines Betrags einer Belohnung, die der Agent in Zukunft erzielen darf. Wenn die Anzahl der Zustände, die der Agent jederzeit annehmen darf, beispielsweise m ist und die Anzahl der Aktionen, die der Agent ausführen darf, n ist, erzielt der Agent eine zweidimensionale Anordnung von m x n, bei der die Belohnungen rt+1, die Paaren von Zuständen st und Aktionen at entsprechen, gespeichert werden, indem er wiederholt Aktionen ausführt.
-
Dann dabei eine Wertfunktion (Bewertungsfunktion) angibt, wie wertvoll ein Zustand oder eine Aktion ist, der bzw. die basierend auf der zuvor erfassten Zuordnung erzielt wird, aktualisiert der Agent die Wertfunktion (Bewertungsfunktion), während er Aktionen wiederholt ausführt, um eine optimale Aktion zu erlernen, die einem Zustand entspricht.
-
Eine „Zustandswertfunktion“ ist eine Wertfunktion, die angibt, wie wertvoll ein gewisser Zustand s
t ist. Die Zustandswertfunktion wird als eine Funktion unter Verwendung eines Zustands als Argument ausgedrückt und basierend auf einer Belohnung, die mit Bezug auf eine Aktion in einem gewissen Zustand erzielt wird, einem Wert eines zukünftigen Zustands, der sich gemäß der Aktion oder dergleichen beim Lernen, bei dem Aktionen wiederholt werden, ändert, aktualisiert. Die Aktualisierungsformel der Zustandswertfunktion wird gemäß einem Algorithmus zum Verstärkungslernen definiert. Beispielsweise wird beim Temporal-Differenz- (TD) Lernen, das als einer der Algorithmen zum Verstärkungslernen angegeben wird, die Zustandswertfunktion durch die folgende Formel (2) aktualisiert. Es sei zu beachten, dass in der folgenden Formel (2) α als Lernkoeffizient bezeichnet wird, y als Ermäßigungsrate bezeichnet wird, und der Lernkoeffizient und die Ermäßigungsrate definiert sind, um jeweils in 0 < α ≤ 1 und 0 < γ ≤ 1 zu fallen.
-
Zudem ist eine „Aktionswertfunktion“ eine Wertfunktion, die angibt, wie wertvoll eine Aktion a
t in einem gewissen Zustand s
t ist. Die Aktionswertfunktion wird als eine Funktion unter Verwendung eines Zustands und einer Aktion als Argumente ausgedrückt und basierend auf einer Belohnung, die mit Bezug auf eine Aktion in einem gewissen Zustand erzielt wird, einem Aktionswert eines zukünftigen Zustands, der sich gemäß der Aktion oder dergleichen beim Lernen, bei dem Aktionen wiederholt werden, ändert, aktualisiert. Die Aktualisierungsformel der Aktionswertfunktion wird gemäß einem Algorithmus zum Verstärkungslernen definiert. Beispielsweise wird beim Q-Lernen, das als einer der typischen Algorithmen zum Verstärkungslernen angegeben wird, die Aktionswertfunktion durch die folgende Formel (3) aktualisiert. Es sei zu beachten, dass in der folgenden Formel (3) α als Lernkoeffizient bezeichnet wird, γ als Ermäßigungsrate bezeichnet wird, und der Lernkoeffizient und die Ermäßigungsrate definiert sind, um jeweils in 0 < α ≤ 1 und 0 < γ ≤ 1 zu fallen.
-
Die obige Formel drückt ein Verfahren zum Aktualisieren eines Bewertungswerts Q(st, at) einer Aktion at in einem Zustand st basierend auf einer Belohnung rt+1 aus, die als Ergebnis der Aktion at zurückgegeben wird. Durch die Formel wird angegeben, dass Q(st, at) erhöht wird, falls ein Bewertungswert Q(st+1, max(a)) der besten Aktion max(a) in einem nächsten Zustand als Ergebnis der Belohnung rt+1 und der Aktion at größer ist als der Bewertungswert Q(st, at) der Aktion at in dem Zustand st, während Q(st, at) ansonsten verringert wird. D.h. ein Wert einer gewissen Aktion in einem gewissen Zustand wird näher an einen Wert einer Belohnung gebracht, die sofort als Ergebnis der Aktion und der besten Aktion in einem nächsten Zustand, der mit der Aktion einhergeht, zurückgegeben wird.
-
Beim Q-Lernen wird eine derartige Aktualisierung wiederholt ausgeführt, um schließlich Q(st, at) auf einen erwarteten Wert E(Σγtrt) einzustellen (der erwartete Wert ist ein solcher, der übernommen wird, wenn ein Zustand gemäß einer optimalen Aktion geändert wird. Da der erwartete Wert natürlich unbekannt ist, muss der erwartete Wert durch Suchen erlernt werden.).
-
Ferner wird bei der obigen Aktionsauswahl (2) eine Aktion at, bei der eine Belohnung (rt+1 + rt+2 + ...) in Zukunft in einem aktuellen Zustand st maximal wird (eine Aktion zum Ändern in einen wertvollsten Zustand für den Fall, dass eine Zustandswertfunktion verwendet wird, oder eine wertvollste Aktion in dem Zustand für den Fall, dass eine Aktionswertfunktion verwendet wird) unter Verwendung einer Wertfunktion (Bewertungsfunktion), die durch früheres Lernen generiert wird, ausgewählt. Es sei zu beachten, dass während des Lernens ein Agent eine Zufallsaktion mit einer konstanten Wahrscheinlichkeit zum Zweck des Verbesserns des Lernens bei der Auswahl einer Aktion in der obigen Aktionsauswahl (2) (ε-Greedy-Verfahren) auswählen kann.
-
Es sei zu beachten, dass es zum Speichern einer Wertfunktion (Bewertungsfunktion) als Lernergebnis Verfahren zum Behalten von Werten aller Paare (s, a) von Zuständen und Aktionen in einer Tabellenform (Aktionswerttabelle) und ein Verfahren zum Vorbereiten einer Funktion zum Nähern der obigen Wertfunktion gibt. Gemäß dem letztgenannten Verfahren kann die obige Aktualisierungsformel durch Anpassen der Parameter einer Näherungsfunktion basierend auf einem Verfahren, wie etwa dem Verfahren zum Wahrscheinlichkeits-Gradientenabstieg, durchgeführt werden. Für die Näherungsfunktion kann eine betreute Lernvorrichtung, wie etwa ein neuronales Netzwerk, verwendet werden.
-
Das neuronale Netzwerk besteht aus einer Recheneinheit, einem Speicher und dergleichen, die ein neuronales Netzwerk ausbilden, das einem Neuronenmodell folgt, wie beispielsweise in 2 gezeigt. 2 ist ein schematisches Diagramm, das ein Neuronenmodell zeigt.
-
Wie in
2 gezeigt, gibt ein Neuron eine Ausgabe y mit Bezug auf eine Mehrzahl von Eingaben x aus (hier beispielsweise die Eingaben x
1 bis x
3). Eine entsprechende Gewichtung w (w
1 bis w
3) wird auf jede der Eingaben x
1 bis x
3 angewendet. Somit gibt das Neuron die Ausgabe y aus, die durch die folgende Formel (4) ausgedrückt wird. Es sei zu beachten, dass in der folgenden Formel (4) eine Eingabe x, eine Ausgabe y und eine Gewichtung w alle Vektoren sind. Zudem gibt θ einen systematischen Fehler an, und f
k gibt eine Aktivierungsfunktion an.
-
Als Nächstes erfolgt eine Beschreibung mit Bezug auf 3 eines neuronalen Netzwerks, das Gewichtungen von drei Schichten aufweist, in denen die obigen Neuronen miteinander kombiniert werden.
-
3 ist ein schematisches Diagramm, das ein neuronales Netzwerk zeigt, das Gewichtungen von drei Schichten D1 bis D3 aufweist. Wie in 3 gezeigt, wird eine Mehrzahl von Eingaben x (hier zum Beispiel die Eingaben x1 bis x3) auf der linken Seite des neuronalen Netzwerks eingegeben, und die Ergebnisse y (hier zum Beispiel die Ergebnisse y1 bis y3) werden auf der rechten Seite des neuronalen Netzwerks ausgegeben.
-
Insbesondere wenn die Eingaben x1 bis x3 in die drei Neuronen N11 bis N13 eingegeben werden, werden entsprechende Gewichtungen auf die Eingaben x1 bis x3 angewendet. Die Gewichtungen, die auf die Eingaben angewendet werden, sind insgesamt mit w1 angegeben. Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. Z11 bis z13 sind insgesamt als Merkmalsvektor z1 angegeben und können als Vektoren angesehen werden, die durch Entnehmen von Merkmalsbeträgen der Eingangsvektoren erzielt werden. Der Merkmalsvektor z1 ist ein Merkmalsvektor zwischen der Gewichtung w1 und einer Gewichtung w2.
-
Wenn z11 bis z13 in die beiden Neuronen N21 und N22 eingegeben werden, werden entsprechende Gewichtungen auf diese z11 bis z13 angewendet. Die Gewichtungen, die auf die Merkmalsvektoren angewendet werden, sind insgesamt mit w2 angegeben. Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. Z21 und z22 sind insgesamt als Merkmalsvektor z2 angegeben. Der Merkmalsvektor z2 ist ein Merkmalsvektor zwischen der Gewichtung w2 und einer Gewichtung w3.
-
Wenn die Merkmalsvektoren z21 und z22 in die drei Neuronen N31 bis N33 eingegeben werden, werden entsprechende Gewichtungen auf diese Merkmalsvektoren z21 und z22 angewendet. Die Gewichtungen, die auf die Merkmalsvektoren angewendet werden, sind insgesamt mit w3 angegeben.
-
Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus.
-
Der Betrieb des neuronalen Netzwerks umfasst einen Lernmodus und einen Wertvorhersagemodus. Ein Lerndatensatz wird verwendet, um die Gewichtung w im Lernmodus zu erlernen, und die Parameter werden verwendet, um die Aktion einer Bearbeitungsmaschine im Vorhersagemodus zu bestimmen (dabei wird „Vorhersage“ nur aus praktischen Gründen verwendet, es können jedoch diverse Aufgaben, wie etwa Detektion, Klassifizierung und Ableitung enthalten sein).
-
Es ist möglich, sofort Daten zu erlernen, die durch das Steuern einer Werkzeugmaschine durch eine Steuerung im Vorhersagemodus erzielt werden, und die erlernten Daten in einer nächsten Aktion zu reflektieren (Online-Lernen), oder es ist möglich, ein kollektives Lernen unter Verwendung einer zuvor erhobenen Datengruppe auszuführen und anschließend einen Detektionsmodus unter Verwendung der Parameter jederzeit auszuführen (Stapellernen). Es ist ebenfalls möglich, einen Zwischenmodus auszuführen, d.h. einen Lernmodus, der jedes Mal ausgeführt wird, wenn sich eine gewisse Datenmenge angesammelt hat.
-
Das Erlernen der Gewichtungen w1 bis w3 wird durch Fehlerrückführung ermöglicht. Fehlerinformationen treten auf der rechten Seite ein und begeben sich zur linken Seite. Die Fehlerrückführung ist ein Verfahren zum Anpassen (Lernen) jeder der Gewichtungen, um eine Differenz zwischen der Ausgabe y, die erzielt wird, wenn die Eingabe x eingegeben wird, und einer reellen (betreuten) Ausgabe y für jedes der Neuronen zu reduzieren.
-
Das neuronale Netzwerk kann drei oder mehrere Schichten aufweisen (so genanntes tiefgehendes Lernen). Es ist möglich, automatisch eine Recheneinheit zu erzielen, die Merkmale von Eingaben Schritt für Schritt entnimmt und die Regression nur als Ergebnis von betreuten Daten ausführt. Wenn ferner ein mehrschichtiges neuronales Netzwerk verwendet wird, kann ein herkömmlicher automatischer Codierer, wie in 4 gezeigt, konstruiert werden, um Merkmalsbeträge an sich zu entnehmen, wodurch ein autonomes Lernen erfolgt.
-
Wenn ein derartiges neuronales Netzwerk als Näherungsfunktion verwendet wird, kann die obige Wertfunktion (Bewertungsfunktion) als neuronales Netzwerk gespeichert werden, um das Lernen zu verbessern, während die obigen Aktionen (1) bis (5) bei dem obigen Verstärkungslernen wiederholt ausgeführt werden.
-
Im Allgemeinen kann eine maschinelle Lernvorrichtung das Lernen verbessern, damit es an eine neue Umgebung angepasst ist, indem sie ein zusätzliches Lernen ausführt, selbst wenn sie in die neue Umgebung versetzt wird, nachdem sie das Lernen in einer gewissen Umgebung beendet hat. Wenn das maschinelle Lernen auf die Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung (diversen Verstärkungen für die PID-Steuerung) angewendet wird, ist es entsprechend möglich, das Lernen der Anpassung von Werten zum Einstellen einer Übersteuerungsregelung schnell auszuführen, indem ein zusätzliches Lernen unter neuen Vorbedingungen der Bearbeitung ausgeführt wird, basierend auf dem früheren Lernen der Anpassung von Werten zum Einstellen einer Übersteuerungsregelung, selbst für den Fall, dass das maschinelle Lernen auf neue Vorbedingungen der Maschinenregelung angewendet wird.
-
Zudem verwendet das Verstärkungslernen ein System, bei dem eine Mehrzahl von Agenten über ein Netzwerk oder dergleichen miteinander verbunden ist, und eine Information über Zustände s, Aktionen a, Belohnungen r oder dergleichen wird zwischen den Agenten geteilt und auf jeden Lernvorgang angewendet, wodurch jeder der Agenten angesichts der Umgebungen der anderen Agenten ein verteiltes Verstärkungslernen ausführt, um ein effizientes Lernen auszuführen.
-
Auch bei der Ausführungsform der vorliegenden Erfindung führt eine Mehrzahl von Agenten (maschinellen Lernvorrichtungen), die in einer Mehrzahl von Umgebungen (numerischen Steuerungen, die Maschinen steuern) einbezogen ist, ein verteiltes maschinelles Lernen in einem Zustand aus, in dem sie über ein Netzwerk oder dergleichen verbunden sind, wodurch die numerischen Steuerungen das Lernen der Anpassung von Werten zum Einstellen einer Übersteuerungsregelung effizient ausführen können.
-
Es sei zu beachten, dass obwohl diverse Verfahren, wie etwa das Q-Lernen, ein SARSA-Verfahren, das TD-Lernen und ein AC-Verfahren, als Algorithmen zum Verstärkungslernen hinlänglich bekannt gewesen sind, alle obigen Verstärkungsalgorithmen auf die vorliegende Erfindung angewendet werden können. Da jeder der Algorithmen zum Verstärkungslernen hinlänglich bekannt gewesen ist, entfällt seine ausführliche Beschreibung im Beschreibungsteil.
-
Nachstehend erfolgt eine Beschreibung basierend auf einer spezifischen Ausführungsform der numerischen Steuerung gemäß der vorliegenden Erfindung, in die eine maschinelle Lernvorrichtung eingeführt wird.
-
Ausführungsform
-
5 ist ein Diagramm, das ein Bild über das maschinelle Lernen der Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung in einer numerischen Steuerung zeigt, in die eine maschinelle Lernvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung eingeführt wird. Es sei zu beachten, dass in 5 nur die Konfigurationen gezeigt werden, die zum Beschreiben des maschinellen Lernens der numerischen Steuerung bei der Ausführungsform notwendig sind.
-
Bei der Ausführungsform wird eine Information, welche die maschinelle Lernvorrichtung 20 verwendet, um eine Umgebung vorzugeben (der Zustand st, der unter „(1) Maschinelles Lernen“ beschrieben wurde), die eine Information über eine Maschinenkonfiguration, einen Werkzeugtyp, ein Werkstückmaterial und einen Schneidaufwand, die von einer Maschine 2 erfasst werden, und eine befohlene Vorschubgeschwindigkeit und einen aktuellen Wert eines Werts zum Einstellen einer Übersteuerungsregelung (wie etwa jede Verstärkung der PID-Steuerung) gemäß einem Programm umfasst, in eine maschinelle Lernvorrichtung 20 als Zustandsinformation eingegeben.
-
Bei der Ausführungsform gibt die maschinelle Lernvorrichtung 20 einen Anpassungsbetrag eines Werts zum Einstellen einer Übersteuerungsregelung für die PID-Steuerung der Maschine 2 als eine Ausgabe an eine Umgebung aus (die Aktion at, die unter „(1) Maschinelles Lernen“ beschrieben wurde).
-
Bei einer numerischen Steuerung 1 gemäß der Ausführungsform ist die obige Zustandsinformation durch einen Zustand, wie etwa eine Maschinenkonfiguration, einen Werkzeugtyp, ein Werkstückmaterial, einen Schneidaufwand, die von einer Maschine 2 erfasst werden, und eine befohlene Vorschubgeschwindigkeit und einen Wert zum Einstellen einer Übersteuerungsregelung (wie etwa jede Verstärkung der PID-Steuerung) gemäß einem Programm definiert. Ferner kann die obige Anpassungsaktion durch einen Anpassungsbetrag eines Werts zum Einstellen einer Übersteuerungsregelung für die PID-Steuerung der Maschine 2, der von der maschinellen Lernvorrichtung 20 ausgegeben wird, definiert werden.
-
Zudem wird bei der Ausführungsform eine Zunahme und Abnahme der Zykluszeit (positive/negative Belohnung), eine Reduzierung der Belastung einer Spindel (positive/negative Belohnung), eine Beschädigung eines Werkzeugs, (negative Belohnung), die Bearbeitungsgenauigkeit (positive/negative Belohnung) oder dergleichen als Belohnung (Belohnung rt, die unter „(1) Maschinelles Lernen“ beschrieben wurde) verwendet, die der maschinellen Lernvorrichtung 20 zu erteilen ist. Es sei zu beachten, dass ein Bediener geeignet einstellen kann, welche Daten zu verwenden sind, um eine Belohnung zu bestimmen.
-
Des Weiteren führt die maschinelle Lernvorrichtung 20 bei der Ausführungsform ein maschinelles Lernen basierend auf einer Zustandsinformation (Eingangsdaten), einer Anpassungsaktion (Ausgangsdaten) und einer zuvor beschriebenen Belohnung aus. Beim maschinellen Lernen wird ein Zustand st durch die Kombination von Eingangsdaten zu einem gewissen Zeitpunkt t definiert, die Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung, die mit Bezug auf den definierten Zustand st ausgeführt wird, entspricht einer Aktion at, und ein Wert, der auf der Grundlage von Daten über ein Maschinenbetriebsergebnis bewertet und berechnet wird, die durch Ausführen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung mit der Aktion at neu erzielt werden, entspricht einer Belohnung rt+1. Wie zuvor unter „(1) Maschinelles Lernen“ beschrieben, werden ein Zustand st, eine Aktion at und eine Belohnung rt+1 auf die Aktualisierungsformel einer Wertfunktion (Bewertungsfunktion) angewendet, die einem maschinellen Lernalgorithmus entspricht, um das Lernen zu verbessern.
-
Nachstehend erfolgt eine Beschreibung eines Funktionsblockdiagramms einer numerischen Steuerung.
-
6 ist ein Funktionsblockdiagramm der numerischen Steuerung gemäß der Ausführungsform.
-
Die numerische Steuerung 1 der Ausführungsform weist eine Konfiguration auf, die darin normalerweise bereitgestellt wird, wie etwa einen Teil zur Servosteuerung (nicht gezeigt), der einen Servomotor (nicht gezeigt) steuert, um Achsen anzutreiben, die in der Maschine 2 bereitgestellt werden, um gesteuert zu werden, einen Steuerungsteil 10, der den Teil zur Servosteuerung, Peripheriegeräte oder dergleichen steuert, und eine maschinelle Lernvorrichtung 20, die als künstliche Intelligenz dient, um ein maschinelles Lernen auszuführen. Wenn man die in 6 gezeigten Konfigurationen mit den Elementen beim Verstärkungslernen vergleicht, die in 1 gezeigt werden, entspricht die maschinelle Lernvorrichtung 20 dem Agenten, und die Konfigurationen, wie etwa die Maschine 2 außer der maschinellen Lernvorrichtung 20, entsprechen der Umgebung. Es sei zu beachten, dass vorausgesetzt wird, dass die numerische Steuerung außer den zuvor beschriebenen Konfigurationen die Konfigurationen einer gattungsgemäßen numerischen Steuerung aufweist, und dass eine ausführliche Beschreibung der anderen Konfigurationen als denen, die insbesondere notwendig sind, um den Betrieb des maschinellen Lernens bei der vorliegenden Erfindung zu beschreiben, hier entfällt.
-
Der Steuerungsteil 10 analysiert ein Programm, das aus einem Speicher (nicht gezeigt) ausgelesen oder über ein Eingabegerät (nicht gezeigt) oder dergleichen eingegeben wird, und steuert jeden Teil der Maschine 2 basierend auf Steuerungsdaten, die als Analyseergebnis erzielt werden. Der Steuerungsteil 10 führt im Allgemeinen eine Steuerung basierend auf einem Analyseergebnis eines Programms aus. Bei der Ausführungsform steuert der Steuerungsteil 10 jedoch jede Achse der Maschine 2 gemäß einem Wert zum Einstellen einer Übersteuerungsregelung, der durch eine Ausgabe von der maschinellen Lernvorrichtung 20 angepasst wird.
-
Die maschinelle Lernvorrichtung 20, die das maschinelle Lernen ausführt, weist einen Teil zum Beobachten von Zuständen 21, einen Teil 22 zum Speichern von Zustandsdaten, einen Teil 23 zum Einstellen von Belohnungsbedingungen, einen Teil 24 zum Berechnen von Belohnungen, einen Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung, einen Teil 26 zum Speichern von Lernergebnissen und einen Teil 27 zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung auf. Die maschinelle Lernvorrichtung 20 kann im Innern der numerischen Steuerung 1 bereitgestellt werden, wie in 6 gezeigt, oder kann in einem PC oder dergleichen außerhalb der numerischen Steuerung 1 bereitgestellt werden.
-
Der Teil 21 zum Beobachten von Zuständen beobachtet die Zustände der numerischen Steuerung 1 und der Maschine 2 anhand des Steuerungsteils 10 und erfasst Beobachtungsergebnisse im Innern der maschinellen Lernvorrichtung 20 als Zustandsdaten. Die erfassten Zustandsdaten umfassen eine Maschinenkonfiguration, einen Werkzeugtyp, ein Werkstückmaterial und einen Schneidaufwand, die von der Maschine 2 erfasst werden, und eine befohlene Vorschubgeschwindigkeit und einen aktuellen Wert eines Werts zum Einstellen einer Übersteuerungsregelung (wie etwa jede Verstärkung der PID-Steuerung) gemäß einem Programm und einen Berechnungswert, der durch das Ausführen der arithmetischen Operation jeder physikalischen Größe berechnet wird. Wenn die Zustände der numerischen Steuerung 1 und der Maschine 2 als Zustandsdaten erfasst werden, kann der Teil zum Beobachten von Zuständen 21 andere Daten als Zahlenwerte, wie etwa Zeichen und Symbole, gemäß einer im Voraus eingestellten vorgeschriebenen Regel digitalisieren.
-
Der Teil 22 zum Speichern von Zustandsdaten empfängt und speichert Zustandsdaten und gibt die gespeicherten Zustandsdaten an den Teil 24 zum Berechnen von Belohnungen und den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung aus. Die Zustandsdaten, die in den Teil 22 zum Speichern von Zustandsdaten eingegeben werden, können Daten, die durch den letzten Bearbeitungsvorgang erfasst wurden, oder Daten, die durch den vergangenen Bearbeitungsvorgang erfasst wurden, sein. Zudem ist es auch möglich, dass der Teil 22 zum Speichern von Zustandsdaten Zustandsdaten, die in anderen numerischen Steuerungen 1 oder einem intensiven Verwaltungssystem 30 gespeichert sind, empfängt und speichert, oder es ist möglich, dass der Teil 22 zum Speichern von Zustandsdaten Zustandsdaten, die in dem Teil 22 zum Speichern von Zustandsdaten gespeichert sind, an andere numerische Steuerungen 1 oder das intensive Verwaltungssystem 30 ausgibt.
-
Der Teil 23 zum Einstellen von Belohnungsbedingungen stellt Bedingungen zum Erteilen von Belohnungen beim maschinellen Lernen ein, die durch einen Bediener oder dergleichen eingestellt werden. Es werden positive und negative Belohnungen erteilt, und diese können geeignet eingestellt werden. Zudem kann eine Eingabe in den Teil 23 zum Einstellen von Belohnungsbedingungen anhand eines PCs, eines Tablet-Endgeräts oder dergleichen für ein intensives Verwaltungssystem ausgeführt werden. Mit einer Eingabe über eine manuelle Dateneingabe- (MDI) Vorrichtung (nicht gezeigt), die in der numerischen Steuerung 1 bereitgestellt wird, ist es jedoch möglich, die Bedingungen zum Erteilen von Belohnungen einfacher einzustellen.
-
Der Teil 24 zum Berechnen von Belohnungen analysiert die Zustandsdaten, die von dem Teil zum Beobachten von Zuständen 21 oder dem Teil 22 zum Speichern von Zustandsdaten basierend auf Bedingungen eingestellt werden, die durch den Teil 23 zum Einstellen von Belohnungsbedingungen eingestellt werden, und gibt berechnete Belohnungen an den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung aus.
-
Nachstehend erfolgt eine Beschreibung eines Beispiels von Belohnungsbedingungen, die durch den Teil 23 zum Einstellen von Belohnungsbedingungen bei der Ausführungsform eingestellt werden. Es sei zu beachten, dass die folgenden Belohnungsbedingungen nur als Beispiele angegeben werden und von der Bauform her geändert werden können. Alternativ können diverse andere Belohnungsbedingungen eingestellt werden.
-
Belohnung 1: Zunahme und Abnahme der Zykluszeit (positive/negative Belohnung)
-
Wenn die Zykluszeit in einer Reihe von Vorgängen (Bearbeitungsvorgängen) der Maschine 2 kürzer als ein vorgeschriebener Referenzwert, der im Voraus eingestellt wird, wird je nach Ausmaß eine positive Belohnung erteilt. Wenn dagegen die Zykluszeit in der Reihe von Vorgängen (Bearbeitungsvorgängen) der Maschine 2 länger als der vorgeschriebene Referenzwert ist, der im Voraus eingestellt wird, wird je nach Ausmaß eine negative Belohnung erteilt.
-
Belohnung 2: Reduzierung der Belastung der Spindel (positive/negative Belohnung)
-
Wenn eine Belastung einer Spindel bei den Vorgängen (Bearbeitungsvorgängen) der Maschine 2 kleiner als ein vorgeschriebener Referenzwert ist, der im Voraus eingestellt wird, wird je nach Ausmaß eine positive Belohnung erteilt.
-
Wenn die Belastung der Spindel bei den Vorgängen (Bearbeitungsvorgängen) der Maschine 2 größer als der vorgeschriebene Referenzwert ist, der im Voraus eingestellt wird, wird je nach Ausmaß eine negative Belohnung erteilt.
-
Belohnung 3: Beschädigung des Werkzeugs (negative Belohnung)
-
Wenn ein Werkzeug, das an der Maschine 2 angebracht ist, beschädigt wird, wird eine große negative Belohnung erteilt.
-
Belohnung 4: Bearbeitungsgenauigkeit (positive/negative Belohnung)
-
Wenn die Bearbeitungsgenauigkeit eines Werkstücks, das durch die Vorgänge (Bearbeitungsvorgängen) der Maschine 2 bearbeitet wird, höher als ein vorgeschriebener Referenzwert ist, der im Voraus eingestellt wird (wenn beispielsweise ein Dimensionsfehler zwischen einer Werkstückzeichnung, die mit CAD oder dergleichen angefertigt wurde, und einem bearbeiteten Werkstück kleiner als der vorgeschriebene Referenzwert ist, der im Voraus eingestellt wird), wird je nach Ausmaß eine positive Belohnung erteilt.
-
Wenn dagegen die Bearbeitungsgenauigkeit des Werkstücks, das durch die Vorgänge (Bearbeitungsvorgänge) der Maschine 2 bearbeitet wird, niedriger als der vorgeschriebene Referenzwert ist (wenn beispielsweise der Dimensionsfehler zwischen der Werkstückzeichnung, die mit CAD oder dergleichen angefertigt wurde, und dem bearbeiteten Werkstück größer als der vorgeschriebene Referenzwert ist, der im Voraus eingestellt wird), wird je nach Ausmaß eine negative Belohnung erteilt.
-
Der Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung führt das maschinelle Lernen (Verstärkungslernen) basierend auf Zustandsdaten, die durch den Teil 21 zum Beobachten von Zuständen beobachtet werden, der Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung (Ausgabe eines Anpassungsbetrags), die durch den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung ausgeführt wird, selber und einer Belohnung, die durch den Teil 24 zum Berechnen von Belohnungen berechnet wird, aus. Beim maschinellen Lernen, das durch den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung ausgeführt wird, wird ein Zustand st durch die Kombination von Zustandsdaten zu einer gewissen Zeit t definiert, die Bestimmung der Anpassungsaktion eines Werts zum Einstellen einer Übersteuerungsregelung und die Ausgabe der bestimmten Anpassungsaktion an die numerische Steuerung 1 durch den Teil 27 zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung, der noch beschrieben wird, gemäß dem definierten Zustand st, um den Wert zum Einstellen einer Übersteuerungsregelung tatsächlich anzupassen, entsprechen einer Aktion at, und ein Wert, der durch den Teil 24 zum Berechnen von Belohnungen basierend auf Zustandsdaten, die durch den Teil 21 zum Beobachten von Zuständen erfasst werden, als Ergebnis der Anpassung des Werts zum Einstellen einer Übersteuerungsregelung und der Steuerung der Aktion der Maschine 2 berechnet wird, entspricht einer Belohnung rt+1.
-
Eine Wertfunktion für das Lernen wird gemäß einem angewendeten Lernalgorithmus bestimmt. Wenn beispielsweise das Q-Lernen verwendet wird, reicht es, eine Aktionswertfunktion Q(st, at) gemäß der obigen Formel (3) zu aktualisieren, um das Lernen zu verbessern.
-
Der Teil 26 zum Speichern von Lernergebnissen speichert ein Ergebnis des maschinellen Lernens, das durch den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung ausgeführt wird. Wenn zudem der Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung ein Lernergebnis erneut verwendet, gibt der Teil 26 zum Speichern von Lernergebnissen das gespeicherte Lernergebnis an den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung aus. Wie zuvor beschrieben kann ein Lernergebnis derart gespeichert werden, dass eine Wertfunktion, die einem zu verwendenden maschinellen Lernalgorithmus entspricht, beispielsweise in einer Vorrichtung zum betreuten Lernen, wie etwa in einer Support-Vektor-Maschine (SVM) und einem neuronalen Netzwerk einer Näherungsfunktion, einer Anordnung oder einer Mehrwertausgabe gespeichert wird.
-
Es sei zu beachten, dass es auch möglich ist, dass der Teil 26 zum Speichern von Lernergebnissen ein Lernergebnis, das in anderen numerischen Steuerungen 1 oder dem intensiven Verwaltungssystem 30 gespeichert ist, empfängt und speichert, oder dass es möglich ist, dass der Teil 26 zum Speichern von Lernergebnissen ein Lernergebnis, das in dem Teil 26 zum Speichern von Lernergebnissen gespeichert wird, an andere numerische Steuerungen 1 oder das intensive Verwaltungssystem 30 ausgibt.
-
Der Teil 27 zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung bestimmt die Anpassungsaktion eines Werts zum Einstellen einer Übersteuerungsregelung basierend auf einem Lernergebnis, das durch den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung erlernt wird (und in dem Teil 26 zum Speichern von Lernergebnissen gespeichert wird), und auf Zustandsdaten, die durch den Teil zum Beobachten von Zuständen 21 beobachtet werden, und gibt ein Bestimmungsergebnis (Anpassungsbetrag des Werts zum Einstellen einer Übersteuerungsregelung) an den Steuerungsteil 10 aus. Die Bestimmung der Anpassungsaktion des Werts zum Einstellen einer Übersteuerungsregelung entspricht dabei einer Aktion a zum maschinellen Lernen. Die Anpassungsaktion des Werts zum Einstellen einer Übersteuerungsregelung kann derart ausgeführt werden, dass die Auswahl einer Verstärkung (Kp, KI oder Kd) als Anpassungsziel und ein Anpassungsausmaß der ausgewählten Verstärkung zusammen kombiniert werden, jeweilige Kombinationen eingestellt werden und als auswählbare Aktionen vorbereitet werden (beispielsweise eine Aktion 1 = die Verstärkung KP wird auf XX eingestellt, eine Aktion 2 = die Verstärkung KI wird auf +YY eingestellt, ...), und eine Aktion, durch welche die größte Belohnung in Zukunft basierend auf einem früheren Lernergebnis erzielt wird, wird ausgewählt. Die auswählbaren Aktionen können Aktionen sein, durch die eine Mehrzahl von Verstärkungen zur gleichen Zeit angepasst wird. Zudem kann das obige ε-Greedy-Verfahren verwendet werden, um eine Zufallsaktion mit einer vorgeschriebenen Wahrscheinlichkeit zum Zweck des Verbesserns des Lernens des Teils 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung, der noch beschrieben wird, auszuwählen.
-
Dann passt der Steuerungsteil 10 einen Wert zum Einstellen einer Übersteuerungsregelung basierend auf einem Anpassungsbetrag eines Werts zum Einstellen einer Übersteuerungsregelung, die von dem Teil 27 zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung empfangen wird, an.
-
Es erfolgt eine Beschreibung mit Bezug auf das Ablaufschema aus 7 des Ablaufs des maschinellen Lernens, das durch den Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung ausgeführt wird.
-
Schritt SA01. Wenn das maschinelle Lernen beginnt, beobachtet der Teil zum Beobachten von Zuständen 21 die Zustände der numerischen Steuerung 1 und der Maschine 2 als Zustandsdaten anhand des Steuerungsteils 10.
-
Schritt SA02. Der Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung gibt einen aktuellen Zustand st basierend auf den Zustandsdaten, die durch den Teil zum Beobachten von Zuständen 21 beobachtet werden, vor.
-
Schritt SA03. Der Teil 27 zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung wählt eine Aktion at (Anpassungsaktion eines Werts zum Einstellen einer Übersteuerungsregelung) basierend auf einem früheren Lernergebnis und dem in Schritt SA02 vorgegebenen Zustand st aus.
-
Schritt SA04. Der Steuerungsteil 10 führt die Anpassungsaktion at des Werts zum Einstellen einer Übersteuerungsregelung aus, die in Schritt SA03 ausgewählt wurde.
-
Schritt SA05. Der Teil zum Beobachten von Zuständen 21 erfasst die Zustände der numerischen Steuerung 1 und der Maschine 2 als Zustandsdaten. In dieser Phase ändern sich die Zustände der numerischen Steuerung 1 und der Maschine 2 mit einem zeitlichen Übergang von einem Zeitpunkt t auf einen Zeitpunkt t+1 infolge der Aktion at, die in Schritt SA04 ausgeführt wurde.
-
Schritt SA06. Der Teil 24 zum Berechnen von Belohnungen berechnet eine Belohnung rt+1 basierend auf den Zustandsdaten, die in Schritt SA05 erfasst wurden.
-
Schritt SA07. Der Teil 25 zum Lernen einer Anpassung eines Werts zum Einstellen einer Übersteuerungsregelung verbessert das maschinelle Lernen basierend auf dem Zustand st, der in Schritt SA02 vorgegeben wurde, der Aktion at, die in Schritt SA03 ausgewählt wurde, und der Belohnung rt+1, die in Schritt SA06 berechnet wurde, und der Prozess kehrt zu Schritt SA02 zurück.
-
Wie zuvor beschrieben wird ein Wert zum Einstellen einer Übersteuerungsregelung basierend auf der Bestimmung des Teils 27 zum Bestimmen eines Anpassungsbetrags eines Werts zum Einstellen einer Übersteuerungsregelung angepasst, die Maschine 2 wird durch den angepassten Wert zum Einstellen einer Übersteuerungsregelung gesteuert, um zu funktionieren (um ein Werkstück zu bearbeiten), Zustandsdaten werden durch den Teil zum Beobachten von Zuständen 21 beobachtet, und das maschinelle Lernen wird wiederholt ausgeführt. Somit kann ein noch besseres Lernergebnis erfasst werden.
-
Wenn ein Wert zum Einstellen einer Übersteuerungsregelung unter Verwendung von Lerndaten, die dem obigen maschinellen Lernen ausreichend ausgesetzt wurden, tatsächlich angepasst wird, kann die maschinelle Lernvorrichtung 20 derart betätigt werden, dass sie kein neues Lernen unter Verwendung der Lerndaten, die dem maschinellen Lernen an sich ausreichend ausgesetzt wurden, ausführt.
-
Zudem kann die maschinelle Lernvorrichtung 20, die das maschinelle Lernen beendet hat (oder die maschinelle Lernvorrichtung 20, auf die fertige Lerndaten von anderen maschinellen Lernvorrichtungen 20 kopiert wurden), an andere numerische Steuerungen 1 angeschlossen werden und unter Verwendung der Lerndaten, die dem maschinellen Lernen an sich ausreichend ausgesetzt wurden, betätigt werden.
-
Die maschinelle Lernvorrichtung 20 der numerischen Steuerung 1 kann das maschinelle Lernen allein ausführen. Wenn jedoch eine Mehrzahl von numerischen Steuerungen 1 ferner eine Einheit aufweist, die verwendet wird, um mit dem Äußeren zu kommunizieren, ist es möglich, eine Wertfunktion, die in jedem von den Teilen zum Speichern von Lernergebnissen 26 gespeichert ist, zu senden/empfangen und zu teilen. Somit kann das maschinelle Lernen effizienter ausgeführt werden. Beispielsweise wird das parallele Lernen zwischen einer Mehrzahl von numerischen Steuerungen 1 derart verbessert, dass Zustandsdaten und Wertfunktionen, die als Lernergebnisse dienen, zwischen den numerischen Steuerungen 1 ausgetauscht werden, während Anpassungsziele und Anpassungsbeträge, die für die Mehrzahl von numerischen Steuerungen 1 unterschiedlich sind, innerhalb eines vorbeschriebenen Bereichs variieren. Somit kann das Lernen effizienter ausgeführt werden.
-
Um die Zustandsdaten und die Wertfunktionen zwischen einer Mehrzahl von numerischen Steuerungen 1 wie zuvor beschrieben auszutauschen, kann eine Kommunikation anhand eines Verwaltungsgeräts oder dergleichen (nicht gezeigt) ausgeführt werden, die numerischen Steuerungen 1 können direkt miteinander kommunizieren, oder es kann eine Cloud verwendet werden. Zur Handhabung großer Datenmengen wird jedoch bevorzugt eine Kommunikationseinheit mit einer schnelleren Kommunikationsgeschwindigkeit bereitgestellt.
-
Die Ausführungsform der vorliegenden Erfindung wurde zuvor beschrieben. Die vorliegende Erfindung ist jedoch nicht nur auf das Beispiel der obigen Ausführungsform eingeschränkt und kann bei diversen Aspekten mit geeigneten Änderungen ausgeführt werden.
-
Beispielsweise sind die Beziehungen zwischen den jeweiligen Funktionseinheiten, die in der numerischen Steuerung 1 bereitgestellt werden, die bei der obigen Ausführungsform beschrieben wird, nicht auf diejenigen eingeschränkt, die in dem Funktionsblockdiagramm aus 6 gezeigt werden. D.h. die Funktionen können in einer beliebigen Einheit aufgeteilt sein, oder eine beliebige hierarchische Beziehung kann zwischen den Funktionen hergestellt werden, solange Konfigurationen bereitgestellt werden, die den Funktionen der jeweiligen Funktionseinheiten entsprechen.
-
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
-