Processing

Please wait...

Settings

Settings

Goto Application

1. WO2021059604 - MACHINE LEARNING SYSTEM AND METHOD, INTEGRATION SERVER, INFORMATION PROCESSING DEVICE, PROGRAM, AND INFERENCE MODEL CREATION METHOD

Document

明 細 書

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

技術分野

0001  

背景技術

0002   0003   0004   0005  

先行技術文献

非特許文献

0006  

発明の概要

発明が解決しようとする課題

0007   0008   0009   0010  

課題を解決するための手段

0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044  

発明の効果

0045  

図面の簡単な説明

0046  

発明を実施するための形態

0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196  

符号の説明

0197  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24  

図面

1   2   3   4   5   6   7   8  

明 細 書

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

技術分野

[0001]
 本発明は機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法に係り、特にフェデレーテッドラーニング(Federated Learning)の仕組みを利用する機械学習技術に関する。

背景技術

[0002]
 深層学習を用いた医療用AI(Artificial Intelligence)の開発時にはAIモデルを学習させる必要があるが、この学習のためには診断画像などの学習データを医療機関から外部の開発現場あるいは開発サーバなどに持ち出す必要がある。このため、学習データの提供に協力してもらえる医療機関が少ない現状がある。また、医療機関から学習データを提供してもらえたとしても、プライバシー関連のリスクが常に存在する。
[0003]
 一方、非特許文献1で提案されたフェデレーテッドラーニングの仕組みを用いると、学習させたいデータが存在する端末上で学習を行い、それら端末群からそれぞれの端末上での学習結果であるネットワークモデルの重みパラメータのみを統合サーバに送信する。つまり、フェデレーテッドラーニングでは、学習データを統合サーバ側に提供することなく、それぞれの端末上での学習結果のデータのみが端末側から統合サーバ側に提供される。
[0004]
 このことから、プライバシー上配慮が必要なデータそのものを外部に持ち出すことなく学習が可能であるとして、フェデレーテッドラーニングは近年注目を集めている技術である。
[0005]
 非特許文献2には、医療用AIの開発にフェデレーテッドラーニングを適用した例の成果が報告されている。

先行技術文献

非特許文献

[0006]
非特許文献1 : H.Brendan, McMahan Eider, Moore Daniel Ramage, Seth Hampson, and Blaise Ag¨ueray Arcas,“Communication-Efficient Learning of Deep Networks from Decentralized Data, arXiv:1602.05629v3 [cs.LG], 28 Feb 2017
非特許文献2 : 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

発明の概要

発明が解決しようとする課題

[0007]
 医療用AIの開発にフェデレーテッドラーニングを使用すると、診断画像などのデータの持ち出しは不要になる。その一方で、既存のフェデレーテッドラーニングの仕組み単体では、例えば、不特定多数の医療機関が学習に参加してくるような状況下において、学習の開始からできるだけ早期の段階で目標の推論精度を達成させるための具体的な手法は提案されていない。医療機関ごとに保有しているデータの内容やデータ数は様々であり、学習環境がクライアントごとに異なるため、各クライアントにて実施される学習の成果も多様である。
[0008]
 既存のフェデレーテッドラーニングの仕組み単体では、不特定多数の医療機関が学習に参加した場合に、どのクライアントからの学習結果を用いて統合モデルであるマスターモデルを作成するのが最適であるのか、という指標が存在しない。
[0009]
 このため、多数のクライアントの中から無作為にクライアントの組み合わせを選択すると、その選択されたクライアント群を構成するクライアントの学習環境に偏りがあった場合に、統合モデルの推論精度が目標に達しないか、または、目標精度の到達までに多大な学習時間を要する可能性がある。
[0010]
 本発明はこのような事情に鑑みてなされ、診断画像などプライバシーに配慮が必要な個人情報を医療機関側から外部に持ち出さずにAIモデルの学習を行うためのフェデレーテッドラーニングの仕組みを実装した際に、モデルの推論精度を早期に向上させることができる機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法を提供することを目的とする。

課題を解決するための手段

[0011]
 本開示の一観点に係る機械学習システムは、複数のクライアント端末と、統合サーバと、を含む機械学習システムであって、複数のクライアント端末のそれぞれは、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行する学習処理部と、学習モデルの学習結果を統合サーバに送信する送信部と、を含み、統合サーバは、学習済みのマスターモデルと、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させる同期処理部と、複数のクライアント端末からそれぞれの学習結果を受信する受信部と、複数のクライアント端末の一部であるクライアント端末の組み合わせの学習結果を統合して作成するマスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせを探索する処理、およびマスターモデル候補の推論精度を最大化するクライアント端末の組み合わせを探索する処理のうち少なくとも一方の処理を行うクライアント組み合わせ最適化処理部と、を備える機械学習システムである。
[0012]
 本態様によれば、学習に参加する複数のクライアント端末の中からクライアント端末の組み合わせが抽出され、その組み合わせに属するクライアント端末の集団の学習結果を統合することによってマスターモデル候補が作成される。そして、作成されたマスターモデル候補の推論精度を検証して、精度の向上に効果的なクライアント端末の最適な組み合わせを探索する処理が行われる。ここでの「最適」という記載は、最も適した1つのものという意味に限定されず、最も適したものに近いものうちの1つと理解されるものを含む。つまり、最適な組み合わせは、組み合わせの最適解、ならびに、最適解に近い近似解の両方の概念を含む。
[0013]
 マスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせは、最適な組み合わせの1つと理解される。「目標の精度を満たす」という記載は、目標とする精度を達成することを含む。例えば、目標とする精度を示す精度目標値を上回る推論精度が達成されることは「目標の精度を満たす」ことの一態様である。推論精度の到達目標として定められている目標の精度を満たすマスターモデル候補が見つかった場合、そのマスターモデル候補の作成に用いたクライアント端末の組み合わせは最適な組み合わせの1つと見做してよい。
[0014]
 また、マスターモデル候補の推論精度を最大化するクライアント端末の組み合わせは、最適な組み合わせの1つと理解される。「推論精度を最大化するクライアント端末の組み合わせ」という記載は、推論精度が最大となる組み合わせに限らず、最大に近い推論精度となる組み合わせの1つと理解されるものを含む。探索の過程で作成される複数のマスターモデル候補のうち推論精度が最も高いマスターモデル候補の作成に用いたクライアント端末の組み合わせは、「推論精度を最大化するクライアント端末の組み合わせ」の1つと理解してよく、最適な組み合わせの1つと見做してよい。
[0015]
 本態様によれば、複数のクライアント端末の中から、より良好な学習精度が得られるクライアント端末の組み合わせを抽出することができる。これにより、学習開始後の比較的早い段階で、初期のマスターモデルよりも高い推論精度のモデルを作成することが可能になる。
[0016]
 「複数のクライアント端末」は不特定多数のクライアント端末であってよい。クライアント端末は「医療機関のデータ保存装置」を含む構成であってもよいし、「医療機関のデータ保存装置」と「クライアント端末」とが別々の装置であってもよい。
[0017]
 クライアント組み合わせ最適化処理部は、マスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせを探索する第1の探索処理と、マスターモデル候補の推論精度を最大化するクライアント端末の組み合わせを探索する第2の探索処理と、のうちどちらか一方の処理のみを実施する構成であってもよいし、両方の探索処理を実施する構成であってもよい。例えば、クライアント組み合わせ最適化処理部は、第1の探索処理を実施して目標の精度を満たすクライアント端末の組み合わせを見出せなかった場合に、第2の探索処理を実施するという構成であってもよい。
[0018]
 本開示の他の態様に係る機械学習システムにおいて、クライアント組み合わせ最適化処理部は、複数のクライアント端末からクライアント端末の組み合わせであるクライアントクラスタを作成するクライアントクラスタ作成部と、クライアントクラスタの学習結果を統合してマスターモデル候補を作成するマスターモデル候補作成部と、マスターモデル候補の推論精度を評価することにより、推論精度が精度目標値を上回るマスターモデル候補を検出する精度評価部と、を含む構成とすることができる。
[0019]
 本開示の更に他の態様に係る機械学習システムにおいて、精度評価部は、検証用データをマスターモデル候補に入力することによりマスターモデル候補から出力される推論結果と検証用データの正解データとを比較してマスターモデル候補の推論精度を算出する推論精度算出部と、マスターモデル候補の推論精度と精度目標値とを比較する精度目標値比較部と、を含む構成とすることができる。
[0020]
 本開示の更に他の態様に係る機械学習システムにおいて、精度評価部は、マスターモデル候補の推論精度の瞬時値と精度目標値との比較に基づいて、または、マスターモデル候補のそれぞれの学習イテレーションにおける推論精度の統計値と精度目標値との比較に基づいて、マスターモデル候補の推論精度が精度目標値を上回っているか否かを判定する構成とすることができる。
[0021]
 「統計値」は、統計学的なアルゴリズムを用いて算出される統計量であり、例えば、平均値または中央値などの代表値であってよい。
[0022]
 本開示の更に他の態様に係る機械学習システムにおいて、クライアント組み合わせ最適化処理部は、指定された数のクライアント端末を複数のクライアント端末の中から抽出して、クライアント端末の組み合わせを作成する処理と、クライアント端末の組み合わせごとの学習結果を統合してマスターモデル候補を組み合わせごとに作成する処理と、組み合わせごとに作成されたマスターモデル候補のそれぞれの推論精度と精度目標値との比較結果に基づいて、精度目標値を上回るクライアント端末の組み合わせを探索する処理と、を行う構成とすることができる。
[0023]
 本開示の更に他の態様に係る機械学習システムにおいて、複数のクライアント端末のそれぞれは、異なる医療機関の医療機関ネットワーク内に設置される端末であってよい。
[0024]
 本開示の更に他の態様に係る機械学習システムにおいて、統合サーバは、医療機関ネットワーク内または医療機関ネットワーク外に設置される構成とすることができる。
[0025]
 本開示の更に他の態様に係る機械学習システムにおいて、クライアント端末から統合サーバに送信される学習結果は、学習後の学習モデルの重みパラメータを含む構成とすることができる。
[0026]
 本開示の更に他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは、2次元画像、3次元画像、動画像、時系列データおよび文書データのうち少なくとも1つの種類のデータを含む構成とすることができる。
[0027]
 本開示の更に他の態様に係る機械学習システムにおいて、学習モデル、マスターモデル、およびマスターモデル候補の各モデルは、ニューラルネットワークを用いて構成されてよい。
[0028]
 学習データおよび推論の際に入力するデータの種類に応じて適切なネットワークモデルが適用される。
[0029]
 本開示の更に他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは2次元画像、3次元画像または動画像を含み、学習モデル、マスターモデル、およびマスターモデル候補の各モデルは、畳み込みニューラルネットワークを用いて構成されてよい。
[0030]
 本開示の更に他の態様に係る機械学習システムにおいて、学習データとして使用されるデータは時系列データまたは文書データを含み、学習モデル、マスターモデル、およびマスターモデル候補の各モデルは、再帰型ニューラルネットワークを用いて構成されてよい。
[0031]
 本開示の更に他の態様に係る機械学習システムにおいて、統合サーバは、クライアント端末の組み合わせごとに作成されるマスターモデル候補の推論精度と、マスターモデル候補がどのようなクライアント端末の組み合わせを使用して作成されているかという対応関係を示す情報と、を保存する情報保存部をさらに備える構成とすることができる。
[0032]
 本開示の更に他の態様に係る機械学習システムにおいて、統合サーバは、クライアント端末の組み合わせごとに作成されるマスターモデル候補のそれぞれの各学習イテレーションにおける推論精度が表示される表示装置をさらに備える構成とすることができる。
[0033]
 本開示の更に他の態様に係る機械学習システムにおいて、マスターモデル候補の推論精度を評価する際に使用する検証用データが保存されている検証用データ保存部をさらに備える構成とすることができる。
[0034]
 検証用データ保存部は、統合サーバに含まれていてもよいし、統合サーバに接続される外部記憶装置などであってもよい。
[0035]
 本開示の他の態様に係る機械学習方法は、複数のクライアント端末と、統合サーバと、を用いる機械学習方法であって、複数のクライアント端末のそれぞれに学習モデルを学習させる前に、各クライアント端末側の学習モデルと、統合サーバに保存されている学習済みのマスターモデルとを同期させることと、複数のクライアント端末のそれぞれが、互いに異なる医療機関のそれぞれのデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行することと、複数のクライアント端末のそれぞれが、学習モデルの学習結果を統合サーバに送信することと、統合サーバが、複数のクライアント端末からそれぞれの学習結果を受信することと、複数のクライアント端末の一部であるクライアント端末の組み合わせの学習結果を統合して作成するマスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせを探索する処理、およびマスターモデル候補の推論精度を最大化するクライアント端末の組み合わせを探索する処理のうち少なくとも一方の処理を行うことと、を含む機械学習方法である。
[0036]
 本開示の他の態様に係る統合サーバは、通信回線を介して複数のクライアント端末と接続される統合サーバであって、学習済みのマスターモデルを保存しておくマスターモデル保存部と、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させる同期処理部と、複数のクライアント端末からそれぞれの学習結果を受信する受信部と、複数のクライアント端末の一部であるクライアント端末の組み合わせの学習結果を統合して作成するマスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせを探索する処理、およびマスターモデル候補の推論精度を最大化するクライアント端末の組み合わせを探索する処理のうち少なくとも一方の処理を行うクライアント組み合わせ最適化処理部と、を備える統合サーバである。
[0037]
 本開示の他の態様に係る統合サーバは、通信回線を介して複数のクライアント端末と接続される統合サーバであって、第1のプロセッサと、第1のプロセッサによって実行される第1のプログラムが記録された非一時的な有体物である第1のコンピュータ可読媒体と、を含み、第1のプロセッサは、第1のプログラムの命令に従い、学習済みのマスターモデルを第1のコンピュータ可読媒体に保存しておくことと、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させることと、複数のクライアント端末からそれぞれの学習結果を受信することと、複数のクライアント端末の一部であるクライアント端末の組み合わせの学習結果を統合して作成するマスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせを探索する処理、およびマスターモデル候補の推論精度を最大化するクライアント端末の組み合わせを探索する処理のうち少なくとも一方の処理を行うことと、を含む処理を実行する、統合サーバである。
[0038]
 本開示の更に他の態様に係る統合サーバにおいて、第1のプロセッサは、第1のプログラムの命令に従い、複数のクライアント端末から一部のクライアント端末を抽出してクライアント端末の組み合わせであるクライアントクラスタを作成することと、クライアントクラスタの学習結果を統合してマスターモデル候補を作成することと、を含む処理を実行する構成とすることができる。
[0039]
 本開示の他の態様に係る情報処理装置は、本開示の一態様に係る統合サーバと通信回線を介して接続される複数のクライアント端末の一つとして用いられる情報処理装置であって、統合サーバに保存されているマスターモデルと同期させた学習モデルを、学習開始前の初期状態の学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行する学習処理部と、学習モデルの学習結果を統合サーバに送信する送信部と、を備える情報処理装置である。
[0040]
 本開示の他の態様に係る情報処理装置は、本開示の一態様に係る統合サーバと通信回線を介して接続される複数のクライアント端末の一つとして用いられる情報処理装置であって、第2のプロセッサと、第2のプロセッサによって実行される第2のプログラムが記録された非一時的な有体物である第2のコンピュータ可読媒体と、を含み、第2のプロセッサは、第2のプログラムの命令に従い、統合サーバに保存されているマスターモデルと同期させた学習モデルを、学習開始前の初期状態の学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行することと、学習モデルの学習結果を統合サーバに送信することと、を含む処理を実行する、情報処理装置である。
[0041]
 本開示の他の態様に係るプログラムは、本開示の一態様に係る統合サーバと通信回線を介して接続される複数のクライアント端末の一つとしてコンピュータを機能させるためのプログラムであって、統合サーバに保存されているマスターモデルと同期させた学習モデルを、学習開始前の初期状態の学習モデルとし、医療機関のデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行する機能と、学習モデルの学習結果を統合サーバに送信する機能と、をコンピュータに実現させるためのプログラムである。
[0042]
 本開示の他の態様に係るプログラムは、通信回線を介して複数のクライアント端末と接続される統合サーバとしてコンピュータを機能させるためのプログラムであって、コンピュータに、学習済みのマスターモデルを保存しておく機能と、複数のクライアント端末にそれぞれの学習モデルを学習させる前に、各クライアント端末側の学習モデルとマスターモデルとを同期させる機能と、複数のクライアント端末からそれぞれの学習結果を受信する機能と、複数のクライアント端末の一部であるクライアント端末の組み合わせの学習結果を統合して作成するマスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせを探索する処理、およびマスターモデル候補の推論精度を最大化するクライアント端末の組み合わせを探索する処理のうち少なくとも一方の処理を行う機能と、を実現させるためのプログラムである。
[0043]
 本開示の他の態様に係る推論モデルの作成方法は、複数のクライアント端末と、統合サーバと、を用いて機械学習を行うことにより、推論モデルを作成する方法であって、複数のクライアント端末のそれぞれに学習モデルを学習させる前に、各クライアント端末側の学習モデルと、統合サーバに保存されている学習済みのマスターモデルとを同期させることと、複数のクライアント端末のそれぞれが、互いに異なる医療機関のそれぞれのデータ保存装置に保存されているデータを学習データに用いて学習モデルの機械学習を実行することと、複数のクライアント端末のそれぞれが、学習モデルの学習結果を統合サーバに送信することと、統合サーバが、複数のクライアント端末からそれぞれの学習結果を受信することと、複数のクライアント端末の一部であるクライアント端末の組み合わせの学習結果を統合して作成するマスターモデル候補の推論精度が目標の精度を満たすクライアント端末の組み合わせを探索する処理、およびマスターモデル候補の推論精度を最大化するクライアント端末の組み合わせを探索する処理のうち少なくとも一方の処理を行うことと、目標の精度を満たす推論精度が達成されたマスターモデル候補、または、探索の処理によって作成された複数のマスターモデル候補の中で最も推論精度が高いモデルの作成に使用したクライアント端末の組み合わせを用いて作成されたマスターモデル候補を基に、マスターモデルよりも推論精度が高い推論モデルを作成することと、を含む推論モデルの作成方法である。
[0044]
 推論モデルの作成方法は、推論モデルを製造する方法の発明として理解される。「推論」という用語は、予測、推定、分類、および判別の概念を含む。推論モデルは「AIモデル」と言い換えてもよい。

発明の効果

[0045]
 本発明によれば、複数のクライアント端末の中から、学習結果の統合に使用するクライアント端末の最適な組み合わせを求めることができる。これにより、効率的に学習を行うことが可能であり、モデルの推論精度を早期に向上させることが可能になる。

図面の簡単な説明

[0046]
[図1] 図1は、本発明の実施形態に係る機械学習システムの概要を示す概念図である。
[図2] 図2は、本発明の実施形態に係る機械学習システムのシステム構成例を概略的に示す図である。
[図3] 図3は、統合サーバの構成例を示すブロック図である。
[図4] 図4は、クライアントの一例であるCAD(Computer Aided Detection/Diagnosis)サーバの構成例を示すブロック図である。
[図5] 図5は、ローカル学習管理プログラムに基づくクライアント端末の動作の例を示すフローチャートである。
[図6] 図6は、学習用クライアント組み合わせ最適化プログラム33に基づく統合サーバ30の動作の例を示すフローチャートである。
[図7] 図7は、統合サーバにおいてマスターモデル候補の推論精度を評価する処理の例を示すフローチャートである。
[図8] 図8は、コンピュータのハードウェア構成の例を示すブロック図である。

発明を実施するための形態

[0047]
 以下、添付図面に従って本発明の好ましい実施形態について説明する。
[0048]
 《機械学習システムの概要》
 図1は、本発明の実施形態に係る機械学習システムの概要を示す概念図である。機械学習システム10は、フェデレーテッドラーニングの仕組みを利用して機械学習を行うコンピュータシステムである。機械学習システム10は、複数のクライアント20と、統合サーバ30と、を含む。フェデレーテッドラーニングは「フェデレーションラーニング」、「連携学習」、あるいは「連合学習」などと呼ばれることがある。
[0049]
 図1に示す複数のクライアント20のそれぞれは、病院などの医療機関内のネットワーク上に設置される医療機関内端末を示す。ここで「端末」とは、安全に医療機関内のデータにアクセスできるネットワーク内に存在する計算資源を指しており、その端末は物理的に医療機関内に存在しなくてもよい。クライアント20は本開示における「クライアント端末」の一例である。医療機関内のコンピュータネットワークを「医療機関ネットワーク」という。
[0050]
 各クライアント20は、AIモデルに学習させるデータ群ごとに存在していることを想定する。ここでいう「データ群ごと」とは、AIモデルの学習に使用するデータ群が保有される「医療機関ごと」と理解してよい。すなわち、おおよそ1つの医療機関に対して1つのクライアントが存在することを想定する。
[0051]
 複数のクライアント20のそれぞれを区別して表示するために、図1および以降の図面において、「Client 1」,「Client 2」などの表記を用いる。「Client」の後に付す数字は、個々のクライアント20を識別する識別番号としてのインデックスである。本明細書では、インデックスがmであるクライアント20を「クライアントCLm」と表記する。例えば、クライアントCL1は、図1中の「Client 1」を表す。mはクライアントID番号(identification number)に相当する。統合サーバ30によって管理されるクライアント20の総数をMとすると、mは1以上M以下の整数を表す。図1においては、m=1からN+1までのクライアント20が図示されている。Nは2以上の整数を表す。学習に参加する総数Mのクライアント20の全体の集合を「学習クライアント群」あるいは「クライアント母集団」という。
[0052]
 各クライアント20は、クライアントローカルの記憶装置にローカルデータLDを保有している。ローカルデータLDは、クライアント20が属する医療機関にて蓄積されたデータ群である。
[0053]
 各クライアント20は、分散学習のクライアントプログラムであるローカル学習管理プログラムを含む。各クライアント20は、ローカル学習管理プログラムにしたがい、クライアントローカルのローカルデータLDを用いてローカルモデルLMを学習させるイテレーションを回す。
[0054]
 ローカルモデルLMは、例えば、CADシステムに組み込まれる医用画像診断用のAIモデルである。「CAD」という用語は、コンピュータ支援検出(CADe:Computer Aided Detection)と、コンピュータ支援診断(CADx:Computer Aided Diagnosis)との両方の概念を含む。ローカルモデルLMは、例えば、階層型の多層のニューラルネットワークを用いて構成される。ローカルモデルLMは、ローカルデータLDを学習データに用いる深層学習によってネットワークの重みパラメータが更新される。重みパラメータには、各層の処理に用いるフィルタのフィルタ係数(ノード間の結合の重み)およびノードのバイアスが含まれる。ローカルモデルLMは本開示における「クライアント端末側の学習モデル」の一例である。
[0055]
 なお、「ニューラルネットワーク」とは、脳神経系の仕組みを模擬した情報処理の数理モデルである。ニューラルネットワークを用いた処理は、コンピュータを用いて実現することができる。ニューラルネットワークを含む処理部は、プログラムモジュールとして構成され得る。
[0056]
 学習に使用するニューラルネットワークのネットワーク構造は、入力に用いるデータの種類に応じた適切なネットワーク構造が採用される。医用画像診断用のAIモデルは、例えば、畳み込み層を有する各種の畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いて構成することができる。時系列データや文書データなどを扱うAIモデルは、例えば、各種の再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)を用いて構成することができる。
[0057]
 複数のクライアント20は、通信ネットワークを介して統合サーバ30と接続される。統合サーバ30は、複数のクライアント20からそれぞれの学習結果を取得する処理と、母集団から抽出されたクライアント20の組み合わせについて学習結果を統合してマスターモデル候補MMCを作成する処理と、マスターモデル候補MMCの推論精度を評価する処理と、推論精度の評価結果に基づきクライアント20の組み合わせを最適化する処理と、を行う。本明細書では、マスターモデル候補MMCの作成に用いるクライアント20の組み合わせであるクライアント群を「クライアントクラスタ」という。
[0058]
 統合サーバ30の所在は、AIモデルを開発している主体団体がアクセス権を持っているコンピュータネットワーク上に存在すればよく、サーバの形態は物理サーバ、仮想サーバなどの形態を問わない。統合サーバ30は、医療機関ネットワーク内に設置されてもよいし、医療機関ネットワーク外に設置されてもよい。例えば、統合サーバ30は、医療機関から地理的に離れた場所にある医療用AIを開発する会社内もしくはクラウド上に設置されてよい。
[0059]
 図1においては、クライアントCL1,CL2およびCL3は同じクライアントクラスタに属する。
[0060]
 図1中の「Federated Avg」という表示を囲む円の左側から延びる矢印は、同じクライアントクラスタに属する各クライアント20から、学習したローカルモデルLMのデータが送信されてきていることを示している。各クライアント20から統合サーバ30に提供される学習結果としてのローカルモデルLMのデータは、学習後のローカルモデルLMの重みパラメータであってよい。
[0061]
 「Federated Avg」という表示を囲む円は、学習結果を統合する処理を表す。この処理において、各クライアント20から送られてきた重みが平均化等により統合され、統合モデルであるマスターモデル候補MMCが作成される。統合の処理の方法は、単純な加算平均に限らず、クライアント20の属性、過去の統合成績、再学習に用いられた医療機関ごとのデータ数、人間が評価した医療機関のレベルなどの要素に基づいて、重みづけをして統合してもよい。
[0062]
 図1において「Federated Avg」という表示を囲む円の右側へ延びる矢印の先に示す「Master model」は、クライアントクラスタから作成されたマスターモデル候補MMCを示す。
[0063]
 統合サーバ30は、予め用意された検証用データを用いてマスターモデル候補MMCの推論精度を評価する。検証用データは、統合サーバ30の内部の記憶装置に保存されていてもよいし、統合サーバ30と接続される外部記憶装置に保存されていてもよい。
[0064]
 統合サーバ30は、学習用クライアント組み合わせ最適化プログラム33と、データベース36と、を含む。
[0065]
 学習用クライアント組み合わせ最適化プログラム33は、マスターモデル候補MMCの推論精度をデータベース36等のデータ保存部に保存する。データ保存部は、統合サーバ30内の記憶装置の記憶領域であってもよいし、統合サーバ30と接続される外部記憶装置の記憶領域であってもよい。また、学習用クライアント組み合わせ最適化プログラム33は、推論精度を算出したマスターモデル候補MMCがどのクライアント20の組み合わせ(クライアント群)を用いて作成されたかという情報も併せてデータベース36等のデータ保存部に保存する。
[0066]
 学習用クライアント組み合わせ最適化プログラム33は、マスターモデル候補MMCの推論精度と精度目標値とを比較し、精度目標値を上回る推論精度のマスターモデル候補MMCが見つかるか、または、イテレーションの回数が上限イテレーション数に達するまで、クライアント20の組み合わせを変えてマスターモデル候補MMCの作成とその推論精度の評価とを行うことを繰り返し、マスターモデル候補MMCの推論精度を向上させるようなクライアント20の学習結果の組み合わせ(つまり、クライアント組み合わせ)を探索する。なお、クライアント母集団のうち、マスターモデル候補MMCの作成に使用しないクライアント20が存在してもよい。
[0067]
 統合サーバ30は、マスターモデル候補MMCの推論精度が精度目標値を上回るクライアント組み合わせが制限時間内に見つからなかった場合、クライアント20の学習をさらに進める。
[0068]
 《機械学習方法の概要》
 本発明の実施形態に係る機械学習システム10による機械学習方法の例を説明する。以下に示す手順1から手順11にしたがって機械学習システム10が動作する。
[0069]
 [手順1]図1に示すように、AIモデルが学習すべきデータ群が存在している医療機関のコンピュータネットワーク内にある医療機関内端末(クライアント20)上にて、フェデレーテッドラーニングのための分散学習のクライアントプログラムが実行されている。
[0070]
 [手順2]統合サーバ30は、複数のクライアント20のそれぞれが学習を開始する前に、学習に供するマスターモデルの最新版を各クライアント20上のローカルモデルLMと同期させる。マスターモデルは学習済みのAIモデルである。
[0071]
 [手順3]各クライアント20は、最新版のマスターモデルとの同期後、医療機関内に存在するローカルデータLDを用いてそれぞれの端末上にて学習を行い、指定されたイテレーション数だけ学習処理を回す。学習データとして用いるローカルデータLDは、例えば、医用画像とこれに付随する情報であってよい。「付随する情報」には教師信号に相当する情報が含まれていてよい。イテレーション数は固定値としてもよいが、より好ましくは、推論精度が指定された割合以上に向上した段階まで学習イテレーションを回す。
[0072]
 [手順4]各クライアント20は学習終了後、学習結果を統合サーバ30に向けて送信する。クライアント20から統合サーバ30に送信される学習結果は、学習後のローカルモデルLMの重みパラメータであってよい。なお、クライアント20から統合サーバ30に送信される学習後の重みパラメータのデータは、統合サーバ30と同期させたマスターモデルの最新版の重みパラメータとの差分であってもよい。
[0073]
 本実施形態による機能を使用するクライアント20である医療機器等の添付文書には診療業務に支障の無い範囲のバックグラウンド処理として、学習が行われることが記載される。また、添付文書には、使用される学習データは医療機関内のデータであり、外部に送信されるデータは学習後の重みパラメータのみであり、個人が特定されるデータは送信されない旨が記載される。
[0074]
 [手順5]統合サーバ30上で動作している学習用クライアント組み合わせ最適化プログラム33は、指定されたクライアント数Wのクライアント20をクライアント母集団から抽出し、それらのクライアント20から受信した学習結果を統合して、マスターモデル候補MMCを作成する。学習用クライアント組み合わせ最適化プログラム33は、作成されたマスターモデル候補MMCが、どのクライアント20の組み合わせから作成されているかを示すクライアント組み合わせ情報をデータベース36等のデータ保存部に保存する。
[0075]
 [手順6]学習用クライアント組み合わせ最適化プログラム33は、作成されたマスターモデル候補MMCの推論精度の検証を行う。精度検証は、検証用データに対して行われる。すなわち、学習用クライアント組み合わせ最適化プログラム33は、マスターモデル候補MMCに対して、統合サーバ30内に存在する検証用データを入力として用いて推論を行わせ、推論結果と正解データとを比較して推論精度を算出し、データベース36等のデータ保存部にマスターモデル候補MMCの推論精度を保存する。データベース36は本開示における「情報保存部」の一例である。
[0076]
 [手順7]学習用クライアント組み合わせ最適化プログラム33は、マスターモデル候補の推論精度が精度目標値を上回るクライアント20の組み合わせが見つかるか、または上限イテレーション数に達するまで、クライアント20の組み合わせを変えてマスターモデル候補の作成とその推論精度の算出を行うことを繰り返す。
[0077]
 この組み合わせ探索を行う際、クライアント母集団から総当たり法的に組み合わせを変えてマスターモデル候補の推論精度が最大になるクライアント20の組み合わせを探してもよいが、より好ましくはローカルモデルLMの重みパラメータの更新に使用しているのと同一の最適化手法など、対象としているモデルの重みパラメータの更新に適した最適化手法を組み合わせ探索に用いる。
[0078]
 この探索問題は、マスターモデル候補MMCの作成に使用するクライアント20の組み合わせを探索する問題、すなわち対象としているマスターモデル候補MMCのネットワークの重みパラメータを変化させ、推論精度が最大化する方向を探索する問題であるといえる。これはすなわちモデル学習時の重みパラメータ更新の最適化問題と類似の問題であるため、より好ましくはローカルモデルLMを学習する際と同様の確率的勾配降下法やその他の対象としているモデルの重みパラメータの更新に適した最適化法を採用することが好ましい。
[0079]
 [手順8]マスターモデル候補MMCの推論精度が精度目標値を上回るクライアント20の組み合わせが見つかった場合、その段階で学習処理を終了してよい。
[0080]
 [手順9]手順7において、上限イテレーション数以内にマスターモデル候補MMCの推論精度が精度目標値を上回るクライアント20の組み合わせが見つからなかった場合、それまでに作成された複数のマスターモデル候補MMCのうち最も推論精度が良かったマスターモデル候補MMCをクライアント群に同期させ、手順2~手順9を反復する。
[0081]
 これにより、マスターモデル候補の推論精度を早期に最大化するような最適なクライアント20の組み合わせを見出すことができ、精度目標値を上回る推論精度を持つ推論モデルを作成することが可能になる。本実施形態による機械学習システム10を用いた機械学習方法は、推論モデルの作成方法として理解される。
[0082]
 《システム構成例》
 次に、機械学習システム10の具体的な構成の例について説明する。図2は、本発明の実施形態に係る機械学習システム10のシステム構成例を概略的に示す図である。まず、医療機関ネットワーク50の例を説明する。図2では、図示を簡単にするために、複数の医療機関のそれぞれに同じシステム構成の医療機関ネットワーク50が設置されている場合の例を示すが、医療機関ごとに異なるシステム構成の医療機関ネットワークが構築されてもよい。
[0083]
 医療機関ネットワーク50は、CT(Computed Tomography)装置52と、MRI(Magnetic Resonance Imaging)装置54と、CR(Computed Radiography)装置56と、PACS(Picture Archiving and Communication Systems)サーバ58と、CADサーバ60と、端末62と、構内通信回線64と、を含むコンピュータネットワークである。
[0084]
 なお、医療機関ネットワーク50は、図2に例示のCT装置52、MRI装置54、およびCR装置56に限らず、これらの一部または全部に代えて、もしくは追加して、不図示のデジタルX線撮影装置、血管造影X線診断装置、超音波診断装置、PET(Positron Emission Tomography)装置、内視鏡装置、マンモグラフィ装置、その他の各種検査装置(モダリティ)のうち少なとも1つまたは組み合わせを含んでもよい。医療機関ネットワーク50に接続される検査装置の種類は、医療機関ごとに様々な組み合わせがありうる。
[0085]
 PACSサーバ58は、各種データを保存して管理するコンピュータであり、大容量外部記憶装置およびデータベース管理用ソフトウェアを備えている。PACSサーバ58は、構内通信回線64を介して他の装置と通信を行い、画像データを含む各種データを送受信する。PACSサーバ58は、CT装置52、MRI装置54、およびCR装置56などの各検査装置によって生成された画像データその他の含む各種データを構内通信回線64経由で受信し、大容量外部記憶装置等の記録媒体に保存して管理する。
[0086]
 なお、画像データの格納形式および構内通信回線64経由での各装置間の通信は、DICOM(Digital Imaging and Communication in Medicine)等のプロトコルに基づいている。PACSサーバ58は、DICOMの仕様にて動作するDICOMサーバであってよい。PACSサーバ58に保存されたデータを学習データとして使用することができる。また、PACSサーバ58に保存されたデータを基に作成された学習データをCADサーバ60に保存することも可能である。PACSサーバ58は本開示における「医療機関のデータ保存装置」の一例である。また、CADサーバ60が本開示における「医療機関のデータ保存装置」として機能してもよい。
[0087]
 CADサーバ60は、図1で説明したクライアント20に相当する。CADサーバ60は、統合サーバ30と通信するための通信機能を有し、広域通信回線70を介して統合サーバ30と接続される。CADサーバ60は、構内通信回線64を介してPACSサーバ58等からデータを取得することができる。CADサーバ60は、PACSサーバ58に保存されたデータ群を用いてCADサーバ60上でローカルモデルLMの学習を実行するためのローカル学習管理プログラムを含む。CADサーバ60は本開示における「クライアント端末」の一例である。
[0088]
 PACSサーバ58のデータベースに保存された各種データ、並びにCADサーバ60による推論結果を含む様々な情報は、構内通信回線64に接続された端末62に表示させることができる。
[0089]
 端末62は、PACSビューワ、あるいはDICOMビューワと呼ばれる表示端末であってよい。医療機関ネットワーク50には複数の端末62が接続され得る。端末62の形態は特に限定されず、パーソナルコンピュータであってもよいし、ワークステーションであってもよく、また、タブレット端末などであってもよい。
[0090]
 図2に示すように、複数の医療機関のそれぞれに、同様のシステム構成を持つ医療機関ネットワークが構築されている。統合サーバ30は、広域通信回線70を介して複数のCADサーバ60と通信を行う。広域通信回線70は本開示における「通信回線」の一例である。
[0091]
 《統合サーバ30の構成例》
 図3は、統合サーバ30の構成例を示すブロック図である。統合サーバ30は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。統合サーバ30は、コンピュータにプログラムをインストールし、実行することにより実現される。
[0092]
 統合サーバ30は、プロセッサ302、非一時的な有体物であるコンピュータ可読媒体304、通信インターフェース306、入出力インターフェース308、バス310、入力装置314および表示装置316を備える。プロセッサ302は本開示における「第1のプロセッサ」の一例である。コンピュータ可読媒体304は本開示における「第1のコンピュータ可読媒体」の一例である。
[0093]
 プロセッサ302はCPU(Central Processing Unit)を含む。プロセッサ302はGPU(Graphics Processing Unit)を含んでもよい。プロセッサ302は、バス310を介してコンピュータ可読媒体304、通信インターフェース306および入出力インターフェース308と接続される。入力装置314および表示装置316は入出力インターフェース308を介してバス310に接続される。
[0094]
 コンピュータ可読媒体304は、主記憶装置であるメモリおよび補助記憶装置であるストレージを含む。コンピュータ可読媒体304は、例えば、半導体メモリ、ハードディスク(HDD:Hard Disk Drive)装置、若しくはソリッドステートドライブ(SSD:Solid State Drive)装置またはこれらの複数の組み合わせであってよい。
[0095]
 統合サーバ30は通信インターフェース306を介して広域通信回線70(図2参照)に接続される。
[0096]
 コンピュータ可読媒体304は、マスターモデル保存部320と、検証用データ保存部322と、データベース36と、を含む。マスターモデル保存部320には、マスターモデルMMの最新版のデータが保存される。検証用データ保存部322には、マスターモデル候補作成部334にて作成される統合モデルの推論精度を検証する際に使用する複数の検証用データTDが保存される。検証用データTDは、入力用のデータと正解データとが組み合わされたデータであり、テストデータとも呼ばれる。検証用データTDは、例えば、大学等から提供されたデータであってよい。
[0097]
 コンピュータ可読媒体304には、同期プログラム324、および学習用クライアント組み合わせ最適化プログラム33を含む各種プログラムおよびデータが記憶されている。同期プログラム324は、通信インターフェース306を介してマスターモデルMMのデータを各クライアント20に提供し、それぞれのローカルモデルLMをマスターモデルMMと同期させるためのプログラムである。プロセッサ302が同期プログラム324の命令を実行することにより、コンピュータは、同期処理部として機能する。なお、同期プログラム324は学習用クライアント組み合わせ最適化プログラム33のプログラムモジュールとして組み込まれていてもよい。
[0098]
 プロセッサ302が学習用クライアント組み合わせ最適化プログラム33の命令を実行することにより、コンピュータはクライアント組み合わせ最適化処理部330として機能する。クライアント組み合わせ最適化処理部330は、クライアントクラスタ抽出部332、マスターモデル候補作成部334および推論精度評価部340を含む。推論精度評価部340は、推論部342、推論精度算出部344および精度目標値比較部346を含む。
[0099]
 クライアントクラスタ抽出部332は、複数のクライアント20の中から、マスターモデル候補MMCの作成に使用するクライアント20の組み合わせを抽出し、クライアントクラスタを作成する。例えば、クライアントクラスタ抽出部332は、指定されたクライアント数のクライアント20をクライアント母集団からランダムに、または定められたアルゴリズムにしたがって抽出して、クライアントクラスタを作成する。クライアントクラスタにおけるクライアント数は、プログラムによって指定された固定の値であってもよいし、クライアント組み合わせを最適化する際の変数の1つとしてもよい。
[0100]
 クライアントクラスタ抽出部332は、クライアント母集団から、クライアント20の組み合わせが異なる複数のクライアントクラスタを作成し得る。クライアントクラスタ抽出部332によって作成される多様なクライアント20の組み合わせである複数のクライアントクラスタは、それぞれのクライアントクラスタを構成しているクライアント20の一部が重複してもよい。クライアントクラスタ抽出部332は、複数のクライアントクラスタを作成するにあたり、クライアント母集団の全クライアントをいずれかのクライアントクラスタに振り分ける必要はなく、一部のクライアント20の学習結果は統合の処理に利用されなくてもよい。
[0101]
 クライアントクラスタ抽出部332によるクライアントクラスタの作成は、各クライアント20がそれぞれの学習を開始する前に行われてもよいし、学習開始後に行われてもよく、例えば、各クライアント20からそれぞれの学習結果を受信した後に行われてもよい。通信インターフェース306は本開示における「受信部」の一例である。クライアントクラスタ抽出部332は本開示における「クライアントクラスタ作成部」の一例である。
[0102]
 クライアントクラスタ抽出部332は、それぞれのクライアントクラスタに属するクライアント20の情報と、クライアントクラスタごとに作成されるマスターモデル候補MMCとの対応関係を示す情報をデータベース36に保存する。
[0103]
 マスターモデル候補作成部334は、クライアントクラスタごとに学習結果を統合してマスターモデル候補MMCを作成する。マスターモデル候補MMCがどのクライアントクラスタを基に作成されたかという対応関係を示す情報はデータベース36に保存される。
[0104]
 推論精度評価部340は、クライアントクラスタごとに作成されたマスターモデル候補MMCの推論精度を検証し、評価する。
[0105]
 推論部342は、マスターモデル候補MMCに検証用データTDを入力して、マスターモデル候補MMCによって推論を実行する。推論精度算出部344は推論部342から得られるマスターモデル候補MMCの推論結果と正解データとを比較して、マスターモデル候補MMCの推論精度を算出する。例えば、正解データには、病変個数や正解臨床所見を画像データとともに付与したデータが用いられる。推論精度算出部344は、検証用データとの比較を通して精度検証を複数回行う。推論精度算出部344は、複数回の精度検証を行った結果から、マスターモデル候補の精度平均値を算出し、この精度平均値をマスターモデル候補の推論精度として評価してもよい。推論精度算出部344により算出された推論精度はデータベース36に保存される。
[0106]
 精度目標値比較部346は、作成された複数のマスターモデル候補のうち最も推論精度が高いモデルの推論精度を選択し、その推論精度と、目標とする精度(精度目標値)とを比較し、精度目標値を上回る推論精度のマスターモデル候補が得られた否かを判定する。精度目標値は、例えば、マスターモデルMMの最新版の推論精度よりも高い精度に設定され、マスターモデルMMに代わって製品化できるレベルの精度に定められる。
[0107]
 同期プログラム324、学習用クライアント組み合わせ最適化プログラム33は本開示における「第1のプログラム」の一例である。
[0108]
 また、プロセッサ302が表示制御プログラムの命令を実行することにより、コンピュータは表示制御部350として機能する。表示制御部350は、表示装置316への表示出力に必要な表示用信号を生成し、表示装置316の表示制御を行う。
[0109]
 表示装置316は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、若しくは、プロジェクタ、またはこれらの適宜の組み合わせによって構成される。入力装置314は、例えば、キーボード、マウス、タッチパネル、若しくはその他のポインティングデバイス、若しくは、音声入力装置、またはこれらの適宜の組み合わせによって構成される。入力装置314は、オペレータによる種々の入力を受け付ける。なお、タッチパネルを用いることによって表示装置316と入力装置314とを一体に構成してもよい。
[0110]
 表示装置316には、複数のマスターモデル候補MMCのそれぞれの各学習イテレーションにおける推論精度を表示させることができる。
[0111]
 《CADサーバ60の構成例》
 図4は、クライアント20の一例であるCADサーバ60の構成例を示すブロック図である。CADサーバ60は、1台または複数台のコンピュータを用いて構成されるコンピュータシステムによって実現することができる。CADサーバ60は、コンピュータにプログラムをインストールし、実行することにより実現される。
[0112]
 CADサーバ60は、プロセッサ602、非一時的な有体物であるコンピュータ可読媒体604、通信インターフェース606、入出力インターフェース608、バス610、入力装置614および表示装置616を備える。CADサーバ60のハードウェア構成は、図3で説明した統合サーバ30のハードウェア構成と同様であってよい。すなわち、図4のプロセッサ602、コンピュータ可読媒体604、通信インターフェース606、入出力インターフェース608、バス610、入力装置614および表示装置616のそれぞれのハードウェア構成は、図3のプロセッサ302、コンピュータ可読媒体304、通信インターフェース306、入出力インターフェース308、バス310、入力装置314および表示装置316と同様であってよい。
[0113]
 CADサーバ60は本開示における「情報処理装置」の一例である。プロセッサ602は本開示における「第2のプロセッサ」の一例である。コンピュータ可読媒体604は本開示における「第2のコンピュータ可読媒体」の一例である。
[0114]
 CADサーバ60は、通信インターフェース606または入出力インターフェース608を介して学習データ保存部80と接続される。学習データ保存部80は、CADサーバ60が機械学習を行うために使用する学習データを保存しておくストレージを含んで構成される。「学習データ」とは、機械学習に用いる訓練用のデータであり、「学習用データ」或いは「訓練データ」と同義である。学習データ保存部80に保存される学習データは図1で説明したローカルデータLDである。学習データ保存部80は、図2で説明したPACSサーバ58であってもよい。学習データ保存部80は本開示における「医療機関のデータ保存装置」の一例である。
[0115]
 ここでは、学習データ保存部80と、学習処理を実行するCADサーバ60とがそれぞれ別々の装置として構成される例を説明するが、これらの機能は1台のコンピュータで実現してもよいし、2以上の複数台のコンピュータで処理の機能を分担して実現してもよい。
 図4に示すCADサーバ60のコンピュータ可読媒体604には、ローカル学習管理プログラム630と診断支援プログラム640とを含む各種プログラムおよびデータが記憶されている。プロセッサ602がローカル学習管理プログラム630の命令を実行することにより、コンピュータは同期処理部631、学習データ取得部632、ローカルモデルLM、誤差演算部634、オプティマイザ635、学習結果保存部636、および送信処理部637として機能する。ローカル学習管理プログラム630は本開示における「第2のプログラム」の一例である。
[0116]
 同期処理部631は、通信インターフェース606を介して統合サーバ30と通信を行い、統合サーバ30内のマスターモデルMMとCADサーバ60内のローカルモデルLMとを同期させる。
[0117]
 学習データ取得部632は、学習データ保存部80から学習データを取得する。学習データ取得部632は、外部または装置内の他の信号処理部からデータを取り込むデータ入力端子を含んで構成されてよい。また、学習データ取得部632は、通信インターフェース306、入出力インターフェース308、若しくは、不図示のメモリカードなどの可搬型の外部記憶媒体の読み書きを行うメディアインターフェース、またはこれら態様の適宜の組み合わせを含んで構成されてもよい。
[0118]
 学習データ取得部632を介して取得された学習データは、学習モデルとしてのローカルモデルLMに入力される。
[0119]
 誤差演算部634は、ローカルモデルLMから出力されたスコアが示す予測値と、正解データとの誤差を算出する。誤差演算部634は、損失関数を用いて誤差を評価する。損失関数は、例えば、交差エントロピーまたは平均二乗誤差などであってよい。
[0120]
 オプティマイザ635は、誤差演算部634の演算結果からローカルモデルLMの重みパラメータを更新する処理を行う。オプティマイザ635は、誤差演算部634から得られる誤差の演算結果を用いて、ローカルモデルLMの重みパラメータの更新量を求める演算処理と、算出された重みパラメータの更新量に従い、ローカルモデルLMの重みパラメータの更新処理と、を行う。オプティマイザ635は、誤差逆伝播法などのアルゴリズムに基づき重みパラメータの更新を行う。
[0121]
 ローカル学習管理プログラム630が組み込まれたCADサーバ60は、ローカルデータLDを学習データとして用いてCADサーバ60上で機械学習を実行するローカル学習装置として機能する。CADサーバ60は、学習データ保存部80からローカルデータLDである学習データを読み込み、機械学習を実行する。CADサーバ60は、複数の学習データをまとめたミニバッチの単位で学習データの読み込みと、重みパラメータの更新を行うことができる。学習データ取得部632、ローカルモデルLM、誤差演算部634およびオプティマイザ635を含む処理部は本開示における「学習処理部」の一例である。
[0122]
 ローカル学習管理プログラム630は、学習の終了条件を満たすまで、学習処理のイテレーションを回す。学習の終了条件を満たした後、学習結果としてのローカルモデルLMの重みパラメータは学習結果保存部636に保存される。
[0123]
 送信処理部637は、学習結果を統合サーバ30に送信する処理を行う。学習結果保存部636に保存された学習後のローカルモデルLMの重みパラメータは、通信インターフェース606を介して広域通信回線70経由で統合サーバ30に送られる(図2参照)。送信処理部637及び通信インターフェース606は本開示における「送信部」の一例である。
[0124]
 また、プロセッサ602が診断支援プログラム640の命令を実行することにより、コンピュータはAI-CAD部642として機能する。
[0125]
 AI-CAD部642は、マスターモデルMMまたはローカルモデルLMを推論モデルとして用いて、入力データに対する推論結果を出力する。AI-CAD部642に対する入力データは、例えば、2次元画像、3次元画像または動画像の医用画像であり、AI-CAD部642からの出力は例えば、画像内における病変部位の位置を示す情報、もしくは病名などのクラス分類を示す情報、またはこれらの組み合わせであってよい。
[0126]
 《ローカル学習管理プログラム630の説明》
 既に説明したとおり、医療機関ネットワーク50に存在するクライアント端末(クライアント20)上に、ローカル学習管理プログラム630を構築する。ここでいうクライアント端末は、例えば図2におけるCADサーバ60であってよい。このローカル学習管理プログラム630は、学習前のマスターモデルMMとローカルモデルLMの同期、ローカル学習の起動、ローカル学習の終了条件の設定、並びに、ローカル学習終了時にローカル学習の結果を統合サーバ30に送信する機能を有する。
[0127]
 図5は、ローカル学習管理プログラム630に基づくクライアント端末の動作の例を示すフローチャートである。図5に示すフローチャートのステップは、プロセッサ602がローカル学習管理プログラム630の命令に従って実行する。
[0128]
 ステップS21において、CADサーバ60のプロセッサ602は、ローカル学習管理プログラム630にて設定された時刻になると、ローカルモデルLMとマスターモデルMMを同期させる。ここで「設定された時刻」とは、例えば病院の検査営業時間外を固定値で指定してもよいし、CADサーバ60の稼働状況の記録を持っておいて、通常CADサーバ60が使用されていない時間を割り出すことでプログラム的に設定してもよい。
[0129]
 ローカルモデルLMとマスターモデルMMの同期に際しては、例えば、モデルが使用するパラメータファイルを更新してそれをプログラムが読み込んで学習を進めるという形態でもよいし、仮想コンテナイメージ様のものを統合サーバ30側で集中管理し、その仮想コンテナイメージ様のものをクライアント20である端末側で展開するという形態でもよい。この同期の処理により、マスターモデルMMが学習開始前の初期状態の学習モデル(ローカルモデルLM)となる。
[0130]
 ステップS22において、プロセッサ602はローカルデータLDを用いてローカル学習を実行する。マスターモデルMMと同期されたローカルモデルLMは、ローカル学習管理プログラム630によってその学習処理を起動され、医療機関ネットワーク50内にあるローカルデータLDを参照して、ローカル学習が進められる。
[0131]
 ステップS23において、プロセッサ602は学習の終了条件を満たすか否かを判定する。ここで学習の終了条件は、例えば次のような条件の例を挙げることができる。
[0132]
 [例1]予めイテレーションの回数を指定しておき、指定された回数のイテレーション後に学習を終了する。
[0133]
 [例2]医療機関ネットワーク50内に検証用データを保持しておき、学習が進んだモデルに検証用データを入力して得られる推論結果の正解に対する精度比較をすることで推論精度を算出し、指定された割合の精度向上を達成するまで学習を行う。つまり、検証用データを用いて学習モデルの推論精度を算出し、指定された割合の精度向上を達成したら学習を終了する。
[0134]
 [例3]制限時間を設定しておき、その制限時間内は学習を行い、制限時間が来たら学習を終了する。
[0135]
 上記の[例1]~[例3]のいずれか1つの終了条件を定めておいてもよいし、複数の条件の論理積(AND)もしくは論理和(OR)を終了条件としてもよい。
[0136]
 ステップS23の判定結果がNo判定である場合、プロセッサ602はステップS22に戻り、ローカル学習の処理を続ける。一方、ステップS23の判定結果がYes判定である場合、プロセッサ602はステップS24に進み、学習を終了する。
[0137]
 学習終了後、ステップS25において、プロセッサ602はその学習結果を統合サーバ30に送信する。例えば、プロセッサ602は、学習したモデルをファイルに保存するなどして、統合サーバ30に広域通信回線70経由で送信する。
[0138]
 図2に示した複数のCADサーバ60のそれぞれが、互いに異なる医療機関ネットワーク内のPACSサーバ58に保存されているデータを学習データに用いて、それぞれのローカルモデルLMの機械学習を実行し、学習結果を広域通信回線70経由で統合サーバ30に送信する。
[0139]
 《学習用クライアント組み合わせ最適化プログラム33の説明》
 図6は、学習用クライアント組み合わせ最適化プログラム33に基づく統合サーバ30の動作の例を示すフローチャートである。図6に示すフローチャートのステップは、プロセッサ302が学習用クライアント組み合わせ最適化プログラム33の命令に従って実行する。
[0140]
 ステップS31において、プロセッサ302は各クライアント20から学習結果を受信する。
[0141]
 ステップS32において、プロセッサ302は指定された数のクライアント20をクライアント母集団から抽出し、抽出したクライアント20の組み合わせであるクライアントクラスタを作成する。ある1つのクライアントクラスタは、クライアント20の組み合わせの1パターンと理解される。そして、ステップS33において、プロセッサ302はクライアントクラスタに属するクライアント20の学習結果を統合してマスターモデル候補を作成する。
[0142]
 なお、ステップS32の際に、クライアントクラスタを構成するクライアント20の組み合わせ方はランダム抽出でもよいが、より好ましくは、前回までの組み合わせ探索状況が保存されているのであれば、その組み合わせから以降の探索を再開する。
[0143]
 また、プロセッサ302は、ステップS33にて、あるクライアントクラスタクライアント20のマスターモデル候補MMCを作成した際に、そのマスターモデル候補MMCが、どのクライアント20の組み合わせを用いて作成されたかという対応関係を示す情報をデータベース36等のデータ保存部に保存する。
[0144]
 ステップS34において、プロセッサ302は作成したマスターモデル候補MMCについて推論精度の評価を行う。すなわち、プロセッサ302はマスターモデル候補MMCに対して、統合サーバ30内に存在する検証用データTDを入力として用いて推論を行わせ、その推論精度を算出して、推論精度と精度目標値とを比較する。また、プロセッサ302は、算出した推論精度、ならびに、推論精度と精度目標値との比較結果を、マスターモデル候補と関連付けて(紐付けて)データベース36に保存する。
[0145]
 ステップS34の処理の際に精度目標値と比較するマスターモデル候補の推論精度は、瞬時値、または平均値あるいは中央値などの統計値のうち適切な値を使用する。ステップS34に適用される推論精度の評価の処理内容の例については図7を用いて後述する。
[0146]
 ステップS35において、プロセッサ302は精度目標値を上回るマスターモデル候補MMCが得られたかどうかを判定する。
[0147]
 ステップS35の判定結果がNo判定である場合、つまり、推論精度が精度目標値を上回るマスターモデル候補MMCが得られていない場合、プロセッサ302はステップS36に進む。
[0148]
 ステップS36において、プロセッサ302は組み合わせ探索のイテレーションの回数が上限イテレーション数に到達したか否かを判定する。ステップS36の判定結果がNo判定である場合、プロセッサ302はステップS32に戻り、クライアント20の組み合わせを変更して、ステップS32~ステップS36を反復する。プロセッサ302は上限イテレーション数に達するか、マスターモデル候補の推論精度が精度目標値を上回る組み合わせが見つかるまで、ステップS32~ステップS36を反復する。なお、ステップS35とステップS36の判定順は入れ替えてもよい。
[0149]
 一方、ステップS35の判定結果がYes判定である場合、すなわち、マスターモデル候補の推論精度が精度目標値を上回っていた場合、プロセッサ302は学習を終了させ(ステップS37)、ステップS38に進む。
[0150]
 ステップS38において、プロセッサ302は精度目標値を上回る推論精度のマスターモデル候補を学習後の性能改善された最新のモデルとし、このモデルをファイル等適切な形式でデータベース36等のデータ保存部に保存し、学習が終了したことを通知する。ここで通知方法はメッセージキューあるいは一般的なプロセス間通信等を用いることができる。なお、学習が終了したことを知らせる通知は、表示装置316に表示させてもよいし、クライアント20に送信してもよい。
[0151]
 ステップS36の判定結果がYes判定である場合、つまり、マスターモデル候補MMCの推論精度が精度目標値を上回るクライアント20の組み合わせが上限イテレーション数内で見つからなかった場合、プロセッサ302はステップS39に進む。
[0152]
 ステップS39において、プロセッサ302はステップS32からステップS36の反復において見つかった最も推論精度が良かったマスターモデル候補MMCを暫定的なマスターモデルとし、このモデルをクライアントのローカルモデルLMに同期させ、図5のステップS21~S25と図6のステップS31~S39とを反復する。
[0153]
 《推論精度の評価処理の例》
 図7は、統合サーバ30においてマスターモデル候補MMCの推論精度を評価する処理の例を示すフローチャートである。図7に示すフローチャートは、図6のステップS34に適用される。ここでは1つのマスターモデル候補MMCについて推論精度の評価処理を説明するが、クライアント20の組み合わせが異なる複数のクライアントクラスタのそれぞれから作成される各マスターモデル候補MMCについて同様の処理が行われる。
[0154]
 図7のステップS341において、プロセッサ302はマスターモデル候補MMCに対して検証用データTDを入力として推論を実行させる。
[0155]
 ステップS342において、プロセッサ302は推論の結果と正解データとに基づきマスターモデル候補MMCの推論精度を算出する。
[0156]
 ステップS343において、プロセッサ302はマスターモデル候補MMCの推論精度と精度目標値を比較する。ここで精度目標値と比較するのは、マスターモデル候補MMCの推論精度瞬時値と比較してもよいが、マスターモデル候補MMCの作成に用いるクライアントクラスタの構成を固定したまま、ステップS31~S343の手順を何イテレーションか実施し、その際の推論精度を毎回記録し、それらの推論精度の平均値や中央値などの統計値と精度目標値を比較してもよい。
[0157]
 ステップS344において、プロセッサ302はマスターモデル候補MMCの推論精度、ならびに、推論精度と精度目標値の比較結果をデータベース36に保存する。
[0158]
 ステップS344の後、プロセッサ302は図7のフローチャートを終了し、図6のフローチャートに復帰する。
[0159]
 《統合サーバ30と複数のクライアント20との連携による処理の具体例》
 ここで統合サーバ30と複数のクライアント20とが行う処理のさらに具体的な例を説明する。ここでは、複数のクライアント20は図2に示した複数のCADサーバ60とする。統合サーバ30と複数のCADサーバ60によって以下に示す[手順301]~[手順307]の処理が実行される。
[0160]
 [手順301]複数の医療機関のそれぞれの医療機関ネットワーク50内にあるCADサーバ60上にて、分散学習のクライアントプログラムが実行されている。
[0161]
 [手順302]統合サーバ30は、クライアント母集団である無数のクライアント20を含むクライアント群の中から、学習に使用する一部のクライアント群(クライアントクラスタ)をランダム抽出し、クライアント20の組み合わせが異なるクライアントクラスタを複数作成する。
[0162]
 [手順303]各クライアントクラスタ内の分散学習用のクライアント20は、それぞれが属する医療機関ネットワーク内のデータ(例えば、医用画像)およびそれに付随する情報を用いて学習のためのイテレーションを設定された回数行う。
[0163]
 [手順304]各クライアント20は、学習した学習モデルの重みパラメータを広域通信回線70経由で統合サーバ30に向けて送信する。
[0164]
 [手順305]統合サーバ30は、クライアント20から送られてきた学習結果の重みパラメータをクライアントクラスタごとに集約し、クライアントクラスタごとにマスターモデル候補MMCを作成する。
[0165]
 [手順306]統合サーバ30は、クライアントクラスタごとに作成された各マスターモデル候補の精度検証を行う。統合サーバ30は、マスターモデル候補MMCに検証用データTDに関する推論を行わせ、その推論結果と正解データの比較を行う。
[0166]
 [手順307]統合サーバ30は、クライアントクラスタごとに作成された各マスターモデル候補MMCのうち、最も推論精度が高いモデルの推論精度を確認する。その最も高い推論精度が目標の精度(精度目標値)を上回っていた場合、その最高精度の(推論精度が最大の)マスターモデル候補MMCを製品モデルとして採用する。
[0167]
 一方、最高精度のマスターモデル候補MMCの推論精度が精度目標値を下回っていた場合、統合サーバ30は、モデル推論精度を目的関数とし、モデル推論精度を最大化するようなクライアント20の重み統合の組み合わせを、指定された時間内で探索する。
[0168]
 例えば、クライアントCL1、CL3およびCL5の学習結果を平均してマスターモデル候補MMCの重みパラメータとして使用していたのを、クライアントCL1、CL3およびCL6の組み合わせに変更して、これらの学習結果の平均を取ってみるなど、組み合わせ探索を行う。
[0169]
 その結果、探索制限時間内で精度目標値を上回る推論精度のマスターモデル候補MMCが得られるクライアント20の重み組み合わせが見つかった場合、そのマスターモデル候補MMCを製品モデルとして採用する。
[0170]
 一方、探索制限時間内で精度目標値を上回る推論精度のマスターモデル候補MMCが得られるクライアント20の重み組み合わせが見つからなかった場合、統合サーバ30は、探索の過程で試みた多様な組み合わせの中で精度が上位のクライアントクラスタを用いて手順303から手順307までの学習のイテレーションを再度行う。
[0171]
 統合サーバ30は、精度目標値を上回る推論精度のマスターモデル候補MMCが得られるまで、手順303から手順307までの学習のイテレーションを行う。あるいは、統合サーバ30は、指定されたイテレーション上限数まで、イテレーションを回しても精度目標値を上回る推論精度のマスターモデル候補MMCが得られない場合には、それまでの探索の過程において最大の推論精度が得られたマスターモデル候補MMCを、製品モデルとして採用してもよい。
[0172]
 こうして本実施形態に係る機械学習システム10を用いて機械学習方法を実施することによって作成された新たなマスターモデルは、学習前のマスターモデルよりも推論精度が向上する。
[0173]
 本実施形態によれば、マスターモデルMMの推論性能をアップデートすることが可能である。本実施形態に係る機械学習方法を実施することによって作成された新たなマスターモデルを販売等によって提供する場合には、販売時等の添付文書に、学習に使用したクライアント数、および精度検証に使用した検証用データ数などが記載されることが好ましい。学習に使用したクライアント数に関しては、クライアント概要として、例えば、「病院_何件」、「有床診療所_何件」、および「無床診療所_何件」という具合に、クライアントの分類を示すことが好ましい。
[0174]
 なお、現状の製品であるマスターモデルからバージョンアップを行う際の事前の手続として、前バージョンの推論精度と新バージョンの推論精度とを明示する情報、ならびに、追加の学習に使用したクライアント数と分類を示す情報を合わせて医療機関側に提示し、医療機関側のバージョンアップ前承認を受ける。そして、承認を得た後にバージョンアップを行う。
[0175]
 《コンピュータのハードウェア構成の例》
 図8は、コンピュータのハードウェア構成の例を示すブロック図である。コンピュータ800は、パーソナルコンピュータであってもよいし、ワークステーションであってもよく、また、サーバコンピュータであってもよい。コンピュータ800は、既に説明したクライアント20、統合サーバ30、PACSサーバ58、CADサーバ60、及び端末62のいずれかの一部または全部、あるいはこれらの複数の機能を備えた装置として用いることができる。
[0176]
 コンピュータ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は、必要に応じて設ければよい。
[0177]
 CPU802は、ROM806またはストレージ810等に記憶された各種のプログラムを読み出し、各種の処理を実行する。RAM804は、CPU802の作業領域として使用される。また、RAM804は、読み出されたプログラムおよび各種のデータを一時的に記憶する記憶部として用いられる。
[0178]
 ストレージ810は、例えば、ハードディスク装置、光ディスク、光磁気ディスク、若しくは半導体メモリ、またはこれらの適宜の組み合わせを用いて構成される記憶装置を含んで構成される。ストレージ810には、推論処理および/または学習処理等に必要な各種プログラムやデータ等が記憶される。ストレージ810に記憶されているプログラムがRAM804にロードされ、これをCPU802が実行することにより、コンピュータ800は、プログラムで規定される各種の処理を行う手段として機能する。
[0179]
 通信部812は、有線または無線により外部装置との通信処理を行い、外部装置との間で情報のやり取りを行うインターフェースである。通信部812は、画像等の入力を受け付ける情報取得部の役割を担うことができる。
[0180]
 入力装置814は、コンピュータ800に対する各種の操作入力を受け付ける入力インターフェースである。入力装置814は、例えば、キーボード、マウス、タッチパネル、若しくはその他のポインティングデバイス、若しくは、音声入力装置、またはこれらの適宜の組み合わせであってよい。
[0181]
 表示装置816は、各種の情報が表示される出力インターフェースである。表示装置816は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、若しくは、プロジェクタ、またはこれらの適宜の組み合わせであってよい。
[0182]
 《コンピュータを動作させるプログラムについて》
 上述の実施形態で説明した各クライアント20におけるローカル学習機能、ならびに統合サーバ30におけるマスターモデル候補作成機能および推論精度評価機能を含む学習用クライアント組み合わせ最適化機能などの各種の処理機能のうち少なくとも1つの処理機能の一部または全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、若しくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
[0183]
 またこのような有体物たる非一時的なコンピュータ可読媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
[0184]
 また、上述の各実施形態で説明したローカル学習機能、学習用クライアント組み合わせ最適化機能および推論精度評価機能を含む複数の処理機能のうち少なくとも1つの処理機能の一部または全部をアプリケーションサーバとして提供し、電気通信回線を通じて処理機能を提供するサービスを行うことも可能である。
[0185]
 《各処理部のハードウェア構成について》
 図3に示すマスターモデル保存部320、検証用データ保存部322、クライアント組み合わせ最適化処理部330、クライアントクラスタ抽出部332、マスターモデル候補作成部334、推論精度評価部340、推論部342、推論精度算出部344、精度目標値比較部346、表示制御部350、図4に示す同期処理部631、学習データ取得部632、ローカルモデルLM、誤差演算部634、オプティマイザ635、学習結果保存部636、送信処理部637、AI-CAD部642、および表示制御部650などの各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ(processor)である。
[0186]
 各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるCPU、画像処理に特化したプロセッサであるGPU、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
[0187]
 1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種または異種の2つ以上のプロセッサで構成されてもよい。例えば、1つの処理部は、複数のFPGA、或いは、CPUとFPGAの組み合わせ、またはCPUとGPUの組み合わせによって構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第一に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
[0188]
 さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
[0189]
 《本実施形態による利点》
 本発明の実施形態に係る機械学習システム10によれば、次のような利点がある。
[0190]
 [1]診断画像などプライバシーに配慮が必要な個人情報を医療機関側から外部に持ち出すことなく、学習を行うことができる。
[0191]
 [2]複数のクライアント20の中から、モデルの推論精度を早期に向上させるための最適な組み合わせを求めることができる。このため、各クライアント20の学習環境に偏りがあった場合でも、比較的早期に目標の推論精度を達成することが可能になる。
[0192]
 [3]フェデレーテッドラーニングにおいて、学習結果を統合して新たなモデルを作成する際に用いるクライアント20の組み合わせを最適化する仕組みが提供される。これにより、すべてのクライアント20の学習結果を統合する方法あるいはクライアント母集団からランダムに組み合わせを抽出する方法などと比べて、高い推論精度を早期に実現すること可能になり、目標精度到達までの学習に要する時間を短くすることができる。
[0193]
 [4]推論精度の高いAIモデルを作成することが可能になる。
[0194]
 《変形例1》
 上述の実施形態では、医用画像診断用のAIモデルを例に説明したが、本開示の技術の適用範囲はこの例に限らず、例えば、入力データとして時系列データを用いるAIモデルまたは入力データとして文書データを用いるAIモデルについて、学習を行う場合にも適用することができる。時系列データは、例えば心電図の波形データなどであってよい。文書データは、例えば診断レポートなどであってよく、レポートの作成支援を行うAIモデルの学習に適用することができる。
[0195]
 《変形例2》
 上述の実施形態では、学習による精度目標値を定めておき、マスターモデル候補の推論精度と精度目標値とを比較する例を説明したが、精度目標値は必要に応じて更新されてもよい。また、精度目標値を予め定めることなく、制限時間内もしくは指定のイテレーション数の範囲内においてモデルの推論精度を最大化するという条件のもとで、組み合わせ最適化を行ってもよい。
[0196]
 《その他》
 上述の実施形態で説明した構成や変形例で説明した事項は、適宜組み合わせて用いることができ、また、一部の事項を置き換えることもできる。本発明は上述した実施形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能である。

符号の説明

[0197]
10 機械学習システム
20 クライアント
30 統合サーバ
33 学習用クライアント組み合わせ最適化プログラム
36 データベース
50 医療機関ネットワーク
52 CT装置
54 MRI装置
56 CR装置
58 PACSサーバ
60 CADサーバ
62 端末
64 構内通信回線
70 広域通信回線
80 学習データ保存部
302 プロセッサ
304 コンピュータ可読媒体
306 通信インターフェース
307 手順
308 入出力インターフェース
310 バス
314 入力装置
316 表示装置
320 マスターモデル保存部
322 検証用データ保存部
324 同期プログラム
330 クライアント組み合わせ最適化処理部
332 クライアントクラスタ抽出部
334 マスターモデル候補作成部
340 推論精度評価部
342 推論部
344 推論精度算出部
346 精度目標値比較部
350 表示制御部
602 プロセッサ
604 コンピュータ可読媒体
606 通信インターフェース
608 入出力インターフェース
610 バス
614 入力装置
616 表示装置
630 ローカル学習管理プログラム
631 同期処理部
632 学習データ取得部
634 誤差演算部
635 オプティマイザ
636 学習結果保存部
637 送信処理部
640 診断支援プログラム
642 AI-CAD部
650 表示制御部
800 コンピュータ
802 CPU
804 RAM
806 ROM
808 GPU
810 ストレージ
812 通信部
814 入力装置
816 表示装置
818 バス
CL1~CL4、CLN、CLN+1 クライアント
LD ローカルデータ
LM ローカルモデル
MM マスターモデル
MMC マスターモデル候補
TD 検証用データ
S21~S25 ローカル学習管理処理のステップ
S31~S39 学習用クライアント組み合わせ最適化処理のステップ
S341~S344 推論精度の評価処理のステップ

請求の範囲

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

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]