-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein System und Verfahren für maschinelles Lernen, einen Integrationsserver, eine Informationsverarbeitungsvorrichtung, ein Programm und ein Inferenzmodell-Erzeugungsverfahren und betrifft insbesondere eine Technik für maschinelles Lernen, die einen föderalen Lernmechanismus verwendet.
-
2. Beschreibung des Standes der Technik
-
Bei der Entwicklung von medizinischer künstlicher Intelligenz (KI) unter Verwendung von Deep Learning ist es notwendig, ein KI-Modell zu trainieren. Für dieses Lernen ist es jedoch notwendig, Lerndaten, wie beispielsweise ein Diagnosebild, von einer medizinischen Einrichtung an einen externen Entwicklungsstandort oder an einen externen Entwicklungsserver zu extrahieren. Aus diesem Grund gibt es nur wenige medizinische Einrichtungen, die bei der Bereitstellung von Lerndaten kooperieren können. Ferner besteht auch in einem Fall, in dem Lerndaten von einer medizinischen Einrichtung bereitgestellt werden, immer ein Risiko in Bezug auf die Privatsphäre.
-
Andererseits wird in einem Fall, in dem ein föderaler Lernmechanismus verwendet wird, der föderale Lernmechanismus, der in H. Brendan, McMahan Eider, Moore Daniel Ramage, Seth Hampson und Blaise Agüera y Arcas, „Communication-Efficient Learning of Deep Networks from Decentralized Data“, arXiv:1602.05629v3 [cs.LG], 28. Februar 2017, vorgeschlagen wird, Lernen auf einem Terminal durchgeführt, bei dem Daten zum Trainieren vorhanden sind, und nur ein Gewichtsparameter eines Netzwerkmodells, der ein Lernergebnis auf jedem Terminal ist, wird von einer Terminalgruppe an einen Integrationsserver übertragen. Das heißt, beim föderalem Lernen werden dem Integrationsserver keine Lerndaten bereitgestellt, und nur Daten des Lernergebnisses auf jedem Terminal werden von dem Terminal an den Integrationsserver bereitgestellt.
-
Aus diesem Grund kann Lernen durchgeführt werden, ohne dass Daten extrahiert werden, die Berücksichtigung von Privatsphäre nach außen hin erfordern. Somit ist föderales Lernen eine Technik, die in den letzten Jahren Aufmerksamkeit erregt hat.
-
In Micah J. Sheller, G. Anthony Reina, Brandon Edwards, Jason Martin und Spyridon Bakas, „Multi-Institutional Deep Learning Modeling Without Sharing Patient Data: A Feasibility Study on Brain Tumor Segmentation“, arXiv:1810.04304v2 [cs.LG], 22. Oktober 2018, wird ein Ergebnis eines Beispiels berichtet, bei dem föderales Lernen auf die Entwicklung medizinischer KI angewendet wird.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In einem Fall, in dem föderales Lernen für die Entwicklung medizinischer KI verwendet wird, ist es nicht notwendig, Daten, wie beispielsweise ein Diagnosebild, zu extrahieren. Viele medizinische Einrichtungen sind jedoch am Lernen beteiligt, und infolgedessen ist ein Mechanismus zum Gewährleisten einer Lerngenauigkeit erforderlich.
-
In Eugene Bagdasaryan, Andreas Veit, Yiqing Hua, Deborah Estrin und Vitaly Shmatikov, „How to Backdoor Federated Learning“, arXiv:1807.00459v2 [cs.CR], 1. Oktober 2018, wird in einem Fall, in dem falsche Daten von einigen Clients, die am föderales Lernen Lernen teilnehmen, beim Lernen gemischt werden, im Hinblick auf föderale Lernalgorithmen darauf hingewiesen, dass es keinen effektiven Weg gibt, um eine Genauigkeitsabnahme eines Mastermodells aufgrund von Mischen der falschen Daten beim Lernen zu verhindern. In einem Fall, in dem beispielsweise einige Clients, die am Lernen teilnehmen, absichtlich Daten einschließlich falsch erkannter Bildinhalte eingeben und Lernen durchgeführt wird, kann das Mastermodell eine falsche Bestimmung an einem spezifischen Bild durchführen. Es heißt, dass es aktuell keine Möglichkeit gibt, die Probleme auf algorithmische Weise effektiv zu verhindern.
-
Darüber hinaus können, auch wenn dies nicht beabsichtigt ist, die Probleme beispielsweise in einem Fall auftreten, in dem falsch diagnostizierte Daten beim Lernen gemischt werden. In einem Fall, in dem beispielsweise ein Modell unter Verwendung von Daten trainiert wird, mit denen mehrere Fehldiagnosen für eine spezifische Krankheit von einer medizinischen Einrichtung durchgeführt werden, gibt es keinen Mechanismus zum Gewährleisten der Genauigkeit.
-
Wie in „Section 4.3“ von Micah J. Sheller, G. Anthony Reina, Brandon Edwards, Jason Martin und Spyridon Bakas, „Multi-Institutional Deep Learning Modeling Without Sharing Patient Data: A Feasibility Study on Brain Tumor Segmentation“, arXiv:1810.04304v2 [cs.LG], 22. Oktober 2018, beschrieben, ist es bei einer bestehenden föderalen Lernmechanismusstruktur in einer Situation, in der eine nicht spezifizierte Anzahl an medizinischen Einrichtungen am Lernen teilnimmt, um eine Lerngenauigkeit zu gewährleisten, notwendig, zu veranlassen, dass jede medizinische Einrichtung Lernen unter Verwendung von zum Lernen vorbereiteten Daten durchführt.
-
Eine der Aufgaben zum Gewährleisten einer Lerngenauigkeit besteht darin, einen Client, der ein zum Lernen ungeeignetes Problem aufweist und der eine Genauigkeitsverschlechterungsursache ist, und einen Client, der kein Problem aufweist, aus einer am Lernen beteiligten Clientgruppe auszuwählen. Ferner besteht eine der anderen Aufgaben darin, zu verhindern, dass ein zum Lernen ungeeigneter Client Lernen beeinflusst.
-
Die vorliegende Erfindung wurde im Hinblick auf solche Umstände gemacht, und eine Aufgabe der vorliegenden Erfindung besteht darin, mindestens eines der Probleme zu lösen und ein System und Verfahren für maschinelles Lernen, einen Integrationsserver, eine Informationsverarbeitungsvorrichtung, ein Programm und ein Inferenzmodell-Erzeugungsverfahren, das in der Lage ist, eine Genauigkeitsabnahme eines Mastermodells zu verhindern, die durch einige Clients verursacht wird, in einem Fall, in dem ein föderaler Lernmechanismus zum Durchführen des Trainierens eines KI-Modells verwendet wird, ohne Extrahieren persönlicher Informationen, wie beispielsweise einem Diagnosebild, bei dem der Schutz der Privatsphäre von einer medizinischen Einrichtung berücksichtigt werden muss, bereitzustellen.
-
Gemäß einem Aspekt der vorliegenden Offenbarung wird ein System für maschinelles Lernen bereitgestellt, das umfasst: mehrere Client-Terminals; und einen Integrationsserver, wobei jedes der mehreren Client-Terminals eine Lernverarbeitungseinheit, die maschinelles Lernen eines Lernmodells unter Verwendung von Daten, die in einer Datenspeichervorrichtung einer medizinischen Einrichtung gespeichert sind, als Lerndaten ausführt, und eine Übertragungseinheit, die ein Lernergebnis des Lernmodells an den Integrationsserver überträgt, enthält und wobei der Integrationsserver ein trainiertes Mastermodell, eine Synchronisationsverarbeitungseinheit, die das Lernmodell jedes Client-Terminals mit dem Mastermodell synchronisiert, bevor Trainieren des Lernmodells auf jedem der mehreren Client-Terminals durchführt wird, eine Empfangseinheit, die jedes der Lernergebnisse von den mehreren Client-Terminals empfängt, eine Client-Cluster-Erzeugungseinheit, die mehrere Client-Cluster durch Aufteilen der mehreren Client-Terminals in mehrere Gruppen erzeugt, eine Mastermodell-Kandidaten-Erzeugungseinheit, die Mastermodell-Kandidaten für jeden der Client-Cluster durch Integrieren der Lernergebnisse für jeden der Client-Cluster erzeugt, eine Genauigkeitsbewertungseinheit, die den Mastermodell-Kandidaten, der eine Inferenzgenauigkeit aufweist, die niedriger als ein Genauigkeitsschwellenwert ist, durch Bewerten der Inferenzgenauigkeit jedes der Mastermodell-Kandidaten, die für jeden der Client-Cluster erzeugt wurden, detektiert, und eine Genauigkeitsverschlechterungsursachen-Extraktionseinheit, die ein Client-Terminal als eine Genauigkeitsverschlechterungsursache aus dem Client-Cluster extrahiert, der für Erzeugung des Mastermodell-Kandidaten verwendet wurde, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist, enthält.
-
Gemäß diesem Aspekt werden die mehreren an Lernen teilnehmenden Client-Terminals in die mehreren Client-Cluster aufgeteilt, und mehrere Mastermodell-Kandidaten werden durch Integrieren der Lernergebnisse für jeden Client-Cluster erzeugt. Durch Bewerten der Inferenzgenauigkeit jedes der mehreren Mastermodell-Kandidaten werden der Mastermodell-Kandidat mit niedriger Genauigkeit, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist, und der Client-Cluster, der für Erzeugung des Mastermodell-Kandidaten mit niedriger Genauigkeit verwendet wird (Client-Cluster mit niedriger Genauigkeit), spezifiziert. Es wird davon ausgegangen, dass der Client-Cluster mit niedriger Genauigkeit mindestens ein Client-Terminal als eine Genauigkeitsverschlechterungsursache enthält. Die Genauigkeitsverschlechterungsursachen-Extraktionseinheit extrahiert ein Client-Terminal als die Genauigkeitsverschlechterungsursache durch Eingrenzen der Client-Terminals als die Genauigkeitsverschlechterungsursachen aus dem Client-Cluster mit niedriger Genauigkeit.
-
Die Genauigkeitsverschlechterungsursachen-Extraktionseinheit extrahiert möglicherweise nur das Client-Terminal als eine tatsächliche Genauigkeitsverschlechterungsursache oder kann eine Kombination der Client-Terminals, die als die Genauigkeitsverschlechterungsursachen vermutet werden, extrahieren. Das heißt, ein Teil der Client-Terminals, die durch die Genauigkeitsverschlechterungsursachen-Extraktionseinheit extrahiert werden, kann das Client-Terminal, das nicht tatsächlich der Genauigkeitsverschlechterungsursache entspricht, enthalten.
-
Gemäß diesem Aspekt ist es möglich, das Client-Terminal, das nicht zum Lernen geeignet ist und das eine Genauigkeitsverschlechterungsursache ist, aus den mehreren Client-Terminals zu finden, die an Lernen teilnehmen. Dadurch ist es möglich, ein Client-Terminal, das ein Problem mit Lerngenauigkeit aufweist, und ein Client-Terminal, das kein Problem mit Lerngenauigkeit aufweist, auszuwählen. Daher ist es durch Ausschließen des extrahierten Client-Terminals als eine Genauigkeitsverschlechterungsursache von nachfolgendem Lernen oder durch relatives Verringern eines Beitragssatzes (beispielsweise ein Gewicht bei Integration) des von dem Client-Terminal erhaltenen Lernergebnisses als die Genauigkeitsverschlechterungsursache möglich, verschiedene Maßnahmen durchzuführen, wie beispielsweise Benachrichtigen des Client-Terminals als die Genauigkeitsverschlechterungsursache einer Anforderung für Ursachenbestimmung und Verbesserung. Gemäß diesem Aspekt ist es möglich, die Lerngenauigkeit auf der Grundlage von Informationen des Client-Terminals als die Genauigkeitsverschlechterungsursache zu gewährleisten, und es ist möglich, eine durch einige Clients verursachte Genauigkeitsabnahme des Mastermodells zu verhindern.
-
Die „mehreren Client-Terminals“ können eine nicht spezifizierte große Anzahl an Client-Terminals sein. Das Client-Terminal kann so konfiguriert sein, dass es eine „Datenspeichervorrichtung einer medizinischen Einrichtung“ enthält, oder die „Datenspeichervorrichtung einer medizinischen Einrichtung“ und das „Client-Terminal“ können separate Vorrichtungen sein.
-
Bei dem System für maschinelles Lernen gemäß einem weiteren Aspekt der vorliegenden Offenbarung kann der Integrationsserver ferner eine Ausschlussverarbeitungseinheit enthalten, die das Client-Terminal als die Genauigkeitsverschlechterungsursache, das durch die Genauigkeitsverschlechterungsursachen-Extraktionseinheit extrahiert wurde, von nachfolgendem Lernen ausschließt.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann der Integrationsserver ferner eine Informationsspeichereinheit enthalten, die Informationen des Client-Terminals als die Genauigkeitsverschlechterungsursache, das durch die Genauigkeitsverschlechterungsursachen-Extraktionseinheit extrahiert wurde, speichert.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann jedes der mehreren Client-Terminals ein Terminal sein, das in einem Netzwerk von medizinischer Einrichtung verschiedener medizinischer Einrichtungen vorgesehen ist.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann der Integrationsserver in einem Netzwerk von medizinischer Einrichtung oder außerhalb des Netzwerks von medizinischer Einrichtung vorgesehen sein.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann das von dem Client-Terminal an den Integrationsserver übertragene Lernergebnis einen Gewichtsparameter des trainierten Lernmodells enthalten.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung können die als die Lerndaten verwendeten Daten mindestens einen Typ von Daten unter einem zweidimensionalen Bild, einem dreidimensionalen Bild, einem Bewegtbild, Zeitreihendaten und Dokumentdaten enthalten.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann jedes Modell von dem Lernmodell, dem Mastermodell und dem Mastermodell-Kandidaten durch Verwenden eines neuronalen Netzwerks konfiguriert werden.
-
Ein geeignetes Netzwerkmodell wird gemäß einem Typ der Lerndaten und einem Typ von Daten, die bei einer Inferenz eingegeben werden, angewendet.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung können die als die Lerndaten verwendeten Daten ein zweidimensionales Bild, ein dreidimensionales Bild oder ein Bewegtbild enthalten, und jedes Modell von dem Lernmodell, dem Mastermodell und dem Mastermodell-Kandidaten kann durch Verwenden eines faltenden neuronalen Netzwerks konfiguriert werden.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung können die als die Lerndaten verwendeten Daten Zeitreihendaten oder Dokumentdaten enthalten, und jedes Modell von dem Lernmodell, dem Mastermodell und dem Mastermodell-Kandidaten kann durch Verwenden eines rekursiven neuronalen Netzwerks konfiguriert werden.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann die Anzahl der in jedem der mehreren Client-Cluster enthaltenen Client-Terminals gleich sein, und es kann sein, dass sich das Client-Terminal, das in jedem Client-Cluster enthalten ist, nicht überschneidet.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann der Integrationsserver ferner eine Assoziationsinformations-Speichereinheit enthalten, die Informationen speichert, die eine Korrespondenzbeziehung angeben, auf welchem Client-Cluster unter den mehreren Client-Clustern jeder der mehreren erzeugten Mastermodell-Kandidaten basiert.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann die Genauigkeitsbewertungseinheit auf der Grundlage eines Vergleichs zwischen einem Momentanwert der Inferenzgenauigkeit jedes der Mastermodell-Kandidaten und dem Genauigkeitsschwellenwert oder auf der Grundlage eines Vergleichs zwischen einem statistischen Wert der Inferenzgenauigkeit bei einer Lerniteration jedes der Mastermodell-Kandidaten und dem Genauigkeitsschwellenwert bestimmen, ob die Inferenzgenauigkeit des Mastermodell-Kandidaten niedriger als der Genauigkeitsschwellenwert ist oder nicht.
-
Der „statistische Wert“ ist ein statistischer Wert, der durch Verwenden eines statistischen Algorithmus berechnet wird, und kann ein repräsentativer Wert sein, wie beispielsweise ein Durchschnittswert oder ein Medianwert.
-
In einem Fall, in dem der Mastermodell-Kandidat, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist, detektiert wird, kann die Genauigkeitsbewertungseinheit die Genauigkeitsverschlechterungsursachen-Extraktionseinheit über Informationen des Mastermodell-Kandidaten in Bezug auf die Detektion benachrichtigen.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann der Integrationsserver ferner eine Anzeigevorrichtung zum Anzeigen der Inferenzgenauigkeit bei jeder Lerniteration jedes der Mastermodell-Kandidaten enthalten, die für jeden der Client-Cluster erzeugt wurden.
-
Bei dem System für maschinelles Lernen gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung kann ferner eine Überprüfungsdaten-Speichereinheit, die Überprüfungsdaten speichert, enthalten sein, und die Genauigkeitsbewertungseinheit kann die Inferenzgenauigkeit des Mastermodell-Kandidaten unter Verwendung der Überprüfungsdaten bewerten.
-
Die Überprüfungsdaten-Speichereinheit kann bei dem Integrationsserver enthalten sein oder kann eine externe Speichervorrichtung sein, die mit dem Integrationsserver verbunden ist.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird ein Verfahren für maschinelles Lernen bereitgestellt, das mehrere Client-Terminals und einen Integrationsserver verwendet, wobei das Verfahren umfasst: Synchronisieren eines Lernmodells jedes Client-Terminals mit einem trainierten Mastermodell, das auf dem Integrationsserver gespeichert ist, bevor Trainieren des Lernmodells auf jedem der mehreren Client-Terminals durchgeführt wird; Ausführen von maschinellem Lernen des Lernmodells unter Verwendung von Daten, die in einer Datenspeichervorrichtung jeder von voneinander verschiedenen medizinischen Einrichtungen gespeichert sind, als Lerndaten durch jedes der mehreren Client-Terminals; Übertragen eines Lernergebnisses des Lernmodells an den Integrationsserver via jedes der mehreren Client-Terminals; Empfangen jedes der Lernergebnisse von den mehreren Client-Terminals via den Integrationsserver; Erzeugen mehrerer Client-Cluster durch Aufteilen der mehreren Client-Terminals in mehrere Gruppen via den Integrationsserver; Erzeugen von Mastermodell-Kandidaten für jeden der Client-Cluster durch Integrieren der Lernergebnisse für jeden der Client-Cluster via den Integrationsserver; Detektieren des Mastermodell-Kandidaten, der eine Inferenzgenauigkeit aufweist, die niedriger als ein Genauigkeitsschwellenwert ist, durch Bewerten der Inferenzgenauigkeit jedes der Mastermodell-Kandidaten, die für jeden der Client-Cluster erzeugt wurden, via den Integrationsserver; und Extrahieren eines Client-Terminals als eine Genauigkeitsverschlechterungsursache aus dem Client-Cluster, der für Erzeugung des Mastermodell-Kandidaten verwendet wurde, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist, via den Integrationsserver.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird ein Integrationsserver bereitgestellt, der via eine Kommunikationsleitung mit mehreren Client-Terminals verbunden ist, wobei der Server umfasst: eine Mastermodell-Speichereinheit, die ein trainiertes Mastermodell speichert; eine Synchronisationsverarbeitungseinheit, die ein Lernmodell jedes Client-Terminals mit dem Mastermodell synchronisiert, bevor Trainieren des Lernmodells auf jedem der mehreren Client-Terminals durchführt wird; eine Empfangseinheit, die jedes von Lernergebnissen von den mehreren Client-Terminals empfängt; eine Client-Cluster-Erzeugungseinheit, die mehrere Client-Cluster durch Aufteilen der mehreren Client-Terminals in mehrere Gruppen erzeugt; eine Mastermodell-Kandidaten-Erzeugungseinheit, die Mastermodell-Kandidaten für jeden der Client-Cluster durch Integrieren der Lernergebnisse für jeden der Client-Cluster erzeugt; eine Genauigkeitsbewertungseinheit, die den Mastermodell-Kandidaten, der eine Inferenzgenauigkeit aufweist, die niedriger als ein Genauigkeitsschwellenwert ist, durch Bewerten der Inferenzgenauigkeit jedes der Mastermodell-Kandidaten, die für jeden der Client-Cluster erzeugt wurden, detektiert; und eine Genauigkeitsverschlechterungsursachen-Extraktionseinheit, die ein Client-Terminal als eine Genauigkeitsverschlechterungsursache aus dem Client-Cluster extrahiert, der für Erzeugung des Mastermodell-Kandidaten verwendet wurde, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird ein Integrationsserver bereitgestellt, der via eine Kommunikationsleitung mit mehreren Client-Terminals verbunden ist, wobei der Server umfasst: einen ersten Prozessor; und ein erstes computerlesbares Medium als ein nicht-flüchtiges greifbares Medium, auf dem ein von dem ersten Prozessor auszuführendes erstes Programm aufgezeichnet ist. Der erste Prozessor ist konfiguriert, gemäß einem Befehl des ersten Programms, ein trainiertes Mastermodell auf dem ersten computerlesbaren Medium zu speichern, ein Lernmodell jedes Client-Terminals mit dem Mastermodell zu synchronisieren, bevor Trainieren des Lernmodells auf jedem der mehreren Client-Terminals durchführt wird, jedes von Lernergebnissen von den mehreren Client-Terminals zu empfangen, mehrere Client-Cluster durch Aufteilen der mehreren Client-Terminals in mehrere Gruppen zu erzeugen, Mastermodell-Kandidaten für jeden der Client-Cluster durch Integrieren der Lernergebnisse für jeden der Client-Cluster zu erzeugen, den Mastermodell-Kandidaten, der eine Inferenzgenauigkeit aufweist, die niedriger als ein Genauigkeitsschwellenwert ist, durch Bewerten der Inferenzgenauigkeit jedes der Mastermodell-Kandidaten, die für jeden der Client-Cluster erzeugt wurden, zu detektieren und ein Client-Terminal als eine Genauigkeitsverschlechterungsursache aus dem Client-Cluster zu extrahieren, der für Erzeugung des Mastermodell-Kandidaten verwendet wurde, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird eine Informationsverarbeitungsvorrichtung bereitgestellt, die als eines der mehreren Client-Terminals verwendet wird, die via eine Kommunikationsleitung mit dem Integrationsserver gemäß diesem Aspekt der vorliegenden Offenbarung verbunden sind, wobei die Informationsverarbeitungsvorrichtung umfasst: eine Lernverarbeitungseinheit, die maschinelles Lernen eines Lernmodells durch Einstellen eines Lernmodells, das mit dem auf dem Integrationsserver gespeicherten Mastermodell synchronisiert ist, als das Lernmodell in einem Anfangszustand vor Starten von Lernen und unter Verwendung von Daten, die in einer Datenspeichervorrichtung einer medizinischen Einrichtung gespeichert sind, als Lerndaten ausführt; und eine Übertragungseinheit, die ein Lernergebnis des Lernmodells an den Integrationsserver überträgt.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird eine Informationsverarbeitungsvorrichtung bereitgestellt, die als eines der mehreren Client-Terminals verwendet wird, die via eine Kommunikationsleitung mit dem Integrationsserver gemäß diesem Aspekt der vorliegenden Offenbarung verbunden sind, wobei die Informationsverarbeitungsvorrichtung umfasst: einen zweiten Prozessor; und ein zweites computerlesbares Medium als ein nicht-flüchtiges greifbares Medium, auf dem ein von dem zweiten Prozessor auszuführendes zweites Programm aufgezeichnet ist. Der zweite Prozessor ist konfiguriert, gemäß einem Befehl des zweiten Programms, maschinelles Lernen eines Lernmodells durch Einstellen eines Lernmodells, das mit dem auf dem Integrationsserver gespeicherten Mastermodell synchronisiert ist, als das Lernmodell in einem Anfangszustand vor Starten von Lernen und unter Verwendung von Daten, die in einer Datenspeichervorrichtung einer medizinischen Einrichtung gespeichert sind, als Lerndaten auszuführen und ein Lernergebnis des Lernmodells an den Integrationsserver zu übertragen.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird ein Programm bereitgestellt, das einen Computer veranlasst, als eines der mehreren Client-Terminals zu fungieren, die via eine Kommunikationsleitung mit dem Integrationsserver gemäß diesem Aspekt der vorliegenden Offenbarung verbunden sind, wobei das Programm den Computer veranlasst, zu realisieren: eine Funktion des Ausführens von maschinellem Lernen eines Lernmodells durch Einstellen eines Lernmodells, das mit dem auf dem Integrationsserver gespeicherten Mastermodell synchronisiert ist, als das Lernmodell in einem Anfangszustand vor Starten von Lernen und unter Verwendung von Daten, die in einer Datenspeichervorrichtung einer medizinischen Einrichtung gespeichert sind, als Lerndaten; und eine Funktion des Übertragens eines Lernergebnisses des Lernmodells an den Integrationsserver.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird ein Programm bereitgestellt, das einen Computer veranlasst, als ein Integrationsserver zu fungieren, der via eine Kommunikationsleitung mit mehreren Client-Terminals verbunden ist, wobei das Programm den Computer veranlasst, zu realisieren: eine Funktion des Speicherns eines trainierten Mastermodells; eine Funktion des Synchronisierens eines Lernmodells jedes Client-Terminals mit dem Mastermodell, bevor Trainieren des Lernmodells auf jedem der mehreren Client-Terminals durchführt wird; eine Funktion des Empfangens jedes von Lernergebnissen von den mehreren Client-Terminals; eine Funktion des Erzeugens mehrerer Client-Cluster durch Aufteilen der mehreren Client-Terminals in mehrere Gruppen; eine Funktion des Erzeugens von Mastermodell-Kandidaten für jeden der Client-Cluster durch Integrieren der Lernergebnisse für jeden der Client-Cluster; eine Funktion des Detektierens des Mastermodell-Kandidaten, der eine Inferenzgenauigkeit aufweist, die niedriger als ein Genauigkeitsschwellenwert ist, durch Bewerten der Inferenzgenauigkeit jedes der Mastermodell-Kandidaten, die für jeden der Client-Cluster erzeugt wurden; und eine Funktion des Extrahierens eines Client-Terminals als eine Genauigkeitsverschlechterungsursache aus dem Client-Cluster, der für Erzeugung des Mastermodell-Kandidaten verwendet wurde, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung wird ein Inferenzmodell-Erzeugungsverfahren zum Erzeugen eines Inferenzmodells durch Durchführen von maschinellem Lernen unter Verwendung mehrerer Client-Terminals und eines Integrationsservers bereitgestellt, wobei das Verfahren umfasst: Synchronisieren eines Lernmodells jedes Client-Terminals mit einem trainierten Mastermodell, das auf dem Integrationsserver gespeichert ist, bevor Trainieren des Lernmodells auf jedem der mehreren Client-Terminals durchgeführt wird; Ausführen von maschinellem Lernen des Lernmodells unter Verwendung von Daten, die in einer Datenspeichervorrichtung jeder von voneinander verschiedenen medizinischen Einrichtungen gespeichert sind, als Lerndaten durch jedes der mehreren Client-Terminals; Übertragen eines Lernergebnisses des Lernmodells an den Integrationsserver via jedes der mehreren Client-Terminals; Empfangen jedes der Lernergebnisse von den mehreren Client-Terminals via den Integrationsserver; Erzeugen mehrerer Client-Cluster durch Aufteilen der mehreren Client-Terminals in mehrere Gruppen via den Integrationsserver; Erzeugen von Mastermodell-Kandidaten für jeden der Client-Cluster durch Integrieren der Lernergebnisse für jeden der Client-Cluster via den Integrationsserver; Detektieren des Mastermodell-Kandidaten, der eine Inferenzgenauigkeit aufweist, die niedriger als ein Genauigkeitsschwellenwert ist, durch Bewerten der Inferenzgenauigkeit jedes der Mastermodell-Kandidaten, die für jeden der Client-Cluster erzeugt wurden, via den Integrationsserver; Extrahieren eines Client-Terminals als eine Genauigkeitsverschlechterungsursache aus dem Client-Cluster, der für Erzeugung des Mastermodell-Kandidaten verwendet wurde, der die Inferenzgenauigkeit aufweist, die niedriger als der Genauigkeitsschwellenwert ist, via den Integrationsserver; und Erzeugen des Inferenzmodells, das eine Inferenzgenauigkeit aufweist, die höher als die Inferenzgenauigkeit des Mastermodells ist, auf der Grundlage des Mastermodell-Kandidaten, der eine Inferenzgenauigkeit aufweist, die gleich oder höher als der Genauigkeitsschwellenwert ist, via den Integrationsserver.
-
Das Inferenzmodell-Erzeugungsverfahren wird als eine Erfindung eines Verfahrens des Erzeugens eines Inferenzmodells verstanden. Der Begriff „Inferenz“ umfasst Konzepte von Vorhersage, Schätzung, Klassifizierung und Bestimmung. Das Inferenzmodell kann auch als ein „KI-Modell“ bezeichnet werden.
-
Gemäß der vorliegenden Erfindung ist es möglich, ein Client-Terminal, das nicht zum Lernen geeignet ist und das eine Genauigkeitsverschlechterungsursache ist, aus den mehreren Client-Terminals zu extrahieren. Dadurch ist es möglich, eine Genauigkeitsabnahme des Mastermodells zu verhindern, die durch einige ungeeignete Client-Terminals verursacht wird.
-
Figurenliste
-
- 1 ist ein konzeptionelles Diagramm, das einen Überblick eines Systems für maschinelles Lernen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
- 2 ist ein Diagramm, das schematisch ein Systemkonfigurationsbeispiel des Systems für maschinelles Lernen gemäß der Ausführungsform der vorliegenden Erfindung darstellt.
- 3 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Integrationsservers darstellt.
- 4 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Servers für computergestützte Detektion/Diagnose (computer-aided detection/diagnosis, CAD) als ein Beispiel eines Clients darstellt.
- 5 ist ein Flussdiagramm, das ein Beispiel eines Arbeitsvorgangs eines Client-Terminals auf der Grundlage eines lokalen Lernverwaltungsprogramms darstellt.
- 6 ist ein Flussdiagramm, das ein Beispiel eines Arbeitsvorgangs des Integrationsservers auf der Grundlage eines Lernclient-Auswahlprogramms darstellt.
- 7 ist ein Flussdiagramm, das ein Beispiel eines Arbeitsvorgangs des Integrationsservers auf der Grundlage eines Bewertungsprogramms darstellt.
- 8 ist ein Blockdiagramm, das ein Beispiel einer Hardwarekonfiguration eines Computers darstellt.
-
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Nachstehend werden bevorzugte Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
«Überblick über System für maschinelles Lernen»
-
1 ist ein konzeptionelles Diagramm, das einen Überblick eines Systems für maschinelles Lernen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Ein System 10 für maschinelles Lernen ist ein Computersystem, das maschinelles Lernen unter Verwendung eines föderalen Lernmechanismus durchführt. Das System 10 für maschinelles Lernen enthält mehrere Clients 20 und einen Integrationsserver 30. Das föderale Lernen wird manchmal als „Föderationslernen“, „kooperatives Lernen“ oder „Kombinationslernen“ bezeichnet.
-
Jeder der mehreren Clients 20, die in 1 dargestellt sind, gibt ein Terminal in einer medizinischen Einrichtung an, das in einem Netzwerk in einer medizinischen Einrichtung, wie beispielsweise einem Krankenhaus, vorgesehen ist. Hier bezieht sich das „Terminal“ auf eine Computerressource, die in einem Netzwerk vorhanden ist, das sicher auf Daten in einer medizinischen Einrichtung zugreifen kann, und es kann sein, dass das Terminal nicht physisch in der medizinischen Einrichtung vorhanden ist. Der Client 20 ist ein Beispiel eines „Client-Terminals“ gemäß der vorliegenden Offenbarung. Ein Computernetzwerk in einer medizinischen Einrichtung wird als ein „Netzwerk von medizinischer Einrichtung“ bezeichnet.
-
Es wird angenommen, dass jeder Client 20 für jede Datengruppe zum Trainieren eines KI-Modells existiert. Der hier beschriebene Begriff „für jede Datengruppe“ kann als „für jede medizinische Einrichtung“, die eine zum Trainieren des KI-Modells zu verwendende Datengruppe enthält, verstanden werden. Das heißt, es wird davon ausgegangen, dass ein Client für eine medizinische Einrichtung existiert.
-
Um jeden der mehreren Clients 20 zu unterscheiden und anzuzeigen, werden in 1 und nachfolgenden Zeichnungen Darstellungen wie „Client 1“ und „Client 2“ verwendet. Eine Zahl nach „Client“ ist ein Index als eine Identifikationsnummer zum Identifizieren jedes Clients 20. Bei der vorliegenden Spezifikation wird der Client 20 mit einem Index von m durch „Client CLm“ dargestellt. Zum Beispiel stellt der Client CL1 „Client 1“ in 1 dar.m entspricht einer Client-Identifikationsnummer (ID-Nummer). Unter der Annahme, dass eine Gesamtzahl der Clients 20, die von dem Integrationsserver 30 verwaltet werden, M ist, stellt m eine ganze Zahl dar, die gleich oder größer als 1 und gleich oder kleiner als M ist.In 1 sind die Clients 20 mit Indizes von m=1 bis m=N+1 dargestellt. N stellt eine ganze Zahl dar, die gleich oder größer als 2 ist. Ein Satz der Clients 20, von denen die Gesamtzahl M ist und die an Lernen teilnehmen, wird als eine „Lernclientgruppe“ oder eine „Population“ der Clients 20 bezeichnet.
-
Jeder Client 20 speichert lokale Daten LD in einer lokalen Client-Speichervorrichtung. Die lokalen Daten LD sind eine Datengruppe, die von einer medizinischen Einrichtung gesammelt werden, zu der der Client 20 gehört.
-
Jeder Client 20 enthält ein lokales Lernverwaltungsprogramm als ein Verteilungs-Lernclientprogramm. Jeder Client 20 führt eine Iteration zum Trainieren eines lokalen Modells LM unter Verwendung der lokalen Daten LD des lokalen Clients gemäß dem lokalen Lernverwaltungsprogramm durch.
-
Das lokale Modell LM ist beispielsweise ein KI-Modell für medizinische Bilddiagnose, das in ein CAD-System integriert ist. Der Begriff „CAD“ umfasst Konzepte sowohl von computergestützter Detektion (CADe) als auch von computergestützter Diagnose (CADx). Das lokale Modell LM wird beispielsweise unter Verwendung eines hierarchischen mehrschichtigen neuronalen Netzwerks konfiguriert. Bei dem lokalen Modell LM werden Netzwerkgewichtsparameter durch Deep Learning unter Verwendung der lokalen Daten LD als Lerndaten aktualisiert. Die Gewichtsparameter umfassen einen Filterkoeffizienten (ein Gewicht einer Verbindung zwischen Knoten) eines Filters, der zum Verarbeiten jeder Schicht verwendet wird, und eine Verzerrung eines Knotens. Das lokale Modell LM ist ein Beispiel eines „Lernmodells für das Client-Terminal“ gemäß der vorliegenden Offenbarung.
-
Das „neuronale Netzwerk“ ist ein mathematisches Modell für Informationsverarbeitung, das einen Mechanismus eines Gehirnnervensystems simuliert. Verarbeitung unter Verwendung des neuronalen Netzwerks kann durch Verwenden eines Computers realisiert werden. Eine Verarbeitungseinheit, die das neuronale Netzwerk enthält, kann als ein Programmmodul konfiguriert werden.
-
Als eine Netzwerkstruktur des zum Lernen verwendeten neuronalen Netzwerks wird eine geeignete Netzwerkstruktur gemäß einem Typ von Daten verwendet, die für Eingabe verwendet werden. Das KI-Modell für medizinische Bilddiagnose kann beispielsweise unter Verwendung verschiedener faltender neuronaler Netzwerke (convolutional neural networks, CNNs) mit einer Faltungsschicht konfiguriert werden. Das KI-Modell, das Zeitreihendaten, Dokumentdaten oder dergleichen verarbeitet, kann beispielsweise unter Verwendung verschiedener rekurrenter neuronaler Netzwerke (recurrent neural networks, RNNs) konfiguriert werden.
-
Die mehreren Clients 20 sind via ein Kommunikationsnetzwerk mit dem Integrationsserver 30 verbunden. In 1 zeigt eine Anzeige einer Teufelsmarkierung DM ein Auftreten einer Verschlechterung bei einer Inferenzgenauigkeit des KI-Modells an. Der Integrationsserver 30 erfasst Lernergebnisse von jedem der mehreren Clients 20 und führt Verarbeitung des Erzeugens mehrerer Mastermodell-Kandidaten MMC auf der Grundlage der Lernergebnisse, Verarbeitung des Bewertens einer Inferenzgenauigkeit jedes Mastermodell-Kandidaten und Verarbeitung des Auswählens des Clients als eine Genauigkeitsverschlechterungsursache durch.
-
Ein Ort des Integrationsservers 30 kann sich in einem Computernetzwerk befinden, auf das eine das KI-Modell entwickelnde Entität Zugriffsrechte hat, und eine Form des Servers kann ein physischer Server, ein virtueller Server oder dergleichen sein. Der Integrationsserver 30 kann in einem Netzwerk von medizinischer Einrichtung vorgesehen sein oder kann außerhalb eines Netzwerks von medizinischer Einrichtung vorgesehen sein. Beispielsweise kann der Integrationsserver 30 in einem Unternehmen vorgesehen sein, das sich geografisch von einer medizinischen Einrichtung entfernt befindet und das medizinische KI entwickelt, oder kann in einer Cloud vorgesehen sein.
-
Der Integrationsserver 30 teilt die mehreren Clients 20 in K Gruppen von Client-Clustern auf und erzeugt K Mastermodell-Kandidaten MMC durch Integrieren der Lernergebnisse für jeden Client-Cluster. K ist eine ganze Zahl, die gleich oder größer als 2 ist.
-
Der Client-Cluster ist eine Teil-Clientgruppe der Lernclientgruppe. Die Anzahl der Clients 20 (die Anzahl der Clients), die in jeder der K Gruppen der Client-Cluster enthalten sind, ist gleich. Es wird angenommen, dass es keine Überschneidung (Nicht-Überschneiden) bei den Clients 20, die in jedem Client-Cluster enthalten sind, zwischen verschiedenen Client-Clustern gibt. Unter der Annahme, dass die Anzahl der Clients in dem Client-Cluster Q ist, ist Q eine ganze Zahl, die gleich oder größer als 2 ist. 1 stellt ein Beispiel für Q=3 dar.
-
In 1 gehören die Clients CL1, CL2 und CL3 zu demselben Client-Cluster, und die Clients CL4, CLN und CLN+1 gehören zu demselben Client-Cluster.
-
In 1 zeigt ein Pfeil, der sich von einer linken Seite eines Kreises erstreckt, der eine Anzeige „föderale Mittelung“ umgibt, an, dass Daten des trainierten lokalen Modells LM von jedem Client 20, der zu demselben Client-Cluster gehört, übertragen werden. Die Daten des lokalen Modells LM als ein Lernergebnis, die von jedem Client 20 an den Integrationsserver 30 bereitgestellt werden, können ein Gewichtsparameter des trainierten lokalen Modells LM sein.
-
Der die Anzeige „föderale Mittelung“ umgebende Kreis stellt Verarbeitung des Integrierens der Lernergebnisse dar. Bei der Verarbeitung werden die von jedem Client 20 übertragenen Gewichte durch Mitteln oder dergleichen integriert, und ein Mastermodell-Kandidat MMC als ein Integrationsmodell wird erzeugt. Ein Verfahren für Integrationsverarbeitung ist nicht auf einfache Additionsmittelung beschränkt. Die Gewichte können auf der Grundlage von Faktoren, wie beispielsweise einem Attribut des Clients 20, einem vergangenen Integrationsergebnis, der Anzahl an Stücken von Daten für jede medizinische Einrichtung, die zum Wiederlemen verwendet werden, und einem Niveau einer medizinischen Einrichtung, das von einem Menschen bewertet wird, gewichtet und integriert werden.
-
In 1 zeigen „Mastermodell 1“ und „Mastermodell K“, die an Enden von Pfeilen dargestellt sind, die sich zu einer rechten Seite des Kreises erstrecken, der die Anzeige „föderale Mittelung“ umgibt, die Mastermodell-Kandidaten MMC an, die von jedem Client-Cluster erzeugt werden. Unter der Annahme, dass ein Index zum Identifizieren jeder der K Gruppen der Client-Cluster k ist, stellt k eine ganze Zahl dar, die gleich oder größer als 1 und gleich oder kleiner als K ist.Bei der vorliegenden Spezifikation kann der Mastermodell-Kandidat MMC, der durch Integrieren der Lernergebnisse jedes Clients 20, der zu dem Client-Cluster mit einem Index k gehört, erzeugt wird, als „MMCk“ dargestellt werden. Zum Beispiel stellt in 1 der Mastermodell-Kandidat MMC1 „Mastermodell 1“ dar.
-
Der Integrationsserver 30 bewertet eine Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC unter Verwendung von im Voraus vorbereiteten Überprüfungsdaten. Die Überprüfungsdaten können in einer internen Speichervorrichtung des Integrationsservers 30 gespeichert werden oder können in einer externen Speichervorrichtung gespeichert werden, die mit dem Integrationsserver 30 verbunden ist.
-
Der Integrationsserver 30 enthält ein Bewertungsprogramm 34, eine Datenbank 36 und ein Lernclient-Auswahlprogramm 38.
-
Das Bewertungsprogramm 34 sammelt eine Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC und speichert die Inferenzgenauigkeit in einer Datenspeichereinheit, wie beispielsweise einer Datenbank 36. Die Datenspeichereinheit kann ein Speicherbereich einer Speichervorrichtung in dem Integrationsserver 30 sein oder kann ein Speicherbereich einer externen Speichervorrichtung sein, die mit dem Integrationsserver 30 verbunden ist.
-
Das Bewertungsprogramm 34 vergleicht die gesammelte Inferenzgenauigkeit mit einem Genauigkeitsschwellenwert und benachrichtigt in einem Fall, in dem die Inferenzgenauigkeit des Mastermodell-Kandidaten MMC niedriger als der Genauigkeitsschwellenwert ist, das Lernclient-Auswahlprogramm 38 über die Informationen.
-
In einem Fall, in dem von dem Bewertungsprogramm 34 eine Benachrichtigung empfangen wird, die angibt, dass ein Mastermodell-Kandidat MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, existiert, führt das Lernclient-Auswahlprogramm 38 Verarbeitung des Extrahierens eines Clients als eine Inferenzgenauigkeits-Verschlechterungsursache durch.
-
Das Lernclient-Auswahlprogramm 38 sucht nach einem Client, der eine Genauigkeitsverschlechterung verursacht, aus der Lernclientgruppe und führt eine Maßnahme des Stoppens von Sammlung der Lernergebnisse von dem Client als eine Genauigkeitsverschlechterungsursache und des Registrierens des entsprechenden Clients in einer schwarzen Liste durch. Das Lernclient-Auswahlprogramm 38 speichert Informationen des Clients als eine Genauigkeitsverschlechterungsursache in der Datenspeichereinheit, wie beispielsweise der Datenbank 36.
-
1 stellt ein Beispiel dar, bei dem der Client CL3 ein Client als eine Genauigkeitsverschlechterungsursache ist. Das in 1 dargestellte Beispiel ist ein Beispiel, bei dem unter der Annahme, dass das lokale Modell LM und der Mastermodell-Kandidat MMC CAD-KI-Modelle für Brust-CT-Bilder sind, eine Inferenz durch Eingeben von Überprüfungsdaten, bei denen eine korrekte Antwort „Lungenkrebs“ ist, in den Mastermodell-Kandidaten MMC1 durchgeführt wird, der durch Integrieren der Lernergebnisse des Client-Clusters einschließlich des Clients CL3 erzeugt wurde, und ein Inferenzergebnis eine fehlerhafte Bestimmung darstellt, die „Pneumonie“ angibt. Ferner stellt 1 ein Beispiel dar, bei dem eine Inferenz in ähnlicher Weise durch Eingeben von Überprüfungsdaten, bei denen eine korrekte Antwort „Lungenkrebs“ ist, in den Mastermodell-Kandidaten MMCK durchgeführt wird, der durch Integrieren der Lernergebnisse des anderen Client-Clusters erzeugt wurde, und ein Inferenzergebnis eine korrekte Bestimmung darstellt, die „Lungenkrebs“ angibt.
-
«Überblick über Verfahren für maschinelles Lernen»
-
Ein Beispiel eines Verfahrens für maschinelles Lernen durch das System 10 für maschinelles Lernen gemäß der Ausführungsform der vorliegenden Erfindung wird beschrieben. Das System 10 für maschinelles Lernen arbeitet gemäß einer Prozedur 1 bis zu einer Prozedur 11, die unten beschrieben werden.
-
[Prozedur 1] Wie in 1 dargestellt, wird ein Verteilungs-Lernclientprogramm auf einem Terminal (Client 20) in einer medizinischen Einrichtung ausgeführt, das in einem Computernetzwerk der medizinischen Einrichtung vorgesehen ist, in dem eine Datengruppe zum Trainieren eines KI-Modells existiert.
-
[Prozedur 2] Der Integrationsserver 30 synchronisiert eine neueste Version des zum Lernen zu verwendenden Mastermodells mit dem lokalen Modell LM auf jedem Client 20, bevor jeder der mehreren Clients 20 mit Lernen beginnt. Das Mastermodell ist ein trainiertes KI-Modell.
-
[Prozedur 3] Nachdem Synchronisation mit der neuesten Version des Mastermodells durchgeführt wurde, führt jeder Client 20 Lernen auf jedem Terminal unter Verwendung der in der medizinischen Einrichtung vorhandenen lokalen Daten LD durch und führt Lernverarbeitung mit der festgelegten Anzahl an Iterationen durch. Die als die Lerndaten verwendeten lokalen Daten LD können beispielsweise ein medizinisches Bild und dem medizinischen Bild zugeordnete Informationen sein. Die „zugeordneten Informationen“ können Informationen enthalten, die einem Trainingssignal entsprechen. Die Anzahl an Iterationen kann ein fester Wert sein, und bevorzugter werden Iterationen von Lernen bis zu einem Stadium durchgeführt, in dem die Inferenzgenauigkeit so verbessert wird, dass sie gleich oder höher als ein festgelegter Prozentsatz ist.
-
[Prozedur 4] Nachdem Lernen abgeschlossen ist, überträgt jeder Client 20 das Lernergebnis an den Integrationsserver 30. Das Lernergebnis, das von dem Client 20 an den Integrationsserver 30 übertragen wird, kann ein Gewichtsparameter des trainierten lokalen Modells LM sein. Die Daten des Gewichtsparameters nach Trainieren, die von dem Client 20 an den Integrationsserver 30 übertragen werden, können eine Differenz zu dem Gewichtsparameter der neuesten Version des Mastermodells sein, die mit dem Integrationsserver 30 synchronisiert ist.
-
Ein beigefügtes Dokument einer medizinischen Vorrichtung als der Client 20, der die Funktion gemäß der vorliegenden Ausführungsform verwendet, beschreibt, dass Lernen als Hintergrundverarbeitung innerhalb eines Bereichs durchgeführt wird, in dem das Lernen medizinische Arbeit nicht stört. Darüber hinaus beschreibt das beigefügte Dokument, dass zu verwendende Lerndaten Daten in der medizinischen Einrichtung sind, dass nach außen zu übertragende Daten nur ein trainierter Gewichtsparameter sind und dass Daten, durch die eine Person identifiziert wird, nicht übertragen werden.
-
[Prozedur 5] Das Lernclient-Auswahlprogramm 38, das auf dem Integrationsserver 30 arbeitet, erzeugt die Mastermodell-Kandidaten MMC für jeden Client-Cluster durch Aufteilen der von jedem Client 20 übertragenen Lernergebnisse in mehrere Client-Cluster und Integrieren der Lernergebnisse. Zu diesem Zeitpunkt extrahiert das Lernclient-Auswahlprogramm 38 zufällig die Clients 20 aus der Population ohne Überschneiden so, dass die Anzahl an Clients, die in jedem Client-Cluster enthalten sind, gleich ist, und speichert Informationen, die angeben, welcher Mastermodell-Kandidat MMC aus welchem Client-Cluster erzeugt wird, in der Datenspeichereinheit, wie beispielsweise der Datenbank 36. Die Datenbank 36 ist ein Beispiel einer „Assoziationsinformations-Speichereinheit“ gemäß der vorliegenden Offenbarung.
-
[Prozedur 6] Das Bewertungsprogramm 34 führt eine Überprüfung der Inferenzgenauigkeit jedes erzeugten Mastermodell-Kandidaten MMC durch. Die Überprüfung der Inferenzgenauigkeit wird an den Überprüfungsdaten durchgeführt. Das heißt, das Bewertungsprogramm 34 veranlasst jeden Mastermodell-Kandidaten MMC, eine Inferenz durch Verwenden der auf dem Integrationsserver 30 vorhandenen Überprüfungsdaten als eine Eingabe durchzuführen, berechnet eine Inferenzgenauigkeit durch Vergleichen eines Inferenzergebnisses mit korrekten Antwortdaten und speichert die Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC in der Datenspeichereinheit, wie beispielsweise der Datenbank 36.
-
[Prozedur 7] Das Bewertungsprogramm 34 vergleicht die Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC mit dem Genauigkeitsschwellenwert und benachrichtigt in einem Fall, in dem die Inferenzgenauigkeit eines bestimmten Mastermodell-Kandidaten MMC niedriger als der Genauigkeitsschwellenwert ist, das Lernclient-Auswahlprogramm 38, welcher Mastermodell-Kandidat MMC ein Modell mit der Inferenzgenauigkeit ist, die niedriger als der Genauigkeitsschwellenwert ist. Beim Bewerten der Inferenzgenauigkeit kann die mit dem Genauigkeitsschwellenwert zu vergleichende Inferenzgenauigkeit des Mastermodell-Kandidaten MMC ein Momentanwert sein. Um ein Rauschen aufgrund eines abnormalen Werts oder dergleichen zu reduzieren, kann jedoch bevorzugter ein statistischer Wert, wie beispielsweise ein Durchschnittswert oder ein Medianwert der Inferenzgenauigkeit, verwendet werden.
-
Bei der Bewertungsverarbeitung unter Verwendung der Überprüfungsdaten kann in einem Fall, in dem es notwendig ist, eine Änderung bei der Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC zu bestätigen, die Änderung durch Verwenden einer Anzeigevorrichtung (nicht dargestellt) in diesem Stadium bestätigt werden. Die Anzeigevorrichtung kann mit dem Integrationsserver 30 verbunden sein.
-
[Prozedur 8] In einem Fall, in dem eine Benachrichtigung empfangen wird, die angibt, dass der Mastermodell-Kandidat MMC mit der Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, existiert, sucht das Lernclient-Auswahlprogramm 38 aus der Datenspeichereinheit, wie beispielsweise der Datenbank 36, den Client-Cluster, der das Lernergebnis bereitstellt, das zum Erzeugen des Mastermodell-Kandidaten MMC mit der Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, verwendet wird.
-
[Prozedur 9] Ferner führt das Lernclient-Auswahlprogramm 38 Verarbeitung des Extrahierens des Clients, der insbesondere eine Genauigkeitsverschlechterung verursacht, aus den Client-Clustern durch, die an Erzeugung des Mastermodell-Kandidaten MMC mit der Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, beteiligt sind. Als ein Beispiel eines zu diesem Zeitpunkt verwendeten Extraktionsverfahrens gibt es ein Verfahren des Berechnens der Inferenzgenauigkeit des lokalen Modells LM jedes Clients 20 in dem Client-Cluster, der an Erzeugung des Mastermodell-Kandidaten MMC mit einer niedrigeren Inferenzgenauigkeit beteiligt ist, und des Extrahierens des Clients mit einer niedrigeren Inferenzgenauigkeit als eine Genauigkeitsverschlechterungsursache. Ferner gibt es als ein Beispiel eines weiteren Extraktionsverfahrens ein Verfahren des Mischens des lokalen Modells LM jedes Clients 20 in dem Client-Cluster, der an Erzeugung des Mastermodell-Kandidaten MMC mit einer niedrigeren Inferenzgenauigkeit beteiligt ist, in den Client-Cluster des Mastermodell-Kandidaten MMC, von dem die Inferenzgenauigkeit nicht niedriger als der Genauigkeitsschwellenwert ist, und des Extrahierens des gemischten Clients 20 als eine Genauigkeitsverschlechterungsursache in einem Fall, in dem die Inferenzgenauigkeit des Mastermodell-Kandidaten MMC als ein Mischziel signifikant verschlechtert ist.
-
[Prozedur 10] Das Lernclient-Auswahlprogramm 38 speichert in der Datenspeichereinheit, wie beispielsweise der Datenbank 36, Informationen des Clients als eine Genauigkeitsverschlechterungsursache so, dass der Client 20, der eine Genauigkeitsverschlechterungsursache ist und der bei der Prozedur 9 extrahiert wird, nicht für nachfolgendes Lernen verwendet wird. Die Datenbank 36 ist ein Beispiel einer „Informationsspeichereinheit“ gemäß der vorliegenden Offenbarung.
-
[Prozedur 11] Danach werden Arbeitsvorgänge von der Prozedur 2 bis zu der Prozedur 10 wiederholt, bis ein Modell mit einer Inferenzgenauigkeit, die höher als eine Inferenzgenauigkeit für Kommerzialisierung ist, von den Mastermodell-Kandidaten MMC erhalten wird.
-
Dadurch kann eine Lerngenauigkeit garantiert werden, und es ist möglich, ein Inferenzmodell mit einer Inferenzgenauigkeit, die gleich oder höher als der Genauigkeitsschwellenwert ist, zu erzeugen. Das Verfahren für maschinelles Lernen unter Verwendung des Systems 10 für maschinelles Lernen gemäß der vorliegenden Ausführungsform wird als ein Verfahren des Erzeugens eines Inferenzmodells verstanden.
-
<<Systemkonfigurationsbeispiel>>
-
Als nächstes wird ein Beispiel einer spezifischen Konfiguration des Systems 10 für maschinelles Lernen beschrieben. 2 ist ein Diagramm, das schematisch ein Systemkonfigurationsbeispiel des Systems 10 für maschinelles Lernen gemäß der Ausführungsform der vorliegenden Erfindung darstellt. Zunächst wird ein Beispiel eines Netzwerks 50 von medizinischer Einrichtung beschrieben. Zur Vereinfachung von Darstellung stellt 2 ein Beispiel dar, bei dem das Netzwerk 50 von medizinischer Einrichtung mit der gleichen Systemkonfiguration in jeder von mehreren medizinischen Einrichtungen vorgesehen ist. Jedoch kann ein Netzwerk von medizinischer Einrichtung mit einer anderen Systemkonfiguration für jede medizinische Einrichtung vorgesehen sein.
-
Das Netzwerk 50 von medizinischer Einrichtung ist ein Computernetzwerk, das eine Computertomographie (CT) -Vorrichtung 52, eine Magnetresonanztomographie (MRT) -Vorrichtung 54, eine Computerradiographie (CR) -Vorrichtung 56, einen PACS (Picture Archiving and Communication System) -Server 58, einen CAD-Server 60, ein Terminal 62 und eine interne Kommunikationsleitung 64 enthält.
-
Das Netzwerk 50 von medizinischer Einrichtung ist nicht auf die CT-Vorrichtung 52, die MRT-Vorrichtung 54 und die CR-Vorrichtung 56 beschränkt, die in 2 dargestellt sind. Anstelle einiger oder aller der Vorrichtungen oder zusätzlich zu den Vorrichtungen kann mindestens eines oder eine Kombination aus einer digitalen Röntgenbildgebungsvorrichtung, einer Angiographie-Röntgendiagnosevorrichtung, einer Ultraschalldiagnosevorrichtung, einer Positronen-Emissions-Tomographie (PET) -Vorrichtung, einer endoskopischen Vorrichtung, einer Mammographievorrichtung und verschiedenen Untersuchungsvorrichtungen (Modalitäten), die nicht dargestellt sind, enthalten sein. Für jede medizinische Einrichtung kann es verschiedene Kombinationen von Typen von Testvorrichtungen geben, die mit dem Netzwerk 50 von medizinischer Einrichtung verbunden sind.
-
Der PACS-Server 58 ist ein Computer, der verschiedene Daten speichert und verwaltet, und enthält eine externe Speichervorrichtung mit großer Kapazität und Software für Datenbankmanagement. Der PACS-Server 58 führt eine Kommunikation mit einer anderen Vorrichtung via die interne Kommunikationsleitung 64 durch und überträgt und empfängt verschiedene Daten einschließlich Bilddaten. Der PACS-Server 58 empfängt verschiedene Daten, einschließlich Bilddaten und dergleichen, die von jeder Untersuchungsvorrichtung, wie beispielsweise der CT-Vorrichtung 52, der MRT-Vorrichtung 54 und der CR-Vorrichtung 56, erzeugt werden, via die interne Kommunikationsleitung 64 und speichert und verwaltet die Daten auf einem Aufzeichnungsmedium, wie beispielsweise einer externen Speichervorrichtung mit großer Kapazität.
-
Ein Speicherformat der Bilddaten und eine Kommunikation zwischen den Vorrichtungen via die interne Kommunikationsleitung 64 basieren auf einem Protokoll, wie beispielsweise Digital Imaging and Communications in Medicine (DICOM). Der PACS-Server 58 kann ein DICOM-Server sein, der gemäß einer DICOM-Spezifikation arbeitet. Die auf dem PACS-Server 58 gespeicherten Daten können als Lerndaten verwendet werden. Die auf der Grundlage der auf dem PACS-Server 58 gespeicherten Daten erzeugten Lerndaten können auf dem CAD-Server 60 gespeichert werden. Der PACS-Server 58 ist ein Beispiel einer „Datenspeichervorrichtung einer medizinischen Einrichtung“ gemäß der vorliegenden Offenbarung. Ferner kann der CAD-Server 60 als die „Datenspeichervorrichtung einer medizinischen Einrichtung“ gemäß der vorliegenden Offenbarung fungieren.
-
Der CAD-Server 60 entspricht dem in 1 beschriebenen Client 20. Der CAD-Server 60 weist eine Kommunikationsfunktion für eine Kommunikation mit dem Integrationsserver 30 auf und ist via eine Weitverkehrskommunikationsleitung 70 mit dem Integrationsserver 30 verbunden. Der CAD-Server 60 kann Daten von dem PACS-Server 58 oder dergleichen via die interne Kommunikationsleitung 64 erfassen. Der CAD-Server 60 enthält ein lokales Lernverwaltungsprogramm zum Ausführen des Trainierens des lokalen Modells LM auf dem CAD-Server 60 unter Verwendung der auf dem PACS-Server 58 gespeicherten Datengruppe. Der CAD-Server 60 ist ein Beispiel eines „Client-Terminals“ gemäß der vorliegenden Offenbarung.
-
Verschiedene Daten, die in der Datenbank des PACS-Servers 58 gespeichert sind, und verschiedene Informationen, einschließlich des Inferenzergebnisses von dem CAD-Server 60, können auf dem Terminal 62 angezeigt werden, das mit der internen Kommunikationsleitung 64 verbunden ist.
-
Das Terminal 62 kann ein Anzeigeterminal sein, das als ein PACS-Viewer oder ein DICOM-Viewer bezeichnet wird. Mehrere Terminals 62 können mit dem Netzwerk 50 von medizinischer Einrichtung verbunden sein. Ein Typ des Terminals 62 ist nicht besonders eingeschränkt und kann ein Personal Computer, eine Workstation, ein Tablet-Terminal oder dergleichen sein.
-
Wie in 2 dargestellt, ist in jeder von mehreren medizinischen Einrichtungen ein Netzwerk von medizinischer Einrichtung mit der gleichen Systemkonfiguration vorgesehen. Der Integrationsserver 30 führt eine Kommunikation mit mehreren CAD-Servern 60 via die Weitverkehrskommunikationsleitung 70 durch. Die Weitverkehrskommunikationsleitung 70 ist ein Beispiel einer „Kommunikationsleitung“ gemäß der vorliegenden Offenbarung.
-
«Konfigurationsbeispiel für Integrationsserver 30»
-
3 ist ein Blockdiagramm, das ein Konfigurationsbeispiel des Integrationsservers 30 darstellt. Der Integrationsserver 30 kann durch ein Computersystem realisiert werden, das durch Verwenden eines oder mehrerer Computer konfiguriert ist. Der Integrationsserver 30 wird durch Installieren und Ausführen eines Programms auf einem Computer realisiert.
-
Der Integrationsserver 30 enthält einen Prozessor 302, ein nicht-flüchtiges greifbares computerlesbares Medium 304, eine Kommunikationsschnittstelle 306, eine Eingabe-/Ausgabeschnittstelle 308, einen Bus 310, eine Eingabevorrichtung 314 und eine Anzeigevorrichtung 316. Der Prozessor 302 ist ein Beispiel eines „ersten Prozessors“ gemäß der vorliegenden Offenbarung. Das computerlesbare Medium 304 ist ein Beispiel eines „ersten computerlesbaren Mediums“ gemäß der vorliegenden Offenbarung.
-
Der Prozessor 302 enthält eine Zentraleinheit (central processing unit, CPU). Der Prozessor 302 kann eine Grafikprozessoreinheit (graphics processing unit, GPU) enthalten. Der Prozessor 302 ist via den Bus 310 mit dem computerlesbaren Medium 304, der Kommunikationsschnittstelle 306 und der Eingabe-/Ausgabeschnittstelle 308 verbunden. Die Eingabevorrichtung 314 und die Anzeigevorrichtung 316 sind via die Eingabe-/Ausgabeschnittstelle 308 mit dem Bus 310 verbunden.
-
Das computerlesbare Medium 304 enthält einen Speicher als eine Hauptspeichervorrichtung und einen Datenspeicher als eine Hilfsspeichervorrichtung. Das computerlesbare Medium 304 kann beispielsweise ein Halbleiterspeicher, eine Festplattenlaufwerk (hard disk drive, HDD) -Vorrichtung, eine Solid-State-Laufwerk (solid state drive, SSD) -Vorrichtung oder eine Kombination dieser Vorrichtungen sein.
-
Der Integrationsserver 30 ist via die Kommunikationsschnittstelle 306 mit der Weitverkehrskommunikationsleitung 70 (siehe 2) verbunden.
-
Das computerlesbare Medium 304 enthält eine Mastermodell-Speichereinheit 320, eine Überprüfungsdaten-Speichereinheit 322 und eine Datenbank 36. Die Mastermodell-Speichereinheit 320 speichert Daten einer neuesten Version eines Mastermodells MM. Die Überprüfungsdaten-Speichereinheit 322 speichert mehrere Stücke von Überprüfungsdaten TD, die verwendet werden, wenn die Inferenzgenauigkeit des Integrationsmodells überprüft wird, das von einer Mastermodell-Kandidaten-Erzeugungseinheit 334 erzeugt wurde. Die Überprüfungsdaten TD sind Daten, in denen Eingabedaten und korrekte Antwortdaten kombiniert sind, und werden auch als Testdaten bezeichnet. Die Überprüfungsdaten TD können beispielsweise Daten sein, die von einer Universität und dergleichen bereitgestellt werden.
-
Das computerlesbare Medium 304 speichert verschiedene Programme, die ein Synchronisationsprogramm 324, das Lernclient-Auswahlprogramm 38 und das Bewertungsprogramm 34 umfassen, und Daten. Das Synchronisationsprogramm 324 ist ein Programm zum Bereitstellen der Daten des Mastermodells MM an jeden Client 20 via die Kommunikationsschnittstelle 306 und zum Synchronisieren jedes lokalen Modells LM mit dem Mastermodell MM. In einem Fall, in dem der Prozessor 302 einen Befehl des Synchronisationsprogramms 324 ausführt, fungiert der Computer als eine Synchronisationsverarbeitungseinheit. Das Synchronisationsprogramm 324 kann als ein Programmmodul des Lernclient-Auswahlprogramms 38 integriert sein.
-
In einem Fall, in dem der Prozessor 302 einen Befehl des Lernclient-Auswahlprogramms 38 ausführt, fungiert der Computer als eine Client-Cluster-Extraktionseinheit 332, eine Mastermodell-Kandidaten-Erzeugungseinheit 334, eine Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 und eine Ausschlussverarbeitungseinheit 338. Ferner fungiert der Computer in einem Fall, in dem der Prozessor 302 einen Befehl des Bewertungsprogramms 34 ausführt, als eine Inferenzeinheit 342, eine Inferenzgenauigkeit-Berechnungseinheit 344 und eine Genauigkeitsschwellenwert-Vergleichseinheit 346.
-
Die Client-Cluster-Extraktionseinheit 332 teilt die via die Kommunikationsschnittstelle 306 empfangenen Lernergebnisse der mehreren Clients 20 in mehrere Client-Cluster mit derselben Anzahl der Clients auf. Die Kommunikationsschnittstelle 306 ist ein Beispiel einer „Empfangseinheit“ gemäß der vorliegenden Offenbarung. Die Client-Cluster-Extraktionseinheit 332 ist ein Beispiel einer „Client-Cluster-Erzeugungseinheit“ gemäß der vorliegenden Offenbarung. Die Client-Cluster-Extraktionseinheit 332 speichert in der Datenbank 36 Informationen, die eine Korrespondenzbeziehung zwischen den Informationen der zu jedem Client-Cluster gehörenden Clients 20 und den für jeden Client-Cluster erzeugten Mastermodell-Kandidaten MMC angeben.
-
Die Mastermodell-Kandidaten-Erzeugungseinheit 334 erzeugt mehrere Mastermodell-Kandidaten MMC durch Integrieren der Lernergebnisse für jeden Client-Cluster. In der Datenbank 36 werden Informationen gespeichert, die eine Korrespondenzbeziehung darüber angeben, auf welchem Client-Cluster jeder erzeugte Mastermodell-Kandidat MMC basiert.
-
Die Inferenzeinheit 342 führt eine Inferenz durch jeden Mastermodell-Kandidaten MMC durch Eingeben der Überprüfungsdaten TD in jeden Mastermodell-Kandidaten MMC aus. Die Inferenzgenauigkeit-Berechnungseinheit 344 berechnet eine Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC durch Vergleichen des Inferenzergebnisses jedes Mastermodell-Kandidaten MMC, das von der Inferenzeinheit 342 erhalten wird, mit den korrekten Antwortdaten. Als die korrekten Antwortdaten werden beispielsweise Daten verwendet, bei denen die Anzahl an Läsionen und korrekte klinische Befunde zu den Bilddaten hinzugefügt wurden. Die Inferenzgenauigkeit-Berechnungseinheit 344 führt eine Genauigkeitsüberprüfung mehrmals durch Vergleich mit den Überprüfungsdaten durch. Die Inferenzgenauigkeit-Berechnungseinheit 344 kann einen Genauigkeitsdurchschnittswert des Mastermodell-Kandidaten aus dem Ergebnis berechnen, das durch mehrmaliges Durchführen der Genauigkeitsüberprüfung erhalten wird, und den Genauigkeitsdurchschnittswert als die Inferenzgenauigkeit des Mastermodell-Kandidaten bewerten. Die von der Inferenzgenauigkeit-Berechnungseinheit 344 berechnete Inferenzgenauigkeit wird in der Datenbank 36 gespeichert.
-
Die Genauigkeitsschwellenwert-Vergleichseinheit 346 vergleicht die Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC mit einem vorbestimmten Genauigkeitsschwellenwert und bestimmt, ob ein Mastermodell-Kandidat MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, existiert oder nicht. In einem Fall, in dem ein Mastermodell-Kandidat MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, existiert, werden die Informationen an die Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 übertragen. Die Inferenzeinheit 342, die Inferenzgenauigkeit-Berechnungseinheit 344 und die Genauigkeitsschwellenwert-Vergleichseinheit 346, die durch das Bewertungsprogramm 34 realisiert werden, sind Beispiele einer „Genauigkeitsbewertungseinheit“ gemäß der vorliegenden Offenbarung.
-
Die Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 führt Verarbeitung des Extrahierens eines Clients, der insbesondere eine Genauigkeitsverschlechterung verursacht, aus dem Client-Cluster durch, der an der Erzeugung des Mastermodell-Kandidaten MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, beteiligt ist, und speichert in der Datenbank 36 Informationen des extrahierten Clients als eine Genauigkeitsverschlechterungsursache.
-
Der Client-Cluster, der an der Erzeugung des Mastermodell-Kandidaten MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, beteiligt ist, wird als ein „Client-Cluster mit niedriger Genauigkeit“ bezeichnet. Die Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 teilt den Client-Cluster mit niedriger Genauigkeit weiter beispielsweise in mehrere Unter-Cluster auf, mischt den Client des Unter-Clusters in den Client-Cluster, der bei der Erzeugung anderer Mastermodell-Kandidaten verwendet wurde, die kein Problem mit der Genauigkeit aufweisen, und bestimmt, ob die Genauigkeit in einem Fall verringert ist, in dem der Mastermodell-Kandidat erzeugt wird. Dadurch wird in einem Fall, in dem ein Modell existiert, von dem die Genauigkeit im Vergleich zu vorherigem Lernen signifikant verschlechtert ist, bestimmt, dass ein Client als eine Genauigkeitsverschlechterungsursache in dem Unter-Cluster existiert, der in das Modell gemischt ist, von dem die Genauigkeit verschlechtert ist. In einem Fall, in dem die Anzahl der Clients in dem Unter-Cluster relativ groß ist, teilt die Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 den Unter-Cluster, der den Client als eine Genauigkeitsverschlechterungsursache enthält, weiter auf und wiederholt die gleiche Verarbeitung wie oben beschrieben. Die Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 wiederholt die Iterationen, bis die Anzahl der Clients in der Clientgruppe (Unter-Cluster mit niedriger Genauigkeit) einschließlich des Clients als eine Genauigkeitsverschlechterungsursache ausreichend reduziert ist. Der Client, der in jedem Unter-Cluster unter den mehreren Unter-Clustern enthalten ist, kann sich überschneiden.
-
Infolge der Wiederholung registriert in einem Stadium, in dem die Anzahl der Clients in der Clientgruppe einschließlich des Clients als eine Genauigkeitsverschlechterungsursache ausreichend reduziert ist, die Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 in der Datenbank 36 den Client als eine Genauigkeitsverschlechterungsursache so, dass der Client als eine Genauigkeitsverschlechterungsursache bei nachfolgendem Lernen nicht verwendet wird.
-
Die Ausschlussverarbeitungseinheit 338 führt Verarbeitung des Ausschließens des entsprechenden Clients so durch, dass der Client als eine Genauigkeitsverschlechterungsursache, der von der Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336 extrahiert wurde, bei nachfolgendem Lernen nicht verwendet wird. Die „Ausschlussverarbeitung“ kann beispielsweise mindestens eines von Nichtausführen von lokaler Lernverarbeitung auf dem Client-Terminal als eine Genauigkeitsverschlechterungsursache, Stoppen von Empfang des Lernergebnisses von dem Client als eine Genauigkeitsverschlechterungsursache oder Nichthinzufügen des von dem Client als eine Genauigkeitsverschlechterungsursache empfangenen Lernergebnisses zu der Integrationsverarbeitung sein.
-
Das Synchronisationsprogramm 324, das Lernclient-Auswahlprogramm 38 und das Bewertungsprogramm 34 sind Beispiele eines „ersten Programms“ gemäß der vorliegenden Offenbarung.
-
Ferner fungiert der Computer in einem Fall, in dem der Prozessor 302 einen Befehl eines Anzeigesteuerprogramms ausführt, als eine Anzeigesteuereinheit 350. Die Anzeigesteuereinheit 350 erzeugt ein Anzeigesignal, das für Anzeigeausgabe an die Anzeigevorrichtung 316 erforderlich ist, und führt eine Anzeigesteuerung der Anzeigevorrichtung 316 durch.
-
Die Anzeigevorrichtung 316 ist beispielsweise mit einer Flüssigkristallanzeige, einer organischen Elektrolumineszenz (OEL) -Anzeige, einem Projektor oder einer geeigneten Kombination davon konfiguriert. Die Eingabevorrichtung 314 ist beispielsweise mit einer Tastatur, einer Maus, einem Touch-Panel, einer anderen Zeigevorrichtung, einer Spracheingabevorrichtung oder einer geeigneten Kombination davon konfiguriert. Die Eingabevorrichtung 314 empfängt verschiedene Eingaben von einem Bediener. Die Anzeigevorrichtung 316 und die Eingabevorrichtung 314 können durch Verwenden eines Touch-Panels integral konfiguriert sein.
-
Die Anzeigevorrichtung 316 kann die Inferenzgenauigkeit bei jeder Lerniteration jedes der mehreren Mastermodell-Kandidaten MMC anzeigen.
-
«Konfigurationsbeispiel für CAD-Server 60»
-
4 ist ein Blockdiagramm, das ein Konfigurationsbeispiel des CAD-Servers 60 als ein Beispiel des Clients 20 darstellt. Der CAD-Server 60 kann durch ein Computersystem realisiert werden, das durch Verwenden eines oder mehrerer Computer konfiguriert ist. Der CAD-Server 60 wird durch Installieren und Ausführen eines Programms auf einem Computer realisiert.
-
Der CAD-Server 60 enthält einen Prozessor 602, ein nicht-flüchtiges greifbares computerlesbares Medium 604, eine Kommunikationsschnittstelle 606, eine Eingabe-/Ausgabeschnittstelle 608, einen Bus 610, eine Eingabevorrichtung 614 und eine Anzeigevorrichtung 616. Die Hardwarekonfiguration des CAD-Servers 60 kann die gleiche wie die Hardwarekonfiguration des Integrationsservers 30 sein, die unter Bezugnahme auf 3 beschrieben wurde. Das heißt, die Hardwarekonfiguration von jeweils dem Prozessor 602, dem computerlesbaren Medium 604, der Kommunikationsschnittstelle 606, der Eingabe-/Ausgabeschnittstelle 608, dem Bus 610, der Eingabevorrichtung 614 und der Anzeigevorrichtung 616 in 4 ist die gleiche wie die Hardwarekonfiguration von jeweils dem Prozessor 302, dem computerlesbaren Medium 304, der Kommunikationsschnittstelle 306, der Eingabe-/Ausgabeschnittstelle 308, dem Bus 310, der Eingabevorrichtung 314 und der Anzeigevorrichtung 316 in 3.
-
Der CAD-Server 60 ist ein Beispiel einer „Informationsverarbeitungsvorrichtung“ gemäß der vorliegenden Offenbarung. Der Prozessor 602 ist ein Beispiel eines „zweiten Prozessors“ gemäß der vorliegenden Offenbarung. Das computerlesbare Medium 604 ist ein Beispiel eines „zweiten computerlesbaren Mediums“ gemäß der vorliegenden Offenbarung.
-
Der CAD-Server 60 ist via die Kommunikationsschnittstelle 606 oder die Eingabe-/Ausgabeschnittstelle 608 mit einer Lerndatenspeichereinheit 80 verbunden. Die Lerndatenspeichereinheit 80 ist so konfiguriert, dass sie einen Datenspeicher enthält, der Lerndaten speichert, die für maschinelles Lernen von dem CAD-Server 60 verwendet werden sollen. Die „Lerndaten“ sind Trainingsdaten, die für maschinelles Lernen verwendet werden, und sind synonym mit „Daten zum Lernen“ oder „Trainingsdaten“. Die in der Lerndatenspeichereinheit 80 gespeicherten Lerndaten sind die unter Bezugnahme auf 1 beschriebenen lokalen Daten LD. Die Lerndatenspeichereinheit 80 kann der unter Bezugnahme auf 2 beschriebene PACS-Server 58 sein. Die Lerndatenspeichereinheit 80 ist ein Beispiel einer „Datenspeichervorrichtung einer medizinischen Einrichtung“ gemäß der vorliegenden Offenbarung.
-
Hier wird ein Beispiel beschrieben, bei dem die Lerndatenspeichereinheit 80 und der CAD-Server 60, der Lernverarbeitung ausführt, als separate Vorrichtungen konfiguriert sind. Die Funktionen können jedoch von einem Computer realisiert werden, oder die Verarbeitungsfunktionen können von zwei oder mehr Computern geteilt und realisiert werden.
-
Das computerlesbare Medium 604 des in 4 dargestellten CAD-Servers 60 speichert verschiedene Programme, die ein lokales Lernverwaltungsprogramm 630 und ein Diagnoseunterstützungsprogramm 640 umfassen, und Daten. In einem Fall, in dem der Prozessor 602 einen Befehl des lokalen Lernverwaltungsprogramms 630 ausführt, fungiert der Computer als eine Synchronisationsverarbeitungseinheit 631, eine Lerndatenerfassungseinheit 632, ein lokales Modell LM, eine Fehlerberechnungseinheit 634, ein Optimierer 635, eine Lernergebnisspeichereinheit 636 und eine Übertragungsverarbeitungseinheit 637. Das lokale Lernverwaltungsprogramm 630 ist ein Beispiel eines „zweiten Programms“ gemäß der vorliegenden Offenbarung.
-
Die Synchronisationsverarbeitungseinheit 631 führt eine Kommunikation mit dem Integrationsserver 30 via die Kommunikationsschnittstelle 606 durch und synchronisiert das Mastermodell MM auf dem Integrationsserver 30 mit dem lokalen Modell LM auf dem CAD-Server 60.
-
Die Lerndatenerfassungseinheit 632 erfasst Lerndaten von der Lerndatenspeichereinheit 80. Die Lerndatenerfassungseinheit 632 kann so konfiguriert sein, dass sie ein Dateneingabeterminal zum Empfangen von Daten von einer externen Vorrichtung oder von einer anderen Signalverarbeitungseinheit in der Vorrichtung enthält. Ferner kann die Lerndatenerfassungseinheit 632 so konfiguriert sein, dass sie eine Kommunikationsschnittstelle 306, eine Eingabe-/Ausgabeschnittstelle 308, eine Medienschnittstelle zum Durchführen von Lesen und Schreiben auf einem tragbaren externen Speichermedium, wie beispielsweise einer Speicherkarte (nicht dargestellt), oder eine geeignete Kombination dieser Schnittstellen enthält.
-
Die via die Lerndatenerfassungseinheit 632 erfassten Lerndaten werden in das lokale Modell LM als ein Lernmodell eingegeben.
-
Die Fehlerberechnungseinheit 634 berechnet einen Fehler zwischen einem vorhergesagten Wert, der durch eine Punktzahl angegeben wird, die von dem lokalen Modell LM ausgegeben wurde, und den korrekten Antwortdaten. Die Fehlerberechnungseinheit 634 bewertet den Fehler unter Verwendung einer Verlustfunktion. Die Verlustfunktion kann beispielsweise eine Kreuzentropie oder ein mittlerer quadratischer Fehler sein.
-
Der Optimierer 635 führt Verarbeitung des Aktualisierens eines Gewichtsparameters des lokalen Modells LM aus dem Berechnungsergebnis der Fehlerberechnungseinheit 634 durch. Der Optimierer 635 führt Berechnungsverarbeitung des Erhaltens eines Aktualisierungsbetrags des Gewichtsparameters des lokalen Modells LM und Aktualisierungsverarbeitung des Gewichtsparameters des lokalen Modells LM gemäß dem berechneten Aktualisierungsbetrag des Gewichtsparameters durch Verwenden des von der Fehlerberechnungseinheit 634 erhaltenen Fehlerberechnungsergebnisses durch. Der Optimierer 635 aktualisiert den Gewichtsparameter auf der Grundlage eines Algorithmus, wie beispielsweise einem Verfahren inverser Fehlerfortpflanzung.
-
Der CAD-Server 60, in den das lokale Lernverwaltungsprogramm 630 integriert ist, fungiert als eine lokale Lernvorrichtung, die maschinelles Lernen auf dem CAD-Server 60 durch Verwenden der lokalen Daten LD als Lerndaten ausführt. Der CAD-Server 60 liest aus der Lerndatenspeichereinheit 80 die Lerndaten als die lokalen Daten LD und führt maschinelles Lernen aus. Der CAD-Server 60 kann die Lerndaten in Mini-Batch-Einheiten lesen, bei denen mehrere Stücke von Lerndaten gesammelt werden, und den Gewichtsparameter aktualisieren. Eine Verarbeitungseinheit, die die Lerndatenerfassungseinheit 632, das lokale Modell LM, die Fehlerberechnungseinheit 634 und den Optimierer 635 enthält, ist ein Beispiel einer „Lernverarbeitungseinheit“ gemäß der vorliegenden Offenbarung.
-
Das lokale Lernverwaltungsprogramm 630 wiederholt eine Iteration von Lernverarbeitung, bis eine Lern-Endbedingung erfüllt ist. Nachdem die Lern-Endbedingung erfüllt ist, wird der Gewichtsparameter des lokalen Modells LM als das Lernergebnis in der Lernergebnisspeichereinheit 636 gespeichert.
-
Die Übertragungsverarbeitungseinheit 637 führt Verarbeitung des Übertragens des Lernergebnisses an den Integrationsserver 30 durch. Der Gewichtsparameter des trainierten lokalen Modells LM, der in der Lernergebnisspeichereinheit 636 gespeichert ist, wird via die Kommunikationsschnittstelle 606 und die Weitverkehrskommunikationsleitung 70 an den Integrationsserver 30 übertragen (siehe 2). Die Übertragungsverarbeitungseinheit 637 und die Kommunikationsschnittstelle 606 sind Beispiele einer „Übertragungseinheit“ gemäß der vorliegenden Offenbarung.
-
Ferner fungiert der Computer in einem Fall, in dem der Prozessor 602 einen Befehl des Diagnoseunterstützungsprogramms 640 ausführt, als eine KI-CAD-Einheit 642.
-
Die KI-CAD-Einheit 642 gibt ein Inferenzergebnis für Eingabedaten durch Verwenden des Mastermodells MM oder des lokalen Modells LM als ein Inferenzmodell aus. Die Eingabedaten für die KI-CAD-Einheit 642 sind beispielsweise ein medizinisches Bild, wie beispielsweise ein zweidimensionales Bild, ein dreidimensionales Bild und ein Bewegtbild, und eine Ausgabe von der KI-CAD-Einheit 642 ist beispielsweise Informationen, die eine Position eines Läsionsabschnitts in dem Bild angeben, Informationen, die eine Klassenklassifizierung, wie beispielsweise einen Krankheitsnamen, angeben, oder eine Kombination davon.
-
«Erläuterung zu lokalem Lernverwaltungsprogramm 630»
-
Wie oben beschrieben, ist das lokale Lernverwaltungsprogramm 630 auf dem Client-Terminal (Client 20) installiert, das sich in dem Netzwerk 50 von medizinischer Einrichtung befindet. Hier kann das Client-Terminal beispielsweise der CAD-Server 60 in 2 sein. Das lokale Lernverwaltungsprogramm 630 weist eine Funktion des Synchronisierens des Mastermodells MM mit dem lokalen Modell LM vor Durchführen von Lernen, eine Funktion des Startens von lokalem Lernen, eine Funktion des Einstellens einer Endbedingung von lokalem Lernen und eine Funktion des Übertragens des Ergebnisses von lokalem Lernen an den Integrationsserver 30, wenn lokales Lernen beendet ist, auf.
-
5 ist ein Flussdiagramm, das ein Beispiel eines Arbeitsvorgangs des Client-Terminals auf der Grundlage des lokalen Lernverwaltungsprogramms 630 darstellt. Schritte in dem in 5 dargestellten Flussdiagramm werden von dem Prozessor 602 gemäß einem Befehl des lokalen Lernverwaltungsprogramms 630 ausgeführt.
-
In Schritt S21 synchronisiert der Prozessor 602 des CAD-Servers 60 zu einer Zeit, die durch das lokale Lernverwaltungsprogramm 630 eingestellt wird, das lokale Modell LM und das Mastermodell MM. Hier kann eine „eingestellte Zeit“ als ein fester Wert festgelegt werden, beispielsweise eine Zeit außerhalb Geschäftszeiten für Krankenhausuntersuchungen, oder kann programmatisch eingestellt werden, indem eine Aufzeichnung eines Betriebsstatus des CAD-Servers 60 gespeichert wird und eine Zeit, zu der der CAD-Server 60 normalerweise nicht verwendet wird, bestimmt wird.
-
Bei der Synchronisation des lokalen Modells LM und des Mastermodells MM kann beispielsweise eine Form verwendet werden, bei der eine Parameterdatei, die von dem Modell verwendet wird, aktualisiert wird und Lernen durch Lesen der Parameterdatei via das Programm durchgeführt wird, oder es kann eine Form verwendet werden, bei der der Integrationsserver 30 ein virtuelles Container-Image zentral verwaltet und das Terminal als der Client 20 das virtuelle Container-Image lädt. Durch die Synchronisationsverarbeitung ist das Mastermodell MM ein Lernmodell (lokales Modell LM) in einem Anfangszustand vor Starten von Lernen.
-
In Schritt S22 führt der Prozessor 602 lokales Lernen unter Verwendung der lokalen Daten LD aus. Die Lernverarbeitung des mit dem Mastermodell MM synchronisierten lokalen Modells LM wird durch das lokale Lernverwaltungsprogramm 630 gestartet, und lokales Lernen wird unter Bezugnahme auf die lokalen Daten LD in dem Netzwerk 50 von medizinischer Einrichtung durchgeführt.
-
In Schritt S23 bestimmt der Prozessor 602, ob die Lern-Endbedingung erfüllt ist oder nicht. Hier enthält die Lern-Endbedingung beispielsweise die folgenden Bedingungen.
-
[Beispiel 1] Die Anzahl an Iterationen wird im Voraus festgelegt, und Lernen wird nach der festgelegten Anzahl an Iterationen beendet.
-
[Beispiel 2] In einem Zustand, in dem die Überprüfungsdaten in dem Netzwerk 50 von medizinischer Einrichtung gespeichert sind, wird eine Inferenzgenauigkeit berechnet, indem Genauigkeitsvergleich zwischen einem durch Eingeben der Überprüfungsdaten in das trainierte Modell erhaltenen Inferenzergebnis und einer korrekten Antwort durchgeführt wird, und Lernen wird durchgeführt, bis Genauigkeitsverbesserung um den festgelegten Prozentsatz erzielt wird. Das heißt, die Inferenzgenauigkeit des Lernmodells wird unter Verwendung der Überprüfungsdaten berechnet, und Lernen wird in einem Fall beendet, in dem Genauigkeitsverbesserung um den festgelegten Prozentsatz erzielt wird.
-
[Beispiel 3] Ein Zeitlimit wird eingestellt, und Lernen wird innerhalb des Zeitlimits durchgeführt. In einem Fall, in dem das Zeitlimit erreicht ist, wird Lernen beendet.
-
Eine Endbedingung von einem beliebigen von [Beispiel 1] bis [Beispiel 3] kann definiert werden, oder ein logisches Produkt (UND) oder eine logische Summe (ODER) mehrerer Bedingungen kann als eine Endbedingung eingestellt werden.
-
In einem Fall, in dem ein Bestimmungsergebnis in Schritt S23 eine Nein-Bestimmung ist, kehrt der Prozessor 602 zu Schritt S22 zurück und fährt mit lokaler Lernverarbeitung fort. Andererseits geht der Prozessor 602 in einem Fall, in dem ein Bestimmungsergebnis in Schritt S23 eine Ja-Bestimmung ist, zu Schritt S24 über, und Lernen wird beendet.
-
Nachdem Lernen abgeschlossen ist, überträgt der Prozessor 602 in Schritt S25 das Lernergebnis an den Integrationsserver 30. Zum Beispiel speichert der Prozessor 602 das trainierte Modell in einem Dateiformat und überträgt das trainierte Modell via die Weitverkehrskommunikationsleitung 70 an den Integrationsserver 30.
-
Jeder der mehreren der CAD-Server 60, die in 2 dargestellt sind, führt maschinelles Lernen jedes lokalen Modells LM durch Verwenden von Daten, die auf dem PACS-Server 58 in verschiedenen Netzwerken von medizinischer Einrichtung gespeichert sind, als Lerndaten aus und überträgt ein Lernergebnis via die Weitverkehrskommunikationsleitung 70 an den Integrationsserver 30.
-
«Erläuterung zu Lernclient-Auswahlprogramm 38»
-
6 ist ein Flussdiagramm, das ein Beispiel eines Arbeitsvorgangs des Integrationsservers 30 auf der Grundlage des Lernclient-Auswahlprogramms 38 darstellt. Schritte in dem in 6 dargestellten Flussdiagramm werden von dem Prozessor 302 gemäß einem Befehl des Lernclient-Auswahlprogramms 38 ausgeführt.
-
In Schritt S31 empfängt der Prozessor 302 das Lernergebnis von jedem Client 20.
-
In Schritt S32 teilt der Prozessor 302 das von jedem Client 20 übertragene Lernergebnis in mehrere Client-Cluster auf. Zum Beispiel extrahiert der Prozessor 302 zufällig die Clients 20 aus der Population so, dass die Anzahl der Clients, die in jedem Client-Cluster enthalten sind, gleich ist, und gruppiert die mehreren Clients 20.
-
In Schritt S33 erzeugt der Prozessor 302 mehrere Mastermodell-Kandidaten MMC durch Integrieren der Lernergebnisse für jeden Client-Cluster. In einem Fall, in dem der Mastermodell-Kandidat MMC durch Integrieren der Lernergebnisse der Clientgruppe und Aktualisieren des Gewichtsparameters des Mastermodells erzeugt wird, kann als ein Integrationsverfahren ein allgemeiner föderaler Lernalgorithmus verwendet werden.
-
In einem Fall eines bestehenden föderalen Lernverfahrens werden mehrere Mastermodell-Kandidaten nicht erzeugt, und es existiert nur ein einziges Mastermodell. In diesem Fall wird das einzige Mastermodell aktualisiert, indem mehrere Lernergebnisse von lokalem Lernen integriert werden. In einem Fall des bestehenden Verfahrens ist es jedoch schwierig, einen Einfluss eines Clients auszuschließen, der eine Genauigkeitsverschlechterung verursacht, und es ist auch schwierig, einen Client als eine Genauigkeitsverschlechterungsursache zu spezifizieren.
-
Andererseits werden bei der vorliegenden Ausführungsform mehrere Mastermodell-Kandidaten MMC erzeugt, indem die von jedem Client 20 übertragenen Lernergebnisse in mehrere Clientgruppen (Client-Cluster) aufgeteilt werden und die Lernergebnisse für jeden Client-Cluster integriert werden.
-
Ferner speichert beim Erzeugen der mehreren Mastermodell-Kandidaten MMC der Prozessor 302 in der Datenspeichereinheit, wie beispielsweise der Datenbank 36, Informationen, die eine Korrespondenzbeziehung angeben, von welchem Client-Cluster jeder Mastermodell-Kandidat MMC erzeugt wird.
-
In Schritt S34 bewertet der Prozessor 302 die Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC via das Bewertungsprogramm 34. Das heißt, der Prozessor 302 veranlasst jeden Mastermodell-Kandidaten MMC, eine Inferenz durch Verwenden der auf dem Integrationsserver 30 vorhandenen Überprüfungsdaten TD als eine Eingabe durchzuführen, berechnet eine Inferenzgenauigkeit und speichert die Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC in der Datenbank 36. Ein Beispiel des Verarbeitens von Inhalten via das Bewertungsprogramm wird später unter Bezugnahme auf 7 beschrieben.
-
In Schritt S35 bestimmt der Prozessor 302, ob ein Mastermodell-Kandidat MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, existiert oder nicht. Der Prozessor 302 kann die Bestimmung in Schritt S35 auf der Grundlage darauf durchführen, ob eine Benachrichtigung zum Benachrichtigen der Existenz des Mastermodell-Kandidaten mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, von dem Bewertungsprogramm empfangen wird oder nicht.
-
In einem Fall, in dem ein Bestimmungsergebnis in Schritt S35 eine Nein-Bestimmung ist, das heißt in einem Fall, in dem ein Mastermodell-Kandidat MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, nicht existiert, ändert der Prozessor 302 nicht die Beziehung zwischen jedem Mastermodell-Kandidaten MMC und dem Client-Cluster und geht zu Schritt S39 über.
-
Andererseits geht in einem Fall, in dem ein Bestimmungsergebnis in Schritt S35 eine Ja-Bestimmung ist, das heißt in einem Fall, in dem ein Mastermodell-Kandidat MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, existiert, der Prozessor 302 zu Schritt S36 über.
-
In Schritt S36 extrahiert der Prozessor 302 den Client 20 als eine Genauigkeitsverschlechterungsursache des Mastermodell-Kandidaten MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist. Der Prozessor 302 durchsucht den Client-Cluster nach dem Mastermodell-Kandidaten MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, durch Verwenden der Informationen, die die Korrespondenzbeziehung zwischen dem Mastermodell-Kandidaten MMC und dem Client-Cluster angeben und in der Datenbank 36 durch die Verarbeitung von Schritt S33 gespeichert wurden, und extrahiert den Client als eine Genauigkeitsverschlechterungsursache.
-
Danach zeichnet der Prozessor 302 in Schritt S37 in der Datenbank 36 Informationen des Clients als eine Genauigkeitsverschlechterungsursache auf, der durch die Verarbeitung von Schritt S36 extrahiert wurde.
-
In Schritt S38 schließt der Prozessor 302 den Client als eine Genauigkeitsverschlechterungsursache, der durch die Verarbeitung von Schritt S36 extrahiert wurde, von nachfolgendem Lernen aus. Nach Schritt S38 geht der Prozessor 302 zu Schritt S39 über.
-
In Schritt S39 bestimmt der Prozessor 302, ob ein Modell mit einer Inferenzgenauigkeit, die höher als eine Inferenzgenauigkeit für Kommerzialisierung ist, erhalten wird oder nicht. In einem Fall, in dem ein Bestimmungsergebnis in Schritt S39 eine Nein-Bestimmung ist, kehrt der Prozessor 302 zu Schritt S33 zurück. Das heißt, der Prozessor 302 wiederholt Verarbeitung von Schritt S33 bis Schritt S39 bis ein Modell mit einer Inferenzgenauigkeit, die höher als eine Inferenzgenauigkeit für Kommerzialisierung ist, erhalten wird. In einem Fall, in dem ein Bestimmungsergebnis in Schritt S39 eine Ja-Bestimmung ist, wird das Flussdiagramm von 6 beendet.
-
«Erläuterung zu Bewertungsprogramm 34»
-
7 ist ein Flussdiagramm, das ein Beispiel eines Arbeitsvorgangs des Integrationsservers 30 auf der Grundlage des Bewertungsprogramms 34 darstellt. Das in 7 dargestellte Flussdiagramm wird auf Schritt S34 von 6 angewendet.
-
In Schritt S41 von 7 veranlasst der Prozessor 302 jeden Mastermodell-Kandidaten MMC, eine Inferenz durch Verwenden der Überprüfungsdaten TD als eine Eingabe auszuführen.
-
In Schritt S42 berechnet der Prozessor 302 eine Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC auf der Grundlage des Inferenzergebnisses und der korrekten Antwortdaten.
-
In Schritt S43 speichert der Prozessor 302 die Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC in der Datenbank 36.
-
In Schritt S44 vergleicht der Prozessor 302 die Inferenzgenauigkeit jedes Mastermodell-Kandidaten MMC mit dem Genauigkeitsschwellenwert. Hier kann der Genauigkeitsschwellenwert mit einem Momentanwert der Inferenzgenauigkeit des Mastermodell-Kandidaten verglichen werden. Bei dem Vergleich kann jedoch, während die Konfiguration des Client-Clusters, der für Erzeugung jedes Mastermodell-Kandidaten MMC verwendet wurde, beibehalten wird, eine Prozedur von Schritt S31 bis Schritt S43 für mehrere Iterationen durchgeführt werden, die Inferenzgenauigkeit zu diesem Zeitpunkt kann jedes Mal aufgezeichnet werden, und ein statistischer Wert, wie beispielsweise ein Durchschnittswert oder ein Medianwert der Inferenzgenauigkeit, kann mit dem Genauigkeitsschwellenwert verglichen werden.
-
In Schritt S45 bestimmt der Prozessor 302 auf der Grundlage des Vergleichsergebnisses in Schritt S44, ob ein Mastermodell-Kandidat MMC mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist, existiert oder nicht.
-
In einem Fall, in dem ein Bestimmungsergebnis in Schritt S45 eine Ja-Bestimmung ist, geht der Prozessor 302 zu Schritt S46 über. In Schritt S46 benachrichtigt der Prozessor 302 das Lernclient-Auswahlprogramm 38 über die Existenz des Mastermodell-Kandidaten mit einer Inferenzgenauigkeit, die niedriger als der Genauigkeitsschwellenwert ist. Hier kann als ein Benachrichtigungsverfahren eine Nachrichtenwarteschlange, eine allgemeine Interprozesskommunikation oder dergleichen verwendet werden.
-
Nach Schritt S46 oder in einem Fall, in dem ein Bestimmungsergebnis in Schritt S45 eine Nein-Bestimmung ist, beendet der Prozessor 302 das Flussdiagramm von 7 und kehrt zu dem Flussdiagramm von 6 zurück.
-
«Spezifisches Beispiel für Verarbeitung durch Integrationsserver 30»
-
Hier wird ein spezifischeres Beispiel für Verarbeitung durch den Integrationsserver 30 beschrieben. Die folgende Verarbeitung von [Prozedur 301] bis [Prozedur 311] wird durch den Integrationsserver 30 ausgeführt, der das Lernclient-Auswahlprogramm 38 und das Bewertungsprogramm 34 enthält.
-
[Prozedur 301] Das Lernclient-Auswahlprogramm 38 teilt die Lernclientgruppe client_id_array = [1, 2, 3, ..., N, N+1] in K Gruppen der Client-Cluster auf. Zum Beispiel erzeugt das Lernclient-Auswahlprogramm 38 client_cluster_1 = [1, 3, ..., 2N+1] und client_cluster_2 = [2, 4, ..., 2N].
-
[Prozedur 302] Das Lernclient-Auswahlprogramm 38 erzeugt K Mastermodell-Kandidaten MMC aus den Lernergebnissen der K Gruppen von client_cluster_*.„*‟ stellt einen Index des Client-Clusters dar.
-
[Prozedur 303] Danach wird jeder Mastermodell-Kandidat MMC veranlasst, eine Inferenz unter Verwendung der Überprüfungsdaten TD durchzuführen, und eine Rückmeldung über das erhaltene Inferenzergebnis von einem Bewerter wird gesammelt.
-
[Prozedur 304] Eine Rückmeldung über das Inferenzergebnis jedes Mastermodell-Kandidaten wird gesammelt. Infolgedessen wird beispielsweise in einem Fall, in dem ein Grad (Inferenzgenauigkeit) von client_cluster_X = [..., x, x+1, x+2, ...] niedriger als der Genauigkeitsschwellenwert ist, eine Warnung, die diese Tatsache angibt, von dem Bewertungsprogramm 34 an das Lernclient-Auswahlprogramm 38 übertragen.
-
[Prozedur 305] In einem Fall, in dem die Warnung empfangen wird, teilt das Lernclient-Auswahlprogramm 38 client_cluster_X in L Unter-Cluster client_cluster_X_1, client_cluster_X_2, ... und client cluster _X_L auf. L ist eine ganze Zahl, die gleich oder kleiner als die Anzahl der Clients Q in dem Client-Cluster ist.
-
Die Anzahl der Clients in jedem der Unter-Cluster client_cluster_X_1, client_cluster_X_2, ... und client cluster X_L kann gleich sein.
-
[Prozedur 306] Das Lernclient-Auswahlprogramm 38 stellt client_cluster_Ra durch Mischen von client_ cluster _X_1, ... und client cluster X _L in einen Teil des Client-Clusters client_cluster_R ein, der kein Problem mit der Inferenzgenauigkeit bei dem vorherigen Lernen aufweist. Zum Beispiel stellt das Lernclient-Auswahlprogramm 38 client_cluster_2a = client_cluster_2 + client_cluster_X_i durch Mischen des Unter-Clusters client_cluster_X_i in den Client-Cluster client_cluster_2 ein, der kein Problem mit der Inferenzgenauigkeit bei dem vorherigen Lernen aufweist. Hier stellt i eine ganze Zahl dar, die gleich oder größer als 1 und gleich oder kleiner als L ist.
-
[Prozedur 307] Für client_ cluster Ra wird wie bei Prozedur 301 bis Prozedur 303 ein Inferenzmodell (Mastermodell-Kandidat) erzeugt und eine Rückmeldung über die Inferenzgenauigkeit wird gesammelt.
-
[Prozedur 308] In einem Fall, in dem die Inferenzgenauigkeit des aus client_ cluster Ra erzeugten Modells aufgrund des Mischens von client_cluster_X_i niedriger als der Genauigkeitsschwellenwert ist, wird bestimmt, dass es eine hohe Wahrscheinlichkeit gibt, dass client cluster X_i den Client enthält, der ein Problem verursacht. In diesem Fall geht der Prozess zu der nächsten Prozedur 309 über, und die Clients werden eingegrenzt.
-
[Prozedur 309] client_cluster_X_i wird wieder in p Unter-Cluster aufgeteilt, und Prozedur 305 bis Prozedur 308 werden wiederholt.
-
[Prozedur 310] Auf diese Weise wird in einem Fall, in dem die Anzahl der Clients in dem client cluster, der ein Problem aufweist, ausreichend reduziert wird, der Client-Cluster client_cluster_low_prec_array als die Genauigkeitsverschlechterungsursache eingestellt. Bei nachfolgendem Lernen werden die Clients in client_cluster_low_prec_array nicht verwendet.
-
Die Anzahl der Clients in client_cluster_low_prec_array kann gleich oder größer als 1 sein. Ein Client außer dem Client als die Genauigkeitsverschlechterungsursache kann in client_cluster_low_prec_array enthalten sein.
-
[Prozedur 311] Als ein für ein Produkt zu verwendendes Mastermodell wird zum Beispiel aus den Mastermodell-Kandidaten, die nach dem Prozess verbleiben, das heißt aus den Mastermodell-Kandidaten, die kein Problem mit Genauigkeit aufweisen, das Mastermodell mit einer höchsten Inferenzgenauigkeit ausgewählt und verwendet.
-
Auf diese Weise ist das neue Mastermodell, das durch Durchführen des Verfahrens für maschinelles Lernen unter Verwendung des Systems 10 für maschinelles Lernen gemäß der vorliegenden Ausführungsform erzeugt wird, ein Mastermodell mit einer verbesserten Inferenzgenauigkeit im Vergleich zu dem Mastermodell vor Durchführen von Lernen.
-
Gemäß der vorliegenden Ausführungsform ist es möglich, eine Inferenzleistung des Mastermodells MM zu aktualisieren. In einem Fall, in dem das neue Mastermodell, das durch Durchführen des Verfahrens für maschinelles Lernen gemäß der vorliegenden Ausführungsform erzeugt wurde, durch Verkauf oder dergleichen bereitgestellt wird, sind vorzugsweise die Anzahl der zum Lernen verwendeten Clients, die Anzahl an Stücken von Überprüfungsdaten, die für Überprüfung der Genauigkeit verwendet wurden, und dergleichen in einem beigefügten Dokument beschrieben, das bei Verkauf bereitgestellt wird. Für die Anzahl der zum Lernen verwendeten Clients wird als ein Clientprofil, wie beispielsweise „hospital_how many cases“, „bed clinic _how many cases“ und „bedless clinic _how many cases“, vorzugsweise eine Klassifizierung der Clients angezeigt.
-
Als eine Vorprozedur in einem Fall, in dem eine Version des Mastermodells als ein aktuelles Produkt aktualisiert wird, werden Informationen, die die Inferenzgenauigkeit bei der vorherigen Version und die Inferenzgenauigkeit bei der neuen Version angeben, und Informationen, die die Anzahl der für zusätzliches Lernen verwendeten Clients und die Klassifizierung der Clients angeben, einer medizinischen Einrichtung vorgelegt, und eine Genehmigung wird von der medizinischen Einrichtung empfangen, bevor die Version aktualisiert wird. Nachdem eine Genehmigung erhalten wurde, wird die Version aktualisiert.
-
«Beispiel für Hardwarekonfiguration von Computer»
-
8 ist ein Blockdiagramm, das ein Beispiel einer Hardwarekonfiguration eines Computers darstellt. Ein Computer 800 kann ein Personal Computer, eine Workstation oder ein Servercomputer sein. Der Computer 800 kann als ein Teil oder die Gesamtheit des Clients 20, des Integrationsservers 30, des PACS-Servers 58, des CAD-Servers 60 und des Terminals 62, die oben beschrieben sind, verwendet werden oder kann als eine Vorrichtung mit mehreren Funktionen davon verwendet werden.
-
Der Computer 800 enthält eine CPU 802, einen Arbeitsspeicher (random access memory, RAM) 804, einen Festspeicher (read-only memory, ROM) 806, eine GPU 808, einen Datenspeicher 810, eine Kommunikationseinheit 812, eine Eingabevorrichtung 814, eine Anzeigevorrichtung 816 und einen Bus 818. Die GPU 808 kann nach Bedarf vorgesehen sein.
-
Die CPU 802 liest verschiedene Programme aus, die in dem ROM 806, dem Datenspeicher 810 oder dergleichen gespeichert sind, und führt verschiedene Verarbeitungen aus. Der RAM 804 wird als ein Arbeitsbereich der CPU 802 verwendet. Ferner wird der RAM 804 als eine Speichereinheit zum vorübergehenden Speichern des gelesenen Programms und verschiedener Daten verwendet.
-
Der Datenspeicher 810 enthält beispielsweise eine Festplattenvorrichtung, eine optische Platte, eine magnetooptische Platte, einen Halbleiterspeicher oder eine Speichervorrichtung, die durch Verwenden einer geeigneten Kombination davon konfiguriert ist. Der Datenspeicher 810 speichert verschiedene Programme, Daten und dergleichen, die für Inferenzverarbeitung und/oder Lernverarbeitung erforderlich sind. Das in dem Datenspeicher 810 gespeicherte Programm wird in den RAM 804 geladen, und die CPU 802 führt das Programm aus. Somit fungiert der Computer 800 als Mittel zum Durchführen verschiedener Verarbeitungen, die durch das Programm definiert sind.
-
Die Kommunikationseinheit 812 ist eine Schnittstelle, die Kommunikationsverarbeitung mit einer externen Vorrichtung auf drahtgebundene oder drahtlose Weise durchführt und Informationen mit der externen Vorrichtung austauscht. Die Kommunikationseinheit 812 kann eine Rolle einer Informationserfassungseinheit spielen, die eine Eingabe, wie beispielsweise ein Bild, empfängt.
-
Die Eingabevorrichtung 814 ist eine Eingabeschnittstelle, die verschiedene Bedienungseingaben an den Computer 800 empfängt. Die Eingabevorrichtung 814 ist beispielsweise mit einer Tastatur, einer Maus, einem Touch-Panel, einer anderen Zeigevorrichtung, einer Spracheingabevorrichtung oder einer geeigneten Kombination davon konfiguriert.
-
Die Anzeigevorrichtung 816 ist eine Ausgabeschnittstelle zum Anzeigen verschiedener Informationen. Die Anzeigevorrichtung 816 ist beispielsweise mit einer Flüssigkristallanzeige, einer organischen Elektrolumineszenz (OEL) -Anzeige, einem Projektor oder einer geeigneten Kombination davon konfiguriert.
-
«Programm zum Bedienen von Computer»
-
Ein Programm, das einen Computer veranlasst, einen Teil oder die Gesamtheit von mindestens einer Verarbeitungsfunktion unter verschiedenen Verarbeitungsfunktionen, die bei der Ausführungsform beschrieben sind, zu realisieren, kann auf einem computerlesbaren Medium als ein nicht-flüchtiges greifbares Informationsspeichermedium, wie beispielsweise eine optische Platte, eine Magnetplatte oder ein Halbleiterspeicher, aufgezeichnet werden, und das Programm kann via das Informationsspeichermedium bereitgestellt werden, wobei die verschiedenen Verarbeitungsfunktionen eine lokale Lernfunktion jedes Clients 20, eine Lernclient-Auswahlfunktion, einschließlich einer Mastermodell-Kandidaten-Erzeugungsfunktion und einer Inferenzgenauigkeits-Bewertungsfunktion des Integrationsservers 30, und dergleichen umfassen.
-
Ferner kann ein Programmsignal anstelle der Form, bei der das Programm bereitgestellt wird, indem es auf einem nicht-flüchtigen greifbaren computerlesbaren Medium gespeichert wird, als ein Downloaddienst unter Verwendung einer Telekommunikationsleitung, wie beispielsweise des Internets, bereitgestellt werden.
-
Ferner kann ein Teil oder die Gesamtheit von mindestens einer Verarbeitungsfunktion unter mehreren Verarbeitungsfunktionen, einschließlich der lokalen Lernfunktion, der Lernclient-Auswahlfunktion und der Inferenzgenauigkeits-Bewertungsfunktion, die bei der Ausführungsform beschrieben sind, als ein Anwendungsserver bereitgestellt werden, und ein Dienst zum Bereitstellen der Verarbeitungsfunktion via eine Telekommunikationsleitung kann durchgeführt werden.
-
«Hardwarekonfiguration jeder Verarbeitungseinheit»
-
Als eine Hardwarestruktur der Verarbeitungseinheit, die verschiedene Verarbeitungen ausführt, wie beispielsweise der Mastermodell-Speichereinheit 320, der Überprüfungsdaten-Speichereinheit 322, der Client-Cluster-Extraktionseinheit 332, der Mastermodell-Kandidaten-Erzeugungseinheit 334, der Genauigkeitsverschlechterungsursachen-Extraktionseinheit 336, der Ausschlussverarbeitungseinheit 338, der Inferenzeinheit 342, der Inferenzgenauigkeit-Berechnungseinheit 344, der Genauigkeitsschwellenwert-Vergleichseinheit 346, der Anzeigesteuereinheit 350, die in 3 dargestellt sind, der Synchronisationsverarbeitungseinheit 631, der Lerndatenerfassungseinheit 632, des lokalen Modells LM, der Fehlerberechnungseinheit 634, des Optimierers 635, der Lernergebnisspeichereinheit 636, der Übertragungsverarbeitungseinheit 637, der KI-CAD-Einheit 642 und der Anzeigesteuereinheit 650, die in 4 dargestellt sind, können beispielsweise die folgenden verschiedenen Prozessoren verwendet werden.
-
Die verschiedenen Prozessoren enthalten eine CPU, die ein Allzweckprozessor ist, der durch Ausführen eines Programms als verschiedene Verarbeitungseinheiten fungiert, eine GPU, die ein auf Bildverarbeitung spezialisierter Prozessor ist, eine programmierbare logische Schaltung (programmable logic device, PLD), wie beispielsweise ein Field Programmable Gate Array (FPGA), die ein Prozessor ist, der in der Lage ist, eine Schaltungskonfiguration nach Herstellung zu ändern, eine dedizierte elektrische Schaltung, wie beispielsweise eine anwendungsspezifische integrierte Schaltung (application-specific integrated circuit, ASIC), die ein Prozessor mit einer Schaltungskonfiguration ist, die speziell zum Ausführen spezifischer Verarbeitung ausgelegt ist, und dergleichen.
-
Eine Verarbeitungseinheit kann durch einen dieser verschiedenen Prozessoren konfiguriert werden oder kann durch zwei oder mehr Prozessoren mit dem gleichen Typ oder verschiedenen Typen konfiguriert werden. Beispielsweise kann eine Verarbeitungseinheit durch mehrere FPGAs, eine Kombination aus einer CPU und einem FPGA oder eine Kombination aus einer CPU und einer GPU konfiguriert werden. Ferner können die mehreren Verarbeitungseinheiten durch einen Prozessor konfiguriert werden. Als ein Beispiel, bei dem die mehreren Verarbeitungseinheiten durch einen Prozessor konfiguriert sind, kann erstens eine Form, bei der ein Prozessor durch eine Kombination aus einer oder mehreren CPUs und Software konfiguriert ist und der Prozessor als die mehreren Verarbeitungseinheiten fungiert, wie zum Beispiel durch einen Computer, wie beispielsweise einen Client und einen Server, dargestellt, eingesetzt werden. Zweitens kann, wie durch ein System on Chip (SoC) oder dergleichen dargestellt, eine Form, bei der ein Prozessor, der die Funktion des gesamten Systems einschließlich der mehreren Verarbeitungseinheiten durch einen integrierten Schaltungs (integrated circuit, IC) -Chip realisiert, verwendet wird, eingesetzt werden. Wie oben beschrieben, werden die verschiedenen Verarbeitungseinheiten konfiguriert, indem ein oder mehrere verschiedene Prozessoren als eine Hardwarestruktur verwendet werden.
-
Ferner kann als die Hardwarestruktur der verschiedenen Prozessoren, genauer gesagt, eine elektrische Schaltung (Schaltkreis), bei der Schaltungselemente wie Halbleiterelemente kombiniert sind, verwendet werden.
-
«Vorteile gemäß vorliegender Ausführungsform»
-
Gemäß dem System 10 für maschinelles Lernen gemäß der Ausführungsform der vorliegenden Erfindung werden die folgenden Vorteile erzielt.
-
[1] Lernen kann durchgeführt werden, ohne dass persönliche Informationen, wie beispielsweise ein Diagnosebild, das Berücksichtigung von Privatsphäre von einer medizinische Einrichtung erfordert, extrahiert werden.
-
[2] Der Client, der zum Lernen nicht geeignet ist und der eine Genauigkeitsverschlechterungsursache ist, kann aus den mehreren Clients 20 extrahiert werden, und somit kann der Client mit einem Problem aus der Lernclientgruppe ausgeschlossen werden.
-
[3] Es ist möglich, die Lerngenauigkeit bei föderalem Lernen zu gewährleisten, und es ist möglich, eine Genauigkeitsabnahme des Mastermodells zu verhindern, die durch einige Clients mit einem Problem verursacht wird.
-
[4] Es ist möglich, ein KI-Modell mit einer hohen Inferenzgenauigkeit zu erzeugen.
-
«Modifikationsbeispiel 1»
-
Bei der Ausführungsform wurde das KI-Modell für medizinische Bilddiagnose als ein Beispiel beschrieben. Der Anwendungsbereich der Technik der vorliegenden Offenbarung ist jedoch nicht auf dieses Beispiel beschränkt. Zum Beispiel kann die vorliegende Offenbarung selbst in einem Fall angewendet werden, in dem Lernen an einem KI-Modell unter Verwendung von Zeitreihendaten als Eingabedaten oder an einem KI-Modell unter Verwendung von Dokumentdaten als Eingabedaten durchgeführt wird. Die Zeitreihendaten können beispielsweise Elektrokardiogramm-Wellenformdaten sein. Die Dokumentdaten können beispielsweise ein Diagnosebericht sein, und die vorliegende Offenbarung kann auf Trainieren eines KI-Modells zum Unterstützen von Erzeugung eines Berichts angewendet werden.
-
«Modifikationsbeispiel 2»
-
Zusätzlich zu oder anstelle von Maßnahmen zum Ausschließen des Clients als die Genauigkeitsverschlechterungsursache von nachfolgendem Lernen kann der Integrationsserver 30 den Client als die Genauigkeitsverschlechterungsursache über eine Tatsache benachrichtigen, dass ein Problem vorliegt.
-
«Sonstiges»
-
Die bei der Konfiguration beschriebenen Angelegenheiten und das bei der Ausführungsform beschriebene Modifikationsbeispiel können in geeigneter Weise in Kombination verwendet werden, und einige Angelegenheiten können ersetzt werden. Die vorliegende Erfindung ist nicht auf die oben beschriebene Ausführungsform beschränkt, und es können verschiedene Modifikationen vorgenommen werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen.
-
Bezugszeichenliste
-
- 10
- System für maschinelles Lernen
- 20
- Client
- 30
- Integrationsserver
- 34
- Bewertungsprogramm
- 36
- Datenbank
- 38
- Lernclient-Auswahlprogramm
- 50
- Netzwerk von medizinischer Einrichtung
- 52
- CT-Vorrichtung
- 54
- MRT-Vorrichtung
- 56
- CR-Vorrichtung
- 58
- PACS-Server
- 60
- CAD-Server
- 62
- Terminal
- 64
- interne Kommunikationsleitung
- 70
- Weitverkehrskommunikationsleitung
- 80
- Lerndatenspeichereinheit
- 302
- Prozessor
- 304
- computerlesbares Medium
- 306
- Kommunikationsschnittstelle
- 308
- Eingabe-/Ausgabeschnittstelle
- 310
- Bus
- 314
- Eingabevorrichtung
- 316
- Anzeigevorrichtung
- 320
- Mastermodell-Speichereinheit
- 322
- Überprüfungsdaten-Speichereinheit
- 324
- Synchronisationsprogramm
- 332
- Client-Cluster-Extraktionseinheit
- 334
- Mastermodell-Kandidaten-Erzeugungseinheit
- 336
- Genauigkeitsverschlechterungsursachen-Extraktionseinheit
- 338
- Ausschlussverarbeitungseinheit
- 342
- Inferenzeinheit
- 344
- Inferenzgenauigkeit-Berechnungseinheit
- 346
- Genauigkeitsschwellenwert-Vergleichseinheit
- 350
- Anzeigesteuereinheit
- 602
- Prozessor
- 604
- computerlesbares Medium
- 606
- Kommunikationsschnittstelle
- 608
- Eingabe-/Ausgabeschnittstelle
- 610
- Bus
- 614
- Eingabevorrichtung
- 616
- Anzeigevorrichtung
- 630
- lokales Lernverwaltungsprogramm
- 631
- Synchronisationsverarbeitungseinheit
- 632
- Lerndatenerfassungseinheit
- 634
- Fehlerberechnungseinheit
- 635
- Optimierer
- 636
- Lernergebnisspeichereinheit
- 637
- Übertragungsverarbeitungseinheit
- 640
- Diagnoseunterstützungsprogramm
- 642
- KI-CAD-Einheit
- 650
- Anzeigesteuereinheit
- 800
- Computer
- 802
- CPU
- 804
- RAM
- 806
- ROM
- 808
- GPU
- 810
- Datenspeicher
- 812
- Kommunikationseinheit
- 814
- Eingabevorrichtung
- 816
- Anzeigevorrichtung
- 818
- Bus
- DM
- Teufelsmarkierung
- LD
- lokale Daten
- LM
- lokales Modell
- MM
- Mastermodell
- MMC
- Mastermodell-Kandidat
- MMC1
- Mastermodell-Kandidat
- MMCK
- Mastermodell-Kandidat
- TD
- Überprüfungsdaten
- S21 bis S25
- Schritte von lokaler Lernverwaltungsverarbeitung
- S31 bis S39
- Schritte von Lernclient-Auswahlverarbeitung
- S41 bis S46
- Schritte von Inferenzgenauigkeits-Bewertungsverarbeitung