Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7449366B2 - 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 - Google Patents
[go: Go Back, main page]

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

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

Info

Publication number
JP7449366B2
JP7449366B2 JP2022510656A JP2022510656A JP7449366B2 JP 7449366 B2 JP7449366 B2 JP 7449366B2 JP 2022510656 A JP2022510656 A JP 2022510656A JP 2022510656 A JP2022510656 A JP 2022510656A JP 7449366 B2 JP7449366 B2 JP 7449366B2
Authority
JP
Japan
Prior art keywords
data
learning
integrated server
model
client terminals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022510656A
Other languages
English (en)
Other versions
JPWO2021193815A5 (ja
JPWO2021193815A1 (ja
Inventor
大暉 上原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Publication of JPWO2021193815A1 publication Critical patent/JPWO2021193815A1/ja
Publication of JPWO2021193815A5 publication Critical patent/JPWO2021193815A5/ja
Application granted granted Critical
Publication of JP7449366B2 publication Critical patent/JP7449366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

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)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法に係り、特にフェデレーテッドラーニング(Federated Learning)の仕組みを利用する機械学習技術に関する。
深層学習を用いた医療用AI(Artificial Intelligence)の開発時にはAIモデルを学習させる必要があるが、この学習のためには診断画像などの学習データを医療機関から外部の開発現場あるいは開発サーバなどに持ち出す必要がある。このため、データ提供を行ってくれる医療機関が少ない現状がある。また、医療機関からデータを提供してもらえたとしても、プライバシー関連のリスクが常に存在する。
一方、非特許文献1で提案されたフェデレーテッドラーニングの仕組みを用いると、学習させたいデータが存在する端末上で学習を行い、それら端末群からそれぞれの端末上での学習結果であるネットワークモデルの重みパラメータのみを統合サーバに送信する。つまり、フェデレーテッドラーニングでは、学習データを統合サーバ側に提供することなく、それぞれの端末上での学習結果のデータのみが端末側から統合サーバ側に提供される。
このことから、プライバシー上配慮が必要なデータそのものを外部に持ち出すことなく学習が可能であるとして、フェデレーテッドラーニングは近年注目を集めている技術である。
非特許文献2には、医療用AIの開発にフェデレーテッドラーニングを適用した例の成果が報告されている。
特表2019-526851号公報
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は、本発明の実施形態に係る機械学習システムにおける動作の概要を示す概念図である。 図2は、学習データの種別に関する説明図である。 図3は、学習データの全体件数が不足している場合の機械学習システムの動作の概要を示す概念図である。 図4は、本発明の実施形態に係る機械学習システムのシステム構成例を概略的に示す図である。 図5は、統合サーバの構成例を示すブロック図である。 図6は、データ収集プログラム設定I/Fプログラムに基づく統合サーバの動作の例を示すフローチャートである。 図7は、データ収集プログラム設定I/Fプログラムに基づく統合サーバの動作の例を示すフローチャートである。 図8は、データ収集プログラム設定I/Fプログラムに基づく統合サーバの動作の例を示すフローチャートである。 図9は、医療機関ネットワーク上の端末の構成例を示すブロック図である。 図10は、データ収集プログラムに基づく端末の動作の例を示すフローチャートである。 図11は、ローカル学習管理プログラムに基づく端末の動作の例を示すフローチャートである。 図12は、マスターモデル学習管理プログラムに基づく統合サーバの動作の例を示すフローチャートである。 図13は、統合サーバにおいてマスターモデル候補の推論精度を評価する処理の例を示すフローチャートである。 図14は、コンピュータのハードウェア構成の例を示すブロック図である。
以下、添付図面に従って本発明の好ましい実施形態について説明する。
《機械学習システムの概要》
図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を学習データに用いる深層学習によってネットワークの重みパラメータが更新される。重みパラメータには、各層の処理に用いるフィルタのフィルタ係数(ノード間の結合の重み)およびノードのバイアスが含まれる。
なお、「ニューラルネットワーク」とは、脳神経系の仕組みを模擬した情報処理の数理モデルである。ニューラルネットワークを用いた処理は、コンピュータを用いて実現することができる。ニューラルネットワークを含む処理部は、プログラムモジュールとして構成され得る。
学習に使用するニューラルネットワークのネットワーク構造は、入力に用いるデータの種類に応じた適切なものが採用される。医用画像診断用の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〉統合サーバ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に通知する構成であることが好ましい。
[想定Bのケース]
想定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]と同様の流れで二次データを追加生成し、学習を進める。
《システム構成例》
次に、機械学習システム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台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。コンピュータにプログラムをインストールすることにより実現される。
統合サーバ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の命令に従って実行する。
ステップ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台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。
端末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の命令に従って実行する。
ステップ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の命令に従って実行する。
ステップ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の命令に従って実行する。
ステップ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のステップ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のいずれかの一部または全部、あるいはこれらの複数の機能を備えた装置として用いることができる。
コンピュータ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つの処理機能の一部または全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、もしくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
またこのような有体物たる非一時的なコンピュータ可読媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
また、上述の実施形態で説明したデータ検索機能、データ収集機能、およびローカル学習機能、ならびに統合サーバ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)である。
各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるCPU、画像処理に特化したプロセッサであるGPU、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種または異種の2つ以上のプロセッサで構成されてもよい。例えば、1つの処理部は、複数のFPGA、あるいは、CPUとFPGAの組み合わせ、またはCPUとGPUの組み合わせによって構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第一に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
《本実施形態による利点》
本発明の実施形態に係る機械学習システム10によれば、次のような利点がある。
[1]診断画像などプライバシーに配慮が必要な個人情報を医療機関側から外部に持ち出すことなく、学習を行うことができる。
[2]学習に使用するデータを医療機関システムMS内から検索して収集したり、学習データが不足している際には新たなデータを追加生成したりすることが可能である。
[3]開発主体80が各医療機関のデータの保有状況を把握しつつ、それぞれの医療機関でのローカル学習に使用するデータの種別と件数をコントロールできる仕組みが提供される。これにより、学習に供するデータの偏りを抑制することができ、学習によって作成されるAIモデルの推論精度の偏りを抑制することが可能になる。
《変形例1》
上述の実施形態では、主に医用画像診断用の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 推論精度の評価処理のステップ

Claims (24)

  1. 複数のクライアント端末と、統合サーバと、を含む機械学習システムであって、
    前記複数のクライアント端末のそれぞれは、複数の医療機関のそれぞれの医療機関システム内に設置される端末であり、
    それぞれの前記クライアント端末は、第1のプロセッサと、前記第1のプロセッサによって実行される第1のプログラムが記録された第1のコンピュータ可読媒体と、含み、
    前記第1のプロセッサは、前記第1のプログラムの命令に従い、
    前記統合サーバからデータの検索条件を取得することと、
    前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
    前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
    前記クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、
    前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
    前記ローカルモデルの学習結果を前記統合サーバに送信することと、を含む処理を行い、
    前記統合サーバは、第2のプロセッサと、前記第2のプロセッサによって実行される第2のプログラムが記録された第2のコンピュータ可読媒体と、を含み、
    前記第2のプロセッサは、前記第2のプログラムの命令に従い、
    学習対象のマスターモデルを前記第2のコンピュータ可読媒体に記憶しておくことと、
    前記医療機関システム内に存在するデータを検索する際の前記検索条件を指定する入力を受け付けることと、
    前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
    それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す前記集計結果を受信することと、
    学習に使用する学習データの必要件数を指定する入力を受け付けることと、
    前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
    それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む前記分配情報を、それぞれの前記クライアント端末に送信することと、
    それぞれの前記クライアント端末前記ローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
    前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
    前記受信した前記学習結果を統合して前記マスターモデルを更新することと、
    を含む処理を行う、
    機械学習システム。
  2. 前記第2のプロセッサは、さらに、
    前記検索条件に合致するデータの総件数が前記必要件数以上となった段階で、前記必要件数を満たすことを知らせる通知を行う、
    請求項1に記載の機械学習システム。
  3. 前記第1のプロセッサは、
    前記医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有し、
    前記第2のプロセッサは、
    前記検索条件に合致するデータの総件数が前記必要件数に満たない場合であって、前記第3のプログラムを動作させることで前記検索条件に合致するデータを得ることができる場合に、それぞれの前記クライアント端末に対してデータの追加生成を依頼する追加データ件数を分配することと、
    それぞれの前記クライアント端末に応じて分配された前記追加データ件数の指定を含む追加生成分配情報を、それぞれの前記クライアント端末に送信することと、
    を含む処理を行い、
    前記第1のプロセッサは、
    前記追加生成分配情報に基づいて、前記第3のプログラムを実行させて、新規の前記二次データを生成させる、
    請求項1または2に記載の機械学習システム。
  4. 前記第1のプロセッサは、
    前記指定された前記追加データ件数の前記二次データの生成が完了した場合に、前記ローカルモデルの学習を開始する、
    請求項3に記載の機械学習システム。
  5. 前記第3のプログラムは、前記一次データを入力することによって前記二次データが出力される学習済みモデルを含む、
    請求項3または4に記載の機械学習システム。
  6. 前記複数のクライアント端末のそれぞれは、異なる医療機関の医療機関ネットワーク内に設置される端末である、請求項1から4のいずれか一項に記載の機械学習システム。
  7. 前記統合サーバは、医療機関ネットワーク内または医療機関ネットワーク外に設置される、請求項1から6のいずれか一項に記載の機械学習システム。
  8. 前記クライアント端末から前記統合サーバに送信される前記学習結果は、学習後の前記ローカルモデルの重みパラメータを含む、請求項1から7のいずれか一項に記載の機械学習システム。
  9. 前記検索条件によって検索される対象のデータは、2次元画像、3次元画像、動画像、時系列データおよび文書データのうち少なくとも1つの種類のデータを含む、
    請求項1から7のいずれか一項に記載の機械学習システム。
  10. 前記文書データは、電子カルテの所見文を含む、
    請求項9に記載の機械学習システム。
  11. 前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、画像と前記画像に紐付いた所見文との組み合わせが前記学習データとして用いられ、
    入力された画像に対応する所見文を出力するように学習が行われる、
    請求項1から10のいずれか一項に記載の機械学習システム。
  12. 前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、ニューラルネットワークを用いて構成される、請求項1から11のいずれか一項に記載の機械学習システム。
  13. 前記学習データとして使用される前記データは、2次元画像、3次元画像または動画像を含み、
    前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、畳み込みニューラルネットワークを用いて構成される、請求項1から11のいずれか一項に記載の機械学習システム。
  14. 前記学習データとして使用される前記データは、時系列データ、または文書データを含み、
    前記ローカルモデルおよび前記マスターモデルのそれぞれの学習対象モデルは、再帰型ニューラルネットワークを用いて構成される、請求項1から11のいずれか一項に記載の機械学習システム。
  15. 複数のクライアント端末と、統合サーバと、を用いる機械学習方法であって、
    前記複数のクライアント端末のそれぞれが、複数の医療機関のそれぞれの医療機関システム内に設置され、
    前記統合サーバに学習対象のマスターモデルを保存しておくことと、
    前記統合サーバが、
    前記医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、
    前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
    前記クライアント端末が、
    前記統合サーバから前記検索条件を取得することと、
    前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
    前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
    前記統合サーバが、
    それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す前記集計結果を受信することと、
    学習に使用する学習データの必要件数を指定する入力を受け付けることと、
    前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
    それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信することと、
    それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
    前記クライアント端末が、
    前記クライアント端末での学習に使用する学習データの種別と件数とが指定された前記分配情報を受信することと、
    前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
    前記ローカルモデルの学習結果を前記統合サーバに送信することと、
    前記統合サーバが、
    前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
    前記受信した前記学習結果を統合して前記マスターモデルを更新することと、
    を含む機械学習方法。
  16. 通信回線を介して統合サーバと接続されるクライアント端末として用いられる情報処理装置であって、
    前記情報処理装置は、医療機関の医療機関システム内に設置される端末であり、第1のプロセッサと、前記第1のプロセッサによって実行される第1のプログラムが記録された第1のコンピュータ可読媒体と、含み、
    前記第1のプロセッサは、前記第1のプログラムの命令に従い、
    前記統合サーバからデータの検索条件を取得することと、
    前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
    前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
    前記クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信することと、
    前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
    前記ローカルモデルの学習結果を前記統合サーバに送信することと、を含む処理を行う、
    情報処理装置。
  17. 前記第1のプロセッサは、
    前記医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有し、
    前記統合サーバから指定される追加データ件数に従い、前記第3のプログラムを実行させて、新規の前記二次データを生成させる、
    請求項16に記載の情報処理装置。
  18. 通信回線を介して統合サーバと接続されるクライアント端末として第1のコンピュータを機能させるためのプログラムであって、
    前記第1のコンピュータに、
    前記統合サーバからデータの検索条件を取得する機能と、
    前記クライアント端末が属する医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計する機能と、
    前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信する機能と、
    前記クライアント端末での学習に使用する学習データの種別と件数とが指定された分配情報を受信する機能と、
    前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行する機能と、
    前記ローカルモデルの学習結果を前記統合サーバに送信する機能と、
    を実現させるためのプログラム。
  19. 非一時的かつコンピュータ読取可能な記録媒体であって、請求項18に記載のプログラムが記録された記録媒体。
  20. 通信回線を介して複数のクライアント端末と接続される統合サーバであって、
    第2のプロセッサと、
    前記第2のプロセッサによって実行される第2のプログラムが記録された第2のコンピュータ可読媒体と、を含み、
    前記第2のプロセッサは、前記第2のプログラムの命令に従い、
    学習対象のマスターモデルを前記第2のコンピュータ可読媒体に記憶しておくことと、
    前記複数のクライアント端末のそれぞれが属する医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、
    前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
    それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す集計結果を受信することと、
    学習に使用する学習データの必要件数を指定する入力を受け付けることと、
    前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
    それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信することと、
    それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
    前記複数のクライアント端末からそれぞれの前記ローカルモデルの学習結果を受信することと、
    前記受信した前記学習結果を統合して前記マスターモデルを更新することと、
    を含む処理を行う、
    統合サーバ。
  21. それぞれの前記クライアント端末が、前記医療機関システム内に存在する一次データを用いて新たな二次データを生成する第3のプログラムの実行権限を有しており、
    前記検索条件に合致するデータの総件数が前記必要件数に満たない場合であって、前記第3のプログラムを動作させることで前記検索条件に合致するデータを得ることができる場合に、
    前記第2のプロセッサは、
    それぞれの前記クライアント端末に対してデータの追加生成を依頼する追加データ件数を分配することと、
    それぞれの前記クライアント端末に応じて分配された前記追加データ件数の指定を含む追加生成分配情報を、それぞれの前記クライアント端末に送信することと、
    を含む処理を行う、
    請求項20に記載の統合サーバ。
  22. 通信回線を介して複数のクライアント端末と接続される統合サーバとして第2のコンピュータを機能させるためのプログラムであって、
    前記第2のコンピュータに、
    学習対象のマスターモデルを保存しておく機能と、
    前記複数のクライアント端末のそれぞれが属する医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付ける機能と、
    前記指定された前記検索条件を前記複数のクライアント端末に送信する機能と、
    それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す集計結果を受信する機能と、
    学習に使用する学習データの必要件数を指定する入力を受け付ける機能と、
    前記指定された前記学習データの前記必要件数と、前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配する機能と、
    それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信する機能と、
    それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させる機能と、
    前記複数のクライアント端末からそれぞれの前記ローカルモデルの学習結果を受信する機能と、
    前記受信した前記学習結果を統合して前記マスターモデルを更新する機能と、
    を実現させるためのプログラム。
  23. 非一時的かつコンピュータ読取可能な記録媒体であって、請求項22に記載のプログラムが記録された記録媒体。
  24. 複数のクライアント端末と、統合サーバと、を含む機械学習システムにおいて機械学習を行うことにより、推論モデルを作成する方法であって、
    前記複数のクライアント端末のそれぞれが、複数の医療機関のそれぞれの医療機関システム内に設置され、
    前記統合サーバに学習対象のマスターモデルを保存しておくことと、
    前記統合サーバが、
    前記医療機関システム内に存在するデータを検索する際の検索条件を指定する入力を受け付けることと、
    前記指定された前記検索条件を前記複数のクライアント端末に送信することと、
    前記クライアント端末が、
    前記統合サーバから前記検索条件を取得することと、
    前記クライアント端末が属する前記医療機関システム内から前記検索条件に合致するデータを検索して検索結果を集計することと、
    前記検索条件に合致するデータの件数を示す集計結果を前記統合サーバに送信することと、
    前記統合サーバが、
    それぞれの前記クライアント端末から前記検索条件に合致するデータの件数を示す前記集計結果を受信することと、
    学習に使用する学習データの必要件数を指定する入力を受け付けることと、
    前記指定された前記学習データの前記必要件数と前記受信した前記集計結果とに基づいて、それぞれの前記クライアント端末での学習に使用する前記学習データの件数を分配することと、
    それぞれの前記クライアント端末に応じて分配された前記学習データの件数の指定を含む分配情報を、それぞれの前記クライアント端末に送信することと、
    それぞれの前記クライアント端末にローカルモデルを学習させる前に、各クライアント端末側の前記ローカルモデルと前記マスターモデルとを同期させることと、
    前記クライアント端末が、
    前記クライアント端末での学習に使用する学習データの種別と件数とが指定された前記分配情報を受信することと、
    前記分配情報の指示に従い、前記クライアント端末が属する前記医療機関システム内に存在するデータを前記学習データに用いて学習対象のローカルモデルの機械学習を実行することと、
    前記ローカルモデルの学習結果を前記統合サーバに送信することと、
    前記統合サーバが、
    前記複数のクライアント端末からそれぞれの前記学習結果を受信することと、
    前記受信した前記学習結果を統合して前記マスターモデルを更新することにより、更新前の前記マスターモデルよりも推論精度が高い推論モデルを作成することと、
    を含む推論モデルの作成方法。
JP2022510656A 2020-03-27 2021-03-25 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 Active JP7449366B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020057929 2020-03-27
JP2020057929 2020-03-27
PCT/JP2021/012512 WO2021193815A1 (ja) 2020-03-27 2021-03-25 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法

Publications (3)

Publication Number Publication Date
JPWO2021193815A1 JPWO2021193815A1 (ja) 2021-09-30
JPWO2021193815A5 JPWO2021193815A5 (ja) 2022-12-06
JP7449366B2 true JP7449366B2 (ja) 2024-03-13

Family

ID=77891915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022510656A Active JP7449366B2 (ja) 2020-03-27 2021-03-25 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法

Country Status (4)

Country Link
US (1) US12423562B2 (ja)
JP (1) JP7449366B2 (ja)
DE (1) DE112021001915T5 (ja)
WO (1) WO2021193815A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12346829B2 (en) * 2021-07-28 2025-07-01 Biocogniv Inc. Dynamic model selection and rule based data interpretation
GB2611764B (en) 2021-10-08 2025-02-05 Samsung Electronics Co Ltd Method, system and apparatus for image orientation correction
CN115699207B (zh) * 2021-11-01 2024-04-26 豪夫迈·罗氏有限公司 医学验证模型的联邦学习
CN116997912B (zh) * 2021-12-30 2026-01-02 微软技术许可有限责任公司 机器学习模型的受保护微调
CN116432018A (zh) * 2021-12-30 2023-07-14 维沃移动通信有限公司 模型训练方法、装置及通信设备
CN115759942A (zh) * 2022-12-02 2023-03-07 北京京东振世信息技术有限公司 仓储管理方法、系统、装置、服务器、终端及存储介质
CN115830400B (zh) * 2023-02-10 2023-05-16 南昌大学 一种基于联邦学习机制的数据识别方法及其系统
US12332858B1 (en) * 2024-06-03 2025-06-17 Bank Of America Corporation Systems and methods for integrated analysis of foreground and background communication data

Citations (4)

* Cited by examiner, † Cited by third party
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 分散型機械学習システム、装置、および方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020198542A1 (en) * 2019-03-26 2020-10-01 The Regents Of The University Of California Distributed privacy-preserving computing on protected data
JP7374201B2 (ja) * 2019-09-26 2023-11-06 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、プログラムならびに推論モデルの作成方法
JP7374202B2 (ja) * 2019-09-26 2023-11-06 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、プログラムならびに推論モデルの作成方法
JP7383803B2 (ja) * 2019-10-04 2023-11-20 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 不均一モデルタイプおよびアーキテクチャを使用した連合学習
JP7317136B2 (ja) * 2019-10-23 2023-07-28 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
US11804050B1 (en) * 2019-10-31 2023-10-31 Nvidia Corporation Processor and system to train machine learning models based on comparing accuracy of model parameters
US12072954B1 (en) * 2019-11-06 2024-08-27 Nvidia Corporation Neural network trained using federated learning with local training data preserved at local edge circuits
US11589174B2 (en) * 2019-12-06 2023-02-21 Arizona Board Of Regents On Behalf Of Arizona State University Cochlear implant systems and methods
US12530181B2 (en) * 2020-06-17 2026-01-20 International Business Machines Corporation Training an agent-based healthcare assistant model
US12236370B2 (en) * 2020-08-24 2025-02-25 Samsung Electronics Co., Ltd Method and apparatus for federated learning
KR20230062822A (ko) * 2020-09-07 2023-05-09 엘지전자 주식회사 수신기의 신호 진폭 범위에서 aircomp에 대한 바이어스를 사용하여 그래디언트 기호를 정렬하는 방법
WO2022061277A1 (en) * 2020-09-21 2022-03-24 Nvidia Corporation Measuring the effects of augmentation artifacts on a machine learning network
US12041692B2 (en) * 2020-10-09 2024-07-16 Qualcomm Incorporated User equipment (UE) capability report for machine learning applications
US20220237508A1 (en) * 2021-01-28 2022-07-28 Kiarash SHALOUDEGI Servers, methods and systems for second order federated learning
US20220366220A1 (en) * 2021-04-29 2022-11-17 Nvidia Corporation Dynamic weight updates for neural networks
US12008075B2 (en) * 2021-08-16 2024-06-11 International Business Machines Corporation Training federated learning models
US20230132213A1 (en) * 2021-10-22 2023-04-27 Cisco Technology, Inc. Managing bias in federated learning
EP4195131B1 (en) * 2021-12-08 2024-10-16 Tata Consultancy Services Limited Method and system for federated learning based identification of non-malicious classification models
US20230316141A1 (en) * 2022-03-31 2023-10-05 Koninklijke Philips N.V. Systems and methods for weighted federated learning in a hybrid operating room environment
JP7839030B2 (ja) * 2022-06-14 2026-04-01 富士フイルム株式会社 機械学習方法、情報処理システム、情報処理装置、サーバーおよびプログラム
US20240330706A1 (en) * 2023-03-24 2024-10-03 Rutgers, The State University Of New Jersey Methods and systems for improved federated learning and implementations thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
US20230004785A1 (en) 2023-01-05
DE112021001915T5 (de) 2023-01-26
WO2021193815A1 (ja) 2021-09-30
JPWO2021193815A1 (ja) 2021-09-30
US12423562B2 (en) 2025-09-23

Similar Documents

Publication Publication Date Title
JP7449366B2 (ja) 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
JP7317136B2 (ja) 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
JP7374202B2 (ja) 機械学習システムおよび方法、統合サーバ、プログラムならびに推論モデルの作成方法
JP7374201B2 (ja) 機械学習システムおよび方法、統合サーバ、プログラムならびに推論モデルの作成方法
Dack et al. Artificial intelligence and interstitial lung disease: diagnosis and prognosis
KR102843906B1 (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
Ueda et al. Technical and clinical overview of deep learning in radiology
CN108784655B (zh) 针对医疗患者的快速评估和后果分析
US11037070B2 (en) Diagnostic test planning using machine learning techniques
US10825167B2 (en) Rapid assessment and outcome analysis for medical patients
KR101875468B1 (ko) 질환 모델 기반의 의료 정보 서비스 제공 방법 및 장치
KR20190046911A (ko) 의료 이미징 인포메틱스 피어 리뷰 시스템을 위한 시스템 및 방법
KR102542037B1 (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
CN113424267A (zh) 用于使用分散式计算平台按优先级来分析跨地理区域的健康数据的系统架构和方法
CN113168912B (zh) 使用深度学习确定3d数据集中对象的增长速度
JP7007469B2 (ja) 医療文書作成支援装置、方法およびプログラム、学習済みモデル、並びに学習装置、方法およびプログラム
KR102057277B1 (ko) 의료 영상의 정량화 및 분석에 기반한 빅데이터 데이터베이스를 구축하기 위한 서버 및 서버 기반의 의료 영상 분석 방법
US20240233921A1 (en) Collaborative artificial intelligence annotation platform leveraging blockchain for medical imaging
JP7665456B2 (ja) 学習システム、学習装置、学習方法、及びプログラム
US20230352169A1 (en) System and method for an operating software for human-information interaction for patient health
JP7478518B2 (ja) 読影支援装置および読影支援方法
Mathew et al. Artificial Intelligence in Healthcare: India Case Study
CN112967246A (zh) 用于临床决策支持系统的x射线影像辅助装置及方法
CN117577258B (zh) Petct相似病例检索和预后预测方法
CN114822856B (zh) 疾病仿真方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240301

R150 Certificate of patent or registration of utility model

Ref document number: 7449366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150