-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine maschinelle Lernvorrichtung und ein maschinelles Lernverfahren.
-
Stand der Technik
-
In jüngster Zeit wird das maschinelle Lernen in vielen Bereichen eingesetzt. Bei einem überwachten Lernalgorithmus wird ein trainiertes Modell (z. B. ein Klassifikator für ein Klassifizierungsproblem oder ein neuronales Netz) durch Training mit Trainingsdaten erstellt, und sogar ein nicht gelernter Fall wird anhand des erstellten trainierten Modells abgeleitet. Hier ist es schwierig, ein trainiertes Modell mit einer guten Leistung zu erzeugen.
-
Als eine Lösungsmethode wird die Variation der Trainingsdaten erhöht, um das Training durchzuführen. So wird beispielsweise eine Technologie zur Durchführung eines Ensemble-Trainings vorgeschlagen, das auf einer Vielzahl von trainierten Modellen basiert, die unter Verwendung einer Vielzahl von Trainingsdaten erzeugt werden, um verschiedene Objekte zu erkennen. Siehe z. B. Patentdokument 1.
-
Patentdokument 1: Ungeprüfte japanische Patentanmeldung, Veröffentlichung Nr.
2020-77231
-
Offenbarung der Erfindung
-
Durch die Erfindung zu lösende Probleme
-
Als zweite Lösungsmethode wird viel Zeit darauf verwendet, verschiedene Trainingsparameter (im Folgenden auch „Hyperparameter“ genannt), die in einem trainierten Modell enthalten sind, gut einzustellen. Es gibt jedoch die folgenden drei Probleme.
- (1) Die Methode, die Variation der Trainingsdaten zu erhöhen, um ein Training durchzuführen, hat ihre Grenzen. Es kann der Fall eintreten, dass selbst bei einer Erhöhung der Variation das Training nicht gut durchgeführt werden kann und es viel Zeit und Mühe kostet, eine große Menge an Trainingsdaten zu sammeln.
- (2) Es ist schwierig, verschiedene Trainingsparameter (Hyperparameter), die in einem trainierten Modell enthalten sind, anzupassen. Es besteht das Problem, dass trotz des hohen Zeitaufwands für die Anpassung keine gute Leistung erzielt wird.
- (3) Im technischen Bereich der Bilderkennung besteht das Problem, dass als Ergebnis der Schlussfolgerung unter Verwendung eines trainierten Modells, das durch Training unter Verwendung von Trainingsbilddaten erzeugt wurde, ein Werkstück in einem Schlussfolgerungsbild nicht erkannt wird und das Werkstück zum Zeitpunkt der Entnahme von Werkstücken übrigbleibt, so dass die Produktionseffizienz sinkt.
-
Daher ist es wünschenswert, den Zeit- und Arbeitsaufwand für das Sammeln von Trainingsdaten zu reduzieren und auch mit einer kleinen Menge an Trainingsdaten eine gute Leistung zu erzielen.
-
Mittel zur Lösung der Probleme
-
Ein Aspekt einer maschinellen Lernvorrichtung der vorliegenden Offenbarung ist eine maschinelle Lernvorrichtung, die Folgendes umfasst: eine Erfassungseinheit, die so konfiguriert ist, dass sie Trainingsdaten und Schlussfolgerungsdaten zur Verwendung für maschinelles Lernen erfasst; eine Trainingseinheit, die so konfiguriert ist, dass sie maschinelles Lernen auf der Grundlage der Trainingsdaten und einer Vielzahl von Trainingsparametersätzen durchführt und eine Vielzahl von trainierten Modellen erzeugt; eine Modellbewertungseinheit, die so konfiguriert ist, dass sie evaluiert, ob trainierte Ergebnisse der Vielzahl von trainierten Modellen gut oder schlecht sind, und die bewerteten Ergebnisse anzeigt; eine Modellauswahleinheit, die in der Lage ist, die Auswahl eines trainierten Modells zu akzeptieren; eine Schlussfolgerungsberechnungseinheit, die so konfiguriert ist, dass sie einen Schlussfolgerungsberechnungsprozess auf der Grundlage von zumindest einem Teil der mehreren trainierten Modelle und der Schlussfolgerungsdaten durchführt und Schlussfolgerungsergebniskandidaten erzeugt; und eine Schlussfolgerungsentscheidungseinheit, die so konfiguriert ist, dass sie alle oder einen Teil oder eine Kombination der Schlussfolgerungsergebniskandidaten ausgibt.
-
Ein maschinelles Lernverfahren der vorliegenden Offenbarung ist ein maschinelles Lernverfahren, das von einem Computer ausgeführt wird, wobei das maschinelle Lernverfahren umfasst: einen Erfassungsschritt des Erfassens von Trainingsdaten und Schlussfolgerungsdaten zur Verwendung für maschinelles Lernen; einen Trainingsschritt des Durchführens von maschinellem Lernen auf der Grundlage der Trainingsdaten und einer Vielzahl von Trainingsparametersätzen und des Erzeugens einer Vielzahl von trainierten Modellen; einen Modellbewertungsschritt des Bewertens, ob trainierte Ergebnisse der Vielzahl von trainierten Modellen gut oder schlecht sind, und des Anzeigens von bewerteten Ergebnissen; einen Modellauswahlschritt, um die Annahme der Auswahl eines trainierten Modells zu ermöglichen; einen Schlussfolgerungsberechnungsschritt, um einen Schlussfolgerungsberechnungsprozess auf der Grundlage von zumindest einem Teil der Vielzahl von trainierten Modellen und den Schlussfolgerungsdaten durchzuführen, wobei Schlussfolgerungsergebniskandidaten erzeugt werden; und einen Schlussfolgerungsentscheidungsschritt, um alle, einen Teil oder eine Kombination der Schlussfolgerungsergebniskandidaten auszugeben.
-
Auswirkungen der Erfindung
-
Einem Aspekt zufolge ist es möglich, den Zeit- und Arbeitsaufwand für das Sammeln von Trainingsdaten zu reduzieren und eine gute Leistung mit einer geringen Menge an Trainingsdaten zu erzielen.
-
Kurze Beschreibung der Zeichnungen
-
- 1 ist ein Diagramm, das ein Beispiel für eine Konfiguration eines Robotersystems gemäß einer Ausführungsform zeigt;
- 2 ist ein funktionelles Blockdiagramm, das ein Beispiel für eine funktionelle Konfiguration einer Robotersteuervorrichtung gemäß der einen Ausführungsform zeigt;
- 3 ist ein funktionelles Blockdiagramm, das ein Beispiel für die funktionelle Konfiguration einer maschinellen Lernvorrichtung gemäß der einen Ausführungsform zeigt;
- 4 ist ein Flussdiagramm, das einen maschinellen Lernprozess der maschinellen Lernvorrichtung in einer Trainingsphase illustriert; und
- 5 ist ein Flussdiagramm, das einen Schlussfolgerungsberechnungsprozess der maschinellen Lernvorrichtung in einer Betriebsphase zeigt.
-
Bevorzugte Ausführungsform der Erfindung
-
<Eine Ausführungsform>
-
Eine Konfiguration der vorliegenden Ausführungsform wird anhand von Zeichnungen im Detail beschrieben.
-
1 ist ein Diagramm, das ein Beispiel für eine Konfiguration eines Robotersystems 1 gemäß einer Ausführungsform zeigt.
-
Wie in 1 dargestellt, verfügt das Robotersystem 1 über eine maschinelle Lernvorrichtung 10, eine Robotersteuervorrichtung 20, einen Roboter 30, ein Messgerät 40, eine Vielzahl von Werkstücken 50 und einen Behälter 60.
-
Die maschinelle Lernvorrichtung 10, die Robotersteuervorrichtung 20, der Roboter 30 und das Messgerät 40 können über nicht dargestellte Verbindungsschnittstellen direkt miteinander verbunden sein. Die maschinelle Lernvorrichtung 10, die Robotersteuervorrichtung 20, der Roboter 30 und das Messgerät 40 können über ein nicht dargestelltes Netzwerk, wie z. B. ein LAN (Local Area Network) oder das Internet, miteinander verbunden sein. In diesem Fall sind die maschinelle Lernvorrichtung 10, die Robotersteuervorrichtung 20, der Roboter 30 und das Messgerät 40 mit nicht dargestellten Kommunikationseinheiten ausgestattet, um eine gegenseitige Kommunikation durch eine solche Verbindung wie oben durchzuführen. In 1 sind die maschinelle Lernvorrichtung 10 und die Robotersteuervorrichtung 20 unabhängig voneinander dargestellt, um die Beschreibung zu erleichtern, und die maschinelle Lernvorrichtung 10 kann in diesem Fall beispielsweise mit einem Computer konfiguriert werden. Die vorliegende Erfindung ist nicht auf eine solche Konfiguration beschränkt, und zum Beispiel kann die maschinelle Lernvorrichtung 10 innerhalb der Robotersteuervorrichtung 20 implementiert und in die Robotersteuervorrichtung 20 integriert werden.
-
<Robotersteuervorrichtung 20>
-
Die Robotersteuervorrichtung 20 ist eine Vorrichtung zur Steuerung der Bewegungen des Roboters 30, die dem Fachmann gut bekannt ist. Beispielsweise empfängt die Robotersteuervorrichtung 20 von der maschinellen Lernvorrichtung 10, die später beschrieben wird, Informationen über die Entnahmeposition eines Werkstücks 50, das von der maschinellen Lernvorrichtung 10 aus den in großen Mengen aufgestapelten Werkstücken 50 ausgewählt wurde. Die Robotersteuervorrichtung 20 erzeugt ein Steuersignal zur Steuerung der Bewegungen des Roboters 30, um das Werkstück 50, das sich an der von der maschinellen Lernvorrichtung 10 empfangenen Entnahmeposition befindet, zu entnehmen. Dann gibt die Robotersteuervorrichtung 20 das erzeugte Steuersignal an den Roboter 30 aus. Ferner gibt die Robotersteuervorrichtung 20 ein Ausführungsergebnis einer Entnahmebewegung durch den Roboter 30 an die maschinelle Lernvorrichtung 10 aus.
-
2 ist ein funktionelles Blockdiagramm, das ein Beispiel für eine funktionelle Konfiguration der Robotersteuervorrichtung 20 gemäß der einen Ausführungsform zeigt.
-
Die Robotersteuervorrichtung 20 ist ein Computer, der dem Fachmann gut bekannt ist, und umfasst eine Steuereinheit 21, wie in 2 gezeigt. Die Steuereinheit 21 umfasst eine Bewegungsausführungseinheit 210.
-
<Steuereinheit 21 >
-
Die Steuereinheit 21 umfasst eine CPU (Zentraleinheit), einen ROM (Speicher mit wahlfreiem Zugriff), einen CMOS-Speicher (komplementärer Metall-Oxid-Halbleiter-Speicher) und dergleichen. Diese sind so konfiguriert, dass sie über einen Bus miteinander kommunizieren können, und sind dem Fachmann gut bekannt.
-
Die CPU ist ein Prozessor, der die Gesamtsteuerung der Robotersteuervorrichtung 20 durchführt. Die CPU liest ein Systemprogramm und ein Anwendungsprogramm, die im ROM gespeichert sind, über den Bus aus und führt die Gesamtsteuerung der Robotersteuervorrichtung 20 gemäß dem Systemprogramm und dem Anwendungsprogramm durch. Dabei ist die Steuereinheit 21 so konfiguriert, dass sie die Funktionen der Bewegungsausführungseinheit 210, wie in 2 gezeigt, realisiert. Im RAM werden verschiedene Arten von Daten wie temporäre Berechnungsdaten und Anzeigedaten gespeichert. Der CMOS-Speicher wird durch eine nicht dargestellte Batterie gestützt und ist als nichtflüchtiger Speicher konfiguriert, in dem ein gespeicherter Zustand auch dann erhalten bleibt, wenn die Robotersteuervorrichtung 20 ausgeschaltet wird.
-
<Bewegungsausführungseinheit 210>
-
Die Bewegungsausführungseinheit 210 steuert eine Entnahmehand 31 des Roboters 30, die später beschrieben wird, um ein Werkstück 50 durch die Entnahmehand 31 zu entnehmen, basierend auf einem Entnahmepositions-Schlussfolgerungsergebnis, das von der später beschriebenen maschinellen Lernvorrichtung 10 ausgegeben wird. Die Bewegungsausführungseinheit 210 kann Informationen, die anzeigen, ob das Herausnehmen des Werkstücks 50 durch die Entnahmehand 31 erfolgreich ist oder nicht, an die maschinelle Lernvorrichtung 10 als ein Ausführungsergebnis einer Entnahmebewegung zurückmelden, beispielsweise basierend auf einem Signal von einem Sensor, der an der Entnahmehand 31 installiert ist.
-
Die Robotersteuervorrichtung 20 kann die später beschriebene maschinelle Lernvorrichtung 10 enthalten.
-
Der Roboter 30 ist ein Roboter, der eine Bewegung basierend auf der Steuerung durch die Robotersteuervorrichtung 20 ausführt. Der Roboter 30 ist mit einem Basisteil versehen, das sich um eine Achse in vertikaler Richtung dreht, einem Arm, der sich bewegt und dreht, und der Entnahmehand 31, die an dem Arm angebracht ist, um ein Werkstück 50 zu halten.
-
Insbesondere kann die Entnahmehand 31 eine beliebige Konfiguration aufweisen, die in der Lage ist, jeweils ein Werkstück 50 zu halten. Zum Beispiel kann die Entnahmehand 31 so konfiguriert sein, dass sie ein Adsorptionskissen zum Aufnehmen eines Werkstücks 50 hat.
-
So kann die Entnahmehand 31 eine Adsorptionshand sein, die ein Werkstück 50 unter Verwendung von Luftdichtheit aufnimmt, aber auch eine Saughand mit starker Saugkraft, die keine Luftdichtheit erfordert. Ferner kann die Entnahmehand 31 als Greifhand mit einem Paar oder drei oder mehr Greiffingern zum Greifen und Halten des Werkstücks 50 oder mit einer Vielzahl von Adsorptionskissen konfiguriert sein. Alternativ kann die Entnahmehand 31 so konfiguriert sein, dass sie eine solche magnetische Hand hat, die ein Werkstück 50 aus Eisen oder ähnlichem magnetisch hält.
-
Wenn die Entnahmehand 31 beispielsweise eine Hand mit Luftansaugung ist, kann die Entnahmehand 31 mit einem Sensor ausgestattet sein, der eine Änderung des Luftdrucks in der Hand zwischen dem Zeitpunkt, zu dem ein Werkstück 50 gehalten wird, und dem Zeitpunkt, zu dem ein Werkstück 50 nicht gehalten wird, erfasst. Wenn die Entnahmehand 31 eine Greifhand ist, kann die Entnahmehand 31 mit einem Kontaktsensor, einem Kraftsensor oder ähnlichem ausgestattet sein, der erfasst, ob ein Werkstück gehalten wird oder nicht, und kann mit einem Positionssensor ausgestattet sein, der die Positionen der Greiffinger erfasst, die eine Bewegung ausführen. Wenn die Entnahmehand 31 eine magnetische Hand ist, kann die Entnahmehand 31 mit einem Permanentmagneten innerhalb der Hand und mit einem Positionssensor ausgestattet sein, der die Position desselben erfasst.
-
Der Roboter 30 treibt den Arm und die Entnahmehand 31 in Reaktion auf ein von der Robotersteuervorrichtung 20 ausgegebenes Steuersignal an, veranlasst die Entnahmehand 31, sich zu einer von der maschinellen Lernvorrichtung 10 ausgewählten Entnahmeposition zu bewegen, und hält und entnimmt jedes der in loser Schüttung aufgestapelten Werkstücke 50 aus dem Behälter 60. In diesem Fall kann die Bewegungsausführungseinheit 210 der Robotersteuervorrichtung 20 automatisch Informationen darüber sammeln, ob die Entnahme des Werkstücks 50 erfolgreich ist oder nicht, als ein Ausführungsergebnis der Entnahmebewegung, basierend auf einem Signal von dem in der Entnahmehand 31 implementierten Sensor, und das gesammelte Ausführungsergebnis an die maschinelle Lernvorrichtung 10 zurückführen.
-
Ein Zielort für die Übergabe des entnommenen Werkstücks 50 ist nicht dargestellt. Da die spezifische Konfiguration des Roboters 30 dem Fachmann gut bekannt ist, wird auf Einzelheiten verzichtet.
-
Es wird davon ausgegangen, dass in der maschinellen Lernvorrichtung 10 und der Robotersteuervorrichtung 20 ein Maschinenkoordinatensystem zur Steuerung des Roboters 30 und ein Koordinatensystem des später beschriebenen Messgeräts 40, das eine Position zur Entnahme eines Werkstücks 50 anzeigt, durch eine im Voraus durchgeführte Kalibrierung verbunden sind.
-
Das Messgerät 40 ist beispielsweise so konfiguriert, dass es einen Kamerasensor und dergleichen enthält. Das Messgerät 40 kann ein Bild im sichtbaren Bereich erfassen, wie z. B. ein RGB-Farbbild, ein Graustufenbild oder ein Tiefenbild von zweidimensionalen Bilddaten, die durch Projektion der im Behälter 60 aufgestapelten Werkstücke 50 auf eine Ebene senkrecht zu einer optischen Achse des Messgeräts 40 erhalten werden. Ferner kann das Messgerät 40 so konfiguriert sein, dass es einen Infrarotsensor enthält, um ein Wärmebild zu erfassen, oder es kann so konfiguriert sein, dass es einen UV-Sensor enthält und ein UV-Bild zur Inspektion von Kratzern, Flecken und dergleichen auf der Oberfläche eines Objekts erfasst. Ferner kann das Messgerät 40 so konfiguriert sein, dass es einen Röntgenkamerasensor enthält, um ein Röntgenbild aufzunehmen, oder es kann so konfiguriert sein, dass es einen Ultraschallsensor enthält, um ein Ultraschallbild aufzunehmen.
-
Das Messgerät 40 kann ein dreidimensionales Messgerät sein und so konfiguriert sein, dass es dreidimensionale Informationen mit Pixelwerten erfasst, bei denen es sich um Werte handelt, die aus Abständen zwischen einer Ebene senkrecht zu einer optischen Achse des dreidimensionalen Messgeräts und Punkten auf der Oberfläche der in dem Behälter 60 aufgestapelten Werkstücke 50 umgerechnet werden (im Folgenden auch als „Abstandsbild“ bezeichnet). Beispielsweise wird, wie in 1 gezeigt, der Pixelwert eines Punktes A auf den Werkstücken 50 auf einem Abstandsbild durch Umrechnung aus einem Abstand zwischen dem Messgerät 40 und dem Punkt A auf den Werkstücken 50 (einer Höhe vom Messgerät 40) in einer Z-Achsenrichtung in einem dreidimensionalen Koordinatensystem (X, Y, Z) des Messgeräts 40 erhalten. Das heißt, die Z-Achsenrichtung des dreidimensionalen Koordinatensystems ist eine Richtung der optischen Achse des Messgeräts 40. Das Messgerät 40 kann beispielsweise mit einer Stereokamera, einer an der Handspitze oder einer beweglichen Vorrichtung des Roboters 30 befestigten Kamera oder einer Kombination aus einer Kamera und einem Abstandssensor, wie z. B. einem Laserscanner oder einem Schallsensor, ausgestattet sein und dreidimensionale Punktwolkendaten der mehreren in den Behälter 60 geladenen Werkstücke 50 erfassen. Die dreidimensionalen Punktwolkendaten, die wie oben beschrieben erfasst werden, können in einer 3D-Ansicht angezeigt werden, die von jedem Standpunkt im dreidimensionalen Raum aus bestätigt werden kann, und es handelt sich um diskretisierte Daten, aus denen ein Zustand der Vielzahl der in den Behälter 60 geladenen Werkstücke 50, die gestapelt werden, dreidimensional bestätigt werden kann.
-
Die Werkstücke 50 werden in einem ungeordneten Zustand abgelegt, einschließlich eines Zustands, in dem sie als Schüttgut im Behälter 60 aufgestapelt sind. Ein Werkstück 50 kann alles sein, was von der am Arm des Roboters 30 angebrachten Entnahmehand 31 gehalten werden kann, und seine Form und dergleichen sind nicht besonders begrenzt.
-
<Maschinelle Lernvorrichtung 10>
-
3 ist ein funktionales Blockdiagramm, das ein funktionales Konfigurationsbeispiel der maschinellen Lernvorrichtung 10 gemäß der einen Ausführungsform zeigt.
-
Bei der maschinellen Lernvorrichtung 10 kann es sich um einen Computer handeln, der dem Fachmann gut bekannt ist, und sie umfasst eine Steuereinheit 11, wie in 3 gezeigt. Die Steuereinheit 11 umfasst eine Erfassungseinheit 110, eine Parameterextraktionseinheit 111, eine Trainingseinheit 112, eine Modellbewertungseinheit 113, eine Modellauswahleinheit 114, eine Schlussfolgerungsberechnungseinheit 115 und eine Schlussfolgerungsentscheidungseinheit 116. Die Erfassungseinheit 110 umfasst eine Datenspeichereinheit 1101.
-
< Steuereinheit 11>
-
Die Steuereinheit 11 umfasst eine CPU, einen ROM, einen RAM, einen CMOS-Speicher und dergleichen, die so konfiguriert sind, dass sie über einen Bus miteinander kommunizieren können, und die dem Fachmann gut bekannt sind.
-
Die CPU ist ein Prozessor, der die Gesamtsteuerung der maschinellen Lernvorrichtung 10 durchführt. Die CPU liest ein Systemprogramm und ein Anwendungsprogramm, die im ROM gespeichert sind, über den Bus aus und führt die Gesamtsteuerung der maschinellen Lernvorrichtung 10 gemäß dem Systemprogramm und dem Anwendungsprogramm durch. Dabei ist die Steuereinheit 11, wie in 3 gezeigt, so konfiguriert, dass sie die Funktionen der Erfassungseinheit 110, der Parameterextraktionseinheit 111, der Trainingseinheit 112, der Modellbewertungseinheit 113, der Modellauswahleinheit 114, der Schlussfolgerungsberechnungseinheit 115 und der Schlussfolgerungsentscheidungseinheit 116 realisiert. Die Erfassungseinheit 110 ist so konfiguriert, dass sie die Funktionen einer Datenspeichereinheit 1101 realisiert. Im RAM werden verschiedene Arten von Daten wie temporäre Berechnungsdaten und Anzeigedaten gespeichert. Der CMOS-Speicher wird durch eine nicht dargestellte Batterie gestützt und ist als nichtflüchtiger Speicher konfiguriert, in dem ein Speicherzustand beibehalten wird, selbst wenn die maschinelle Lernvorrichtung 10 ausgeschaltet ist.
-
<Erfassungseinheit 110>
-
Die Erfassungseinheit 110 kann so konfiguriert sein, dass sie die Datenspeichereinheit 1101 enthält, und kann so konfiguriert sein, dass sie Trainingsdaten zur Verwendung für maschinelles Lernen von einer Datenbank 70 in einer Cloud oder einem Edge-Gerät erfasst und die Trainingsdaten in der Datenspeichereinheit 1101 speichert. Zum Beispiel erwirbt die Erfassungseinheit 110 Trainingsdaten, die in einem Aufzeichnungsmedium, wie einem HDD (Festplattenlaufwerk) oder einem USB (Universal Serial Bus)-Speicher, aufgezeichnet sind, von der Datenbank 70 in der Cloud oder dem Edge-Gerät über ein Netzwerk, wie ein LAN, und kopiert und speichert die Trainingsdaten in ein Aufzeichnungsmedium (die Datenspeichereinheit 1101), wie ein HDD oder einen USB-Speicher, der maschinellen Lernvorrichtung 10.
-
Darüber hinaus kann die Erfassungseinheit 110 so konfiguriert sein, dass sie Schlussfolgerungsdaten zur Verwendung für maschinelles Lernen vom Messgerät 40 erfasst und die Schlussfolgerungsdaten in der Datenspeichereinheit 1101 speichert. Bei den Schlussfolgerungsdaten kann es sich um Bilddaten oder um dreidimensionale Punktwolkendaten als dreidimensionale Messdaten oder Abstandsbilder handeln.
-
< Parameterextraktionseinheit 111>
-
Die Parameterextraktionseinheit 111 kann so konfiguriert sein, dass sie wichtige Hyperparameter und dergleichen aus allen Hyperparametern und dergleichen extrahiert.
-
Insbesondere kann die Parameterextraktionseinheit 111 z. B. den Grad des Beitrags zur trainierten Leistung definieren und bewerten und Hyperparameter und Ähnliches mit hohem Beitragsgrad als wichtige Hyperparameter und Ähnliches extrahieren. Zum Beispiel dient eine Verlustfunktion dazu, eine Differenz zwischen einem Vorhersageergebnis durch ein trainiertes Modell und Lehrerdaten zu bewerten, und eine bessere Leistung wird erzielt, wenn der Verlust kleiner ist. Daher können Hyperparameter in der Verlustfunktion als wichtige Hyperparameter extrahiert werden, indem der Grad des Beitrags der Hyperparameter höher als der Grad von Hyperparametern wie einer Lernrate und einer Stapelgröße eingestellt wird.
-
Darüber hinaus kann die Parameterextraktionseinheit 111 so angepasst werden, dass sie die Unabhängigkeit jeder der verschiedenen Arten von Hyperparametern prüft und unabhängige Hyperparameter, die nicht voneinander abhängig sind, als die wichtigen Hyperparameter extrahiert.
-
Die Parameterextraktionseinheit 111 kann so konfiguriert sein, dass sie für eine Vielzahl von Hyperparametern, denen durch das obige Verfahren Beitragsgrade zugewiesen wurden, die Anzahl der Hyperparameter zum Zeitpunkt der Durchführung des maschinellen Lernens stufenweise verringert.
-
Insbesondere zum Zeitpunkt der Durchführung des maschinellen Lernens, wenn die später beschriebene Modellbewertungseinheit 113 online bewertet, ob ein trainiertes Modell gut ist oder nicht, und feststellt, dass ein Ausgabewert und ein Verlust, die durch das trainierte Modell vorhergesagt wurden, fast konvergiert sind, kann die Parameterextraktionseinheit 111 feststellen, dass optimale Werte einer Lernrate und einer Trainingsepoche gefunden wurden, und danach nur noch auf die verbleibenden wichtigen Hyperparameter achten, um die Anzahl der Arten von Hyperparametern zu verringern, die Stufe für Stufe angepasst werden müssen.
-
<Trainingseinheit 112>
-
Die Trainingseinheit 112 kann so konfiguriert sein, dass sie auf der Grundlage von Trainingsdaten, die von der Erfassungseinheit 110 erfasst wurden, Hyperparameter und Ähnliches einstellt und maschinelles Lernen durchführt, um eine Vielzahl von trainierten Modellen zu erzeugen. Hier kann die Trainingseinheit 112 die Vielzahl von trainierten Modellen erzeugen, indem sie für einen Satz von Trainingsdaten eine Vielzahl von Sätzen von Hyperparametern und dergleichen für eine Vielzahl von Malen einstellt und maschinelles Lernen die Vielzahl von Malen durchführt. Ferner kann die Trainingseinheit 112 die Vielzahl von trainierten Modellen erzeugen, indem sie für jeden einer Vielzahl von Sätzen von Trainingsdaten eine Vielzahl von Sätzen von Hyperparametern und dergleichen für eine Vielzahl von Malen einstellt und maschinelles Lernen die Vielzahl von Malen durchführt.
-
Im Falle des überwachten Lernens können die für das Training zu verwendenden Trainingsdaten mit Trainingseingangsdaten und Ausgabedaten (Lehrerbeschreibungsdaten) konfiguriert werden. Ein trainiertes Modell kann mit einer Abbildungsfunktion zum Abbilden von Trainingseingangsdaten auf Ausgangsdaten (Lehrerbeschreibungsdaten) konfiguriert werden, und Hyperparameter und dergleichen können mit verschiedenen Arten von Parametern konfiguriert werden, die in der Abbildungsfunktion enthalten sind. Ferner kann ein trainiertes Modell mit einem Klassifikator (z.B. einer SVM (Support Vector Machine)) für ein Klassifizierungsproblem konfiguriert werden, um eine Klassifizierung von solchen Trainingseingangsdaten durchzuführen, bei denen die Klassifizierungsbeschriftungen (Lehrerbeschreibungsdaten) bereits bekannt sind, und Hyperparameter und dergleichen können mit Parametern und dergleichen in einer Verlustfunktion konfiguriert werden, die zur Lösung des Klassifizierungsproblems definiert ist. Oder alternativ kann ein trainiertes Modell mit einem neuronalen Netzwerk oder ähnlichem konfiguriert werden, das einen vorhergesagten Wert von Ausgabedaten aus Trainingseingabedaten berechnet, und Hyperparameter und ähnliches können mit der Anzahl von Schichten, der Anzahl von Einheiten, einer Lernrate, einer Stapelgröße, einer Trainingsepoche und ähnlichem des neuronalen Netzwerks konfiguriert werden.
-
Im Falle des unüberwachten Lernens können die für das Training zu verwendenden Trainingsdaten mit Trainingseingangsdaten konfiguriert werden. Ein trainiertes Modell wird beispielsweise mit einem Klassifikator für ein Klassifizierungsproblem konfiguriert, der eine Klassifizierung aus solchen Trainingseingangsdaten durchführt, bei denen die Klassifizierungsbeschriftungen unbekannt sind (z. B. ein k-means-Clustering-Verfahren), und Hyperparameter und dergleichen können mit Parametern und dergleichen in einer Verlustfunktion konfiguriert werden, die zur Lösung des Klassifizierungsproblems definiert ist.
-
Wenn es sich bei den Trainingseingangsdaten um Bilddaten handelt, können die Trainingsdaten so konfiguriert werden, dass sie die Bilddaten und Positionslerndaten (Lehrerbeschreibungsdaten) der in den Bilddaten gezeigten Werkstückentnahmepositionen enthalten, und ein trainiertes Modell kann mit einem CNN (Convolutional Neural Network) konfiguriert werden. Eine solche CNN-Struktur kann so konfiguriert sein, dass sie beispielsweise eine dreidimensionale (oder zweidimensionale) Faltungsschicht, eine Batch-Normalisierungsschicht zur Beibehaltung der Normalisierung von Daten, eine Aktivierungsfunktion ReLu-Schicht und Ähnliches enthält.
-
Wenn es sich bei den Trainingseingangsdaten um dreidimensionale Punktwolkendaten (oder Abstandsbilddaten) handelt, können die Trainingsdaten so konfiguriert werden, dass sie Positionslerndaten (Lehrerbeschreibungsdaten) von Werkstückentnahmepositionen in den dreidimensionalen Punktwolkendaten (oder den Abstandsbilddaten) enthalten, und ein trainiertes Modell kann mit einem CNN konfiguriert werden. Eine solche CNN-Struktur kann so konfiguriert sein, dass sie beispielsweise eine dreidimensionale (oder zweidimensionale) Faltungsschicht, eine Batch-Normalisierungsschicht zur Beibehaltung der Normalisierung von Daten, eine Aktivierungsfunktions-ReLu-Schicht und Ähnliches umfasst.
-
Wenn ein trainiertes Modell die zuvor beschriebene CNN-Struktur aufweist, ist es für die Trainingseinheit 112 möglich, beispielsweise die Anzahl der Schichten des CNN, die Anzahl der Einheiten, die Filtergröße einer Faltungsschicht, eine Lernrate, eine Stapelgröße und eine Trainingsepoche einmalig auf vorbestimmte Werte zu setzen, als einen Satz von Hyperparametern und dergleichen und das Durchführen von maschinellem Lernen mit einem Satz von Trainingsdaten als Trainingseingangsdaten ein trainiertes Modell (im Folgenden auch als „trainiertes Modell M1“ bezeichnet) zu erzeugen, wobei das trainierte Modell M1 gut in der Identifikation von makroskopischen Merkmalen auf einem Bild (zum Beispiel einer größeren Ebene) ist.
-
Wenn die Trainingsdaten beispielsweise Bilddaten und Positionslerndaten von in den Bilddaten dargestellten Werkstückentnahmepositionen enthalten, kann die Trainingseinheit 112 einen Satz von Bilddaten in das CNN, das ein trainiertes Modell ist, ersetzen, um einen vorhergesagten Wert einer Werkstückentnahmeposition durch das CNN zu berechnen und auszugeben. Durch Ausführen von maschinellem Lernen kann die Trainingseinheit 112 ein solches trainiertes Modell erzeugen, das unter Verwendung von Backpropagation, so dass eine Differenz zwischen dem ausgegebenen vorhergesagten Wert der Arbeitsentnahmeposition und den Positionslerndaten, die Lehrerbeschreibungsdaten sind, allmählich klein wird, einen vorhergesagten Wert nahe den Positionslerndaten ausgeben kann.
-
Ferner kann die Trainingseinheit 112 eine Vielzahl von trainierten Modellen erzeugen, indem sie für jeden einer Vielzahl von Trainingsdatensätzen eine Vielzahl von Sätzen von Hyperparametern und dergleichen für eine Vielzahl von Malen einstellt und ein solches maschinelles Lernen wie vor der Vielzahl von Malen beschrieben durchführt. Die mehreren Sätze von Trainingsdaten, die verwendet werden sollen, sind unabhängige Datenteile, die nicht gegenseitig voneinander abhängig sind, und die mehreren Sätze von Hyperparametern und dergleichen sind unabhängige Datenteile, die nicht gegenseitig voneinander abhängig sind. Daher kann die Trainingseinheit 112 zum Zeitpunkt der Durchführung eines solchen maschinellen Lernens, wie vor der Vielzahl von Malen beschrieben, das maschinelle Lernen parallel durchführen, um die Gesamttrainingszeit zu verkürzen.
-
Wenn ein trainiertes Modell die zuvor beschriebene CNN-Struktur aufweist, ist es für die Trainingseinheit 112 auch möglich, beispielsweise die Anzahl der Schichten des CNN, die Anzahl der Einheiten, die Filtergröße einer Faltungsschicht, eine Lernrate, eine Stapelgröße und eine Trainingsepoche auf Werte einzustellen, die sich von den Werten unterscheiden, die im Falle des trainierten Modells M1 noch einmal eingestellt wurden, als ein anderer Satz von Hyperparametern und dergleichen, und erneutes Durchführen von maschinellem Lernen mit einem Satz von Trainingsdaten als Trainingseingangsdaten, Erzeugen eines anderen trainierten Modells (im Folgenden auch als „trainiertes Modell M2“ bezeichnet), wobei das trainierte Modell M2 gut in der Identifikation von mikroskopischen Merkmalen auf einem Bild ist (zum Beispiel eine Werkstücktextur, die das Material zeigt).
-
So ist es möglich, durch die umfassende Verwendung der Vielzahl von voreingenommenen trainierten Modellen M1 und M2, die unter Verwendung der Vielzahl von Sätzen von voreingenommenen Hyperparametern, die für die trainierten Modelle M1 und M2 eingestellt wurden, erzeugt wurden, zum Beispiel eine so gute Gesamtleistung zu erhalten, dass, während die Mitte einer größeren Ebene auf einem Bild als eine Werkstückentnahmeposition geschätzt wird, gleichzeitig ein Werkstückmaterial geschätzt wird.
-
Die Trainingseinheit 112 kann so konfiguriert sein, dass sie einen Grafikprozessor (GPU) und ein Aufzeichnungsmedium wie eine Festplatte (HDD) oder ein Festkörperlaufwerk (SSD) enthält und so konfiguriert ist, dass sie durch Einspeisung von Trainingsdaten und eines trainierten Modells in den Grafikprozessor einen maschinellen Lernvorgang (z. B. den zuvor beschriebenen Backpropagation-Vorgang) mit hoher Geschwindigkeit durchführt, eine Vielzahl von trainierten Modellen erzeugt und die Vielzahl von trainierten Modellen auf dem Aufzeichnungsmedium wie einer Festplatte oder einem SSD speichert.
-
<Modellbewertungseinheit 113>
-
Die Modellbewertungseinheit 113 kann so konfiguriert sein, dass sie bewertet, ob die trainierten Ergebnisse einer Vielzahl von trainierten Modellen, die von der Trainingseinheit 112 erzeugt wurden, gut oder schlecht sind, und die bewerteten Ergebnisse anzeigt.
-
Konkret kann die Modellbewertungseinheit 113 beispielsweise die durchschnittliche Genauigkeit (im Folgenden auch „AP“ genannt) als Evaluierungsfunktion definieren, eine AP für Testdaten berechnen, die nicht zum Training verwendet wurden, ein trainiertes Ergebnis eines trainierten Modells mit einer AP, die einen im Voraus festgelegten Schwellenwert überschreitet, als „gut“ bewerten und den berechneten AP-Wert als Evaluierungswert des trainierten Modells aufzeichnen.
-
Die Modellbewertungseinheit 113 kann so konfiguriert sein, dass sie die oben beschriebenen bewerteten Ergebnisse für die mehreren trainierten Modelle, d. h. „gut“ oder „schlecht“, und Bewertungswerte wie APs auf einem Monitor, einem Tablet oder dergleichen als Anzeigeeinheit (nicht dargestellt), die in der maschinellen Lernvorrichtung 10 enthalten ist, anzeigt, um einem Benutzer die bewerteten Ergebnisse und die Bewertungswerte zu präsentieren. Die Modellbewertungseinheit 113 kann die Bewertungswerte numerisch oder grafisch darstellen.
-
Ferner kann die Modellbewertungseinheit 113 so konfiguriert sein, dass sie auf der Grundlage von Ergebnisinformationen darüber, ob Bewegungen zum Entnehmen von Werkstücken 50 durch die Bewegungsausführungseinheit 210 der Robotersteuervorrichtung 20 erfolgreich sind oder nicht, wie oben beschrieben, bewertet, ob die Mehrzahl der von der Trainingseinheit 112 erzeugten trainierten Modelle gut oder schlecht sind. Zum Beispiel kann die Modellbewertungseinheit 113 die Ergebnisinformationen, die zeigen, ob Entnahmebewegungen erfolgreich sind oder nicht, die von der Bewegungsausführungseinheit 210 gesammelt wurden, verwenden, um trainierte Modelle, die vorhergesagte Schlussfolgerungsergebniskandidaten mit hohen Entnahmeerfolgsraten haben, als „gut“ zu bewerten und trainierte Modelle, die vorhergesagte Schlussfolgerungsergebniskandidaten mit niedrigen Entnahmeerfolgsraten haben, als „schlecht“ zu bewerten. Darüber hinaus kann die Modellbewertungseinheit 113 einen Bewertungswert angeben, der den Grad der Güte eines trainierten Modells im Verhältnis zum Wert der Entnahmeerfolgsraten angibt.
-
<Modellauswahleinheit 114>
-
Die Modellauswahleinheit 114 kann so konfiguriert sein, dass sie die Auswahl eines trainierten Modells akzeptiert.
-
Zum Beispiel kann die Modellauswahleinheit 114 so konfiguriert sein, dass sie ein trainiertes Modell akzeptiert und aufzeichnet, das vom Benutzer aus einer Vielzahl von trainierten Modellen über eine Tastatur und eine Maus oder ein Touchpanel als Eingabeeinheit (nicht gezeigt) in der maschinellen Lernvorrichtung 10 ausgewählt wurde. Die Modellauswahleinheit 114 kann die Auswahl eines trainierten Modells oder von zwei oder mehr trainierten Modellen akzeptieren.
-
Indem der Benutzer die bewerteten Ergebnisse einer Vielzahl von trainierten Modellen durch die Modellbewertungseinheit 113 bestätigt, die auf der oben beschriebenen Anzeigeeinheit angezeigt werden, kann die Modellauswahleinheit 114, wenn sie die Auswahl eines oder mehrerer trainierter Modelle, die hohe Bewertungswerte erhalten haben, als „gut“ akzeptiert, über die Eingabeeinheit (nicht gezeigt) der maschinellen Lernvorrichtung 10 das Auswahlergebnis einschließlich des ausgewählten einen oder der mehreren trainierten Modelle akzeptieren und aufzeichnen
-
Die Modellauswahleinheit 114 kann so konfiguriert sein, dass sie auf der Grundlage der von der Modellbewertungseinheit 113 berechneten bewerteten Ergebnisse automatisch mindestens eines aus der Vielzahl der trainierten Modelle auswählt.
-
Zum Beispiel kann die Modellauswahleinheit 114 automatisch ein trainiertes Modell mit dem höchsten Bewertungswert aus der Vielzahl der trainierten Modelle auswählen, die von der Modellbewertungseinheit 113 als „gut“ bewertet wurden, oder sie kann automatisch alle trainierten Modelle auswählen, deren Bewertungswerte über einem im Voraus festgelegten Schwellenwert liegen.
-
Ferner kann die Modellauswahleinheit 114 so konfiguriert sein, dass sie auf der Grundlage der oben beschriebenen Ergebnisinformationen, die zeigen, ob die Bewegungen zur Entnahme von Werkstücken 50 durch die Bewegungsausführungseinheit 210 der Robotersteuervorrichtung 20 erfolgreich sind oder nicht, mindestens eines aus einer Vielzahl von trainierten Modellen auswählt, die von der Trainingseinheit 112 erzeugt wurden. Beispielsweise kann die Modellauswahleinheit 114 auf der Grundlage der oben beschriebenen Entnahmeerfolgsraten ein trainiertes Modell mit der höchsten Erfolgsrate auswählen, um das trainierte Modell beim nächsten Mal zu verwenden, oder sie kann eine Vielzahl von trainierten Modellen in absteigender Reihenfolge der Erfolgsrate auswählen, um die Vielzahl von trainierten Modellen wechselnd zu verwenden.
-
< Schlussfolgerungsberechnungseinheit 115>
-
Die Schlussfolgerungsberechnungseinheit 115 kann so konfiguriert sein, dass sie einen Schlussfolgerungsberechnungsprozess durchführt, um Schlussfolgerungsergebniskandidaten auf der Grundlage von Schlussfolgerungsdaten zu erzeugen, die von der Erfassungseinheit 110 und mindestens einem Teil einer Vielzahl von trainierten Modellen, die von der Trainingseinheit 112 erzeugt wurden, erfasst wurden.
-
Es wird zum Beispiel ein Fall beschrieben, in dem Trainingsdaten mit Bilddaten konfiguriert sind, die durch Fotografieren eines Bereichs erhalten werden, in dem eine Vielzahl von Werkstücken 50 vorhanden sind, und mit Positionslerndaten von Werkstückentnahmepositionen, die in den Bilddaten gezeigt werden, und die Trainingseinheit 112 führt maschinelles Lernen unter Verwendung solcher Trainingsdaten durch, um ein trainiertes Modell mit der oben beschriebenen CNN-Struktur zu erzeugen. In diesem Fall kann die Schlussfolgerungsberechnungseinheit 115 die Schlussfolgerungsbilddaten in das CNN als Eingabedaten ersetzen, das ein trainiertes Modell ist, eine vorhergesagte Positionsliste von Entnahmepositionen für die Werkstücke 50 berechnen, die auf dem Schlussfolgerungsbild gezeigt werden, und die vorhergesagte Positionsliste als Schlussfolgerungsergebniskandidaten ausgeben. Im Falle der Durchführung des Schlussfolgerungsberechnungsprozesses unter Verwendung einer Vielzahl von trainierten Modellen, beispielsweise m trainierte Modelle CNN1 bis CNNm, kann die Schlussfolgerungsberechnungseinheit 115 m vorhergesagte Positionslisten 1 bis m der Entnahmepositionen für die auf dem Schlussfolgerungsbild gezeigten Werkstücke 50 erzeugen (m ist eine ganze Zahl gleich oder größer als 1). Die Schlussfolgerungsberechnungseinheit 115 kann so konfiguriert sein, dass sie eine Datenspeichereinheit (nicht dargestellt) enthält und so konfiguriert ist, dass sie die m vorhergesagten Positionslisten 1 bis m der Entnahmepositionen für die Werkstücke 50 speichert, die die berechneten Schlussfolgerungsergebniskandidaten sind.
-
Die Modellbewertungseinheit 113 kann konfiguriert sein, um zu evaluieren, ob eine Vielzahl von trainierten Modellen, die von der Trainingseinheit 112 erzeugt wurden, gut sind oder nicht, wobei die Schlussfolgerungsergebniskandidaten von der Schlussfolgerungsberechnungseinheit 115 verwendet werden, und die Modellauswahleinheit 114 kann konfiguriert sein, um mindestens ein trainiertes Modell aus der Vielzahl von trainierten Modellen, die evaluiert wurden, auszuwählen.
-
Insbesondere, zum Beispiel, im Fall der Vorhersage, aus den oben beschriebenen Schlussfolgerungsbilddaten, die durch Fotografieren eines Bereichs, in dem eine Vielzahl von Werkstücken 50 vorhanden sind, der Entnahmeposition des Werkstücks 50, das in dem Bild gezeigt wird, durch den Schlussfolgerungsberechnungsprozess, kann die Schlussfolgerungsberechnungseinheit 115 vorhergesagte Positionslisten von Entnahmepositionen für die Werkstücke 50, die auf dem Schlussfolgerungsbild gezeigt werden, berechnen und die vorhergesagten Positionslisten als Schlussfolgerungsergebniskandidaten ausgeben. Im Falle der Durchführung des Schlussfolgerungsberechnungsprozesses unter Verwendung einer Vielzahl von trainierten Modellen, z.B. CNN1 bis CNNm, erzeugt die Schlussfolgerungsberechnungseinheit 115 m vorhergesagte Positionslisten 1 bis m und gibt diese aus.
-
Die Modellbewertungseinheit 113 kann den trainierten Modellen, die Listen mit einer großen Anzahl von Entnahmepositionskandidaten unter den vorhergesagten Positionslisten 1 bis m entsprechen, hohe Bewertungswerte geben und die trainierten Modelle als „gut“ bewerten, und kann den trainierten Modellen, die Listen mit einer kleinen Anzahl von Entnahmepositionskandidaten entsprechen, niedrige Bewertungswerte geben und die trainierten Modelle als „schlecht“ bewerten.
-
Die Modellauswahleinheit 114 kann aus den vorhergesagten Positionslisten 1 bis m ein trainiertes Modell auswählen, das einer Liste mit der größten Anzahl von Entnahmepositionskandidaten entspricht, kann aber auch eine Vielzahl von trainierten Modellen auswählen, die einer notwendigen Anzahl von Listen in absteigender Reihenfolge der Anzahl von Kandidaten entsprechen, um eine im Voraus festgelegte Gesamtzahl zu erreichen. Dadurch kann die maschinelle Lernvorrichtung 10 mehr Entnahmepositionskandidaten für ein Schlussfolgerungsbild vorhersagen, das durch ein Fotografieren erfasst wurde, mehr Werkstücke 50 durch eine Entnahmebewegung entnehmen und die Effizienz der Entnahme von Werkstücken 50 erhöhen.
-
Die Schlussfolgerungsberechnungseinheit 115 kann so konfiguriert sein, dass sie den Schlussfolgerungsberechnungsprozess durchführt, indem sie Schlussfolgerungsdaten unter Verwendung von trainierten Modellen, die von der Modellbewertungseinheit 113 als „gut“ bewertet wurden, ersetzt, um die Schlussfolgerungsergebniskandidaten zu erzeugen.
-
Da es nicht möglich ist, gute Schlussfolgerungsergebniskandidaten zu erhalten, selbst wenn der Schlussfolgerungsberechnungsprozess unter Verwendung eines „schlechten“ trainierten Modells durchgeführt wird, das generiert wurde, ohne in der Lage zu sein, ein gutes Training durchzuführen, kann die maschinelle Lernvorrichtung 10 solche nutzlose Schlussfolgerungsberechnungsprozesszeit eliminieren und die Effizienz des Schlussfolgerungsberechnungsprozesses erhöhen.
-
<Schlussfolgerungsentscheidungseinheit 116>
-
Die Schlussfolgerungsentscheidungseinheit 116 kann so konfiguriert sein, dass sie alle, einen Teil oder eine Kombination der von der Schlussfolgerungsberechnungseinheit 115 berechneten Schlussfolgerungsergebniskandidaten ausgibt.
-
Wenn zum Beispiel die Schlussfolgerungsberechnungseinheit 115 die oben beschriebenen Listen mit vorhergesagten Positionen 1 bis m für die Entnahmepositionen der Werkstücke 50 auf dem Schlussfolgerungsbild als Schlussfolgerungsergebniskandidaten erzeugt hat, kann die Schlussfolgerungsentscheidungseinheit 116 Informationen über vorhergesagte Positionen kombinieren, die in allen m Listen mit vorhergesagten Positionen 1 bis m enthalten sind, um die Kombination als eine Positionsliste 100 zu erzeugen und auszugeben. Ferner kann die Schlussfolgerungsentscheidungseinheit 116 Informationen über vorhergesagte Positionen kombinieren, die in einer Vielzahl von Listen enthalten sind, die ein Teil der obigen Listen 1 bis m sind, z.B. die Listen 1 und 3 für vorhergesagte Positionen, um die Kombination als eine Positionsliste 100 zu erzeugen und auszugeben. Ferner kann die Schlussfolgerungsentscheidungseinheit 116 eine Liste mit vorhergesagten Positionen mit der größten Anzahl vorhergesagter Positionen (z. B. eine Liste mit vorhergesagten Positionen 2) als eine Positionsliste 100 ausgeben.
-
Dadurch wird es für die maschinelle Lernvorrichtung 10 möglich, durch die Kombination von durch eine Messung erfassten Schlussfolgerungsbildern mit vorhergesagten Positionslisten 1 bis m, die durch eine Vielzahl von voreingenommenen, trainierten Modellen (CNN1 bis CNNm) vorhergesagt wurden, mehr Entnahmepositionskandidaten durch eine Messung auszugeben, mehr Werkstücke 50 durch eine Entnahmebewegung auszusuchen und die Effizienz des Entnehmens von Werkstücken 50 zu erhöhen.
-
Selbst wenn die Anpassung nicht gut durchgeführt werden kann, weil die Anzahl der Hyperparameter und dergleichen zu groß ist, kann die Lernvorrichtung 10 das maschinelle Lernen mehrmals unter Verwendung einer Vielzahl von Sätzen von Hyperparametern und dergleichen durchführen und eine insgesamt gute Leistung unter Verwendung einer Vielzahl von erzeugten trainierten Modellen erzielen.
-
Als Beispiel wird eine Anwendung beschrieben, die eine Aufgabe des kontinuierlichen Herauspickens einer Vielzahl von Werkstücken 50 unter Verwendung von maschinellem Lernen realisiert, wobei ein Bild verwendet wird, das durch Fotografieren oder dreidimensionale Messdaten eines Bereichs erhalten wird, in dem die Vielzahl von Werkstücken 50 in dem Behälter 60 vorhanden ist. Es ist eine Aufgabe, unter Verwendung von Trainingsdaten, die eine Vielzahl von Entnahmepositionen auf den Werkstücken 50 in einer komplizierten Form lehren und zum Beispiel Entnahmepositionen A1, A2, A3 und dergleichen auf Werkstücken 50 vom Typ A lehren, die Entnahmepositionen für die Werkstücke 50 vom Typ A zu trainieren und eine Schlussfolgerung durchzuführen. Eine weitere Aufgabe besteht darin, unter Verwendung von Trainingsdaten in einer Situation, in der verschiedene Arten von Werkstücken gemischt werden, Entnahmepositionen für Werkstücke 50 der verschiedenen Arten von Werkstücken 50 zu trainieren, beispielsweise eine Entnahmeposition B1 für Werkstücke 50 des Typs B, eine Entnahmeposition C1 für Werkstücke 50 des Typs C und Entnahmepositionen D1 und D2 für Werkstücke 50 des Typs D, die Entnahmepositionen für Werkstücke 50 jeder Art zu trainieren und eine Schlussfolgerung durchzuführen.
-
Bei solch komplizierten Aufgaben ist ein generiertes trainiertes Modell voreingenommen, egal wie viele Hyperparameter und ähnliches für das Training eingestellt werden, und daher ist es schwierig, eine insgesamt gute Leistung durch ein trainiertes Modell zu erzielen. Beispielsweise kann es einen Fall geben, in dem zwar die Entnahmeposition A1 auf den Werkstücken 50 des Typs A gut abgeleitet und vorhergesagt werden kann, die Entnahmeposition A2 auf den Werkstücken 50 des Typs A jedoch nicht gut abgeleitet und vorhergesagt werden kann, wenn ein trainiertes Modell verwendet wird. Ferner kann es einen Fall geben, in dem die Entnahmeposition B1 der Werkstücke 50 des Typs B zwar abgeleitet und gut vorhergesagt werden kann, die Entnahmeposition C1 der Werkstücke 50 des Typs C jedoch nicht abgeleitet und gut vorhergesagt werden kann, wenn ein trainiertes Modell verwendet wird.
-
Wenn die Werkstücke 50 auf der Grundlage von Schlussfolgerungsergebnissen entnommen werden, die durch die Durchführung von Schlussfolgerungen unter Verwendung eines solchen voreingenommenen trainierten Modells, wie oben beschrieben, erhalten wurden, ist es nicht möglich, alle Werkstücke 50 im Behälter 60 zu entnehmen, und ein Teil der Werkstücke 50, für die die Schlussfolgerung und Vorhersage nicht gut durchgeführt wurde, bleibt zurück. Die Produktionseffizienz sinkt.
-
Hier wird ein Verfahren beschrieben, mit dem eine gute Gesamtleistung erzielt werden kann, indem mehrere voreingenommene, trainierte Modelle (z. B. CNN1 bis CNNm) gut genutzt werden.
-
Durch mehrmaliges Durchführen von Training unter Verwendung einer Vielzahl von Sätzen von Hyperparametern und dergleichen erzeugt die maschinelle Lernvorrichtung 10 beispielsweise ein trainiertes Modell CNN1, das gut in der Schlussfolgerung/Vorhersage der Entnahmeposition B1 auf den Werkstücken 50 des B-Typs und der Entnahmeposition C1 auf den Werkstücken 50 des C-Typs ist, aber nicht gut in der Schlussfolgerung/Vorhersage von Entnahmepositionen auf Werkstücken 50 anderer Typen ist, und erzeugt auch ein trainiertes Modell CNN2, das gut in der Schlussfolgerung/Vorhersage der Entnahmepositionen D1 und D2 auf den Werkstücken 50 des Typs D ist, aber nicht gut in der Schlussfolgerung/Vorhersage von Entnahmepositionen auf Werkstücken 50 anderer Typen ist. Dadurch kann die maschinelle Lernvorrichtung 10 durch Kombinieren von Teilen der Entnahmepositionsinformationen, die die trainierten Modelle CNN1 und CNN2 abgeleitet bzw. vorhergesagt haben, für einen Teil der Schlussfolgerungsbilddaten, die durch Fotografieren des Inneren des Behälters 60, in dem die Werkstücke 50 der drei Typen B, C und D gemischt sind, erhalten werden, Schlussfolgerungsergebnisse erhalten, die alle Entnahmepositionen B1 bis D2 aller Werkstücke 50 der Typen B bis D vorhersagen. Dadurch kann die maschinelle Lernvorrichtung 10 das Problem des Nicht-Erkennens oder Zurücklassens eines Teils der Werkstücke 50 verbessern und eine insgesamt gute Leistung erzielen.
-
Wenn die Werkstücke 50 entnommen werden, nimmt die Anzahl der Werkstücke 50 im Behälter 60 ab, und es kann der Fall eintreten, dass z. B. die Werkstücke 50 des Typs D nicht auf einem aufgenommenen Bild zu sehen sind. Entsprechend einer solchen tatsächlichen Situation kann die maschinelle Lernvorrichtung 10 das trainierte Modell CNN1 auswählen und zu ihm wechseln, das gut in der Schlussfolgerung/Vorhersage der Entnahmepositionen der Typen B und C ist, um die Schlussfolgerung durchzuführen.
-
Eine Konfiguration kann so vorgenommen werden, dass die Modellauswahleinheit 114 mindestens ein trainiertes Modell aus einer Vielzahl von trainierten Modellen neu auswählt, wenn es keine Ausgabe von der Schlussfolgerungsentscheidungseinheit 116 gibt, die Schlussfolgerungsberechnungseinheit 115 den Schlussfolgerungsberechnungsprozess basierend auf dem neu ausgewählten trainierten Modell durchführt und die Schlussfolgerungsentscheidungseinheit 116 neue Schlussfolgerungsergebniskandidaten ausgibt.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 eine kontinuierliche Entnahmebewegung realisieren, indem sie ein trainiertes Modell neu auswählt und zu einer neu abgeleiteten und vorhergesagten Entnahmeposition geht, um die Entnahme durchzuführen, selbst wenn es keine Informationen zur Vorhersage der Entnahmeposition in den oben beschriebenen Listen mit vorhergesagten Positionen gibt. Dadurch kann die maschinelle Lernvorrichtung 10 verhindern, dass die Bewegung der Entnahme von Werkstücken 50 durch die Entnahmehand 31 angehalten wird, und die Produktionseffizienz einer Produktionslinie erhöhen.
-
<Maschineller Lernprozess der maschinellen Lernvorrichtung 10 in der Trainingsphase>
-
Als nächstes wird ein Vorgang beschrieben, der sich auf einen maschinellen Lernprozess der maschinellen Lernvorrichtung 10 gemäß der vorliegenden Ausführungsform in einer Trainingsphase bezieht.
-
4 ist ein Flussdiagramm, das den maschinellen Lernprozess der maschinellen Lernvorrichtung 10 in der Trainingsphase illustriert.
-
Der Ablauf in 4 zeigt ein Beispiel für ein Batch-Training. Das Batch-Training kann jedoch auch durch Online-Training oder Mini-Batch-Training ersetzt werden.
-
In Schritt S11 erwirbt die Erfassungseinheit 110 Trainingsdaten aus einer Datenbank 70.
-
In Schritt S12 extrahiert die Parameterextraktionseinheit 111 wichtige Hyperparameter aus allen Hyperparametern und dergleichen. Obwohl hier beschrieben wird, dass die wichtigen Parameter extrahiert werden, ist die vorliegende Erfindung nicht darauf beschränkt. Wenn beispielsweise die Gesamtzahl der Hyperparameter gering ist, kann die Extraktion der wichtigen Hyperparameter in Schritt S12 entfallen.
-
In Schritt S13 setzt die Trainingseinheit 112 auf der Grundlage der in Schritt S11 gewonnenen Trainingsdaten eine Vielzahl von Sätzen von Hyperparametern und dergleichen für eine Vielzahl von Malen und führt maschinelles Lernen die Vielzahl von Malen durch, um eine Vielzahl von trainierten Modellen zu erzeugen.
-
<Schlussfolgerungsberechnungsprozess der maschinellen Lernvorrichtung 10 in der Betriebsphase>
-
Als nächstes wird ein Vorgang beschrieben, der sich auf den Schlussfolgerungsberechnungsprozess der maschinellen Lernvorrichtung 10 gemäß der vorliegenden Ausführungsform in einer Betriebsphase bezieht.
-
5 ist ein Flussdiagramm, das den Schlussfolgerungsberechnungsprozess der maschinellen Lernvorrichtung 10 in der Betriebsphase zeigt.
-
In Schritt S21 erfasst die Erfassungseinheit 110 Schlussfolgerungsdaten von dem Messgerät 40.
-
In Schritt S22 bewertet die Modellbewertungseinheit 113, ob die trainierten Ergebnisse einer Vielzahl von trainierten Modellen, die durch den maschinellen Lernprozess von 4 durch die Trainingseinheit 112 erzeugt wurden, gut oder schlecht sind, und zeigt die bewerteten Ergebnisse auf der Anzeigeeinheit (nicht gezeigt) der maschinellen Lernvorrichtung 10 an. Die Trainingsphase und die Betriebsphase werden hier getrennt beschrieben, und die Mehrzahl der erzeugten trainierten Modelle kann gemeinsam an die Modellbewertungseinheit 113 übergeben werden, um nach Abschluss der gesamten Trainingsphase ausgewertet zu werden. Die vorliegende Erfindung ist hierauf jedoch nicht beschränkt. Beispielsweise kann die Auswertung eines trainierten Ergebnisses eines trainierten Modells online durchgeführt werden, so dass, wenn ein trainiertes Modell erzeugt wird, das trainierte Modell sofort an die Modellbewertungseinheit 113 übergeben wird, und ein trainiertes Ergebnis sogar in der Mitte von Schritt S13 der Trainingsphase ausgewertet wird.
-
In Schritt S23 beurteilt die Modellauswahleinheit 114, ob die Auswahl eines trainierten Modells durch den Benutzer über die Eingabeeinheit (nicht dargestellt) der maschinellen Lernvorrichtung 10 erfolgt ist oder nicht. Wenn die Auswahl eines trainierten Modells durch den Benutzer erfolgt ist, geht der Prozess zu Schritt S25 über. Wenn andererseits die Auswahl eines trainierten Modells nicht vom Benutzer durchgeführt wurde, fährt das Verfahren mit Schritt S24 fort.
-
In Schritt S24 wählt die Modellauswahleinheit 114 auf der Grundlage der in Schritt S22 berechneten bewerteten Ergebnisse mindestens ein besseres trainiertes Modell aus der Vielzahl der trainierten Modelle aus.
-
In Schritt S25 führt die Schlussfolgerungsberechnungseinheit 115 den Schlussfolgerungsberechnungsprozess auf der Grundlage der in Schritt S21 erfassten Schlussfolgerungsdaten und des in Schritt S23 oder S24 ausgewählten trainierten Modells durch, um Schlussfolgerungsergebniskandidaten zu erzeugen.
-
In Schritt S26 bewertet die Modellbewertungseinheit 113 erneut, ob die mehreren trainierten Modelle gut oder schlecht sind, indem sie die in Schritt S25 erzeugten Schlussfolgerungsergebniskandidaten verwendet. Obwohl beschrieben wird, dass die Neubewertung hier durchgeführt wird, ist die vorliegende Erfindung nicht darauf beschränkt. Beispielsweise kann der Schritt S26 übersprungen werden, um die Gesamtverarbeitungszeit der Berechnung zu reduzieren. In diesem Fall wird auch Schritt S27 übersprungen, und das Verfahren geht direkt zu Schritt S28 über.
-
In Schritt S27 entscheidet die Modellauswahleinheit 114, ob mindestens ein trainiertes Modell aus der Vielzahl der in Schritt S26 neu bewerteten trainierten Modelle erneut ausgewählt werden soll oder nicht. Im Falle der erneuten Auswahl eines trainierten Modells kehrt der Prozess zu Schritt S24 zurück. Wird hingegen kein trainiertes Modell erneut ausgewählt, fährt das Verfahren mit Schritt S28 fort.
-
In Schritt S28 gibt die Schlussfolgerungsentscheidungseinheit 116 alle, einen Teil oder eine Kombination der in Schritt S25 berechneten Schlussfolgerungsergebniskandidaten aus.
-
In Schritt S29 beurteilt die Schlussfolgerungsentscheidungseinheit 116, ob es in Schritt 28 keinen ausgegebenen Schlussfolgerungsergebniskandidaten gibt. Wenn die Ausgabe nicht erfolgt ist, kehrt der Prozess zu Schritt S24 zurück, um ein trainiertes Modell erneut auszuwählen. Wurde hingegen eine Ausgabe durchgeführt, fährt der Prozess mit Schritt S30 fort.
-
In Schritt S30 betrachtet die maschinelle Lernvorrichtung 10 die in Schritt S28 ausgegebenen Schlussfolgerungsergebniskandidaten als Entnahmepositionsinformationen und beurteilt, ob die Bewegungsausführungseinheit 210 der Robotersteuervorrichtung 20 eine Entnahmebewegung basierend auf den Entnahmepositionsinformationen ausgeführt hat oder nicht. Wenn eine Entnahmebewegung ausgeführt worden ist, geht das Verfahren zu Schritt S31 über. Wurde hingegen keine Entnahmebewegung ausgeführt, wird der Schlussfolgerungsberechnungsprozess beendet.
-
In Schritt S31 beurteilt die maschinelle Lernvorrichtung 10, ob eine Rückmeldung eines Ausführungsergebnisses der Bewegung des Herausnehmens eines Werkstücks 50 durch die Bewegungsausführungseinheit 210 der Robotersteuervorrichtung 20 empfangen wurde oder nicht. Wenn die Rückmeldung empfangen wurde, kehrt das Verfahren zu den Schritten S22 und 24 zurück. Andererseits, wenn die Rückmeldung nicht empfangen wurde, endet der Schlussfolgerungsberechnungsprozess.
-
Gemäß den obigen Ausführungen erwirbt die maschinelle Lernvorrichtung 10 gemäß einer Ausführungsform Trainingsdaten aus der Datenbank 70, setzt eine Vielzahl von Sätzen von Hyperparametern für eine Vielzahl von Malen für einen Satz von Trainingsdaten, basierend auf den erworbenen Trainingsdaten, und führt maschinelles Lernen die Vielzahl von Malen durch, um eine Vielzahl von trainierten Modellen zu erzeugen. Die maschinelle Lernvorrichtung 10 wertet aus, ob ein trainiertes Ergebnis jedes der erzeugten trainierten Modelle gut ist oder nicht, und wählt mindestens ein besseres trainiertes Modell aus der Vielzahl der trainierten Modelle auf der Grundlage der bewerteten Ergebnisse aus. Die maschinelle Lernvorrichtung 10 führt den Schlussfolgerungsberechnungsprozess auf der Grundlage von Schlussfolgerungsdaten, die von dem Messgerät 40 erfasst wurden, und dem ausgewählten trainierten Modell durch, um Schlussfolgerungsergebniskandidaten zu erzeugen. Die maschinelle Lernvorrichtung 10 gibt alle, einen Teil oder eine Kombination der erzeugten Schlussfolgerungsergebniskandidaten aus.
-
Dadurch ist es für die maschinelle Lernvorrichtung 10 möglich, durch die Erzeugung und umfassende Nutzung einer Vielzahl von voreingenommenen trainierten Modellen die Zeit und den Aufwand zu reduzieren, die für das Sammeln von Trainingsdaten zur Verwendung für das Training erforderlich sind, und selbst mit einer kleinen Menge an Trainingsdaten eine gute Leistung zu erzielen. Das heißt, die Zeit und der Aufwand, die zum Sammeln von Trainingsdaten zur Verwendung für das Training erforderlich sind, werden reduziert, und eine gute Leistung wird sogar mit einer kleinen Menge von Trainingsdaten erzielt.
-
Selbst wenn es aufgrund einer zu großen Anzahl von Hyperparametern, die angepasst werden müssen, nicht möglich ist, ein gutes trainiertes Modell zu erzeugen, unabhängig davon, wie die Anpassung durchgeführt wird, kann die maschinelle Lernvorrichtung 10 eine insgesamt gute Leistung zeigen, indem sie eine Vielzahl von Kandidaten für voreingenommene Schlussfolgerungsergebnisse kombiniert, die durch die Verwendung einer Vielzahl von voreingenommenen trainierten Modellen oder durch die Auswahl mindestens eines guten trainierten Modells entsprechend einer tatsächlichen Situation erzeugt werden.
-
Darüber hinaus kann die maschinelle Lernvorrichtung 10 die Probleme der Nichterkennung und des Zurücklassens eines Werkstücks bei der Bilderkennung lösen und eine hohe Produktionseffizienz realisieren.
-
Eine Ausführungsform ist oben beschrieben worden. Die maschinelle Lernvorrichtung 10 ist jedoch nicht auf die obige Ausführungsform beschränkt, und Modifikationen, Verbesserungen und dergleichen in einem Bereich, der in der Lage ist, das Ziel zu erreichen, sind enthalten.
-
<Änderungsbeispiel 1 >
-
In der oben beschriebenen Ausführungsform ist die maschinelle Lernvorrichtung 10 als eine von der Robotersteuervorrichtung 20 verschiedene Vorrichtung dargestellt. Es ist jedoch auch eine Konfiguration möglich, bei der die Robotersteuervorrichtung 20 mit einem Teil oder allen Funktionen der maschinellen Lernvorrichtung 10 ausgestattet ist.
-
Oder alternativ kann beispielsweise ein Server mit einem Teil oder der Gesamtheit der Erfassungseinheit 110, der Parameterextraktionseinheit 111, der Trainingseinheit 112, der Modellbewertungseinheit 113, der Modellauswahleinheit 114, der Schlussfolgerungsberechnungseinheit 115 und der Schlussfolgerungsentscheidungseinheit 116 der maschinellen Lernvorrichtung 10 ausgestattet sein. Ferner kann jede Funktion der maschinellen Lernvorrichtung 10 durch die Verwendung einer virtuellen Serverfunktion und dergleichen in einer Cloud realisiert werden.
-
Darüber hinaus kann die maschinelle Lernvorrichtung 10 ein verteiltes Verarbeitungssystem sein, bei dem die Funktionen der maschinellen Lernvorrichtung 10 auf eine Vielzahl von Servern verteilt sind.
-
<Änderungsbeispiel 2>
-
Darüber hinaus führt die maschinelle Lernvorrichtung 10 in der obigen Ausführungsform beispielsweise den maschinellen Lernprozess und den Schlussfolgerungsberechnungsprozess getrennt aus. Die vorliegende Erfindung ist hierauf jedoch nicht beschränkt. Zum Beispiel kann die maschinelle Lernvorrichtung 10 so angepasst werden, dass sie den Schlussfolgerungsberechnungsprozess ausführt, während sie den maschinellen Lernprozess durch Online-Training ausführt.
-
Jede der Funktionen, die in der maschinellen Lernvorrichtung 10 in der einen Ausführungsform enthalten sind, kann durch Hardware, Software oder eine Kombination davon realisiert werden. In diesem Fall bedeutet die Realisierung durch Software, dass sie durch einen Computer realisiert wird, der ein Programm liest und ausführt.
-
Das Programm kann dem Computer zugeführt werden, indem es in einem der verschiedenen Typen von nicht-übertragbaren, computerlesbaren Medien gespeichert wird. Zu den nicht flüchtigen, computerlesbaren Medien gehören verschiedene Arten von materiellen Speichermedien. Beispiele für nicht transitorische computerlesbare Medien sind magnetische Aufzeichnungsmedien (z. B. flexible Platten, Magnetbänder und Festplattenlaufwerke), magneto-optische Aufzeichnungsmedien (z. B. magneto-optische Platten), CD-ROM (Festwertspeicher), CD-R, CD-R/W, Halbleiterspeicher (z. B. Masken-ROM, PROM (programmierbares ROM), EPROM (löschbares PROM), Flash-ROM und RAM). Das Programm kann dem Computer durch verschiedene Arten von transitorischen, computerlesbaren Medien zugeführt werden. Beispiele für transitorische computerlesbare Medien sind ein elektrisches Signal, ein optisches Signal und eine elektromagnetische Welle. Die transitorischen computerlesbaren Medien können dem Computer das Programm über einen verdrahteten Kommunikationsweg, wie z. B. ein elektrisches Kabel und eine optische Faser, oder einen drahtlosen Kommunikationsweg zuführen.
-
Schritte, die das auf einem Aufzeichnungsmedium aufgezeichnete Programm beschreiben, umfassen nicht nur Prozesse, die in chronologischer Reihenfolge ausgeführt werden, sondern auch Prozesse, die nicht unbedingt chronologisch, sondern parallel oder einzeln ausgeführt werden.
-
Mit anderen Worten, die maschinelle Lernvorrichtung und das maschinelle Lernverfahren der vorliegenden Offenbarung können verschiedene Ausführungsformen mit den folgenden Konfigurationen annehmen.
- (1) Eine maschinelle Lernvorrichtung 10 der vorliegenden Offenbarung ist eine maschinelle Lernvorrichtung, die Folgendes umfasst: eine Erfassungseinheit 110, die so konfiguriert ist, dass sie Trainingsdaten und Schlussfolgerungsdaten zur Verwendung für maschinelles Lernen erfasst; eine Trainingseinheit 112, die so konfiguriert ist, dass sie maschinelles Lernen auf der Grundlage der Trainingsdaten und einer Vielzahl von Trainingsparametersätzen durchführt und eine Vielzahl von trainierten Modellen erzeugt; eine Modellbewertungseinheit 113, die so konfiguriert ist, dass sie evaluiert, ob trainierte Ergebnisse der Vielzahl von trainierten Modellen gut oder schlecht sind, und bewerteten Ergebnisse anzeigt; eine Modellauswahleinheit 114, die in der Lage ist, die Auswahl eines trainierten Modells zu akzeptieren; eine Schlussfolgerungsberechnungseinheit 115, die so konfiguriert ist, dass sie einen Schlussfolgerungsberechnungsprozess auf der Grundlage von zumindest einem Teil der Vielzahl von trainierten Modellen und den Schlussfolgerungsdaten durchführt und Schlussfolgerungsergebniskandidaten erzeugt; und eine Schlussfolgerungsentscheidungseinheit 116, die so konfiguriert ist, dass sie alle oder einen Teil oder eine Kombination der Schlussfolgerungsergebniskandidaten ausgibt.
-
Mit der maschinellen Lernvorrichtung 10 ist es möglich, den Zeit- und Arbeitsaufwand für das Sammeln von Trainingsdaten zu reduzieren und eine gute Leistung mit einer kleinen Menge an Trainingsdaten zu erzielen.
-
(2) In der maschinellen Lernvorrichtung 10 gemäß 1 kann die Modellauswahleinheit 114 ein trainiertes Modell akzeptieren, das von einem Benutzer auf der Grundlage der von der Modellbewertungseinheit 113 angezeigten bewerteten Ergebnisse ausgewählt wurde.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10, selbst wenn ein Fehler in den von einem Computer berechneten bewerteten Ergebnissen vorliegt, den Schlussfolgerungsberechnungsprozess gemäß einem optimalen trainierten Modell durchführen, das entsprechend einer tatsächlichen Situation an einem vom Benutzer erkannten Standort ausgewählt wurde. Darüber hinaus ist es auch möglich, die Vorhersagegenauigkeit der maschinellen Lernvorrichtung 10 zu erhöhen, indem ein Ergebnis der Auswahl durch den Benutzer zur Durchführung des Trainings zurückgesendet wird und eine Korrektur von Berechnungsfehlern des Computers und eine Verbesserung eines maschinellen Lernalgorithmus durchgeführt wird.
-
(3) In der maschinellen Lernvorrichtung 10 gemäß (1) kann die Modellauswahleinheit 114 automatisch ein trainiertes Modell auf der Grundlage der von der Modellbewertungseinheit 113 bewerteten Ergebnisse auswählen, ohne von einem Eingriff des Benutzers abhängig zu sein.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 autonom ein optimales trainiertes Modell entsprechend den Regeln auswählen, die durch die maschinelle Lernvorrichtung 10, die das Training selbst in einer unbemannten Umgebung durchführt, erhalten wurden, und den Schlussfolgerungsberechnungsprozess unter Verwendung des optimalen trainierten Modells durchführen.
-
(4) Die maschinelle Lernvorrichtung 10 nach einem der Punkte (1) bis (3) kann ferner eine Parameterextraktionseinheit 111 enthalten, und die Parameterextraktionseinheit 111 kann wichtige Hyperparameter aus der Vielzahl von Hyperparametern extrahieren; und die Trainingseinheit 112 kann maschinelles Lernen auf der Grundlage der extrahierten Hyperparameter durchführen und die Vielzahl von trainierten Modellen erzeugen.
-
Auf diese Weise kann die maschinellen Lernvorrichtung 10 die für die Anpassung von Hyperparametern benötigte Zeit reduzieren und die Effizienz des Trainings erhöhen.
-
(5) In der maschinellen Lernvorrichtung 10 nach einem der Punkte (1) bis (4) kann die Modellbewertungseinheit 113 auf der Grundlage der von der Schlussfolgerungsberechnungseinheit 115 erzeugten Schlussfolgerungsergebniskandidaten bewerten, ob die trainierten Modelle gut oder schlecht sind.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 die tatsächliche Leistungsfähigkeit der trainierten Modelle auf der Grundlage tatsächlicher Schlussfolgerungsdaten, die nicht für das Training verwendet wurden, korrekt bewerten.
-
(6) In der maschinellen Lernvorrichtung 10 gemäß (5) kann auf der Grundlage der von der Modellbewertungseinheit 113 bewerteten Ergebnisse, die auf den von der Schlussfolgerungsberechnungseinheit 115 erzeugten Schlussfolgerungsergebniskandidaten basieren, ein trainiertes Modell ausgewählt werden, das bessere Schlussfolgerungsergebniskandidaten erhalten hat.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 ein optimales trainiertes Modell auswählen, das die beste Leistung erzielt hat.
-
(7) In der maschinellen Lernvorrichtung 10 nach einem der Punkte (1) bis (6) kann die Schlussfolgerungsberechnungseinheit 115 den Schlussfolgerungsberechnungsprozess auf der Grundlage von trainierten Modellen durchführen, die von der Modellbewertungseinheit 113 als gut bewertet wurden, und die Schlussfolgerungsergebniskandidaten erzeugen.
-
Da auf diese Weise keine guten Schlussfolgerungsergebniskandidaten erzielt werden können, selbst wenn der Schlussfolgerungsberechnungsprozess unter Verwendung eines „schlechten“ trainierten Modells durchgeführt wird, das ohne ein gut durchgeführtes Training erzeugt wurde, kann die maschinelle Lernvorrichtung 10 eine solche nutzlose Schlussfolgerungsberechnungsprozesszeit eliminieren und die Effizienz des Schlussfolgerungsberechnungsprozesses erhöhen.
-
(8) In der maschinellen Lernvorrichtung 10 nach einem der Punkte (1) bis (7) kann die Modellauswahleinheit 114 das trainierte Modell auf der Grundlage der von der Schlussfolgerungsberechnungseinheit 115 erzeugten Schlussfolgerungsergebniskandidaten auswählen.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 durch die Auswahl eines trainierten Modells, das für ein durch eine Aufnahme erfasstes Schlussfolgerungsbild mehr Entnahmepositionskandidaten vorhersagen kann, mehr Werkstücke mit einer Entnahmebewegung entnehmen und die Effizienz der Entnahme von Werkstücken erhöhen.
-
(9) In der maschinellen Lernvorrichtung 10 gemäß einem der Punkte (1) bis (8) kann die Modellauswahleinheit 114, wenn keine Ausgabe von der Schlussfolgerungsentscheidungseinheit 116 vorliegt, ein oder mehrere trainierte Modelle aus der Vielzahl trainierter Modelle neu auswählen, die Schlussfolgerungsberechnungseinheit 115 kann den Schlussfolgerungsberechnungsprozess auf der Grundlage des einen oder der mehreren neu ausgewählten trainierten Modelle durchführen und einen oder mehrere neue Schlussfolgerungsergebniskandidaten erzeugen, und die Schlussfolgerungsentscheidungseinheit 116 kann alle, einen Teil oder eine Kombination der neuen Schlussfolgerungsergebniskandidaten ausgeben.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 selbst dann, wenn keine Entnahmeposition als Schlussfolgerungsergebnis ausgegeben wird, durch erneutes Auswählen eines trainierten Modells und Ansteuern einer neu gefolgerten und vorhergesagten Entnahmeposition zur Durchführung der Entnahme verhindern, dass die Bewegung der Entnahme von Werkstücken 50 durch die Entnahmehand 31 gestoppt wird, kontinuierliche Entnahmebewegungen realisieren und die Produktionseffizienz einer Produktionslinie erhöhen.
-
(10) In der maschinellen Lernvorrichtung 10 gemäß einem der Punkte (1) bis (9) kann die Trainingseinheit 112 maschinelles Lernen auf der Grundlage einer Vielzahl von Trainingsdatensätzen durchführen.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 ein Training unter Verwendung einer Vielzahl von Trainingsdaten durchführen und ein solches trainiertes Modell mit einer guten Robustheit erhalten, das verschiedene Situationen gut ableiten kann und eine insgesamt gute Leistung zeigt.
-
(11) In der maschinellen Lernvorrichtung 10 gemäß einem der Punkte (1) bis (10) kann die Erfassungseinheit 110 Bilddaten eines Bereichs, in dem eine Vielzahl von Werkstücken 50 vorhanden ist, als die Trainingsdaten und die Schlussfolgerungsdaten erfassen, und die Trainingsdaten können Lerndaten von mindestens einem Merkmal der Werkstücke 50 enthalten, die auf den Bilddaten erscheinen.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 durch maschinelles Lernen ein solches trainiertes Modell erzeugen, das einen vorhergesagten Wert ausgeben kann, der nahe an den Lerndaten liegt, und Merkmale identifizieren kann, die den in den Lerndaten enthaltenen Merkmalen in verschiedenen Schlussfolgerungsbilddaten ähnlich sind.
-
(12) In der maschinellen Lernvorrichtung 10 gemäß einem der Punkte (1) bis (11) kann die Erfassungseinheit 110 dreidimensionale Messdaten eines Bereichs, in dem eine Vielzahl von Werkstücken 50 vorhanden ist, als die Trainingsdaten und die Schlussfolgerungsdaten erfassen, und die Trainingsdaten können Lerndaten von mindestens einem Merkmal der Werkstücke 50 enthalten, die in den dreidimensionalen Messdaten erscheinen.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 durch maschinelles Lernen ein solches trainiertes Modell erzeugen, das einen vorhergesagten Wert ausgeben kann, der nahe an den Lerndaten liegt, und das Merkmale identifizieren kann, die den Merkmalen ähnlich sind, die in den Lerndaten in verschiedenen dreidimensionalen Messdaten der Schlussfolgerung enthalten sind.
-
(13) In der maschinellen Lernvorrichtung 10 gemäß (11) oder (12) kann die Trainingseinheit 112 maschinelles Lernen auf der Grundlage der Trainingsdaten durchführen, und die Schlussfolgerungsberechnungseinheit 115 kann Schlussfolgerungsergebniskandidaten erzeugen, die Informationen über das mindestens eine Merkmal der Werkstücke 50 enthalten.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 eine gute Gesamtleistung erzielen, indem sie eine Vielzahl von trainierten Modellen nutzt, die in der Lage sind, Merkmale zu identifizieren, die den Merkmalen ähnlich sind, die in den Lerndaten für verschiedene Schlussfolgerungsdaten enthalten sind.
-
(14) In der maschinellen Lernvorrichtung 10 gemäß einem der Punkte (1) bis (10) kann die Erfassungseinheit 110 Bilddaten eines Bereichs, in dem eine Vielzahl von Werkstücken 50 vorhanden ist, als die Trainingsdaten und die Schlussfolgerungsdaten erfassen, und die Trainingsdaten können Lerndaten von mindestens einer Entnahmeposition für die Werkstücke 50 enthalten, die auf den Bilddaten erscheinen.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 durch maschinelles Lernen ein solches trainiertes Modell erzeugen, das einen Vorhersagewert ausgeben kann, der nahe an den Lerndaten liegt, und eine Position schätzen kann, die einer Entnahmeposition ähnlich ist, die in den Lerndaten in verschiedenen Schlussfolgerungsbilddaten enthalten ist.
-
(15) In der maschinellen Lernvorrichtung 10 gemäß einem der Punkte (1) bis (10) und (14) kann die Erfassungseinheit 110 dreidimensionale Messdaten des Bereichs, in dem sich die Mehrzahl von Werkstücken 50 befindet, als die Trainingsdaten und die Schlussfolgerungsdaten erfassen, und die Trainingsdaten können Lerndaten von mindestens einer Entnahmeposition für die Werkstücke 50 enthalten, die in den dreidimensionalen Messdaten erscheinen.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 durch maschinelles Lernen ein solches trainiertes Modell erzeugen, das einen vorhergesagten Wert ausgeben kann, der nahe an den Lerndaten liegt, und eine Position schätzen kann, die einer in den Lerndaten enthaltenen Entnahmeposition auf verschiedenen dreidimensionalen Schlussfolgerungsdaten ähnlich ist.
-
(16) In der maschinellen Lernvorrichtung 10 gemäß (14) oder (15) kann die Trainingseinheit 112 maschinelles Lernen auf der Grundlage der Trainingsdaten durchführen, und die Schlussfolgerungsberechnungseinheit 115 kann Schlussfolgerungsergebniskandidaten erzeugen, die Informationen über die mindestens eine Entnahmeposition für die Werkstücke 50 enthalten.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 eine gute Gesamtleistung erzielen, indem sie eine Vielzahl von trainierten Modellen nutzt, die in der Lage sind, eine Position zu schätzen, die einer Entnahmeposition ähnlich ist, die in Lerndaten zu verschiedenen Schlussfolgerungsdaten enthalten ist.
-
(17) In der maschinellen Lernvorrichtung 10 gemäß (16) kann die Modellbewertungseinheit 113 von einer Robotersteuervorrichtung 20, die eine Bewegungsausführungseinheit 210 enthält, die einen Roboter 30 mit einer Hand 31 zum Entnehmen der Werkstücke 50 veranlasst, Bewegungen zum Entnehmen der Werkstücke 50 durch die Hand 31 auszuführen, Folgendes empfangen Ausführungsergebnisse der Entnahmebewegungen durch die Bewegungsausführungseinheit 210 auf der Grundlage von Ergebnissen der Schlussfolgerung der mindestens einen Entnahmeposition für die Werkstücke 50, die von der maschinellen Lernvorrichtung 10 ausgegeben werden, empfangen und auf der Grundlage der Ausführungsergebnisse der Entnahmebewegungen bewerten, ob die trainierten Ergebnisse der Mehrzahl von trainierten Modellen gut oder schlecht sind.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 einem trainierten Modell, das Schlussfolgerungsergebniskandidaten mit hohen Erfolgsraten bei der Auswahl von Werkstücken 50 vorhergesagt hat, einen hohen Bewertungswert zuweisen.
-
(18) In der maschinellen Lernvorrichtung 10 gemäß (16) oder (17) kann die Modellauswahleinheit 114 von einer Robotersteuervorrichtung 20, die eine Bewegungsausführungseinheit 210 enthält, die einen Roboter 30 mit einer Hand 31 zum Entnehmen der Werkstücke 50 steuert, um Bewegungen zum Entnehmen der Werkstücke 50 durch die Hand 31 auszuführen, Folgendes empfangen Ausführungsergebnisse der Entnahmebewegungen durch die Bewegungsausführungseinheit 210 auf der Grundlage von Ergebnissen der Schlussfolgerung der mindestens einen Entnahmeposition für die Werkstücke 50, die von der maschinellen Lernvorrichtung 10 ausgegeben werden, empfangen und ein trainiertes Modell auf der Grundlage der Ausführungsergebnisse der Entnahmebewegungen auswählen.
-
Auf diese Weise kann die maschinelle Lernvorrichtung 10 ein trainiertes Modell auswählen, das Schlussfolgerungsergebniskandidaten mit hohen Erfolgsraten bei der Auswahl von Werkstücken 50 vorhersagt.
-
(19) Ein maschinelles Lernverfahren der vorliegenden Offenbarung ist ein maschinelles Lernverfahren, das von einem Computer ausgeführt wird, wobei das maschinelle Lernverfahren umfasst: einen Erfassungsschritt zum Erfassen von Trainingsdaten und Schlussfolgerungsdaten zur Verwendung für maschinelles Lernen; einen Trainingsschritt zum Durchführen von maschinellem Lernen auf der Grundlage der Trainingsdaten und einer Vielzahl von Trainingsparametersätzen und zum Erzeugen einer Vielzahl von trainierten Modellen; einen Modellbewertungsschritt zum Bewerten, ob die trainierten Ergebnisse der Vielzahl von trainierten Modellen gut oder schlecht sind, und zum Anzeigen der bewerteten Ergebnisse; einen Modellauswahlschritt, um die Annahme der Auswahl eines trainierten Modells zu ermöglichen; einen Schlussfolgerungsberechnungsschritt, um einen Schlussfolgerungsberechnungsprozess auf der Grundlage von zumindest einem Teil der Vielzahl von trainierten Modellen und den Schlussfolgerungsdaten durchzuführen, wobei Schlussfolgerungsergebniskandidaten erzeugt werden; und einen Schlussfolgerungsentscheidungsschritt, um alle, einen Teil oder eine Kombination der Schlussfolgerungsergebniskandidaten auszugeben.
-
Mit der Methode des maschinellen Lernens lassen sich ähnliche Effekte wie in (1) erzielen.
-
Erläuterung der Bezugszeichen
-
- 1
- Robotersystem
- 10
- maschinelle Lernvorrichtung
- 11
- Steuereinheit
- 110
- Erfassungseinheit
- 111
- Parameterextraktionseinheit
- 112
- Trainingseinheit
- 113
- Modellbewertungseinheit
- 114
- Modellauswahleinheit
- 115
- Schlussfolgerungsberechnungseinheit
- 116
- Schlussfolgerungsentscheidungseinheit
- 20
- Robotersteuervorrichtung
- 21
- Steuereinheit
- 210
- Bewegungsausführungseinheit
- 30
- Roboter
- 40
- Messgerät
- 50
- Werkstück
- 60
- Behälter
- 70
- Datenbank
-
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
-