DE102017212270A1 - Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium - Google Patents

Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium Download PDF

Info

Publication number
DE102017212270A1
DE102017212270A1 DE102017212270.6A DE102017212270A DE102017212270A1 DE 102017212270 A1 DE102017212270 A1 DE 102017212270A1 DE 102017212270 A DE102017212270 A DE 102017212270A DE 102017212270 A1 DE102017212270 A1 DE 102017212270A1
Authority
DE
Germany
Prior art keywords
neural network
value
network model
circuit
machine learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017212270.6A
Other languages
English (en)
Inventor
Takahiko MATSUSHIMA
Yoshito Miyazaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102017212270A1 publication Critical patent/DE102017212270A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Neurology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Feedback Control In General (AREA)
  • Numerical Control (AREA)
  • Image Analysis (AREA)

Abstract

Verschiedene neuronale Netzwerkmodelle werden flexibel an einer Lernschaltung erstellt. Eine Erstellungsvorrichtung für Modelle für maschinelles Lernen beinhaltet eine Lernschaltung (80), die in der Lage ist, ein neuronales Netzwerkmodell entsprechend einem Einstellwert zu erstellen, und eine Steuereinrichtung (11), die in der Lage ist, den Einstellwert so anzupassen, dass er zu einem Wert zum Erstellen eines vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung (80) wird.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Erstellungsvorrichtung für Modelle für maschinelles Lernen, eine numerische Steuerung, ein Erstellungsverfahren für Modelle für maschinelles Lernen, ein Erstellungsprogramm für Modelle für maschinelles Lernen und ein Aufzeichnungsmedium zum Durchführen einer Verarbeitung im Zusammenhang mit der Erstellung eines Modells für maschinelles Lernen.
  • Verwandte Technik
  • Durch Durchführen von maschinellem Lernen wird erwartet, dass die Präzision einer Bilderkennung usw. steigt. Dabei kann ein neuronales Netzwerk als typisches Verfahren zum maschinellen Lernen angeführt werden. Beim Anwenden eines neuronalen Netzwerks ist es wichtig, das Modell eines geeigneten neuronalen Netzwerks entsprechend dem zu lösenden Problem zu erstellen. Der Grund dafür ist, dass die Präzision des Ergebnisses bei einem nicht geeigneten neuronalen Netzwerkmodell abfällt.
  • Eine Technologie im Zusammenhang mit der Erstellung usw. eines solchen neuronalen Netzwerkmodells ist zum Beispiel in dem Patentdokument 1, dem Patentdokument 2 und dem Patentdokument 3 offenbart worden. Zunächst offenbart das Patentdokument 1 ein Werkzeug zum Durchführen eines Lernens durch Ausführen von Skriptbefehlen, die verschiedene Parameter in einem neuronalen Netzwerk einstellen, das kein maschinelles Lernen durchführt. Darüber hinaus offenbart das Patentdokument 2 eine Technologie zum Unterteilen eines umfangreichen neuronalen Netzwerks in Blöcke jeder Funktionseinheit, Festlegen der Zahl von Neuronen und Verbindungsregeln für jeden Block als Parameter und automatisches Erstellen eines neuronalen Netzwerks auf Grundlage deren Werte. Des Weiteren offenbart das Patentdokument 3 ein Verfahren zum Ausgeben einer optimalen Neuronenzahl durch Analysieren der Ausgabe jedes Neurons nach einem Lernen des neuronalen Netzwerks.
    Patentdokument 1: japanische Offenlegungsschrift (Übersetzung der PCT-Anmeldung), Veröffentlichungs-Nr. 2008-533.615
    Patentdokument 2: japanische Offenlegungsschrift, Veröffentlichungs-Nr. 2001-051.968
    Patentdokument 3: japanische Offenlegungsschrift, Veröffentlichungs-Nr. H08-235.145
  • Übersicht über die Erfindung
  • Wie oben erwähnt, beschreibt jedes Patentdokument eine Technologie im Zusammenhang mit der Erstellung eines neuronalen Netzwerkmodells. Wenngleich es von Bedeutung ist, das geeignete neuronale Netzwerkmodell entsprechend dem Problem zu erstellen, das beim maschinellen Lernen gelöst werden soll, wie oben erwähnt, besteht hier ein Problem darin, dass es für einen Benutzer nicht einfach ist, schließlich zu dem geeigneten Modell zu gelangen, da bei dem Modellerstellungsvorgang Fachkenntnis erforderlich ist. Da sich das zu lösende Problem je nach einzelnem Benutzer unterscheidet, unterscheidet sich darüber hinaus auch das geeignete neuronale Netzwerk für die einzelnen Benutzer; daher besteht ein Problem darin, dass beim Erstellen einer Lernschaltung im Voraus, die ein speziell ausgerichtetes neuronales Netzwerkmodell aufweist, keine Flexibilität besteht.
  • Es ist jedoch nicht möglich gewesen, diese Probleme mit den in den jeweiligen Patentdokumenten offenbarten Gestaltungen in ausreichender Weise zu lösen. Beispielsweise erwähnt das Patentdokument 1 ein Verfahren zum Anzeigen der Verbindungsbeziehung eines neuronalen Netzwerks als Funktion eines Unterstützens einer Skripterstellung; es ist jedoch nicht zwingend möglich, dadurch den eigentlichen Aufbau des neuronalen Netzwerkmodells festzulegen. Unter Verwendung der in dem Patentdokument 2 oder dem Patentdokument 3 offenbarten Technologie kann es darüber hinaus möglich sein, eine Lernschaltung mit einem speziell ausgerichteten neuronalen Netzwerkmodell im Voraus zu erstellen. Selbst bei dem Versuch, diese Technologien zu verwenden, wäre es jedoch nicht möglich, verschiedene neuronale Netzwerkmodelle an einer Lernschaltung flexibel zu erstellen, die für jedes der zu lösenden Probleme geeignet ist, die sich bei jedem Benutzer unterscheiden.
  • Daher besteht ein Ziel der vorliegenden Erfindung darin, eine Erstellungsvorrichtung für Modelle für maschinelles Lernen, eine numerische Steuerung, ein Erstellungsverfahren für Modelle für maschinelles Lernen, ein Erstellungsprogramm für Modelle für maschinelles Lernen und ein Aufzeichnungsmedium bereitzustellen, die in der Lage sind, verschiedene neuronale Netzwerkmodelle an einer Lernschaltung flexibel zu erstellen.
  • Bei einer Erstellungsvorrichtung für Modelle für maschinelles Lernen gemäß einem ersten Aspekt der vorliegenden Erfindung handelt es sich um eine Erstellungsvorrichtung für Modelle für maschinelles Lernen, die beinhaltet: eine Lernschaltung (zum Beispiel die im Folgenden beschriebene Lernschaltung 80), die in der Lage ist, ein neuronales Netzwerkmodell entsprechend einem Einstellwert (zum Beispiel dem im Folgenden beschriebenen Einstellwert Sij) zu erstellen; und eine Steuereinrichtung (zum Beispiel die im Folgenden beschriebene CPU 11) zum Anpassen des Einstellwertes auf einen Wert zum Erstellen eines vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung kann in der Erstellungsvorrichtung für Modelle für maschinelles Lernen, wie sie in dem ersten Aspekt beschrieben worden ist, eine Gestaltung so erfolgen, dass die Steuereinrichtung eine Eingabe eines Parameterwertes empfängt, ein neuronales Netzwerkmodell entsprechend dem empfangenen Parameterwert als vorgegebenes neuronales Netzwerkmodell definiert und den Einstellwert auf einen Wert zum Erstellen des vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung anpasst.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung kann in der Erstellungsvorrichtung für Modelle für maschinelles Lernen, wie sie in dem zweiten Aspekt beschrieben worden ist, eine Gestaltung so erfolgen, dass es sich bei dem empfangenen Parameterwert um einen Wert (zum Beispiel NSchicht und NDim,j, die im Folgenden beschrieben werden) handelt, der eine Schichtzahl des neuronalen Netzwerkmodells und eine Dimensionszahl jeder Schicht angibt.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung kann in der Erstellungsvorrichtung für Modelle für maschinelles Lernen, wie sie in dem zweiten oder dritten Aspekt beschrieben worden ist, eine Gestaltung so erfolgen, dass die Steuereinrichtung den Parameterwert aus einer Einstellungsdatei (zum Beispiel der im Folgenden beschriebenen CSV-Datei) liest.
  • Gemäß einem fünften Aspekt der vorliegenden Erfindung kann in der Erstellungsvorrichtung für Modelle für maschinelles Lernen, wie sie in einem des zweiten bis vierten Aspekts beschrieben worden ist, eine Gestaltung so erfolgen, dass die Steuereinrichtung eine Verbindungsbeziehung von Perzeptronen entsprechend dem Parameterwert und eine graphische Benutzerschnittstelle zum Durchführen einer Anpassung des Parameterwertes, während ein Benutzer die Verbindungsbeziehung der Perzeptronen referenziert, auf einer Anzeigeeinrichtung (z. B. der im Folgenden beschriebenen Anzeige-/MDI-Einheit 70) zeichnet.
  • Gemäß einem sechsten Aspekt der vorliegenden Erfindung kann in der Erstellungsvorrichtung für Modelle für maschinelles Lernen, wie sie in einem des ersten bis fünften Aspekts beschrieben worden ist, eine Gestaltung so erfolgen, dass die Steuereinrichtung zulässt, dass ein Benutzer ein im Voraus erstelltes neuronales Netzwerkmodell auswählt, das ausgewählte neuronale Netzwerkmodell als vorgegebenes neuronales Netzwerkmodell definiert und den Einstellwert auf einen Wert zum Erstellen des vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung anpasst.
  • Gemäß einem siebten Aspekt der vorliegenden Erfindung kann in der Erstellungsvorrichtung für Modelle für maschinelles Lernen, wie sie in einem des ersten bis sechsten Aspekts beschrieben worden ist, eine Gestaltung so erfolgen, dass die Steuereinrichtung ein neuronales Netzwerkmodell in der Lernschaltung durch Steuern einer Ausgabe jedes in der Lernschaltung beinhalteten Perzeptrons entsprechend dem Einstellwert steuert.
  • Gemäß einem achten Aspekt der vorliegenden Erfindung kann in der Erstellungsvorrichtung für Modelle für maschinelles Lernen, wie sie in dem siebten beschrieben worden ist, eine Gestaltung so erfolgen, dass ein Steuern einer Ausgabe jedes in der Lernschaltung beinhalteten Perzeptrons entsprechend dem Einstellwert ein Einstellen einer Ausgabe eines Multiplizierers in jedem in der Lernschaltung beinhalteten Perzeptron entsprechend dem Einstellwert als beliebigen Wert aus einem Wert (z. B. dem im Folgenden beschriebenen Yw), der durch Multiplizieren eines Gewichtungswertes mit einer Eingabe in den Multiplizierer gewonnen wird, einem Wert (z. B. dem im Folgenden beschriebenen wie er in den Multiplizierer eingegeben wird, und einem Wert (z. B. dem im Folgenden beschriebenen Y0) null beinhaltet und eine Summe von Ausgaben von Multiplizierern in jedem Perzeptron als Ausgabe (z. B. Y mit zwei tiefgestellten Zeichen, wie im Folgenden beschrieben) jedes Perzeptrons eingestellt wird.
  • Eine numerische Steuerung (zum Beispiel die im Folgenden beschriebene numerische Steuerung 100) gemäß einem neunten Aspekt der vorliegenden Erfindung ist eine numerische Steuerung zum Steuern einer Werkzeugmaschine (zum Beispiel des im Folgenden beschriebenen Servermotors 50 bis 54), die die oben erwähnte Erstellungsvorrichtung für Modelle für maschinelles Lernen beinhaltet, wobei die Steuereinrichtung eine Eingabe eines Parameterwertes zum Erstellen eines neuronalen Netzwerkmodells empfängt, das mit einer Steuerung der Werkzeugmaschine in der Lernschaltung in Zusammenhang steht, ein neuronales Netzwerkmodell entsprechend dem empfangenen Parameterwert als vorgegebenes neuronales Netzwerkmodell einstellt und den Einstellwert auf einen Wert zum Erstellen des vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung anpasst.
  • Bei einem Erstellungsprogramm für Modelle für maschinelles Lernen gemäß einem zehnten Aspekt der vorliegenden Erfindung handelt es sich um ein Erstellungsprogramm für Modelle für maschinelles Lernen zum Bewirken, dass ein Computer als Erstellungsvorrichtung für maschinelles Lernen dient, die beinhaltet: eine Lernschaltung, die in der Lage ist, ein neuronales Netzwerkmodell entsprechend einem Einstellwert zu erstellen; und eine Steuereinrichtung zum Anpassen des Einstellwertes auf einen Wert zum Erstellen eines vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung.
  • Bei einem Aufzeichnungsmedium gemäß einem elften Aspekt der vorliegenden Erfindung handelt es sich um ein computerlesbares Aufzeichnungsmedium, das das oben erwähnte Erstellungsprogramm für Modelle für maschinelles Lernen aufzeichnet.
  • Bei einem Verfahren zum Erstellen eines Modells für maschinelles Lernen gemäß einem zwölften Aspekt der vorliegenden Erfindung handelt es sich um ein Verfahren zum Erstellen eines Modells für maschinelles Lernen, das durch eine Erstellungsvorrichtung für Modelle für maschinelles Lernen durchgeführt wird, die eine Lernschaltung beinhaltet, die in der Lage ist, ein neuronales Netzwerkmodell entsprechend einem Einstellwert zu erstellen, wobei das Verfahren beinhaltet: einen Schritt zum Steuern eines Anpassens des Einstellwertes als Wert zum Erstellen eines vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung.
  • Gemäß der vorliegenden Erfindung ist es möglich, verschiedene neuronale Netzwerkmodelle flexibel an einer Lernschaltung zu erstellen.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Schaubild, das die Grundgestaltung der Ausführungsform der vorliegenden Erfindung insgesamt darstellt;
  • 2 ist ein Schaubild, das die Grundgestaltung einer numerischen Steuerung einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 3 ist ein Schaubild, das die Grundgestaltung einer Lernschaltung einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 4 ist ein Schaubild, das einen Überblick über die Verbindungsbeziehung jedes Perzeptrons einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 5 ist ein Schaubild, das eine ausführliche Verbindungsbeziehung jedes Perzeptrons einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 6 ist ein Schaubild, das ein spezifisches Beispiel für ein neuronales Netzwerkmodell einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 7 ist ein Schaubild, das ein Erstellungsbeispiel für ein neuronales Zielnetzwerkmodell einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 8 ist ein Schaubild, das eine Eingabe/Ausgabe bei einem Erstellen eines neuronalen Zielnetzwerkmodells einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 9 ist ein Schaubild, das einen ersten Einstellbildschirm für Parameterwerte einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 10 ist ein Schaubild, das einen zweiten Einstellbildschirm für Parameterwerte einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 11 ist ein Schaubild, das einen dritten Einstellbildschirm für Parameterwerte einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 12 ist ein Schaubild, das einen vierten Einstellbildschirm für Parameterwerte einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 13 ist ein Schaubild, das einen fünften Einstellbildschirm für Parameterwerte einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 14 ist ein Ablaufplan, der Operationen während eines Einstellens von Parameterwerten einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 15 ist ein Ablaufplan, der Operationen während eines Erstellens von Einstellwerten einer Ausführungsform der vorliegenden Erfindung darstellt; und
  • 16 ist ein Schaubild, das einen Multiplizierer und die Schaltungsanordnung einer damit verbundenen Schaltung einer Ausführungsform der vorliegenden Erfindung darstellt.
  • Ausführliche Beschreibung der Erfindung
  • Zuerst wird eine Übersicht über eine Ausführungsform der vorliegenden Erfindung erläutert. Als Lernschaltung erstellt die Ausführungsform der vorliegenden Erfindung eine Lernschaltung, die eine ausreichende Zahl von Perzeptronen zum Erstellen eines beliebigen neuronalen Netzwerkmodells beinhaltet, die die Zahl von verwendeten Perzeptronen entsprechend dem derzeit erstellten neuronalen Netzwerkmodell ändern kann. Darüber hinaus wird eine Benutzerschnittstelle, die die Einstelloperation für verschiedene Parameter unterstützt, für den Benutzer bereitgestellt. Der Benutzer kann Einstelloperationen für verschiedene Parameter über graphische Bearbeitungsoperationen mithilfe einer solchen Benutzerschnittstelle leicht durchführen. Anschließend wird das neuronale Netzwerkmodell auf Grundlage der verschiedenen Parameter erstellt, die durch den Benutzer eingestellt worden sind, und dieses neuronale Netzwerkmodell wird umgehend in einer Lernschaltung widergespiegelt.
  • Dadurch kann eine Lernschaltung, die verschiedenen neuronalen Netzwerkmodellen entspricht, flexibel erstellt werden. Mit anderen Worten, es ist möglich, das oben genannte (durch die Erfindung zu lösende Problem) durch die vorliegende Ausführungsform zu lösen. Das Obige ist eine Übersicht über eine Ausführungsform der vorliegenden Erfindung.
  • Als Nächstes wird eine Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen ausführlich erläutert. Unter Bezugnahme auf 1 beinhaltet ein Erstellungssystem für Modelle für maschinelles Lernen, um das es sich bei der vorliegenden Ausführungsform handelt, eine Mehrzahl von numerischen Steuerungen (CNC: Computer Numerical Control, rechnergestützte numerische Steuerung) 100 und ein Host-System 200, das diese Mehrzahl von numerischen Steuerungen 100 verwaltet.
  • Die Mehrzahl von numerischen Steuerungen 100 ist mit einer (nicht veranschaulichten) Werkzeugmaschine wie zum Beispiel einem Servomotor verbunden, die jeweils als Steuerungsziel dient, und steuert diese Werkzeugmaschinen. Darüber hinaus beinhaltet die Mehrzahl von numerischen Steuerungen 100 jeweils eine Lernschaltung 80.
  • Bei der vorliegenden Ausführungsform führt nicht das Host-System 200, sondern vielmehr jede der Mehrzahl von numerischen Steuerungen 100 eine Verarbeitung für eine Erstellung von neuronalen Netzwerkmodellen durch, wodurch verschiedene neuronale Netzwerkmodelle in der Lernschaltung 80 erstellt werden, über die die jeweiligen numerischen Steuerungen 100 selbst verfügen. Hierbei wird davon ausgegangen, dass nicht die numerischen Steuerungen 100, sondern vielmehr das Host-System 200 die Lernschaltung 80 beinhaltet und die Verarbeitung zum Erstellen solcher neuronaler Netzwerkmodelle durchführt. In diesem Fall leitet die numerische Steuerung 100 die Eingabe der Lernschaltung 80 an das Host-System 200 weiter, und das Host-System 200 leitet die Ausgabe der Lernschaltung 80 an die numerische Steuerung 100 weiter. Die Zeit, die zum Weiterleiten erforderlich ist, wird zu einem Engpass, und es besteht eine Möglichkeit, dass ein Widerspiegeln der Ausgabeergebnisse der Lernschaltung 80 in Echtzeit schwierig ist. Aus diesem Grund erstellt die vorliegende Ausführungsform die Lernschaltung 80, die in jede numerische Steuerung 100 auf der Kantenseite fest verdrahtet ist, wie in 1 dargestellt, und versucht, eine Verarbeitung zum Erstellen des neuronalen Netzwerkmodells in jeder numerischen Steuerung 100 auf der Kantenseite durchzuführen.
  • Darüber hinaus erstellt die vorliegende Ausführungsform ein neuronales Netzwerkmodell für eine Bilderkennung für eine Person oder ein Werkzeug, die als Ziel dienen, um zum Beispiel eine Arbeit mit der Werkzeugmaschine durchzuführen. In diesem Fall werden bei dem erstellten neuronalen Netzwerk die Bilddaten eingegeben, die durch eine Kamera erfasst werden, und die Wahrscheinlichkeit, dass es sich bei dem erfassten Objekt um die Person oder das Werkzeug handelt, wird ausgegeben. Daneben erstellt sie ein neuronales Netzwerkmodell zum Erkennen eines Anzeichens eines Auftretens einer Unregelmäßigkeit, bevor eine Unregelmäßigkeit in der Werkzeugmaschine auftritt usw. In diesem Fall wird bei dem erstellten neuronalen Netzwerk der Messwert eingegeben, der durch jeden der Mehrzahl von Sensoren gemessen worden ist, und die Wahrscheinlichkeit, dass im Anschluss eine Unregelmäßigkeit auftritt, wird ausgegeben.
  • Als Nächstes werden Funktionsblöcke, über die die Mehrzahl von numerischen Steuerungen 100 verfügt, unter Bezugnahme auf 2 ausführlich erläutert. Es ist zu beachten, dass die Mehrzahl von numerischen Steuerungen 100 (eine numerische Steuerung 100a, eine numerische Steuerung 110b und eine numerische Steuerung 100c) jeweils gleichwertige Funktionen aufweist; daher erfolgt eine Erläuterung im Folgenden durch einfaches Bezeichnen dieser als numerische Steuerungen 100, ohne eine Unterscheidung vorzunehmen. Die numerische Steuerung 100 der vorliegenden Ausführungsform dient hierin nicht nur als allgemeine numerische Steuerung, die die Werkzeugmaschine direkt steuert, sondern dient auch als Erstellungsvorrichtung für Modelle für maschinelles Lernen, die ein neuronales Netzwerkmodell erstellt.
  • Unter Bezugnahme auf 2 beinhaltet die numerische Steuerung 100 eine CPU 11, einen ROM 12, einen RAM 13, einen CMOS-Speicher 14, eine Schnittstelle 15, eine PMC 16, eine E/A-Einheit 17, eine Schnittstelle 18, eine Schnittstelle 19, einen Datenkommunikationsbus 20, Achsensteuerschaltungen 30 bis 34, Servoverstärker 40 bis 44, Servomotoren 50 bis 54, eine Spindelsteuerschaltung 60, einen Spindelverstärker 61, einen Spindelmotor 62, einen Impulsgeber 63, eine Anzeige-/MDI-Einheit 70, eine externe Vorrichtung 72 und eine Lernschaltung 80. Im Folgenden wird jeder dieser Funktionsblöcke erläutert.
  • Bei der CPU 11 handelt es sich um einen Prozessor, der als Steuereinheit dient, die die numerische Steuerung 100 vollständig steuert. Bei dem ROM 12 handelt es sich um eine Speichervorrichtung, die verschiedene Programme speichert. Hierin sind die verschiedenen Programme, die in dem ROM 12 gespeichert sind, ein Programm zum Umsetzen einer Funktion als allgemeine numerische Steuerung und ein Programm zum Umsetzen einer Verarbeitung für die Erstellung des neuronalen Netzwerks der vorliegenden Ausführungsform. Bei einem Programm zum Umsetzen der Verarbeitung zur Erstellung des neuronalen Netzwerks der vorliegenden Ausführungsform handelt es sich zum Beispiel um ein Programm zum Umsetzen verschiedener Funktionen wie zum Beispiel der Funktion zum Bereitstellen einer Benutzerschnittstelle für einen Benutzer zum Eingeben von Parameterwerten, der Funktion zum Berechnen von Einstellwerten, bei denen es sich um Werte zum Erstellen des neuronalen Netzwerkmodells in der Lernschaltung 80 handelt, und der Funktion zum eigentlichen Bewirken, dass das neuronale Netzwerkmodell auf Grundlage der berechneten Einstellwerte in der Lernschaltung 80 erstellt wird.
  • Anschließend liest die CPU 11 bei der vorliegenden Ausführungsform Programme, die in dem ROM 12 gespeichert sind, über den Datenkommunikationsbus 20 aus und führt Operationen auf Grundlage der gelesenen Programme durch, während die gelesenen Programme in den RAM 13 geladen werden. Anschließend setzt die CPU 11 die Funktionen der vorliegenden Ausführungsform um, indem sie Hardware, die in der numerischen Steuerung 100 beinhaltet ist, auf Grundlage der Operationsergebnisse steuert. Mit anderen Worten, die vorliegende Ausführungsform kann dadurch umgesetzt werden, dass Hardware und Software zusammenarbeiten.
  • Temporäre Berechnungsdaten der Operationsverarbeitung, die durch die CPU 11 durchgeführt wird, Anzeigedaten und verschiedene Daten, die durch den Benutzer über die Schnittstelle 15 und die Anzeige-/MDI-Einheit 70 eingegeben werden, werden in dem RAM 13 gespeichert. Hierin handelt es sich bei verschiedenen Daten, die durch den Benutzer über die Schnittstelle 15 und die Anzeige-/MDI-Einheit 70 eingegeben werden, zum Beispiel um eine Vielfalt von Parametern zum Erstellen eines neuronalen Netzwerkmodells.
  • Der CMOS-Speicher 14 ist durch eine (nicht veranschaulichte) Batterie gesichert und als nicht flüchtiger Speicher gestaltet, für den der gespeicherte Zustand selbst dann aufrechterhalten wird, wenn die Stromquelle der numerischen Steuerung 100 AUSgeschaltet wird. Ein Verarbeitungsprogramm, das über die Schnittstelle 15 ausgelesen wird, ein Verarbeitungsprogramm, das über die Anzeige-/MDI-Einheit 70 eingegeben wird, usw. werden in dem CMOS-Speicher 14 gespeichert. Als Teil des oben erwähnten Systemprogramms werden verschiedene Systemprogramme zum Umsetzen der Verarbeitung eines Bearbeitungsmodus, der für eine Erstellung und ein Bearbeiten des Verarbeitungsprogramms erforderlich ist, und der Verarbeitung für einen Automatikbetrieb ebenfalls in den ROM 12 geschrieben. Diese verschiedenen Verarbeitungsprogramme können über die Schnittstelle 15 oder die Anzeige-/MDI-Einheit 70 eingegeben werden und in dem CMOS-Speicher 14 gespeichert werden.
  • Die Schnittstelle 15 ermöglicht eine Verbindung zwischen der numerischen Steuerung 100 und der externen Vorrichtung 72 wie zum Beispiel einem Adapter. Das Verarbeitungsprogramm, verschiedene Parameter usw. werden auf der Seite der externen Vorrichtung 72 gelesen. Darüber hinaus kann das Verarbeitungsprogramm, das in der numerischen Steuerung 100 bearbeitet wird, über die externe Vorrichtung 72 in einer externen Speichereinrichtung gespeichert werden.
  • Bei der PMC (programmable machine controller, programmierbare Maschinensteuereinheit) 16 handelt es sich um eine Vorrichtung, die im Allgemeinen als PLC (programmable logic controller, speicherprogrammierbare Steuerung) bezeichnet wird. Die PMC 16 gibt Signale über die E/A-Einheit 17 an Zusatzeinrichtungen der Werkzeugmaschine (z. B. einen Aktuator wie zum Beispiel eine Roboterhand für einen Werkzeugwechsel) zum Steuern durch ein Ablaufprogramm aus, das in die numerische Steuerung 100 integriert ist. Nach einem Empfangen von Signalen von verschiedenen Schaltern oder dergleichen einer Bedientafel, die an dem Hauptkörper der Werkzeugmaschine bereitgestellt wird, und einem Durchführen der erforderlichen Signalverarbeitung erfolgt darüber hinaus eine Übergabe an die CPU 11.
  • Bei der Anzeige-/MDI-Einheit 70 handelt es sich um eine Vorrichtung zur manuellen Dateneingabe, die eine Anzeige, eine Tastatur usw. beinhaltet, und die Schnittstelle 18 empfängt Befehle und Daten von der Tastatur der Anzeige-/MDI-Einheit 71 und übergibt diese an die CPU 11. Die Schnittstelle 19 ist mit der Bedientafel 71 verbunden, die einen manuellen Impulsgeber usw. beinhaltet.
  • Die Achsensteuerschaltungen 30 bis 34 jeder Achse empfangen einen Bewegungsbefehlsbetrag jeder Achse von der CPU 11 und geben den Befehl jeder Achse an die Servoverstärker 40 bis 44 aus.
  • Die Servoverstärker 40 bis 44 empfangen diese Befehle und steuern die Servomotoren 50 bis 54 jeder Achse an. Die Servomotoren 50 bis 54 jeder Achse weisen eingebaute Positions-/Geschwindigkeitsdetektoren auf, führen die Positions-/Geschwindigkeits-Rückkopplungssignale von diesen Positions-/Geschwindigkeitsdetektoren zu den Achsensteuerschaltungen 30 bis 34 zurück und führen eine Positions-/Geschwindigkeitsregelung durch. Es ist zu beachten, dass die Positions-/Geschwindigkeitsrückmeldung in dem Blockschaubild weggelassen ist.
  • Die Spindelsteuerschaltung 60 empfängt einen Hauptwellen-Drehbefehl an die Werkzeugmaschine und gibt das Spindelgeschwindigkeitssignal an den Spindelverstärker 61 aus. Der Spindelverstärker 61 empfängt dieses Spindelgeschwindigkeitssignal und bewirkt, dass sich der Spindelmotor 62 der Werkzeugmaschine mit der angeforderten Drehzahl dreht, um das Werkzeug anzutreiben.
  • Der Impulsgeber 63 ist durch Zahnräder, einen Riemen oder dergleichen mit dem Spindelmotor 62 verbunden, und der Impulsgeber 63 gibt einen Rückimpuls synchron mit der Drehung der Hauptwelle aus, und dieser Rückimpuls wird von der CPU 11 durch den Datenkommunikationsbus 20 gelesen.
  • Bei der Lernschaltung 80 handelt es sich um eine Lernschaltung, die eine ausreichende Zahl von Perzeptronen zum Erstellen eines beliebigen neuronalen Netzwerkmodells beinhaltet, wobei es sich um eine Lernschaltung handelt, die in der Lage ist. die Zahl von verwendeten Perzeptronen entsprechend dem derzeit zu erstellenden neuronalen Netzwerkmodell zu ändern. Die Lernschaltung 80 empfängt die Einstellwerte von der CPU 11 über den Datenkommunikationsbus 20 und erstellt ein neuronales Netzwerkmodell entsprechend den empfangenen Einstellwerten. Es ist zu beachten, dass die Lernschaltung 80 und die CPU 11 über den Datenkommunikationsbus 20 ähnlich wie sonstige Funktionsblöcke in der Zeichnung verbunden sind; es kann jedoch eine Gestaltung so erfolgen, dass ein dedizierter anderer Datenkommunikationsbus als der Datenkommunikationsbus 20 zum Verbinden der Lernschaltung 80 und der CPU 11 bereitgestellt wird.
  • Als Nächstes wird die Gestaltung der Lernschaltung 80 unter Bezugnahme auf 3 erläutert. Unter Bezugnahme auf 3 beinhaltet die Lernschaltung 80 eine Eingabeeinheit 81, eine Ausgabeeinheit 82, eine Gewichtungsspeichereinheit 83, eine Einstellwert-Speichereinheit 84 und eine Perzeptronschaltung 85.
  • Die Eingabeeinheit 81 behält die Eingabewerte für maschinelles Lernen bei. Die Eingabewerte sind zum Beispiel Merkmalsbeträge, die ein Merkmal jedes Bildpunktes in einem Bild ausdrücken, das als Analyseziel dient, oder ein Messwert, der durch eine Mehrzahl von Sensoren gemessen worden ist. Diese Eingabewerte werden von der CPU 11 und einer Mehrzahl von Sensoren in diese Speichereinheiten eingegeben. Anschließend werden die durch die Eingabeeinheit 81 beibehaltenen Eingabewerte in jedes Perzeptron einer ersten Schicht eingegeben, die in der Perzeptronschaltung 85 beinhaltet ist.
  • Die Gewichtungsspeichereinheit 83 speichert Gewichtungsinformationen, die bei Operationen zum maschinellen Lernen verwendet werden, die durch die Perzeptronschaltung 85 durchgeführt werden. Darüber hinaus speichert die Einstellwert-Speichereinheit 84 Einstellwertinformationen zum Erstellen von neuronalen Netzwerkmodellen der Perzeptronschaltung 85. Diese Gewichtungsinformationen und die Einstellwertinformationen werden von der CPU 11 in diese Speichereinheiten eingegeben. Anschließend werden die durch diese Speichereinheiten gespeicherten Informationen in jedes Perzeptron eingegeben, das in der Perzeptronschaltung 85 beinhaltet ist.
  • Bei der Perzeptronschaltung 85 handelt es sich um eine Schaltung, die lediglich eine ausreichende Zahl von Perzeptronen zum Erstellen eines beliebigen neuronalen Netzwerkmodells beinhaltet. Es ist zu beachten, dass in der folgenden Erläuterung jedes Perzeptron durch „P mit zwei tiefgestellten Zeichen” gekennzeichnet wird. Darüber hinaus kennzeichnet jede Zeichnung einschließlich 3 die jeweiligen Perzeptronen durch „einen eingekreisten Buchstaben P mit zwei tiefgestellten Zeichen”. Das erste tiefgestellte Zeichen dieses P drückt die Dimensionszahl dieses Perzeptrons aus, und das zweite tiefgestellte Zeichen drückt die Schichtzahl dieses Perzeptrons aus. Beispielsweise drückt P21 aus, dass es sich in der ersten Schicht befindet und dass es sich um ein zweidimensionales Perzeptron handelt.
  • In 3 beträgt derzeit die Schichtzahl bis zu L und die Dimensionszahl bis zu D. Trotz Werten der Schichtzahl L und der Dimensionszahl D beträgt zum Beispiel in dem Fall, in dem eine Bilderkennung durch das neuronale Netzwerkmodell durchgeführt wird, das in der Prozentschaltung 85 erstellt ist, der Wert der Schichtzahl L im Allgemeinen etwa L = 20~30. Darüber hinaus beträgt in diesem Fall der Wert der Dimensionszahl D im Allgemeinen etwa D = 100.000 bis 1.000.000. Letztendlich handelt es sich bei diesen Werten jedoch lediglich um Beispiele, und die Werte können andere sein. Beispielsweise durch Erhöhen des Wertes von D (d. h. durch Erhöhen der Dimensionszahl des Perzeptrons und Erhöhen der Zahl von Eingabewerten, die gleichzeitig eingegeben werden können), kann eine Gestaltung so erfolgen, dass eine Bilderkennung an einem Bild mit mehr als 1.000.000 Bildpunkten als Ziel durchgeführt wird, Mit anderen Worten, L und D können eine beliebige natürliche Zahl sein.
  • Jedes Perzeptron, das in der Perzeptronschaltung 85 beinhaltet ist, führt eine Operation zum maschinellen Lernen mithilfe der Gewichtungsinformationen durch, die durch die Gewichtungsspeichereinheit 83 gespeichert werden. Darüber hinaus weist jedes Perzeptron, das in der Perzeptronschaltung 85 beinhaltet ist, eine Funktion zum Ermöglichen eines Anpassens der Ausgabe auf Grundlage der Einstellwertinformationen auf, die durch die Einstellwert-Speichereinheit 84 gespeichert werden, und bildet ein beliebiges neuronales Netzwerkmodell über die Funktion zum Anpassen dieser Ausgabe.
  • Die Ausgabeeinheit 83 berechnet eine endgültige Ausgabe durch die Aktivierungsfunktion aus der Ausgabe jedes Perzeptrons in der Lten Schicht, die in der Perzeptronschaltung 85 beinhaltet ist.
  • Es ist zu beachten, dass die Veranschaulichung der Verbindungsbeziehung zum einfacheren Betrachten der Veranschaulichungen aus den Zeichnungen weggelassen wird. Verständlicherweise ist in der Praxis jedes Perzeptron der ersten Schicht, die in der Perzeptronschaltung 85 beinhaltet ist, mit der Eingabeeinheit 81 verbunden, und jedes Perzeptron der Lten Schicht ist mit der Ausgabeeinheit 83 verbunden. Darüber hinaus ist jedes Perzeptron mit der Gewichtungsspeichereinheit 83 bzw. der Einstellwert-Speichereinheit 84 verbunden.
  • Darüber hinaus sind die jeweiligen Perzeptronen ebenfalls verbunden. Als Nächstes wird die Verbindungsbeziehung zwischen jeweiligen Perzeptronen, die in der Perzeptronschaltung 85 beinhaltet sind, unter Bezugnahme auf 4 erläutert. Diesmal erfolgt eine Erläuterung zur einfacheren Erläuterung in der Annahme, dass die Schichtzahl und die Dimensionszahl von Perzeptronen, die in der Perzeptronschaltung 85 beinhaltet sind, insgesamt kleinere Zahlen als die zuvor genannten allgemeinen Zahlen sind. Im Besonderen erfolgt die Erläuterung anhand der Schichtzahl 3 und der Dimensionszahl 3 für die Perzeptronen, die in der Perzeptronschaltung 85 insgesamt beinhaltet sind. Die vorliegende Ausführungsform ist jedoch nicht auf eine solche Schichtzahl oder Dimensionszahl, wie oben erwähnt, beschränkt.
  • In der Perzeptronschaltung 85 ist der Ausgang jedes Perzeptrons mit sämtlichen Perzeptronen der nächsten Schicht verbunden. Beispielsweise ist der Ausgang von P21 der ersten Schicht jeweils mit P21, P22 und P23 verbunden, bei denen es sich sämtlich um Perzeptronen der zweiten Schicht handelt. In ähnlicher Weise sind der Ausgang von P21 der ersten Schicht und der Ausgang von P31 der ersten Schicht ebenfalls jeweils mit P21, P22 und P23 verbunden, bei denen es sich sämtlich um Perzeptronen der zweiten Schicht handelt. In den Zeichnungen werden jedoch Veranschaulichungen für einen Teil der Verbindungsbeziehung zum einfacheren Betrachten der Zeichnungen weggelassen.
  • Die Gewichtungsinformationen für jedes Perzeptron (d. h. der Gewichtungswert für jedes Perzeptron) und Einstellwertinformationen (d. h. der Einstellwert für jedes Perzeptron), die in der Gewichtungsspeichereinheit 83 und der Einstellwert-Speichereinheit 84 beibehalten werden, sind wie oben erwähnt. In der folgenden Erläuterung und den folgenden Zeichnungen wird der Gewichtungswert durch W mit zwei tiefgestellten Zeichen ausgedrückt. Darüber hinaus wird der Einstellwert durch S mit zwei tiefgestellten Zeichen ausgedrückt. Darüber hinaus wird die Eingabe von Perzeptronen in der Anfangsschicht durch X mit zwei tief gestellten Zeichen ausgedrückt, und die Ausgabe der Perzeptronen wird durch Y mit zwei tief gestellten Zeichen ausgedrückt.
  • Hierin geben diese beiden tiefgestellten Zeichen an, dass es sich um Werte handelt, die Perzeptronen entsprechen, die dieselben beiden tiefgestellten Zeichen aufweisen. Mit anderen Worten, W11 oder S11 stellen dar, dass es sich um einen Gewichtungswert bzw. um einen Einstellwert handelt, die P11 entsprechen. Darüber hinaus geben X11 oder Y11 an, dass es sich um die Eingabe bzw. die Ausgabe handelt, die P11 entsprechen. Wenn eine Erläuterung ohne Angabe des entsprechenden Perzeptrons erfolgt, werden diese tiefgestellten Zeichen in der Erläuterung jedoch weggelassen.
  • Wenngleich der Gewichtungswert jedes Perzeptrons mit der Eingabe jedes Perzeptrons multipliziert wird, sind darüber hinaus nur so viele Eingaben wie die Dimensionszahl der vorhergehenden Schicht in jedem Perzeptron vorhanden. Aus diesem Grund werden die Gewichtungswerte jedes Perzeptrons nur in der Zahl der Dimensionszahl für ein Perzeptron erstellt. Wenn auch die Zahl der Dimensionszahl, die einem Gewichtungswert entspricht, beschrieben wird, wird dadurch die dritte Stelle W der tiefgestellten Zeichen definiert. In dem vorliegenden Beispiel werden, da die Dimensionszahl, wie oben erwähnt, gleich 3 wird, wenn zum Beispiel W11 oder W21 als Beispiel dienen, drei tiefgestellte Zeichen wie in der Beschreibung der (Formel 1) im Folgenden jedem Gewichtungswert beigefügt.
  • [Formel 1]
    • W11 = (w11,1, w11,2, w11,3)
    • W21 = (w21,1, w21,2, w21,3)
  • Als Nächstes wird die Gestaltung jedes Perzeptrons, das in der Perzeptronschaltung 85 beinhaltet ist, und die Eingabe/Ausgabe in jedes Perzeptron unter Bezugnahme auf 5 erläutert.
  • Jedes Perzeptron, das in der Perzeptronschaltung 85 beinhaltet ist, weist eine Mehrzahl von Multiplizierern in derselben Zahl wie die Dimensionszahl und einen Addierer auf. Der Multiplizierer berechnet ein Produkt aus einer Multiplikation jeder Eingabe mit dem Gewichtungswert und gibt dieses aus. Der Addierer berechnet die Summe aus einer Addition sämtlicher Ausgaben der Mehrzahl von Multiplizierern und gibt diese aus. Bei dieser Gestaltung handelt es sich um eine allgemeine Funktion der Perzeptronschaltung 85. Die Perzeptronschaltung 85 der Lernschaltung 80 der vorliegenden Ausführungsform beinhaltet jedoch des Weiteren eine Funktion zum Erstellen eines beliebigen neuronalen Netzwerkmodells auf Grundlage von Einstellwerten.
  • Hierin handelt es sich bei einem beliebigen neuronalen Netzwerkmodell um verschiedene neuronale Netzwerkmodelle wie zum Beispiel diejenigen, die in 6 dargestellt werden. In 6 wird ein Beispiel für ein Erstellen eines beliebigen neuronalen Netzwerks beschrieben, wobei die Perzeptronschaltung 85 eine Schichtzahl von 5 und eine Dimensionszahl von 4 aufweist. Wie auf der linken Seite von 6 oben veranschaulicht, ist es zum Beispiel möglich, ein neuronales Netzwerkmodell, in dem eine Schicht festgelegt wird, die nicht zu verwenden ist, und mit vier Schichten und vier Dimensionen zu erstellen. Darüber hinaus ist es alternativ möglich, ein neuronales Netzwerkmodell zu erstellen, in dem die Dimensionszahl mit einer Zunahme von Schichten zunimmt, wie in 6 in der Mitte oben veranschaulicht. Des Weiteren ist es alternativ möglich, ein neuronales Netzwerkmodell zu erstellen, in dem die Dimensionszahl mit einem Zunahme von Schichten abnimmt, wie auf der rechten Seite von 6 oben veranschaulicht. Darüber hinaus ist es alternativ möglich, ein neuronales Netzwerkmodell zu erstellen, in dem die Dimensionszahl mit einer Zunahme von Schichten bis zu der dritten Schicht abnimmt und die Dimensionszahl mit einer Zunahme von Schichten von der vierten Schicht an ebenfalls zunimmt, wie auf der linken Seite von 6 unten veranschaulicht. Darüber hinaus ist es alternativ möglich, ein neuronales Netzwerkmodell zu erstellen, in dem die Dimensionszahl mit einer Zunahme von Schichten bis zu der dritten Schicht ebenfalls zunimmt und die Dimensionszahl mit einer Zunahme von Schichten von der vierten Schicht an abnimmt, wie auf der rechten Seite von 6 unten veranschaulicht.
  • Um ein beliebiges neuronales Netzwerk in der Perzeptronschaltung 85 zu erstellen, wie durch diese beispielhaft erläutert, berechnet die CPU 11 die Einstellwerte Sij bei der vorliegenden Ausführungsform entsprechend einem beliebigen zu erstellenden neuronalen Netzwerkmodell. Anschließend führen die in jedem Perzeptron beinhalteten Multiplizierer eine beliebige Ausgabe von den drei Ausgaben aus den folgenden (1) bis (3) auf Grundlage der Einstellwerte Sij durch, die ihnen selbst entsprechen.
    • (1) Definiert einen Wert aus einer Multiplikation eines Gewichts W mit einer Eingabe X als Ausgabe (diese Ausgabe wird im Folgenden als „YW” bezeichnet)
    • (2) Definiert einen Ausgabewert als „0” (diese Ausgabe wird im Folgenden als „Y0” bezeichnet)
    • (3) Definiert eine Eingabe X unverändert als Ausgabe (diese Ausgabe wird im Folgenden als „Yin” bezeichnet)
  • Anschließend wird bei der vorliegenden Ausführungsform durch Auswählen der Ausgabe jedes Multiplizierers mithilfe der Einstellwerte Sij ein beliebiges neuronales Netzwerkmodell an der Perzeptronschaltung 85 der Lernschaltung 80 erstellt.
  • Das Verfahren zum Erstellen eines neuronalen Netzwerkmodells durch Auswählen von Ausgaben auf diese Weise wird anhand des in 7 dargestellten spezifischen Beispiels erläutert. Hierin wird die Lernschaltung 80, die die Perzeptronschaltung 85 mit drei Schichten und einer Dimensionszahl von 3 aufweist, die in den Erläuterungen von 3 und 4 verwendet worden ist, auf der linken Seite von 7 dargestellt. Ein Ziel besteht darin, das auf der rechten Seite von 7 dargestellte neuronale Netzwerkmodell an dieser Lernschaltung 80 zu erstellen. Bei einem solchen neuronalen Zielnetzwerkmodell handelt es sich bei der zweiten Schicht P32 und der gesamten dritten Schicht (d. h. P13, P23 und P33) um nicht verwendete Perzeptronen. Um ein solches neuronales Netzwerkmodell zu erstellen, wählen die in jedem Perzeptron beinhalteten Multiplizierer auf Grundlage der Einstellwerte Sij Ausgaben wie folgt durch Unterteilen in einen Fall, in dem ein Teil oder eine gesamte Schicht verwendet wird (zum Beispiel die erste Schicht, die zweite Schicht) und einen Fall aus, in dem eine gesamte Schicht nicht verwendet wird (zum Beispiel die dritte Schicht).
  • <Der Fall, in dem ein Teil oder eine gesamte Schicht verwendet wird>
  • Die Ausgaben der Multiplizierer des verwendeten Perzeptrons: sämtlich auf YW gesetzt. Die Ausgaben der Multiplizierer des nicht verwendeten Perzeptrons: sämtlich auf Y0 gesetzt.
  • Die Summe, die durch den Addierer berechnet wird, der in dem Perzeptron beinhaltet ist, wird dadurch zu einem Wert aus einer Addition eines Wertes, der durch Multiplizieren des Gewichtungswertes mit der Eingabe gewonnen wird, die wie üblich von dem verwendeten Multiplizierer ausgegeben wird, und eines Wertes von null, der aus nicht verwendeten Multiplizierern ausgegeben wird. Mit anderen Worten, es ist möglich, die Summe lediglich von Werten zu berechnen, die von Multiplizierern ausgegeben werden, die der verwendeten Schicht ansprechen.
  • <Der Fall, in dem eine gesamte Schicht nicht verwendet wird>
  • Die Ausgabe des Multiplizierers, in den eine Eingabe von einem Perzeptron derselben Dimension wie dieses Perzeptron eingegeben wird: auf Yin gesetzt. Andere Ausgaben als die obigen: sämtlich auf Y0 gesetzt. Dadurch wird die Eingabe des Perzeptrons derselben Dimension unverändert an die nächste Schicht ausgegeben. Mit anderen Worten, diese Schicht wird im Wesentlichen inaktiv gemacht.
  • Mithilfe des obigen Ausgabeverfahrens wird die Eingabe/Ausgabe jedes Perzeptrons in 8 für den Fall dargestellt, dass das neuronale Netzwerkmodell erstellt wird, das auf der rechten Seite in 7 dargestellt wird. Die Ausgabe jedes Perzeptrons wird so, wie in (Formel 2) im Folgenden dargestellt. Dadurch, dass für jedes Perzeptron die Ausgabe auf diese Weise ausgewählt wird, kann das als Ziel gesetzte neuronalen Netzwerkmodell erstellt werden, das auf der rechten Seite von 7 dargestellt wird. [Formel 2]
    Figure DE102017212270A1_0002
  • Obwohl es sich um ein Verfahren zum Umsetzen der Funktion der in jedem Perzeptron beinhalteten Multiplizierer handelt, die die Ausgabe auf diese Weise auswählen, wird die vorliegende Ausführungsform durch „Erstellen einer Schaltungsanordnung zum Ändern der Ausgabe gegenüber dem Einstellwert S” umgesetzt. Dieser Aspekt wird im Folgenden ausführlich erläutert. Es ist zu beachten, dass im Folgenden als tiefgestellte Zeichen des Einstellwertes S verwendet werden. Hierin handelt es sich bei i des Einstellwertes Sij um eine Variable, die der Dimensionszahl des Perzeptrons entspricht, das als Einstellziel dient. Darüber hinaus handelt es sich bei j um eine Variable, die der Schichtzahl des Perzeptrons entspricht, das als Einstellziel dient.
  • Hierin handelt es sich bei dem Einstellwert Sij um einen Wert, der die Werte von zwei Flags wie in (Formel 3) im Folgenden aufweist. [Formel 3]
    Figure DE102017212270A1_0003
  • Darüber hinaus weist jeder Multiplizierer einen Speicherbereich auf, der einen Wert als Wert eines Flag3 wie in (Formel 4) im Folgenden beibehält.
  • [Formel 4]
  • Flag3: Von Eingaben von der vorherigen Schicht wird ein Wert zu „1” in dem Fall, in dem eine Eingabe von derselben Dimension aus eingegeben wird, und wird in sonstigen Fällen zu „0”.
  • Hierin ist das Flag3 ein Wert, der zum Zeitpunkt der Konstruktion der Lernschaltung 80 festgelegt worden ist. Zur Erläuterung dieses Aspekts anhand des Beispiels P12 in 8 ist, da die Eingabe Y11 von P11, bei dem es sich um ein Perzeptron derselben Dimension handelt, in den obersten Multiplizierer von drei Multiplizierern eingegeben wird, der Wert von Flag3 dieses Multiplizierers gleich „1”. Demgegenüber ist bei dem Multiplizierer in der Mitte von drei Multiplizierern, da die Eingabe Y21 von P21 des Perzeptrons eingegeben wird, bei dem es sich nicht um dieselbe Dimension handelt, der Wert von Flag3 dieses Multiplizierers als gleich „0”. In ähnlicher Weise ist bei dem untersten Multiplizierer von drei Multiplizierern, da die Eingabe Y31 von P31 des Perzeptrons eingegeben wird, bei dem es sich nicht um dieselbe Dimension handelt, der Wert von Flag3 dieses Multiplizierers gleich „0”.
  • Als Nächstes wird eine Verarbeitungsreihe der vorliegenden Ausführungsform für einen Fall einer Verwendung der Einstellwerte Sij erläutert, wie oben beschrieben. Im Folgenden wird zunächst das Einstellen von Parameterwerten entsprechend dem zu erstellenden neuronalen Netzwerkmodell erläutert. Anschließend wird ein Verfahren erläutert, in dem die CPU 11 die Werte von Flag1 und Flag2 auf Grundlage der als Nächstes festgelegten Parameterwerte berechnet. Die berechneten Werte von Flag1 und Flag2 werden in den Multiplizierern jedes Perzeptrons als Einstellwerte Sij eingestellt. Schließlich wird die Schaltungsanordnung zum Ändern der Ausgabe des Multiplizierers auf Grundlage der auf diese Weise eingestellten Werte von Flag1 und Flag2 und des Wertes von Flag3 erläutert, der durch die Multiplizierer jedes Perzeptrons beibehalten wird.
  • Zunächst wird das Einstellen von Parameterwerten entsprechend dem zu erstellenden neuronalen Netzwerkmodell erläutert. Die vorliegende Ausführungsform stellt die folgenden drei Modi als Modi zum Erstellen von neuronalen Netzwerken durch Einstellen von Parameterwerten bereit.
  • Modus 1: Modus zum Erstellen eines neuronalen Netzwerkmodells durch Einstellen von Parameterwerten entsprechend der Auswahl des Benutzers an einer graphischen Schnittstelle (im Folgenden gegebenenfalls als „GUI” bezeichnet).
  • Modus 2: Modus zum Erstellen eines neuronalen Netzwerkmodells durch Lesen von Parameterwerten aus externen Einstellungsinformationen.
  • Modus 3: Modus zum Erstellen eines neuronalen Netzwerkmodells durch Einstellen von Parameterwerten durch den Benutzer, der einen Vorgang zum graphischen Bearbeiten an der GUI durchführt.
  • Im Folgenden werden spezifische Einstellungsbildschirme entsprechend jedem dieser Modi unter Bezugnahme auf die Zeichnungen erläutert. Diese Einstellungsbildschirme werden auf der Anzeige-/MDE-Einheit 70 durch die CPU 11 angezeigt. Darüber hinaus wird das Einstellen von Parameterwerten mithilfe dieser Einstellungsbildschirme durch den Benutzer ausgeführt, der eine Bearbeitung mithilfe der Anzeige-/MDE-Einheit 70 oder der Bedientafel 71 durchführt. Es ist zu beachten, dass die Parameterwerte der vorliegenden Ausführungsform zumindest die Schichtzahl und die Dimensionszahl jeder Schicht in dem zu erstellenden neuronalen Netzwerk angeben.
  • Zuerst wird das Beispiel für einen ersten Einstellungsbildschirm für Parameterwerte in 9 dargestellt. Bei dem vorliegenden Beispiel handelt es sich um ein Beispiel, das dem Benutzer ermöglicht, ein repräsentatives neuronales Netzwerkmodell aus einer Liste auszuwählen, wobei es sich um ein Beispiel handelt, das dem oben erwähnten Modus 1 entspricht.
  • In dem vorliegenden Beispiel wird als repräsentative neuronale Netzwerkmodelle, die ausgewählt werden können, zumindest ein neuronales Netzwerkmodell wie zum Beispiel dasjenige, das in 6 dargestellt wird, als neuronales Standard-Netzwerkmodell erstellt. Anschließend wird das erstellte neuronale Netzwerkmodell durch den Benutzer zum Beispiel als „Modell A” ausgewählt. Die CPU 11 weist darin eingestellte Parameterwerte zum Erstellen dieses ausgewählten neuronalen Netzwerkmodells auf. Wenngleich Ähnlichkeiten mit den Beispielen von Einstellungsbildschirmen im Folgenden bestehen, werden anschließend die Werte von Flag1 und des Flag2 auf Grundlage der eingestellten Parameterwerte berechnet, und die berechneten Werte von Flag1 und Flag2 werden als Einstellwerte Sij in der Einstellwert-Speichereinheit 83 gespeichert.
  • Als Nächstes wird ein Beispiel für einen zweiten Einstellungsbildschirm für Parameterwerte in 10 dargestellt. Bei dem vorliegenden Beispiel handelt es sich um ein Beispiel zum Erstellen eines neuronalen Netzwerkmodells auf Grundlage der Zahl von Schichten, der Dimensionszahl der obersten Schicht, der Dimensionszahl der untersten Schicht und des Typs, der durch den Benutzer angegeben worden ist, wobei es sich um ein Beispiel handelt, das dem oben erwähnten Modus 1 entspricht. In 10 wird eine UI zum Erstellen mit monoton abnehmender Dimensionszahl dargestellt, und es handelt sich um eine Benutzerschnittstelle zum Erstellen eines neuronalen Netzwerkmodells, bei dem die Dimensionszahl mit zunehmenden Schichten monoton abnimmt. Hierbei handelt es sich um eine Benutzerschnittstelle zum Erstellen eines neuronalen Netzwerkmodells wie zum Beispiel desjenigen, das auf der rechten Seite von 6 ganz oben dargestellt wird, und ansonsten ist eine Gestaltung so möglich, dass eine Benutzerschnittstelle zum Erstellen sonstiger in 6 dargestellter neuronaler Netzwerkmodelle bereitgestellt wird.
  • Bei der vorliegenden Ausführungsform wird die Anfangsschicht als oberste Schicht und die letzte Schicht als unterste Schicht des neuronalen Netzwerkmodells definiert, wobei die Zahl der Schichten von dem Benutzer angegeben wird. Da als Typ linear angegeben wird, erfolgt eine Gestaltung so, dass die Parameterwerte zum Erstellen eines neuronalen Netzwerkmodells so eingestellt werden, dass die Dimensionszahl mit zunehmenden Schichten nacheinander von der Dimensionszahl der obersten angegebenen Schicht abnimmt und dass es sich um die Dimensionszahl der untersten angegebenen Schicht auf der untersten Schicht handelt. Wenn zum Beispiel eine quadratische Funktion als Typ ausgewählt wird, ändert sich in diesem Fall die Zahl der Dimensionszahl, die mit zunehmenden Schichten abnimmt. Beispielsweise erfolgt eine Gestaltung so, dass die Parameterwerte zum Erstellen eines neuronalen Netzwerkmodells so eingestellt werden, dass die Dimensionszahl um eins abnimmt, wenn die Schichten von der Anfangsschicht aus um drei Schichten zunehmen, anschließend die Dimensionszahl um eins abnimmt, wenn die Schichten um zwei Schichten zunehmen und danach die Dimensionszahl um eins abnimmt, wenn die Schichten um eine Schicht zunehmen.
  • Als Nächstes wird das Beispiel für einen dritten Einstellungsbildschirm für Parameterwerte in 11 dargestellt. Bei dem vorliegenden Beispiel handelt es sich um ein Beispiel zum automatischen Durchführen einer Suche nach einer Mehrzahl von neuronalen Netzwerkmodellen auf Grundlage von Bedingungen wie zum Beispiel eines Suchbereichs und einer Suchdauer, die von dem Benutzer angegeben werden, wobei es sich um ein Beispiel handelt, das dem oben genannten Modus 1 entspricht.
  • In dem vorliegenden Beispiel erfolgt eine Gestaltung so, dass der Benutzer den Bereich von Schichtzahlen, einen Bereich von Dimensionszahlen und eine Suchdauer angeben kann. Anschließend erstellt die CPU 11 ein neuronales Netzwerkmodell und bewirkt dabei, dass sich die Schichtzahl und die Dimensionszahl innerhalb des konstruierten Bereichs von Schichtzahlen und des konstruierten Bereichs von Dimensionszahlen unterscheiden. Anschließend wird ein maschinelles Lernen durch das erstellte neuronale Netzwerkmodell durchgeführt, bis die angegebene Suchdauer verstrichen ist. Wenn zum Beispiel der Bereich der angegebenen Schichtzahlen 3 bis 4 beträgt und der Bereich der angegebenen Dimensionszahlen 2 bis 3 beträgt, wird ein neuronales Netzwerkmodell erstellt, bei dem die Dimensionszahl der ersten Schicht 2 beträgt, die Dimensionszahl der zweiten Schicht 2 beträgt und die Dimensionszahl der dritten Schicht 2 beträgt. Anschließend wird ein maschinelles Lernen über einen vorgegebenen Zeitraum an diesem erstellten neuronalen Netzwerkmodell durchgeführt. Als Nächstes wird ein neuronales Netzwerkmodell erstellt, bei dem die Dimensionszahl der ersten Schicht 3 beträgt, die Dimensionszahl der zweiten Schicht 2 beträgt und die Dimensionszahl der dritten Schicht 2 beträgt. Anschließend wird ein maschinelles Lernen über einen vorgegebenen Zeitraum an diesem erstellten neuronalen Netzwerkmodell durchgeführt. Als Nächstes wird ein neuronales Netzwerkmodell erstellt, bei dem die Dimensionszahl der ersten Schicht 3 beträgt, die Dimensionszahl der zweiten Schicht 3 beträgt und die Dimensionszahl der dritten Schicht 2 beträgt. Anschließend wird ein maschinelles Lernen über einen vorgegebenen Zeitraum an diesem erstellten neuronalen Netzwerkmodell durchgeführt. Durch ein derartiges Gestalten wird ein neuronales Netzwerkmodell erstellt und dabei die Schichtzahl und die Dimensionszahl in dem Bereich von Schichtzahlen und dem Bereich von Dimensionszahlen, die angegeben sind, geändert.
  • Es ist zu beachten, dass eine Länge eines vorgegebenen Zeitraums die Länge des Zeitraums angibt, der durch Dividieren des angegebenen Zeitraums durch die Zahl von neuronalen Netzwerkmodellen berechnet wird, die in dem Bereich von Schichtzahlen und dem Bereich von Dimensionszahlen, die angegeben sind, erstellt werden kann. Anschließend kann der Benutzer ein als geeignet erachtetes neuronales Netzwerkmodell durch Referenzieren der Ergebnisse eines maschinellen Lernens sämtlicher erstellter neuronaler Netzwerkmodelle bestimmen.
  • Als Nächstes wird ein Beispiel für einen vierten Einstellungsbildschirm für Parameterwerte in 12 dargestellt. Bei dem vorliegenden Beispiel handelt es sich um ein Beispiel zum Lesen von Parameterwerten aus externen Einstellungsinformationen, die in einer durch den Benutzer ausgewählten Importquelle vorhanden sind, wobei es sich um ein Beispiel handelt, das dem oben erwähnten Modus 2 entspricht.
  • In dem vorliegenden Beispiel werden die Parameterwerte wie zum Beispiel die Schichtzahl und die Dimensionszahl in ein Dateiformat wie zum Beispiel CSV importiert. Anschließend werden die importierten Parameterwerte als Parameterwerte des zu erstellenden neuronalen Netzwerkmodells eingestellt. Die Importquelle ist so gestaltet, dass sie eine Auswahl durch den Benutzer ermöglicht. Dadurch wird es möglich, ein neuronales Netzwerkmodell ähnlich wie das neuronale Netzwerkmodell zu erstellen, das beispielsweise durch die sonstige numerische Steuerung 100 erstellt worden ist. Es ist zu beachten, dass es außerdem ermöglicht wird, zur Zeit eingestellte Parameterwerte in ein Dateiformat wie zum Beispiel CSV zu exportieren.
  • Als Nächstes wird ein Beispiel für einen fünften Einstellungsbildschirm für Parameterwerte in 13 dargestellt. Bei dem vorliegenden Beispiel handelt es sich um ein Beispiel zum Umsetzen der Angabe jedes Parameterwertes auf dem oben erwähnten zweiten Einstellungsbildschirm für Parameterwerte durch den Benutzer, der einen graphischen Bearbeitungsvorgang durchführt. Bei dem vorliegenden Beispiel handelt es sich um ein Beispiel, das dem oben erwähnten Modus 3 entspricht.
  • In dem vorliegenden Beispiel wird die Verbindungsbeziehung des neuronalen Netzwerks graphisch auf dem Bildschirm angezeigt. Anschließend wird angenommen, dass dadurch, dass der Benutzer eine Bearbeitung an dieser graphischen Darstellung durchführt, das zu erstellende neuronale Netzwerkmodell angegeben wird und die Parameterwerte zum Erstellen dieses angegebenen neuronalen Netzwerkmodells eingestellt werden. Beispielsweise wird der Fall erläutert, in dem der Typ als quadratische Funktion auf dem oben erwähnten zweiten Einstellungsbildschirm für Parameterwerte eingestellt wird. In diesem Zusammenhang kommt es auch vor, dass es für den Benutzer in dem Fall, in dem der Typ als quadratische Funktion eingestellt wird, nicht einfach ist, sich die Form des erstellten neuronalen Netzwerkmodells vorzustellen. Da bei dem vorliegenden Beispiel jedoch die Form des zu erstellenden neuronalen Netzwerkmodells graphisch dargestellt wird, ist es möglich, die Parameterwerte leicht einzustellen, wenn man sich die Form des derzeit zu erstellenden neuronalen Netzwerkmodells vorstellt. Es ist zu beachten, dass eine solche graphische Bearbeitung in den oben erwähnten jeweiligen Patentdokumenten nicht beschrieben oder vorgeschlagen worden ist.
  • Als Nächstes wird der Betrieb der CPU 11 in dem Fall, in dem die Parameterwerte über einen beliebigen dieser Einstellungsbildschirme eingestellt werden, unter Bezugnahme auf den Ablaufplan von 14 erläutert. Als Voraussetzung für die Erläuterung hierin beinhalten die Parameterwerte NSchicht und NDim,j im Folgenden als Werte davon.
    NSchicht: die Schichtzahl des zu erstellenden neuronalen Netzwerkmodells
    NDim,j: die Dimensionszahl jeder Schicht des zu erstellenden neuronalen Netzwerkmodells (hierin ist j eine Ganzzahl, die die Schichtzahl ausdrückt)
  • Wie in 14 dargestellt, wird zuerst ermittelt, ob die Parameterwerte zum Erstellen des neuronalen Netzwerkmodells gemäß Modus 1 einzustellen sind (Schritt S11).
  • Wenn die Parameterwerte mit dem Modus 1 eingestellt werden (Ja in Schritt S11), geht die Verarbeitung zu Schritt S12 über. Anschließend stellt der Benutzer mithilfe beliebiger der Einstellungsbildschirme, die dem Modus 1 entsprechen, zum Beispiel dem oben genannten ersten Einstellungsbildschirm für Parameterwerte, dem zweiten Einstellungsbildschirm für Parameterwerte und dem dritten Einstellungsbildschirm für Parameterwerte die Parameterwerte NSchicht und NDim,j ein (Schritt S12). Dadurch endet die vorliegende Einstellungsverarbeitung von Parameterwerten.
  • Wenn die Parameterwerte nicht mit dem Modus 1 eingestellt werden (Nein in Schritt S11), geht die Verarbeitung demgegenüber zu Schritt S13 über. Anschließend wird ermittelt, ob die Parameterwerte zum Erstellen des neuronalen Netzwerkmodells gemäß Modus 2 einzustellen sind (Schritt S13).
  • Wenn die Parameterwerte mit dem Modus 2 eingestellt werden (Ja in Schritt S13), geht die Verarbeitung zu Schritt S14 über. Anschließend gewinnt der Benutzer mithilfe eines Einstellungsbildschirms, der dem Modus 2 entspricht, zum Beispiel mithilfe des oben erwähnten vierten Einstellungsbildschirms für Parameterwerte, die Parameterwerte zum Einstellen von NSchicht und NDim,j aus der ausgewählten Importquelle (Schritt S14).
  • Dadurch endet die vorliegende Einstellungsverarbeitung von Parameterwerten.
  • Wenn die Parameterwerte nicht mit dem Modus 2 eingestellt werden (Nein in Schritt S13), geht die Verarbeitung demgegenüber zu Schritt S15 über. Anschließend werden die Parameterwerte zum Erstellen des neuronalen Netzwerkmodells mithilfe des Modus 3 eingestellt. Genauer gesagt, mithilfe eines Einstellungsbildschirms, der dem Modus 3 entspricht, beispielsweise dem oben erwähnten fünften Einstellungsbildschirm für Parameterwerter, stellt der Benutzer die Parameterwerte NSchicht und NDim,j entsprechend einem graphischen Bearbeitungsverfahren ein. Dadurch endet die vorliegende Einstellungsverarbeitung von Parameterwerten.
  • Als Nächstes wird die Verarbeitung zum Erzeugen von Einstellwerten Sij durch die CPU 11, die Werte von Flag1 und Flag2 auf Grundlage der auf diese Weise eingestellten Parameterwerte berechnet, unter Bezugnahme auf den Ablaufplan von 15 erläutert. Es ist zu beachten, dass die vorliegende Verarbeitung wiederholt wird, bis die Einstellwerte Sij, die sämtlichen der Perzeptronen der jeweiligen Schichten und Dimensionen entsprechen, erzeugt worden sind.
  • Zuerst wird ermittelt, ob die Beziehung zwischen dem Wert von j des gegenwärtig zu erzeugenden Einstellwertes Sij „j > NSchicht” für den Wert von NSchicht realisierbar ist (Schritt S21). Wenn diese Beziehung realisierbar ist (Ja in Schritt S21), geht die Verarbeitung zu Schritt S22 über. Anschließend wird durch Einstellen der Werte sowohl von Flag1 als auch von Flag2 des gegenwärtig zu erzeugenden Einstellwertes Sij auf „1” der Einstellwert Sij erzeugt (Schritt S22). Der erzeugte Einstellwert Sij wird in der Einstellwert-Speichereinheit 84 gespeichert. Dadurch endet die Erzeugungsverarbeitung des gegenwärtig zu erzeugenden Einstellwertes Sij.
  • Wenn demgegenüber die Beziehung zwischen dem Wert von j des gegenwärtig zu erzeugenden Einstellwertes Sij und „j > NSchicht” für den Wert von NSchicht nicht realisierbar ist (Nein in Schritt S21), geht die Verarbeitung zu Schritt S23 über. Anschließend wird NDim,j ausgewählt, das den Wert von j mit dem gegenwärtig zu erzeugenden Einstellwert Sij teilt. Darüber hinaus wird ermittelt, ob die Beziehung zwischen diesem ausgewählten Wert von NDim,j und „i > NDim,j” für den Wert von i des gegenwärtig zu erzeugenden Einstellwertes Sij realisierbar ist (Schritt S23). Wenn diese Beziehung realisierbar ist (Ja in Schritt 23), geht die Verarbeitung zu Schritt S24 über. Anschließend wird durch Einstellen des Wertes von Flag1 des gegenwärtig zu erzeugenden Einstellwertes Sij auf „0” und Einstellen des Wertes von Flag2 auf „1” der Einstellwert Sij erzeugt (Schritt S24). Der erzeugte Einstellwert Sij wird in der Einstellwert-Speichereinheit 84 gespeichert. Dadurch endet die Erzeugungsverarbeitung des gegenwärtig zu erzeugenden Einstellwertes Sij.
  • Wenn demgegenüber die Beziehung zwischen dem Wert von i des gegenwärtig zu erzeugenden Einstellwertes Sij und „i > NDim,j” für den ausgewählten Wert von NDim,j nicht realisierbar ist (Nein in Schritt S23), geht die Verarbeitung zu Schritt S25 über. Anschließend wird durch Einstellen der jeweiligen Werte von Flag1 und Flag2 des gegenwärtig zu erzeugenden Einstellwertes Sij auf „0” der Einstellwert Sij erzeugt (Schritt S25). Der erzeugte Einstellwert Sij wird in der Einstellwert-Speichereinheit 84 gespeichert. Dadurch endet die Erzeugungsverarbeitung des gegenwärtig zu erzeugenden Einstellwertes Sij.
  • Die oben unter Bezugnahme auf 15 erläuterte Verarbeitung wird wiederholt, bis Einstellwerte Sij erzeugt worden sind, die den jeweiligen Perzeptronen jeder Schicht und Dimension entsprechen. Die Einstellwerte Sij, die den jeweiligen Perzeptronen jeder Schicht und Dimension entsprechen, werden dadurch in der Einstellwert-Speichereinheit 84 gespeichert.
  • Als Nächstes werden in (Tabelle 1) im Folgenden die Beziehungen zwischen den Werten von Flag1 und Flag2 des auf diese Weise gespeicherten Einstellwertes Sij, des Wertes von Flag3, der durch den Multiplizierer jedes Perzeptrons beibehalten wird, das in der Perzeptronschaltung 85 beinhaltet ist, und der Ausgabe des Multiplizierers dargestellt. [Tabelle 1]
    Ausgabe des Multiplizierers Flag1 Flag2 Flag3 Erläuterung
    Yin 1 X 1 Multiplizierer, in den eine Eingabe derselben Dimension eingegeben wird, ohne die gesamte Schicht zu verwenden
    Y0 1 X 0 Anderer Multiplizierer als der obige, ohne die gesamte Schicht zu verwenden
    Yw 0 0 X Multiplizierer des verwendeten Perzeptrons
    Y0 0 1 X Falls ein Teil der Schicht verwendet wird, Multiplizierer des Perzeptrons, das in dieser Schicht nicht verwendet wird
  • Anschließend wird der Multiplizierer, der eine Ausgabe wie in (Tabelle 1) gemäß dem Wert jedes Flags durchführt, unter Bezugnahme auf die Schaltungsanordnung von Multiplizierern jedes Perzeptrons erläutert, die in 16 dargestellt wird. Es ist zu beachten, dass es sich bei der in 16 dargestellten Schaltungsanordnung lediglich um eines der Beispiele für Schaltungsanordnungen handelt und sie so gestaltet sein kann, dass dieselben Operationen durch eine andere Schaltungsanordnung umgesetzt werden.
  • Wie in 16 dargestellt, beinhalten die Multiplizierer jedes Perzeptrons nicht nur den Multiplizierer 91, sondern auch die NOR-Schaltung 92, eine AND-Schaltung 93, eine AND-Schaltung 94, eine AND-Schaltung 95 und eine OR-Schaltung 96 als zugehörige Schaltungen. Es ist zu beachten, dass, da die Schaltungsanordnung der Multiplizierer jedes Perzeptrons gemeinsam genutzt wird, in 16 eine Erläuterung erfolgt, ohne dass tiefgestellte Zeichen beigefügt werden, die die Schichtzahl und die Dimensionszahl angeben.
  • Die Eingabe X und der Gewichtungswert w werden in den Multiplizierer 91 eingegeben. Durch Multiplizieren der Eingabe X und des Gewichtungswertes w gibt der Multiplizierer 91 YW, wobei es sich um deren Produkt handelt, in den Eingabeanschluss der AND-Schaltung 93 ein. Demgegenüber wird die Eingabe X abgezweigt und als Yin in den Eingabeanschluss der AND-Schaltung 95 eingegeben. Darüber hinaus werden die Werte von Flag1 und Flag2 in den Eingabeanschluss der NOR-Schaltung 92 eingegeben. Des Weiteren werden die Werte von Flag1 und Flag3 in den Eingabeanschluss der AND-Schaltung 94 eingegeben. Bis hierher handelt es sich um gemeinsame Operationen ohne Berücksichtigung des Wertes jedes Flags.
  • Als Nächstes wird der Fall erläutert, in dem die Werte sowohl von Flag1 als auch von Flag3 gleich „1” sind. Dies entspricht dem obersten Fall in der oben erwähnten (Tabelle 1). Es ist zu beachten, dass in diesem Fall die Ausgabe ermittelt wird, ohne zu berücksichtigen, ob der Wert von Flag2 gleich „1” oder „0” ist.
  • Da in diesem Fall der Wert von Flag1, der in die NOR-Schaltung 92 eingegeben wird, gleich „1” ist, ist die Ausgabe aus der NOR-Schaltung 92 gleich „0”, selbst wenn der Wert von Flag2 gleich „1” oder „0” ist. Wenn dies erfolgt ist, ist, da „0” und Yw in den Eingabeanschluss der AND-Schaltung 93 eingegeben werden, die Ausgabe aus der AND-Schaltung 93 gleich Y0, und Y0 wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Da der Wert von Flag1, der in die AND-Schaltung 94 eingegeben wird, gleich „1” ist und der Wert von Flag3 ebenfalls gleich „1” ist, ist die Ausgabe aus der AND-Schaltung 94 darüber hinaus gleich „1”. Wenn dies erfolgt ist, ist, da „1” und Yin in den Eingabeanschluss der AND-Schaltung 95 eingegeben werden, die Ausgabe aus der AND-Schaltung 93 gleich Yin, und Yin wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Da Y0 und Yin entsprechend dem Obigen in den Eingabeanschluss der OR-Schaltung 96 eingegeben werden, ist die Ausgabe aus der OR-Schaltung 96 gleich Yin. Eine solche Ausgabe wird in den Addierer jedes Perzeptrons eingegeben. Durch eine derartige Gestaltung erfolgt eine Ausgabe, wie ganz oben in der oben erwähnten (Tabelle 1) dargestellt. Es ist zu beachten, dass es sich bei diesem Fall um einen Fall eines Multiplizierers handelt, in den die Eingabe derselben Dimension ohne Verwenden der gesamten Schicht eingegeben wird.
  • Als Nächstes wird der Fall erläutert, in dem der Wert von Flag1 gleich „1” ist und der Wert von Flag3 gleich „0” ist. Dies entspricht dem zweiten Fall von oben der oben erwähnten (Tabelle 1). Es ist zu beachten, dass in diesem Fall die Ausgabe bestimmt wird, ohne zu berücksichtigen, ob der Wert von Flag2 gleich „1” oder „0” ist.
  • Da in diesem Fall der Wert von Flag1, der in die NOR-Schaltung 92 eingegeben wird, gleich „1” ist, ist die Ausgabe aus der NOR-Schaltung 92 gleich „0”, selbst wenn der Wert von Flag2 gleich „1” oder „0” ist. Wenn dies erfolgt ist, ist, da „0” und Yw in den Eingabeanschluss der AND-Schaltung 93 eingegeben werden, die Ausgabe aus der AND-Schaltung 93 gleich Y0, und Y0 wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Da der Wert von Flag1, der in die AND-Schaltung 94 eingegeben wird, gleich „1” ist und der Wert von Flag3 gleich „0” ist, ist die Ausgabe aus der AND-Schaltung 94 darüber hinaus gleich „0”. Wenn dies erfolgt ist, ist, da „0” und Yin in den Eingabeanschluss der AND-Schaltung 95 eingegeben werden, die Ausgabe aus der AND-Schaltung 93 gleich Y0, und Y0 wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Da Y0 und Y0 entsprechend dem Obigen in den Eingabeanschluss der OR-Schaltung 96 eingegeben werden, ist die Ausgabe aus der OR-Schaltung 96 gleich Y0. Diese Ausgabe wird in den Addierer in jedem Perzeptron eingegeben. Durch eine derartige Gestaltung erfolgt eine Ausgabe, wie in der zweiten Zeile von oben in der oben erwähnten (Tabelle 1) dargestellt. Es ist zu beachten, dass es sich bei diesem Fall um einen Fall eines anderen Multiplizierers als einen Multiplizierer handelt, in den die Eingabe derselben Dimension ohne Verwenden der gesamten Schicht eingegeben wird.
  • Als Nächstes wird ein Fall erläutert, in dem der Wert von Flag1 gleich „0” ist und der Wert von Flag2 gleich „0” ist. Dies entspricht dem dritten Fall von oben in der oben erwähnten (Tabelle 1). Es ist zu beachten, dass in diesem Fall die Ausgabe bestimmt wird, ohne zu berücksichtigen, ob der Wert von Flag3 gleich „1” oder „0” ist.
  • In diesem Fall ist der Wert von Flag1, der in die NOR-Schaltung 92 eingegeben wird, gleich „0”, und der Wert von Flag2, der in die NOR-Schaltung 92 eingegeben wird, ist ebenfalls gleich „0”. Aus diesem Grund ist die Ausgabe aus der NOR-Schaltung 92 gleich „1”. Wenn dies erfolgt ist, werden „1” und Yw in den Eingabeanschluss der AND-Schaltung 93 eingegeben, die Ausgabe aus der AND-Schaltung 93 ist gleich Yw, und Yw wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Darüber hinaus ist der Wert von Flag1, der in die AND-Schaltung 94 eingegeben wird, gleich „0”, und die Ausgabe aus der AND-Schaltung 94 ist gleich „0”, selbst wenn der Wert von Flag3 gleich „1” oder „0” ist. Wenn dies erfolgt ist, ist, da „0” und Yin in den Eingabeanschluss der AND-Schaltung 95 eingegeben werden, die Ausgabe aus der AND-Schaltung 93 gleich Y0, und Y0 wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Da Yw und Y0 entsprechend dem Obigen in den Eingabeanschluss der OR-Schaltung 96 eingegeben werden, ist die Ausgabe aus der OR-Schaltung 96 gleich Yw. Diese Ausgabe wird in den Addierer in jedem Perzeptron eingegeben. Durch eine derartige Gestaltung erfolgt eine Ausgabe, wie in der dritten Zeile von oben in der oben erwähnten (Tabelle 1) dargestellt. Es ist zu beachten, dass es sich bei diesem Fall um einen Fall handelt, in dem ein Multiplizierer eines Perzeptrons verwendet wird.
  • Als Nächstes wird ein Fall erläutert, in dem der Wert von Flag1 gleich „0” ist und der Wert von Flag2 gleich „1” ist. Dies entspricht dem untersten Fall von oben in der oben erwähnten (Tabelle 1). Es ist zu beachten, dass in diesem Fall die Ausgabe bestimmt wird, ohne zu berücksichtigen, ob der Wert von Flag3 gleich „1” oder „0” ist. In diesem Fall ist der Wert von Flag1, der in die NOR-Schaltung 92 eingegeben wird, gleich „0”, und der Wert von Flag2, der in die NOR-Schaltung 92 eingegeben wird, ist gleich „1”. Aus diesem Grund ist die Ausgabe aus der NOR-Schaltung 92 gleich „0”. Wenn dies erfolgt ist, ist, da „0” und Yw in den Eingabeanschluss der AND-Schaltung 93 eingegeben werden, die Ausgabe aus der AND-Schaltung 93 gleich Y0, und Y0 wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Darüber hinaus ist der Wert von Flag1, der in die AND-Schaltung 94 eingegeben wird, gleich „0”, und die Ausgabe aus der AND-Schaltung 94 ist gleich „0”, selbst wenn der Wert von Flag3 gleich „1” oder „0” ist. Wenn dies erfolgt ist, ist, da „0” und Yin in den Eingabeanschluss der AND-Schaltung 95 eingegeben werden, die Ausgabe aus der AND-Schaltung 93 gleich Y0, und Y0 wird in den Eingabeanschluss der OR-Schaltung 96 eingegeben. Da Y0 und Y0 entsprechend dem Obigen in den Eingabeanschluss der OR-Schaltung eingegeben werden, ist die Ausgabe aus der OR-Schaltung 96 gleich Y0. Diese Ausgabe wird in den Addierer in jedem Perzeptron eingegeben. Durch eine derartige Gestaltung erfolgt eine Ausgabe, wie ganz zuunterst von oben in der oben erwähnten (Tabelle 1) dargestellt. Es ist zu beachten, dass, wenn ein Teil einer Schicht verwendet wird, es sich bei diesem Fall um einen Fall handelt, in dem ein Multiplizierer eines Perzeptrons verwendet wird, das in dieser Schicht nicht verwendet wird.
  • Wie oben erläutert, erstellt die vorliegende Ausführungsform als Lernschaltung eine Lernschaltung 80, die eine ausreichende Zahl von Perzeptronen zum Erstellen eines beliebigen neuronalen Netzwerkmodells beinhaltet, und ermöglicht ein Ändern der Zahl von verwendeten Perzeptronen entsprechend dem derzeit erstellten neuronalen Netzwerkmodell. Durch die CPU 11, die wie in dem Ablaufplan von 14 dargestellt arbeitet, werden darüber hinaus Parameterwerte von dem Benutzer empfangen, die dem zu erstellenden neuronalen Netzwerkmodell entsprechen. Des Weiteren wird durch die CPU 11, die wie in dem Ablaufplan von 15 dargestellt arbeitet, der Einstellwert Sij erzeugt, der die Werte von Flags beinhaltet, die den Parameterwerten entsprechen. Des Weiteren führt der Multiplizierer jedes Perzeptrons einer Schaltungsanordnung wie derjenigen, die in 16 dargestellt wird, eine Ausgabe entsprechend dem Einstellwert Sij durch. Des Weiteren gibt der Addierer jedes Perzeptrons die Summe von Ausgaben der Multiplizierer jedes Perzeptrons aus.
  • Dadurch, dass sie auf diese Weise arbeitet, setzt die vorliegende Ausführungsform Ausgaben wie diejenigen um, die in 8 dargestellt werden, und kann ein gewünschtes neuronales Netzwerkmodell an der Lernschaltung 80 erstellen, wie in 7 dargestellt. Mit anderen Worten, die vorliegende Ausführungsform übt eine Wirkung aus, die ein flexibles Erstellen von Lernschaltungen entsprechend verschiedenen neuronalen Netzwerkmodellen ermöglicht.
  • Es ist zu beachten, dass es sich bei der oben erwähnten Ausführungsform um eine geeignete Ausführungsform der vorliegenden Erfindung handelt; der Umfang der vorliegenden Erfindung soll jedoch nicht nur auf die oben erwähnte Ausführungsform beschränkt werden, und eine Umsetzung ist in Formen möglich, zu denen durch Durchführen verschiedener Modifizierungen innerhalb eines Umfangs gelangt wird, der nicht vom Gedanken der vorliegenden Erfindung abweicht.
  • Beispielsweise kann eine Gestaltung so erfolgen, dass die Lernschaltung 80 außerhalb der numerischen Steuerung 100 besteht und diese Lernschaltung 80 und die numerische Steuerung 100 durch eine Schnittstelle beliebiger Art verbunden sind. Darüber hinaus können das Programm zum Bewirken eines Dienens als numerische Steuerung und das Programm zum Durchführen einer Erstellung des neuronalen Netzwerkmodells in unterschiedlichen Speichervorrichtungen gespeichert werden, und unterschiedliche CPUs können jedes der Programme verarbeiten. Des Weiteren kann eine Gestaltung so erfolgen, dass die Funktionen zum Durchführen einer Erstellung des neuronalen Netzwerkmodells nicht durch die numerische Steuerung 100, sondern durch einen Server usw. umgesetzt werden und ein neuronales Netzwerkmodell erstellt wird, um Probleme zu lösen, die nicht in Beziehung zu der numerischen Steuerung 100 stehen. Mit anderen Worten, es kann eine Gestaltung so erfolgen, dass der Anwendungsbereich der vorliegenden Ausführungsform nicht auf die numerischen Steuerungen 100 beschränkt ist.
  • Darüber hinaus wird die Funktion des in jedem Perzeptron beinhalteten Multiplizierers, der eine Ausgabe auswählt, durch „Erstellen einer Schaltungsanordnung zum Ändern der Ausgabe gegenüber dem Einstellwert S” in der obigen Erläuterung umgesetzt. Ohne eine Gestaltung zum Beispiel auf diese Weise, sondern durch „Ändern der Ausgabe durch Anpassen des Gewichtungswertes”, ist eine solche Gestaltung möglich, dass die Funktion des in jedem Perzeptron beinhalteten Multiplizierers, der eine Ausgabe auswählt, umgesetzt wird. In diesem Fall kann der Gewichtungswert, der in den Multiplizierer eingegeben wird, der YW ausgibt, auf „W” eingestellt werden, der Gewichtungswert, der in den Multiplizierer eingegeben wird, der Yin ausgibt, kann auf „1” eingestellt werden, und der Gewichtungswert, der in den Multiplizierer eingegeben wird, der Y0 ausgibt, kann auf „0” eingestellt werden.
  • Es ist zu beachten, dass die oben erwähnte numerische Steuerung durch Hardware, Software oder eine Kombination von diesen umgesetzt werden kann. Darüber hinaus kann das Verfahren zum Erstellen eines neuronalen Netzwerkmodells, das durch die oben erwähnte numerische Steuerung durchgeführt wird, durch Hardware, Software oder eine Kombination von diesen umgesetzt werden kann. Hierin gibt umgesetzt durch Software den Umstand an, dass eine Umsetzung durch einen Computer erfolgt, der Programme liest und ausführt.
  • Das Programm kann mithilfe verschiedener Typen eines nichttransitorischen, computerlesbaren Mediums gespeichert werden und einem Computer zugeführt werden. Zu einem nichttransitorischen, computerlesbaren Medium zählen verschiedene Typen von physischen Speichermedien. Zu Beispielen für nichttransitorische, computerlesbare Medien zählen magnetische Medien (zum Beispiel eine Diskette, ein Magnetband, ein Festplattenlaufwerk), magnetooptische Aufzeichnungsmedien (zum Beispiel eine magnetooptische Platte), eine CD-ROM (Read Only Memory, Festwertspeicher), eine CD-R, eine CD-R/W und ein Halbleiterspeicher (zum Beispiel ein Masken-ROM, ein PROM (ein programmierbarer ROM), ein EPROM (ein löschbarer PROM), ein Flash-ROM, ein RAM (random access memory, Direktzugriffsspeicher)). Darüber hinaus kann das Programm einem Computer über verschiedene Typen von transitorischen, computerlesbaren Medien bereitgestellt werden. Zu Beispielen für nichttransitorische, computerlesbare Medien zählen elektrische Signale, optische Signale und elektromagnetische Wellen. Das nichttransitorische, computerlesbare Medium kann Programme über drahtgebundene Datenübertragungspfade wie zum Beispiel elektrische Leitungen und Lichtwellenleiter oder über drahtlose Datenübertragungspfade einem Computer zuführen.
  • Gewerbliche Anwendbarkeit
  • Die vorliegende Erfindung weist breite Eignung für Anwendungen auf, die eine Erstellung von Modellen für maschinelles Lernen durchführen, und ist im Besonderen für Anwendungen geeignet, die eine Erstellung von neuronalen Netzwerkmodellen durchführen.
  • Bezugszeichenliste
  • 11
    CPU
    12
    ROM
    13
    RAM
    14
    CMOS-Speicher
    15, 18, 19
    Schnittstelle
    16
    PMC
    17
    E/A-Einheit
    20
    Datenkommunikationsbus
    30 bis 34
    Achsensteuerschaltung
    40 bis 44
    Servoverstärker
    50 bis 54
    Servomotor
    60
    Spindelsteuerschaltung
    61
    Spindelverstärker
    62
    Spindelmotor
    63
    Impulsgeber
    70
    Anzeige-/MDI-Einheit
    71
    Bedientafel
    72
    externe Vorrichtung
    80
    Lernschaltung
    81
    Eingabeeinheit
    82
    Ausgabeeinheit
    83, 83a
    Gewichtungsspeichereinheit
    84, 84a
    Einstellwert-Speichereinheit
    85, 85a
    Perzeptronschaltung
    91
    Multiplizierer
    92
    NOR-Schaltung
    93, 94, 95
    AND-Schaltung
    96
    OR-Schaltung
    100a, 100b, 100c
    numerische Steuerung
  • 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
    • JP 2008-533615 [0003]
    • JP 2001-051968 [0003]
    • JP 08-235145 [0003]

Claims (12)

  1. Erstellungsvorrichtung für Modelle für maschinelles Lernen, die aufweist: eine Lernschaltung (80), die in der Lage ist, ein neuronales Netzwerkmodell entsprechend einem Einstellwert zu erstellen; und eine Steuereinrichtung (11) zum Anpassen des Einstellwertes auf einen Wert zum Erstellen eines vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung (80).
  2. Erstellungsvorrichtung für Modelle für maschinelles Lernen nach Anspruch 1, wobei die Steuereinrichtung (11) eine Eingabe eines Parameterwertes empfängt, ein neuronales Netzwerkmodell entsprechend dem empfangenen Parameterwert als vorgegebenes neuronales Netzwerkmodell definiert und den Einstellwert auf einen Wert zum Erstellen des vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung (80) anpasst.
  3. Erstellungsvorrichtung für Modelle für maschinelles Lernen nach Anspruch 2, wobei es sich bei dem empfangenen Parameterwert um einen Wert handelt, der eine Schichtzahl des neuronalen Netzwerkmodells und eine Dimensionszahl jeder Schicht angibt.
  4. Erstellungsvorrichtung für Modelle für maschinelles Lernen nach Anspruch 2 oder 3, wobei die Steuereinrichtung (11) den Parameterwert aus einer Einstellungsdatei liest.
  5. Erstellungsvorrichtung für Modelle für maschinelles Lernen nach einem der Ansprüche 2 bis 4, wobei die Steuereinrichtung (11) eine Verbindungsbeziehung von Perzeptronen entsprechend dem Parameterwert und eine graphische Benutzerschnittstelle zum Durchführen einer Anpassung des Parameterwertes, während ein Benutzer die Verbindungsbeziehung der Perzeptronen referenziert, auf einer Anzeigeeinrichtung (70) zeichnet.
  6. Erstellungsvorrichtung für Modelle für maschinelles Lernen nach einem der Ansprüche 1 bis 5, wobei die Steuereinrichtung (11) zulässt, dass ein Benutzer ein im Voraus erstelltes neuronales Netzwerkmodell auswählt, das ausgewählte neuronale Netzwerkmodell als vorgegebenes neuronales Netzwerkmodell definiert und den Einstellwert auf einen Wert zum Erstellen des vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung (80) anpasst.
  7. Erstellungsvorrichtung für Modelle für maschinelles Lernen nach einem der Ansprüche 1 bis 6, wobei die Steuereinrichtung (11) ein neuronales Netzwerkmodell in der Lernschaltung (80) durch Steuern einer Ausgabe jedes in der Lernschaltung (80) beinhalteten Perzeptrons entsprechend dem Einstellwert steuert.
  8. Erstellungsvorrichtung für Modelle für maschinelles Lernen nach Anspruch 7, wobei sein Steuern einer Ausgabe jedes in der Lernschaltung (80) beinhalteten Perzeptrons entsprechend dem Einstellwert ein Einstellen einer Ausgabe eines Multiplizierers in jedem in der Lernschaltung (80) beinhalteten Perzeptron entsprechend dem Einstellwert als beliebigen Wert aus einem Wert, der durch Multiplizieren eines Gewichtungswertes mit einer Eingabe in den Multiplizierer gewonnen wird, einem Wert, wie er in den Multiplizierer eingegeben wird, und einem Wert null beinhaltet und eine Summe von Ausgaben von Multiplizierern in jedem Perzeptron als Ausgabe jedes Perzeptrons eingestellt wird.
  9. Numerische Steuerung (100) zum Steuern einer Werkzeugmaschine (50, 51, 52, 53, 54), die die Erstellungsvorrichtung für Modelle für maschinelles Lernen nach einem der Ansprüche 1 bis 8 aufweist, wobei die Steuereinrichtung (11) eine Eingabe eines Parameterwertes zum Erstellen eines neuronalen Netzwerkmodells empfängt, das mit einer Steuerung der Werkzeugmaschine (50, 51, 52, 53, 54) in der Lernschaltung (80) in Zusammenhang steht, ein neuronales Netzwerkmodell entsprechend dem empfangenen Parameterwert als vorgegebenes neuronales Netzwerkmodell einstellt und den Einstellwert auf einen Wert zum Erstellen des vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung (80) anpasst.
  10. Erstellungsprogramm für Modelle für maschinelles Lernen zum Bewirken, dass ein Computer als Erstellungsvorrichtung für maschinelles Lernen dient, die aufweist: eine Lernschaltung (80), die in der Lage ist, ein neuronales Netzwerkmodell entsprechend einem Einstellwert zu erstellen; und eine Steuereinrichtung (11) zum Anpassen des Einstellwertes auf einen Wert zum Erstellen eines vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung (80).
  11. Computerlesbares Aufzeichnungsmedium, das das Erstellungsprogramm für Modelle für maschinelles Lernen nach 10 aufzeichnet.
  12. Verfahren zum Erstellen eines Modells für maschinelles Lernen, das durch eine Erstellungsvorrichtung für Modelle für maschinelles Lernen durchgeführt wird, die eine Lernschaltung (80) beinhaltet, die in der Lage ist, ein neuronales Netzwerkmodell entsprechend einem Einstellwert zu erstellen, wobei das Verfahren aufweist: einen Schritt zum Steuern eines Anpassens des Einstellwertes als Wert zum Erstellen eines vorgegebenen neuronalen Netzwerkmodells in der Lernschaltung (80).
DE102017212270.6A 2016-07-22 2017-07-18 Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium Pending DE102017212270A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016144923A JP6603182B2 (ja) 2016-07-22 2016-07-22 機械学習モデル構築装置、数値制御装置、機械学習モデル構築方法、機械学習モデル構築プログラム、及び記録媒体
JP2016-144923 2016-07-22

Publications (1)

Publication Number Publication Date
DE102017212270A1 true DE102017212270A1 (de) 2018-02-01

Family

ID=60951212

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017212270.6A Pending DE102017212270A1 (de) 2016-07-22 2017-07-18 Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium

Country Status (4)

Country Link
US (1) US10649416B2 (de)
JP (1) JP6603182B2 (de)
CN (1) CN107643728B (de)
DE (1) DE102017212270A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6665412B2 (ja) * 2015-03-23 2020-03-13 株式会社タダノ 作業機械の調整装置
US20190302707A1 (en) * 2018-03-28 2019-10-03 Mitsubishi Electric Research Laboratories, Inc. Anomaly Detection in Manufacturing Systems Using Structured Neural Networks
JP2020086479A (ja) * 2018-11-15 2020-06-04 株式会社日立製作所 計算機、ニューラルネットワークの構築方法、および計算機システム
US11556778B2 (en) * 2018-12-07 2023-01-17 Microsoft Technology Licensing, Llc Automated generation of machine learning models
US10740371B1 (en) 2018-12-14 2020-08-11 Clinc, Inc. Systems and methods for intelligently configuring and deploying a machine learning-based dialogue system
JP2020107012A (ja) * 2018-12-27 2020-07-09 ルネサスエレクトロニクス株式会社 演算処理装置および機械学習方法
US11610134B2 (en) 2019-07-08 2023-03-21 Vianai Systems, Inc. Techniques for defining and executing program code specifying neural network architectures
WO2021009741A1 (en) * 2019-07-14 2021-01-21 Aquabot Ltd. Order fulfillment system
EP3997015A4 (de) * 2019-07-14 2023-08-16 Aquabot Ltd. Auftragsabwicklungssystem
US20210081841A1 (en) * 2019-09-12 2021-03-18 Viani Systems, Inc. Visually creating and monitoring machine learning models
JP7046239B2 (ja) * 2020-01-24 2022-04-01 株式会社日立製作所 画像内のオブジェクト認識のためにニューラルネットワークを生成するための方法及びシステム
CN112000330B (zh) * 2020-07-15 2023-12-22 北京百度网讯科技有限公司 建模参数的配置方法、装置、设备和计算机存储介质
CN112015749B (zh) * 2020-10-27 2021-02-19 支付宝(杭州)信息技术有限公司 基于隐私保护更新业务模型的方法、装置及系统
US20240104652A1 (en) * 2021-11-30 2024-03-28 Hcl Technologies Limited Method and system for performing cloud vendor arbitrage using artificial intelligence (ai)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235145A (ja) 1995-02-24 1996-09-13 Toyota Motor Corp 応用問題に対して最適なニューラルネットワークの構造を決定する方法
JP2001051968A (ja) 1999-08-05 2001-02-23 Fuji Xerox Co Ltd ニューラルネットワーク構築方法及びニューラルネットワーク処理装置
JP2008533615A (ja) 2005-03-14 2008-08-21 エル ターラー、ステフエン ニューラルネットワーク開発およびデータ解析ツール

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04663A (ja) * 1990-04-18 1992-01-06 Fujitsu Ltd ニューラルネットワークシミュレータ
KR920002268A (ko) * 1990-07-17 1992-02-28 유끼노리 가까즈 인텔리젠트가공장치
JPH04256158A (ja) * 1991-02-08 1992-09-10 Toshiba Corp ニューロネットワークの方式
JPH0589247A (ja) * 1991-09-26 1993-04-09 Just Syst Corp パターン空間からの特定パターンの分離方法およびその分離装置
JPH05217010A (ja) * 1991-12-13 1993-08-27 Ricoh Co Ltd 信号処理装置
JPH06314105A (ja) * 1993-04-30 1994-11-08 Ishikawajima Harima Heavy Ind Co Ltd ニューラルネットコントローラシステム
JPH0728768A (ja) * 1993-07-14 1995-01-31 Fujitsu Ltd ニューラルネットワークの学習により逆解を求める方法
JPH0991263A (ja) * 1995-09-20 1997-04-04 Hitachi Medical Corp ニューラルネットワーク構造最適化装置ならびに方法
JPH09120434A (ja) * 1995-10-24 1997-05-06 Suzuki Motor Corp 文字認識装置
JP3898686B2 (ja) * 2003-10-20 2007-03-28 ファナック株式会社 数値制御装置
US8103606B2 (en) * 2006-12-08 2012-01-24 Medhat Moussa Architecture, system and method for artificial neural network implementation
JPWO2010106587A1 (ja) * 2009-03-18 2012-09-13 パナソニック株式会社 ニューラルネットワークシステム
CN101727071A (zh) * 2009-11-13 2010-06-09 上海电力学院 神经网络模型与二次型单神经元pid并行控制方法
US10055434B2 (en) * 2013-10-16 2018-08-21 University Of Tennessee Research Foundation Method and apparatus for providing random selection and long-term potentiation and depression in an artificial network
JP6026490B2 (ja) * 2014-11-07 2016-11-16 ファナック株式会社 パラメータ変更によりncプログラムの起動が可能な数値制御装置
US11157800B2 (en) * 2015-07-24 2021-10-26 Brainchip, Inc. Neural processor based accelerator system and method
US20170330069A1 (en) * 2016-05-11 2017-11-16 Kneron Inc. Multi-layer artificial neural network and controlling method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235145A (ja) 1995-02-24 1996-09-13 Toyota Motor Corp 応用問題に対して最適なニューラルネットワークの構造を決定する方法
JP2001051968A (ja) 1999-08-05 2001-02-23 Fuji Xerox Co Ltd ニューラルネットワーク構築方法及びニューラルネットワーク処理装置
JP2008533615A (ja) 2005-03-14 2008-08-21 エル ターラー、ステフエン ニューラルネットワーク開発およびデータ解析ツール

Also Published As

Publication number Publication date
US20180024510A1 (en) 2018-01-25
CN107643728A (zh) 2018-01-30
JP2018014060A (ja) 2018-01-25
CN107643728B (zh) 2020-10-20
JP6603182B2 (ja) 2019-11-06
US10649416B2 (en) 2020-05-12

Similar Documents

Publication Publication Date Title
DE102017212270A1 (de) Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium
DE10362408B3 (de) Integrierte modellbasierte prädikative Steuerung und Optimierung innerhalb eines Prozesssteuerungssystems
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102016008994A1 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE112013007444T5 (de) Einstell- und Justierfunktionsunterstützungseinrichtung für ein Mehrachsen-Steuerungssystem
DE102018201157B4 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
DE102017000770A1 (de) Maschinelle lernvorrichtung, numerische steuerung, werkzeugmaschinensystem, herstellungssystem und maschinelles lernverfahren zum erlernen der anzeige eines bedienungsmenüs
DE10341764A1 (de) Integrierte Modell-Vorhersagesteuerung und -Optimierung innerhalb eines Prozesssteuerungssystems
DE102019204861A1 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102018203956A1 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102018001028B4 (de) Numerische Steuerung
DE102018201210A1 (de) Koordinateninformations-Umwandlungsvorrichtung und Koordinateninformations-Umwandlungsprogramm
DE102019217130A1 (de) Ausgabevorrichtung, steuervorrichtung und verfahren zum ausgeben von bewertungsfunktionen und maschinellen lernergebnissen
EP3970113A1 (de) Bestimmung eines verschleissgrades eines werkzeugs
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE102015009210A1 (de) Numerische Steuerung mit Unterstützung eines linkshändigen Koordinatensystems
DE102019003928A1 (de) Positionsinformationsanzeigesystem
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen
DE102019216190A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Bewertungsfunktionswerts
DE102020105745A1 (de) Werkzeuge und verfahren zur aerodynamischen optimierung dergeometrie von fahrzeugkarosserien
EP2808749B1 (de) Verfahren zum Austausch von Steuerungsinformationen zwischen Bedien- und Beobachtungsgeräten eines industriellen Automatisierungssystems und industrielles Automatisierungssystem
DE102019207489A1 (de) System zur Anzeige virtueller Objekte
DE112016007339T5 (de) Simulationsvorrichtung
DE102018007107A1 (de) Steuereinrichtung und maschinenlerneinrichtung
DE102019215634B4 (de) Wärmeverschiebungskompensationsvorrichtung und numerische Steuerung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication