(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-29
(45)【発行日】2023-12-07
(54)【発明の名称】医用情報処理装置及び医用情報処理システム
(51)【国際特許分類】
G16H 50/70 20180101AFI20231130BHJP
【FI】
G16H50/70
(21)【出願番号】P 2019113039
(22)【出願日】2019-06-18
【審査請求日】2022-04-13
(73)【特許権者】
【識別番号】594164542
【氏名又は名称】キヤノンメディカルシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】三森 恵太
(72)【発明者】
【氏名】永井 康仁
【審査官】今井 悠太
(56)【参考文献】
【文献】国際公開第2018/098039(WO,A1)
【文献】特開2017-004509(JP,A)
【文献】特開2018-005317(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G16H 10/00-80/00
(57)【特許請求の範囲】
【請求項1】
複数の医療機関の各々に設けられた情報処理装置と通信可能な医用情報処理装置であって、
前記情報処理装置の各々に対し、当該情報処理装置の前記医療機関が保持する医用データを用いた機械学習を実行させるためのプログラムを配信する配信部と、
前記機械学習の実行に伴い変化した当該機械学習に係るパラメータの変化量を前記情報処理装置の各々から受信する変化量受信部と、
前記変化量受信部が受信した変化量に基づいて前記パラメータの値を調整するパラメータ調整部と、
前記パラメータ調整部で調整された前記パラメータを前記情報処理装置に送信し、当該パラメータに基づく前記機械学習を前記情報処理装置に実行させるパラメータ送信部と、
前記情報処理装置の各々から前記機械学習の状態を示した状態情報を受信する状態情報受信部と、
前記状態情報受信部が受信した前記状態情報に基づいて、前記情報処理装置の各々での前記機械学習の状態を比較可能に表した画面を表示させる表示制御部と、
を備え
、
前記状態情報は、前記情報処理装置が前記機械学習に用いた前記医用データのデータ数を含み、
前記表示制御部は、前記医用データのデータ数の合計値のうち、前記情報処理装置の各々が前記機械学習に用いた前記医用データのデータ数が占める割合を比較可能に表示させる医用情報処理装置。
【請求項2】
前記パラメータ調整部は、前記機械学習によって得られる前記情報処理装置の各々の前記パラメータの値に基づいて、当該情報処理装置の各々で作成される学習済モデルに共通の前記パラメータの値を決定する請求項1に記載の医用情報処理装置。
【請求項3】
前記状態情報は、前記情報処理装置が前記機械学習に用いた前記医用データのデータ数を、当該医用データに係る患者の属性毎に集計した情報を含み、
前記表示制御部は、前記医用データのデータ数の合計値のうち、前記情報処理装置の各々が前記機械学習に用いた前記医用データのデータ数が占める割合を、前記属性の単位で表示させる請求項
1又は2に記載の医用情報処理装置。
【請求項4】
前記状態情報は、前記情報処理装置が前記機械学習で作成するモデルの評価値を含み、
前記表示制御部は、前記情報処理装置の各々の前記評価値を比較可能に表示させる請求項
1~3の何れか一項に記載の医用情報処理装置。
【請求項5】
前記データ数の変更を指示する操作に応じて、操作の対象となった前記情報処理装置に対し、前記機械学習に用いる前記医用データのデータ数の拡大又は縮小を指示する補正部を更に備える請求項
2又は3に記載の医用情報処理装置。
【請求項6】
前記補正部は、前記データ数の縮小を指示する操作を受け付けた場合、操作の対象となった前記情報処理装置に対してデータ数の縮小を指示するとともに、前記機械学習の再実行を指示する請求項
5に記載の医用情報処理装置。
【請求項7】
前記補正部は、前記データ数の拡大を指示する操作を受け付けた場合、操作の対象となった前記情報処理装置に対してデータ数の拡大を指示するとともに、不足したデータ数分の医用データとして、前記医療機関の何れにも属さないサンプルデータを提供する請求項
5に記載の医用情報処理装置。
【請求項8】
複数の医療機関の各々に設けられる情報処理装置と、当該情報処理装置の各々と通信可能な医用情報処理装置とを有する医用情報処理システムであって、
前記医用情報処理装置は、
前記情報処理装置の各々に対し、当該情報処理装置の前記医療機関が保持する医用データを用いた機械学習を実行させるためのプログラムを配信する配信部と、
前記機械学習の実行に伴い変化した当該機械学習に係るパラメータの変化量を前記情報処理装置の各々から受信する変化量受信部と、
前記変化量受信部が受信した変化量に基づいて前記パラメータの値を調整するパラメータ調整部と、
前記パラメータ調整部で調整された前記パラメータを前記情報処理装置に送信し、当該パラメータに基づく前記機械学習を前記情報処理装置に実行させるパラメータ送信部と、
前記情報処理装置の各々から前記機械学習の状態を示した状態情報を受信する状態情報受信部と、
前記状態情報受信部が受信した前記状態情報に基づいて、前記情報処理装置の各々での前記機械学習の状態を比較可能に表した画面を表示させる表示制御部と、
を備え
、
前記状態情報は、前記情報処理装置が前記機械学習に用いた前記医用データのデータ数を含み、
前記表示制御部は、前記医用データのデータ数の合計値のうち、前記情報処理装置の各々が前記機械学習に用いた前記医用データのデータ数が占める割合を比較可能に表示させる医用情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、医用情報処理装置及び医用情報処理システムに関する。
【背景技術】
【0002】
近年、AI(機械学習)技術が多様なシステムに用いられるようになってきており、医療業界への適用も盛んになってきている。例えば、特定の症例であれば、読影医よりも高速、高精度に異常個所を検出することができるモデル(学習済モデル)が知られている。
【0003】
モデルの作成には、大量のデータを収集して機械学習に使用する必要があるが、そのような大量の医用データを一つの医療機関で収集するのは困難である。そこで、複数の医療機関の医用データを一箇所に集約して学習済モデルを作成する方法が考えられるが、医用データは患者の個人情報を含むため、外部に持ち出すにはセキュリティ上の問題がある。また、医用データは医療機関固有の資産でもあるため、外部に持ち出すことができない可能性もある。
【0004】
また、従来、通信可能に接続された複数のワーカを用いることで分散型の機械学習を並列で行う技術が提案されている。かかる技術では、学習に用いるパラメータを送受信することで、各ワーカが学習に用いるデータを外部に出さずに、個々のワーカでモデルを作成することができる。
【0005】
しかしながら、上述した従来の技術では、機械学習を開始するにあたり、各ワーカの実行環境やパラメータ等を同様の状態にチューニングする必要があるため、準備が煩雑であるという問題がある。また、医療機関への適用も想定されておらず、更なる改善の余地がある。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、複数の医療機関が保持する医用データを用いた機械学習を効率的に行うことができるようにすることである。
【課題を解決するための手段】
【0008】
実施形態に係る医用情報処理装置は、複数の医療機関の各々に設けられた情報処理装置と通信可能な医用情報処理装置であって、配信部と、変化量受信部と、パラメータ調整部と、パラメータ送信部と、状態情報受信部と、表示制御部とを備える。配信部は、前記情報処理装置の各々に対し、当該情報処理装置の前記医療機関が保持する医用データを用いた機械学習を実行させるためのプログラムを配信する。変化量受信部は、前記機械学習の実行に伴い変化した当該機械学習に係るパラメータの変化量を前記情報処理装置の各々から受信する。パラメータ調整部は、前記変化量受信部が受信した変化量に基づいて前記パラメータの値を調整する。パラメータ送信部は、前記パラメータ調整部で調整された前記パラメータを前記情報処理装置に送信し、当該パラメータに基づく前記機械学習を前記情報処理装置に実行させる。状態情報受信部は、前記情報処理装置の各々から前記機械学習の状態を示した状態情報を受信する。表示制御部は、前記状態情報受信部が受信した前記状態情報に基づいて、前記情報処理装置の各々での前記機械学習の状態を比較可能に表した画面を表示させる。また、状態情報は、前記情報処理装置が前記機械学習に用いた前記医用データのデータ数を含み、表示制御部は、前記医用データのデータ数の合計値のうち、前記情報処理装置の各々が前記機械学習に用いた前記医用データのデータ数が占める割合を比較可能に表示させる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る医用情報処理システムの構成の一例を示す図である。
【
図2】
図2は、実施形態に係る全体制御サーバの構成の一例を示す図である。
【
図3】
図3は、実施形態に係る学習サーバの構成の一例を示す図である。
【
図4】
図4は、実施形態に係る全体制御サーバ及び学習サーバの機械学習に係る動作を説明するための図である。
【
図5】
図5は、実施形態の表示制御機能によって表示される状態画面の一例を示す図である。
【
図6】
図6は、実施形態に係る補正機能の動作を説明するための図である。
【
図7】
図7は、実施形態の表示制御機能によって表示される状態画面の他の例を示す図である。
【
図8】
図8は、実施形態の全体制御サーバ及び学習サーバが実行する学習用プログラムの配布に係る処理の一例を示すフローチャートである。
【
図9】
図9は、実施形態の全体制御サーバ及び学習サーバが実行する機械学習に係る処理の一例を示すフローチャートである。
【
図10】
図10は、実施形態の全体制御サーバ及び学習サーバが実行する機械学習の状態表示及びデータ数の補正に係る処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、医用情報処理装置及び医用情報処理方法の実施形態について説明する。
【0011】
図1は、本実施形態に係る医用情報処理システムの構成の一例を示す図である。
図1に示すように、医用情報処理システム1は、全体制御サーバ10と、複数の医療機関システム20(20a~20c)とを有する。全体制御サーバ10と医療機関システム20とは、例えばイントラネットや専用回線等のネットワークN1を介して通信可能に接続される。なお、ネットワークN1に接続される医療機関システム20の個数は特に問わないものとする。
【0012】
全体制御サーバ10は、医用情報処理装置の一例である。全体制御サーバ10は、ネットワークN1を介して、医療機関システム20の各々が有する学習サーバ22と通信可能に接続される。全体制御サーバ10は、学習サーバ22の各々を用いた分散型の機械学習(以下、分散機械学習ともいう)を一元的に管理する。例えば、全体制御サーバ10は、ワークステーションやサーバ装置等のコンピュータ機器によって実現される。また、全体制御サーバ10は、クラウドコンピューティングを利用した、複数のコンピュータ機器(クラウド)で実現されてもよい。
【0013】
医療機関システム20は、病院等の医療機関が備えるシステムである。
図1に示す例では、医療機関システム20aは、病院Aの医療機関システムであり、医療機関システム20bは、病院Bの医療機関システムであり、医療機関システム20cは、病院Cの医療機関システムである。
【0014】
医療機関システム20は、データ管理装置21と、学習サーバ22とを有する。データ管理装置21と学習サーバ22とは、LAN(Local Area Network)等のネットワークN2を介して通信可能に接続される。また、学習サーバ22は、ルータ等のネットワーク機器を介して、ネットワークN1に接続される。
【0015】
データ管理装置21は、例えば、PACS(Picture Archiving and Communication System)であり、自己の医療機関で取得された医用データを記憶し、管理する。例えば、データ管理装置21は、CT(Computerized Tomography)やMRI(Magnetic Resonance Imaging)等のモダリティで撮影(撮像)された各患者の画像データを医用データとして記憶する。また、データ管理装置21は、各患者の身体情報(年齢、性別、体重等)や電子カルテ、診療記録等を医用データとして記憶する。なお、データ管理装置21は、同一の患者に係る医用データを、当該患者を識別する識別子と対応付けて管理する。
【0016】
学習サーバ22は、情報処理装置の一例である。学習サーバ22は、全体制御サーバ10の制御の下、データ管理装置21に記憶された医用データを用いて機械学習を行うことで、医師の診断支援等に係るモデル(学習済モデル)を作成する。例えば、学習サーバ22は、ワークステーションやサーバ装置等のコンピュータ機器によって実現される。
【0017】
次に、全体制御サーバ10の構成について説明する。
図2は、全体制御サーバ10の構成の一例を示す図である。
図2に示すように。全体制御サーバ10は、通信インタフェース110と、記憶回路120と、入力インタフェース130と、ディスプレイ140と、処理回路150とを備える。
【0018】
通信インタフェース110は、処理回路150に接続されており、ネットワークN1に接続された学習サーバ22の各々との間で行われる各種データの伝送及び通信を制御する。例えば、通信インタフェース110は、ネットワークカードやネットワークアダプタ、NIC(Network Interface Controller)等によって実現される。
【0019】
記憶回路120は、処理回路150に接続されており、各種データを記憶する。例えば、記憶回路120は、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子や、ハードディスク、光ディスク等によって実現される。なお、記憶回路120は、記憶部の実現手段の一例である。
【0020】
具体的には、記憶回路120は、全体制御サーバ10のOS(Operating System)の他、各種のプログラムや設定情報を記憶する。また、記憶回路120は、学習サーバ22の各々に配布するための機械学習用の学習用プログラムD1を記憶する。
【0021】
学習用プログラムD1は、学習サーバ22の各々に機械学習を実行させるためのプログラムである。かかる学習用プログラムD1は、例えば、学習済モデルの原型となる原型モデル(以下、モデルともいう)や、分散型の機械学習を行うためのプログラム等を含む。原型モデルは、機械学習の対象となる特定の医用データ用に設計されたモデルであり、後述する重み係数W等のパラメータは初期値に設定されている。
【0022】
なお、原型モデルが機械学習の対象とする医用データは特に問わず、種々の医用データを対象とすることができる。例えば、原型モデルは、CT等で撮影された頭部の画像データと、当該画像データに対する医師の診断結果(電子カルテ等)とを学習用の医用データとし、これら医用データ間の関係を機械学習するモデルであってもよい。この場合、医師の診断結果は教師データとして入力される。
【0023】
また、学習用プログラムD1のデータ形態は特に問わないものとする。例えば、学習用プログラムD1は、学習サーバ22に導入(インストール)することで実行可能となるアプリケーションプログラムであってもよい。また、学習用プログラムD1は、学習サーバ22のOS上で仮想マシンとして動作させることが可能なハイパーバイザ型のイメージデータであってもよい。また、学習用プログラムD1は、学習サーバ22のカーネルを共有し、コンテナと呼ばれる単位で処理を実行させることが可能なDocker(登録商標)等のイメージデータであってもよい。
【0024】
入力インタフェース130は、処理回路150に接続されており、操作者から各種指示及び各種情報の入力操作を受け付ける。具体的には、入力インタフェース130は、操作者から受け付けた入力操作を電気信号へ変換して処理回路150に出力する。例えば、入力インタフェース130は、トラックボール、スイッチボタン、マウス、キーボード、操作面へ触れることで入力操作を行うタッチパッド、表示画面とタッチパッドとが一体化されたタッチスクリーン、光学センサを用いた非接触入力回路、及び音声入力回路等によって実現される。なお、入力インタフェース130は、マウス、キーボード等の物理的な操作部品を備えるものだけに限られない。例えば、装置とは別体に設けられた外部の入力機器から入力操作に対応する電気信号を受け取り、この電気信号を制御回路へ出力する電気信号の処理回路も入力インタフェース130の例に含まれる。
【0025】
ディスプレイ140は、処理回路150に接続されており、各種情報及び各種画像を表示する。具体的には、ディスプレイ140は、処理回路150から送られる各種情報及び各種画像のデータを表示用の電気信号に変換して出力する。例えば、ディスプレイ140は、液晶モニタやCRT(Cathode Ray Tube)モニタ、タッチパネル等によって実現される。
【0026】
処理回路150は、全体制御サーバ10の動作を統括的に制御する。具体的には、処理回路150は、通信インタフェース110から出力される医用データを記憶回路120に記憶させる。また、処理回路150は、記憶回路120から医用データを読み出し、ディスプレイ140に表示する。例えば、処理回路150は、プロセッサによって実現される。
【0027】
また、全体制御サーバ10は、配布機能151と、変化量受信機能152と、パラメータ調整機能153と、パラメータ送信機能154と、状態情報受信機能155と、表示制御機能156と、補正機能157とを有する。
【0028】
全体制御サーバ10においては、各機能がコンピュータによって実行可能なプログラムの形態で記憶回路120に記憶されている。処理回路150は、記憶回路120からプログラムを読み出して実行することで各プログラムに対応する機能を実現するプロセッサである。換言すると、プログラムを読み出した状態の処理回路150は、読み出したプログラムに対応する機能を有することとなる。
【0029】
なお、
図2では単一の処理回路150にて、配布機能151、変化量受信機能152、パラメータ調整機能153、パラメータ送信機能154、状態情報受信機能155、表示制御機能156、及び補正機能157が実現するものとして説明したが、複数の独立したプロセッサを組み合わせて処理回路150を構成し、各プロセッサがプログラムを実行することにより機能を実現するものとしても構わない。また、処理回路150が有する各処理機能は、単一又は複数の処理回路に適宜に分散又は統合されて実現されてもよい。
【0030】
配布機能151は、通信インタフェース110を介して、記憶回路120に記憶された学習用プログラムD1を、学習サーバ22の各々に配布(送信)する。ここで、学習サーバ22の各々には、同一の学習用プログラムD1が配布される。学習用プログラムD1の配布を受け付けた学習サーバ22では、学習用プログラムD1が導入(インストール、デプロイ等)されることで、機械学習を実行可能な実行環境が実現される。つまり、学習サーバ22の各々には、同一の実行環境が実現される。
【0031】
なお、学習用プログラムD1を配布するタイミングや配布方法は特に問わないものとする。例えば、配布機能151は、学習サーバ22の各々に対し、学習用プログラムD1を一方的に配布する構成としてもよいし、学習サーバ22からの要求に応じて学習用プログラムD1を配布する構成としてもよい。
【0032】
変化量受信機能152は、通信インタフェース110を介して、学習サーバ22の各々から送信される変化量を受信する。ここで、変化量は、機械学習の実行に伴い変化した機械学習に係るパラメータの変化量を示す。例えばディープラーニングやニューラルネットワークでは、パラメータは重み係数Wに対応し、変化量は重み係数Wの変化量ΔWに対応する。以下では、パラメータを「重み係数W」、変化量を「変化量ΔW」として説明する。
【0033】
パラメータ調整機能153は、変化量受信機能152が受信した変化量ΔWに基づき、前回の重み係数Wを調整することで、新たな重み係数Wを決定する。ここで、重み係数Wの調整方法は特に問わず、公知の方法を用いることが可能である。一例としては、前回の重み係数Wから、変化量ΔWと学習係数と乗算結果を減算した値を、新たな重み係数Wとして決定してもよい。かかる学習係数は、固定値であってもよいし、機械学習の回数に応じて変化するような動的な値であってもよい。また、他の例としては、前回の重み係数Wから、学習サーバ22の各々から得られた変化量ΔWの平均値や重み付き平均値を減算した値を、新たな重み係数Wとして決定してもよい。
【0034】
パラメータ送信機能154は、通信インタフェース110を介して、パラメータ調整機能153によって決定された新たな重み係数Wを学習サーバ22に送信する。なお、重み係数Wの送信は、学習サーバ22の各々に対して個別に行われるものとする。
【0035】
状態情報受信機能155は、通信インタフェース110を介して、学習サーバ22の各々から送信される機械学習の状態を示す情報(以下、状態情報)を受信する。表示制御機能156は、状態情報受信機能155が受信した状態情報に基づき、学習サーバ22の各々で行われている機械学習の状態をディスプレイ140に表示させる。また、補正機能157は、入力インタフェース130を介した入力操作に応じて、機械学習に係る条件を補正(変更)するための処理を実行する。なお、表示制御機能156及び補正機能157の動作については後述する。
【0036】
次に、学習サーバ22の構成について説明する。
図3は、学習サーバ22の構成の一例を示す図である。
図3に示すように、学習サーバ22は、通信インタフェース221と、記憶回路222と、処理回路223とを備える。
【0037】
通信インタフェース221は、処理回路223に接続されており、ネットワークN1に接続された全体制御サーバ10との間で行われる各種データの伝送及び通信を制御する。また、通信インタフェース221は、ネットワークN2に接続されたデータ管理装置21との間で行われる各種データの伝送及び通信を制御する。例えば、通信インタフェース221は、ネットワークカードやネットワークアダプタ、NIC等によって実現される。
【0038】
記憶回路222は、処理回路223に接続されており、各種データを記憶する。例えば、記憶回路222は、RAM、フラッシュメモリ等の半導体メモリ素子や、ハードディスク、光ディスク等によって実現される。なお、記憶回路222は、記憶部の実現手段の一例である。
【0039】
具体的には、記憶回路222は、学習サーバ22のOSの他、各種のプログラムや設定情報を記憶する。また、記憶回路222は、全体制御サーバ10から配布される学習用プログラムD1を記憶する。
【0040】
処理回路223は、学習サーバ22の動作を統括的に制御する。例えば、処理回路223は、プロセッサによって実現される。
【0041】
また、学習サーバ22は、導入機能2231と、パラメータ受信機能2232と、変化量算出機能2233と、変化量送信機能2234と、状態情報送信機能2235とを有する。
【0042】
学習サーバ22においては、各機能がコンピュータによって実行可能なプログラムの形態で記憶回路222に記憶されている。処理回路223は、記憶回路222からプログラムを読み出して実行することで各プログラムに対応する機能を実現するプロセッサである。換言すると、プログラムを読み出した状態の処理回路223は、読み出したプログラムに対応する機能を有することとなる。例えば、上述した機能のうち、パラメータ受信機能2232、変化量算出機能2233、変化量送信機能2234、及び状態情報送信機能2235は、学習用プログラムD1により実現される。つまり、学習サーバ22の各々は、全体制御サーバ10から提供される学習用プログラムD1によって、同一の機能を備えることとなる。
【0043】
なお、
図3では単一の処理回路223にて、導入機能2231、パラメータ受信機能2232、変化量算出機能2233、変化量送信機能2234、状態情報送信機能2235が実現するものとして説明したが、複数の独立したプロセッサを組み合わせて処理回路223を構成し、各プロセッサがプログラムを実行することにより機能を実現するものとしても構わない。また、処理回路223が有する各処理機能は、単一又は複数の処理回路に適宜に分散又は統合されて実現されてもよい。
【0044】
導入機能2231は、通信インタフェース221を介して、全体制御サーバ10から配布された学習用プログラムD1を受信する。また、導入機能2231は、受信した学習用プログラムD1を記憶回路222に記憶し、当該学習用プログラムD1を自装置に導入(インストール、デプロイ等)することで、機械学習を実行可能な環境を実現する。
【0045】
パラメータ受信機能2232は、通信インタフェース221を介して、全体制御サーバ10から送信される重み係数Wを受信する。変化量算出機能2233は、パラメータ受信機能2232が受信した重み係数Wに基づき、自己の医療機関システム20のデータ管理装置21が管理する医用データを用いた機械学習を行うことで、重み係数Wの変化量ΔWを算出する。変化量送信機能2234は、通信インタフェース221を介して、変化量算出機能2233が算出した変化量ΔWを全体制御サーバ10に送信する。
【0046】
なお、変化量ΔWの算出方法は特に問わず、公知の方法を用いてもよい。例えば、確率的勾配降下法、誤差逆伝搬法、準ニュートン法、遺伝的アルゴリズム等を用いて変化量ΔWを算出してもよい。また、変化量算出機能2233が、変化量ΔWを送信するタイミングは特に問わないものとする。例えば、変化量送信機能2234は、変化量算出機能2233が100個の医用データを機械学習する度に、変化量ΔWを送信する構成としてもよい。
【0047】
状態情報送信機能2235は、通信インタフェース221を介して、変化量算出機能2233が実行する機械学習の状態を示した状態情報を全体制御サーバ10に送信する。ここで、状態情報の内容は特に問わず、種々の情報を含めることができる。
【0048】
例えば、状態情報送信機能2235は、機械学習に用いた医用データのデータ数を集計した結果を状態情報に含めてもよい。また、状態情報送信機能2235は、機械学習に用いた医用データのデータ数を、当該医用データに係る患者の属性毎に集計した結果を状態情報に含めてもよい。なお、患者の属性は、例えば、性別や年齢(年齢層)、体重等を意味し、個人を特定可能な情報は含まないものとする。
【0049】
また、例えば、状態情報送信機能2235は、モデル(原型モデル)の評価値を状態情報に含めてもよい。ここで、評価値は、作成中のモデルを学習済モデルとしてデプロイすることで得られた、当該学習済モデルの評価値を意味する。より具体的には、評価値は、デプロイした学習済モデルに学習用の医用データ(例えば、画像データ)を入力することで得られた推論結果が、教師テータの診断結果と一致する正解率等を意味する。
【0050】
評価値を算出する主体や算出のタイミングは特に問わず、機械学習の一工程として評価値が算出される構成としてもよい。例えば、変化量算出機能2233が、100個のサンプルを機械学習する度に、その段階のモデルを学習済モデルとして一時的にデプロイすることで、当該学習済モデルの評価値を算出する構成としてもよい。この場合、評価値の算出に用いる医用データは、機械学習済の医用データであってもよいし、機械学習に使用していない医用データであってもよい。
【0051】
また、状態情報送信機能2235が、状態情報を送信するタイミングや送信方法も特に問わないものとする。例えば、状態情報送信機能2235は、変化量送信機能2234が変化量ΔWを送信するタイミングにあわせて状態情報を送信してもよい。また、状態情報送信機能2235は、全体制御サーバ10からの要求に応じて状態情報を送信してもよい。
【0052】
次に、
図4を参照し、全体制御サーバ10及び学習サーバ22の機械学習に係る動作について説明する。ここで、
図4は、全体制御サーバ10及び学習サーバ22の機械学習に係る動作を説明するための図である。
【0053】
まず、学習用プログラムD1により機械学習の実行環境が実現された学習サーバ22の各々では、データ管理装置21が管理する医用データD2を用いることで機械学習が実行される。
【0054】
具体的には、学習サーバ22の各々では、パラメータ受信機能2232が全体制御サーバ10から送信される重み係数Wを受信する。変化量算出機能2233は、重み係数Wに基づき、データ管理装置21から読み出した医用データD2をモデルに適用することで機械学習を実行する。また、変化量算出機能2233は、機械学習の実行により変化した重み係数Wの変化量ΔWを算出する。そして、算出された変化量ΔWは、変化量送信機能2234により全体制御サーバ10へと送信される。
【0055】
一方、全体制御サーバ10では、学習サーバ22から送信された変化量ΔWが変化量受信機能152によって受信されると、パラメータ調整機能153は、その変化量ΔWに基づき新たな重み係数Wを決定する。パラメータ送信機能154は、パラメータ調整機能153が決定した重み係数Wを、変化量ΔWの送信元の学習サーバ22へと送信する。
【0056】
全体制御サーバ10及び学習サーバ22は、上述の処理を繰り返し行うことで、学習サーバ22の各々において機械学習が個別に進行される。そして、パラメータ調整機能153は、学習が完了したと判断した際に、例えば、学習サーバ22の各々が所持する重み係数Wの平均値や、重み付き平均値を最終的な学習結果として決定する。ここで決定された学習結果(重み係数W)は、学習サーバ22の各々で作成された学習済モデルに共通のパラメータとなる。つまり、医用情報処理システム1では、上述の処理を繰り返し行うことで、各病院が管理する医用データD2を外部に持ち出すことなく、当該医用データD2を統合した機械学習を行うことができる。
【0057】
なお、学習完了の判断方法は特に問わず、任意に設定することが可能であるとする。例えば、学習サーバ22の各々で機械学習に用いられた医用データのデータ総数が所定の閾値に達したことを条件に、学習完了と判断してもよい。また、例えば、入力インタフェース130を介して入力される学習完了を指示する操作をトリガとしてもよい。
【0058】
ところで、上述した医用情報処理システム1では、機械学習に用いる医用データD2は、各病院が独自に採取したものであるため、医用データD2のデータ数や医用データD2に係る患者の属性が病院間で異なる可能性がある。
【0059】
例えば、特定の病院の医用データD2のデータ数が、他の病院の医用データD2のデータ数に比べて多いような場合、特定の病院の学習結果が支配的となり、当該病院に最適化された学習結果が導出される可能性がある。また、例えば、特定の年齢層の患者に係る医用データD2のデータ数が、他の年齢層の患者に係る医用データD2のデータ数と比べて多いような場合、特定の年齢層の患者に係る学習結果が支配的となり、その年齢層の患者に最適化された学習結果が導出される可能性がある。
【0060】
そこで、全体制御サーバ10では、上述した表示制御機能156により、各病院(学習サーバ22)の学習状態を比較可能に表示させる。また、全体制御サーバ10では、上述した補正機能157により、データ数の偏りを補正することが可能な環境を提供する。以下、表示制御機能156及び補正機能157の動作について説明する。
【0061】
表示制御機能156は、状態情報受信機能155が受信した学習サーバ22の各々の状態情報に基づき、例えば
図5に示す状態画面をディスプレイ140に表示させる。
【0062】
ここで、
図5は、表示制御機能156によって表示される状態画面の一例を示す図である。
図5に示すように、状態画面G1は、画面左の第1の表示領域G11と、画面右の第2の表示領域G12とを有する。第1の表示領域G11には、各病院での学習の状態を示す基本情報G11aが表示される。例えば、
図5では、基本情報G11aとして、全データ数の合計値のうち、各病院のデータ数が占める割合(データ数)を評価値とともに表示した例を示している。これにより、全体制御サーバ10のオペレータは、第1の表示領域G11を見ることで、各病院の学習サーバ22がどのような学習状態にあるのかを容易に確認することができる。
【0063】
また、第2の表示領域G12には、各病院での機械学習に用いられた医用データの内訳が、患者の属性毎に表示される。具体的には、第2の表示領域G12は、患者の属性を設定するための設定領域G12aを有する。設定領域G12aでは、操作子G12bを操作することで、任意の属性を選択することが可能となっている。
図5の例では、患者の属性として年齢が選択(設定)された例を示している。
【0064】
表示制御機能156は、各病院で使用された医用データのデータ数の合計値のうち、各病院のデータ数が占める割合を、設定領域G12aに設定された属性の単位で表示させる。例えば、設定領域G12aに年齢が設定された場合、各病院で使用された医用データのデータ数の合計値のうち、各病院のデータ数が占める割合を、年齢層別に示したグラフG12cを表示させる。
【0065】
図5では、10年単位の年齢層毎に、各病院のデータ数が占める割合を棒グラフ(積み上げ棒グラフ)形式で表した例を示している。なお、棒グラフ内の小領域に示したハッチングは、第1の表示領域G11に表示され各病院のハッチングに対応している。また、棒グラフ内の小領域の大きさは、対応する病院のデータ数が占める割合を意味する。これにより、全体制御サーバ10のオペレータは、第2の表示領域G12(グラフG12c)を見ることで、各病院での機械学習に用いられた医用データの内訳を容易に確認することができる。
【0066】
ところで、
図5の例では、第1の表示領域G11に表示された内容から、病院Aのデータ数が占める割合が、他の病院B、Cと比較して大きいことが分かる。また、例えば、第2の表示領域G12に表示された内容から、病院Aのデータ数が特定の年齢層で偏りがあることが分かる。上述したように、このようなデータ数の偏りから、病院Aの環境や特定の年齢層に最適化されたモデルが作成される可能がある。
【0067】
このような場合、全体制御サーバ10では、補正機能157により、データ数の偏りを補正することが可能となっている。補正機能157は、入力インタフェース130を介した操作に応じて、学習に使用する医用データのデータ数を補正するための処理を実行する。
【0068】
例えば、特定の年齢層の棒グラフに含まれた特定の病院の割合を縮小する操作(
図5の操作A1、A2等)が行われた後、第2の表示領域G12に設けられた補正ボタンB1が操作されると、補正機能157は、データ数の変更が指示されたと判断する。この場合、補正機能157は、操作の対象となった特定の病院で機械学習に使用される医用データのデータ数を、縮小操作後の割合に応じたデータ数に縮小させるための処理を実行する。
【0069】
具体的には、補正機能157は、操作の対象となった病院の学習サーバ22に対し、機械学習に使用する医用データのデータ数を、縮小操作後の割合に応じたデータ数に制限する指示情報を送信する。例えば、
図5の例では、病院Aの学習サーバ22に対し、年齢層が50代及び60代に係る医用データのデータ数を、縮小操作後の割合に応じたデータ数に縮小する指示情報を送信する。
【0070】
指示情報を受け取った学習サーバ22の変化量算出機能2233は、データ管理装置21から読み出す医用データのデータ数を、指示情報で指示されたデータ数に制限した機械学習を実行する。この場合、変化量算出機能2233は、指示情報に応じて、初期状態のモデル(原型モデル)を用いて、最初の医用データから機械学習を再実行する構成としてもよいし、機械学習が進んだモデルを用いて、最初の医用データから機械学習を再実行する構成としてもよい。
【0071】
また、グラフG12cを介した割合の変更操作、つまりデータ数の変更操作は縮小方向に限らず、拡大方向であってもよい。この場合、補正機能157は、操作の対象となった病院の学習サーバ22に対し、学習に使用する医用データのデータ数を、拡大操作後の割合に応じたデータ数に拡大するための処理を実行する。
【0072】
具体的には、補正機能157は、操作の対象となった病院の学習サーバ22に対し、学習に使用する医用データのデータ数を、拡大操作後の割合に応じたデータ数まで拡大することを指示した指示情報を送信する。指示情報を受け取った学習サーバ22の変化量算出機能2233は、データ管理装置21から読み出す医用データのデータ数を、指示情報で指示されたデータ数まで拡大して学習を実行する。この場合、変化量算出機能2233は、学習が進んだモデルを用いて、引き続き学習を行えばよい。
【0073】
なお、データ数を拡大する場合、対象となった病院が保持する医用データのデータ数が、拡大操作後のデータ数に満たない場合がある。この場合、例えば、補正機能157は、何れの病院にも属さない匿名化されたサンプルデータを、不足したデータ数分読み出し、対象となる病院の学習サーバ22に提供する形態としてもよい。ここで、サンプルデータは、各病院で学習用に使用する医用データと同様のデータ構成を有し、患者の属性に対応付けて、記憶回路120等の記憶装置に複数記憶(用意)される。
【0074】
サンプルデータを受け取った学習サーバ22では、例えば導入機能2231が、当該サンプルデータをデータ管理装置21に記憶する。これにより、学習サーバ22では、データ管理装置21に記憶されたサンプルデータを、既存の医用データと同様に学習に使用することができる。
【0075】
図6は、補正機能157の動作を説明するための図であり、データ数を拡大する場合の動作例を示している。医療機関システム20a~20cの各々に設けられたデータ管理装置21は、自病院で採取された学習用の医用データD2を記憶する。
図6では、医療機関システム20aのデータ管理装置21は、医用データD2を4個記憶し、医療機関システム20bのデータ管理装置21は、医用データD2を2個記憶し、医療機関システム20cのデータ管理装置21は、医用データD2を1個記憶した例を示している。
【0076】
ここで、例えば、全体制御サーバ10において、医療機関システム20b、20cのデータ数を「4」に拡大する操作が行われたとする。この場合、補正機能157は、医療機関システム20bについて、不足している2個分のサンプルデータを記憶回路120等からら読み出し、学習サーバ22を介してデータ管理装置21に保存させる。また、補正機能157は、医療機関システム20cについて、不足している3個分のサンプルデータを記憶回路120等から読み出し、学習サーバ22を介してデータ管理装置21に保存させる。
図6では、サンプルデータを、破線で示した医用データD2aで表している。
【0077】
これにより、例えば、病院間で医用データのデータ数に偏りが生じている場合であっても、補正機能157によるデータ数の補正(変更処理)により、病院間で実行される学習に係る条件を平均化することができる。なお、医療機関システム20b、20cに供給するサンプルデータは、重複するものが含まれてもよいし、互いに相違させてもよい。
【0078】
また、表示制御機能156は、補正機能157によるデータ数の変更後、学習サーバ22の各々から送信される状態情報に基づき、変更前後の学習状態を対比することが可能な状態で状態画面に表示させる。
【0079】
図7は、表示制御機能156によって表示される状態画面の他の例を示す図である。かかる
図7では、補正機能157によるデータ数の変更後の状態情報に基づき表示された状態画面G1を示している。
【0080】
ここで、第1の表示領域G11には、変更前の基本情報G11aとともに、変更後の基本情報G11bが表示される。また、第2の表示領域G12には、各病院で学習に使用された変更後の医用データの内訳が表示される。これにより、全体制御サーバ10のオペレータは、第1の表示領域G11に表示された基本情報G11aと基本情報G11bとを比較することで、データ数の変更前後で学習状態にどのような変化があったのかを容易に確認することができる。また、全体制御サーバ10のオペレータは、第2の表示領域G12(グラフG12c)を見ることで、各病院での機械学習に使用された変更後の医用データの内訳を容易に確認することができる。
【0081】
なお、状態画面G1の表示形態は、
図5又は
図7に限定されないものとする。例えば、第1の表示領域G11と、第2の表示領域G12とを異なる画面に表示させる形態としてもよい。また、グラフG12cは、棒グラフに限らず、他のグラフ形式で表示させてもよい。
【0082】
以下、
図8~
図10を参照して、上述した全体制御サーバ10及び学習サーバ22の動作例について説明する。
【0083】
図8は、全体制御サーバ10及び学習サーバ22が実行する学習用プログラムの配布に係る処理の一例を示すフローチャートである。まず、全体制御サーバ10の配布機能151は、記憶回路120に記憶された学習用プログラムD1を、ネットワークN1に接続された学習サーバ22の各々に配布する(ステップS11)。
【0084】
一方、学習サーバ22の導入機能2231は、全体制御サーバ10から配布された学習用プログラムD1を受信すると(ステップS21)、記憶回路222に記憶させる。そして、導入機能2231は、学習用プログラムD1を自装置に導入することで(ステップS22)、機械学習を実行可能な環境を実現する。
【0085】
図9は、全体制御サーバ10及び学習サーバ22が実行する機械学習に係る処理の一例を示すフローチャートである。まず、全体制御サーバ10の変化量受信機能152は、学習サーバ22から変化量ΔWを受信する(ステップS31)。パラメータ調整機能153は、ステップS31で受信された変化量ΔWに基づき、新たな重み係数Wを決定する(ステップS32)。次いで、パラメータ送信機能154は、ステップS32で決定された重み係数Wを、送信元の学習サーバ22に送信する(ステップS33)。
【0086】
一方、学習サーバ22では、パラメータ受信機能2232が、全体制御サーバ10から送信された重み係数Wを受信する(ステップS41)。変化量算出機能2233は、ステップS41で受信された重み係数Wに基づき、学習用の医用データを用いて機械学習を行うことで、変化量ΔWを算出する(ステップS42)。次いで、変化量送信機能2234は、ステップS42で算出された変化量ΔWを全体制御サーバ10に送信する(ステップS43)。
【0087】
そして、ステップS31~S33及びステップS41~S43の処理が繰り返し実行されることで、学習サーバ22の各々において機械学習が個別に進行する。
【0088】
図10は、全体制御サーバ10及び学習サーバ22が実行する分散機械学習の状態表示及び学習条件の補正に係る処理の一例を示すフローチャートである。なお、本処理では、全体制御サーバ10からの要求に応じて学習サーバ22が状態情報を送信する形態について説明する。
【0089】
まず、全体制御サーバ10の状態情報受信機能155は、入力インタフェース130を介して所定の操作(例えば、状態画面の表示を指示する操作)が行われると、学習サーバ22の各々に対して、状態情報の送信を要求する(ステップS51)。
【0090】
学習サーバ22の各々では、状態情報送信機能2235が状態情報の送信要求を受け付けると(ステップS61)、自己の学習サーバ22での学習状態を示した状態情報を、全体制御サーバ10に送信する(ステップS62)。
【0091】
全体制御サーバ10の状態情報受信機能155は、学習サーバ22の各々から送信された状態情報を受信する(ステップS52)。次いで、表示制御機能156は、ステップS52で受信された状態情報に基づき、状態画面をディスプレイ140に表示させる(ステップS53)。
【0092】
続いて、補正機能157は、入力インタフェース130を介し、学習条件(データ数)の変更を指示する操作を受け付けたか否かを判定する(ステップS54)。ここで、変更指示を受け付けない場合には(ステップS54;No)、本処理を終了する。また、変更指示を受け付けた場合には(ステップS54;Yes)、補正機能157は、その指示内容に応じた指示情報を、変更対象の学習サーバ22に送信する(ステップS55)。
【0093】
学習サーバ22では、変化量算出機能2233が、全体制御サーバ10から送信された指示情報を受信すると(ステップS63)、指示情報の内容に応じて、機械学習の対象とする医用データのデータ数を変更し(ステップS64)、本処理を終了する。
【0094】
上述したように、本実施形態の医用情報処理システム1では、全体制御サーバ10が各病院に設けられた学習サーバ22の各々に対し学習用プログラムD1を配布することで、機械学習を実行可能な環境を学習サーバ22の各々に実現する。これにより、全体制御サーバ10は、学習サーバ22毎に実行環境やパラメータのチューニングを行うことなく、学習サーバ22の各々で同様の実行環境を実現させることができる。したがって、医用情報処理システム1は、複数の医療機関が保持する医用データを用いた機械学習を効率的に行うことができる。
【0095】
また、医用情報処理システム1では、全体制御サーバ10と学習サーバ22とが、パラメータ(重み係数W)と当該パラメータの変化量(変化量ΔW)とを授受するこことで、学習サーバ22の各々で個別に機械学習を進行させることができる。これにより、医用情報処理システム1では、各病院が管理する医用データを外部に持ち出すことなく、当該医用データを統合した機械学習を効率的に行うことができる。
【0096】
また、全体制御サーバ10は、学習サーバ22の各々から状態情報を収集し、当該状態情報に基づいて、学習サーバ22の各々の学習状態を比較可能な状態で表示させる。これにより、全体制御サーバ10は、各病院での機械学習の比較を容易にすることができる。また、全体制御サーバ10は、入力インタフェース130を介した操作に応じて、学習サーバ22の各々が機械学習の対象とする医用データのデータ数を補正する。これにより、全体制御サーバ10は、例えば、特定の病院で行われている機械学習にデータ数の偏りがある場合、他の病院と同じ条件となるよう機械学習に用いるデータ数を変更することができるため、各病院で使用可能な汎用的なモデルを作成することができる。
【0097】
なお、上述した実施形態では、全体制御サーバ10及び学習サーバ22が備える機能構成を、処理回路150又は処理回路223によって実現する場合の例を説明したが、実施形態はこれに限られない。例えば、本明細書における機能構成は、ハードウェアのみ、又は、ハードウェアとソフトウェアとの混合によって同機能を実現するものであっても構わない。
【0098】
また、上述した説明で用いた「プロセッサ」という文言は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、或いは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等の回路を意味する。プロセッサは、記憶回路120に保存されたプログラムを読み出して実行することで、機能を実現する。なお、記憶回路120にプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むように構成しても構わない。この場合は、プロセッサは回路内に組み込まれたプログラムを読み出して実行することで機能を実現する。また、本実施形態のプロセッサは、単一の回路として構成される場合に限らず、複数の独立した回路を組み合わせて一つのプロセッサとして構成され、その機能を実現するようにしてもよい。
【0099】
ここで、プロセッサによって実行されるプログラムは、ROM(Read Only Memory)や記憶回路等に予め組み込まれて提供される。なお、このプログラムは、これらの装置にインストール可能な形式又は実行可能な形式のファイルでCD(Compact Disk)-ROM、FD(Flexible Disk)、CD-R(Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記録されて提供されてもよい。また、このプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードされることにより提供又は配布されてもよい。例えば、このプログラムは、上述した各機能部を含むモジュールで構成される。実際のハードウェアとしては、CPUが、ROM等の記憶媒体からプログラムを読み出して実行することにより、各モジュールが主記憶装置上にロードされて、主記憶装置上に生成される。
【0100】
以上説明した実施形態によれば、複数の医療機関が保持する医用データを用いた機械学習を効率的に行うことができる。
【0101】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0102】
1 医用情報処理システム
10 全体制御サーバ
20 医療機関システム
21 データ管理装置
22 学習サーバ
151 配布機能
152 変化量受信機能
153 パラメータ調整機能
154 パラメータ送信機能
155 学習状態受信機能
156 表示制御機能
157 補正機能
2231 導入機能
2232 パラメータ受信機能
2233 変化量算出機能
2234 変化量送信機能
2235 学習状態送信機能