WO2021059607A1 - 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 - Google Patents

機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 Download PDF

Info

Publication number
WO2021059607A1
WO2021059607A1 PCT/JP2020/022609 JP2020022609W WO2021059607A1 WO 2021059607 A1 WO2021059607 A1 WO 2021059607A1 JP 2020022609 W JP2020022609 W JP 2020022609W WO 2021059607 A1 WO2021059607 A1 WO 2021059607A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
client
accuracy
master model
model
Prior art date
Application number
PCT/JP2020/022609
Other languages
English (en)
French (fr)
Inventor
大暉 上原
Original Assignee
富士フイルム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士フイルム株式会社 filed Critical 富士フイルム株式会社
Priority to JP2021548338A priority Critical patent/JP7374202B2/ja
Priority to DE112020003387.2T priority patent/DE112020003387T5/de
Publication of WO2021059607A1 publication Critical patent/WO2021059607A1/ja
Priority to US17/673,764 priority patent/US20220172844A1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H15/00ICT specially adapted for medical reports, e.g. generation or transmission thereof
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Definitions

  • the present invention relates to a machine learning system and method, an integrated server, an information processing device, a program, and a method of creating an inference model, and particularly relates to a machine learning technique that utilizes a federated learning mechanism.
  • Non-Patent Document 1 learning is performed on terminals in which data to be trained exists, and a network model that is a learning result on each terminal from those terminal groups. Send only the weight parameter of to the integration server. That is, in federated learning, only the learning result data on each terminal is provided from the terminal side to the integrated server side without providing the learning data to the integrated server side.
  • federated learning is a technology that has been attracting attention in recent years as it is possible to learn without taking out the data itself that requires consideration for privacy.
  • Non-Patent Document 2 reports the results of an example of applying federated learning to the development of medical AI.
  • Non-Patent Document 3 when a part of the clients participating in the learning of federated learning mixes invalid data into the learning, the algorithm of federated learning mixes the invalid data into the learning. It is pointed out that there is no effective way to prevent the deterioration of the accuracy of the master model due to the fact that it was made to do so. For example, if some of the clients participating in the learning intentionally input data that misleads the image content and perform the learning, the master model will make a misjudgment regarding a specific image. It is said that there is currently no way to effectively prevent such problems algorithmically.
  • the learning accuracy of the existing federated learning mechanism alone is such that an unspecified number of medical institutions participate in learning. In order to ensure that, it is necessary for each medical institution to conduct learning using the data prepared for learning.
  • One of the tasks to ensure the accuracy of learning is to have a client who has a problem that is unsuitable for learning, which is a factor of deterioration of accuracy, and a client who has no other problem from the client group involved in learning. Is to sort out. In addition, one of the other tasks is to suppress the influence on learning of clients who are unsuitable for learning.
  • the present invention has been made in view of such circumstances, solves at least one of the above-mentioned problems, and learns an AI model without taking out personal information such as diagnostic images that requires consideration for privacy from the medical institution side.
  • Machine learning systems and methods, integrated servers, information processing devices, and programs that can suppress the deterioration of master model accuracy caused by some clients when implementing a federated learning mechanism to perform It also aims to provide a method for creating inference models.
  • the machine learning system is a machine learning system including a plurality of client terminals and an integrated server, and each of the plurality of client terminals is stored in a data storage device of a medical institution.
  • the integrated server includes a learning processing unit that executes machine learning of the training model using the existing data as training data and a transmission unit that transmits the learning result of the learning model to the integrated server.
  • a synchronization processing unit that synchronizes the learning model and the master model on each client terminal side before training each learning model on a plurality of client terminals, and a receiving unit that receives each learning result from a plurality of client terminals.
  • a client cluster creation unit that creates multiple client clusters by dividing multiple client terminals into multiple groups, and a master model candidate creation unit that integrates the learning results of each client cluster to create master model candidates for each client cluster.
  • the accuracy evaluation unit that detects the master model candidate whose inference accuracy is below the accuracy threshold by evaluating the inference accuracy of each master model candidate created for each client cluster, and the inference accuracy is below the accuracy threshold. It is a machine learning system equipped with an accuracy deterioration factor extraction unit that extracts client terminals that are accuracy deterioration factors from the client clusters used to create master model candidates.
  • a plurality of client terminals participating in learning are divided into a plurality of client clusters, and a plurality of master model candidates are created by integrating the learning results for each client cluster.
  • the low-precision master model candidate whose inference accuracy is below the accuracy threshold and the client cluster (low) used to create the low-precision master model candidate.
  • Precision client cluster is identified. It is considered that the low-precision client cluster includes at least one client terminal that is a factor of deterioration of accuracy.
  • the accuracy deterioration factor extraction unit narrows down the client terminals that are the accuracy deterioration factors from the low precision client cluster, and extracts the client terminals that are the accuracy deterioration factors.
  • the accuracy deterioration factor extraction unit may extract only the client terminals that are actually the accuracy deterioration factors, or may extract the combination of client terminals suspected as the accuracy deterioration factors. That is, a part of the client terminals extracted by the accuracy deterioration factor extraction unit may include a client terminal that does not actually correspond to the accuracy deterioration factor.
  • the client terminal that is unsuitable for learning and has a factor of deterioration in accuracy from a plurality of client terminals that participate in learning.
  • the extracted client terminal of the accuracy deterioration factor can be excluded from the subsequent learning, or the accuracy deterioration factor can be excluded.
  • the contribution rate of the learning result obtained from the client terminal is relatively small, and the client terminal that is the cause of the deterioration of accuracy is notified to investigate the cause and improve it. It becomes possible to take various measures.
  • it is possible to guarantee the learning accuracy based on the information of the client terminal which is the cause of the deterioration of accuracy, and it is possible to suppress the deterioration of the accuracy of the master model caused by some clients.
  • the “plurality of client terminals” may be an unspecified number of client terminals.
  • the client terminal may be configured to include a “medical institution data storage device", or the “medical institution data storage device” and the “client terminal” may be separate devices.
  • the integrated server is configured to further include an exclusion processing unit that excludes the client terminal of the accuracy deterioration factor extracted by the accuracy deterioration factor extraction unit from the subsequent learning. Can be done.
  • the integrated server can be further provided with an information storage unit that stores information on the client terminal of the accuracy deterioration factor extracted by the accuracy deterioration factor extraction unit.
  • each of the plurality of client terminals may be a terminal installed in a medical institution network of a different medical institution.
  • the integrated server may be configured to be installed in the medical institution network or outside the medical institution network.
  • the learning result transmitted from the client terminal to the integrated server can be configured to include the weight parameter of the learning model after learning.
  • the data used as the training data includes at least one kind of data among two-dimensional image, three-dimensional image, moving image, time series data and document data. It can be configured.
  • each model of the learning model, the master model, and the master model candidate may be configured by using a neural network.
  • An appropriate network model is applied according to the type of training data and data input during inference.
  • the data used as the training data includes a two-dimensional image, a three-dimensional image or a moving image, and each model of the learning model, the master model, and the master model candidate is. It may be configured using a convolutional neural network.
  • the data used as the training data includes time series data or document data
  • each model of the learning model, the master model, and the master model candidate is a recurrent neural network. May be configured using.
  • the number of client terminals constituting each of the plurality of client clusters may be the same, and the client terminals constituting each client cluster may be non-overlapping. it can.
  • the integrated server provides information indicating the correspondence relationship of which client cluster among the plurality of client clusters each of the plurality of master model candidates is created.
  • the configuration may further include an association information storage unit for storage.
  • the accuracy evaluation unit is based on the comparison between the instantaneous value of each inference accuracy of the master model candidate and the accuracy threshold value, or each learning iteration of the master model candidate. Based on the comparison between the statistical value of the inference accuracy and the accuracy threshold value in the above, it is possible to determine whether or not the inference accuracy of the master model candidate is lower than the accuracy threshold value.
  • the "statistical value” is a statistic calculated by using a statistical algorithm, and may be a representative value such as an average value or a median value.
  • the accuracy evaluation unit When the accuracy evaluation unit detects a master model candidate with an inference accuracy lower than the accuracy threshold value, the accuracy evaluation unit can be configured to notify the accuracy deterioration factor extraction unit of the information of the master model candidate related to the detection.
  • the integrated server is configured to further include a display device that displays the inference accuracy in each learning iteration of each master model candidate created for each client cluster. Can be done.
  • the machine learning system further includes a verification data storage unit in which verification data is stored, and the accuracy evaluation unit evaluates the inference accuracy of the master model candidate using the verification data. It can be configured to be.
  • the verification data storage unit may be included in the integrated server, or may be an external storage device connected to the integrated server.
  • the machine learning method is a machine learning method using a plurality of client terminals and an integrated server, and each client terminal is used before each of the plurality of client terminals learns a learning model. Synchronize the learning model on the side with the trained master model stored in the integrated server, and each of the multiple client terminals can transfer the data stored in their respective data storage devices of different medical institutions. Performing machine learning of the learning model using the training data, each of the multiple client terminals sending the learning result of the learning model to the integrated server, and the integrated server learning from each of the multiple client terminals. Receiving the results, dividing multiple client terminals into multiple groups to create multiple client clusters, and integrating the learning results for each client cluster to create master model candidates for each client cluster.
  • the integrated server is an integrated server connected to a plurality of client terminals via a communication line, and includes a master model storage unit that stores a learned master model and a plurality of clients. Before letting the terminals learn each learning model, a synchronization processing unit that synchronizes the learning model and the master model on each client terminal side, a receiving unit that receives each learning result from a plurality of client terminals, and a plurality of clients.
  • a client cluster creation unit that divides terminals into multiple groups and creates multiple client clusters, a master model candidate creation unit that integrates learning results for each client cluster and creates master model candidates for each client cluster, and a client cluster.
  • An accuracy evaluation unit that detects master model candidates whose inference accuracy is below the accuracy threshold by evaluating the inference accuracy of each of the master model candidates created for each, and a master model whose inference accuracy is below the accuracy threshold. It is an integrated server equipped with an accuracy deterioration factor extraction unit that extracts client terminals that are accuracy deterioration factors from the client cluster used for creating candidates.
  • the integrated server is an integrated server connected to a plurality of client terminals via a communication line, in which a first processor and a first program executed by the first processor are used.
  • a first computer-readable medium which is a recorded non-temporary tangible object, is included, and the first processor stores the trained master model on the first computer-readable medium according to the instructions of the first program.
  • the first processor Before training each learning model on multiple client terminals, synchronize the learning model on each client terminal side with the master model, and receive each learning result from multiple client terminals.
  • To create multiple client clusters by dividing multiple client terminals into multiple groups to integrate the learning results of each client cluster to create master model candidates for each client cluster, and to create master model candidates for each client cluster.
  • the information processing device is an information processing device used as one of a plurality of client terminals connected to the integrated server according to one aspect of the present disclosure via a communication line, and is an integrated server.
  • the learning model synchronized with the master model stored in is used as the learning model in the initial state before the start of learning, and the data stored in the data storage device of the medical institution is used as the learning data to perform machine learning of the learning model.
  • the information processing device is an information processing device used as one of a plurality of client terminals connected to the integrated server according to one aspect of the present disclosure via a communication line, and is a second.
  • Processor and a second computer-readable medium which is a non-temporary tangible object in which a second program executed by the second processor is recorded, the second processor is an instruction of the second program.
  • the learning model synchronized with the master model stored in the integrated server is used as the training model in the initial state before the start of learning, and the data stored in the data storage device of the medical institution is used as the training data.
  • the program according to another aspect of the present disclosure is a program for operating a computer as one of a plurality of client terminals connected to the integrated server according to one aspect of the present disclosure via a communication line, and is a program for operating the computer.
  • the learning model synchronized with the master model stored in is used as the learning model in the initial state before the start of learning, and the data stored in the data storage device of the medical institution is used as the training data to perform machine learning of the learning model. It is a program to realize the function to execute and the function to send the learning result of the learning model to the integrated server on the computer.
  • the program according to another aspect of the present disclosure is a program for operating a computer as an integrated server connected to a plurality of client terminals via a communication line, and stores a learned master model in the computer.
  • the method of creating an inference model is a method of creating an inference model by performing machine learning using a plurality of client terminals and an integrated server, and is a method of creating an inference model of a plurality of client terminals. Synchronize the learning model on each client terminal side with the trained master model stored in the integrated server before training each learning model, and each of the multiple client terminals is a different medical institution. The data stored in each of the data storage devices of the above is used as the training data to execute machine learning of the learning model, and each of the plurality of client terminals sends the learning result of the learning model to the integrated server.
  • the integrated server receives each learning result from multiple client terminals, divides multiple client terminals into multiple groups to create multiple client clusters, and integrates the learning results for each client cluster.
  • the master model candidates whose inference accuracy is below the accuracy threshold are detected. That, the client terminal that is the cause of accuracy deterioration is extracted from the client cluster used to create the master model candidate whose inference accuracy is below the accuracy threshold, and the master whose inference accuracy is above the accuracy threshold. It is a method of creating an inference model including creating an inference model having higher inference accuracy than a master model based on a model candidate.
  • the method of creating an inference model is understood as an invention of a method of manufacturing an inference model.
  • the term "inference” includes the concepts of prediction, estimation, classification, and discrimination.
  • the inference model may be paraphrased as an "AI model”.
  • the present invention it is possible to extract a client terminal having a factor of deterioration in accuracy that is unsuitable for learning from a plurality of client terminals. This makes it possible to suppress a decrease in accuracy of the master model caused by some inappropriate client terminals.
  • FIG. 1 is a conceptual diagram showing an outline of a machine learning system according to an embodiment of the present invention.
  • FIG. 2 is a diagram schematically showing a system configuration example of the machine learning system according to the embodiment of the present invention.
  • FIG. 3 is a block diagram showing a configuration example of the integrated server.
  • FIG. 4 is a block diagram showing a configuration example of a CAD (Computer Aided Detection / Diagnosis) server which is an example of a client.
  • FIG. 5 is a flowchart showing an example of the operation of the client terminal based on the local learning management program.
  • FIG. 6 is a flowchart showing an example of the operation of the integrated server based on the learning client selection program.
  • FIG. 7 is a flowchart showing an example of the operation of the integrated server based on the evaluation program.
  • FIG. 8 is a block diagram showing an example of a computer hardware configuration.
  • FIG. 1 is a conceptual diagram showing an outline of a machine learning system according to an embodiment of the present invention.
  • the machine learning system 10 is a computer system that performs machine learning by utilizing a federated learning mechanism.
  • the machine learning system 10 includes a plurality of clients 20 and an integrated server 30. Federationed learning is sometimes referred to as "federation learning,””cooperativelearning,” or "associative learning.”
  • Each of the plurality of clients 20 shown in FIG. 1 indicates a terminal in a medical institution installed on a network in a medical institution such as a hospital.
  • the "terminal” refers to a computational resource existing in a network that can safely access data in a medical institution, and the terminal does not have to physically exist in the medical institution.
  • the client 20 is an example of the "client terminal” in the present disclosure.
  • a computer network within a medical institution is called a "medical institution network”.
  • each client 20 exists for each data group to be trained by the AI model.
  • the term "for each data group” as used herein may be understood as "for each medical institution” in which the data group used for learning the AI model is held. That is, it is assumed that there is one client for approximately one medical institution.
  • FIGS. 1 and subsequent drawings The number after “Client” is an index as an identification number for identifying each client 20.
  • the client 20 having an index of m is referred to as “client CLm”.
  • the client CL1 represents “Client 1” in FIG. m corresponds to the client ID number (identification number).
  • m represents an integer of 1 or more and M or less.
  • N represents an integer of 2 or more.
  • a set of clients 20 having a total number of M participating in learning is called a "learning client group” or a "mother group” of clients 20.
  • Each client 20 has a local data LD in a client-local storage device.
  • the local data LD is a data group accumulated at the medical institution to which the client 20 belongs.
  • Each client 20 includes a local learning management program which is a client program for distributed learning. Each client 20 rotates an iteration for learning the local model LM using the client-local local data LD according to the local learning management program.
  • the local model LM is, for example, an AI model for medical image diagnosis incorporated in a CAD system.
  • CAD includes both the concepts of computer-aided detection (CADe) and computer-aided diagnosis (CADx).
  • the local model LM is constructed using, for example, a hierarchical multi-layer neural network.
  • the network weight parameter is updated by deep learning using the local data LD as the training data.
  • the weight parameters include the filter coefficients (weights of connections between nodes) of the filter used to process each layer and the bias of the nodes.
  • the local model LM is an example of the "learning model on the client terminal side" in the present disclosure.
  • the "neural network” is a mathematical model of information processing that simulates the mechanism of the cranial nerve system. Processing using a neural network can be realized by using a computer.
  • the processing unit including the neural network can be configured as a program module.
  • the AI model for medical image diagnosis can be constructed by using, for example, various convolutional neural networks (CNNs) having a convolutional layer.
  • CNNs convolutional neural networks
  • An AI model that handles time-series data, document data, and the like can be constructed using, for example, various recurrent neural networks (RNNs).
  • the plurality of clients 20 are connected to the integrated server 30 via a communication network.
  • the display of the devil mark DM in FIG. 1 indicates the occurrence of deterioration in the inference accuracy of the AI model.
  • the integrated server 30 acquires each learning result from a plurality of clients 20, creates a plurality of master model candidate MMCs based on these learning results, evaluates the inference accuracy of each master model candidate, and has an accuracy. The process of selecting the client of the aggravating factor is performed.
  • the location of the integrated server 30 may exist on the computer network to which the main organization developing the AI model has the access right, and the form of the server may be a physical server, a virtual server, or the like.
  • the integrated server 30 may be installed in the medical institution network or may be installed outside the medical institution network.
  • the integrated server 30 may be installed in a company that develops a medical AI located geographically away from a medical institution or on the cloud.
  • the integrated server 30 divides a plurality of clients 20 into K group client clusters, integrates the learning results for each client cluster, and creates K master model candidate MMCs.
  • K is an integer greater than or equal to 2.
  • clients CL1, CL2 and CL3 belong to the same client cluster
  • clients CL4, CLN and CLN + 1 belong to the same client cluster
  • the arrow extending from the left side of the circle surrounding the display "Federated Avg" in FIG. 1 indicates that the learned local model LM data is being transmitted from each client 20 belonging to the same client cluster.
  • the data of the local model LM as a learning result provided from each client 20 to the integrated server 30 may be a weight parameter of the local model LM after learning.
  • the circle surrounding the display "Federated Avg" represents the process of integrating the learning results.
  • the weights sent from each client 20 are integrated by averaging or the like, and a master model candidate MMC which is an integrated model is created.
  • the method of integration processing is not limited to simple addition averaging, but includes factors such as the attributes of client 20, past integrated results, the number of data for each medical institution used for re-learning, and the level of medical institutions evaluated by humans. Based on this, they may be weighted and integrated.
  • Master model 1 and “Master model K” shown at the tip of the arrow extending to the right of the circle surrounding the display "Federated Avg" indicate the master model candidate MMC created from each client cluster.
  • the index for identifying each of the client clusters in the K group is k
  • k represents an integer of 1 or more and K or less.
  • the master model candidate MMC created by integrating the learning results of each client 20 belonging to the client cluster having the index k may be referred to as “MMCk”.
  • the master model candidate MMC1 represents "Master model 1" in FIG.
  • the integrated server 30 evaluates the inference accuracy of each master model candidate MMC using the verification data prepared in advance.
  • the verification data may be stored in the internal storage device of the integrated server 30, or may be stored in the external storage device connected to the integrated server 30.
  • the integrated server 30 includes an evaluation program 34, a database 36, and a learning client selection program 38.
  • the evaluation program 34 collects the inference accuracy of each master model candidate MMC and stores it in a data storage unit such as a database 36.
  • the data storage unit may be a storage area of a storage device in the integrated server 30, or may be a storage area of an external storage device connected to the integrated server 30.
  • the evaluation program 34 compares the collected inference accuracy with the accuracy threshold value, and when the inference accuracy of the master model candidate MMC is lower than the accuracy threshold value, notifies the learning client selection program 38 of the information.
  • the learning client selection program 38 When the learning client selection program 38 receives a notification from the evaluation program 34 that a master model candidate MMC having an inference accuracy lower than the accuracy threshold exists, it performs a process of extracting the client that is a factor of deterioration of the inference accuracy. ..
  • the learning client selection program 38 searches for a client whose accuracy is deteriorating from the learning client group, stops collecting learning results from the client of the accuracy deteriorating factor, and blacklists the corresponding client. Take measures such as registering.
  • the learning client selection program 38 stores the client information of the accuracy deterioration factor in the data storage unit such as the database 36.
  • FIG. 1 shows an example in which the client CL3 is a client that causes deterioration in accuracy.
  • the master model candidate MMC are AI models for CAD of the chest CT image
  • the master model candidate MMC1 created by integrating the learning results of the client cluster including the client CL3 is used.
  • the inference was performed by inputting the verification data that the correct answer was "lung cancer”
  • FIG. 1 shows inferences performed by inputting verification data whose correct answer is "lung cancer” into the master model candidate MMCK created by integrating the learning results of other client clusters. The inference result correctly indicates that it was "lung cancer”.
  • a client program for distributed learning is executed on a terminal (client 20) in a medical institution in a computer network of a medical institution in which a data group to be learned by an AI model exists. It is running.
  • the integrated server 30 synchronizes the latest version of the master model to be used for learning with the local model LM on each client 20 before each of the plurality of clients 20 starts learning.
  • the master model is a trained AI model.
  • each client 20 After synchronizing with the latest version of the master model, each client 20 performs learning on each terminal using the local data LD existing in the medical institution, and performs learning processing for a specified number of iterations. turn.
  • the local data LD used as the training data may be, for example, a medical image and information accompanying the medical image.
  • the "accompanying information" may include information corresponding to the teacher signal.
  • the number of iterations may be a fixed value, but more preferably, the learning iterations are turned to the stage where the inference accuracy is improved to the specified ratio or more.
  • each client 20 transmits the learning result to the integrated server 30.
  • the learning result transmitted from the client 20 to the integrated server 30 may be a weight parameter of the local model LM after learning.
  • the data of the weight parameter after learning transmitted from the client 20 to the integrated server 30 may be a difference from the weight parameter of the latest version of the master model synchronized with the integrated server 30.
  • the package insert of the medical device or the like that is the client 20 that uses the function according to the present embodiment describes that learning is performed as a background process within a range that does not interfere with the medical treatment work.
  • the package insert states that the learning data used is data within the medical institution, the data transmitted to the outside is only the weight parameter after learning, and the data that identifies the individual is not transmitted. To.
  • the learning client selection program 38 running on the integrated server 30 divides the learning results transmitted from each client 20 into a plurality of client clusters and integrates them, and master model candidate MMC for each client cluster. To create. At this time, the learning client selection program 38 randomly extracts the clients 20 from the population without duplication so that the number of clients constituting each client cluster is the same, and which master model candidate MMC is created from which client cluster. Information indicating whether or not the client is stored is stored in a data storage unit such as a database 36.
  • the database 36 is an example of the "association information storage unit" in the present disclosure.
  • the evaluation program 34 verifies the inference accuracy of each created master model candidate MMC. Accuracy verification is performed on the verification data. That is, the evaluation program 34 causes each master model candidate MMC to perform inference using the verification data existing in the integrated server 30 as an input, and calculates the inference accuracy by comparing the inference result with the correct answer data. Then, the inference accuracy of each master model candidate MMC is stored in the data storage unit of the database 36 or the like.
  • the evaluation program 34 compares the inference accuracy of each master model candidate MMC with the accuracy threshold, and if the inference accuracy of a certain master model candidate MMC is lower than the accuracy threshold, which master model candidate MMC sets the accuracy threshold. Notify the learning client selection program 38 whether the model is lower.
  • the inference accuracy of the master model candidate MMC to be compared with the accuracy threshold may be an instantaneous value, but in order to mitigate noise due to outliers and the like, the inference accuracy is more preferable. Use statistical values such as mean and median.
  • the display device may be connected to the integrated server 30.
  • the learning client selection program 38 which has received the notification of the existence of the master model candidate MMC whose inference accuracy is below the accuracy threshold, uses the learning result for creating the master model candidate MMC whose inference accuracy is below the accuracy threshold.
  • the client cluster that provided the above is searched from the data storage unit such as the database 36.
  • the learning client selection program 38 extracts the client of the factor that particularly deteriorates the accuracy from the client clusters involved in the creation of the master model candidate MMC whose inference accuracy is below the accuracy threshold. Perform the processing to be performed.
  • the inference accuracy is calculated for each of the local model LMs of each client 20 in the client cluster involved in the creation of the master model candidate MMC whose inference accuracy is lowered, and the inference accuracy is determined. There is a method of extracting low clients as factors that deteriorate accuracy.
  • the local model LM of each client 20 in the client cluster involved in the creation of the master model candidate MMC whose inference accuracy is deteriorated is the master model whose inference accuracy is not lower than the accuracy threshold. If the inference accuracy of the master model candidate MMC that has been mixed is significantly deteriorated as a result of being mixed in the client cluster of the candidate MMC, a method of extracting the mixed client 20 as a factor of deterioration in accuracy can be mentioned.
  • the learning client selection program 38 stores the client information of the accuracy deterioration factor in the data storage unit such as the database 36 so that the client 20 of the accuracy deterioration factor extracted in the procedure 9 is not used for the subsequent learning. To do.
  • the database 36 is an example of the "information storage unit" in the present disclosure.
  • the machine learning method using the machine learning system 10 according to the present embodiment is understood as a method for creating an inference model.
  • FIG. 2 is a diagram schematically showing a system configuration example of the machine learning system 10 according to the embodiment of the present invention.
  • the medical institution network 50 will be described.
  • FIG. 2 shows an example in which a medical institution network 50 having the same system configuration is installed in each of a plurality of medical institutions for the sake of simplicity, but the medical institution network having a different system configuration for each medical institution is shown. May be constructed.
  • the medical institution network 50 includes a CT (Computed Tomography) device 52, an MRI (Magnetic Resonance Imaging) device 54, a CR (Computed Radiography) device 56, a PACS (Picture Archiving and Communication Systems) server 58, and a CAD server 60.
  • CT Computer Tomography
  • MRI Magnetic Resonance Imaging
  • CR Computer Radiography
  • PACS Physical Archiving and Communication Systems
  • CAD server 60 CAD server 60.
  • a computer network including a terminal 62 and a premises communication line 64.
  • the medical institution network 50 is not limited to the CT device 52, the MRI device 54, and the CR device 56 illustrated in FIG. 2, and a part or all of them are replaced or added to digital X-rays (not shown). Includes at least one or a combination of imaging equipment, angiographic X-ray diagnostic equipment, ultrasonic diagnostic equipment, PET (Positron Emission Tomography) equipment, endoscopic equipment, mammography equipment, and various other inspection equipment (modality). Good. There may be various combinations of types of testing devices connected to the medical institution network 50 for each medical institution.
  • the PACS server 58 is a computer that stores and manages various data, and is equipped with a large-capacity external storage device and database management software.
  • the PACS server 58 communicates with other devices via the premises communication line 64, and transmits / receives various data including image data.
  • the PACS server 58 receives image data and other various data generated by each inspection device such as the CT device 52, the MRI device 54, and the CR device 56 via the premises communication line 64, and receives a large-capacity external storage device or the like. Save and manage on a recording medium.
  • the PACS server 58 may be a DICOM server that operates according to the DICOM specifications.
  • the data stored in the PACS server 58 can be used as training data. It is also possible to save the learning data created based on the data saved in the PACS server 58 in the CAD server 60.
  • the PACS server 58 is an example of the "data storage device of a medical institution" in the present disclosure.
  • the CAD server 60 may function as a "data storage device of a medical institution" in the present disclosure.
  • the CAD server 60 corresponds to the client 20 described in FIG.
  • the CAD server 60 has a communication function for communicating with the integrated server 30, and is connected to the integrated server 30 via a wide area communication line 70.
  • the CAD server 60 can acquire data from the PACS server 58 or the like via the premises communication line 64.
  • the CAD server 60 includes a local learning management program for executing the learning of the local model LM on the CAD server 60 using the data group stored in the PACS server 58.
  • the CAD server 60 is an example of the "client terminal" in the present disclosure.
  • Various data stored in the database of the PACS server 58 and various information including the inference result by the CAD server 60 can be displayed on the terminal 62 connected to the premises communication line 64.
  • the terminal 62 may be a display terminal called a PACS viewer or a DICOM viewer.
  • a plurality of terminals 62 may be connected to the medical institution network 50.
  • the form of the terminal 62 is not particularly limited, and may be a personal computer, a workstation, a tablet terminal, or the like.
  • a medical institution network having a similar system configuration is constructed in each of a plurality of medical institutions.
  • the integrated server 30 communicates with a plurality of CAD servers 60 via the wide area communication line 70.
  • the wide area communication line 70 is an example of the "communication line" in the present disclosure.
  • FIG. 3 is a block diagram showing a configuration example of the integrated server 30.
  • the integrated server 30 can be realized by a computer system configured by using one or a plurality of computers.
  • the integrated server 30 is realized by installing and executing a program on a computer.
  • the integrated server 30 includes a processor 302, a non-temporary tangible computer-readable medium 304, a communication interface 306, an input / output interface 308, a bus 310, an input device 314, and a display device 316.
  • the processor 302 is an example of the "first processor” in the present disclosure.
  • the computer-readable medium 304 is an example of the "first computer-readable medium” in the present disclosure.
  • the processor 302 includes a CPU (Central Processing Unit).
  • the processor 302 may include a GPU (Graphics Processing Unit).
  • the processor 302 is connected to the computer-readable medium 304, the communication interface 306, and the input / output interface 308 via the bus 310.
  • the input device 314 and the display device 316 are connected to the bus 310 via the input / output interface 308.
  • the computer-readable medium 304 includes a memory as a main storage device and a storage as an auxiliary storage device.
  • the computer-readable medium 304 may be, for example, a semiconductor memory, a hard disk (HDD: Hard Disk Drive) device, a solid state drive (SSD: Solid State Drive) device, or a combination of a plurality of these.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • the integrated server 30 is connected to the wide area communication line 70 (see FIG. 2) via the communication interface 306.
  • the computer-readable medium 304 includes a master model storage unit 320, a verification data storage unit 322, and a database 36.
  • the latest version of the master model MM data is stored in the master model storage unit 320.
  • the verification data storage unit 322 stores a plurality of verification data TDs used when verifying the inference accuracy of the integrated model created by the master model candidate creation unit 334.
  • the verification data TD is data in which input data and correct answer data are combined, and is also called test data.
  • the verification data TD may be, for example, data provided by a university or the like.
  • the computer-readable medium 304 stores various programs and data including a synchronization program 324, a learning client selection program 38, and an evaluation program 34.
  • the synchronization program 324 is a program for providing the data of the master model MM to each client 20 via the communication interface 306 and synchronizing each local model LM with the master model MM.
  • the processor 302 executes the instruction of the synchronization program 324, the computer functions as a synchronization processing unit.
  • the synchronization program 324 may be incorporated as a program module of the learning client selection program 38.
  • the computer When the processor 302 executes the instruction of the learning client selection program 38, the computer functions as a client cluster extraction unit 332, a master model candidate creation unit 334, an accuracy deterioration factor extraction unit 336, and an exclusion processing unit 338. Further, when the processor 302 executes the instruction of the evaluation program 34, the computer functions as an inference unit 342, an inference accuracy calculation unit 344, and an accuracy threshold comparison unit 346.
  • the client cluster extraction unit 332 divides the learning results of the plurality of clients 20 received via the communication interface 306 into a plurality of client clusters having the same number of clients.
  • the communication interface 306 is an example of the "receiver" in the present disclosure.
  • the client cluster extraction unit 332 is an example of the “client cluster creation unit” in the present disclosure.
  • the client cluster extraction unit 332 stores in the database 36 information indicating the correspondence between the client 20 belonging to each client cluster and the master model candidate MMC created for each client cluster.
  • the master model candidate creation unit 334 integrates the learning results for each client cluster and creates a plurality of master model candidate MMCs. Information indicating the correspondence relationship based on which client cluster each master model candidate MMC was created is stored in the database 36.
  • the inference unit 342 inputs the verification data TD into each master model candidate MMC, and executes inference by each master model candidate MMC.
  • the inference accuracy calculation unit 344 compares the inference result of each master model candidate MMC obtained from the inference unit 342 with the correct answer data, and calculates the inference accuracy of each master model candidate MMC. For example, as the correct answer data, data in which the number of lesions and the correct clinical findings are added together with the image data are used.
  • the inference accuracy calculation unit 344 performs accuracy verification a plurality of times through comparison with the verification data.
  • the inference accuracy calculation unit 344 may calculate the accuracy average value of the master model candidate from the result of performing the accuracy verification a plurality of times, and evaluate this accuracy average value as the inference accuracy of the master model candidate.
  • the inference accuracy calculated by the inference accuracy calculation unit 344 is stored in the database 36.
  • the accuracy threshold comparison unit 346 compares the inference accuracy of each master model candidate MMC with a predetermined accuracy threshold, and determines whether or not there is a master model candidate MMC with an inference accuracy lower than the accuracy threshold. If there is a master model candidate MMC having an inference accuracy lower than the accuracy threshold value, the information is sent to the accuracy deterioration factor extraction unit 336.
  • the inference unit 342, the inference accuracy calculation unit 344, and the accuracy threshold comparison unit 346 realized by the evaluation program 34 are examples of the "accuracy evaluation unit" in the present disclosure.
  • the accuracy deterioration factor extraction unit 336 performs a process of extracting a client whose accuracy is particularly deteriorated from the client clusters involved in the creation of the master model candidate MMC whose inference accuracy is lower than the accuracy threshold, and extracts the accuracy.
  • the information of the client of the aggravating factor is stored in the database 36.
  • the client cluster involved in the creation of the master model candidate MMC whose inference accuracy is below the accuracy threshold is called the "low accuracy client cluster”.
  • the accuracy deterioration factor extraction unit 336 further divides the low-precision client cluster into a plurality of sub-clusters, and mixes the clients of the sub-cluster into the client cluster used for creating other master model candidates having no problem in accuracy. Then, it is determined whether or not the accuracy is lowered when the master model candidate is created. As a result, if there is a model whose accuracy is significantly worse than the previous learning, it is determined that there is a client that is a factor of the deterioration in the subcluster mixed in the deteriorated model.
  • the accuracy deterioration factor extraction unit 336 further divides the subcluster including the client that is the accuracy deterioration factor and repeats the same process as described above. ..
  • the accuracy deterioration factor extraction unit 336 repeats the repetition until the number of clients in the client group (low-precision subcluster) including the client that is the accuracy deterioration factor becomes sufficiently small.
  • the clients that make up each subcluster among a plurality of subclusters may be duplicated.
  • the accuracy deterioration factor extraction unit 336 uses the clients of those accuracy deterioration factors in the subsequent learning. Register in the database 36 so as not to.
  • the exclusion processing unit 338 performs a process of excluding the corresponding client so that the client of the accuracy deterioration factor extracted by the accuracy deterioration factor extraction unit 336 is not used for the subsequent learning.
  • the "exclusion process” is, for example, not executing the local learning process on the terminal of the client of the accuracy deterioration factor, stopping the reception of the learning result from the client of the accuracy deterioration factor, and the accuracy deterioration factor. It may be at least one process such as not adding the learning result received from the client to the integrated process.
  • the synchronization program 324, the learning client selection program 38, and the evaluation program 34 are examples of the "first program" in the present disclosure.
  • the computer when the processor 302 executes the instruction of the display control program, the computer functions as the display control unit 350.
  • the display control unit 350 generates a display signal necessary for display output to the display device 316 and controls the display of the display device 316.
  • the display device 316 is composed of, for example, a liquid crystal display, an organic electro-luminescence (OEL) display, a projector, or an appropriate combination thereof.
  • the input device 314 is composed of, for example, a keyboard, a mouse, a touch panel, or other pointing device, a voice input device, or an appropriate combination thereof.
  • the input device 314 accepts various inputs by the operator.
  • the display device 316 and the input device 314 may be integrally configured by using the touch panel.
  • the display device 316 can display the inference accuracy in each learning iteration of the plurality of master model candidate MMCs.
  • FIG. 4 is a block diagram showing a configuration example of a CAD server 60 which is an example of the client 20.
  • the CAD server 60 can be realized by a computer system configured by using one or a plurality of computers.
  • the CAD server 60 is realized by installing and executing a program on a computer.
  • the CAD server 60 includes a processor 602, a non-temporary tangible computer-readable medium 604, a communication interface 606, an input / output interface 608, a bus 610, an input device 614, and a display device 616.
  • the hardware configuration of the CAD server 60 may be the same as the hardware configuration of the integrated server 30 described with reference to FIG. That is, the hardware configurations of the processor 602, the computer-readable medium 604, the communication interface 606, the input / output interface 608, the bus 610, the input device 614, and the display device 616 in FIG. 4 are the processor 302 and the computer-readable medium 304 in FIG. , Communication interface 306, input / output interface 308, bus 310, input device 314 and display device 316.
  • the CAD server 60 is an example of the "information processing device” in the present disclosure.
  • Processor 602 is an example of a “second processor” in the present disclosure.
  • the computer-readable medium 604 is an example of the "second computer-readable medium” in the present disclosure.
  • the CAD server 60 is connected to the learning data storage unit 80 via the communication interface 606 or the input / output interface 608.
  • the learning data storage unit 80 is configured to include a storage for storing learning data used by the CAD server 60 for performing machine learning.
  • the "learning data” is training data used for machine learning, and is synonymous with "learning data” or "training data”.
  • the learning data stored in the learning data storage unit 80 is the local data LD described with reference to FIG.
  • the learning data storage unit 80 may be the PACS server 58 described with reference to FIG.
  • the learning data storage unit 80 is an example of the “data storage device of a medical institution” in the present disclosure.
  • the learning data storage unit 80 and the CAD server 60 that executes the learning process are configured as separate devices, but these functions may be realized by one computer.
  • the processing functions may be shared and realized by two or more computers.
  • the computer-readable medium 604 of the CAD server 60 shown in FIG. 4 stores various programs and data including the local learning management program 630 and the diagnostic support program 640.
  • the processor 602 executes the instruction of the local learning management program 630
  • the computer performs the synchronization processing unit 631, the learning data acquisition unit 632, the local model LM, the error calculation unit 634, the optimizer 635, the learning result storage unit 636, and the transmission processing. It functions as a unit 637.
  • the local learning management program 630 is an example of the "second program" in the present disclosure.
  • the synchronization processing unit 631 communicates with the integrated server 30 via the communication interface 606, and synchronizes the master model MM in the integrated server 30 with the local model LM in the CAD server 60.
  • the learning data acquisition unit 632 acquires learning data from the learning data storage unit 80.
  • the learning data acquisition unit 632 may be configured to include a data input terminal that captures data from an external or other signal processing unit in the device. Further, the learning data acquisition unit 632 includes a communication interface 306, an input / output interface 308, a media interface for reading and writing a portable external storage medium such as a memory card (not shown), or an appropriate combination of these embodiments. It may be configured.
  • the learning data acquired via the learning data acquisition unit 632 is input to the local model LM as a learning model.
  • the error calculation unit 634 calculates the error between the predicted value indicated by the score output from the local model LM and the correct answer data.
  • the error calculation unit 634 evaluates the error using the loss function.
  • the loss function may be, for example, cross entropy or mean square error.
  • the optimizer 635 performs a process of updating the weight parameter of the local model LM from the calculation result of the error calculation unit 634.
  • the optimizer 635 uses the calculation result of the error obtained from the error calculation unit 634 to obtain the update amount of the weight parameter of the local model LM, and the weight parameter of the local model LM according to the calculated update amount of the weight parameter. Update processing and.
  • the optimizer 635 updates the weight parameters based on an algorithm such as the backpropagation method.
  • the CAD server 60 in which the local learning management program 630 is incorporated functions as a local learning device that executes machine learning on the CAD server 60 by using the local data LD as learning data.
  • the CAD server 60 reads the learning data, which is the local data LD, from the learning data storage unit 80, and executes machine learning.
  • the CAD server 60 can read the learning data and update the weight parameters in units of mini-batch that collects a plurality of learning data.
  • the processing unit including the learning data acquisition unit 632, the local model LM, the error calculation unit 634, and the optimizer 635 is an example of the “learning processing unit” in the present disclosure.
  • the local learning management program 630 rotates the iteration of the learning process until the learning end condition is satisfied. After satisfying the learning end condition, the weight parameter of the local model LM as the learning result is stored in the learning result storage unit 636.
  • the transmission processing unit 637 performs a process of transmitting the learning result to the integrated server 30.
  • the weight parameters of the local model LM after learning stored in the learning result storage unit 636 are sent to the integrated server 30 via the wide area communication line 70 via the communication interface 606 (see FIG. 2).
  • the transmission processing unit 637 and the communication interface 606 are examples of the “transmission unit” in the present disclosure.
  • the processor 602 executes the instruction of the diagnosis support program 640, the computer functions as the AI-CAD unit 642.
  • the AI-CAD unit 642 uses the master model MM or the local model LM as an inference model and outputs the inference result for the input data.
  • the input data to the AI-CAD unit 642 is, for example, a medical image of a two-dimensional image, a three-dimensional image, or a moving image, and the output from the AI-CAD unit 642 is, for example, information indicating the position of the lesion site in the image. Alternatively, it may be information indicating a classification such as a disease name, or a combination thereof.
  • the local learning management program 630 is constructed on the client terminal (client 20) existing in the medical institution network 50.
  • the client terminal referred to here may be, for example, the CAD server 60 in FIG.
  • This local learning management program 630 synchronizes the master model MM and the local model LM before learning, starts local learning, sets the end condition of local learning, and transmits the result of local learning to the integrated server 30 at the end of local learning. Has the function of learning.
  • FIG. 5 is a flowchart showing an example of the operation of the client terminal based on the local learning management program 630. The steps in the flowchart shown in FIG. 5 are executed by the processor 602 according to the instructions of the local learning management program 630.
  • step S21 the processor 602 of the CAD server 60 synchronizes the local model LM and the master model MM at the time set by the local learning management program 630.
  • the "set time" may be specified as a fixed value, for example, outside the hospital examination business hours, or the CAD server 60 is normally used with a record of the operating status of the CAD server 60. It may be set programmatically by determining the time that is not available.
  • the parameter file used by the model may be updated and the program may read it to proceed with learning, or a virtual container image-like object may be installed on the integrated server 30 side. It may be in the form of centrally managing the virtual container image and deploying the virtual container image on the terminal side which is the client 20.
  • the master model MM becomes the learning model (local model LM) in the initial state before the start of learning.
  • step S22 the processor 602 executes local learning using the local data LD.
  • the local model LM synchronized with the master model MM is activated in the learning process by the local learning management program 630, and the local learning is advanced with reference to the local data LD in the medical institution network 50.
  • step S23 the processor 602 determines whether or not the learning end condition is satisfied.
  • the learning end condition for example, the following conditions can be given.
  • Example 1 The number of iterations is specified in advance, and learning ends after the specified number of iterations.
  • Example 2 The inference accuracy is calculated by holding the verification data in the medical institution network 50 and comparing the accuracy with the correct answer of the inference result obtained by inputting the verification data into the model in which the learning has progressed. , Learn until the specified percentage of accuracy improvement is achieved. That is, the inference accuracy of the learning model is calculated using the verification data, and the learning ends when the accuracy improvement of the specified ratio is achieved.
  • Example 3 Set a time limit, start learning within the time limit, and end learning when the time limit is reached.
  • the end condition of any one of the above [Example 1] to [Example 3] may be defined, or the logical product (AND) or OR (OR) of a plurality of conditions may be set as the end condition.
  • step S23 If the determination result in step S23 is No, the processor 602 returns to step S22 and continues the local learning process. On the other hand, if the determination result in step S23 is Yes determination, the processor 602 proceeds to step S24 and ends learning.
  • step S25 the processor 602 transmits the learning result to the integrated server 30.
  • the processor 602 saves the learned model in a file and transmits it to the integrated server 30 via the wide area communication line 70.
  • Each of the plurality of CAD servers 60 shown in FIG. 2 executes machine learning of each local model LM and learns by using the data stored in the PACS servers 58 in different medical institution networks as learning data. The result is transmitted to the integrated server 30 via the wide area communication line 70.
  • FIG. 6 is a flowchart showing an example of the operation of the integrated server 30 based on the learning client selection program 38. The steps in the flowchart shown in FIG. 6 are executed by the processor 302 according to the instructions of the learning client selection program 38.
  • step S31 the processor 302 receives the learning result from each client 20.
  • step S32 the processor 302 divides the learning result transmitted from each client 20 into a plurality of client clusters. For example, the processor 302 randomly extracts the clients 20 from the population so that the number of clients constituting each client cluster is the same, and groups the plurality of clients 20.
  • step S33 the processor 302 integrates the learning results for each client cluster and creates a plurality of master model candidate MMCs.
  • a general federated learning algorithm can be used as an integration method when creating a master model candidate MMC by integrating the learning results of the client group and updating the weight parameters of the master model.
  • the learning results transmitted from each client 20 are divided into a plurality of client groups (client clusters) and integrated for each client cluster to create a plurality of master model candidate MMCs.
  • the processor 302 stores information indicating a correspondence relationship as to which master model candidate MMC is created from which client cluster in a data storage unit such as a database 36. ..
  • step S34 the processor 302 evaluates the inference accuracy of each master model candidate MMC by the evaluation program 34. That is, the processor 302 causes each master model candidate MMC to perform inference using the verification data TD existing in the integrated server 30 as an input, calculates the inference accuracy, and determines the inference accuracy of each master model candidate MMC. , Stored in database 36. An example of the processing content by the evaluation program will be described later with reference to FIG. 7.
  • step S35 the processor 302 determines whether or not there is a master model candidate MMC whose inference accuracy is lower than the accuracy threshold.
  • the processor 302 can make the determination in step S35 based on whether or not it has received a notification from the evaluation program indicating the existence of a master model candidate having an inference accuracy lower than the accuracy threshold.
  • step S35 determines whether there is no master model candidate MMC whose inference accuracy is below the accuracy threshold. If the determination result in step S35 is No, that is, if there is no master model candidate MMC whose inference accuracy is below the accuracy threshold, the processor 302 does not change the relationship between each master model candidate MMC and the client cluster. , Step S39.
  • step S35 determines whether the master model candidate MMC whose accuracy is below the accuracy threshold. If the determination result in step S35 is Yes determination, and if there is a master model candidate MMC whose accuracy is below the accuracy threshold, the processor 302 proceeds to step S36.
  • step S36 the processor 302 extracts the client 20 that causes the accuracy deterioration of the master model candidate MMC whose inference accuracy is below the accuracy threshold.
  • the processor 302 uses the information indicating the correspondence between the master model candidate MMC stored in the database 36 and the client cluster in the process of step S33 to configure the client that constitutes the master model candidate MMC with inference accuracy lower than the accuracy threshold. Search the cluster and extract the clients that are the cause of the deterioration of accuracy.
  • step S37 the processor 302 records the client information of the accuracy deterioration factor extracted in the process of step S36 in the database 36.
  • step S38 the processor 302 excludes the client of the accuracy deterioration factor extracted in the process of step S36 from the subsequent learning. After step S38, processor 302 proceeds to step S39.
  • step S39 the processor 302 determines whether or not a model that exceeds the accuracy that can be commercialized has been obtained. If the determination result in step S39 is No, the processor 302 returns to step S33. That is, the processor 302 repeats the processes of steps S33 to S39 until a model that exceeds the accuracy that can be commercialized is obtained. If the determination result in step S39 is Yes determination, the flowchart of FIG. 6 ends.
  • FIG. 7 is a flowchart showing an example of the operation of the integrated server 30 based on the evaluation program 34. The flowchart shown in FIG. 7 is applied to step S34 of FIG.
  • step S41 of FIG. 7 the processor 302 causes each master model candidate MMC to execute inference by inputting the verification data TD.
  • step S42 the processor 302 calculates the inference accuracy of each master model candidate MMC based on the inference result and the correct answer data.
  • step S43 the processor 302 stores the inference accuracy of each master model candidate MMC in the database 36.
  • step S44 the processor 302 compares the inference accuracy and the accuracy threshold of each master model candidate MMC.
  • the accuracy threshold may be compared with the inference accuracy instantaneous value of the master model candidate, but in steps S31 to S43, the configuration of the client cluster used for creating each master model candidate MMC is fixed. The procedure may be carried out for several iterations, the inference accuracy at that time may be recorded each time, and the statistical values such as the average value and the median value of the inference accuracy may be compared with the accuracy threshold.
  • step S45 the processor 302 determines whether or not there is a master model candidate MMC having an inference accuracy lower than the accuracy threshold value based on the comparison result in step S44.
  • step S45 the processor 302 proceeds to step S46.
  • step S46 the processor 302 notifies the learning client selection program 38 of the existence of a master model candidate having an inference accuracy below the accuracy threshold.
  • the notification method a message queue, general interprocess communication, or the like can be used.
  • step S46 or when the determination result in step S45 is No determination, the processor 302 ends the flowchart of FIG. 7 and returns to the flowchart of FIG.
  • the learning client selection program 38 creates K master model candidate MMCs from the learning results of client_cluster_ * in the K group. Note that "*" represents the index of the client cluster.
  • each master model candidate MMC is made to make inferences, and feedback from the evaluator is collected for the obtained inference results.
  • the result (inference accuracy) of client_cluster_X [..., x, x + 1, x + 2, ...] is the accuracy threshold. If the value is less than the above, an alert indicating that effect is sent from the evaluation program 34 to the learning client selection program 38.
  • the learning client selection program 38 that has received the alert divides client_cluster_X into L subclusters client_cluster_X_1, client_cluster_X_2, ..., client_cluster_X_L.
  • L is an integer less than or equal to the number of clients Q in the client cluster.
  • the number of clients in each of the subcluster client_cluster_X_1, client_cluster_X_2, ..., client_cluster_X_L may be the same.
  • the learning client selection program 38 mixes client_cluster_X_1,..., client_cluster_X_L with some client cluster client_cluster_R, which had no problem in inference accuracy during the previous learning, and sets it as client_cluster_Ra.
  • client_cluster_X_i is mixed with the client cluster client_cluster_2, which had no problem in inference accuracy during the previous learning
  • client_cluster_2a client_cluster_2 + client_cluster_X_i.
  • i represents an integer of 1 or more and L or less.
  • the client cluster client_cluster_low_prec_array that causes the deterioration of accuracy is defined as the one in which the number of clients in the client_cluster that seems to have a problem is sufficiently small. Avoid using the clients in client_cluster_low_prec_array for further learning.
  • the number of clients in client_cluster_low_prec_array may be 1 or more.
  • the client_cluster_low_prec_array may include clients other than the client that causes the deterioration of accuracy.
  • the new master model created by implementing the machine learning method using the machine learning system 10 according to the present embodiment thus becomes a master model with improved inference accuracy as compared with the master model before learning.
  • the inference performance of the master model MM it is possible to update the inference performance of the master model MM.
  • a new master model created by implementing the machine learning method according to this embodiment is provided by sales, etc., it is used for the number of clients used for learning and accuracy verification in the package insert at the time of sale, etc. It is preferable that the number of verification data and the like are described.
  • the number of clients used for learning as a client overview, for example, "hospital_how”, “bed clinic_how”, and “bedless clinic_how”, and so on. It is preferable to show.
  • FIG. 8 is a block diagram showing an example of a computer hardware configuration.
  • the computer 800 may be a personal computer, a workstation, or a server computer.
  • the computer 800 can be used as a device having a part or all of the client 20, the integrated server 30, the PACS server 58, the CAD server 60, and the terminal 62 described above, or a device having a plurality of functions thereof.
  • the computer 800 includes a CPU 802, a RAM (Random Access Memory) 804, a ROM (Read Only Memory) 806, a GPU 808, a storage 810, a communication unit 812, an input device 814, a display device 816, and a bus 818.
  • the GPU 808 may be provided as needed.
  • the CPU 802 reads various programs stored in the ROM 806, the storage 810, or the like, and executes various processes.
  • the RAM 804 is used as a work area of the CPU 802. Further, the RAM 804 is used as a storage unit for temporarily storing the read program and various data.
  • the storage 810 includes, for example, a hard disk device, an optical disk, a magneto-optical disk, or a semiconductor memory, or a storage device configured by using an appropriate combination thereof.
  • the storage 810 stores various programs, data, and the like necessary for inference processing and / or learning processing.
  • the program stored in the storage 810 is loaded into the RAM 804, and the CPU 802 executes the program, so that the computer 800 functions as a means for performing various processes specified by the program.
  • the communication unit 812 is an interface that performs communication processing with an external device by wire or wirelessly and exchanges information with the external device.
  • the communication unit 812 can play the role of an information acquisition unit that accepts input such as an image.
  • the input device 814 is an input interface that accepts various operation inputs to the computer 800.
  • the input device 814 may be, for example, a keyboard, mouse, touch panel, or other pointing device, or voice input device, or any combination thereof.
  • the display device 816 is an output interface that displays various types of information.
  • the display device 816 may be, for example, a liquid crystal display, an organic electro-luminescence (OEL) display, a projector, or an appropriate combination thereof.
  • OEL organic electro-luminescence
  • At least one processing function among various processing functions such as a local learning function in each client 20 described in the above-described embodiment, and a learning client selection function including a master model candidate creation function and an inference accuracy evaluation function in the integrated server 30.
  • a program that realizes a part or all of the above in a computer is recorded on a computer-readable medium that is a non-temporary information storage medium such as an optical disk, a magnetic disk, a semiconductor memory, or the like, and the program is provided through this information storage medium. It is possible to do.
  • program signal as a download service using a telecommunication line such as the Internet, instead of storing the program in such a tangible non-temporary computer-readable medium and providing the program.
  • a part or all of at least one of the plurality of processing functions including the local learning function, the learning client selection function, and the inference accuracy evaluation function described in each of the above-described embodiments is provided as an application server, and electricity is provided. It is also possible to provide a service that provides a processing function through a communication line.
  • each processing unit ⁇ About the hardware configuration of each processing unit >> Master model storage unit 320, verification data storage unit 322, client cluster extraction unit 332, master model candidate creation unit 334, accuracy deterioration factor extraction unit 336, exclusion processing unit 338, inference unit 342, inference accuracy calculation unit, as shown in FIG. 344, accuracy threshold comparison unit 346, display control unit 350, synchronization processing unit 631 shown in FIG. 4, learning data acquisition unit 632, local model LM, error calculation unit 634, optimizer 635, learning result storage unit 636, transmission processing unit 637.
  • the hardware structure of the processing unit that executes various processes such as the AI-CAD unit 642 and the display control unit 650 is, for example, various processors as shown below.
  • Various processors include a CPU, which is a general-purpose processor that executes programs and functions as various processing units, a GPU, which is a processor specialized in image processing, and an FPGA (Field Programmable Gate Array) circuit configuration after manufacturing.
  • a dedicated electric circuit that is a processor having a circuit configuration specially designed to execute a specific process such as a programmable logic device (PLD) or an ASIC (Application Specific Integrated Circuit), which is a processor that can change the CPU. Etc. are included.
  • One processing unit may be composed of one of these various processors, or may be composed of two or more processors of the same type or different types.
  • one processing unit may be composed of a plurality of FPGAs, a combination of a CPU and an FPGA, or a combination of a CPU and a GPU.
  • a plurality of processing units may be configured by one processor.
  • one processor is configured by a combination of one or more CPUs and software, as represented by a computer such as a client or a server. There is a form in which the processor functions as a plurality of processing units.
  • SoC System On Chip
  • IC Integrated Circuit
  • circuitry that combines circuit elements such as semiconductor elements.
  • [1] Learning can be performed without taking out personal information such as diagnostic images that requires consideration for privacy from the medical institution side.
  • the AI model for medical image diagnosis has been described as an example, but the scope of application of the technique of the present disclosure is not limited to this example, and for example, as an AI model or input data using time-series data as input data. It can also be applied when training an AI model that uses document data.
  • the time series data may be, for example, ECG waveform data.
  • the document data may be, for example, a diagnostic report, and can be applied to learning an AI model that supports the creation of a report.
  • Machine learning system 20
  • Client 30
  • Integrated server 34 Evaluation program 36
  • Database 38
  • Learning client selection program 50
  • Medical institution network 52
  • CT device 54
  • MRI device 56
  • CR device 56
  • CR device 58
  • PACS server 60
  • CAD server 64
  • Private communication line 70
  • Wide area communication line 80
  • Learning data storage unit 302
  • Processor 304
  • Computer readable medium 306
  • Communication interface 308
  • Input / output interface 310
  • Bus 314
  • Display device 320
  • Synchronization program 332
  • Client cluster extraction unit 334
  • Master model candidate creation Unit 336
  • Accuracy deterioration factor extraction unit 338
  • Exclusion processing unit 342
  • Inference accuracy calculation unit 346
  • Accuracy threshold comparison unit 350
  • Display control unit 602 Processor 604
  • Computer readable medium 606
  • Communication interface 608
  • Input / output interface 610

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Data Mining & Analysis (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

フェデレーテッドラーニングにおいて学習の精度を担保することができる機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法を提供する。複数のクライアント端末のそれぞれが学習を開始する前に、各クライアント端末側の学習モデルと統合サーバのマスターモデルとを同期させる。各クライアント端末は医療機関に保存されているデータを用いて学習モデルの機械学習を実行し、学習結果を統合サーバに送信する。統合サーバは複数のクライアント端末を複数のクライアントクラスタに分けてクライアントクラスタごとに学習結果を統合してマスターモデル候補を作成する。統合サーバは各マスターモデル候補の推論精度を評価し、精度閾値を下回っているマスターモデル候補を検出したら、そのマスターモデル候補の作成に用いたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する。

Description

機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
 本発明は機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法に係り、特にフェデレーテッドラーニング(Federated Learning)の仕組みを利用する機械学習技術に関する。
 深層学習を用いた医療用AI(Artificial Intelligence)の開発時にはAIモデルを学習させる必要があるが、この学習のためには診断画像などの学習データを医療機関から外部の開発現場あるいは開発サーバなどに持ち出す必要がある。このため、学習データの提供に協力してもらえる医療機関が少ない現状がある。また、医療機関から学習データを提供してもらえたとしても、プライバシー関連のリスクが常に存在する。
 一方、非特許文献1で提案されたフェデレーテッドラーニングの仕組みを用いると、学習させたいデータが存在する端末上で学習を行い、それら端末群からそれぞれの端末上での学習結果であるネットワークモデルの重みパラメータのみを統合サーバに送信する。つまり、フェデレーテッドラーニングでは、学習データを統合サーバ側に提供することなく、それぞれの端末上での学習結果のデータのみが端末側から統合サーバ側に提供される。
 このことから、プライバシー上配慮が必要なデータそのものを外部に持ち出すことなく学習が可能であるとして、フェデレーテッドラーニングは近年注目を集めている技術である。
 非特許文献2には、医療用AIの開発にフェデレーテッドラーニングを適用した例の成果が報告されている。
H.Brendan, McMahan Eider, Moore Daniel Ramage, Seth Hampson, and Blaise Ag¨ueray Arcas,"Communication-Efficient Learning of Deep Networks from Decentralized Data, arXiv:1602.05629v3 [cs.LG], 28 Feb 2017 Micah J Sheller, G Anthony Reina, Brandon Edwards, Jason Martin, and Spyridon Bakas,"Multi-Institutional Deep Learning Modeling Without Sharing Patient Data: A Feasibility Study on Brain Tumor Segmentation", arXiv:1810.04304v2 [cs.LG], 22 Oct 2018 Eugene Bagdasaryan, Andreas Veit, Yiqing Hua, Deborah Estrin, and Vitaly Shmatikov, "How to Backdoor Federated Learning", arXiv:1807.00459v2 [cs.CR], 1 Oct 2018
 医療用AIの開発にフェデレーテッドラーニングを使用すると、診断画像などのデータの持ち出しは不要になるが、多数の医療機関が学習に関与するようになるため、学習の精度を担保するための仕組みが必要である。
 非特許文献3は、フェデレーテッドラーニングの学習に参加しているクライアントの一部が不正なデータを学習に混入させた場合、フェデレーテッドラーニングのアルゴリズム的には、不正なデータを学習に混入させたことに伴うマスターモデルの精度低下を防ぐ有効な手立てがないことを指摘している。例えば、学習に参加しているクライアントの一部が故意に画像内容を誤認させるようなデータを入れて学習を行うと、マスターモデルは特定の画像に関して誤判定をするようになる。このような課題をアルゴリズム的に有効に防げる手立てが今のところないとされている。
 また、故意でなくても、例えば誤診されたデータが学習に混入することにより、上記のような問題が発生する可能性が想定される。例えば、ある医療機関が特定の疾患に関して複数の誤診をしていたようなデータを用いてモデルを学習させた場合に、精度を担保する仕組みが存在しない。
 非特許文献2の「4.3節」でも述べられているように、既存のフェデレーテッドラーニングの仕組み単体では、不特定多数の医療機関が学習に参加してくるような状況下においては、学習精度を担保するためには、学習のために整備されたデータを用いて各医療機関において学習を行わせることを必要としている。
 学習の精度を担保するための課題の1つは、学習に関与しているクライアント群の中から精度悪化の要因となっている学習に不適な問題のあるクライアントと、その他の問題の無いクライアントとを選別することである。また、他の課題の1つは学習に不適なクライアントの学習への影響を抑制することである。
 本発明はこのような事情に鑑みてなされ、上記の複数の課題の少なくとも1つを解決し、診断画像などプライバシーに配慮が必要な個人情報を医療機関側から外部に持ち出さずにAIモデルの学習を行うためのフェデレーテッドラーニングの仕組みを実装した際に、一部のクライアントに起因するマスターモデルの精度低下を抑制することが可能になる機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法を提供することを目的とする。
 本開示の一つの観点に係る機械学習システムは、複数のクライアント端末と、統合サーバと、を含む機械学習システムであって、複数のクライアント端末のそれぞれは、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行する学習処理部と、学習モデルの学習結果を統合サーバに送信する送信部と、を含み、統合サーバは、学習済みのマスターモデルと、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させる同期処理部と、複数のクライアント端末からそれぞれの学習結果を受信する受信部と、複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成するクライアントクラスタ作成部と、クライアントクラスタごとの学習結果を統合してマスターモデル候補をクライアントクラスタごとに作成するマスターモデル候補作成部と、クライアントクラスタごとに作成されたマスターモデル候補のそれぞれの推論精度を評価することにより、推論精度が精度閾値を下回っているマスターモデル候補を検出する精度評価部と、推論精度が精度閾値を下回っているマスターモデル候補の作成に用いられたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する精度悪化要因抽出部と、を備える機械学習システムである。
 本態様によれば、学習に参加する複数のクライアント端末が複数のクライアントクラスタに分けられ、クライアントクラスタごとに学習結果を統合することによって複数のマスターモデル候補が作成される。これら複数のマスターモデル候補のそれぞれの推論精度を評価することによって、推論精度が精度閾値を下回っている低精度のマスターモデル候補と、その低精度のマスターモデル候補の作成に使用したクライアントクラスタ(低精度クライアントクラスタ)とが特定される。低精度クライアントクラスタの中には精度悪化要因となっている少なくとも1つのクライアント端末が含まれていると考えられる。精度悪化要因抽出部は、低精度クライアントクラスタの中から精度悪化要因となっているクライアント端末の絞り込みを行い、精度悪化要因のクライアント端末を抽出する。
 精度悪化要因抽出部は、実際に精度悪化要因となっているクライアント端末のみを抽出してもよいし、精度悪化要因として疑われるクライアント端末の組み合わせを抽出してもよい。つまり、精度悪化要因抽出部によって抽出されるクライアント端末の一部に、実際には精度悪化要因に該当しないクライアント端末が含まれてもよい。
 本態様によれば、学習に参加する複数のクライアント端末の中から、学習に不適な精度悪化要因のクライアント端末を見つけ出すことができる。これにより、学習の精度に問題があるクライアント端末と問題の無いクライアント端末とを選別することが可能になり、抽出された精度悪化要因のクライアント端末を、以降の学習から除外したり、精度悪化要因のクライアント端末から得られる学習結果の寄与率(例えば、統合の際の重み付け)を相対的に小さくしたり、精度悪化要因のクライアント端末に対して原因の究明と改善を求める通知を行うなど、様々な対処を行うことが可能になる。本態様によれば、精度悪化要因のクライアント端末の情報を基に、学習精度を担保することが可能になり、一部のクライアントに起因するマスターモデルの精度低下を抑制することが可能になる。
 「複数のクライアント端末」は不特定多数のクライアント端末であってよい。クライアント端末は「医療機関のデータ保存装置」を含む構成であってもよいし、「医療機関のデータ保存装置」と「クライアント端末」とが別々の装置であってもよい。
 本開示の他の態様に係る機械学習システムにおいて、統合サーバは、精度悪化要因抽出部によって抽出された精度悪化要因のクライアント端末を、以降の学習から除外する除外処理部をさらに備える構成とすることができる。
 本開示の他の態様に係る機械学習システムにおいて、統合サーバは、精度悪化要因抽出部によって抽出された精度悪化要因のクライアント端末の情報を保存する情報保存部をさらに備える構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、複数のクライアント端末のそれぞれは、異なる医療機関の医療機関ネットワーク内に設置される端末であってよい。
 本開示の更に他の態様に係る機械学習システムにおいて、統合サーバは、医療機関ネットワーク内または医療機関ネットワーク外に設置される構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、クライアント端末から統合サーバに送信される学習結果は、学習後の学習モデルの重みパラメータを含む構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは、2次元画像、3次元画像、動画像、時系列データおよび文書データのうち少なくとも1つの種類のデータを含む構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、学習モデル、マスターモデル、およびマスターモデル候補の各モデルは、ニューラルネットワークを用いて構成されてよい。
 学習データおよび推論の際に入力するデータの種類に応じて適切なネットワークモデルが適用される。
 本開示の更に他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは2次元画像、3次元画像または動画像を含み、学習モデル、マスターモデル、およびマスターモデル候補の各モデルは、畳み込みニューラルネットワークを用いて構成されてよい。
 本開示の更に他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは時系列データまたは文書データを含み、学習モデル、マスターモデル、およびマスターモデル候補の各モデルは、再帰型ニューラルネットワークを用いて構成されてよい。
 本開示の更に他の態様に係る機械学習システムにおいて、複数のクライアントクラスタのそれぞれを構成するクライアント端末の数が同数であり、各クライアントクラスタを構成するクライアント端末は非重複である構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、統合サーバは、複数のマスターモデル候補のそれぞれが複数のクライアントクラスタのうちのどのクライアントクラスタを基に作成されているかという対応関係を示す情報を保存する関連付け情報保存部をさらに備える構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、精度評価部は、マスターモデル候補のそれぞれの推論精度の瞬時値と精度閾値との比較に基づいて、または、マスターモデル候補のそれぞれの学習イテレーションにおける推論精度の統計値と精度閾値との比較に基づいて、マスターモデル候補の推論精度が精度閾値を下回っているか否かを判定する構成とすることができる。
 「統計値」は、統計学的なアルゴリズムを用いて算出される統計量であり、例えば、平均値または中央値などの代表値であってよい。
 精度評価部は、精度閾値を下回る推論精度のマスターモデル候補を検出した場合に、その検出に係るマスターモデル候補の情報を精度悪化要因抽出部に通知する構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、統合サーバは、クライアントクラスタごとに作成されるマスターモデル候補のそれぞれの各学習イテレーションにおける推論精度が表示される表示装置をさらに備える構成とすることができる。
 本開示の更に他の態様に係る機械学習システムにおいて、検証用データが保存されている検証用データ保存部をさらに備え、精度評価部は、検証用データを用いてマスターモデル候補の推論精度を評価する構成とすることができる。
 検証用データ保存部は、統合サーバに含まれていてもよいし、統合サーバに接続される外部記憶装置などであってもよい。
 本開示の他の態様に係る機械学習方法は、複数のクライアント端末と、統合サーバと、を用いる機械学習方法であって、複数のクライアント端末のそれぞれに学習モデルを学習させる前に、各クライアント端末側の学習モデルと、統合サーバに保存されている学習済みのマスターモデルとを同期させることと、複数のクライアント端末のそれぞれが、互いに異なる医療機関のそれぞれのデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行することと、複数のクライアント端末のそれぞれが、学習モデルの学習結果を統合サーバに送信することと、統合サーバが、複数のクライアント端末からそれぞれの学習結果を受信することと、複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成することと、クライアントクラスタごとの学習結果を統合してマスターモデル候補をクライアントクラスタごとに作成することと、クライアントクラスタごとに作成されたマスターモデル候補のそれぞれの推論精度を評価することにより、推論精度が精度閾値を下回っているマスターモデル候補を検出することと、推論精度が精度閾値を下回っているマスターモデル候補の作成に用いられたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出することと、を含む機械学習方法である。
 本開示の他の態様に係る統合サーバは、通信回線を介して複数のクライアント端末と接続される統合サーバであって、学習済みのマスターモデルを保存しておくマスターモデル保存部と、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させる同期処理部と、複数のクライアント端末からそれぞれの学習結果を受信する受信部と、複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成するクライアントクラスタ作成部と、クライアントクラスタごとの学習結果を統合してマスターモデル候補をクライアントクラスタごとに作成するマスターモデル候補作成部と、クライアントクラスタごとに作成されたマスターモデル候補のそれぞれの推論精度を評価することにより、推論精度が精度閾値を下回っているマスターモデル候補を検出する精度評価部と、推論精度が精度閾値を下回っているマスターモデル候補の作成に用いられたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する精度悪化要因抽出部と、を備える統合サーバである。
 本開示の他の態様に係る統合サーバは、通信回線を介して複数のクライアント端末と接続される統合サーバであって、第1のプロセッサと、第1のプロセッサによって実行される第1のプログラムが記録された非一時的な有体物である第1のコンピュータ可読媒体と、を含み、第1のプロセッサは、第1のプログラムの命令に従い、学習済みのマスターモデルを第1のコンピュータ可読媒体に保存しておくことと、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させることと、複数のクライアント端末からそれぞれの学習結果を受信することと、複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成することと、クライアントクラスタごとの学習結果を統合してマスターモデル候補をクライアントクラスタごとに作成することと、クライアントクラスタごとに作成されたマスターモデル候補のそれぞれの推論精度を評価することにより、推論精度が精度閾値を下回っているマスターモデル候補を検出することと、推論精度が精度閾値を下回っているマスターモデル候補の作成に用いられたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出することと、を含む処理を実行する、統合サーバである。
 本開示の他の態様に係る情報処理装置は、本開示の一態様に係る統合サーバと通信回線を介して接続される複数のクライアント端末の一つとして用いられる情報処理装置であって、統合サーバに保存されているマスターモデルと同期させた学習モデルを、学習開始前の初期状態の学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行する学習処理部と、学習モデルの学習結果を統合サーバに送信する送信部と、を備える情報処理装置である。
 本開示の他の態様に係る情報処理装置は、本開示の一態様に係る統合サーバと通信回線を介して接続される複数のクライアント端末の一つとして用いられる情報処理装置であって、第2のプロセッサと、第2のプロセッサによって実行される第2のプログラムが記録された非一時的な有体物である第2のコンピュータ可読媒体と、を含み、第2のプロセッサは、第2のプログラムの命令に従い、統合サーバに保存されているマスターモデルと同期させた学習モデルを、学習開始前の初期状態の学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行することと、学習モデルの学習結果を統合サーバに送信することと、を含む処理を実行する、情報処理装置である。
 本開示の他の態様に係るプログラムは、本開示の一態様に係る統合サーバと通信回線を介して接続される複数のクライアント端末の一つとしてコンピュータを機能させるためのプログラムであって、統合サーバに保存されているマスターモデルと同期させた学習モデルを、学習開始前の初期状態の学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行する機能と、学習モデルの学習結果を統合サーバに送信する機能と、をコンピュータに実現させるためのプログラムである。
 本開示の他の態様に係るプログラムは、通信回線を介して複数のクライアント端末と接続される統合サーバとしてコンピュータを機能させるためのプログラムであって、コンピュータに、学習済みのマスターモデルを保存しておく機能と、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させる機能と、複数のクライアント端末からそれぞれの学習結果を受信する機能と、複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成する機能と、クライアントクラスタごとの学習結果を統合してマスターモデル候補をクライアントクラスタごとに作成する機能と、クライアントクラスタごとに作成されたマスターモデル候補のそれぞれの推論精度を評価することにより、推論精度が精度閾値を下回っているマスターモデル候補を検出する機能と、推論精度が精度閾値を下回っているマスターモデル候補の作成に用いられたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する機能と、を実現させるためのプログラムである。
 本開示の他の態様に係る推論モデルの作成方法は、複数のクライアント端末と、統合サーバと、を用いて機械学習を行うことにより、推論モデルを作成する方法であって、複数のクライアント端末のそれぞれに学習モデルを学習させる前に、各クライアント端末側の学習モデルと、統合サーバに保存されている学習済みのマスターモデルとを同期させることと、複数のクライアント端末のそれぞれが、互いに異なる医療機関のそれぞれのデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行することと、複数のクライアント端末のそれぞれが、学習モデルの学習結果を統合サーバに送信することと、統合サーバが、複数のクライアント端末からそれぞれの学習結果を受信することと、複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成することと、クライアントクラスタごとの学習結果を統合してマスターモデル候補をクライアントクラスタごとに作成することと、クライアントクラスタごとに作成されたマスターモデル候補のそれぞれの推論精度を評価することにより、推論精度が精度閾値を下回っているマスターモデル候補を検出することと、推論精度が精度閾値を下回っているマスターモデル候補の作成に用いられたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出することと、推論精度が精度閾値以上であるマスターモデル候補を基に、マスターモデルよりも推論精度が高い推論モデルを作成することと、を含む推論モデルの作成方法である。
 推論モデルの作成方法は、推論モデルを製造する方法の発明として理解される。「推論」という用語は、予測、推定、分類、および判別の概念を含む。推論モデルは「AIモデル」と言い換えてもよい。
 本発明によれば、複数のクライアント端末の中から学習に不適な精度悪化要因のクライアント端末を抽出することができる。これより、一部の不適なクライアント端末に起因するマスターモデルの精度低下を抑制することが可能になる。
図1は、本発明の実施形態に係る機械学習システムの概要を示す概念図である。 図2は、本発明の実施形態に係る機械学習システムのシステム構成例を概略的に示す図である。 図3は、統合サーバの構成例を示すブロック図である。 図4は、クライアントの一例であるCAD(Computer Aided Detection/Diagnosis)サーバの構成例を示すブロック図である。 図5は、ローカル学習管理プログラムに基づくクライアント端末の動作の例を示すフローチャートである。 図6は、学習用クライアント選別プログラムに基づく統合サーバの動作の例を示すフローチャートである。 図7は、評価用プログラムに基づく統合サーバの動作の例を示すフローチャートである。 図8は、コンピュータのハードウェア構成の例を示すブロック図である。
 以下、添付図面に従って本発明の好ましい実施形態について説明する。
 《機械学習システムの概要》
 図1は、本発明の実施形態に係る機械学習システムの概要を示す概念図である。機械学習システム10は、フェデレーテッドラーニングの仕組みを利用して機械学習を行うコンピュータシステムである。機械学習システム10は、複数のクライアント20と、統合サーバ30と、を含む。フェデレーテッドラーニングは「フェデレーションラーニング」、「連携学習」、あるいは「連合学習」などと呼ばれることがある。
 図1に示す複数のクライアント20のそれぞれは、病院などの医療機関内のネットワーク上に設置される医療機関内端末を示す。ここで「端末」とは、安全に医療機関内のデータにアクセスできるネットワーク内に存在する計算資源を指しており、その端末は物理的に医療機関内に存在しなくてもよい。クライアント20は本開示における「クライアント端末」の一例である。医療機関内のコンピュータネットワークを「医療機関ネットワーク」という。
 各クライアント20は、AIモデルに学習させるデータ群ごとに存在していることを想定する。ここでいう「データ群ごと」とは、AIモデルの学習に使用するデータ群が保有される「医療機関ごと」と理解してよい。すなわち、おおよそ1つの医療機関に対して1つのクライアントが存在することを想定する。
 複数のクライアント20のそれぞれを区別して表示するために、図1および以降の図面において、「Client 1」,「Client 2」などの表記を用いる。「Client」の後に付す数字は、個々のクライアント20を識別する識別番号としてのインデックスである。本明細書では、インデックスがmであるクライアント20を「クライアントCLm」と表記する。例えば、クライアントCL1は、図1中の「Client 1」を表す。mはクライアントID番号(identification number)に相当する。統合サーバ30によって管理されるクライアント20の総数をMとすると、mは1以上M以下の整数を表す。図1においては、m=1からN+1までのクライアント20が図示されている。Nは2以上の整数を表す。学習に参加する総数Mのクライアント20の集合を「学習クライアント群」あるいはクライアント20の「母集団」という。
 各クライアント20は、クライアントローカルの記憶装置にローカルデータLDを保有している。ローカルデータLDは、クライアント20が属する医療機関にて蓄積されたデータ群である。
 各クライアント20は、分散学習のクライアントプログラムであるローカル学習管理プログラムを含む。各クライアント20は、ローカル学習管理プログラムにしたがい、クライアントローカルのローカルデータLDを用いてローカルモデルLMを学習させるイテレーションを回す。
 ローカルモデルLMは、例えば、CADシステムに組み込まれる医用画像診断用のAIモデルである。「CAD」という用語は、コンピュータ支援検出(CADe:Computer Aided Detection)と、コンピュータ支援診断(CADx:Computer Aided Diagnosis)との両方の概念を含む。ローカルモデルLMは、例えば、階層型の多層のニューラルネットワークを用いて構成される。ローカルモデルLMは、ローカルデータLDを学習データに用いる深層学習によってネットワークの重みパラメータが更新される。重みパラメータには、各層の処理に用いるフィルタのフィルタ係数(ノード間の結合の重み)およびノードのバイアスが含まれる。ローカルモデルLMは本開示における「クライアント端末側の学習モデル」の一例である。
 なお、「ニューラルネットワーク」とは、脳神経系の仕組みを模擬した情報処理の数理モデルである。ニューラルネットワークを用いた処理は、コンピュータを用いて実現することができる。ニューラルネットワークを含む処理部は、プログラムモジュールとして構成され得る。
 学習に使用するニューラルネットワークのネットワーク構造は、入力に用いるデータの種類に応じた適切なネットワーク構造が採用される。医用画像診断用のAIモデルは、例えば、畳み込み層を有する各種の畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いて構成することができる。時系列データや文書データなどを扱うAIモデルは、例えば、各種の再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)を用いて構成することができる。
 複数のクライアント20は、通信ネットワークを介して統合サーバ30と接続される。図1中の悪魔マークDMの表示は、AIモデルの推論精度悪化の発生を示す。統合サーバ30は、複数のクライアント20からそれぞれの学習結果を取得し、これら学習結果を基に複数のマスターモデル候補MMCを作成する処理と、各マスターモデル候補の推論精度を評価する処理と、精度悪化要因のクライアントを選別する処理と、を行う。
 統合サーバ30の所在は、AIモデルを開発している主体団体がアクセス権を持っているコンピュータネットワーク上に存在すればよく、サーバの形態は物理サーバ、仮想サーバなどの形態を問わない。統合サーバ30は、医療機関ネットワーク内に設置されてもよいし、医療機関ネットワーク外に設置されてもよい。例えば、統合サーバ30は、医療機関から地理的に離れた場所にある医療用AIを開発する会社内もしくはクラウド上に設置されてよい。
 統合サーバ30は、複数のクライアント20をK群のクライアントクラスタに分割し、クライアントクラスタごとに学習結果を統合して、K個のマスターモデル候補MMCを作成する。Kは2以上の整数である。
 クライアントクラスタは学習クライアント群の一部のクライアント群であり、K群のクライアントクラスタのそれぞれを構成するクライアント20の数(クライアント数)は同数であって、かつ、異なるクライアントクラスタ間において、それぞれのクライアントクラスタを構成するクライアント20に重複は無い(非重複)とする。クライアントクラスタのクライアント数をQとすると、Qは2以上の整数である。図1はQ=3の例を示す。
 図1においては、クライアントCL1,CL2およびCL3は同じクライアントクラスタに属し、クライアントCL4,CLNおよびCLN+1は同じクライアントクラスタに属する。
 図1中の「Federated Avg」という表示を囲む円の左側から延びる矢印は、同じクライアントクラスタに属する各クライアント20から、学習したローカルモデルLMのデータが送信されてきていることを示している。各クライアント20から統合サーバ30に提供される学習結果としてのローカルモデルLMのデータは、学習後のローカルモデルLMの重みパラメータであってよい。
 「Federated Avg」という表示を囲む円は、学習結果を統合する処理を表す。この処理において、各クライアント20から送られてきた重みが平均化等により統合され、統合モデルであるマスターモデル候補MMCが作成される。統合の処理の方法は、単純な加算平均に限らず、クライアント20の属性、過去の統合成績、再学習に用いられた医療機関ごとのデータ数、人間が評価した医療機関のレベルなどの要素に基づいて、重みづけをして統合してもよい。
 図1において「Federated Avg」という表示を囲む円の右側へ延びる矢印の先に示す「Master model 1」および「Master model K」は、各クライアントクラスタから作成されたマスターモデル候補MMCを示す。K群のクライアントクラスタのそれぞれを識別するためのインデックスをkとすると、kは1以上K以下の整数を表す。本明細書では、インデックスがkのクライアントクラスタに属する各クライアント20の学習結果を統合して作成されるマスターモデル候補MMCを「MMCk」と表記する場合がある。例えば、マスターモデル候補MMC1は図1中の「Master model 1」を表す。
 統合サーバ30は、予め用意された検証用データを用いて各マスターモデル候補MMCの推論精度を評価する。検証用データは、統合サーバ30の内部の記憶装置に保存されていてもよいし、統合サーバ30と接続される外部記憶装置に保存されていてもよい。
 統合サーバ30は、評価用プログラム34と、データベース36と、学習用クライアント選別プログラム38と、を含む。
 評価用プログラム34は、各マスターモデル候補MMCの推論精度を収集し、データベース36等のデータ保存部に保存する。データ保存部は、統合サーバ30内の記憶装置の記憶領域であってもよいし、統合サーバ30と接続される外部記憶装置の記憶領域であってもよい。
 評価用プログラム34は、収集した推論精度を精度閾値と比較し、マスターモデル候補MMCの推論精度が精度閾値よりも下回る場合に、その情報を学習用クライアント選別プログラム38に通知する。
 学習用クライアント選別プログラム38は、精度閾値を下回る推論精度のマスターモデル候補MMCが存在する旨の通知を評価用プログラム34から受け取ると、推論精度の悪化要因となっているクライアントを抽出する処理を行う。
 学習用クライアント選別プログラム38は、学習クライアント群の中から、精度を悪化させているクライアントを探索し、精度悪化要因のクライアントからの学習結果の収集を停止し、かつ、該当するクライアントをブラックリストに登録するなどの対処を行う。学習用クライアント選別プログラム38は、精度悪化要因のクライアントの情報をデータベース36等のデータ保存部に保存する。
 図1においては、クライアントCL3が精度悪化要因のクライアントである例が示されている。図1に示す例は、ローカルモデルLMおよびマスターモデル候補MMCが胸部CT画像のCAD用のAIモデルであるとして、クライアントCL3を含むクライアントクラスタの学習結果を統合して作成されたマスターモデル候補MMC1に対して、正解が「肺がん」である検証用データを入力して推論を実施したところ、その推論結果が「肺炎」を示す誤判定であったことを示している。また、図1は、他のクライアントクラスタの学習結果を統合して作成されたマスターモデル候補MMCKに対して、同様に正解が「肺がん」である検証用データを入力して推論を実施したところ、その推論結果は正しく「肺がん」であったことを示している。
 《機械学習方法の概要》
 本発明の実施形態に係る機械学習システム10による機械学習方法の例を説明する。以下に示す手順1から手順11にしたがって機械学習システム10が動作する。
 [手順1]図1に示すように、AIモデルが学習すべきデータ群が存在している医療機関のコンピュータネットワーク内にある医療機関内端末(クライアント20)上にて、分散学習のクライアントプログラムが実行されている。
 [手順2]統合サーバ30は、複数のクライアント20のそれぞれが学習を開始する前に、学習に供するマスターモデルの最新版を各クライアント20上のローカルモデルLMと同期させる。マスターモデルは学習済みのAIモデルである。
 [手順3]各クライアント20は、最新版のマスターモデルとの同期後、医療機関内に存在するローカルデータLDを用いてそれぞれの端末上にて学習を行い、指定されたイテレーション数だけ学習処理を回す。学習データとして用いるローカルデータLDは、例えば、医用画像とこれに付随する情報であってよい。「付随する情報」には教師信号に相当する情報が含まれていてよい。イテレーション数は固定値としてもよいが、より好ましくは、推論精度が指定された割合以上に向上した段階まで学習イテレーションを回す。
 [手順4]各クライアント20は学習終了後、学習結果を統合サーバ30に向けて送信する。クライアント20から統合サーバ30に送信される学習結果は、学習後のローカルモデルLMの重みパラメータであってよい。なお、クライアント20から統合サーバ30に送信される学習後の重みパラメータのデータは、統合サーバ30と同期させたマスターモデルの最新版の重みパラメータとの差分であってもよい。
 なお、本実施形態による機能を使用するクライアント20である医療機器等の添付文書には診療業務に支障の無い範囲のバックグラウンド処理として、学習が行われることが記載される。また、添付文書には、使用される学習データは医療機関内のデータであり、外部に送信されるデータは学習後の重みパラメータのみであり、個人が特定されるデータは送信されない旨が記載される。
 [手順5]統合サーバ30上で動作している学習用クライアント選別プログラム38は、各クライアント20から送信されてきた学習結果を複数のクライアントクラスタに分けて統合し、クライアントクラスタごとにマスターモデル候補MMCを作成する。この際、学習用クライアント選別プログラム38は各クライアントクラスタを構成するクライアント数が同数になるように、クライアント20を重複なく母集団からランダムに抽出し、どのマスターモデル候補MMCがどのクライアントクラスタから作成されているかを示す情報をデータベース36等のデータ保存部に保存する。データベース36は本開示における「関連付け情報保存部」の一例である。
 [手順6]評価用プログラム34は、作成された各マスターモデル候補MMCの推論精度の検証を行う。精度検証は、検証用データに対して行われる。すなわち、評価用プログラム34は各マスターモデル候補MMCに対して、統合サーバ30内に存在する検証用データを入力として用いて推論を行わせ、推論結果と正解データとを比較して推論精度を算出し、データベース36等のデータ保存部に各マスターモデル候補MMCの推論精度を保存する。
 [手順7]評価用プログラム34は各マスターモデル候補MMCの推論精度を精度閾値と比較し、あるマスターモデル候補MMCの推論精度が精度閾値を下回っている場合、どのマスターモデル候補MMCが精度閾値を下回るモデルであるかを、学習用クライアント選別プログラム38に通知する。推論精度の評価を行う際に、精度閾値と比較するマスターモデル候補MMCの推論精度は、瞬時値であってもよいが、外れ値などによるノイズを緩和するために、より好ましくは、推論精度の平均値や中央値などの統計値を用いる。
 検証用データを用いた評価の処理中に、各マスターモデル候補MMCの推論精度の変化を確認する必要がある場合、この段階で不図示の表示装置を用いて確認することができる。なお、表示装置は統合サーバ30に接続されてよい。
 [手順8]精度閾値を下回っているマスターモデル候補MMCの存在を知らせる通知を受け取った学習用クライアント選別プログラム38は、推論精度が精度閾値を下回っているマスターモデル候補MMCの作成に用いた学習結果を提供したクライアントクラスタをデータベース36等のデータ保存部から検索する。
 [手順9]さらに、学習用クライアント選別プログラム38は、推論精度が精度閾値を下回っているマスターモデル候補MMCの作成に関与したクライアントクラスタの中から、特に精度を悪化させている要因のクライアントを抽出する処理を行う。この際の抽出方法の例として、推論精度が低下しているマスターモデル候補MMCの作成に関与したクライアントクラスタ内の各クライアント20のローカルモデルLMのそれぞれに対して推論精度を算出し、推論精度の低いクライアントを精度悪化要因として抽出する方法がある。また、他の抽出方法の例として、推論精度が低下しているマスターモデル候補MMCの作成に関与したクライアントクラスタ内の各クライアント20のローカルモデルLMを、推論精度が精度閾値を下回っていないマスターモデル候補MMCのクライアントクラスタに混入させ、その結果、混入を受けたマスターモデル候補MMCの推論精度が有意に悪化した場合は、その混入させたクライアント20を精度悪化要因として抽出する方法などが挙げられる。
 [手順10]学習用クライアント選別プログラム38は、手順9にて抽出した精度悪化要因のクライアント20を以降の学習に使用しないように、データベース36等のデータ保存部に精度悪化要因のクライアント情報を保存する。データベース36は本開示における「情報保存部」の一例である。
 [手順11]以降は各マスターモデル候補MMCの中から製品化可能な推論精度を上回るモデルが出てくるまで、手順2から手順10の動作を反復する。
 これにより、学習精度を担保でき、精度閾値以上の推論精度を持つ推論モデルを作成することが可能になる。本実施形態による機械学習システム10を用いた機械学習方法は、推論モデルの作成方法として理解される。
 《システム構成例》
 次に、機械学習システム10の具体的な構成の例について説明する。図2は、本発明の実施形態に係る機械学習システム10のシステム構成例を概略的に示す図である。まず、医療機関ネットワーク50の例を説明する。図2では、図示を簡単にするために、複数の医療機関のそれぞれに同じシステム構成の医療機関ネットワーク50が設置されている場合の例を示すが、医療機関ごとに異なるシステム構成の医療機関ネットワークが構築されてもよい。
 医療機関ネットワーク50は、CT(Computed Tomography)装置52と、MRI(Magnetic Resonance Imaging)装置54と、CR(Computed Radiography)装置56と、PACS(Picture Archiving and Communication Systems)サーバ58と、CADサーバ60と、端末62と、構内通信回線64と、を含むコンピュータネットワークである。
 なお、医療機関ネットワーク50は、図2に例示のCT装置52、MRI装置54、およびCR装置56に限らず、これらの一部または全部に代えて、もしくは追加して、不図示のデジタルX線撮影装置、血管造影X線診断装置、超音波診断装置、PET(Positron Emission Tomography)装置、内視鏡装置、マンモグラフィ装置、その他の各種検査装置(モダリティ)のうち少なとも1つまたは組み合わせを含んでもよい。医療機関ネットワーク50に接続される検査装置の種類は、医療機関ごとに様々な組み合わせがありうる。
 PACSサーバ58は、各種データを保存して管理するコンピュータであり、大容量外部記憶装置およびデータベース管理用ソフトウェアを備えている。PACSサーバ58は、構内通信回線64を介して他の装置と通信を行い、画像データを含む各種データを送受信する。PACSサーバ58は、CT装置52、MRI装置54、およびCR装置56などの各検査装置によって生成された画像データその他の含む各種データを構内通信回線64経由で受信し、大容量外部記憶装置等の記録媒体に保存して管理する。
 なお、画像データの格納形式および構内通信回線64経由での各装置間の通信は、DICOM(Digital Imaging and Communication in Medicine)等のプロトコルに基づいている。PACSサーバ58は、DICOMの仕様にて動作するDICOMサーバであってよい。PACSサーバ58に保存されたデータを学習データとして使用することができる。また、PACSサーバ58に保存されたデータを基に作成された学習データをCADサーバ60に保存することも可能である。PACSサーバ58は本開示における「医療機関のデータ保存装置」の一例である。また、CADサーバ60が本開示における「医療機関のデータ保存装置」として機能してもよい。
 CADサーバ60は、図1で説明したクライアント20に相当する。CADサーバ60は、統合サーバ30と通信するための通信機能を有し、広域通信回線70を介して統合サーバ30と接続される。CADサーバ60は、構内通信回線64を介してPACSサーバ58等からデータを取得することができる。CADサーバ60は、PACSサーバ58に保存されたデータ群を用いてCADサーバ60上でローカルモデルLMの学習を実行するためのローカル学習管理プログラムを含む。CADサーバ60は本開示における「クライアント端末」の一例である。
 PACSサーバ58のデータベースに保存された各種データ、並びにCADサーバ60による推論結果を含む様々な情報は、構内通信回線64に接続された端末62に表示させることができる。
 端末62は、PACSビューワ、あるいはDICOMビューワと呼ばれる表示端末であってよい。医療機関ネットワーク50には複数の端末62が接続され得る。端末62の形態は特に限定されず、パーソナルコンピュータであってもよいし、ワークステーションであってもよく、また、タブレット端末などであってもよい。
 図2に示すように、複数の医療機関のそれぞれに、同様のシステム構成を持つ医療機関ネットワークが構築されている。統合サーバ30は、広域通信回線70を介して複数のCADサーバ60と通信を行う。広域通信回線70は本開示における「通信回線」の一例である。
 《統合サーバ30の構成例》
 図3は、統合サーバ30の構成例を示すブロック図である。統合サーバ30は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。統合サーバ30は、コンピュータにプログラムをインストールし、実行することにより実現される。
 統合サーバ30は、プロセッサ302、非一時的な有体物であるコンピュータ可読媒体304、通信インターフェース306、入出力インターフェース308、バス310、入力装置314および表示装置316を備える。プロセッサ302は本開示における「第1のプロセッサ」の一例である。コンピュータ可読媒体304は本開示における「第1のコンピュータ可読媒体」の一例である。
 プロセッサ302はCPU(Central Processing Unit)を含む。プロセッサ302はGPU(Graphics Processing Unit)を含んでもよい。プロセッサ302は、バス310を介してコンピュータ可読媒体304、通信インターフェース306および入出力インターフェース308と接続される。入力装置314および表示装置316は入出力インターフェース308を介してバス310に接続される。
 コンピュータ可読媒体304は、主記憶装置であるメモリおよび補助記憶装置であるストレージを含む。コンピュータ可読媒体304は、例えば、半導体メモリ、ハードディスク(HDD:Hard Disk Drive)装置、若しくはソリッドステートドライブ(SSD:Solid State Drive)装置またはこれらの複数の組み合わせであってよい。
 統合サーバ30は通信インターフェース306を介して広域通信回線70(図2参照)に接続される。
 コンピュータ可読媒体304は、マスターモデル保存部320と、検証用データ保存部322と、データベース36と、を含む。マスターモデル保存部320には、マスターモデルMMの最新版のデータが保存される。検証用データ保存部322には、マスターモデル候補作成部334にて作成される統合モデルの推論精度を検証する際に使用する複数の検証用データTDが保存される。検証用データTDは、入力用のデータと正解データとが組み合わされたデータであり、テストデータとも呼ばれる。検証用データTDは、例えば、大学等から提供されたデータであってよい。
 コンピュータ可読媒体304には、同期プログラム324、学習用クライアント選別プログラム38および評価用プログラム34を含む各種プログラムおよびデータが記憶されている。同期プログラム324は、通信インターフェース306を介してマスターモデルMMのデータを各クライアント20に提供し、それぞれのローカルモデルLMをマスターモデルMMと同期させるためのプログラムである。プロセッサ302が同期プログラム324の命令を実行することにより、コンピュータは、同期処理部として機能する。なお、同期プログラム324は学習用クライアント選別プログラム38のプログラムモジュールとして組み込まれていてもよい。
 プロセッサ302が学習用クライアント選別プログラム38の命令を実行することにより、コンピュータはクライアントクラスタ抽出部332、マスターモデル候補作成部334、精度悪化要因抽出部336および除外処理部338として機能する。また、プロセッサ302が評価用プログラム34の命令を実行することにより、コンピュータは推論部342、推論精度算出部344および精度閾値比較部346として機能する。
 クライアントクラスタ抽出部332は、通信インターフェース306を介して受信した複数のクライアント20の学習結果を、同じクライアント数の複数のクライアントクラスタに分ける。通信インターフェース306は本開示における「受信部」の一例である。クライアントクラスタ抽出部332は本開示における「クライアントクラスタ作成部」の一例である。クライアントクラスタ抽出部332は、それぞれのクライアントクラスタに属するクライアント20の情報と、クライアントクラスタごとに作成されるマスターモデル候補MMCとの対応関係を示す情報をデータベース36に保存する。
 マスターモデル候補作成部334は、クライアントクラスタごとに学習結果を統合して複数のマスターモデル候補MMCを作成する。各マスターモデル候補MMCがどのクライアントクラスタを基に作成されたかという対応関係を示す情報はデータベース36に保存される。
 推論部342は、各マスターモデル候補MMCに検証用データTDを入力して、各マスターモデル候補MMCによって推論を実行する。推論精度算出部344は推論部342から得られる各マスターモデル候補MMCの推論結果と正解データとを比較して、各マスターモデル候補MMCの推論精度を算出する。例えば、正解データには、病変個数や正解臨床所見を画像データとともに付与したデータが用いられる。推論精度算出部344は、検証用データとの比較を通して精度検証を複数回行う。推論精度算出部344は、複数回の精度検証を行った結果から、マスターモデル候補の精度平均値を算出し、この精度平均値をマスターモデル候補の推論精度として評価してもよい。推論精度算出部344により算出された推論精度はデータベース36に保存される。
 精度閾値比較部346は、各マスターモデル候補MMCの推論精度と予め定められた精度閾値とを比較し、精度閾値を下回る推論精度のマスターモデル候補MMCが存在するか否かを判定する。精度閾値を下回る推論精度のマスターモデル候補MMCが存在していた場合、その情報は精度悪化要因抽出部336に送られる。評価用プログラム34によって実現される推論部342、推論精度算出部344および精度閾値比較部346は本開示における「精度評価部」の一例である。
 精度悪化要因抽出部336は、推論精度が精度閾値を下回っているマスターモデル候補MMCの作成に関与したクライアントクラスタの中から、特に精度を悪化させているクライアントを抽出する処理を行い、抽出した精度悪化要因のクライアントの情報をデータベース36に保存する。
 推論精度が精度閾値を下回っているマスターモデル候補MMCの作成に関与したクライアントクラスタを「低精度クライアントクラスタ」という。精度悪化要因抽出部336は、例えば、低精度クライアントクラスタをさらに複数のサブクラスタに分割し、精度に問題のなかった他のマスターモデル候補の作成に使用したクライアントクラスタに、サブクラスタのクライアントを混入させて、マスターモデル候補を作成した場合に精度低下が起こるか否かを判定する。その結果、前回の学習よりも精度が有意に悪化したモデルがあった場合、その悪化したモデルに混入させたサブクラスタ内に精度悪化要因となっているクライアントが存在すると判定する。このサブクラスタ内のクライアント数が比較的大きい場合には、その後、精度悪化要因抽出部336は、精度悪化要因となっているクライアントを含むサブクラスタをさらに分割して上記と同様の処理を反復する。精度悪化要因抽出部336は、精度悪化要因となっているクライアントを含むクライアント群(低精度のサブクラスタ)内のクライアント数が十分に小さくなるまで反復を繰り返す。なお、複数のサブクラスタ同士でそれぞれのサブクラスタを構成するクライアントは重複させてもよい。
 反復の結果、精度悪化要因となっているクライアントを含むクライアント群内のクライアント数が十分に小さくなった段階で、精度悪化要因抽出部336は、それら精度悪化要因のクライアントを、以降の学習では使用しないように、データベース36に登録する。
 除外処理部338は、精度悪化要因抽出部336によって抽出された精度悪化要因のクライアントを、以降の学習に使用しないように、該当するクライアントを除外する処理を行う。「除外する処理」は、例えば、精度悪化要因のクライアントの端末上でのローカル学習の処理を不実施とすること、精度悪化要因のクライアントからの学習結果の受信を停止すること、精度悪化要因のクライアントから受信した学習結果を統合の処理に加えないこと、などのうち少なくとも1つの処理であってよい。
 同期プログラム324、学習用クライアント選別プログラム38および評価用プログラム34は本開示における「第1のプログラム」の一例である。
 また、プロセッサ302が表示制御プログラムの命令を実行することにより、コンピュータは表示制御部350として機能する。表示制御部350は、表示装置316への表示出力に必要な表示用信号を生成し、表示装置316の表示制御を行う。
 表示装置316は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、若しくは、プロジェクタ、またはこれらの適宜の組み合わせによって構成される。入力装置314は、例えば、キーボード、マウス、タッチパネル、若しくはその他のポインティングデバイス、若しくは、音声入力装置、またはこれらの適宜の組み合わせによって構成される。入力装置314は、オペレータによる種々の入力を受け付ける。なお、タッチパネルを用いることによって表示装置316と入力装置314とを一体に構成してもよい。
 表示装置316には、複数のマスターモデル候補MMCのそれぞれの各学習イテレーションにおける推論精度を表示させることができる。
 《CADサーバ60の構成例》
 図4は、クライアント20の一例であるCADサーバ60の構成例を示すブロック図である。CADサーバ60は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。CADサーバ60は、コンピュータにプログラムをインストールし、実行することにより実現される。
 CADサーバ60は、プロセッサ602、非一時的な有体物であるコンピュータ可読媒体604、通信インターフェース606、入出力インターフェース608、バス610、入力装置614および表示装置616を備える。CADサーバ60のハードウェア構成は、図3で説明した統合サーバ30のハードウェア構成と同様であってよい。すなわち、図4のプロセッサ602、コンピュータ可読媒体604、通信インターフェース606、入出力インターフェース608、バス610、入力装置614および表示装置616のそれぞれのハードウェア構成は、図3のプロセッサ302、コンピュータ可読媒体304、通信インターフェース306、入出力インターフェース308、バス310、入力装置314および表示装置316と同様であってよい。
 CADサーバ60は本開示における「情報処理装置」の一例である。プロセッサ602は本開示における「第2のプロセッサ」の一例である。コンピュータ可読媒体604は本開示における「第2のコンピュータ可読媒体」の一例である。
 CADサーバ60は、通信インターフェース606または入出力インターフェース608を介して学習データ保存部80と接続される。学習データ保存部80は、CADサーバ60が機械学習を行うために使用する学習データを保存しておくストレージを含んで構成される。「学習データ」とは、機械学習に用いる訓練用のデータであり、「学習用データ」或いは「訓練データ」と同義である。学習データ保存部80に保存される学習データは図1で説明したローカルデータLDである。学習データ保存部80は、図2で説明したPACSサーバ58であってもよい。学習データ保存部80は本開示における「医療機関のデータ保存装置」の一例である。
 ここでは、学習データ保存部80と、学習処理を実行するCADサーバ60とがそれぞれ別々の装置として構成される例を説明するが、これらの機能は1台のコンピュータで実現してもよいし、2以上の複数台のコンピュータで処理の機能を分担して実現してもよい。
 図4に示すCADサーバ60のコンピュータ可読媒体604には、ローカル学習管理プログラム630と診断支援プログラム640とを含む各種プログラムおよびデータが記憶されている。プロセッサ602がローカル学習管理プログラム630の命令を実行することにより、コンピュータは同期処理部631、学習データ取得部632、ローカルモデルLM、誤差演算部634、オプティマイザ635、学習結果保存部636、および送信処理部637として機能する。ローカル学習管理プログラム630は本開示における「第2のプログラム」の一例である。
 同期処理部631は、通信インターフェース606を介して統合サーバ30と通信を行い、統合サーバ30内のマスターモデルMMとCADサーバ60内のローカルモデルLMとを同期させる。
 学習データ取得部632は、学習データ保存部80から学習データを取得する。学習データ取得部632は、外部または装置内の他の信号処理部からデータを取り込むデータ入力端子を含んで構成されてよい。また、学習データ取得部632は、通信インターフェース306、入出力インターフェース308、若しくは、不図示のメモリカードなどの可搬型の外部記憶媒体の読み書きを行うメディアインターフェース、またはこれら態様の適宜の組み合わせを含んで構成されてもよい。
 学習データ取得部632を介して取得された学習データは、学習モデルとしてのローカルモデルLMに入力される。
 誤差演算部634は、ローカルモデルLMから出力されたスコアが示す予測値と、正解データとの誤差を算出する。誤差演算部634は、損失関数を用いて誤差を評価する。損失関数は、例えば、交差エントロピーまたは平均二乗誤差などであってよい。
 オプティマイザ635は、誤差演算部634の演算結果からローカルモデルLMの重みパラメータを更新する処理を行う。オプティマイザ635は、誤差演算部634から得られる誤差の演算結果を用いて、ローカルモデルLMの重みパラメータの更新量を求める演算処理と、算出された重みパラメータの更新量に従い、ローカルモデルLMの重みパラメータの更新処理と、を行う。オプティマイザ635は、誤差逆伝播法などのアルゴリズムに基づき重みパラメータの更新を行う。
 ローカル学習管理プログラム630が組み込まれたCADサーバ60は、ローカルデータLDを学習データとして用いてCADサーバ60上で機械学習を実行するローカル学習装置として機能する。CADサーバ60は、学習データ保存部80からローカルデータLDである学習データを読み込み、機械学習を実行する。CADサーバ60は、複数の学習データをまとめたミニバッチの単位で学習データの読み込みと、重みパラメータの更新を行うことができる。学習データ取得部632、ローカルモデルLM、誤差演算部634およびオプティマイザ635を含む処理部は本開示における「学習処理部」の一例である。
 ローカル学習管理プログラム630は、学習の終了条件を満たすまで、学習処理のイテレーションを回す。学習の終了条件を満たした後、学習結果としてのローカルモデルLMの重みパラメータは学習結果保存部636に保存される。
 送信処理部637は、学習結果を統合サーバ30に送信する処理を行う。学習結果保存部636に保存された学習後のローカルモデルLMの重みパラメータは、通信インターフェース606を介して広域通信回線70経由で統合サーバ30に送られる(図2参照)。送信処理部637及び通信インターフェース606は本開示における「送信部」の一例である。
 また、プロセッサ602が診断支援プログラム640の命令を実行することにより、コンピュータはAI-CAD部642として機能する。
 AI-CAD部642は、マスターモデルMMまたはローカルモデルLMを推論モデルとして用いて、入力データに対する推論結果を出力する。AI-CAD部642に対する入力データは、例えば、2次元画像、3次元画像または動画像の医用画像であり、AI-CAD部642からの出力は例えば、画像内における病変部位の位置を示す情報、もしくは病名などのクラス分類を示す情報、またはこれらの組み合わせであってよい。
 《ローカル学習管理プログラム630の説明》
 既に説明したとおり、医療機関ネットワーク50に存在するクライアント端末(クライアント20)上に、ローカル学習管理プログラム630を構築する。ここでいうクライアント端末は、例えば図2におけるCADサーバ60であってよい。このローカル学習管理プログラム630は、学習前のマスターモデルMMとローカルモデルLMの同期、ローカル学習の起動、ローカル学習の終了条件の設定、並びに、ローカル学習終了時にローカル学習の結果を統合サーバ30に送信する機能を有する。
 図5は、ローカル学習管理プログラム630に基づくクライアント端末の動作の例を示すフローチャートである。図5に示すフローチャートのステップは、プロセッサ602がローカル学習管理プログラム630の命令に従って実行する。
 ステップS21において、CADサーバ60のプロセッサ602は、ローカル学習管理プログラム630にて設定された時刻になると、ローカルモデルLMとマスターモデルMMを同期させる。ここで「設定された時刻」とは、例えば病院の検査営業時間外を固定値で指定してもよいし、CADサーバ60の稼働状況の記録を持っておいて、通常CADサーバ60が使用されていない時間を割り出すことでプログラム的に設定してもよい。
 ローカルモデルLMとマスターモデルMMの同期に際しては、例えば、モデルが使用するパラメータファイルを更新してそれをプログラムが読み込んで学習を進めるという形態でもよいし、仮想コンテナイメージ様のものを統合サーバ30側で集中管理し、その仮想コンテナイメージ様のものをクライアント20である端末側で展開するという形態でもよい。この同期の処理により、マスターモデルMMが学習開始前の初期状態の学習モデル(ローカルモデルLM)となる。
 ステップS22において、プロセッサ602はローカルデータLDを用いてローカル学習を実行する。マスターモデルMMと同期されたローカルモデルLMは、ローカル学習管理プログラム630によってその学習処理を起動され、医療機関ネットワーク50内にあるローカルデータLDを参照して、ローカル学習が進められる。
 ステップS23において、プロセッサ602は学習の終了条件を満たすか否かを判定する。ここで学習の終了条件は、例えば次のような条件の例を挙げることができる。
 [例1]予めイテレーションの回数を指定しておき、指定された回数のイテレーション後に学習を終了する。
 [例2]医療機関ネットワーク50内に検証用データを保持しておき、学習が進んだモデルに検証用データを入力して得られる推論結果の正解に対する精度比較をすることで推論精度を算出し、指定された割合の精度向上を達成するまで学習を行う。つまり、検証用データを用いて学習モデルの推論精度を算出し、指定された割合の精度向上を達成したら学習を終了する。
 [例3]制限時間を設定しておき、その制限時間内は学習を行い、制限時間が来たら学習を終了する。
 上記の[例1]~[例3]のいずれか1つの終了条件を定めておいてもよいし、複数の条件の論理積(AND)もしくは論理和(OR)を終了条件としてもよい。
 ステップS23の判定結果がNo判定である場合、プロセッサ602はステップS22に戻り、ローカル学習の処理を続ける。一方、ステップS23の判定結果がYes判定である場合、プロセッサ602はステップS24に進み、学習を終了する。
 学習終了後、ステップS25において、プロセッサ602はその学習結果を統合サーバ30に送信する。例えば、プロセッサ602は、学習したモデルをファイルに保存するなどして、統合サーバ30に広域通信回線70経由で送信する。
 図2に示した複数のCADサーバ60のそれぞれが、互いに異なる医療機関ネットワーク内のPACSサーバ58に保存されているデータを学習データに用いて、それぞれのローカルモデルLMの機械学習を実行し、学習結果を広域通信回線70経由で統合サーバ30に送信する。
 《学習用クライアント選別プログラム38の説明》
 図6は、学習用クライアント選別プログラム38に基づく統合サーバ30の動作の例を示すフローチャートである。図6に示すフローチャートのステップは、プロセッサ302が学習用クライアント選別プログラム38の命令に従って実行する。
 ステップS31において、プロセッサ302は各クライアント20から学習結果を受信する。
 ステップS32において、プロセッサ302は各クライアント20から送信されてきた学習結果を複数のクライアントクラスタに分割する。例えば、プロセッサ302は、各クライアントクラスタを構成するクライアント数が同数になるようにクライアント20を母集団からランダムに抽出し、複数のクライアント20をグループ分けする。
 ステップS33において、プロセッサ302はクライアントクラスタごとに学習結果を統合し、マスターモデル候補MMCを複数作成する。クライアント群の学習結果を統合してマスターモデルの重みパラメータを更新することによりマスターモデル候補MMCを作成する際の統合方法は、一般的なフェデレーテッドラーニングのアルゴリズムを用いることができる。
 なお、既存のフェデレーテッドラーニングの手法の場合、複数のマスターモデル候補は作成されず、単一のマスターモデルのみが存在しており、複数のローカル学習の学習結果を統合して、単一のマスターモデルを更新する。しかし、このような既存の手法の場合、精度を悪化させるクライアントの影響を排除することが困難であり、また、その精度悪化要因のクライアントを特定することも困難である。
 これに対し、本実施形態では、各クライアント20から送信されてきた学習結果を複数のクライアント群(クライアントクラスタ)に分けてクライアントクラスタごとに統合し、複数のマスターモデル候補MMCを作成する。
 また、プロセッサ302は、複数のマスターモデル候補MMCを作成する際に、どのマスターモデル候補MMCが、どのクライアントクラスタから作成されているかという対応関係を示す情報をデータベース36等のデータ保存部に保存する。
 ステップS34において、プロセッサ302は各マスターモデル候補MMCについて評価用プログラム34による推論精度の評価を行う。すなわち、プロセッサ302は各マスターモデル候補MMCに対して、統合サーバ30内に存在する検証用データTDを入力として用いて推論を行わせ、推論精度を算出し、各マスターモデル候補MMCの推論精度を、データベース36に保存する。評価用プログラムによる処理内容の例については図7を用いて後述する。
 ステップS35において、プロセッサ302は推論精度が精度閾値よりも低いマスターモデル候補MMCが存在するか否かを判定する。プロセッサ302は、評価用プログラムから精度閾値を下回る推論精度のマスターモデル候補の存在を伝える通知を受信したか否かに基づいて、ステップS35の判定を行うことができる。
 ステップS35の判定結果がNo判定である場合、つまり、推論精度が精度閾値を下回っているマスターモデル候補MMCが存在しない場合、プロセッサ302は各マスターモデル候補MMCとクライアントクラスタとの関係を変更しないまま、ステップS39に進む。
 一方、ステップS35の判定結果がYes判定である場合、論精度が精度閾値を下回っているマスターモデル候補MMCが存在する場合、プロセッサ302はステップS36に進む。
 ステップS36において、プロセッサ302は推論精度が精度閾値を下回っているマスターモデル候補MMCの精度悪化要因のクライアント20を抽出する。プロセッサ302は、ステップS33の処理にてデータベース36に保存したマスターモデル候補MMCとクライアントクラスタとの対応関係を示す情報を用いて、精度閾値を下回る推論精度のマスターモデル候補MMCを構成しているクライアントクラスタを探索し、精度悪化要因のクライアントを抽出する。
 その後、ステップS37において、プロセッサ302はステップS36の処理にて抽出した精度悪化要因のクライアントの情報をデータベース36に記録する。
 ステップS38において、プロセッサ302はステップS36の処理にて抽出した精度悪化要因のクライアントを以降の学習から除外する。ステップS38の後、プロセッサ302はステップS39に進む。
 ステップS39において、プロセッサ302は製品化可能な精度を上回るモデルが得られたか否かを判定する。ステップS39の判定結果がNo判定である場合は、プロセッサ302はステップS33に戻る。すなわち、プロセッサ302は、製品化可能な精度を上回るモデルが得られるまで、ステップS33~ステップS39の処理を反復する。ステップS39の判定結果がYes判定である場合、図6のフローチャートを終了する。
 《評価用プログラム34の説明》
 図7は、評価用プログラム34に基づく統合サーバ30の動作の例を示すフローチャートである。図7に示すフローチャートは、図6のステップS34に適用される。
 図7のステップS41において、プロセッサ302は各マスターモデル候補MMCに対して検証用データTDを入力として推論を実行させる。
 ステップS42において、プロセッサ302は推論の結果と正解データとに基づき各マスターモデル候補MMCの推論精度を算出する。
 ステップS43において、プロセッサ302は各マスターモデル候補MMCの推論精度をデータベース36に保存する。
 ステップS44において、プロセッサ302は各マスターモデル候補MMCの推論精度と精度閾値を比較する。ここで精度閾値と比較するのは、マスターモデル候補の推論精度瞬時値と比較してもよいが、それぞれのマスターモデル候補MMCの作成に用いるクライアントクラスタの構成を固定したまま、ステップS31~S43の手順を何イテレーションか実施し、その際の推論精度を毎回記録し、それらの推論精度の平均値や中央値などの統計値と精度閾値とを比較してもよい。
 ステップS45において、プロセッサ302はステップS44の比較結果を基に精度閾値を下回る推論精度のマスターモデル候補MMCが存在するか否かを判定する。
 ステップS45の判定結果がYes判定である場合、プロセッサ302はステップS46に進む。ステップS46において、プロセッサ302は精度閾値を下回る推論精度のマスターモデル候補の存在を学習用クライアント選別プログラム38に通知する。ここで通知方法はメッセージキューあるいは一般的なプロセス間通信等を用いることができる。
 ステップS46の後、または、ステップS45の判定結果がNo判定である場合、プロセッサ302は図7のフローチャートを終了し、図6のフローチャートに復帰する。
 《統合サーバ30による処理の具体例》
 ここで統合サーバ30による処理のさらに具体的な例を説明する。学習用クライアント選別プログラム38および評価用プログラム34を含む統合サーバ30によって以下に示す[手順301]~[手順311]の処理が実行される。
 [手順301]学習用クライアント選別プログラム38が、学習クライアント群 client_id_array = [1,2,3,...,N,N+1]をK群のクライアントクラスタに分割する。例えば、学習用クライアント選別プログラム38は、client_cluster_1 = [1,3,...,2N+1], client_cluster_2 = [2,4,...,2N]...を作成する。
 [手順302]学習用クライアント選別プログラム38が、K群のclient_cluster_*の学習結果からK個のマスターモデル候補MMCを作成する。なお「*」はクライアントクラスタのインデックスを表す。
 [手順303]その後、検証用データTDを使用し、それぞれのマスターモデル候補MMCに推論を行わせて、得られる推論結果に対して、評価者からのフィードバックを収集する。
 [手順304]各マスターモデル候補の推論結果に対するフィードバックを収集した結果、例えば、client_cluster_X = [...,x,x+1,x+2,...]の成績(推論精度)が精度閾値を下回っていた場合、その旨を示すアラートを評価用プログラム34から学習用クライアント選別プログラム38に向けて発信する。
 [手順305]アラートを受けた学習用クライアント選別プログラム38が、client_cluster_XをL個のサブクラスタclient_cluster_X_1,client_cluster_X_2,...,client_cluster_X_Lに分割する。Lはクライアントクラスタのクライアント数Q以下の整数である。
サブクラスタclient_cluster_X_1, client_cluster_X_2,...,client_cluster_X_Lのそれぞれのクライアント数は同数であってよい。
 [手順306]学習用クライアント選別プログラム38は、前回学習の際に推論精度に問題の無かった一部のクライアントクラスタclient_cluster_Rに、client_cluster_X_1, … , client_cluster_X_Lを混入させて、client_cluster_Raとする。例えば、前回学習の際に推論精度に問題のなかったクライアントクラスタclient_cluster_2に、サブクラスタclient_cluster_X_iを混入させて、client_cluster_2a = client_cluster_2 + client_cluster_X_iとする。ここでiは1以上L以下の整数を表す。
 [手順307]client_cluster_Raに関して、手順301~手順303と同様に、推論モデル(マスターモデル候補)を作成して、その推論精度についてフィードバックを収集する。
 [手順308]client_cluster_Raから作成されたモデルの推論精度がclient_cluster_X_iの混入によって精度閾値を下回るようになった場合、client_cluster_X_iに問題を起こしているクライアントが含まれている可能性が高いと判断する。この場合、次の手順309に進み、さらにクライアントの絞り込みを行う。
 [手順309]再度client_cluster_X_iをp個のサブクラスタに分割し、手順305~手順308を繰り返す。
 [手順310]こうして、問題のありそうなclient_cluster内のクライアント数が十分小さくなったものを精度悪化要因のクライアントクラスタclient_cluster_low_prec_arrayとする。client_cluster_low_prec_array内のクライアントを以降の学習では使用しないようにする。client_cluster_low_prec_arrayのクライアント数は1以上であってよい。client_cluster_low_prec_arrayは、精度悪化要因となっているクライアント以外のクライアントが含まれていてもよい。
 [手順311]製品に採用するマスターモデルは、例えば、上記のプロセスを経て残ったマスターモデル候補の中から、つまり精度の問題が無かったマスターモデル候補の中から推論精度が最良のマスターモデルを選択して使用する。
 こうして本実施形態に係る機械学習システム10を用いて機械学習方法を実施することによって作成された新たなマスターモデルは、学習前のマスターモデルよりも推論精度が向上したマスターモデルとなる。
 本実施形態によれば、マスターモデルMMの推論性能をアップデートすることが可能である。本実施形態に係る機械学習方法を実施することによって作成された新たなマスターモデルを販売等によって提供する場合には、販売時等の添付文書に、学習に使用したクライアント数、および精度検証に使用した検証用データ数などが記載されることが好ましい。学習に使用したクライアント数に関しては、クライアント概要として、例えば、「病院_何件」、「有床診療所_何件」、および「無床診療所_何件」という具合に、クライアントの分類を示すことが好ましい。
 なお、現状の製品であるマスターモデルからバージョンアップを行う際の事前の手続として、前バージョンの推論精度と新バージョンの推論精度とを明示する情報、ならびに、追加の学習に使用したクライアント数と分類を示す情報を合わせて医療機関側に提示し、医療機関側のバージョンアップ前承認を受ける。そして、承認を得た後にバージョンアップを行う。
 《コンピュータのハードウェア構成の例》
 図8は、コンピュータのハードウェア構成の例を示すブロック図である。コンピュータ800は、パーソナルコンピュータであってもよいし、ワークステーションであってもよく、また、サーバコンピュータであってもよい。コンピュータ800は、既に説明したクライアント20、統合サーバ30、PACSサーバ58、CADサーバ60、及び端末62のいずれかの一部または全部、あるいはこれらの複数の機能を備えた装置として用いることができる。
 コンピュータ800は、CPU802、RAM(Random Access Memory)804、ROM(Read Only Memory)806、GPU808、ストレージ810、通信部812、入力装置814、表示装置816およびバス818を備える。なお、GPU808は、必要に応じて設ければよい。
 CPU802は、ROM806またはストレージ810等に記憶された各種のプログラムを読み出し、各種の処理を実行する。RAM804は、CPU802の作業領域として使用される。また、RAM804は、読み出されたプログラムおよび各種のデータを一時的に記憶する記憶部として用いられる。
 ストレージ810は、例えば、ハードディスク装置、光ディスク、光磁気ディスク、若しくは半導体メモリ、またはこれらの適宜の組み合わせを用いて構成される記憶装置を含んで構成される。ストレージ810には、推論処理および/または学習処理等に必要な各種プログラムやデータ等が記憶される。ストレージ810に記憶されているプログラムがRAM804にロードされ、これをCPU802が実行することにより、コンピュータ800は、プログラムで規定される各種の処理を行う手段として機能する。
 通信部812は、有線または無線により外部装置との通信処理を行い、外部装置との間で情報のやり取りを行うインターフェースである。通信部812は、画像等の入力を受け付ける情報取得部の役割を担うことができる。
 入力装置814は、コンピュータ800に対する各種の操作入力を受け付ける入力インターフェースである。入力装置814は、例えば、キーボード、マウス、タッチパネル、若しくはその他のポインティングデバイス、若しくは、音声入力装置、またはこれらの適宜の組み合わせであってよい。
 表示装置816は、各種の情報が表示される出力インターフェースである。表示装置816は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、若しくは、プロジェクタ、またはこれらの適宜の組み合わせであってよい。
 《コンピュータを動作させるプログラムについて》
 上述の実施形態で説明した各クライアント20におけるローカル学習機能、ならびに統合サーバ30におけるマスターモデル候補作成機能および推論精度評価機能を含む学習用クライアント選別機能などの各種の処理機能のうち少なくとも1つの処理機能の一部または全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、若しくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
 またこのような有体物たる非一時的なコンピュータ可読媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
 また、上述の各実施形態で説明したローカル学習機能、学習用クライアント選別機能および推論精度評価機能を含む複数の処理機能のうち少なくとも1つの処理機能の一部または全部をアプリケーションサーバとして提供し、電気通信回線を通じて処理機能を提供するサービスを行うことも可能である。
 《各処理部のハードウェア構成について》
 図3に示すマスターモデル保存部320、検証用データ保存部322、クライアントクラスタ抽出部332、マスターモデル候補作成部334、精度悪化要因抽出部336、除外処理部338、推論部342、推論精度算出部344、精度閾値比較部346、表示制御部350、図4に示す同期処理部631、学習データ取得部632、ローカルモデルLM、誤差演算部634、オプティマイザ635、学習結果保存部636、送信処理部637、AI-CAD部642、および表示制御部650などの各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ(processor)である。
 各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるCPU、画像処理に特化したプロセッサであるGPU、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
 1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種または異種の2つ以上のプロセッサで構成されてもよい。例えば、1つの処理部は、複数のFPGA、或いは、CPUとFPGAの組み合わせ、またはCPUとGPUの組み合わせによって構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第一に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
 さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
 《本実施形態による利点》
 本発明の実施形態に係る機械学習システム10によれば、次のような利点がある。
 [1]診断画像などプライバシーに配慮が必要な個人情報を医療機関側から外部に持ち出すことなく、学習を行うことができる。
 [2]複数のクライアント20の中から、学習に不適な精度悪化要因のクライアントを抽出することができ、問題のあるクライアントを学習クライアント群から除外することができる。
 [3]フェデレーテッドラーニングにおいて学習の精度を担保することが可能になり、問題のある一部のクライアントに起因するマスターモデルの精度低下を抑制することができる。
 [4]推論精度の高いAIモデルを作成することが可能になる。
 《変形例1》
 上述の実施形態では、医用画像診断用のAIモデルを例に説明したが、本開示の技術の適用範囲はこの例に限らず、例えば、入力データとして時系列データを用いるAIモデルまたは入力データとして文書データを用いるAIモデルについて、学習を行う場合にも適用することができる。時系列データは、例えば心電図の波形データなどであってよい。文書データは、例えば診断レポートなどであってよく、レポートの作成支援を行うAIモデルの学習に適用することができる。
 《変形例2》
 統合サーバ30は、精度悪化要因のクライアントに対して、以降の学習から除外する措置をとることに加えて、または、これに代えて、精度悪化要因のクライアントに対して、問題があること伝える通知を行ってもよい。
 《その他》
 上述の実施形態で説明した構成や変形例で説明した事項は、適宜組み合わせて用いることができ、また、一部の事項を置き換えることもできる。本発明は上述した実施形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能である。
10 機械学習システム
20 クライアント
30 統合サーバ
34 評価用プログラム
36 データベース
38 学習用クライアント選別プログラム
50 医療機関ネットワーク
52 CT装置
54 MRI装置
56 CR装置
58 PACSサーバ
60 CADサーバ
62 端末
64 構内通信回線
70 広域通信回線
80 学習データ保存部
302 プロセッサ
304 コンピュータ可読媒体
306 通信インターフェース
308 入出力インターフェース
310 バス
314 入力装置
316 表示装置
320 マスターモデル保存部
322 検証用データ保存部
324 同期プログラム
332 クライアントクラスタ抽出部
334 マスターモデル候補作成部
336 精度悪化要因抽出部
338 除外処理部
342 推論部
344 推論精度算出部
346 精度閾値比較部
350 表示制御部
602 プロセッサ
604 コンピュータ可読媒体
606 通信インターフェース
608 入出力インターフェース
610 バス
614 入力装置
616 表示装置
630 ローカル学習管理プログラム
631 同期処理部
632 学習データ取得部
634 誤差演算部
635 オプティマイザ
636 学習結果保存部
637 送信処理部
640 診断支援プログラム
642 AI-CAD部
650 表示制御部
800 コンピュータ
802 CPU
804 RAM
806 ROM
808 GPU
810 ストレージ
812 通信部
814 入力装置
816 表示装置
818 バス
DM 悪魔マーク
LD ローカルデータ
LM ローカルモデル
MM マスターモデル
MMC マスターモデル候補
MMC1 マスターモデル候補
MMCK マスターモデル候補
TD 検証用データ
S21~S25 ローカル学習管理処理のステップ
S31~S39 学習用クライアント選別処理のステップ
S41~S46 推論精度の評価処理のステップ

Claims (24)

  1.  複数のクライアント端末と、統合サーバと、を含む機械学習システムであって、
     前記複数のクライアント端末のそれぞれは、
     医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行する学習処理部と、
     前記学習モデルの学習結果を前記統合サーバに送信する送信部と、を含み、
     前記統合サーバは、
     学習済みのマスターモデルと、
     前記複数のクライアント端末にそれぞれの前記学習モデルを学習させる前に、各クライアント端末側の前記学習モデルと前記マスターモデルとを同期させる同期処理部と、
     前記複数のクライアント端末からそれぞれの前記学習結果を受信する受信部と、
     前記複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成するクライアントクラスタ作成部と、
     前記クライアントクラスタごとの前記学習結果を統合してマスターモデル候補を前記クライアントクラスタごとに作成するマスターモデル候補作成部と、
     前記クライアントクラスタごとに作成された前記マスターモデル候補のそれぞれの推論精度を評価することにより、前記推論精度が精度閾値を下回っている前記マスターモデル候補を検出する精度評価部と、
     前記推論精度が精度閾値を下回っている前記マスターモデル候補の作成に用いられた前記クライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する精度悪化要因抽出部と、
     を備える機械学習システム。
  2.  前記統合サーバは、
     前記精度悪化要因抽出部によって抽出された前記精度悪化要因の前記クライアント端末を、以降の学習から除外する除外処理部をさらに備える、請求項1に記載の機械学習システム。
  3.  前記統合サーバは、
     前記精度悪化要因抽出部によって抽出された前記精度悪化要因の前記クライアント端末の情報を保存する情報保存部をさらに備える、請求項1または2に記載の機械学習システム。
  4.  前記複数のクライアント端末のそれぞれは、異なる医療機関の医療機関ネットワーク内に設置される端末である、請求項1から3のいずれか一項に記載の機械学習システム。
  5.  前記統合サーバは、医療機関ネットワーク内または医療機関ネットワーク外に設置される、請求項1から4のいずれか一項に記載の機械学習システム。
  6.  前記クライアント端末から前記統合サーバに送信される前記学習結果は、学習後の前記学習モデルの重みパラメータを含む、請求項1から5のいずれか一項に記載の機械学習システム。
  7.  前記学習データとして使用される前記データは、2次元画像、3次元画像、動画像、時系列データおよび文書データのうち少なくとも1つの種類のデータを含む、
     請求項1から6のいずれか一項に記載の機械学習システム。
  8.  前記学習モデル、前記マスターモデル、および前記マスターモデル候補の各モデルは、ニューラルネットワークを用いて構成される、請求項1から7のいずれか一項に記載の機械学習システム。
  9.  前記学習データとして使用される前記データは2次元画像、3次元画像または動画像を含み、
     前記学習モデル、前記マスターモデル、および前記マスターモデル候補の各モデルは、畳み込みニューラルネットワークを用いて構成される、請求項1から8のいずれか一項に記載の機械学習システム。
  10.  前記学習データとして使用される前記データは時系列データまたは文書データを含み、
     前記学習モデル、前記マスターモデル、および前記マスターモデル候補の各モデルは、再帰型ニューラルネットワークを用いて構成される、請求項1から8のいずれか一項に記載の機械学習システム。
  11.  前記複数のクライアントクラスタのそれぞれを構成する前記クライアント端末の数が同数であり、各クライアントクラスタを構成する前記クライアント端末は非重複である、請求項1から10のいずれか一項に記載の機械学習システム。
  12.  前記統合サーバは、
     前記複数のマスターモデル候補のそれぞれが前記複数のクライアントクラスタのうちのどのクライアントクラスタを基に作成されているかという対応関係を示す情報を保存する関連付け情報保存部をさらに備える、請求項1から11のいずれか一項に記載の機械学習システム。
  13.  前記精度評価部は、前記マスターモデル候補のそれぞれの推論精度の瞬時値と前記精度閾値との比較に基づいて、または、前記マスターモデル候補のそれぞれの学習イテレーションにおける推論精度の統計値と前記精度閾値との比較に基づいて、前記マスターモデル候補の推論精度が前記精度閾値を下回っているか否かを判定する、請求項1から12のいずれか一項に記載の機械学習システム。
  14.  前記精度評価部は、前記精度閾値を下回る推論精度の前記マスターモデル候補を検出した場合に、その検出に係る前記マスターモデル候補の情報を前記精度悪化要因抽出部に通知する、請求項1から13のいずれか一項に記載の機械学習システム。
  15.  前記統合サーバは、
     前記クライアントクラスタごとに作成される前記マスターモデル候補のそれぞれの各学習イテレーションにおける推論精度が表示される表示装置をさらに備える、請求項1から14のいずれか一項に記載の機械学習システム。
  16.  検証用データが保存されている検証用データ保存部をさらに備え、
     前記精度評価部は、前記検証用データを用いて前記マスターモデル候補の前記推論精度を評価する、請求項1から15のいずれか一項に記載の機械学習システム。
  17.  複数のクライアント端末と、統合サーバと、を用いる機械学習方法であって、
     前記複数のクライアント端末のそれぞれに学習モデルを学習させる前に、各クライアント端末側の前記学習モデルと、前記統合サーバに保存されている学習済みのマスターモデルとを同期させることと、
     前記複数のクライアント端末のそれぞれが、互いに異なる医療機関のそれぞれのデータ保存装置に保存されているデータを学習データに用いて前記学習モデルの機械学習を実行することと、
     前記複数のクライアント端末のそれぞれが、前記学習モデルの学習結果を前記統合サーバに送信することと、
     前記統合サーバが、
     前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
     前記複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成することと、
     前記クライアントクラスタごとの前記学習結果を統合してマスターモデル候補を前記クライアントクラスタごとに作成することと、
     前記クライアントクラスタごとに作成された前記マスターモデル候補のそれぞれの推論精度を評価することにより、前記推論精度が精度閾値を下回っている前記マスターモデル候補を検出することと、
     前記推論精度が精度閾値を下回っている前記マスターモデル候補の作成に用いられた前記クライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出することと、
     を含む機械学習方法。
  18.  通信回線を介して複数のクライアント端末と接続される統合サーバであって、
     学習済みのマスターモデルを保存しておくマスターモデル保存部と、
     前記複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の前記学習モデルと前記マスターモデルとを同期させる同期処理部と、
     前記複数のクライアント端末からそれぞれの学習結果を受信する受信部と、
     前記複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成するクライアントクラスタ作成部と、
     前記クライアントクラスタごとの前記学習結果を統合してマスターモデル候補を前記クライアントクラスタごとに作成するマスターモデル候補作成部と、
     前記クライアントクラスタごとに作成された前記マスターモデル候補のそれぞれの推論精度を評価することにより、前記推論精度が精度閾値を下回っている前記マスターモデル候補を検出する精度評価部と、
     前記推論精度が精度閾値を下回っている前記マスターモデル候補の作成に用いられた前記クライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する精度悪化要因抽出部と、
     を備える統合サーバ。
  19.  通信回線を介して複数のクライアント端末と接続される統合サーバであって、
     第1のプロセッサと、
     前記第1のプロセッサによって実行される第1のプログラムが記録された非一時的な有体物である第1のコンピュータ可読媒体と、を含み、
     前記第1のプロセッサは、前記第1のプログラムの命令に従い、
     学習済みのマスターモデルを前記第1のコンピュータ可読媒体に保存しておくことと、
     前記複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の前記学習モデルと前記マスターモデルとを同期させることと、
     前記複数のクライアント端末からそれぞれの学習結果を受信することと、
     前記複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成することと、
     前記クライアントクラスタごとの前記学習結果を統合してマスターモデル候補を前記クライアントクラスタごとに作成することと、
     前記クライアントクラスタごとに作成された前記マスターモデル候補のそれぞれの推論精度を評価することにより、前記推論精度が精度閾値を下回っている前記マスターモデル候補を検出することと、
     前記推論精度が精度閾値を下回っている前記マスターモデル候補の作成に用いられた前記クライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出することと、
     を含む処理を実行する、統合サーバ。
  20.  請求項18または19に記載の統合サーバと通信回線を介して接続される前記複数のクライアント端末の一つとして用いられる情報処理装置であって、
     前記統合サーバに保存されている前記マスターモデルと同期させた学習モデルを、学習開始前の初期状態の前記学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて前記学習モデルの機械学習を実行する学習処理部と、
     前記学習モデルの学習結果を前記統合サーバに送信する送信部と、
     を備える情報処理装置。
  21.  請求項18または19に記載の統合サーバと通信回線を介して接続される前記複数のクライアント端末の一つとして用いられる情報処理装置であって、
     第2のプロセッサと、
     前記第2のプロセッサによって実行される第2のプログラムが記録された非一時的な有体物である第2のコンピュータ可読媒体と、を含み、
     前記第2のプロセッサは、前記第2のプログラムの命令に従い、前記統合サーバに保存されている前記マスターモデルと同期させた学習モデルを、学習開始前の初期状態の前記学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて前記学習モデルの機械学習を実行することと、
     前記学習モデルの学習結果を前記統合サーバに送信することと、
     を含む処理を実行する、情報処理装置。
  22.  請求項18または19に記載の統合サーバと通信回線を介して接続される前記複数のクライアント端末の一つとしてコンピュータを機能させるためのプログラムであって、
     前記統合サーバに保存されている前記マスターモデルと同期させた学習モデルを、学習開始前の初期状態の前記学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて前記学習モデルの機械学習を実行する機能と、
     前記学習モデルの学習結果を前記統合サーバに送信する機能と、
     をコンピュータに実現させるためのプログラム。
  23.  通信回線を介して複数のクライアント端末と接続される統合サーバとしてコンピュータを機能させるためのプログラムであって、
     前記コンピュータに、
     学習済みのマスターモデルを保存しておく機能と、
     前記複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の前記学習モデルと前記マスターモデルとを同期させる機能と、
     前記複数のクライアント端末からそれぞれの学習結果を受信する機能と、
     前記複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成する機能と、
     前記クライアントクラスタごとの前記学習結果を統合してマスターモデル候補を前記クライアントクラスタごとに作成する機能と、
     前記クライアントクラスタごとに作成された前記マスターモデル候補のそれぞれの推論精度を評価することにより、前記推論精度が精度閾値を下回っている前記マスターモデル候補を検出する機能と、
     前記推論精度が精度閾値を下回っている前記マスターモデル候補の作成に用いられた前記クライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する機能と、
     を実現させるためのプログラム。
  24.  複数のクライアント端末と、統合サーバと、を用いて機械学習を行うことにより、推論モデルを作成する方法であって、
     前記複数のクライアント端末のそれぞれに学習モデルを学習させる前に、各クライアント端末側の前記学習モデルと、前記統合サーバに保存されている学習済みのマスターモデルとを同期させることと、
     前記複数のクライアント端末のそれぞれが、互いに異なる医療機関のそれぞれのデータ保存装置に保存されているデータを学習データに用いて前記学習モデルの機械学習を実行することと、
     前記複数のクライアント端末のそれぞれが、前記学習モデルの学習結果を前記統合サーバに送信することと、
     前記統合サーバが、
     前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
     前記複数のクライアント端末を複数のグループに分けて複数のクライアントクラスタを作成することと、
     前記クライアントクラスタごとの前記学習結果を統合してマスターモデル候補を前記クライアントクラスタごとに作成することと、
     前記クライアントクラスタごとに作成された前記マスターモデル候補のそれぞれの推論精度を評価することにより、前記推論精度が精度閾値を下回っている前記マスターモデル候補を検出することと、
     前記推論精度が前記精度閾値を下回っている前記マスターモデル候補の作成に用いられた前記クライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出することと、
     前記推論精度が前記精度閾値以上である前記マスターモデル候補を基に、前記マスターモデルよりも推論精度が高い前記推論モデルを作成することと、
     を含む推論モデルの作成方法。
PCT/JP2020/022609 2019-09-26 2020-06-09 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 WO2021059607A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021548338A JP7374202B2 (ja) 2019-09-26 2020-06-09 機械学習システムおよび方法、統合サーバ、プログラムならびに推論モデルの作成方法
DE112020003387.2T DE112020003387T5 (de) 2019-09-26 2020-06-09 System und verfahren für maschinelles lernen, integrationsserver, informationsverarbeitungsvorrichtung, programm und inferenzmodell-erzeugungsverfahren
US17/673,764 US20220172844A1 (en) 2019-09-26 2022-02-16 Machine learning system and method, integration server, information processing apparatus, program, and inference model creation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019175714 2019-09-26
JP2019-175714 2019-09-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/673,764 Continuation US20220172844A1 (en) 2019-09-26 2022-02-16 Machine learning system and method, integration server, information processing apparatus, program, and inference model creation method

Publications (1)

Publication Number Publication Date
WO2021059607A1 true WO2021059607A1 (ja) 2021-04-01

Family

ID=75164976

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/022609 WO2021059607A1 (ja) 2019-09-26 2020-06-09 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法

Country Status (4)

Country Link
US (1) US20220172844A1 (ja)
JP (1) JP7374202B2 (ja)
DE (1) DE112020003387T5 (ja)
WO (1) WO2021059607A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115773562A (zh) * 2022-11-24 2023-03-10 杭州经纬信息技术股份有限公司 基于联邦学习的统一化暖通空调系统故障检测方法
WO2023132791A3 (en) * 2022-01-04 2023-08-10 Nanyang Technological University Method and system for variable on-demand privacy- preserving federated learning using multiparty computation
WO2023188259A1 (ja) * 2022-03-31 2023-10-05 日本電信電話株式会社 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム
EP4283531A1 (en) 2022-05-26 2023-11-29 Hitachi, Ltd. Analysis device, analysis method, and recording medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12026148B2 (en) * 2021-03-24 2024-07-02 International Business Machines Corporation Dynamic updating of digital data
CN117675596A (zh) * 2022-08-09 2024-03-08 华为技术有限公司 一种数据分析方法及装置
WO2024031986A1 (zh) * 2022-08-12 2024-02-15 华为云计算技术有限公司 一种模型管理方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017174298A (ja) * 2016-03-25 2017-09-28 株式会社デンソーアイティーラボラトリ ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法
WO2019022052A1 (ja) * 2017-07-28 2019-01-31 プラスマン合同会社 情報処理装置、システムおよび情報処理方法
WO2019170785A1 (en) * 2018-03-07 2019-09-12 Movidius Ltd. Determining weights of convolutional neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017174298A (ja) * 2016-03-25 2017-09-28 株式会社デンソーアイティーラボラトリ ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法
WO2019022052A1 (ja) * 2017-07-28 2019-01-31 プラスマン合同会社 情報処理装置、システムおよび情報処理方法
WO2019170785A1 (en) * 2018-03-07 2019-09-12 Movidius Ltd. Determining weights of convolutional neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUNG CLEMENT, YOON CHRIS, BESCHASTNIKH IVAN: "Mitigating Sybils in Federated Learning Poisoning", ARXIV:1808.04866V4, May 2019 (2019-05-01), pages 1 - 16, XP080896917, Retrieved from the Internet <URL:https://arxiv.org/pdf/1808.04866v4> [retrieved on 20200827] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023132791A3 (en) * 2022-01-04 2023-08-10 Nanyang Technological University Method and system for variable on-demand privacy- preserving federated learning using multiparty computation
WO2023188259A1 (ja) * 2022-03-31 2023-10-05 日本電信電話株式会社 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム
EP4283531A1 (en) 2022-05-26 2023-11-29 Hitachi, Ltd. Analysis device, analysis method, and recording medium
CN115773562A (zh) * 2022-11-24 2023-03-10 杭州经纬信息技术股份有限公司 基于联邦学习的统一化暖通空调系统故障检测方法

Also Published As

Publication number Publication date
US20220172844A1 (en) 2022-06-02
DE112020003387T5 (de) 2022-04-14
JPWO2021059607A1 (ja) 2021-04-01
JP7374202B2 (ja) 2023-11-06

Similar Documents

Publication Publication Date Title
WO2021059607A1 (ja) 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
CN107492090B (zh) 根据合成数据利用机器学习的基于图像的肿瘤表型分析
CN108784655B (zh) 针对医疗患者的快速评估和后果分析
US10825167B2 (en) Rapid assessment and outcome analysis for medical patients
WO2021079792A1 (ja) 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
CN111127389B (zh) 用于医疗保健的可扩展人工智能模型生成系统和方法
US11037070B2 (en) Diagnostic test planning using machine learning techniques
WO2021059604A1 (ja) 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
US20180144244A1 (en) Distributed clinical workflow training of deep learning neural networks
Heidari et al. A new lung cancer detection method based on the chest CT images using Federated Learning and blockchain systems
CN110114834A (zh) 用于医疗程序的深度学习医疗系统和方法
WO2019104096A1 (en) Multi-modal computer-aided diagnosis systems and methods for prostate cancer
McEvoy et al. Using machine learning to classify image features from canine pelvic radiographs: evaluation of partial least squares discriminant analysis and artificial neural network models
CN113168912B (zh) 使用深度学习确定3d数据集中对象的增长速度
JP7066385B2 (ja) 情報処理方法、情報処理装置、情報処理システム及びプログラム
Dack et al. Artificial intelligence and interstitial lung disease: Diagnosis and prognosis
Gao et al. Chest X-ray image analysis and classification for COVID-19 pneumonia detection using Deep CNN
Suman et al. Attention based CNN-LSTM network for pulmonary embolism prediction on chest computed tomography pulmonary angiograms
US20210151169A1 (en) Methods And Systems For Remote Analysis Of Medical Image Records
Selvapandian et al. Lung cancer detection and severity level classification using sine cosine sail fish optimization based generative adversarial network with CT images
US20230004785A1 (en) Machine learning system and method, integration server, information processing apparatus, program, and inference model creation method
Petousis et al. Generating reward functions using IRL towards individualized cancer screening
US9526457B2 (en) Predictive intervertebral disc degeneration detection engine
Bo et al. Relay learning: a physically secure framework for clinical multi-site deep learning
Thool et al. Artificial Intelligence in Medical Imaging Data Analytics using CT Images

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20868032

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021548338

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 20868032

Country of ref document: EP

Kind code of ref document: A1