WO2021193815A1 - 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 - Google Patents
機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 Download PDFInfo
- Publication number
- WO2021193815A1 WO2021193815A1 PCT/JP2021/012512 JP2021012512W WO2021193815A1 WO 2021193815 A1 WO2021193815 A1 WO 2021193815A1 JP 2021012512 W JP2021012512 W JP 2021012512W WO 2021193815 A1 WO2021193815 A1 WO 2021193815A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- learning
- model
- integrated server
- client terminal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT 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/20—ICT 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 management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/40—ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT 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 for 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 parameters 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.
- federated learning is used for the development of medical AI, it is not necessary to take out data such as diagnostic images.
- data such as diagnostic images.
- the content of the data held by each medical institution varies, and the learning environment differs for each client, so the results of learning carried out by each client also vary.
- the present invention has been made in view of such circumstances, and is federated so that the AI model can be learned without taking out personal information such as diagnostic images that require consideration for privacy from the medical institution side.
- Machine learning systems and methods, integrated servers, information processing devices, etc. that can suppress bias in the inference accuracy of AI models caused by randomly selecting learning data to train AI models when implementing a learning mechanism.
- the purpose is to provide a method for creating programs and 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 within each medical institution system of a plurality of medical institutions.
- Each client terminal includes a first processor, a first computer-readable medium in which a first program executed by the first processor is recorded, and a first processor.
- Acquires data search conditions from the integrated server according to the instructions of the first program searches for data that matches the search conditions from the medical institution system to which the client terminal belongs, and aggregates the search results.
- the data existing in the medical institution system to which the client terminal belongs is used as the training data to execute machine learning of the local model to be learned, and the learning result of the local model is transmitted to the integrated server.
- the integrated server includes a second processor and a second computer-readable medium in which a second program executed by the second processor is recorded, and the second processor is a second processor.
- the master model to be learned is stored in the second computer-readable medium, and the input for specifying the search condition when searching the data existing in the medical institution system is accepted. , Send the specified search condition to multiple client terminals, receive the aggregated result showing the number of data matching the search condition from each client terminal, and the required number of training data to be used for learning.
- the distribution information including the specification of the number of training data distributed according to is transmitted to each client terminal, and the local model and master on each client terminal side before training the local model on each client terminal. Synchronizing with the model, receiving each learning result from multiple client terminals, and receiving Perform processing including updating the master model by integrating the learned learning results.
- data search conditions can be set from the integrated server to search the data in the medical institution system of each medical institution, and the data possession status of each medical institution can be grasped on the integrated server. .. Further, according to this aspect, the type and number of learning data to be used for learning on each client terminal can be specified from the integrated server by receiving the aggregated result of the number of data items matching the search result, and the learning data can be specified. Bias can be suppressed. This makes it possible to suppress the bias of the inference accuracy of the model obtained by performing the learning.
- the "plurality of client terminals" may be an unspecified number of client terminals.
- the client terminal may be configured to include a data storage device that stores data in the medical institution system, or the data storage device and the client terminal may be separate devices.
- the second processor further notifies that the required number is satisfied when the total number of data matching the search conditions exceeds the required number. It can be configured.
- the first processor has the authority to execute a third program that generates new secondary data using the primary data existing in the medical institution system.
- the second processor is used when the total number of data matching the search conditions is less than the required number and when the data matching the search conditions can be obtained by operating the third program, respectively.
- the first processor may execute a third program based on the additional generation distribution information to generate new secondary data by performing processing including transmission and transmission.
- the first processor may be configured to start learning the local model when the generation of secondary data for a specified number of additional data items is completed. ..
- the third program can be configured to include a trained model in which secondary data is output by inputting primary data.
- 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 local model after learning.
- the target data searched by the search condition is at least one type of data among two-dimensional image, three-dimensional image, moving image, time series data, and document data. It can be configured to include.
- the document data may be configured to include the findings of the electronic medical record.
- a combination of an image and a finding sentence associated with the image is used as learning data, and corresponds to the input image.
- the learning can be configured to output the findings to be made.
- each training target model of the local model and the master model 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 training data includes a two-dimensional image, a three-dimensional image, or a moving image
- each training target model of the local model and the master model is a convolutional neural network. It may be configured using a network.
- the data used as training data includes time series data or document data, and each training target model of the local model and the master model uses a recurrent neural network. It may be configured using.
- the machine learning method is a machine learning method using a plurality of client terminals and an integrated server, in which each of the plurality of client terminals is a medical institution system of a plurality of medical institutions.
- the master model to be learned is stored in the integrated server, and the integrated server accepts the input to specify the search conditions when searching the data existing in the medical institution system.
- Aggregating the results sending the aggregation result indicating the number of data matching the search conditions to the integrated server, and the integrated server sending the aggregation result indicating the number of data matching the search conditions from each client terminal.
- Used for learning on each client terminal based on receiving, accepting input that specifies the required number of training data to be used for learning, and based on the required number of specified training data and the received aggregation result.
- Distributing the number of training data to be performed transmitting distribution information including the specification of the number of training data distributed according to each client terminal to each client terminal, and local model to each client terminal. Before training, synchronize the local model and master model on each client terminal side, and the client terminal receives distribution information that specifies the type and number of training data used for training on the client terminal.
- the data existing in the medical institution system to which the client terminal belongs is used as the training data to execute machine learning of the local model to be learned, and the learning result of the local model is integrated into the integrated server.
- the integrated server includes receiving each learning result from a plurality of client terminals, and integrating the received learning result to update the master model.
- the information processing device is an information processing device used as a client terminal connected to an integrated server via a communication line, and the information processing device is installed in a medical institution system of a medical institution.
- data search conditions are acquired from the integrated server, data that matches the search conditions is searched from within the medical institution system to which the client terminal belongs, and the search results are aggregated, and the number of data that matches the search conditions.
- the client terminal belongs to Processing including execution of machine learning of the local model to be trained using the data existing in the medical institution system as training data and transmission of the learning result of the local model to the integrated server are performed.
- the first processor has the authority to execute a third program that generates new secondary data using the primary data existing in the medical institution system. According to the number of additional data items specified by the integrated server, the third program can be executed to generate new secondary data.
- the program according to another aspect of the present disclosure is a program for operating the first computer as a client terminal connected to the integrated server via a communication line, and the first computer receives data from the integrated server.
- An integrated server that has a function to acquire search conditions, a function to search data that matches the search conditions from the medical institution system to which the client terminal belongs, and aggregate the search results, and an aggregation result that indicates the number of data that matches the search conditions. It exists in the medical institution system to which the client terminal belongs according to the function to send to, the function to receive the distribution information in which the type and number of learning data used for learning on the client terminal are specified, and the instruction of the distribution information. It is a program for realizing a function of executing machine learning of a local model to be trained by using data as training data and a function of transmitting the learning result of the local model to an integrated server.
- the integrated server is an integrated server connected to a plurality of client terminals via a communication line, in which a second processor and a second program executed by the second processor are used.
- each client receives the aggregation result indicating the number of data matching the search conditions from, accepts the input to specify the required number of training data to be used for learning, and the required number of specified learning data and the received aggregation result.
- each client distributes the number of training data used for learning on each client terminal, and distributes information including the specification of the number of training data distributed according to each client terminal.
- each client terminal has the authority to execute a third program that generates new secondary data using the primary data existing in the medical institution system.
- the second processor may be used.
- Each client terminal distributes the number of additional data items for which additional data generation is requested to each client terminal, and the additional generation distribution information including the specification of the number of additional data items distributed according to each client terminal. It can be configured to send to and perform processing including.
- the program according to another aspect of the present disclosure is a program for operating a second computer as an integrated server connected to a plurality of client terminals via a communication line, and is a program to be learned by the second computer.
- a function to save the master model a function to accept input to specify search conditions when searching data existing in the medical institution system to which each of multiple client terminals belongs, and multiple specified search conditions.
- a function to send to client terminals a function to receive aggregated results indicating the number of data matching the search conditions from each client terminal, and a function to accept input to specify the required number of learning data to be used for learning.
- 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 each of the plurality of client terminals. However, it is installed in each medical institution system of multiple medical institutions, and the master model to be learned is stored in the integrated server, and when the integrated server searches the data existing in the medical institution system.
- Transmission synchronization of the local model and master model on each client terminal side before training the local model on each client terminal, and learning data used by the client terminal for training on the client terminal.
- Receive distribution information with the type and number specified, and execute machine learning of the local model to be learned using the data existing in the medical institution system to which the client terminal belongs as training data according to the instructions of the distribution information.
- To update the master model by integrating the learning results of the local model to the integrated server, receiving the learning results from multiple client terminals, and integrating the received learning results. This includes creating an inference model with higher inference accuracy than the master model before the update.
- 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 "AI model”.
- the inference model may be a model that generates data.
- a mechanism for designating search conditions from an integrated server and confirming the possession status of data in each medical institution system is provided.
- the type and number of learning data used for learning on each client terminal can be specified from the integrated server for each medical institution, it is possible to suppress the bias of the learning data. , It becomes possible to suppress the bias of the inference accuracy of the AI model obtained by learning.
- FIG. 1 is a conceptual diagram showing an outline of operations in a machine learning system according to an embodiment of the present invention.
- FIG. 2 is an explanatory diagram regarding the types of learning data.
- FIG. 3 is a conceptual diagram showing an outline of the operation of the machine learning system when the total number of learning data is insufficient.
- FIG. 4 is a diagram schematically showing a system configuration example of the machine learning system according to the embodiment of the present invention.
- FIG. 5 is a block diagram showing a configuration example of the integrated server.
- FIG. 6 is a flowchart showing an example of the operation of the integrated server based on the data acquisition program setting I / F program.
- FIG. 7 is a flowchart showing an example of the operation of the integrated server based on the data acquisition program setting I / F program.
- FIG. 1 is a conceptual diagram showing an outline of operations in a machine learning system according to an embodiment of the present invention.
- FIG. 2 is an explanatory diagram regarding the types of learning data.
- FIG. 3 is
- FIG. 8 is a flowchart showing an example of the operation of the integrated server based on the data acquisition program setting I / F program.
- FIG. 9 is a block diagram showing a configuration example of a terminal on the medical institution network.
- FIG. 10 is a flowchart showing an example of the operation of the terminal based on the data acquisition program.
- FIG. 11 is a flowchart showing an example of the operation of the terminal based on the local learning management program.
- FIG. 12 is a flowchart showing an example of the operation of the integrated server based on the master model learning management program.
- FIG. 13 is a flowchart showing an example of processing for evaluating the inference accuracy of the master model candidate in the integrated server.
- FIG. 14 is a block diagram showing an example of a computer hardware configuration.
- FIG. 1 is a conceptual diagram showing an outline of operations in the machine learning system 10 according to the embodiment of the present invention.
- the machine learning system 10 is a computer system that performs machine learning by utilizing a federated learning mechanism. Federaled learning is sometimes referred to as "federated learning,””distributedlearning,””cooperativelearning,” or "federated learning.”
- the machine learning system 10 includes a terminal 20 installed on a network in each medical institution of a plurality of medical institutions, and an integrated server 30.
- the terminal 20 refers to a computational resource existing in a network that can safely access data in the medical institution, and the terminal 20 does not have to physically exist in the medical institution. That is, the terminal 20 of each medical institution may be a physical machine or a virtual machine, and the specific form is not limited.
- the terminal 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 data group exists for each data group to be trained by the AI model to be trained.
- 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 terminal 20 for approximately one medical institution.
- a computer system built on the medical institution network of each medical institution is called a medical institution system MS.
- a typical example of a medical institution is a "hospital”.
- the indications of "Hospital 1 Client”, “Hospital 2 Client” ... “Hospital N Client” shown in FIG. 1 represent the medical institution system MS of each medical institution.
- the number after "hospital” is an index as an identification number that identifies each medical institution (hospital).
- the index number may be understood as the client ID number (identification number) of the terminal 20, or may be understood as the "client ID number” of the medical institution having the medical institution system MS including the terminal 20.
- Each medical institution system MS includes an information system that stores and manages various medical information in the medical institution, such as a DICOM (Digital Imaging and Communication in Medicine) server 22 and an electronic medical record system 24, in addition to the terminal 20.
- the DICOM server 22 is a server that operates according to the DICOM specifications.
- the DICOM server 22 is a computer that stores and manages various data including medical images such as CT images and MRI images, and includes a large-capacity external storage device and database management software.
- the electronic medical record system 24 is a computer system that creates, edits, stores, and manages electronic medical records.
- the electronic medical record system 24 includes a large-capacity external storage device for storing electronic medical record data and the like, and database management software.
- the display of "dots" shown below the electronic medical record system 24 indicates that other information systems (not shown) may exist.
- Other information systems may be any system that manages data within a medical institution and can be searched, and the content of the data is not limited.
- the terminal 20 of each medical institution includes a data collection program 220 and a local learning management program 250.
- the data collection program 220 searches and collects data used for learning from the medical institution network in accordance with instructions from the integrated server 30.
- the data collection program 220 has a function of recording which data in the medical institution system MS matches the search conditions specified by the AI model (master model) developer 80, and the specified search conditions. It has a function of totaling the number of matching data items and a function of transmitting the totaled number of data items to the integrated server 30.
- the search conditions used by the data collection program 220 are given by the integrated server 30.
- the data to be learned to be searched according to the search conditions may be any data stored in the system to which the data collection program 220 in each terminal 20 is permitted to connect.
- the data to be searched is electronic medical record data, two-dimensional medical image, three-dimensional medical image, or moving image, a combination of electronic medical record findings and two-dimensional images, or electronic medical record findings. It may be a combination of a sentence and a three-dimensional image.
- the local learning management program 250 is a client program for distributed learning, and in cooperation with the data collection program 220, the learning process of the learning target local model LM is performed by using the local data stored in the medical institution system MS as the learning data. I do.
- the local data refers to data stored in the medical institution system MS to which the terminal 20 belongs.
- the local learning management program 250 has a function of starting learning of the learning target local model LM and transmitting a learned weight parameter file to the integrated server 30. That is, the local learning management program 250 synchronizes the learning target master model MM and the learning target local model LM before learning, starts local learning, sets the end condition of local learning, and performs local learning at the end of local learning. It has a function of transmitting the learning result to the integrated server 30.
- the learning target local model LM is an AI model to be learned, and learning is carried out using each local data in each medical institution.
- the learning target local model LM may be simply described as a “local model”. Learning the local model LM using local data is called "local learning”.
- the local model LM is synchronized with the learning target master model MM of the integrated server 30 before starting learning.
- the integrated server 30 includes a data acquisition program setting interface (I / F) 32 and a learning target master model MM.
- I / F is an abbreviation for "interface”.
- the data collection program setting interface 32 provides various data collection programs 220 of each medical institution system MS, such as what kind of data is to be searched for, what kind of data type is used for learning, and so on. It is an interface for setting conditions. When a plurality of types of data are used for learning, the number of data items for each data type used for learning is set.
- the data collection program 220 deployed on the terminal 20 of each medical institution has a number of data matching the search conditions instructed from the integrated server 30 side for each type in the medical institution system MS to which the terminal 20 belongs.
- the data is searched and aggregated, and the aggregated result is transmitted to the integrated server 30.
- the learning target master model MM is the master model to be learned this time.
- the learning target master model MM represents a learning model for obtaining an AI model that is desired to be released as a product.
- the learning target master model MM may be simply described as a "master model”.
- the integrated server 30 may exist on the computer network to which the AI model developer 80 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 medical AI located geographically away from a medical institution or on the cloud.
- the development entity 80 represents a company or the like that is trying to train the master model MM to be learned in order to commercialize the AI model or further improve the performance of the existing AI model.
- the term developer 80 also includes developers, operators, and the like belonging to companies and the like.
- the integrated server 30 grasps the possession status of data that can be used as learning data for each medical institution through the data collection program setting interface 32, and secures the required number of learning data for the entire learning.
- the number of learning data used for local learning on each terminal 20 is distributed.
- local learning is executed using the number of learning data specified from the integrated server 30.
- the integrated server 30 receives the learning results from the terminals 20 of a plurality of medical institutions, integrates the learning results, and updates the master model MM.
- the master model MM and the local model LM are collectively called a "learning target model".
- the learning target model may be, for example, an AI model for medical image diagnosis assuming application to a CAD (Computer Aided Detection / Diagnosis) system.
- CAD Computer Aided Detection / Diagnosis
- the term "CAD” includes the concepts of both computer-aided detection (CADe) and computer-aided diagnosis (CADx).
- the learning target model may be, for example, an AI model for report creation support that supports the creation of a document such as a finding sentence.
- the term "findings" includes the concept of diagnostic reports.
- the AI model 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 "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.
- An AI model for medical diagnostic imaging can be constructed using, for example, various convolutional neural networks (CNNs) having a convolutional layer.
- the input data for the AI model is, for example, a medical image such as a two-dimensional image, a three-dimensional image, or a moving image
- the output from the AI model is, for example, information indicating the position of a disease region (lesion site) in the image, or It may be information indicating a classification such as a disease name, or a combination thereof.
- An AI model that handles time-series data, document data, etc. can be constructed using, for example, various recurrent neural networks (RNNs).
- the time series data includes, for example, ECG waveform data.
- Document data includes, for example, findings created by a doctor.
- the integrated server 30 is provided with a data collection program setting interface 32 for the developer 80 who is planning the learning plan of the AI model to specify the search conditions.
- the development subject 80 can specify search conditions through the data collection program setting interface 32.
- the operation [1] in FIG. 1 represents the operation in which the development subject 80 specifies the search condition.
- the search condition is, for example, a condition such as totaling the number of data in which suriglass-like shadows are detected as a result of lung CAD execution, and this is a database that stores AI processing results in each medical institution. You can search by contacting us.
- Lung CAD uses, for example, a CT (Computed Tomography) image of the lung as input data, and AI processing using a learned AI model that outputs detection results of a lung disease region and / or recognition result of a disease name (disease name). This is an example of a module.
- the "learned AI model" here is an AI model that has already been delivered (completed) as a product.
- the AI processing module for medical use is not limited to lung CAD, and may have various types such as brain CAD and gastrointestinal CAD.
- the brain CAD uses, for example, an MRI (Magnetic Resonance Imaging) image of the brain as input data to output a detection result of a disease region and / or a recognition result of a disease name.
- the gastrointestinal CAD uses, for example, an endoscopic image of the digestive system such as the stomach and / or the intestine as input data to output a detection result of a disease region (lesion) and / or a recognition result of a disease name.
- search condition setting file As the search condition used by the data collection program 220, for example, structural data such as JSON (JavaScript Object Notation) is given as a search condition setting file. "JavaScript” is a registered trademark.
- JSON JavaScript Object Notation
- the operation [2] in FIG. 1 indicates that the search condition setting file is given to the data collection program 220.
- the data collection program 220 reads the search condition setting file, and follows the instructions of the search condition setting file for a system that stores data that can be learned, such as the DICOM server 22 and / or the electronic medical record system 24. To search the data.
- the operation [3] in FIG. 1 represents a data search process by the data collection program 220.
- the search condition setting file does not have to be a structural data file, and is given a search destination searched by the data collection program 220 and a plurality of or a single parameter necessary for constructing a search query to the search destination. Any data in such a format may be used.
- the search condition may be a single search condition such as only the data in the DICOM server 22 that stores the image inspection result, or the findings of interstitial pneumonia in the electronic medical record system 24, for example.
- the search condition may be such that the electronic medical record data of the patient and the test result image associated with the electronic medical record data are searched, which spans a plurality of systems in the medical institution.
- the data collection program 220 stores the locations of data that match the search conditions in a data storage unit (search result storage unit) such as a database, aggregates the number of data items, and sends the data to the integrated server 30. Only the number of data items is transmitted here.
- the description "only the number of data items" here means that the data itself that matches the search results such as images and electronic medical record data that satisfy the search conditions is not transmitted, but the information on the number of data items that match the search conditions is transmitted. Means.
- the operation [4] in FIG. 1 indicates that the aggregation result of the number of data items is transmitted to the integrated server 30, and that the integrated server 30 receives the aggregation result.
- the integrated server 30 receives the aggregation result from the data collection program 220 and saves the aggregation result in a data storage unit (aggregation result storage unit) such as a database.
- a data storage unit aggregation result storage unit
- the development entity 80 planning to learn the AI model sets how many data matching the specified search conditions are required through the data collection program setting interface 32 of the integrated server 30. For example, the development subject 80 sets the number of data required for learning, such as the need for 1000 data in which ground glass-like shadows are detected as a result of lung CAD execution.
- the operation [5] in FIG. 1 represents an input operation in which the development subject 80 sets the required number of data items (required number of items).
- the integrated server 30 distributes how many data should be used for learning at the terminal 20 of each medical institution based on the search condition of the data required for learning and the required number of the data.
- the distribution information is transmitted to the data collection program 220 existing in the medical institution system MS of each medical institution.
- the operation [6] in FIG. 1 represents the transmission of distribution information.
- the term “distribution” as used herein means, for example, when the integrated server 30 inputs that 1000 pieces of data in which suriglass-like shadows are detected as a result of lung CAD execution are required, 100 cases are performed by the client of hospital A and 46 cases are performed by hospital B. In case of hospital C, it is assumed that the number of data is assigned to each medical institution.
- an upper limit is set for the number of data items distributed to each medical institution.
- the distribution to each medical institution determined by the integrated server 30 is determined, for example, that the number of data used for local learning at each medical institution is up to 100 for one medical institution. In this case, if the number of learning data matching the search conditions is 100 or more in a certain medical institution, up to 100 of them are distributed so as to be used for learning, and the number of learning data matching the search conditions is 100. If the number of learning data does not meet the requirements, for example, if the medical institution has only 46 learning data that match the search conditions, the 46 learning data will be used for learning. A format is applied in which each medical institution distributes the number of data used for learning until the required number of data (for example, 1000) is reached.
- the distribution rule is not limited to the above example.
- the data collection program 220 that receives the number of data items that match the search conditions to be used for learning from the integrated server 30 can read the data that matches the conditions as learning data by the local learning management program 250, if necessary.
- the local learning management program 250 is started, and learning of the learning target local model (local learning model) LM is started.
- the operation [7] in FIG. 1 indicates that the local learning management program 250 is started, and the operation [8] indicates that the learning of the learning target local model LM is started.
- the same data will be used for subsequent learning until the settings are changed or the learning of the master model MM on the integrated server 30 is completed.
- the ring-shaped arrow shown as the operation [9] in FIG. 1 indicates that learning is performed on the local model LM.
- the local learning management program 250 transmits the learned weight parameter to the integrated server 30 after the learning of the local model LM is completed.
- the integrated server 30 integrates the learned weight parameters acquired from the terminals 20 in each medical institution to update the learning target master model MM.
- the operation [10] in FIG. 1 indicates that the local learning management program 250 acquires the learned weight parameters of the local model LM after the learning is completed, and the operation [11] transmits the learned weight parameters to the integrated server 30. It means that it will be done.
- the learning completion condition of the local model LM may be that it ends after the specified number of inferences, or the verification data is retained in the medical institution network, and the correct answer data shown in the verification data and the local
- the inference accuracy may be calculated by comparing with the inference result of the model LM, and learning may be performed until the specified ratio of accuracy improvement is achieved. It may be a method such as learning.
- steps 1 to 10 The flow described in steps 1 to 10 above is an example in which the total number of data items (total number) matching the search conditions is equal to or greater than the number of data items required for learning, and the total number of learning data items is sufficient. This is the flow of cases. On the other hand, in actual operation, it is assumed that the number of data required for learning is not sufficient.
- FIG. 2 is an explanatory diagram regarding the types of learning data.
- “primary data” and “secondary data” are defined as follows.
- Data that cannot be automatically generated systematically such as images that cannot be generated unless the patient is photographed using a modality such as an X-ray imaging device or MRI device, or findings that cannot be generated unless written by a doctor, are "primary.” Defined as "data”.
- Secondary data is data that can be generated by a computer using the primary data.
- a CT image A and a finding sentence associated with the CT image A are shown as examples of the primary data.
- the CT image A is an image taken by a CT device.
- the findings associated with the CT image A are the findings written by the doctor who made the diagnosis using the CT image A.
- "Associating" means "associating".
- the processing result of the lung disease region extraction AI performed on the CT image A is shown.
- the data of this processing result may be, for example, a bounding box and / or a segmentation image showing a lung disease region extracted from CT image A.
- the following is assumed as a combination of the learning target model as the local model LM and the master model MM described in FIG. 1 and the type of learning data used for learning.
- FIG. 3 is a conceptual diagram showing an outline of the operation of the machine learning system 10 when the total number of learning data is insufficient. The configuration shown in FIG. 3 will be described focusing on the points different from those in FIG.
- the development subject 80 knows how many data matching the set search conditions exist in total via the system in the flow of the operations [1] to [4] in FIG.
- the operations [1] to [4] up to this point are the same as those of ⁇ Procedure 1> to ⁇ Procedure 4> described above.
- the development entity 80 knows that, for example, 100 data matching the search conditions exist through the data collection program setting interface 32. On the other hand, the developer 80 wants to actually use 200 data for learning, and assumes a situation where 100 data required for learning are insufficient. In such a case, the possible correspondence of the development entity 80 differs depending on which of the above-mentioned assumptions A, B, and C is the data required for learning. The corrective action will be explained.
- the development subject 80 specifies how many result data generated from which delivered AI model 26 is required via the data acquisition program setting interface 32 in the operation [5] in FIG.
- the data collection program setting interface 32 distributes the execution condition of the additional generation specified in the operation [5] in FIG. 3 to the data collection program 220 existing in each medical institution.
- the operation [6] in FIG. 3 represents the flow of distribution related to this additional generation.
- the distribution here is when you want the execution result of the delivered AI model 26 for 100 additional cases as a whole. For example, if there are 10 medical institutions, each facility will generate 10 additional cases. It is assumed that the work sharing of additional processing such as executing the processing will be allocated.
- the data collection program 220 of each medical institution that received the execution condition by the operation [6] executes the processing for 10 cases for the delivered AI model 26 that matches the execution condition.
- the operation [7] in FIG. 3 indicates that the data acquisition program 220 executes additional processing using the delivered AI model 26 according to the specified execution conditions.
- the operation [8] in FIG. 3 indicates that the delivered AI model 26 that received the execution instruction in the operation [7] additionally generates the secondary data.
- the operation [9] in FIG. 3 indicates that the secondary data (result data) generated by the delivered AI model 26 is stored in an appropriate place.
- the operation [10] in FIG. 3 represents an operation of notifying the data collection program 220 that the data addition processing for the specified number of cases has been completed.
- the data collection program 220 Upon receiving this notification, the data collection program 220 notifies the local learning management program 250 that the necessary learning data has been prepared in the operation [11], and learns the learning target local model LM by the local learning management program 250. Let's get started.
- the subsequent flow of the operation related to learning is the same as the operation [8] to [11] described with reference to FIG.
- the operation [12], the operation [13], and the operation [14] in FIG. 3 are the same as the operation [9], the operation [10], and the operation [11] in FIG.
- FIG. 4 is a diagram schematically showing a system configuration example of the machine learning system 10.
- 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 device 52, an MRI device 54, a CR (Computed Radiography) device 56, a DICOM server 22, an electronic medical record system 24, an AI server 60, terminals 20, 62, and a premises communication line. It is a computer network including 66.
- 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. 4, 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 DICOM server 22 communicates with other devices via the premises communication line 66, and transmits and receives various data including image data.
- the DICOM server 22 receives various data including image data and other 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 66, and receives a large-capacity external storage device or the like. Save and manage on a recording medium.
- the storage format of image data and communication between each device via the premises communication line 66 are based on a protocol such as DICOM.
- Various data stored on the medical institution network 50 such as the DICOM server 22 and the electronic medical record system 24 can be used as learning data. It is also possible to store the learning data created based on the data stored in the DICOM server 22 and / or the electronic medical record system 24 or the like in the terminal 20 or other appropriate storage.
- the AI server 60 executes CAD processing using the AI model already provided as a product version.
- the AI server 60 includes at least one AI processing module, such as, for example, lung CAD and / or brain CAD.
- the AI processing module in the AI server 60 corresponds to the delivered AI model 26 described with reference to FIG.
- the AI processing module in the AI server 60 and the delivered AI model 26 are examples of the "third program" in the present disclosure.
- the AI server 60 may include a plurality of types of delivered AI models 26.
- the AI server 60 can acquire data from the DICOM server 22 or the like via the premises communication line 66.
- Various data stored in databases such as the DICOM server 22 and / electronic medical record system 24, and various information including the inference result by the AI server 60 can be displayed on the terminals 20 and 62 connected to the premises communication line 66. can.
- the terminal 20 is a learning processing terminal that executes local learning as described in FIG.
- the terminal 20 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 terminal 20 can acquire data from the DICOM server 22 and / or the electronic medical record system 24 or the like via the premises communication line 66.
- the terminal 20 has the execution authority of the AI processing module in the AI server 60, and when an instruction to additionally generate data is received from the integrated server 30, the AI processing module is operated to make a new one. Generate additional training data.
- a part or all of the processing functions of the terminal 20 may be mounted on the AI server 60.
- 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 terminals 20 and 62 is not particularly limited, and may be a personal computer, a workstation, a tablet terminal, or the like.
- a medical institution network 50 having a similar system configuration is constructed in each of a plurality of medical institutions.
- the integrated server 30 communicates with the terminal 20 of each medical institution network 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. 5 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. This is achieved by installing a program on your 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.
- Processor 302 is an example of a "second processor" in the present disclosure.
- the computer-readable medium 304 is an example of the "second 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 plurality of combinations thereof.
- the integrated server 30 is connected to the wide area communication line 70 (see FIG. 4) via the communication interface 306.
- the computer-readable medium 304 stores various programs and data including a data collection program setting I / F program 320, a synchronization program 330, a learning target master model MM, a master model learning management program 340, a display control program 350, and a database 360. ing.
- the data collection program setting I / F program 320 is a program for realizing the data collection program setting interface 32 described with reference to FIGS. 1 and 3.
- the processor 302 executes the instruction of the data collection program setting I / F program 320, the computer functions as the data collection program setting interface 32 (see FIG. 1) together with the user interface including the input device 314 and the display device 316.
- the processor 302 functions as a search condition input reception unit 321 but a setting file generation unit 322, an aggregation result acquisition unit 323, and a learning data number distribution unit 324 by executing the instruction of the data collection program setting I / F program 320.
- the search condition input reception unit 321 accepts the input of the search condition from the operator of the development subject 80.
- the setting file generation unit 322 generates a search condition setting file based on the input search condition.
- the aggregation result acquisition unit 323 acquires the aggregation result of the number of data matching the search conditions from the terminal 20 of each medical institution, and stores the aggregation result in the database 360.
- the learning data number distribution unit 324 distributes the number (number of cases) of learning data used for learning at each medical institution according to a predetermined distribution rule based on the aggregation result obtained from the terminal 20 of each medical institution. Distribution information is transmitted to the data collection program 220 of each medical institution.
- the processor 302 functions as a notification setting input reception unit 325, a notification determination unit 326, an additional instruction reception unit 327, and an additional generation distribution unit 328 by executing the instruction of the data acquisition program setting I / F program 320.
- the notification setting input receiving unit 325 receives the input related to the notification setting described as [Case of Assumption A].
- the notification determination unit 326 determines whether or not the total number of data matching the search conditions exceeds the required number, and determines whether or not the notification is possible.
- the addition instruction reception unit 327 accepts inputs for designating the type and number of data that need to be added.
- the additional generation distribution unit 328 distributes the additional generation process to each medical institution based on the type and number of additional data specified.
- the additional generation distribution unit 328 generates additional generation distribution information including the designation of the number of additional data items when requesting each terminal 20 to additionally generate data, and transmits this additional generation distribution information to each terminal 20.
- the synchronization program 330 is a program for providing the data of the master model MM to be learned to the terminals 20 of each medical institution via the communication interface 306 and synchronizing the local model LM of each terminal 20 with the master model MM.
- the processor 302 executes the instruction of the synchronization program 330, the computer functions as a synchronization processing unit.
- the synchronization program 330 may be incorporated as a program module of the master model learning management program 340.
- the master model learning management program 340 integrates the learned weight parameters as the learning results of the local learning carried out at the terminals 20 in the plurality of medical institutions, and performs a process of updating the weight parameters of the learning target master model MM.
- the processor 302 executes the instruction of the master model learning management program 340
- the computer functions as a learned weight parameter acquisition unit 341, a parameter integration unit 342, and a model update unit 343.
- the learned weight parameter acquisition unit 341 acquires the learned weight parameter as a learning result of the local learning carried out at the terminals 20 in the plurality of medical institutions.
- the parameter integration unit 342 integrates the learned weight parameters obtained from a plurality of medical institutions.
- the integrated process may be a process for obtaining a simple average value, or a process for obtaining a weighted average value with appropriate weighting.
- the model update unit 343 updates the parameters of the learning target master model MM by the integrated parameters calculated by the parameter integration unit 342.
- the computer-readable medium 304 of the integrated server 30 may store an accuracy verification program for verifying the inference accuracy of the learning target master model MM and verification data.
- the inference accuracy is confirmed for the master model candidate including the parameters integrated by the parameter integration unit 342, and when a model with an inference accuracy exceeding the accuracy target value is obtained, the model update unit 343 updates the master model MM.
- the accuracy target value is a value indicating the target inference accuracy.
- the accuracy is set to be higher than the inference accuracy of the latest version of the master model MM, and each time the inference accuracy is improved, the master model MM is updated and the accuracy target is set. The value is updated.
- the accuracy target value may be set to a level of accuracy that can be commercialized in place of the master model MM.
- the data acquisition program setting I / F program 320 and the master model learning management program 340 are examples of the "second program" in the present disclosure.
- the computer when the processor 302 executes the instruction of the display control program 350, the computer functions as a display control unit.
- the display control unit 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 learning target master model MM.
- the operator can confirm the learning progress of the learning target master model MM by the information displayed on the display device 316.
- FIG. 6 is a flowchart showing an example of the operation of the integrated server 30 based on the data acquisition program setting I / F program 320. The steps in the flowchart shown in FIG. 6 are executed by the processor 302 of the integrated server 30 according to the instructions of the data acquisition program setting I / F program 320.
- step S11 the processor 302 accepts the input of the search condition.
- the operator of the development subject 80 can input information for designating search conditions from the input device 314.
- step S12 the processor 302 generates a search condition setting file according to the information input in step S11.
- step S13 the processor 302 transmits the search condition setting file to the terminal 20 of each medical institution.
- step S14 the processor 302 receives the aggregated result of the number of data items matching the search conditions from each terminal 20.
- the timing of acquiring the aggregation result from each terminal 20 may be an appropriate timing for each terminal 20.
- step S15 the processor 302 stores the aggregation result from each terminal 20 in a database 360 or the like.
- the processor 302 can display the aggregation result from each terminal 20 on the display device 316.
- step S16 the processor 302 receives the input of the data type and the number of data items required for learning. If the data type required for learning is the same as the data type specified in the search condition, the input content of the search condition may be used. The operator of the development subject 80 can input information for designating the data type and the number of data items required for learning from the input device 314.
- step S17 the processor 302 determines whether or not the total number of training data is sufficient for the required number.
- the determination result in step S17 is Yes determination, that is, when the total number of training data is equal to or greater than the required number, the processor 302 proceeds to step S18.
- step S18 the processor 302 distributes the number of data items to each medical institution. Then, in step S19, the processor 302 transmits the distribution information including the number of learning data for each medical institution distributed in step S18 to the terminal 20 of each medical institution.
- step S17 determines whether the total number of training data is less than the required number. If the determination result in step S17 is No, that is, if the total number of training data is less than the required number, the processor 302 proceeds to step S21 in FIG.
- step S21 the processor 302 determines whether or not the missing data is only the primary data.
- This determination process is a step of determining whether or not it is a case such as [Case of Assumption A].
- step S21 If the determination result in step S21 is Yes determination, the processor 302 proceeds to step S22.
- step S22 the processor 302 accepts the input of the notification setting when the notification is performed when the required number of primary data is prepared.
- step S23 the processor 302 waits for the necessary data to be newly generated.
- the processor 302 receives the latest aggregation result information from the terminal 20 of each medical institution at an appropriate timing.
- the information of the aggregation result is updated by newly generating the primary data in the medical institution system MS.
- step S24 the processor 302 determines whether or not the number of insufficient primary data satisfies the required number. If the determination result in step S24 is No, that is, if the primary data is insufficient, the processor 302 returns to step S23.
- step S24 If the determination result in step S24 is a Yes determination, that is, if the required number of primary data or more is collected, the process proceeds to step S25.
- step S25 the processor 302 notifies that the number of data items required for learning is satisfied.
- the developer 80 can receive this notification through the display device 316.
- step S21 determines whether or not the missing data is only secondary data. This determination process is a step of determining whether or not the case is such as [Case of Assumption B] or [Case of Assumption C]. If the determination result in step S23 is Yes determination, the processor 302 proceeds to step S32.
- step S32 the processor 302 accepts the input of the delivered AI model to be used and the number of cases that need to be added in order to additionally generate new secondary data.
- the operator of the development subject 80 can input information such as a required data type and the number of additional data items from the input device 314.
- step S33 the processor 302 distributes the number of additional generations to each medical institution based on the information specified in step S32.
- step S34 the processor 302 transmits the execution conditions of the additional generation processing distributed to each medical institution to the terminal 20 of each medical institution.
- step S34 or step S25 the processor 302 proceeds to step S18 in FIG.
- step S31 of FIG. 7 determines whether or not secondary data needs to be added.
- step S45 determines whether new secondary data will be generated during the period when new primary data is being generated. If the determination result in step S45 is Yes determination, the processor 302 proceeds to step S46. Steps S46 to S48 are the same as the corresponding steps of steps S32 to S34 of FIG. After step S48, processor 302 proceeds to step S18 of FIG.
- step S45 in FIG. 8 determines whether the determination result in step S45 in FIG. 8 is a No determination. If the determination result in step S45 in FIG. 8 is a No determination, steps S46 to S48 are skipped and the process proceeds to step S18 in FIG.
- the processor 302 ends the flowchart of FIG. 6 after step S19.
- FIG. 9 is a block diagram showing a configuration example of the terminal 20 on the medical institution network 50.
- the terminal 20 that performs local learning can be realized by a computer system configured by using one or a plurality of computers.
- the terminal 20 includes a processor 202, a non-temporary tangible computer-readable medium 204, a communication interface 206, an input / output interface 208, a bus 210, an input device 214, and a display device 216.
- the hardware configuration of the terminal 20 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 202, the computer-readable medium 204, the communication interface 206, the input / output interface 208, the bus 210, the input device 214, and the display device 216 shown in FIG. 9 are the same as the corresponding elements shown in FIG. It may be.
- the terminal 20 is an example of the "information processing device” in the present disclosure.
- the processor 202 is an example of the “first processor” in the present disclosure.
- the computer-readable medium 204 is an example of the “first computer-readable medium” in the present disclosure.
- the terminal 20 is connected to the learning data storage unit 280 via the communication interface 206 or the input / output interface 208.
- the learning data storage unit 280 is configured to include a storage for storing learning data used by the terminal 20 for performing machine learning. “Learning data” is training data used for machine learning, and is synonymous with “learning data” or “training data”.
- the learning data storage unit 280 may be the storage of the DICOM server 22 and / or the electronic medical record system 24 described with reference to FIG. 3, or corresponds to the “appropriate location” described as the operation [9] of FIG. It may be storage.
- the learning data storage unit 280 and the terminal 20 that executes the learning process are configured as separate devices will be described, but these functions may be realized by one computer or 2
- the processing functions may be shared and realized by the above-mentioned plurality of computers.
- the computer-readable medium 204 of the terminal 20 shown in FIG. 9 stores various programs and data including the data collection program 220 and the local learning management program 250.
- the data acquisition program 220 and the local learning management program 250 are examples of the "first program" in the present disclosure.
- the computer When the processor 202 executes the instruction of the data collection program 220, the computer performs the search condition setting file acquisition unit 221, the data search unit 222, the search result storage unit 223, the aggregation result transmission processing unit 224, the distribution information acquisition unit 225, and the addition. It functions as a generation processing unit 226.
- the search condition setting file acquisition unit 221 acquires the search condition setting file from the integrated server 30.
- the data search unit 222 searches for data matching the search conditions from the database or the like on the medical institution network 50 based on the search conditions described in the search condition setting file.
- the search result by the data search unit 222 is stored in the search result storage unit 223.
- the aggregation result transmission processing unit 224 aggregates the search results stored in the search result storage unit 223, and performs a process of transmitting information (aggregation result) of the number of data items matching the search conditions to the integrated server 30.
- the distribution information acquisition unit 225 acquires distribution information including the designation of the number of data items to be used for learning from the integrated server 30.
- the data collection program 220 causes the local learning management program 250 to perform local learning using the learning data of the number of data specified in the distribution information.
- the additional generation processing unit 226 operates the delivered AI model 26 in accordance with the instruction for additional generation from the integrated server 30, and the additional data related to the designation. Generate additional data for the number of cases.
- the computer has the synchronization processing unit 251 and the learning data acquisition unit 252, the learning target local model LM, the error calculation unit 254, the optimizer 255, and the learning result storage unit 256. , And functions as a learning result transmission processing unit 257.
- the synchronization processing unit 251 communicates with the integrated server 30 via the communication interface 206, and synchronizes the learning target master model MM in the integrated server 30 with the learning target local model LM on the terminal 20 side.
- the learning data acquisition unit 252 acquires learning data that matches the search conditions from the learning data storage unit 280.
- the number of learning data used for local learning is the number of data specified in the distribution information.
- the learning data acquisition unit 252 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 252 includes a communication interface 206, an input / output interface 208, 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 252 is input to the learning target local model LM.
- the error calculation unit 254 calculates the error between the predicted value indicated by the score output from the learning target local model LM and the correct answer data.
- the error calculation unit 254 evaluates the error using the loss function.
- the loss function may be, for example, cross entropy or mean square error.
- the optimizer 255 performs a process of updating the weight parameter of the learning target local model LM from the calculation result of the error calculation unit 254.
- the optimizer 255 uses the calculation result of the error obtained from the error calculation unit 254 to obtain the update amount of the weight parameter of the training target local model LM, and the training target local model according to the calculated update amount of the weight parameter.
- the LM weight parameter is updated.
- the optimizer 255 updates the weight parameters based on an algorithm such as the backpropagation method.
- the terminal 20 in which the local learning management program 250 is incorporated functions as a local learning device that executes machine learning on the terminal 20 by using the local data in the medical institution as learning data.
- the terminal 20 reads the learning data which is the local data from the learning data storage unit 280, and executes the machine learning of the learning target local model LM using the learning data of the number of data specified in the distribution information.
- the terminal 20 can read the learning data and update the weight parameter in units of a mini-batch in which a plurality of learning data are collected.
- the local learning management program 250 rotates the iteration of the learning process until the learning end condition is satisfied for the learning target local model LM. After satisfying the learning end condition, the weight parameter of the learning target local model LM as the learning result is stored in the learning result storage unit 256.
- the learning result transmission processing unit 257 performs a process of transmitting the learning result (that is, the learned weight parameter) to the integrated server 30.
- the weight parameters of the learning target local model LM after learning stored in the learning result storage unit 256 are sent to the integrated server 30 via the wide area communication line 70 via the communication interface 206 (see FIG. 4).
- the computer when the processor 202 executes the instruction of the display control program 260, the computer functions as a display control unit.
- the display control unit generates a display signal necessary for display output to the display device 216, and controls the display of the display device 216.
- the computer-readable medium 204 of the terminal 20 may store an accuracy verification program for verifying the inference accuracy of the learning target local model LM and verification data.
- the local learning management program 250 is constructed on the terminal 20 existing in the medical institution network 50.
- the local learning management program 250 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. 10 is a flowchart showing an example of the operation of the terminal 20 based on the data acquisition program 220. The steps in the flowchart shown in FIG. 10 are executed by the processor 202 according to the instructions of the data acquisition program 220.
- step S51 the processor 202 receives the search condition setting file from the integrated server 30.
- the search condition setting file transmitted from the integrated server 30 in step S13 of FIG. 6 is received by the processor 202.
- step S52 of FIG. 10 the processor 202 searches the medical institution system MS for data that matches the search conditions set in the search condition setting file.
- step S53 the processor 202 stores the storage location information of the data matching the search conditions, and totals the number of data items.
- step S54 the processor 202 transmits the aggregation result obtained in step S53 to the integrated server 30.
- step S55 the processor 202 waits for the reception of the instruction from the integrated server 30.
- step S56 the processor 202 determines whether or not the distribution information has been received from the integrated server 30. If the determination result in step S56 is No, the process returns to step S55. If the determination result in step S56 is Yes determination, that is, when the processor 202 receives the distribution information, the process proceeds to step S57.
- step S57 the processor 202 determines whether or not an additional generation instruction has been received.
- the processor 202 proceeds to step S61.
- step S57 If the determination result in step S57 is a Yes determination, that is, if it is necessary to add new learning data due to the additional generation of secondary data, the processor 202 proceeds to step S58.
- step S58 the processor 202 operates the delivered AI model 26 to execute a process of additionally generating secondary data according to the received execution condition.
- step S59 the processor 202 determines whether or not the additional processing has been completed. If the determination result in step S59 is No, the process returns to step S58 and waits for the completion of the additional generation process.
- step S59 When the determination result in step S59 is Yes determination, that is, when the generation of secondary data corresponding to the number of additional data items specified in the execution condition is completed, the processor 202 proceeds to step S60.
- step S60 the processor 202 notifies the local learning management program that the additional processing is completed.
- step S61 the processor 202 collects the learning data of the data type and the number of data specified in the distribution information.
- step S62 the processor 202 activates the local learning management program 250.
- processor 202 ends the flowchart of FIG.
- FIG. 11 is a flowchart showing an example of the operation of the terminal 20 based on the local learning management program 250. The steps in the flowchart shown in FIG. 11 are executed by the processor 202 according to the instructions of the local learning management program 250.
- step S71 the processor 202 synchronizes the local model LM and the master model MM.
- 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 file 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 20 side.
- the master model MM becomes the local model LM of the learning target in the initial state before the start of learning.
- step S72 the processor 202 executes local learning using the local data.
- the learning process of the local model LM synchronized with the master model MM is activated by the local learning management program 250, and local learning is advanced using the local data existing in the medical institution system MS to which the terminal 20 belongs.
- step S73 the processor 202 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 of the inference result obtained by inputting the verification data into the learned model. , 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 S73 determines whether the determination result in step S73 is No. If the determination result in step S73 is No, the processor 202 returns to step S72 and continues the local learning process. On the other hand, if the determination result in step S73 is Yes determination, the processor 202 proceeds to step S74 and ends learning.
- step S75 the processor 202 transmits the learning result to the integrated server 30.
- the processor 202 saves the weight parameters of the learned model in a file and transmits the weight parameters to the integrated server 30 via the wide area communication line 70.
- Each terminal 20 of a plurality of medical institutions uses data existing on different medical institution networks 50 as learning data, executes machine learning of each local model LM, and transmits the learning result via a wide area communication line 70. It is transmitted to the integrated server 30.
- FIG. 12 is a flowchart showing an example of the operation of the integrated server 30 based on the master model learning management program 340. The steps in the flowchart shown in FIG. 12 are executed by the processor 302 of the integrated server 30 according to the instructions of the master model learning management program 340.
- step S81 the processor 302 receives the learning result from the terminal 20 of each medical institution.
- step S82 the processor 302 integrates the learning results obtained from the plurality of terminals 20 and creates a master model candidate.
- step S83 the processor 302 evaluates the inference accuracy of the created master model candidate. That is, the processor 302 causes the master model candidate to perform inference using the verification data prepared in advance as an input, calculates the inference accuracy, and compares the inference accuracy with the accuracy target value. Further, the processor 302 stores (associates) the calculated inference accuracy and the comparison result between the inference accuracy and the accuracy target value in the database 360 in association with the master model candidate.
- step S83 For the inference accuracy of the master model candidate to be compared with the accuracy target value in the processing of step S83, an appropriate statistical value such as an instantaneous value or an average value or a median value is used. An example of the processing content of the evaluation of the inference accuracy applied to step S83 will be described later with reference to FIG.
- step S84 the processor 302 determines whether or not a master model candidate exceeding the accuracy target value has been obtained.
- the determination result in step S84 is Yes determination, that is, when the inference accuracy of the master model candidate exceeds the accuracy target value, the processor 302 ends learning (step S87) and proceeds to step S88.
- step S88 the processor 302 sets a master model candidate having an inference accuracy exceeding the accuracy target value as the latest model with improved performance after learning, and saves this model in a data storage unit such as a database 360 in an appropriate format such as a file.
- a message queue, general interprocess communication, or the like can be used as the notification method.
- the notification notifying that the learning has been completed may be displayed on the display device 316 or may be transmitted to the terminal 20.
- step S84 determines whether the master model candidate whose inference accuracy exceeds the accuracy target value is obtained. If the determination result in step S84 is No, that is, if no master model candidate whose inference accuracy exceeds the accuracy target value is obtained, the processor 302 proceeds to step S85.
- step S85 the processor 302 updates the master model candidate whose inference accuracy is improved as compared with the current master model MM as the learning target master model MM, and next time synchronizes this model with the local model LM of each terminal 20.
- Steps S71 to S75 of FIG. 11 and steps S81 to S85 of FIG. 12 are repeated.
- a local model LM having improved inference accuracy as compared with that before the update can be obtained.
- FIG. 13 is a flowchart showing an example of processing for evaluating the inference accuracy of the master model candidate on the integrated server 30. The flowchart shown in FIG. 13 is applied to step S83 of FIG.
- step S91 of FIG. 13 the processor 302 causes the master model candidate to execute inference by inputting verification data.
- step S92 the processor 302 calculates the inference accuracy of the master model candidate based on the inference result and the correct answer data.
- step S93 the processor 302 compares the inference accuracy of the master model candidate with the accuracy target value.
- the accuracy target value may be compared with the inference accuracy instantaneous value of the master model candidate, but the steps S81 to S93 are performed for several iterations, and the inference accuracy at that time is recorded each time. You may compare the accuracy target value with the statistical value such as the average value or the median value of those inference accuracy.
- step S94 the processor 302 stores the inference accuracy of the master model candidate and the comparison result between the inference accuracy and the accuracy target value in the database 360.
- step S94 the processor 302 ends the flowchart of FIG. 13 and returns to the flowchart of FIG.
- the integrated server 30 performs the above-mentioned learning iteration until a master model MM having an inference accuracy exceeding the accuracy target value is obtained. Alternatively, if the integrated server 30 cannot obtain a master model MM with inference accuracy exceeding the accuracy target value even if the iterations are rotated up to the specified number of iterations, the integrated server 30 has the maximum inference accuracy in the search process up to that point.
- the master model MM obtained by the above may be adopted as a product model.
- the new master model MM created by implementing the machine learning method using the machine learning system 10 according to the present embodiment thus has improved inference accuracy as compared with the master model MM before learning.
- the embodiment 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.
- the delivered AI model which is the current product, as a learning target master model MM
- upgrade from the delivered AI model As a preliminary procedure at that time, the information that clearly indicates the inference accuracy of the previous version and the inference accuracy of the new version, and the information that indicates the number of clients and classification used for additional learning are presented to the medical institution side. Receive pre-upgrade approval from medical institutions. Then, after obtaining approval, the version will be upgraded.
- the machine learning method implemented by the machine learning system 10 according to the present embodiment is an example of the "method for creating an inference model" in the present disclosure, and the master model MM after learning obtained by learning is the "inference model" in the present disclosure. Is an example.
- FIG. 14 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 is a device having any part or all of the terminal 20, the integrated server 30, the DICOM server 22, the electronic medical record system 24, the AI server 60, and the terminal 62, which have already been described, or a plurality of these functions. Can be used.
- the computer 800 includes a CPU (Central Processing Unit) 802, a RAM (Random Access Memory) 804, a ROM (Read Only Memory) 806, a GPU (Graphics Processing Unit) 808, a storage 810, a communication unit 812, an input device 814, and 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
- 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 service that provides a part or all of at least one of various processing functions such as a master model learning management function including a creation function and an inference accuracy evaluation function as an application server and provides the processing function through a telecommunications line. It is also possible to do it.
- each processing unit Search condition input reception unit 321 shown in FIG. 5, setting file generation unit 322, aggregation result acquisition unit 323, learning data number distribution unit 324, notification setting input reception unit 325, notification judgment unit 326, additional instruction reception unit 327, additional generation.
- the hardware structure of the processing unit that executes various processes such as the unit 257 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 a circuit configuration after manufacturing such as FPGA (Field Programmable Gate Array).
- 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), 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.
- a processor functions as a plurality of processing units.
- SoC System On Chip
- the various processing units are configured by using one or more of the above-mentioned various processors as a hardware-like structure.
- [1] Learning can be performed without taking out personal information such as diagnostic images that requires consideration for privacy from the medical institution side.
- a mechanism is provided in which the development entity 80 can control the type and number of data used for local learning at each medical institution while grasping the data possession status of each medical institution. As a result, it is possible to suppress the bias of the data used for learning, and it is possible to suppress the bias of the inference accuracy of the AI model created by the learning.
- the AI model for medical image diagnosis has been mainly 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, an AI model or input using time series data as input data. It can also be applied when training an AI model that uses document data as 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 the learning of the AI model that supports the creation of the report.
- the ECG waveform data is an example of "examination data" in the present disclosure.
- the data used for learning may be a combination of different types of data acquired by different modality.
- the data used for learning may be a combination of a plurality of types of different types of data, such as a combination of images and time series data, or a combination of images and document data.
- Machine learning system 20
- Terminal 22
- DICOM server 24
- Electronic chart system 26
- Delivered AI model 30
- Integrated server 32
- Data collection program setting interface 50
- Medical institution network 52
- CT device 54
- MRI device 56
- CR device 60
- AI server 62
- Terminal 66 Private communication line
- Wide area communication line 80
- Development subject 202
- Processor 204
- Computer readable medium 206
- Communication interface 208
- Input / output interface 210
- Bus 214
- Display device 220
- Data collection program 221
- Search condition setting file acquisition unit 222
- Data search unit 223
- Search result storage unit 224
- Total result Transmission processing unit 225
- Distribution information acquisition unit 226
- Additional generation processing unit 250
- Local learning management program 251
- Synchronous processing unit 252
- Learning data acquisition unit 254
- Error calculation unit 255
- Optimizer 256
- Learning result storage unit 257
- Learning result transmission processing unit 260
- Display control program 280
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Bioethics (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (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 Aguera y 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
医療用AIの開発にフェデレーテッドラーニングを使用すると、診断画像などのデータの持ち出しは不要になる。その一方で、医療機関ごとに保有しているデータの内容は様々であり、学習環境がクライアントごとに異なるため、各クライアントにて実施される学習の成果も多様である。
このため、複数の医療機関において無作為に学習データを選択してAIモデルを学習させると、AIモデルの推論精度に偏りが生じてしまう。非特許文献2に報告されている内容によれば、ローカルモデルを学習させるための学習データは検証環境に用意されたデータを全てそのまま使用している。これは依然として実運用化での学習対象データの収集方法が無作為抽出以外に存在していないことを意味している。無作為抽出でデータを抽出する場合、学習に供するデータに偏りが生じる可能性があり、作成するAIモデルの推論精度に偏りが生じることが懸念される。
本発明はこのような事情に鑑みてなされたもので、診断画像などプライバシーに配慮が必要な個人情報等を医療機関側から外部に持ち出さなくてもAIモデルの学習を行うことができるフェデレーテッドラーニングの仕組みを実装する場合に、無作為に学習データを選択してAIモデルを学習させることに起因するAIモデルの推論精度の偏りを抑制できる機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法を提供することを目的とする。
本開示の一態様に係る機械学習システムは、複数のクライアント端末と、統合サーバと、を含む機械学習システムであって、複数のクライアント端末のそれぞれは、複数の医療機関のそれぞれの医療機関システム内に設置される端末であり、それぞれのクライアント端末は、第1のプロセッサと、第1のプロセッサによって実行される第1のプログラムが記録された第1のコンピュータ可読媒体と、含み、第1のプロセッサは、第1のプログラムの命令に従い、統合サーバからデータの検索条件を取得することと、クライアント端末が属する医療機関システム内から検索条件に合致するデータを検索して検索結果を集計することと、検索条件に合致するデータの件数を示す集計結果を統合サーバに送信することと、クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、分配情報の指示に従い、クライアント端末が属する医療機関システム内に存在するデータを学習データに用いて学習対象のローカルモデルの機械学習を実行することと、ローカルモデルの学習結果を統合サーバに送信することと、を含む処理を行い、統合サーバは、第2のプロセッサと、第2のプロセッサによって実行される第2のプログラムが記録された第2のコンピュータ可読媒体と、を含み、第2のプロセッサは、第2のプログラムの命令に従い、学習対象のマスターモデルを第2のコンピュータ可読媒体に記憶しておくことと、医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、指定された検索条件を複数のクライアント端末に送信することと、それぞれのクライアント端末から検索条件に合致するデータの件数を示す集計結果を受信することと、学習に使用する学習データの必要件数を指定する入力を受け付けることと、指定された学習データの必要件数と受信した集計結果とに基づいて、それぞれのクライアント端末での学習に使用する学習データの件数を分配することと、それぞれのクライアント端末に応じて分配された学習データの件数の指定を含む分配情報を、それぞれのクライアント端末に送信することと、それぞれのクライアント端末でローカルモデルを学習させる前に、各クライアント端末側のローカルモデルとマスターモデルとを同期させることと、複数のクライアント端末からそれぞれの学習結果を受信することと、受信した学習結果を統合してマスターモデルを更新することと、を含む処理を行う。
本態様によれば、統合サーバからデータの検索条件を設定して、それぞれの医療機関の医療機関システム内のデータを検索することができ、統合サーバにおいて医療機関ごとのデータの保有状況を把握できる。また、本態様によれば、検索結果に合致するデータ件数の集計結果を受けて、各クライアント端末での学習に使用する学習データの種別と件数を統合サーバから指定することができ、学習データの偏りを抑制することができる。これにより、学習の実施によって得られるモデルの推論精度の偏りを抑制することが可能になる。
「複数のクライアント端末」は不特定多数のクライアント端末であってよい。クライアント端末は、医療機関システム内のデータを保存するデータ保存装置を含む構成であってもよいし、データ保存装置とクライアント端末とが別々の装置であってもよい。
本開示の他の態様に係る機械学習システムにおいて、第2のプロセッサは、さらに、検索条件に合致するデータの総件数が必要件数以上となった段階で、必要件数を満たすことを知らせる通知を行う構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、第1のプロセッサは、医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有し、第2のプロセッサは、検索条件に合致するデータの総件数が必要件数に満たない場合であって、第3のプログラムを動作させることで検索条件に合致するデータを得ることができる場合に、それぞれのクライアント端末に対してデータの追加生成を依頼する追加データ件数を分配することと、それぞれのクライアント端末に応じて分配された追加データ件数の指定を含む追加生成分配情報を、それぞれのクライアント端末に送信することと、を含む処理を行い、第1のプロセッサは、追加生成分配情報に基づいて、第3のプログラムを実行させて、新規の二次データを生成させる構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、第1のプロセッサは、指定された追加データ件数の二次データの生成が完了した場合に、ローカルモデルの学習を開始する構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、第3のプログラムは、一次データを入力することによって二次データが出力される学習済みモデルを含む構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、複数のクライアント端末のそれぞれは、異なる医療機関の医療機関ネットワーク内に設置される端末であってよい。
本開示の他の態様に係る機械学習システムにおいて、統合サーバは、医療機関ネットワーク内または医療機関ネットワーク外に設置される構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、クライアント端末から統合サーバに送信される学習結果は、学習後のローカルモデルの重みパラメータを含む構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、検索条件によって検索される対象のデータは、2次元画像、3次元画像、動画像、時系列データおよび文書データのうち少なくとも1つの種類のデータを含む構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、文書データは、電子カルテの所見文を含む構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、ローカルモデルおよびマスターモデルのそれぞれの学習対象モデルは、画像と画像に紐付いた所見文との組み合わせが学習データとして用いられ、入力された画像に対応する所見文を出力するように学習が行われる構成とすることができる。
本開示の他の態様に係る機械学習システムにおいて、ローカルモデルおよびマスターモデルのそれぞれの学習対象モデルは、ニューラルネットワークを用いて構成されてよい。
学習データおよび推論の際に入力するデータの種類に応じて適切なネットワークモデルが適用される。
本開示の他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは、2次元画像、3次元画像または動画像を含み、ローカルモデルおよびマスターモデルのそれぞれの学習対象モデルは、畳み込みニューラルネットワークを用いて構成されてよい。
本開示の他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは、時系列データ、または文書データを含み、ローカルモデルおよびマスターモデルのそれぞれの学習対象モデルは、再帰型ニューラルネットワークを用いて構成されてよい。
本開示の他の態様に係る機械学習方法は、複数のクライアント端末と、統合サーバと、を用いる機械学習方法であって、複数のクライアント端末のそれぞれが、複数の医療機関のそれぞれの医療機関システム内に設置され、統合サーバに学習対象のマスターモデルを保存しておくことと、統合サーバが、医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、指定された検索条件を複数のクライアント端末に送信することと、クライアント端末が、統合サーバから検索条件を取得することと、クライアント端末が属する医療機関システム内から検索条件に合致するデータを検索して検索結果を集計することと、検索条件に合致するデータの件数を示す集計結果を統合サーバに送信することと、統合サーバが、それぞれのクライアント端末から検索条件に合致するデータの件数を示す集計結果を受信することと、学習に使用する学習データの必要件数を指定する入力を受け付けることと、指定された学習データの必要件数と受信した集計結果とに基づいて、それぞれのクライアント端末での学習に使用する学習データの件数を分配することと、それぞれのクライアント端末に応じて分配された学習データの件数の指定を含む分配情報を、それぞれのクライアント端末に送信することと、それぞれのクライアント端末にローカルモデルを学習させる前に、各クライアント端末側のローカルモデルとマスターモデルとを同期させることと、クライアント端末が、クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、分配情報の指示に従い、クライアント端末が属する医療機関システム内に存在するデータを学習データに用いて学習対象のローカルモデルの機械学習を実行することと、ローカルモデルの学習結果を統合サーバに送信することと、統合サーバが、複数のクライアント端末からそれぞれの学習結果を受信することと、受信した学習結果を統合してマスターモデルを更新することと、を含む。
本開示の他の態様に係る情報処理装置は、通信回線を介して統合サーバと接続されるクライアント端末として用いられる情報処理装置であって、情報処理装置は、医療機関の医療機関システム内に設置される端末であり、第1のプロセッサと、第1のプロセッサによって実行される第1のプログラムが記録された第1のコンピュータ可読媒体と、含み、第1のプロセッサは、第1のプログラムの命令に従い、統合サーバからデータの検索条件を取得することと、クライアント端末が属する医療機関システム内から検索条件に合致するデータを検索して検索結果を集計することと、検索条件に合致するデータの件数を示す集計結果を統合サーバに送信することと、クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、分配情報の指示に従い、クライアント端末が属する医療機関システム内に存在するデータを学習データに用いて学習対象のローカルモデルの機械学習を実行することと、ローカルモデルの学習結果を統合サーバに送信することと、を含む処理を行う。
本開示の他の態様に係る情報処理装置において、第1のプロセッサは、医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有し、統合サーバから指定される追加データ件数に従い、第3のプログラムを実行させて、新規の二次データを生成させる構成とすることができる。
本開示の他の態様に係るプログラムは、通信回線を介して統合サーバと接続されるクライアント端末として第1のコンピュータを機能させるためのプログラムであって、第1のコンピュータに、統合サーバからデータの検索条件を取得する機能と、クライアント端末が属する医療機関システム内から検索条件に合致するデータを検索して検索結果を集計する機能と、検索条件に合致するデータの件数を示す集計結果を統合サーバに送信する機能と、クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信する機能と、分配情報の指示に従い、クライアント端末が属する医療機関システム内に存在するデータを学習データに用いて学習対象のローカルモデルの機械学習を実行する機能と、ローカルモデルの学習結果を統合サーバに送信する機能と、を実現させるためのプログラムである。
本開示の他の態様に係る統合サーバは、通信回線を介して複数のクライアント端末と接続される統合サーバであって、第2のプロセッサと、第2のプロセッサによって実行される第2のプログラムが記録された第2のコンピュータ可読媒体と、を含み、第2のプロセッサは、第2のプログラムの命令に従い、学習対象のマスターモデルを第2のコンピュータ可読媒体に記憶しておくことと、複数のクライアント端末のそれぞれが属する医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、指定された検索条件を複数のクライアント端末に送信することと、それぞれのクライアント端末から検索条件に合致するデータの件数を示す集計結果を受信することと、学習に使用する学習データの必要件数を指定する入力を受け付けることと、指定された学習データの必要件数と受信した集計結果とに基づいて、それぞれのクライアント端末での学習に使用する学習データの件数を分配することと、それぞれのクライアント端末に応じて分配された学習データの件数の指定を含む分配情報を、それぞれのクライアント端末に送信することと、それぞれのクライアント端末にローカルモデルを学習させる前に、各クライアント端末側のローカルモデルとマスターモデルとを同期させることと、複数のクライアント端末からそれぞれのローカルモデルの学習結果を受信することと、受信した学習結果を統合してマスターモデルを更新することと、を含む処理を行う。
本開示の他の態様に係る統合サーバは、それぞれのクライアント端末が、医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有しており、検索条件に合致するデータの総件数が必要件数に満たない場合であって、第3のプログラムを動作させることで検索条件に合致するデータを得ることができる場合に、第2のプロセッサは、それぞれのクライアント端末に対してデータの追加生成を依頼する追加データ件数を分配することと、それぞれのクライアント端末に応じて分配された追加データ件数の指定を含む追加生成分配情報を、それぞれのクライアント端末に送信することと、を含む処理を行う構成とすることがきる。
本開示の他の態様に係るプログラムは、通信回線を介して複数のクライアント端末と接続される統合サーバとして第2のコンピュータを機能させるためのプログラムであって、第2のコンピュータに、学習対象のマスターモデルを保存しておく機能と、複数のクライアント端末のそれぞれが属する医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付ける機能と、指定された検索条件を複数のクライアント端末に送信する機能と、それぞれのクライアント端末から検索条件に合致するデータの件数を示す集計結果を受信する機能と、学習に使用する学習データの必要件数を指定する入力を受け付ける機能と、指定された学習データの必要件数と、受信した集計結果とに基づいて、それぞれのクライアント端末での学習に使用する学習データの件数を分配する機能と、それぞれのクライアント端末に応じて分配された学習データの件数の指定を含む分配情報を、それぞれのクライアント端末に送信する機能と、それぞれのクライアント端末にローカルモデルを学習させる前に、各クライアント端末側のローカルモデルとマスターモデルとを同期させる機能と、複数のクライアント端末からそれぞれのローカルモデルの学習結果を受信する機能と、受信した学習結果を統合してマスターモデルを更新する機能と、を実現させるためのプログラムである。
本開示の他の態様に係る推論モデルの作成方法は、複数のクライアント端末と、統合サーバとを用いて機械学習を行うことにより、推論モデルを作成する方法であって、複数のクライアント端末のそれぞれが、複数の医療機関のそれぞれの医療機関システム内に設置され、統合サーバに学習対象のマスターモデルを保存しておくことと、統合サーバが、医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、指定された検索条件を複数のクライアント端末に送信することと、クライアント端末が、統合サーバから検索条件を取得することと、クライアント端末が属する医療機関システム内から検索条件に合致するデータを検索して検索結果を集計することと、検索条件に合致するデータの件数を示す集計結果を統合サーバに送信することと、統合サーバが、それぞれのクライアント端末から検索条件に合致するデータの件数を示す集計結果を受信することと、学習に使用する学習データの必要件数を指定する入力を受け付けることと、指定された学習データの必要件数と受信した集計結果とに基づいて、それぞれのクライアント端末での学習に使用する学習データの件数を分配することと、それぞれのクライアント端末に応じて分配された学習データの件数の指定を含む分配情報を、それぞれのクライアント端末に送信することと、それぞれのクライアント端末にローカルモデルを学習させる前に、各クライアント端末側のローカルモデルとマスターモデルとを同期させることと、クライアント端末が、クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、分配情報の指示に従い、クライアント端末が属する医療機関システム内に存在するデータを学習データに用いて学習対象のローカルモデルの機械学習を実行することと、ローカルモデルの学習結果を統合サーバに送信することと、統合サーバが、複数のクライアント端末からそれぞれの学習結果を受信することと、受信した学習結果を統合してマスターモデルを更新することにより、更新前のマスターモデルよりも推論精度が高い推論モデルを作成することと、を含む。
推論モデルの作成方法は、推論モデルを製造する方法の発明として理解される。「推論」という用語は、予測、推定、分類、および判別の概念を含む。推論モデルは「AIモデル」と言い換えてもよい。推論モデルは、データの生成を行うモデルであってもよい。
本発明によれば、統合サーバから検索条件を指定して、各医療機関システム内のデータの保有状況を確認できる仕組みが提供される。本発明によれば、医療機関ごとに統合サーバからそれぞれのクライアント端末での学習に使用する学習データの種別と件数とを指定することができるため、学習データの偏りを抑制することが可能になり、学習によって得られるAIモデルの推論精度の偏りを抑制することが可能になる。
以下、添付図面に従って本発明の好ましい実施形態について説明する。
《機械学習システムの概要》
図1は、本発明の実施形態に係る機械学習システム10における動作の概要を示す概念図である。機械学習システム10は、フェデレーテッドラーニングの仕組みを利用して機械学習を行うコンピュータシステムである。フェデレーテッドラーニングは「フェデレーションラーニング」、「分散学習」、「連携学習」、あるいは「連合学習」などと呼ばれることがある。
図1は、本発明の実施形態に係る機械学習システム10における動作の概要を示す概念図である。機械学習システム10は、フェデレーテッドラーニングの仕組みを利用して機械学習を行うコンピュータシステムである。フェデレーテッドラーニングは「フェデレーションラーニング」、「分散学習」、「連携学習」、あるいは「連合学習」などと呼ばれることがある。
機械学習システム10は、複数の医療機関のそれぞれの医療機関内のネットワーク上に設置される端末20と、統合サーバ30とを含む。ここで端末20とは、安全に医療機関内のデータにアクセスできるネットワーク内に存在する計算資源を指しており、その端末20は物理的に医療機関内に存在しなくてもよい。つまり、各医療機関の端末20は、物理マシンであってもよいし、仮想マシンであってもよく、具体的な形態は限定されない。端末20は本開示における「クライアント端末」の一例である。医療機関内のコンピュータネットワークを「医療機関ネットワーク」という。
端末20は、学習対象のAIモデルに学習させるデータ群ごとに存在していることを想定する。ここでいう「データ群ごと」とは、AIモデルの学習に使用するデータ群が保有される「医療機関ごと」と理解してよい。すなわち、おおよそ1つの医療機関に対して1つの端末20が存在することを想定する。各医療機関の医療機関ネットワーク上に構築されるコンピュータシステムを医療機関システムMSという。医療機関の代表的な例は「病院」である。
図1に示す「病院1 Client」、「病院2 Client」・・・「病院N Client」の表示は、各医療機関の医療機関システムMSを表す。「病院」の後に付される数字は、各医療機関(病院)を識別する識別番号としてのインデックスである。このインデックスの番号は、端末20のクライアントID番号(identification number)と理解してもよいし、端末20を含む医療機関システムMSを持つ医療機関の「クライアントID番号」と理解してもよい。
各医療機関システムMSは、端末20の他に、DICOM(Digital Imaging and Communication in Medicine)サーバ22および電子カルテシステム24など、医療機関内の様々な医療情報の保存および管理を行う情報システムを含む。DICOMサーバ22は、DICOMの仕様にて動作するサーバである。DICOMサーバ22は、CT画像およびMRI画像などの医療画像を含む各種データを保存および管理するコンピュータであり、大容量外部記憶装置およびデータベース管理用ソフトウェアを備えている。
電子カルテシステム24は、電子カルテの作成、編集、保存および管理を行うコンピュータシステムである。電子カルテシステム24は、電子カルテのデータ等を保存する大容量外部記憶装置およびデータベース管理用ソフトウェアを備えている。
図1において、電子カルテシステム24の下に示す「点々」の表示は、図示しないその他の情報システムが存在してもよいことを示している。その他の情報システムは、医療機関内でデータを管理していて検索可能なシステムであればよく、データの内容は限定されない。
各医療機関の端末20は、データ収集プログラム220とローカル学習管理プログラム250とを含む。データ収集プログラム220は、統合サーバ30からの指示に従い、医療機関ネットワーク上から学習に用いるデータの検索と収集を行う。データ収集プログラム220は、AIモデル(マスターモデル)の開発主体80により指定された検索条件に合致するデータが医療機関システムMS内のどのデータであるかを記録する機能と、指定された検索条件に合致するデータ件数を集計する機能と、その集計したデータ件数を統合サーバ30に送信する機能とを有する。データ収集プログラム220が使用する検索条件は、統合サーバ30から与えられる。
検索条件に従って検索される学習対象のデータは、各端末20内にあるデータ収集プログラム220が接続を許可されたシステム内部に保存されているデータであればよい。例えば、検索される学習対象のデータは、電子カルテデータ、2次元医療画像、3次元医療画像、もしくは、動画像、または、電子カルテの所見文と2次元画像との組み合わせ、または電子カルテの所見文と3次元画像との組み合わせなどであってよい。
ローカル学習管理プログラム250は、分散学習のクライアントプログラムであり、データ収集プログラム220と連携して、医療機関システムMS内に保存されているローカルデータを学習データに用いて学習対象ローカルモデルLMの学習処理を行う。ローカルデータとは、端末20が属する医療機関システムMS内に保存されているデータをいう。
ローカル学習管理プログラム250は、学習対象ローカルモデルLMの学習の起動および学習済み重みパラメータファイルを統合サーバ30宛に送信する機能などを有する。すなわち、ローカル学習管理プログラム250は、学習前の学習対象マスターモデルMMと学習対象ローカルモデルLMの同期、ローカル学習の起動、ローカル学習の終了条件の設定、ならびに、ローカル学習終了の際にローカル学習の学習結果を統合サーバ30に送信する機能を有する。
学習対象ローカルモデルLMは、学習対象のAIモデルであり、それぞれの医療機関内でそれぞれのローカルデータを用いて学習を実施するものである。学習対象ローカルモデルLMを単に「ローカルモデル」と記載する場合がある。ローカルデータを用いてローカルモデルLMを学習することを「ローカル学習」という。ローカルモデルLMは、学習を開始する前に、統合サーバ30の学習対象マスターモデルMMとの同期が行われる。
統合サーバ30は、データ収集プログラム設定インターフェース(I/F)32と、学習対象マスターモデルMMとを備えている。「I/F」は「インターフェース」の略語表記である。データ収集プログラム設定インターフェース32は、各医療機関システムMSのデータ収集プログラム220に、どのようなデータを検索してほしいか、どのようなデータ種別を何件学習に使用するかといったような、様々な条件などを設定するインターフェースである。複数種類のデータを学習に使用する場合には、学習に使用するデータ種別ごとのデータ件数が設定される。
各医療機関の端末20に展開されるデータ収集プログラム220は、その端末20が属する医療機関システムMS内で、統合サーバ30側から指示された検索条件に合致するデータが種別ごとに何件存在するか等の検索と集計を行い、その集計結果を統合サーバ30に送信する。
学習対象マスターモデルMMは、今回学習させようとしているマスターモデルである。学習対象マスターモデルMMは、製品としてリリースしたいと考えているAIモデルを得るための学習モデルなどを表す。学習対象マスターモデルMMを単に「マスターモデル」と記載する場合がある。
統合サーバ30は、AIモデルの開発主体80がアクセス権を持っているコンピュータネットワーク上に存在すればよく、サーバの形態は物理サーバ、仮想サーバなどの形態を問わない。統合サーバ30は、医療機関ネットワーク内に設置されてもよいし、医療機関ネットワーク外に設置されてもよい。例えば、統合サーバ30は、医療機関から地理的に離れた場所にある医療用AIを開発する会社内もしくはクラウド上に設置されてよい。
開発主体80は、AIモデルの製品化もしくは既存のAIモデルのさらなる性能向上などのために学習対象マスターモデルMMを学習させようとしている企業等を表す。開発主体80という用語には、企業等に属する開発者やオペレータ等も含まれる。
統合サーバ30は、データ収集プログラム設定インターフェース32を通じて、医療機関ごとに学習データとして使用可能なデータの保有状況を把握し、学習全体の学習データの必要件数を確保するように、複数の医療機関のそれぞれの端末20でのローカル学習に使用する学習データの件数を分配する。各医療機関では統合サーバ30から指定された件数の学習データを用いてローカル学習が実行される。統合サーバ30は、複数の医療機関の端末20からそれぞれの学習結果を受信して学習結果を統合し、マスターモデルMMを更新する。
《AIモデルの例》
マスターモデルMMとローカルモデルLMとを包括して「学習対象モデル」と呼ぶ。学習対象モデルは、例えば、CAD(Computer Aided Detection/ Diagnosis)システムへの適用を想定した医用画像診断用のAIモデルであってよい。「CAD」という用語は、コンピュータ支援検出(CADe:Computer Aided Detection)と、コンピュータ支援診断(CADx:Computer Aided Diagnosis)との両方の概念を含む。また、学習対象モデルは、例えば、所見文などの文書の作成を支援するレポート作成支援用のAIモデルであってもよい。「所見文」という用語は診断レポートの概念を含む。AIモデルは、例えば、階層型の多層のニューラルネットワークを用いて構成される。ローカルモデルLMは、ローカルデータLDを学習データに用いる深層学習によってネットワークの重みパラメータが更新される。重みパラメータには、各層の処理に用いるフィルタのフィルタ係数(ノード間の結合の重み)およびノードのバイアスが含まれる。
マスターモデルMMとローカルモデルLMとを包括して「学習対象モデル」と呼ぶ。学習対象モデルは、例えば、CAD(Computer Aided Detection/ Diagnosis)システムへの適用を想定した医用画像診断用のAIモデルであってよい。「CAD」という用語は、コンピュータ支援検出(CADe:Computer Aided Detection)と、コンピュータ支援診断(CADx:Computer Aided Diagnosis)との両方の概念を含む。また、学習対象モデルは、例えば、所見文などの文書の作成を支援するレポート作成支援用のAIモデルであってもよい。「所見文」という用語は診断レポートの概念を含む。AIモデルは、例えば、階層型の多層のニューラルネットワークを用いて構成される。ローカルモデルLMは、ローカルデータLDを学習データに用いる深層学習によってネットワークの重みパラメータが更新される。重みパラメータには、各層の処理に用いるフィルタのフィルタ係数(ノード間の結合の重み)およびノードのバイアスが含まれる。
なお、「ニューラルネットワーク」とは、脳神経系の仕組みを模擬した情報処理の数理モデルである。ニューラルネットワークを用いた処理は、コンピュータを用いて実現することができる。ニューラルネットワークを含む処理部は、プログラムモジュールとして構成され得る。
学習に使用するニューラルネットワークのネットワーク構造は、入力に用いるデータの種類に応じた適切なものが採用される。医用画像診断用のAIモデルは、例えば、畳み込み層を有する各種の畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いて構成することができる。AIモデルに対する入力データは、例えば、2次元画像、3次元画像または動画像など医療画像であり、AIモデルからの出力は例えば、画像内における疾病領域(病変部位)などの位置を示す情報、もしくは病名などのクラス分類を示す情報、またはこれらの組み合わせであってよい。
時系列データや文書データなどを扱うAIモデルは、例えば、各種の再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)を用いて構成することができる。時系列データには、例えば心電図の波形データなどが含まれる。文書データには、例えば、医師によって作成される所見文などが含まれる。
《機械学習方法の概要》
図1中の[1]~[11]は、学習に使用するデータの検索および収集からローカル学習、さらにマスターモデルMMへの統合までの一連の流れを表している。以下の説明において、[1]~[11]の各番号を付した矢印等で示される動作を、動作[1]、動作[2]・・・動作[11]のように表記する。本実施形態に係る機械学習システム10は、以下に示す手順1から手順11に従って動作する。
図1中の[1]~[11]は、学習に使用するデータの検索および収集からローカル学習、さらにマスターモデルMMへの統合までの一連の流れを表している。以下の説明において、[1]~[11]の各番号を付した矢印等で示される動作を、動作[1]、動作[2]・・・動作[11]のように表記する。本実施形態に係る機械学習システム10は、以下に示す手順1から手順11に従って動作する。
〈手順1〉統合サーバ30は、AIモデルの学習計画を立案している開発主体80が検索条件を指定するためのデータ収集プログラム設定インターフェース32を備えている。開発主体80は、データ収集プログラム設定インターフェース32を通じて検索条件を指定することができる。
図1中の動作[1]は、開発主体80が検索条件を指定している動作を表している。ここで検索条件とは、例えば肺CAD実行の結果、スリガラス状陰影が検出されたデータ件数を集計する、というような条件であり、これは各医療機関内のAI処理結果を保存しているデータベース等に問い合わせれば検索可能である。肺CADは、例えば、肺のCT(Computed Tomography)画像を入力データに用い、肺疾患領域の検出及び/又は疾患名(病名)の認識結果などを出力する学習済みのAIモデルを利用したAI処理モジュールの一例である。ここでの「学習済みのAIモデル」は、既に製品として納品済み(完成済み)のAIモデルである。以後、このような学習済みのAIモデルを「納品済みAIモデル」と記載する。医療用のAI処理モジュールは、肺CADに限らず、脳CAD、胃腸CADなど様々な種類があり得る。脳CADは、例えば、脳のMRI(Magnetic Resonance Imaging)画像を入力データに用いて疾患領域の検出及び/又は疾患名の認識結果などを出力する。胃腸CADは、例えば、胃および/または腸などの消化器系の内視鏡画像を入力データに用いて疾患領域(病変)の検出及び/又は疾患名の認識結果などを出力する。
〈手順2〉データ収集プログラム220が使用する検索条件は、例えばJSON(JavaScript Object Notation)等の構造データを検索条件設定ファイルとして与えられる。「JavaScript」は登録商標である。図1中の動作[2]は、検索条件設定ファイルがデータ収集プログラム220に与えられることを表している。
〈手順3〉データ収集プログラム220は、検索条件設定ファイルを読み込み、検索条件設定ファイルの指示に従い、DICOMサーバ22および/または電子カルテシステム24など、学習対象となり得るデータを保存しているシステムに対してデータを検索する。図1中の動作[3]は、データ収集プログラム220によるデータの検索の処理を表す。
ここで検索条件設定ファイルは、構造データファイルでなくてもよく、データ収集プログラム220が検索する検索先と、検索先への検索クエリを構築するために必要な複数または単一のパラメータが与えられるような形式のデータであればよい。
検索条件は、検索対象が例えば画像検査結果を保存しているDICOMサーバ22内のデータのみ等の単一検索条件であってもよいし、例えば電子カルテシステム24内で間質性肺炎の所見を有する患者の電子カルテデータ及びそれに紐づく検査結果画像を検索するというような、医療機関内の複数のシステムにまたがるような検索条件でもよい。
〈手順4〉データ収集プログラム220は、検索条件に合致するデータの場所をデータベース等のデータ保存部(検索結果保存部)に保存し、そのデータ件数を集計して統合サーバ30に送信する。ここで送信されるのはデータ件数のみである。ここでの「データ件数のみ」という記載は、検索条件を満たす画像や電子カルテデータなどの検索結果に合致するデータ自体は送信されず、検索条件に合致するデータの件数の情報が送信されることを意味する。図1中の動作[4]は、データ件数の集計結果が統合サーバ30に送信されること、および統合サーバ30が集計結果を受信することを表している。
〈手順5〉統合サーバ30は、データ収集プログラム220から集計結果を受け取り、集計結果をデータベース等のデータ保存部(集計結果保存部)に保存する。
〈手順6〉AIモデルの学習を計画している開発主体80は、統合サーバ30が有しているデータ収集プログラム設定インターフェース32を通して、指定した検索条件に合致するデータがいくつ必要かを設定する。例えば、開発主体80は、肺CAD実行の結果、スリガラス状陰影が検出されたデータが1000個必要などというように、学習を実施するために必要なデータの件数の設定を行う。図1中の動作[5]は、開発主体80が必要データ件数(必要件数)を設定する入力作業を表している。
〈手順7〉統合サーバ30は、学習に必要なデータの検索条件と、そのデータの必要件数とを元に、それぞれの医療機関の端末20において、いくつデータを使用して学習すべきかを分配し、その分配情報を各医療機関の医療機関システムMS内に存在しているデータ収集プログラム220に送信する。図1中の動作[6]が分配情報の送信を表している。ここでいう分配とは、例えば肺CAD実行の結果、スリガラス状陰影が検出されたデータが1000個必要であると統合サーバ30に入力された場合、病院Aのクライアントでは100件、病院Bでは46件、病院Cでは…というように、医療機関ごとにデータの件数を割り当てることを想定している。
ここで各医療機関に分配されるデータ件数には上限が定められていることが好ましい。統合サーバ30によって決められる各医療機関への分配は、例えば各医療機関でのローカル学習に使用するデータ件数は1つの医療機関について最大100件までと定められる。この場合、仮に、ある医療機関において検索条件に合致する学習データの件数が100件以上あれば、そのうちの100件まで学習に使用するように分配し、検索条件に合致する学習データの件数が100件に満たなければ、例えば検索条件に合致する学習データの件数が46件しかその医療機関に無ければ、その46件を学習に使用する、というように分配のルールを定めておき、指定された必要データ件数(例えば1000件)に到達するまで各医療機関で学習に使用するデータ件数を分配していくというような形式が適用される。分配ルールについては、上述の例に限定されない。
〈手順8〉学習に使用すべき検索条件に合致するデータ件数を統合サーバ30から受信したデータ収集プログラム220は、必要であれば、条件に合致するデータをローカル学習管理プログラム250が学習データとして読み込めるデータ保存場所に移動させた後、ローカル学習管理プログラム250を起動し、学習対象ローカルモデル(ローカル学習モデル)LMの学習を開始する。図1中の動作[7]は、ローカル学習管理プログラム250を起動させることを表し、動作[8]は学習対象ローカルモデルLMの学習を開始することを表している。
以降学習に使用するデータは、設定が変更されるか、または、統合サーバ30におけるマスターモデルMMの学習が完了するまで、同じデータが使用される。図1中の動作[9]として示すリング状の矢印は、ローカルモデルLMについて学習が行われることを表している。
〈手順9〉ローカル学習管理プログラム250は、ローカルモデルLMの学習完了後、その学習済み重みパラメータを統合サーバ30に対して送信する。統合サーバ30は、各医療機関内の端末20から取得した学習済み重みパラメータを統合して学習対象マスターモデルMMを更新する。図1中の動作[10]は、ローカル学習管理プログラム250が学習完了後のローカルモデルLMの学習済み重みパラメータを取得することを表し、動作[11]は学習済み重みパラメータが統合サーバ30に送信されることを表している。
ここでローカルモデルLMの学習完了条件は、指定された回数のイテレーション後に終了するというものでもよいし、医療機関ネットワーク内に検証用データを保持しておき、検証用データに示される正解データとローカルモデルLMの推論結果とを比較することで推論精度を算出し、指定された割合の精度向上を達成するまで学習を行うというものでもよいし、制限時間を設定しておいてその制限時間内は学習を行うというような方法でもよい。
〈手順10〉以降はマスターモデルMMの推論精度が所望の精度に達するまで、ローカル学習モデルの学習と、それらローカル学習モデルの重みパラメータの統合サーバ30上での統合を反復する。
以上の手順1~10に説明してきた流れは、検索条件に合致するデータ件数の全体件数(総数)が、学習に必要なデータ件数以上の場合の例であり、学習データの全体件数が十分な場合の流れである。その一方で、実際の運用においては、学習に必要なデータ件数が十分ではない状態も想定される。
《学習データの全体件数が不足している場合の対処》
以下、学習データの全体件数が必要件数に対して不足している場合のシステムの挙動について具体例を示して説明する。説明に先立ち、必要な前提事項を以下に述べる。
以下、学習データの全体件数が必要件数に対して不足している場合のシステムの挙動について具体例を示して説明する。説明に先立ち、必要な前提事項を以下に述べる。
図2は、学習データの種別に関する説明図である。学習に用いるデータ(学習データ)の種別について「一次データ」と「二次データ」とを次のように定義する。
X線撮影装置やMRI装置等のモダリティを使用して患者を撮影しないと生成できないような画像や、医師が書かないと生成されないような所見文といった、システム的に自動生成出来ないデータを「一次データ」と定義する。
一方、既に撮影されている画像等に対して、例えば肺疾患領域抽出AIを動作させれば得られるような、システム的に自動生成可能なデータを「二次データ」と定義する。二次データは、一次データを用いてコンピュータが生成し得るデータである。
図2では、一次データの例として、CT画像Aと、CT画像Aに紐付く所見文とが示されている。CT画像Aは、CT装置によって撮影された画像である。CT画像Aに紐付く所見文は、CT画像Aを用いて診断した医師が記入した所見文である。「紐付く」とは「関連付けされている」という意味である。二次データの例として、CT画像Aに対して実行された肺疾患領域抽出AIの処理結果が示されている。この処理結果のデータは、例えば、CT画像Aから抽出された肺疾患領域を示すバウンディングボックスおよび/またはセグメンデーション画像などであってよい。
図1で説明したローカルモデルLMおよびマスターモデルMMとしての学習対象モデルと、学習に使用する学習データの種別との組み合わせとしては、以下のようなものが想定される。
[想定A]図2の左列に記載したような、例えばCT画像AとそのCT画像Aに紐付く所見文との組み合わせというように、一次データのみを学習データとして使用する学習対象モデルを学習させる場合。
[想定B]図2の左列と右列とに記載のような、例えばCT画像AとそのCT画像Aに紐付く所見文との一次データと、CT画像Aに対して納品(完成)済みAIモデルを動作させることで得られる肺疾患領域抽出AIの処理結果のような二次データとを合わせて学習データとして使用する学習対象モデルを学習させる場合。
[想定C]図2の右列に記載したような、二次データのみを学習データとして使用する学習対象モデルを学習させる場合。
以上のような前提の下、学習に必要なデータの全体件数が不足している場合の機械学習システム10における動作の例について以下に説明する。
図3は、学習データの全体件数が不足している場合の機械学習システム10の動作の概要を示す概念図である。図3に示す構成について、図1と異なる点を中心に説明する。
開発主体80は、図3の動作[1]~[4]の流れで、設定した検索条件に合致するデータが全体で何件存在するかをシステム経由で知る。ここまでの動作[1]~[4]は既述した〈手順1〉~〈手順4〉と同様の流れである。
開発主体80は、データ収集プログラム設定インターフェース32を通して、検索条件に合致するデータが例えば100件存在することを知る。その一方で、実際に学習には200件のデータを使用したいと開発主体80は考えており、学習に必要なデータが100件不足しているというような状態を想定する。このような場合、学習に必要なデータが、既述した想定A、想定B、および想定Cのうちのいずれであるかによって、開発主体80のとり得る対応が異なるため、それぞれの想定ケースについての対処動作を説明する。
[想定Aのケース]
想定Aのように、一次データのみを学習データとして使用するような学習において学習データが不足している場合、開発主体80は各医療機関によって必要なデータが生成されるまで待つ必要がある。この時、必要なデータ数が集まったかどうかを開発主体80自身が毎回検索して確認するのは手間なため、統合サーバ30のシステムに、検索条件に合致する全体のデータ件数が200件を超えた段階で通知するように設定し、システムは必要データ件数の条件に合致次第、開発主体80に通知する構成であることが好ましい。
想定Aのように、一次データのみを学習データとして使用するような学習において学習データが不足している場合、開発主体80は各医療機関によって必要なデータが生成されるまで待つ必要がある。この時、必要なデータ数が集まったかどうかを開発主体80自身が毎回検索して確認するのは手間なため、統合サーバ30のシステムに、検索条件に合致する全体のデータ件数が200件を超えた段階で通知するように設定し、システムは必要データ件数の条件に合致次第、開発主体80に通知する構成であることが好ましい。
[想定Bのケース]
想定Bのように、一次データおよび二次データを学習データとして使用する場合であって、一次データは200件以上存在するが二次データは100件しか存在しないために、学習データが全体として100件不足しているというような場合、二次データはプログラム的に自動生成することが可能なため、開発主体80はシステムに対して二次データの追加生成を指示する。追加生成の指示から実際に、追加の二次データが生成されるまでの流れを以下に述べる。
想定Bのように、一次データおよび二次データを学習データとして使用する場合であって、一次データは200件以上存在するが二次データは100件しか存在しないために、学習データが全体として100件不足しているというような場合、二次データはプログラム的に自動生成することが可能なため、開発主体80はシステムに対して二次データの追加生成を指示する。追加生成の指示から実際に、追加の二次データが生成されるまでの流れを以下に述べる。
開発主体80は、図3中の動作[5]にて、データ収集プログラム設定インターフェース32を介して、どの納品済みAIモデル26から生成される結果データが何件必要かを指定する。
データ収集プログラム設定インターフェース32は、図3中の動作[5]にて指定された追加生成の実行条件を、各医療機関内に存在するデータ収集プログラム220に分配する。図3中の動作[6]は、この追加生成に関する分配の流れを表している。ここでの分配とは、全体として追加で100件分の納品済みAIモデル26の実行結果が欲しいとした場合で、例えば、医療機関が10施設ある場合、各施設では10件分の追加生成の処理を実行させる、というような追加処理の作業分担の割り振りを行うことが想定される。
動作[6]により実行条件を受信した各医療機関のデータ収集プログラム220は、実行条件に合致する納品済みAIモデル26について10件分の処理を実行させる。図3中の動作[7]は、データ収集プログラム220が、指定された実行条件に従い納品済みAIモデル26を用いた追加処理を実行させることを表している。
図3中の動作[8]は、動作[7]で実行指示を受けた納品済みAIモデル26が二次データを追加生成していることを示している。図3中の動作[9]は納品済みAIモデル26により生成された二次データ(結果データ)を適切な場所に保存することを示している。
納品済みAIモデル26は、指定された件数の二次データを生成し終えると、追加生成の処理が終了したことをデータ収集プログラム220に通知する。図3中の動作[10]はは、指定された件数分のデータの追加処理が終了したことをデータ収集プログラム220に通知する動作を表している。
この通知を受けたデータ収集プログラム220は、動作[11]にてローカル学習管理プログラム250に、必要な学習データが揃ったことを通知し、ローカル学習管理プログラム250による学習対象ローカルモデルLMの学習を開始させる。以降の学習に関する動作の流れは、図1で説明した動作[8]~[11]と同様の反復となる。図3中の動作[12]、動作[13]および動作[14]は、図1中の動作[9]、動作[10]および動作[11]と同様である。
[想定Cのケース]
想定Cのように、二次データのみを学習データとして使用するような学習対象モデルの学習データが不足しているような場合は、想定Bのケースで説明した動作[5]~[14]と同様の流れで二次データを追加生成し、学習を進める。
想定Cのように、二次データのみを学習データとして使用するような学習対象モデルの学習データが不足しているような場合は、想定Bのケースで説明した動作[5]~[14]と同様の流れで二次データを追加生成し、学習を進める。
《システム構成例》
次に、機械学習システム10の具体的な構成の例について説明する。図4は、機械学習システム10のシステム構成例を概略的に示す図である。まず、医療機関ネットワーク50の例を説明する。図4では、図示を簡単にするために、複数の医療機関のそれぞれに同じシステム構成の医療機関ネットワーク50が設置されている場合の例を示すが、医療機関ごとに異なるシステム構成の医療機関ネットワークが構築されてもよい。
次に、機械学習システム10の具体的な構成の例について説明する。図4は、機械学習システム10のシステム構成例を概略的に示す図である。まず、医療機関ネットワーク50の例を説明する。図4では、図示を簡単にするために、複数の医療機関のそれぞれに同じシステム構成の医療機関ネットワーク50が設置されている場合の例を示すが、医療機関ごとに異なるシステム構成の医療機関ネットワークが構築されてもよい。
医療機関ネットワーク50は、CT装置52と、MRI装置54と、CR(Computed Radiography)装置56と、DICOMサーバ22と、電子カルテシステム24と、AIサーバ60と、端末20,62と、構内通信回線66とを含むコンピュータネットワークである。
なお、医療機関ネットワーク50は、図4に例示のCT装置52、MRI装置54、およびCR装置56に限らず、これらの一部または全部に代えて、もしくは追加して、不図示のデジタルX線撮影装置、血管造影X線診断装置、超音波診断装置、PET(Positron Emission Tomography)装置、内視鏡装置、マンモグラフィ装置、その他の各種検査装置(モダリティ)のうち少なとも1つまたは組み合わせを含んでもよい。医療機関ネットワーク50に接続される検査装置の種類は、医療機関ごとに様々な組み合わせがありうる。
DICOMサーバ22は、構内通信回線66を介して他の装置と通信を行い、画像データを含む各種データを送受信する。DICOMサーバ22は、CT装置52、MRI装置54、およびCR装置56などの各検査装置によって生成された画像データその他の含む各種データを構内通信回線66経由で受信し、大容量外部記憶装置等の記録媒体に保存して管理する。
なお、画像データの格納形式および構内通信回線66経由での各装置間の通信は、DICOM等のプロトコルに基づいている。DICOMサーバ22および電子カルテシステム24など医療機関ネットワーク50上に保存された様々なデータを学習データとして使用することができる。また、DICOMサーバ22および/または電子カルテシステム24などに保存されたデータを基に作成された学習データを端末20その他の適切なストレージなどに保存することも可能である。
AIサーバ60は、既に製品版として提供されているAIモデルを用いたCAD処理を実行する。AIサーバ60は、例えば、肺CADおよび/または脳CADなどといった、少なくとも1つのAI処理モジュールを含む。AIサーバ60内のAI処理モジュールは図3で説明した納品済みAIモデル26に相当する。AIサーバ60内のAI処理モジュールおよび納品済みAIモデル26は本開示における「第3のプログラム」の一例である。AIサーバ60は、複数種類の納品済みAIモデル26を含んでいてもよい。
AIサーバ60は、構内通信回線66を介してDICOMサーバ22等からデータを取得することができる。DICOMサーバ22および/電子カルテシステム24などのデータベースに保存された各種データ、並びにAIサーバ60による推論結果を含む様々な情報は、構内通信回線66に接続された端末20,62に表示させることができる。
端末20は、図1で説明したように、ローカル学習を実行する学習処理端末である。端末20は、統合サーバ30と通信するための通信機能を有し、広域通信回線70を介して統合サーバ30と接続される。端末20は、構内通信回線66を介してDICOMサーバ22および/または電子カルテシステム24等からデータを取得することができる。また、端末20はAIサーバ60内のAI処理モジュールの実行権限を有しており、統合サーバ30からデータを追加生成すべき旨の指示を受けた場合に、AI処理モジュールを動作させて新規の学習データを追加生成する。なお、端末20の処理機能の一部または全部はAIサーバ60に搭載されてもよい。
一方、端末62は、PACSビューワ、あるいはDICOMビューワと呼ばれる表示端末であってよい。医療機関ネットワーク50には複数の端末62が接続され得る。端末20,62の形態は特に限定されず、パーソナルコンピュータであってもよいし、ワークステーションであってもよく、また、タブレット端末などであってもよい。
図4に示すように、複数の医療機関のそれぞれに、同様のシステム構成を持つ医療機関ネットワーク50が構築されている。統合サーバ30は、広域通信回線70を介して各医療機関ネットワークの端末20と通信を行う。広域通信回線70は本開示における「通信回線」の一例である。
《統合サーバ30の構成例》
図5は、統合サーバ30の構成例を示すブロック図である。統合サーバ30は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。コンピュータにプログラムをインストールすることにより実現される。
図5は、統合サーバ30の構成例を示すブロック図である。統合サーバ30は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。コンピュータにプログラムをインストールすることにより実現される。
統合サーバ30は、プロセッサ302、非一時的な有体物であるコンピュータ可読媒体304、通信インターフェース306、入出力インターフェース308、バス310、入力装置314および表示装置316を備える。プロセッサ302は本開示における「第2のプロセッサ」の一例である。コンピュータ可読媒体304は本開示における「第2のコンピュータ可読媒体」の一例である。
プロセッサ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(図4参照)に接続される。
コンピュータ可読媒体304には、データ収集プログラム設定I/Fプログラム320、同期プログラム330、学習対象マスターモデルMM、マスターモデル学習管理プログラム340、表示制御プログラム350およびデータベース360を含む各種プログラムおよびデータが記憶されている。
データ収集プログラム設定I/Fプログラム320は、図1および図3で説明したデータ収集プログラム設定インターフェース32を実現するためのプログラムである。プロセッサ302がデータ収集プログラム設定I/Fプログラム320の命令を実行することにより、コンピュータは入力装置314および表示装置316を含むユーザインターフェースと共に、データ収集プログラム設定インターフェース32(図1参照)として機能する。
プロセッサ302は、データ収集プログラム設定I/Fプログラム320の命令を実行することにより、検索条件入力受付部321、設定ファイル生成部322、集計結果取得部323および学習データ件数分配部324として機能する。検索条件入力受付部321は、開発主体80のオペレータからの検索条件の入力を受け付ける。設定ファイル生成部322は、入力された検索条件に基づき検索条件設定ファイルを生成する。集計結果取得部323は、各医療機関の端末20から検索条件に合致するデータ数の集計結果を取得して、データベース360に集計結果を保存する。
学習データ件数分配部324は、各医療機関の端末20から得られた集計結果を基に、所定の分配ルールに従い、各医療機関での学習に使用する学習データの数(件数)を分配し、各医療機関のデータ収集プログラム220に分配情報を送信する。
また、プロセッサ302は、データ収集プログラム設定I/Fプログラム320の命令を実行することにより、通知設定入力受付部325、通知判定部326、追加指示受付部327および追加生成分配部328として機能する。通知設定入力受付部325は[想定Aのケース]として説明した通知の設定に関する入力を受け付ける。通知判定部326は、検索条件に合致するデータの総件数が必要件数以上となったか否かを判定し、通知の可否を判定する。追加指示受付部327は、[想定Bのケース]および[想定Cのケース]として説明したように、追加が必要のデータの種別と件数とを指定する入力を受け付ける。追加生成分配部328は、指定された追加データの種別と件数とを基に、各医療機関に対して追加生成の処理を分配する。追加生成分配部328は、各端末20に対してデータの追加生成を依頼する際の追加データ件数の指定を含む追加生成分配情報を生成し、この追加生成分配情報を各端末20に送信する。
同期プログラム330は、通信インターフェース306を介して学習対象マスターモデルMMのデータを各医療機関の端末20に提供し、各端末20のローカルモデルLMをマスターモデルMMと同期させるためのプログラムである。プロセッサ302が同期プログラム330の命令を実行することにより、コンピュータは同期処理部として機能する。なお、同期プログラム330はマスターモデル学習管理プログラム340のプログラムモジュールとして組み込まれていてもよい。
マスターモデル学習管理プログラム340は、複数の医療機関内の端末20において実施されたローカル学習の学習結果としての学習済み重みパラメータを統合して学習対象マスターモデルMMの重みパラメータを更新する処理を行う。プロセッサ302がマスターモデル学習管理プログラム340の命令を実行することにより、コンピュータは学習済み重みパラメータ取得部341、パラメータ統合部342、およびモデル更新部343として機能する。学習済み重みパラメータ取得部341は、複数の医療機関内の端末20において実施されたローカル学習の学習結果としての学習済み重みパラメータを取得する。
パラメータ統合部342は、複数の医療機関から得られた学習済み重みパラメータを統合する。統合処理は、単純な平均値を求める処理であってもよいし、適宜の重み付けを加えた加重平均値を求める処理であってもよい。モデル更新部343はパラメータ統合部342によって算出された統合パラメータによって学習対象マスターモデルMMのパラメータを更新する。
図3には示されていないが、統合サーバ30のコンピュータ可読媒体304には、学習対象マスターモデルMMの推論精度を検証する精度検証プログラムと検証用データとが記憶されていてもよい。例えば、パラメータ統合部342によって統合されたパラメータを含むマスターモデル候補について推論精度を確認し、精度目標値を上回る推論精度のモデルが得られた場合に、モデル更新部343がマスターモデルMMを更新してもよい。精度目標値は、目標とする推論精度を示す値であり、例えば、マスターモデルMMの最新版の推論精度よりも高い精度に設定され、推論精度が向上する都度、マスターモデルMMの更新と精度目標値の更新が行われる。あるいは、例えば、精度目標値は、マスターモデルMMに代わって製品化できるレベルの精度に定められてもよい。
データ収集プログラム設定I/Fプログラム320およびマスターモデル学習管理プログラム340は本開示における「第2のプログラム」の一例である。
また、プロセッサ302が表示制御プログラム350の命令を実行することにより、コンピュータは表示制御部として機能する。表示制御部は、表示装置316への表示出力に必要な表示用信号を生成し、表示装置316の表示制御を行う。
表示装置316は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、もしくは、プロジェクタ、またはこれらの適宜の組み合わせによって構成される。入力装置314は、例えば、キーボード、マウス、タッチパネル、もしくはその他のポインティングデバイス、もしくは、音声入力装置、またはこれらの適宜の組み合わせによって構成される。入力装置314は、オペレータによる種々の入力を受け付ける。なお、タッチパネルを用いることによって表示装置316と入力装置314とを一体に構成してもよい。
表示装置316には、学習対象マスターモデルMMのそれぞれの各学習イテレーションにおける推論精度を表示させることができる。オペレータは表示装置316に表示される情報によって学習対象マスターモデルMMの学習の進行状況を確認することが可能である。
《データ収集プログラム設定I/Fプログラム320の例》
図6は、データ収集プログラム設定I/Fプログラム320に基づく統合サーバ30の動作の例を示すフローチャートである。図6に示すフローチャートのステップは、統合サーバ30のプロセッサ302がデータ収集プログラム設定I/Fプログラム320の命令に従って実行する。
図6は、データ収集プログラム設定I/Fプログラム320に基づく統合サーバ30の動作の例を示すフローチャートである。図6に示すフローチャートのステップは、統合サーバ30のプロセッサ302がデータ収集プログラム設定I/Fプログラム320の命令に従って実行する。
ステップS11において、プロセッサ302は検索条件の入力を受け付ける。開発主体80のオペレータは、入力装置314から検索条件を指定する情報を入力することができる。
ステップS12において、プロセッサ302はステップS11にて入力された情報に従い検索条件設定ファイルを生成する。
ステップS13において、プロセッサ302は検索条件設定ファイルを各医療機関の端末20に送信する。
ステップS14において、プロセッサ302は各端末20から検索条件に合致するデータ件数の集計結果を受信する。各端末20から集計結果を取得するタイミングは端末20ごとに適宜のタイミングであってよい。
ステップS15において、プロセッサ302は各端末20からの集計結果をデータベース360などに保存する。プロセッサ302は、各端末20からの集計結果を表示装置316に表示させることができる。
ステップS16において、プロセッサ302は学習に必要なデータ種別およびデータ件数の入力を受け付ける。なお、学習に必要なデータ種別が検索条件で指定したデータ種別と共通する場合は、検索条件の入力内容を援用してよい。開発主体80のオペレータは、入力装置314から学習に必要なデータ種別およびデータ件数を指定する情報を入力することができる。
ステップS17において、プロセッサ302は学習データの全体件数が必要件数に対して十分であるか否かを判定する。ステップS17の判定結果がYes判定である場合、つまり、学習データの全体件数が必要件数以上である場合、プロセッサ302はステップS18に進む。
ステップS18において、プロセッサ302は各医療機関に対するデータ件数の分配を行う。そして、ステップS19において、プロセッサ302はステップS18にて分配された医療機関ごとの学習データのデータ件数を含む分配情報を各医療機関の端末20に送信する。
一方、ステップS17の判定結果のNo判定である場合、つまり、学習データの全体件数が必要件数に満たない場合、プロセッサ302は図7のステップS21に進む。
ステップS21において、プロセッサ302は、不足しているデータが一次データのみであるか否かを判定する。この判定処理は、[想定Aのケース]のような場合であるか否かを判定するステップである。
ステップS21の判定結果がYes判定である場合、プロセッサ302はステップS22に進む。
ステップS22において、プロセッサ302は必要件数の一次データが揃った段階で通知を行う場合の通知設定の入力を受け付ける。
ステップS23において、プロセッサ302は必要なデータが新たに生成されるのを待機する。プロセッサ302は各医療機関の端末20から適宜のタイミングで最新の集計結果の情報を受信する。医療機関システムMS内で新たに一次データが生成されることにより、集計結果の情報が更新される。
ステップS24において、プロセッサ302は不足していた一次データの件数が必要件数を充足したか否かを判定する。ステップS24の判定結果がNo判定である場合、つまり、一次データが不足している場合、プロセッサ302はステップS23に戻る。
ステップS24の判定結果がYes判定である場合、つまり一次データが必要件数以上揃った場合、ステップS25に進む。
ステップS25において、プロセッサ302は学習に必要なデータ件数が充足したことを報知する通知を行う。開発主体80は表示装置316を通じて、この通知を受け取ることができる。
一方、ステップS21の判定結果がNo判定である場合、プロセッサ302はステップS31に進む。ステップS31においてプロセッサ302は、不足しているデータが二次データのみであるか否かを判定する。この判定処理は、[想定Bのケース]または[想定Cのケース]のような場合であるか否かを判定するステップである。ステップS23の判定結果がYes判定である場合、プロセッサ302はステップS32に進む。
ステップS32において、プロセッサ302は新規の二次データを追加生成するために、使用する納品済みAIモデルと追加が必要な件数の入力を受け付ける。開発主体80のオペレータは入力装置314から必要なデータの種別と追加データ件数などの情報を入力することができる。
ステップS33において、プロセッサ302はステップS32にて指定された情報を基に各医療機関に追加生成件数を分配する。
ステップS34において、プロセッサ302は医療機関ごとに分配した追加生成処理の実行条件を各医療機関の端末20に送信する。
ステップS34またはステップS25の後、プロセッサ302は図6のステップS18に進む。
また、図7のステップS31の判定結果がNo判定である場合、すなわち、一次データと二次データの両種のデータが不足している場合、プロセッサ302は図8のステップS41に進む。ステップS41~ステップS44は、図7のステップS22~ステップS25の対応するステップと同様である。ステップS44の後、ステップS45において、プロセッサ302は二次データの追加が必要であるか否かを判定する。
新たな一次データの生成が行われている期間に、新たな二次データの生成も行われる可能性がある。ステップS45の判定結果がYes判定であれば、プロセッサ302はステップS46に進む。ステップS46~ステップS48は、図7のステップS32~ステップS34の対応するステップと同様である。ステップS48の後、プロセッサ302は図6のステップS18に進む。
一方、図8のステップS45の判定結果がNo判定であれば、ステップS46~ステップS48をスキップして、図6のステップS18に進む。
プロセッサ302は、ステップS19の後、図6のフローチャートを終了する。
《医療機関ネットワーク50上の端末20の構成例》
図9は、医療機関ネットワーク50上の端末20の構成例を示すブロック図である。ローカル学習を実施する端末20は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。
図9は、医療機関ネットワーク50上の端末20の構成例を示すブロック図である。ローカル学習を実施する端末20は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。
端末20は、プロセッサ202、非一時的な有体物であるコンピュータ可読媒体204、通信インターフェース206、入出力インターフェース208、バス210、入力装置214および表示装置216を備える。端末20のハードウェア構成は、図5で説明した統合サーバ30のハードウェア構成と同様であってよい。すなわち、図9に示すプロセッサ202、コンピュータ可読媒体204、通信インターフェース206、入出力インターフェース208、バス210、入力装置214および表示装置216のそれぞれのハードウェア構成は、図5に示す対応する要素と同様であってよい。
端末20は本開示における「情報処理装置」の一例である。プロセッサ202は本開示における「第1のプロセッサ」の一例である。コンピュータ可読媒体204は本開示における「第1のコンピュータ可読媒体」の一例である。
端末20は、通信インターフェース206または入出力インターフェース208を介して学習データ保存部280と接続される。学習データ保存部280は、端末20が機械学習を行うために使用する学習データを保存しておくストレージを含んで構成される。「学習データ」とは、機械学習に用いる訓練用のデータであり、「学習用データ」あるいは「訓練データ」と同義である。学習データ保存部280は、図3で説明したDICOMサーバ22および/または電子カルテシステム24のストレージなどであってもよいし、図3の動作[9]として説明した「適切な場所」に相当するストレージであってもよい。
ここでは、学習データ保存部280と、学習処理を実行する端末20とがそれぞれ別々の装置として構成される例を説明するが、これらの機能は1台のコンピュータで実現してもよいし、2以上の複数台のコンピュータで処理の機能を分担して実現してもよい。
図9に示す端末20のコンピュータ可読媒体204には、データ収集プログラム220とローカル学習管理プログラム250とを含む各種プログラムおよびデータが記憶されている。データ収集プログラム220およびローカル学習管理プログラム250は本開示における「第1のプログラム」の一例である。
プロセッサ202がデータ収集プログラム220の命令を実行することにより、コンピュータは検索条件設定ファイル取得部221、データ検索部222、検索結果保存部223、集計結果送信処理部224、分配情報取得部225および追加生成処理部226として機能する。検索条件設定ファイル取得部221は、統合サーバ30から検索条件設定ファイルを取得する。
データ検索部222は、検索条件設定ファイルに記述された検索条件に基づき、医療機関ネットワーク50上のデータベース等から検索条件に合致するデータの検索を行う。データ検索部222による検索結果は、検索結果保存部223に保存される。集計結果送信処理部224は、検索結果保存部223に保存された検索結果を集計し、検索条件に合致するデータ件数の情報(集計結果)を統合サーバ30に送信する処理を行う。
分配情報取得部225は、統合サーバ30から学習に使用すべきデータ件数の指定を含む分配情報を取得する。データ収集プログラム220は、分配情報にて指定されたデータ数の学習データを用いてローカル学習管理プログラム250にローカル学習を実施させる。
追加生成処理部226は、学習に必要なデータの全体件数が必要件数に満たない場合に、統合サーバ30からの追加生成の指示に従い、納品済みAIモデル26を動作させて、指定に係る追加データ件数分のデータを追加生成する。
また、プロセッサ202がローカル学習管理プログラム250の命令を実行することにより、コンピュータは同期処理部251、学習データ取得部252、学習対象ローカルモデルLM、誤差演算部254、オプティマイザ255、学習結果保存部256、および学習結果送信処理部257として機能する。
同期処理部251は、通信インターフェース206を介して統合サーバ30と通信を行い、統合サーバ30内の学習対象マスターモデルMMと端末20側の学習対象ローカルモデルLMとを同期させる。
学習データ取得部252は、検索条件に合致する学習データを学習データ保存部280から取得する。ローカル学習に用いる学習データの件数は、分配情報にて指定されたデータ件数である。学習データ取得部252は、外部または装置内の他の信号処理部からデータを取り込むデータ入力端子を含んで構成されてよい。また、学習データ取得部252は、通信インターフェース206、入出力インターフェース208、もしくは、不図示のメモリカードなどの可搬型の外部記憶媒体の読み書きを行うメディアインターフェース、またはこれら態様の適宜の組み合わせを含んで構成されてもよい。
学習データ取得部252を介して取得された学習データは、学習対象ローカルモデルLMに入力される。
誤差演算部254は、学習対象ローカルモデルLMから出力されたスコアが示す予測値と、正解データとの誤差を算出する。誤差演算部254は、損失関数を用いて誤差を評価する。損失関数は、例えば、交差エントロピーまたは平均二乗誤差などであってよい。
オプティマイザ255は、誤差演算部254の演算結果から学習対象ローカルモデルLMの重みパラメータを更新する処理を行う。オプティマイザ255は、誤差演算部254から得られる誤差の演算結果を用いて、学習対象ローカルモデルLMの重みパラメータの更新量を求める演算処理と、算出された重みパラメータの更新量に従い、学習対象ローカルモデルLMの重みパラメータの更新処理とを行う。オプティマイザ255は、誤差逆伝播法などのアルゴリズムに基づき重みパラメータの更新を行う。
ローカル学習管理プログラム250が組み込まれた端末20は、医療機関内のローカルデータを学習データとして用いて端末20上で機械学習を実行するローカル学習装置として機能する。端末20は、学習データ保存部280からローカルデータである学習データを読み込み、分配情報にて指定されたデータ数の学習データを用いて学習対象ローカルモデルLMの機械学習を実行する。端末20は、複数の学習データをまとめたミニバッチの単位で学習データの読み込みと、重みパラメータの更新を行うことができる。
ローカル学習管理プログラム250は、学習対象ローカルモデルLMについて学習の終了条件を満たすまで、学習処理のイテレーションを回す。学習の終了条件を満たした後、学習結果としての学習対象ローカルモデルLMの重みパラメータは学習結果保存部256に保存される。
学習結果送信処理部257は、学習結果(すなわち学習済み重みパラメータ)を統合サーバ30に送信する処理を行う。学習結果保存部256に保存された学習後の学習対象ローカルモデルLMの重みパラメータは、通信インターフェース206を介して広域通信回線70経由で統合サーバ30に送られる(図4参照)。
また、プロセッサ202が表示制御プログラム260の命令を実行することにより、コンピュータは表示制御部として機能する。表示制御部は、表示装置216への表示出力に必要な表示用信号を生成し、表示装置216の表示制御を行う。また、図4には示されていないが、端末20のコンピュータ可読媒体204には、学習対象ローカルモデルLMの推論精度を検証する精度検証プログラムと検証用データとが記憶されていてもよい。
既に説明したとおり、医療機関ネットワーク50に存在する端末20上に、ローカル学習管理プログラム250を構築する。このローカル学習管理プログラム250は、学習前のマスターモデルMMとローカルモデルLMの同期、ローカル学習の起動、ローカル学習の終了条件の設定、並びに、ローカル学習終了時にローカル学習の結果を統合サーバ30に送信する機能を有する。
《データ収集プログラム220の例》
図10は、データ収集プログラム220に基づく端末20の動作の例を示すフローチャートである。図10に示すフローチャートのステップは、プロセッサ202がデータ収集プログラム220の命令に従って実行する。
図10は、データ収集プログラム220に基づく端末20の動作の例を示すフローチャートである。図10に示すフローチャートのステップは、プロセッサ202がデータ収集プログラム220の命令に従って実行する。
ステップS51において、プロセッサ202は統合サーバ30から検索条件設定ファイルを受信する。図6のステップS13にて統合サーバ30から送信された検索条件設定ファイルがプロセッサ202に受信される。
次いで、図10のステップS52において、プロセッサ202は検索条件設定ファイルで設定されている検索条件に合致するデータを医療機関システムMS内から検索する。
ステップS53において、プロセッサ202は検索条件に合致するデータの保存場所情報を保存し、データ件数を集計する。
ステップS54において、プロセッサ202はステップS53で得られた集計結果を統合サーバ30に送信する。
その後、ステップS55において、プロセッサ202は統合サーバ30からの指示の受信を待機する。
ステップS56において、プロセッサ202は統合サーバ30から分配情報を受信したか否かを判定する。ステップS56の判定結果がNo判定である場合、ステップS55に戻る。ステップS56の判定結果がYes判定である場合、つまり、プロセッサ202が分配情報を受信した場合、ステップS57に進む。
ステップS57において、プロセッサ202は追加生成の指示を受信したか否かを判定する。ステップS57の判定結果がNo判定である場合、つまり、新たな学習データの追加が不要である場合、プロセッサ202はステップS61に進む。
ステップS57の判定結果がYes判定である場合、つまり、二次データの追加生成によって新たな学習データの追加が必要である場合、プロセッサ202はステップS58に進む。
ステップS58において、プロセッサ202は受信した実行条件に従い、納品済みAIモデル26を動作させて二次データを追加生成する処理を実行させる。
ステップS59において、プロセッサ202は追加処理が完了したか否かを判定する。ステップS59の判定結果がNo判定である場合、ステップS58に戻り、追加生成の処理の完了を待つ。
ステップS59の判定結果がYes判定である場合、つまり、実行条件にて指定された追加データ件数分の二次データの生成が完了した場合、プロセッサ202はステップS60に進む。
ステップS60において、プロセッサ202は追加処理が完了したことをローカル学習管理プログラムに通知する。
次いで、ステップS61において、プロセッサ202は分配情報にて指定されたデータの種別と件数の学習データを収集する。
そして、ステップS62において、プロセッサ202はローカル学習管理プログラム250を起動させる。ステップS62の後、プロセッサ202は図10のフローチャートを終了する。
《ローカル学習管理プログラム250の例》
図11は、ローカル学習管理プログラム250に基づく端末20の動作の例を示すフローチャートである。図11に示すフローチャートのステップは、プロセッサ202がローカル学習管理プログラム250の命令に従って実行する。
図11は、ローカル学習管理プログラム250に基づく端末20の動作の例を示すフローチャートである。図11に示すフローチャートのステップは、プロセッサ202がローカル学習管理プログラム250の命令に従って実行する。
ステップS71において、プロセッサ202は、ローカルモデルLMとマスターモデルMMを同期させる。ローカルモデルLMとマスターモデルMMの同期に際しては、例えば、モデルが使用するパラメータファイルを更新してそれをプログラムが読み込んで学習を進めるという形態でもよいし、仮想コンテナイメージ様のものを統合サーバ30側で集中管理し、その仮想コンテナイメージ様のものを端末20側で展開するという形態でもよい。この同期の処理により、マスターモデルMMが学習開始前の初期状態の学習対象のローカルモデルLMとなる。
ステップS72において、プロセッサ202はローカルデータを用いてローカル学習を実行する。マスターモデルMMと同期されたローカルモデルLMは、ローカル学習管理プログラム250によってその学習処理を起動され、端末20が属する医療機関システムMS内に存在するローカルデータを用いて、ローカル学習が進められる。
ステップS73において、プロセッサ202は学習の終了条件を満たすか否かを判定する。ここで学習の終了条件は、例えば次のような条件の例を挙げることができる。
[例1]予めイテレーションの回数を指定しておき、指定された回数のイテレーション後に学習を終了する。
[例2]医療機関ネットワーク50内に検証用データを保持しておき、学習が進んだモデルに検証用データを入力して得られる推論結果の正解に対する精度比較をすることで推論精度を算出し、指定された割合の精度向上を達成するまで学習を行う。つまり、検証用データを用いて学習モデルの推論精度を算出し、指定された割合の精度向上を達成したら学習を終了する。
[例3]制限時間を設定しておき、その制限時間内は学習を行い、制限時間が来たら学習を終了する。
上記の[例1]~[例3]のいずれか1つの終了条件を定めておいてもよいし、複数の条件の論理積(AND)もしくは論理和(OR)を終了条件としてもよい。
ステップS73の判定結果がNo判定である場合、プロセッサ202はステップS72に戻り、ローカル学習の処理を続ける。一方、ステップS73の判定結果がYes判定である場合、プロセッサ202はステップS74に進み、学習を終了する。
学習終了後、ステップS75において、プロセッサ202はその学習結果を統合サーバ30に送信する。例えば、プロセッサ202は、学習したモデルの重みパラメータをファイルに保存するなどして、統合サーバ30に広域通信回線70経由で送信する。
複数の医療機関のそれぞれの端末20が、互いに異なる医療機関ネットワーク50上に存在するデータを学習データに用いて、それぞれのローカルモデルLMの機械学習を実行し、学習結果を広域通信回線70経由で統合サーバ30に送信する。
《マスターモデル学習管理プログラム340の例》
図12は、マスターモデル学習管理プログラム340に基づく統合サーバ30の動作の例を示すフローチャートである。図12に示すフローチャートのステップは、統合サーバ30のプロセッサ302がマスターモデル学習管理プログラム340の命令に従って実行する。
図12は、マスターモデル学習管理プログラム340に基づく統合サーバ30の動作の例を示すフローチャートである。図12に示すフローチャートのステップは、統合サーバ30のプロセッサ302がマスターモデル学習管理プログラム340の命令に従って実行する。
ステップS81において、プロセッサ302は各医療機関の端末20から学習結果を受信する。
ステップS82において、プロセッサ302は複数の端末20から得られた学習結果を統合し、マスターモデル候補を作成する。
ステップS83において、プロセッサ302は作成したマスターモデル候補について推論精度の評価を行う。すなわち、プロセッサ302はマスターモデル候補に対して、事前に用意した検証用データを入力として用いて推論を行わせ、その推論精度を算出して、推論精度と精度目標値とを比較する。また、プロセッサ302は、算出した推論精度、ならびに、推論精度と精度目標値との比較結果を、マスターモデル候補と関連付けて(紐付けて)データベース360に保存する。
ステップS83の処理の際に精度目標値と比較するマスターモデル候補の推論精度は、瞬時値、または平均値あるいは中央値などの統計値のうち適切なものを使用する。ステップS83に適用される推論精度の評価の処理内容の例については図13を用いて後述する。
ステップS84において、プロセッサ302は精度目標値を上回るマスターモデル候補が得られたかどうかを判定する。ステップS84の判定結果がYes判定である場合、つまりマスターモデル候補の推論精度が精度目標値を上回っていた場合、プロセッサ302は、学習を終了させ(ステップS87)、ステップS88に進む。
ステップS88において、プロセッサ302は精度目標値を上回る推論精度のマスターモデル候補を学習後の性能改善された最新のモデルとし、このモデルをファイル等適切な形式でデータベース360等のデータ保存部に保存し、学習が終了したことを通知する。ここで通知方法はメッセージキューあるいは一般的なプロセス間通信等を用いることができる。なお、学習が終了したことを知らせる通知は、表示装置316に表示させてもよいし、端末20に送信してもよい。ステップS88の後、プロセッサ302は図12のフローチャートを終了する。
一方、ステップS84の判定結果がNo判定である場合、つまり、推論精度が精度目標値を上回るマスターモデル候補が得られていない場合、プロセッサ302はステップS85に進む。
ステップS85において、プロセッサ302は、現在のマスターモデルMMに比べて推論精度が向上したマスターモデル候補を学習対象マスターモデルMMとして更新し、次回、このモデルを各端末20のローカルモデルLMに同期させ、図11のステップS71~S75と図12のステップS81~S85とを反復する。これにより、更新前よりも推論精度が向上したローカルモデルLMが得られる。
《推論精度の評価処理の例》
図13は、統合サーバ30においてマスターモデル候補の推論精度を評価する処理の例を示すフローチャートである。図13に示すフローチャートは、図12のステップS83に適用される。
図13は、統合サーバ30においてマスターモデル候補の推論精度を評価する処理の例を示すフローチャートである。図13に示すフローチャートは、図12のステップS83に適用される。
図13のステップS91において、プロセッサ302はマスターモデル候補に対して検証用データを入力として推論を実行させる。
ステップS92において、プロセッサ302は推論の結果と正解データとに基づきマスターモデル候補の推論精度を算出する。
ステップS93において、プロセッサ302はマスターモデル候補の推論精度と精度目標値を比較する。ここで精度目標値と比較するのは、マスターモデル候補の推論精度瞬時値と比較してもよいが、ステップS81~S93の手順を何イテレーションか実施し、その際の推論精度を毎回記録し、それらの推論精度の平均値や中央値などの統計値と精度目標値を比較してもよい。
ステップS94において、プロセッサ302はマスターモデル候補の推論精度、ならびに、推論精度と精度目標値の比較結果をデータベース360に保存する。
ステップS94の後、プロセッサ302は図13のフローチャートを終了し、図12のフローチャートに復帰する。
統合サーバ30は、精度目標値を上回る推論精度のマスターモデルMMが得られるまで、上述の学習のイテレーションを行う。あるいは、統合サーバ30は、指定されたイテレーション上限数まで、イテレーションを回しても精度目標値を上回る推論精度のマスターモデルMMが得られない場合には、それまでの探索の過程において最大の推論精度が得られたマスターモデルMMを、製品モデルとして採用してもよい。
こうして本実施形態に係る機械学習システム10を用いて機械学習方法を実施することによって作成された新たなマスターモデルMMは、学習前のマスターモデルMMよりも推論精度が向上したものとなる。
また、実施形態によれば、マスターモデルMMの推論性能をアップデートすることが可能である。本実施形態に係る機械学習方法を実施することによって作成された新たなマスターモデルを販売等によって提供する場合には、販売時等の添付文書に、学習に使用したクライアント数、および精度検証に使用した検証用データ数などが記載されることが好ましい。学習に使用したクライアント数に関しては、クライアント概要として、例えば、「病院_何件」、「有床診療所_何件」、および「無床診療所_何件」という具合に、クライアントの分類を示すことが好ましい。
なお、現状の製品である納品済みAIモデルを、学習対象マスターモデルMMとして学習を行い、納品済みAIモデルからバージョンアップを行うことも考えられる。その際の事前の手続として、前バージョンの推論精度と新バージョンの推論精度とを明示する情報、ならびに、追加の学習に使用したクライアント数と分類を示す情報を合わせて医療機関側に提示し、医療機関側のバージョンアップ前承認を受ける。そして、承認を得た後にバージョンアップを行う。
本実施形態に係る機械学習システム10によって実施される機械学習方法は、本開示における「推論モデルの作成方法」の一例であり、学習によって得られる学習後のマスターモデルMMは本開示おける「推論モデル」の一例である。
《コンピュータのハードウェア構成の例》
図14は、コンピュータのハードウェア構成の例を示すブロック図である。コンピュータ800は、パーソナルコンピュータであってもよいし、ワークステーションであってもよく、また、サーバコンピュータであってもよい。コンピュータ800は、既に説明した端末20、統合サーバ30、DICOMサーバ22、電子カルテシステム24、AIサーバ60、および端末62のいずれかの一部または全部、あるいはこれらの複数の機能を備えた装置として用いることができる。
図14は、コンピュータのハードウェア構成の例を示すブロック図である。コンピュータ800は、パーソナルコンピュータであってもよいし、ワークステーションであってもよく、また、サーバコンピュータであってもよい。コンピュータ800は、既に説明した端末20、統合サーバ30、DICOMサーバ22、電子カルテシステム24、AIサーバ60、および端末62のいずれかの一部または全部、あるいはこれらの複数の機能を備えた装置として用いることができる。
コンピュータ800は、CPU(Central Processing Unit)802、RAM(Random Access Memory)804、ROM(Read Only Memory)806、GPU(Graphics Processing Unit)808、ストレージ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におけるデータ収集プログラム設定I/Fの機能、検索条件設定機能、学習データ分配機能、マスターモデル候補作成機能および推論精度評価機能を含むマスターモデル学習管理機能などの各種の処理機能のうち少なくとも1つの処理機能の一部または全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、もしくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
上述の実施形態で説明した各端末20におけるデータ検索機能、データ収集機能、およびローカル学習機能、ならびに統合サーバ30におけるデータ収集プログラム設定I/Fの機能、検索条件設定機能、学習データ分配機能、マスターモデル候補作成機能および推論精度評価機能を含むマスターモデル学習管理機能などの各種の処理機能のうち少なくとも1つの処理機能の一部または全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、もしくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
またこのような有体物たる非一時的なコンピュータ可読媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
また、上述の実施形態で説明したデータ検索機能、データ収集機能、およびローカル学習機能、ならびに統合サーバ30におけるデータ収集プログラム設定I/Fの機能、検索条件設定機能、学習データ分配機能、マスターモデル候補作成機能および推論精度評価機能を含むマスターモデル学習管理機能などの各種の処理機能のうち少なくとも1つの処理機能の一部または全部をアプリケーションサーバとして提供し、電気通信回線を通じて処理機能を提供するサービスを行うことも可能である。
《各処理部のハードウェア構成について》
図5に示す検索条件入力受付部321、設定ファイル生成部322、集計結果取得部323、学習データ件数分配部324、通知設定入力受付部325、通知判定部326、追加指示受付部327、追加生成分配部328、学習済み重みパラメータ取得部341、パラメータ統合部342、モデル更新部343、図9に示す検索条件設定ファイル取得部221、データ検索部222、検索結果保存部223、集計結果送信処理部224、分配情報取得部225および追加生成処理部226、同期処理部251、学習データ取得部252、学習対象ローカルモデルLM、誤差演算部254、オプティマイザ255、学習結果保存部256、および学習結果送信処理部257などの各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ(processor)である。
図5に示す検索条件入力受付部321、設定ファイル生成部322、集計結果取得部323、学習データ件数分配部324、通知設定入力受付部325、通知判定部326、追加指示受付部327、追加生成分配部328、学習済み重みパラメータ取得部341、パラメータ統合部342、モデル更新部343、図9に示す検索条件設定ファイル取得部221、データ検索部222、検索結果保存部223、集計結果送信処理部224、分配情報取得部225および追加生成処理部226、同期処理部251、学習データ取得部252、学習対象ローカルモデルLM、誤差演算部254、オプティマイザ255、学習結果保存部256、および学習結果送信処理部257などの各種の処理を実行する処理部(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によれば、次のような利点がある。
本発明の実施形態に係る機械学習システム10によれば、次のような利点がある。
[1]診断画像などプライバシーに配慮が必要な個人情報を医療機関側から外部に持ち出すことなく、学習を行うことができる。
[2]学習に使用するデータを医療機関システムMS内から検索して収集したり、学習データが不足している際には新たなデータを追加生成したりすることが可能である。
[3]開発主体80が各医療機関のデータの保有状況を把握しつつ、それぞれの医療機関でのローカル学習に使用するデータの種別と件数をコントロールできる仕組みが提供される。これにより、学習に供するデータの偏りを抑制することができ、学習によって作成されるAIモデルの推論精度の偏りを抑制することが可能になる。
《変形例1》
上述の実施形態では、主に医用画像診断用のAIモデルを例に説明したが、本開示の技術の適用範囲はこの例に限らず、例えば、入力データとして時系列データを用いるAIモデルまたは入力データとして文書データを用いるAIモデルについて、学習を行う場合にも適用することができる。時系列データは、例えば心電図の波形データなどであってよい。文書データは、例えば診断レポートなどであってよく、レポートの作成支援を行うAIモデルの学習に適用することができる。心電図の波形データは本開示における「検査データ」の一例である。
上述の実施形態では、主に医用画像診断用のAIモデルを例に説明したが、本開示の技術の適用範囲はこの例に限らず、例えば、入力データとして時系列データを用いるAIモデルまたは入力データとして文書データを用いるAIモデルについて、学習を行う場合にも適用することができる。時系列データは、例えば心電図の波形データなどであってよい。文書データは、例えば診断レポートなどであってよく、レポートの作成支援を行うAIモデルの学習に適用することができる。心電図の波形データは本開示における「検査データ」の一例である。
学習に使用するデータは、異なるモダリティによって取得された異種のデータの組み合わせであってもよい。学習に使用するデータは、例えば、画像と時系列データの組み合わせ、もしくは画像と文書データの組み合わせなど、複数種類の異種のデータの組み合わせであってもよい。
《変形例2》
上述の実施形態では、学習による精度目標値を定めておき、マスターモデル候補の推論精度と精度目標値とを比較する例を説明したが、精度目標値は必要に応じて更新されてもよい。また、精度目標値との比較に代えて、またはこれと組み合わせて、制限時間内もしくは指定のイテレーション数の範囲内においてモデルの推論精度を最大化するという条件のもとで、学習を進めてもよい。
上述の実施形態では、学習による精度目標値を定めておき、マスターモデル候補の推論精度と精度目標値とを比較する例を説明したが、精度目標値は必要に応じて更新されてもよい。また、精度目標値との比較に代えて、またはこれと組み合わせて、制限時間内もしくは指定のイテレーション数の範囲内においてモデルの推論精度を最大化するという条件のもとで、学習を進めてもよい。
《その他》
上述の実施形態で説明した構成や変形例で説明した事項は、適宜組み合わせて用いることができ、また、一部の事項を置き換えることもできる。本発明は上述した実施形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能である。
上述の実施形態で説明した構成や変形例で説明した事項は、適宜組み合わせて用いることができ、また、一部の事項を置き換えることもできる。本発明は上述した実施形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能である。
10 機械学習システム
20 端末
22 DICOMサーバ
24 電子カルテシステム
26 納品済みAIモデル
30 統合サーバ
32 データ収集プログラム設定インターフェース
50 医療機関ネットワーク
52 CT装置
54 MRI装置
56 CR装置
60 AIサーバ
62 端末
66 構内通信回線
70 広域通信回線
80 開発主体
202 プロセッサ
204 コンピュータ可読媒体
206 通信インターフェース
208 入出力インターフェース
210 バス
214 入力装置
216 表示装置
220 データ収集プログラム
221 検索条件設定ファイル取得部
222 データ検索部
223 検索結果保存部
224 集計結果送信処理部
225 分配情報取得部
226 追加生成処理部
250 ローカル学習管理プログラム
251 同期処理部
252 学習データ取得部
254 誤差演算部
255 オプティマイザ
256 学習結果保存部
257 学習結果送信処理部
260 表示制御プログラム
280 学習データ保存部
302 プロセッサ
304 コンピュータ可読媒体
306 通信インターフェース
308 入出力インターフェース
310 バス
314 入力装置
316 表示装置
320 データ収集プログラム設定I/Fプログラム
321 検索条件入力受付部
322 設定ファイル生成部
323 集計結果取得部
324 学習データ件数分配部
325 通知設定入力受付部
326 通知判定部
327 追加指示受付部
328 追加生成分配部
330 同期プログラム
340 マスターモデル学習管理プログラム
341 パラメータ取得部
342 パラメータ統合部
343 モデル更新部
350 表示制御プログラム
360 データベース
800 コンピュータ
802 CPU
804 RAM
806 ROM
808 GPU
810 ストレージ
812 通信部
814 入力装置
816 表示装置
818 バス
LM 学習対象ローカルモデル
MM 学習対象マスターモデル
MS 医療機関システム
S11~S48 データ収集プログラム設定I/Fプログラムによる処理のステップ
S51~S62 データ収集プログラムによる処理のステップ
S71~S75 ローカル学習管理プログラムによる処理のステップ
S81~S88 マスターモデル学習管理プログラムによる処理のステップ
S91~S94 推論精度の評価処理のステップ
20 端末
22 DICOMサーバ
24 電子カルテシステム
26 納品済みAIモデル
30 統合サーバ
32 データ収集プログラム設定インターフェース
50 医療機関ネットワーク
52 CT装置
54 MRI装置
56 CR装置
60 AIサーバ
62 端末
66 構内通信回線
70 広域通信回線
80 開発主体
202 プロセッサ
204 コンピュータ可読媒体
206 通信インターフェース
208 入出力インターフェース
210 バス
214 入力装置
216 表示装置
220 データ収集プログラム
221 検索条件設定ファイル取得部
222 データ検索部
223 検索結果保存部
224 集計結果送信処理部
225 分配情報取得部
226 追加生成処理部
250 ローカル学習管理プログラム
251 同期処理部
252 学習データ取得部
254 誤差演算部
255 オプティマイザ
256 学習結果保存部
257 学習結果送信処理部
260 表示制御プログラム
280 学習データ保存部
302 プロセッサ
304 コンピュータ可読媒体
306 通信インターフェース
308 入出力インターフェース
310 バス
314 入力装置
316 表示装置
320 データ収集プログラム設定I/Fプログラム
321 検索条件入力受付部
322 設定ファイル生成部
323 集計結果取得部
324 学習データ件数分配部
325 通知設定入力受付部
326 通知判定部
327 追加指示受付部
328 追加生成分配部
330 同期プログラム
340 マスターモデル学習管理プログラム
341 パラメータ取得部
342 パラメータ統合部
343 モデル更新部
350 表示制御プログラム
360 データベース
800 コンピュータ
802 CPU
804 RAM
806 ROM
808 GPU
810 ストレージ
812 通信部
814 入力装置
816 表示装置
818 バス
LM 学習対象ローカルモデル
MM 学習対象マスターモデル
MS 医療機関システム
S11~S48 データ収集プログラム設定I/Fプログラムによる処理のステップ
S51~S62 データ収集プログラムによる処理のステップ
S71~S75 ローカル学習管理プログラムによる処理のステップ
S81~S88 マスターモデル学習管理プログラムによる処理のステップ
S91~S94 推論精度の評価処理のステップ
Claims (24)
- 複数のクライアント端末と、統合サーバと、を含む機械学習システムであって、
前記複数のクライアント端末のそれぞれは、複数の医療機関のそれぞれの医療機関システム内に設置される端末であり、
それぞれの前記クライアント端末は、第1のプロセッサと、前記第1のプロセッサによって実行される第1のプログラムが記録された第1のコンピュータ可読媒体と、含み、
前記第1のプロセッサは、前記第1のプログラムの命令に従い、
前記統合サーバからデータの検索条件を取得することと、
前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
前記クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、
前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
前記ローカルモデルの学習結果を前記統合サーバに送信することと、を含む処理を行い、
前記統合サーバは、第2のプロセッサと、前記第2のプロセッサによって実行される第2のプログラムが記録された第2のコンピュータ可読媒体と、を含み、
前記第2のプロセッサは、前記第2のプログラムの命令に従い、
学習対象のマスターモデルを前記第2のコンピュータ可読媒体に記憶しておくことと、
前記医療機関システム内に存在するデータを検索する際の前記検索条件を指定する入力を受け付けることと、
前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す前記集計結果を受信することと、
学習に使用する学習データの必要件数を指定する入力を受け付けることと、
前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む前記分配情報を、それぞれの前記クライアント端末に送信することと、
それぞれの前記クライアント端末で前記ローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
前記受信した前記学習結果を統合して前記マスターモデルを更新することと、
を含む処理を行う、
機械学習システム。 - 前記第2のプロセッサは、さらに、
前記検索条件に合致するデータの総件数が前記必要件数以上となった段階で、前記必要件数を満たすことを知らせる通知を行う、
請求項1に記載の機械学習システム。 - 前記第1のプロセッサは、
前記医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有し、
前記第2のプロセッサは、
前記検索条件に合致するデータの総件数が前記必要件数に満たない場合であって、前記第3のプログラムを動作させることで前記検索条件に合致するデータを得ることができる場合に、それぞれの前記クライアント端末に対してデータの追加生成を依頼する追加データ件数を分配することと、
それぞれの前記クライアント端末に応じて分配された前記追加データ件数の指定を含む追加生成分配情報を、それぞれの前記クライアント端末に送信することと、
を含む処理を行い、
前記第1のプロセッサは、
前記追加生成分配情報に基づいて、前記第3のプログラムを実行させて、新規の前記二次データを生成させる、
請求項1または2に記載の機械学習システム。 - 前記第1のプロセッサは、
前記指定された前記追加データ件数の前記二次データの生成が完了した場合に、前記ローカルモデルの学習を開始する、
請求項3に記載の機械学習システム。 - 前記第3のプログラムは、前記一次データを入力することによって前記二次データが出力される学習済みモデルを含む、
請求項3または4に記載の機械学習システム。 - 前記複数のクライアント端末のそれぞれは、異なる医療機関の医療機関ネットワーク内に設置される端末である、請求項1から4のいずれか一項に記載の機械学習システム。
- 前記統合サーバは、医療機関ネットワーク内または医療機関ネットワーク外に設置される、請求項1から6のいずれか一項に記載の機械学習システム。
- 前記クライアント端末から前記統合サーバに送信される前記学習結果は、学習後の前記ローカルモデルの重みパラメータを含む、請求項1から7のいずれか一項に記載の機械学習システム。
- 前記検索条件によって検索される対象のデータは、2次元画像、3次元画像、動画像、時系列データおよび文書データのうち少なくとも1つの種類のデータを含む、
請求項1から7のいずれか一項に記載の機械学習システム。 - 前記文書データは、電子カルテの所見文を含む、
請求項9に記載の機械学習システム。 - 前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、画像と前記画像に紐付いた所見文との組み合わせが前記学習データとして用いられ、
入力された画像に対応する所見文を出力するように学習が行われる、
請求項1から10のいずれか一項に記載の機械学習システム。 - 前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、ニューラルネットワークを用いて構成される、請求項1から11のいずれか一項に記載の機械学習システム。
- 前記学習データとして使用される前記データは、2次元画像、3次元画像または動画像を含み、
前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、畳み込みニューラルネットワークを用いて構成される、請求項1から11のいずれか一項に記載の機械学習システム。 - 前記学習データとして使用される前記データは、時系列データ、または文書データを含み、
前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、再帰型ニューラルネットワークを用いて構成される、請求項1から11のいずれか一項に記載の機械学習システム。 - 複数のクライアント端末と、統合サーバと、を用いる機械学習方法であって、
前記複数のクライアント端末のそれぞれが、複数の医療機関のそれぞれの医療機関システム内に設置され、
前記統合サーバに学習対象のマスターモデルを保存しておくことと、
前記統合サーバが、
前記医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、
前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
前記クライアント端末が、
前記統合サーバから前記検索条件を取得することと、
前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
前記統合サーバが、
それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す前記集計結果を受信することと、
学習に使用する学習データの必要件数を指定する入力を受け付けることと、
前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信することと、
それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
前記クライアント端末が、
前記クライアント端末での学習に使用する学習データの種別と件数とが指定された前記分配情報を受信することと、
前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
前記ローカルモデルの学習結果を前記統合サーバに送信することと、
前記統合サーバが、
前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
前記受信した前記学習結果を統合して前記マスターモデルを更新することと、
を含む機械学習方法。 - 通信回線を介して統合サーバと接続されるクライアント端末として用いられる情報処理装置であって、
前記情報処理装置は、医療機関の医療機関システム内に設置される端末であり、第1のプロセッサと、前記第1のプロセッサによって実行される第1のプログラムが記録された第1のコンピュータ可読媒体と、含み、
前記第1のプロセッサは、前記第1のプログラムの命令に従い、
前記統合サーバからデータの検索条件を取得することと、
前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
前記クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、
前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
前記ローカルモデルの学習結果を前記統合サーバに送信することと、を含む処理を行う、
情報処理装置。 - 前記第1のプロセッサは、
前記医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有し、
前記統合サーバから指定される追加データ件数に従い、前記第3のプログラムを実行させて、新規の前記二次データを生成させる、
請求項16に記載の情報処理装置。 - 通信回線を介して統合サーバと接続されるクライアント端末として第1のコンピュータを機能させるためのプログラムであって、
前記第1のコンピュータに、
前記統合サーバからデータの検索条件を取得する機能と、
前記クライアント端末が属する医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計する機能と、
前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信する機能と、
前記クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信する機能と、
前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行する機能と、
前記ローカルモデルの学習結果を前記統合サーバに送信する機能と、
を実現させるためのプログラム。 - 非一時的かつコンピュータ読取可能な記録媒体であって、請求項18に記載のプログラムが記録された記録媒体。
- 通信回線を介して複数のクライアント端末と接続される統合サーバであって、
第2のプロセッサと、
前記第2のプロセッサによって実行される第2のプログラムが記録された第2のコンピュータ可読媒体と、を含み、
前記第2のプロセッサは、前記第2のプログラムの命令に従い、
学習対象のマスターモデルを前記第2のコンピュータ可読媒体に記憶しておくことと、
前記複数のクライアント端末のそれぞれが属する医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、
前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す集計結果を受信することと、
学習に使用する学習データの必要件数を指定する入力を受け付けることと、
前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信することと、
それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
前記複数のクライアント端末からそれぞれの前記ローカルモデルの学習結果を受信することと、
前記受信した前記学習結果を統合して前記マスターモデルを更新することと、
を含む処理を行う、
統合サーバ。 - それぞれの前記クライアント端末が、前記医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有しており、
前記検索条件に合致するデータの総件数が前記必要件数に満たない場合であって、前記第3のプログラムを動作させることで前記検索条件に合致するデータを得ることができる場合に、
前記第2のプロセッサは、
それぞれの前記クライアント端末に対してデータの追加生成を依頼する追加データ件数を分配することと、
それぞれの前記クライアント端末に応じて分配された前記追加データ件数の指定を含む追加生成分配情報を、それぞれの前記クライアント端末に送信することと、
を含む処理を行う、
請求項20に記載の統合サーバ。 - 通信回線を介して複数のクライアント端末と接続される統合サーバとして第2のコンピュータを機能させるためのプログラムであって、
前記第2のコンピュータに、
学習対象のマスターモデルを保存しておく機能と、
前記複数のクライアント端末のそれぞれが属する医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付ける機能と、
前記指定された前記検索条件を前記複数のクライアント端末に送信する機能と、
それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す集計結果を受信する機能と、
学習に使用する学習データの必要件数を指定する入力を受け付ける機能と、
前記指定された前記学習データの前記必要件数と、前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配する機能と、
それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信する機能と、
それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させる機能と、
前記複数のクライアント端末からそれぞれの前記ローカルモデルの学習結果を受信する機能と、
前記受信した前記学習結果を統合して前記マスターモデルを更新する機能と、
を実現させるためのプログラム。 - 非一時的かつコンピュータ読取可能な記録媒体であって、請求項22に記載のプログラムが記録された記録媒体。
- 複数のクライアント端末と、統合サーバとを用いて機械学習を行うことにより、推論モデルを作成する方法であって、
前記複数のクライアント端末のそれぞれが、複数の医療機関のそれぞれの医療機関システム内に設置され、
前記統合サーバに学習対象のマスターモデルを保存しておくことと、
前記統合サーバが、
前記医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、
前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
前記クライアント端末が、
前記統合サーバから前記検索条件を取得することと、
前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
前記統合サーバが、
それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す前記集計結果を受信することと、
学習に使用する学習データの必要件数を指定する入力を受け付けることと、
前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信することと、
それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
前記クライアント端末が、
前記クライアント端末での学習に使用する学習データの種別と件数とが指定された前記分配情報を受信することと、
前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
前記ローカルモデルの学習結果を前記統合サーバに送信することと、
前記統合サーバが、
前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
前記受信した前記学習結果を統合して前記マスターモデルを更新することにより、更新前の前記マスターモデルよりも推論精度が高い推論モデルを作成することと、
を含む推論モデルの作成方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112021001915.5T DE112021001915T5 (de) | 2020-03-27 | 2021-03-25 | System und verfahren für maschinelles lernen, integrationsserver, informationsverarbeitungsvorrichtung, programm und inferenzmodell-erzeugungsverfahren |
JP2022510656A JP7449366B2 (ja) | 2020-03-27 | 2021-03-25 | 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 |
US17/901,817 US20230004785A1 (en) | 2020-03-27 | 2022-09-01 | 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 |
---|---|---|---|
JP2020057929 | 2020-03-27 | ||
JP2020-057929 | 2020-03-27 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/901,817 Continuation US20230004785A1 (en) | 2020-03-27 | 2022-09-01 | Machine learning system and method, integration server, information processing apparatus, program, and inference model creation method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021193815A1 true WO2021193815A1 (ja) | 2021-09-30 |
Family
ID=77891915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/012512 WO2021193815A1 (ja) | 2020-03-27 | 2021-03-25 | 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230004785A1 (ja) |
JP (1) | JP7449366B2 (ja) |
DE (1) | DE112021001915T5 (ja) |
WO (1) | WO2021193815A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115830400A (zh) * | 2023-02-10 | 2023-03-21 | 南昌大学 | 一种基于联邦学习机制的数据识别方法及其系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011052025A1 (ja) * | 2009-10-26 | 2011-05-05 | 三菱電機株式会社 | データ処理装置及びデータ処理方法及びプログラム |
WO2018155232A1 (ja) * | 2017-02-23 | 2018-08-30 | ソニー株式会社 | 情報処理装置、情報処理方法、並びにプログラム |
JP2019045929A (ja) * | 2017-08-30 | 2019-03-22 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019526851A (ja) * | 2016-07-18 | 2019-09-19 | ナント ホールディングス アイピー エルエルシーNant Holdings IP, LLC | 分散型機械学習システム、装置、および方法 |
-
2021
- 2021-03-25 DE DE112021001915.5T patent/DE112021001915T5/de active Pending
- 2021-03-25 JP JP2022510656A patent/JP7449366B2/ja active Active
- 2021-03-25 WO PCT/JP2021/012512 patent/WO2021193815A1/ja active Application Filing
-
2022
- 2022-09-01 US US17/901,817 patent/US20230004785A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011052025A1 (ja) * | 2009-10-26 | 2011-05-05 | 三菱電機株式会社 | データ処理装置及びデータ処理方法及びプログラム |
JP2019526851A (ja) * | 2016-07-18 | 2019-09-19 | ナント ホールディングス アイピー エルエルシーNant Holdings IP, LLC | 分散型機械学習システム、装置、および方法 |
WO2018155232A1 (ja) * | 2017-02-23 | 2018-08-30 | ソニー株式会社 | 情報処理装置、情報処理方法、並びにプログラム |
JP2019045929A (ja) * | 2017-08-30 | 2019-03-22 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115830400A (zh) * | 2023-02-10 | 2023-03-21 | 南昌大学 | 一种基于联邦学习机制的数据识别方法及其系统 |
CN115830400B (zh) * | 2023-02-10 | 2023-05-16 | 南昌大学 | 一种基于联邦学习机制的数据识别方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
DE112021001915T5 (de) | 2023-01-26 |
JPWO2021193815A1 (ja) | 2021-09-30 |
US20230004785A1 (en) | 2023-01-05 |
JP7449366B2 (ja) | 2024-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220238232A1 (en) | System and method for medical imaging informatics peer review system | |
US10970365B2 (en) | System and method for medical image interpretation | |
WO2021079792A1 (ja) | 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 | |
US20180144244A1 (en) | Distributed clinical workflow training of deep learning neural networks | |
WO2021059607A1 (ja) | 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 | |
CN108784655A (zh) | 针对医疗患者的快速评估和后果分析 | |
JP6268624B1 (ja) | データ管理システム | |
WO2021059604A1 (ja) | 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 | |
JP6998747B2 (ja) | データ管理装置及びコンテンツデータの提供方法 | |
JP2016539411A (ja) | 医療情報用の進化型コンテキスト臨床データエンジン | |
JP2019061578A (ja) | 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、および端末装置 | |
US20190051405A1 (en) | Data generation apparatus, data generation method and storage medium | |
CN114051623A (zh) | 使用ai编排进行图像处理和路由 | |
US20200082943A1 (en) | Diagnosis support apparatus, diagnosis support system, diagnosis support method, and non-transitory storage medium | |
WO2021193815A1 (ja) | 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 | |
JP6775116B2 (ja) | 医療データ処理装置、端末装置、情報処理方法、およびシステム | |
US10146907B2 (en) | Network system and method for controlling a computer tomograph | |
US20180067958A1 (en) | Exam prefetching based on subject anatomy | |
Guedria et al. | R2D2: A scalable deep learning toolkit for medical imaging segmentation | |
JPWO2019208130A1 (ja) | 医療文書作成支援装置、方法およびプログラム、学習済みモデル、並びに学習装置、方法およびプログラム | |
US20240233921A1 (en) | Collaborative artificial intelligence annotation platform leveraging blockchain for medical imaging | |
US11416543B2 (en) | Exam prefetching based on subject anatomy | |
JP2023013487A (ja) | 学習システム、学習装置、学習方法、及びプログラム | |
KR20230068060A (ko) | Ai 추론 기반의 의료 영상 처리 장치 및 방법 | |
JP2023047775A (ja) | 医用画像処理システム、医用画像処理方法、画像処理分配器およびプログラム |
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: 21776555 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022510656 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21776555 Country of ref document: EP Kind code of ref document: A1 |