(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024172810
(43)【公開日】2024-12-12
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241205BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023090791
(22)【出願日】2023-06-01
(71)【出願人】
【識別番号】594164542
【氏名又は名称】キヤノンメディカルシステムズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】有田 亘佑
(72)【発明者】
【氏名】山▲崎▼ 優大
(72)【発明者】
【氏名】佐々木 翔
(57)【要約】
【課題】ドリフト発生前に観測されるデータである非ドリフトデータから、ドリフト発生後に観測され得るデータであるドリフトデータを疑似的に生成しつつ、更に、非ドリフトデータの正解ラベルを決定づける情報を、疑似的なドリフトデータにも維持させることが可能な情報処理装置、情報処理方法、及びプログラムを提供すること。
【解決手段】実施形態の情報処理装置は、非ドリフトデータを取得し、前記非ドリフトデータから疑似ドリフトデータを生成し、第1機械学習モデルの推論結果に寄与した前記非ドリフトデータの一部を特定し、第2機械学習モデルの推論結果に寄与した前記疑似ドリフトデータの一部を特定し、特定された前記非ドリフトデータの一部と、特定された前記疑似ドリフトデータの一部との類似度に基づいて、前記非ドリフトデータと前記疑似ドリフトデータとの一貫性を判定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ドリフトの発生前に観測されるデータである非ドリフトデータを取得する取得部と、
前記非ドリフトデータから、前記ドリフトの発生後に観測され得るデータである疑似ドリフトデータを生成する生成部と、
前記非ドリフトデータが入力されたことに応じて第1推論結果を出力するように学習された第1機械学習モデルを用いて、前記第1推論結果に寄与した前記非ドリフトデータの少なくとも一部を特定する第1特定部と、
前記疑似ドリフトデータが入力されたことに応じて第2推論結果を出力するように学習された第2機械学習モデルを用いて、前記第2推論結果に寄与した前記疑似ドリフトデータの少なくとも一部を特定する第2特定部と、
特定された前記非ドリフトデータの少なくとも一部と、特定された前記疑似ドリフトデータの少なくとも一部との類似度に基づいて、前記非ドリフトデータと前記疑似ドリフトデータとの一貫性を判定する判定部と、
を備える情報処理装置。
【請求項2】
前記生成部は、前記非ドリフトデータを潜在変数にエンコードし、前記潜在変数を前記非ドリフトデータにデコードするように学習されたオートエンコーダを用いて、前記非ドリフトデータから、前記疑似ドリフトデータを生成する、
請求項1に記載の情報処理装置。
【請求項3】
潜在空間上において前記非ドリフトデータからエンコードされた前記潜在変数を移動させる機械学習部を更に備え、
前記生成部は、前記オートエンコーダを用いて、前記潜在空間上において移動された前記潜在変数をデコードして前記疑似ドリフトデータを生成する、
請求項2に記載の情報処理装置。
【請求項4】
前記機械学習部は、前記潜在空間上において前記潜在変数を移動させる距離及び向きを、前記類似度に基づいて決定する、
請求項3に記載の情報処理装置。
【請求項5】
前記機械学習部は、
前記潜在空間上に存在する複数の前記潜在変数のうち、前記非ドリフトデータからエンコードされた前記潜在変数である非ドリフトな潜在変数と、前記疑似ドリフトデータ及び前記ドリフトの発生後に観測されたデータであるドリフトデータの少なくとも一方からエンコードされた前記潜在変数であるドリフトな潜在変数とを分離するための境界を決定し、
前記境界への最短距離に基づいて、前記潜在空間上において前記潜在変数を移動させる距離を決定する、
請求項4に記載の情報処理装置。
【請求項6】
前記機械学習部は、前記ドリフトの発生後に観測されたデータであるドリフトデータからエンコードされた前記潜在変数であるドリフトな潜在変数までの距離に基づいて、前記潜在空間上において前記潜在変数を移動させる距離を決定する、
請求項4に記載の情報処理装置。
【請求項7】
前記機械学習部は、
前記潜在空間上に存在する複数の前記潜在変数のうち、前記非ドリフトデータからエンコードされた前記潜在変数である非ドリフトな潜在変数と、前記疑似ドリフトデータ及び前記ドリフトの発生後に観測されたデータであるドリフトデータの少なくとも一方からエンコードされた前記潜在変数であるドリフトな潜在変数とを分離するための境界を決定し、
前記境界に対する法線ベクトルに基づいて、前記潜在空間上において前記潜在変数を移動させる方向を決定する、
請求項4に記載の情報処理装置。
【請求項8】
コンピュータを用いた情報処理方法であって、
ドリフトの発生前に観測されるデータである非ドリフトデータを取得すること、
前記非ドリフトデータから、前記ドリフトの発生後に観測され得るデータである疑似ドリフトデータを生成すること、
前記非ドリフトデータが入力されたことに応じて第1推論結果を出力するように学習された第1機械学習モデルを用いて、前記第1推論結果に寄与した前記非ドリフトデータの少なくとも一部を特定すること、
前記疑似ドリフトデータが入力されたことに応じて第2推論結果を出力するように学習された第2機械学習モデルを用いて、前記第2推論結果に寄与した前記疑似ドリフトデータの少なくとも一部を特定すること、
特定された前記非ドリフトデータの少なくとも一部と、特定された前記疑似ドリフトデータの少なくとも一部との類似度に基づいて、前記非ドリフトデータと前記疑似ドリフトデータとの一貫性を判定すること、
を含む情報処理方法。
【請求項9】
コンピュータに実行させるためのプログラムであって、
ドリフトの発生前に観測されるデータである非ドリフトデータを取得すること、
前記非ドリフトデータから、前記ドリフトの発生後に観測され得るデータである疑似ドリフトデータを生成すること、
前記非ドリフトデータが入力されたことに応じて第1推論結果を出力するように学習された第1機械学習モデルを用いて、前記第1推論結果に寄与した前記非ドリフトデータの少なくとも一部を特定すること、
前記疑似ドリフトデータが入力されたことに応じて第2推論結果を出力するように学習された第2機械学習モデルを用いて、前記第2推論結果に寄与した前記疑似ドリフトデータの少なくとも一部を特定すること、
特定された前記非ドリフトデータの少なくとも一部と、特定された前記疑似ドリフトデータの少なくとも一部との類似度に基づいて、前記非ドリフトデータと前記疑似ドリフトデータとの一貫性を判定すること、
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書及び図面に開示の実施形態は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
例えば、オートエンコーダと呼ばれる機械学習モデルを用いて患者データ(例えば光学画像)から患者の生体内部の成分を推定し、その推定された成分から元の患者データを復元する技術が知られている。
【0003】
ところで、臨床現場では、オートエンコーダのような機械学習モデルを運用する前後において、患者の特徴量の傾向に変化が生じる場合があった。この特徴量の傾向変化はドリフトと呼ばれる。
【0004】
ドリフトの発生は、機械学習モデルの性能を低下させる恐れがある。そのため、機械学習モデルの設計者や管理者などは、ドリフトが発生する初期の段階で必要な管理(例えば現状維持、モデル再学習など)を行う必要がある。ドリフトが発生したデータの数が少ない初期段階で性能維持に寄与する管理を選択するためには、将来起こり得るドリフトデータを含めて、性能評価を行うことが望ましい。
【0005】
ドリフトの発生初期はドリフトが生じたデータの数が少ない。このようなドリフトの発生初期においてデータ数が少ないドリフトデータを補填する技術には、GAN(Genera tive Adversarial Networks)をベースとしたデータ生成手法(又はデータ拡張(Data Augmentation)手法ともいう)が知られている。この手法では、入力画像を符号化した潜在空間を移動することで、入力画像を任意の表現に変換することが提案されている。
【0006】
また、オートエンコーダのような機械学習モデルを用いて、ドリフトが発生する以前に観測されたデータ(非ドリフトデータ)から、ドリフトが発生した後に観測され得るデータを疑似的に生成することが考えられる。更に、疑似的に生成されたドリフト発生後のデータ(疑似ドリフトデータ)の中から、ドリフトの発生を検知するための他の機械学習モデルの推定結果を基に、現実的に妥当なものを選別することも考えられる。
【0007】
しかしながら、従来の技術単独、またはその組み合わせでは、非ドリフトデータから疑似ドリフトデータへの変換時に、非ドリフトデータに付された正解ラベル(例えば、紅斑の有無)の特徴を決定づける情報(例えば、皮膚の赤み具合)が、疑似ドリフトデータへと維持される(又は継承される)ことは考慮されていない。そのため、正解ラベルと矛盾したドリフトデータが生成される場合がある。この結果、データ数を増加させることを目的に疑似的に生成されたドリフトデータを用いて機械学習モデルを再学習しても、現実のデータを正しく推定しにくいモデルとなり得る。
【0008】
このような課題は、医学的分野に限らず、物理、化学、工学、生物、地学、情報、金融、経済といった、データ観測時にドリフトが発生し得るあらゆる分野においても共通するところである。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2020-71808号公報
【特許文献2】特開2020-154561号公報
【非特許文献】
【0010】
【非特許文献1】Yujun Shen, Jinjin Gu, Xiaoou Tang, Bolei Zhou, “Interpreting the Latent Space of GANs for Semantic Face Editing,” Conference: 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), DOI:10.1109/CVPR42600.2020.00926.
【発明の概要】
【発明が解決しようとする課題】
【0011】
本明細書及び図面に開示の実施形態が解決しようとする課題は、ドリフト発生前に観測されるデータである非ドリフトデータから、ドリフト発生後に観測され得るデータであるドリフトデータを疑似的に生成しつつ、更に、非ドリフトデータの正解ラベルを決定づける情報を、疑似的なドリフトデータにも維持させることである。ただし、本明細書及び図面に開示の実施形態により解決しようとする課題は上記課題に限られない。後述する実施形態に示す各構成による各効果に対応する課題を他の課題として位置づけることもできる。
【課題を解決するための手段】
【0012】
実施形態の情報処理装置は、取得部と、生成部と、第1特定部と、第2特定部と、判定部とを持つ、前記取得部は、ドリフトの発生前に観測されるデータである非ドリフトデータを取得する。前記生成部は、前記非ドリフトデータから、前記ドリフトの発生後に観測され得るデータである疑似ドリフトデータを生成する。前記第1特定部は、前記非ドリフトデータが入力されたことに応じて第1推論結果を出力するように学習された第1機械学習モデルを用いて、前記第1推論結果に寄与した前記非ドリフトデータの少なくとも一部を特定する。前記第2特定部は、前記疑似ドリフトデータが入力されたことに応じて第2推論結果を出力するように学習された第2機械学習モデルを用いて、前記第2推論結果に寄与した前記疑似ドリフトデータの少なくとも一部を特定する。前記判定部は、特定された前記非ドリフトデータの少なくとも一部と、特定された前記疑似ドリフトデータの少なくとも一部との類似度に基づいて、前記非ドリフトデータと前記疑似ドリフトデータとの一貫性を判定する。
【図面の簡単な説明】
【0013】
【
図1】実施形態における情報処理装置100の構成例を表す図。
【
図2】実施形態に係る処理回路120の一連の処理の流れを表すフローチャート。
【
図4】実施形態に係る処理回路120の一連の処理の流れを表すフローチャート。
【
図6】実施形態に係る処理回路120の一連の処理の流れを表すフローチャート。
【
図8】類似度が一定値に収束しており、類似度が大きいケースを説明するための図。
【
図9】類似度が一定値に収束しておらず、類似度が小さいケースを説明するための図。
【
図10】オートエンコーダを用いて生成されたドリフトな疑似皮膚画像が表示されたディスプレイ113aの画面例を表す図。
【
図11】オートエンコーダを用いて生成されたドリフトな疑似皮膚画像が表示されたディスプレイ113aの画面例を表す図。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら、実施形態の情報処理装置、情報処理方法、及びプログラムについて説明する。
【0015】
[概要]
実施形態の情報処理装置は、ドリフトの発生前の、ある対象事象を観測することで得られるデータ(以下、非ドリフトデータという)を取得する。
【0016】
例えば、対象事象は、医学的分野においては様々な疾患であり、その一例として、皮膚に紅斑を呈する疾患などが挙げられる。なお対象事象は皮膚紅斑に限らず、その他の症状や疾患であってもよい。また、対象事象は医学的分野に限らず、物理、化学、工学、生物、地学、情報、金融、経済といった、その他の分野において観測時にドリフトが発生し得る対象であってよい。本実施形態では、一例として、対象事象が皮膚紅斑であるものとして説明する。つまり、非ドリフトデータが、紅斑を含む皮膚画像であるものとして説明する。
【0017】
例えば、皮膚紅斑を、RGBの各センサを含む光学カメラで撮像することで、紅斑が撮像された皮膚画像が得られる。Rは赤色、Gは緑色、Bは青色を意味する。
【0018】
光学カメラを用いた際に、一つ又は幾つかのセンサに不具合が生じるケースがある。例えば、RGBのうち、ブルー(B)のセンサに不具合が生じた場合、皮膚画像の全体に青み成分が増すような変化が発生し得る。このようなブルー(B)のセンサの不具合によって、光学カメラによって得られた皮膚画像全体に青み成分が増すことは、特徴量の傾向が変化することであり、すなわちドリフトが発生したことを意味する。
【0019】
本実施形態に係る非ドリフトデータは、このようなブルー(B)のセンサに不具合が生じる以前の皮膚画像であり、青み成分に異常がなく文字通り紅斑が視認できる画像となる。
【0020】
非ドリフトデータの一つである皮膚画像には、皮膚に紅斑を呈しているのか、或いは呈していないのか(つまり紅斑の有無)が正解ラベルとして対応付けられている。
【0021】
実施形態の情報処理装置は、非ドリフトデータとして紅斑を有無が正解ラベルとして付された皮膚画像を取得すると、その皮膚画像から、ドリフトの発生後に対象事象を観測することで得られる可能性があるデータを疑似的に生成する。以下、このデータを疑似ドリフトデータという。
【0022】
上述したように、ドリフトは、一例としてブルー(B)のセンサの不具合によって皮膚画像全体に青み成分が増すことである。従って、情報処理装置は、青み成分が増す以前の皮膚画像から、青み成分が増した後の皮膚画像を疑似ドリフトデータとして疑似的に生成する。
【0023】
疑似ドリフトデータの一つである疑似皮膚画像には、生成元の皮膚画像(非ドリフトデータ)に付されていた正解ラベルと同一の正解ラベルが対応付けられている。例えば、生成元の皮膚画像に、紅斑有りの正解ラベルが付されていた場合、その皮膚画像から生成された疑似皮膚画像にも、紅斑有りの正解ラベルが付与される。
【0024】
実施形態の情報処理装置は、非ドリフトデータの一種である皮膚画像が入力されたことに応じて、その皮膚画像の正解ラベルに一致する推論結果を出力するように予め学習された機械学習モデルを用いて、その機械学習モデルの推論結果に寄与した皮膚画像の少なくとも一部を特定する。例えば、皮膚画像を示すデータが、行列又はベクトルで表される場合、情報処理装置は、それら行列又はベクトルに含まれる複数の要素のうち、他の要素に比べて推論結果に寄与した要素を特定する。
【0025】
更に実施形態の情報処理装置は、疑似ドリフトデータの一種である疑似皮膚画像が入力されたことに応じて、その疑似皮膚画像の正解ラベルに一致する推論結果を出力するように予め学習された機械学習モデルを用いて、その機械学習モデルの推論結果に寄与した疑似皮膚画像の少なくとも一部を特定する。例えば、疑似皮膚画像を示すデータが、行列又はベクトルで表される場合、情報処理装置は、それら行列又はベクトルに含まれる複数の要素のうち、他の要素に比べて推論結果に寄与した要素を特定する。
【0026】
そして、実施形態の情報処理装置は、推論結果に寄与するものとして特定された皮膚画像の一部と、推論結果に寄与するものとして特定された疑似皮膚画像の一部との類似度に基づいて、皮膚画像と疑似皮膚画像との一貫性を判定する。
【0027】
このような一連の手法で皮膚画像と疑似皮膚画像との間に一貫性が有ると判定された場合、以降、同様の手法で、非ドリフトデータである皮膚画像から疑似ドリフトデータである疑似皮膚画像を生成しつつ、更に、皮膚画像の正解ラベルを決定づける情報を、疑似的な疑似皮膚画像にも維持させることができる。この結果、モデル管理者が、ドリフト初期段階で正解ラベルとの矛盾が生じないドリフトデータをトレーニングデータとして用いて機械学習モデルを再学習することができる。更に、多数のドリフトデータが出揃うまでに要する時間を短縮できるため、迅速なモデル復旧又は臨床意思決定支援の継続につなげることができる。
【0028】
[情報処理装置の構成]
図1は、実施形態における情報処理装置100の構成例を表す図である。情報処理装置100は、例えば、通信インタフェース111と、入力インタフェース112と、出力インタフェース113と、メモリ114と、処理回路120とを備える。
【0029】
通信インタフェース111は、通信ネットワークNWを介して外部装置と通信する。通信ネットワークNWは、電気通信技術を利用した情報通信網全般を意味してよい。例えば、通信ネットワークNWは、病院基幹LAN(Local Area Network)等の無線/有線LANやインターネット網のほか、電話通信回線網、光ファイバ通信ネットワーク、ケーブル通信ネットワークおよび衛星通信ネットワーク等を含む。通信インタフェース111は、例えば、NIC(Network Interface Card)や無線通信用のアンテナ等を含む。
【0030】
入力インタフェース112は、操作者からの各種の入力操作を受け付け、受け付けた入力操作を電気信号に変換して処理回路120に出力する。例えば、入力インタフェース112は、マウス、キーボード、トラックボール、スイッチ、ボタン、ジョイスティック、タッチパネル等を含む。入力インタフェース112は、例えば、マイクロフォン等の音声入力を受け付けるユーザインタフェースであってもよい。入力インタフェース112がタッチパネルである場合、入力インタフェース112は、後述する出力インタフェース113に含まれるディスプレイ113aの表示機能を兼ね備えるものであってもよい。
【0031】
なお、本明細書において入力インタフェース112はマウス、キーボード等の物理的な操作部品を備えるものだけに限られない。例えば、装置とは別体に設けられた外部の入力機器から入力操作に対応する電気信号を受け取り、この電気信号を制御回路へ出力する電気信号の処理回路も入力インタフェース112の例に含まれる。
【0032】
出力インタフェース113は、例えば、ディスプレイ113aやスピーカ113bなどを備える。ディスプレイ113aは、各種の情報を表示する。例えば、ディスプレイ113aは、処理回路120によって生成された画像や、操作者からの各種の入力操作を受け付けるためのGUI(Graphical User Interface)等を表示する。例えば、ディスプレイ113aは、LCD(Liquid Crystal Display)や、CRT(Cathode Ray Tube)ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等である。スピーカ113bは、処理回路120から入力された情報を音声として出力する。
【0033】
メモリ114は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスクによって実現される。これらの非一過性の記憶媒体は、NAS(Network Attached Storage)や外部ストレージサーバ装置といった通信ネットワークNWを介して接続される他の記憶装置によって実現されてもよい。また、メモリ114には、ROM(Read Only Memory)やレジスタ等の非一過性の記憶媒体が含まれてもよい。メモリ114には、処理回路120のハードウェアプロセッサによって実行されるプログラムや、処理回路120による各種演算結果、モデル情報などが格納される。
【0034】
モデル情報は、後述のエンコーダMDL1及びデコーダMDL2を含むオートエンコーダと、皮膚画像を基に疾患の有無やその兆候の有無などを判定するための機械学習モデルMDL3、MDL4と、分類モデルMDL5(識別モデルともいう)とを定義した情報(プログラムまたはアルゴリズム)である。MDLは、MODELの省略形を表した単なる符号である。
【0035】
処理回路120は、例えば、取得機能121と、エンコード機能122と、デコード機能123と、潜在空間境界決定機能124と、特定機能125と、類似判定機能126と、機械学習機能127と、出力制御機能128とを備える。処理回路120は、例えば、ハードウェアプロセッサ(コンピュータ)がメモリ114(記憶回路)に記憶されたプログラムを実行することにより、これらの機能を実現するものである。
【0036】
取得機能121は「取得部」の一例であり、エンコード機能122及びデコード機能123は「生成部」の一例であり、特定機能125は「第1特定部」及び「第2特定部」の一例であり、類似判定機能126は「判定部」の一例である。
【0037】
処理回路120におけるハードウェアプロセッサは、例えば、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))等の回路(circuitry)を意味する。メモリ114にプログラムを記憶させる代わりに、ハードウェアプロセッサの回路内にプログラムを直接組み込むように構成しても構わない。この場合、ハードウェアプロセッサは、回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。上記のプログラムは、予めメモリ114に格納されていてもよいし、DVDやCD-ROM等の非一時的記憶媒体に格納されており、非一時的記憶媒体が情報処理装置100のドライブ装置(不図示)に装着されることで非一時的記憶媒体からメモリ114にインストールされてもよい。ハードウェアプロセッサは、単一の回路として構成されるものに限らず、複数の独立した回路を組み合わせて1つのハードウェアプロセッサとして構成され、各機能を実現するようにしてもよい。また、複数の構成要素を1つのハードウェアプロセッサに統合して各機能を実現するようにしてもよい。
【0038】
[情報処理装置の処理フロー:オートエンコーダのトレーニング]
以下、フローチャートに即しながら、情報処理装置100の処理回路120による一連の処理について説明する。
図2は、実施形態に係る処理回路120の一連の処理の流れを表すフローチャートである。本フローチャートの処理は、オートエンコーダを学習(トレーニング)する際に実行される。
【0039】
まず、取得機能121は、トレーニング対象である患者の皮膚画像(患者データともいう)を取得する(ステップS100)。
【0040】
取得される皮膚画像には、ドリフト発生前に観測された皮膚画像と、ドリフト発後に観測された皮膚画像とが含まれてよい。つまり、皮膚画像には、ドリフトの発生前なのか(非ドリフト)、或いはドリフトの発生後(ドリフト)なのかを示すラベル(以下、ドリフトラベルという)が付与される。更に、ドリフト発生前に観測された皮膚画像(非ドリフトな皮膚画像)には、例えば1や0といった2値によって紅斑の有無を示す正解ラベルが付与されている。
【0041】
例えば、取得機能121は、通信インタフェース111を介して、外部装置であるデータベースにアクセスし、そのデータベースから皮膚画像を取得してよい。また、患者の主治医などが入力インタフェース112に皮膚画像を入力した場合、取得機能121は、入力インタフェース112から皮膚画像を取得してもよい。更に、メモリ114に皮膚画像が格納された場合、取得機能121は、メモリ114から皮膚画像を取得してもよい。
【0042】
取得機能121は、皮膚画像を取得すると、その皮膚画像に対して、平滑化フィルタやエッジ抽出といった画像処理を行ってもよい。これによって、皮膚画像に写りこむノイズを除去することができ、皮膚画像から紅斑などの特徴量をより精度よく抽出することができる。
【0043】
次に、エンコード機能122は、メモリ114に格納されたモデル情報によって定義されたオートエンコーダを用いて、取得機能121によって取得された皮膚画像を潜在変数にエンコードする(ステップS102)。
【0044】
次に、デコード機能123は、オートエンコーダを用いて、潜在変数を皮膚画像にデコードする(ステップS104)。
【0045】
図3は、オートエンコーダの構成の一例を表す図である。図示のように、オートエンコーダは、エンコーダMDL1とデコーダMDL2とを含む。
【0046】
エンコーダMDL1は、オートエンコーダの前段部分の機械学習モデルであり、皮膚画像を潜在変数z(z1、z2、z3、…)に変換する。エンコーダMDL1によって出力される潜在変数zは、デコーダMDL2へと入力される。
【0047】
デコーダMDL2は、オートエンコーダの後段部分の機械学習モデルであり、エンコーダMDL1によって出力される潜在変数zを皮膚画像に変換する。潜在変数からデコードされた皮膚画像は、上述したように、疑似ドリフトデータの一つである疑似皮膚画像である。デコーダMDL2を用いて、潜在変数zから皮膚画像をデコードすることは「再構成」と読み替え、デコーダMDL2を用いて潜在変数zからデコードされた皮膚画像は「再構成皮膚画像」と読み替えてもよい。
【0048】
エンコーダMDL1及びデコーダMDL2を含むオートエンコーダは、例えば、エンコーダMDL1に入力される皮膚画像と、デコーダMDL2から出力される皮膚画像(疑似皮膚画像)とが一致するように又は近づくように学習されたニューラルネットワークによって実装されてよい。エンコーダMDL1は、ニューラルネットワークに代えて、PCA(主成分分析)のような他の機械学習手法を用いて実装されてもよい。
【0049】
オートエンコーダがニューラルネットワークによって実装される場合、モデル情報には、例えば、当該ニューラルネットワークを構成する入力層、一以上の隠れ層(中間層)、出力層の其々の層に含まれるユニットが互いにどのように結合されるのかという結合情報や、結合されたユニット間で入出力されるデータに付与される結合係数がいくつであるのかという重み情報などが含まれる。
【0050】
結合情報は、例えば、各層に含まれるユニット数や、各ユニットの結合先のユニットの種類を指定する情報、各ユニットを実現する活性化関数、隠れ層のユニット間に設けられたゲートなどの情報を含む。
【0051】
ユニットを実現する活性化関数は、例えば、ReLU(Rectified Linear Unit)関数やELU(Exponential Linear Units)関数、クリッピング関数、シグモイド関数、ステップ関数、ハイパポリックタンジェント関数、恒等関数などであってよい。ゲートは、例えば、活性化関数によって返される値(例えば1または0)に応じて、ユニット間で伝達されるデータを選択的に通過させたり、重み付けたりする。
【0052】
結合係数は、例えば、ニューラルネットワークの隠れ層において、ある層のユニットから、より深い層のユニットにデータが出力される際に、出力データに対して付与される重みを含む。また、結合係数は、各層の固有のバイアス成分などを含んでもよい。
【0053】
フローチャートの説明に戻る。次に、機械学習機能127は、損失関数に従って損失(再構成誤差ともいう)を算出し(ステップS106)、その損失に基づいて、オートエンコーダを学習する(ステップS108)。
【0054】
機械学習機能127は、損失関数に基づき計算した損失が小さくなるように、オートエンコーダのエンコーダMDL1及びデコーダMDL2の双方のパラメータ(重み係数やバイアス成分など)を調整する。
【0055】
次に、機械学習機能127は、損失が一定値に収束したか否かを判定し(ステップS110)、損失が一定値に収束していない場合、上述したS100に処理を戻し、新たな皮膚画像を取得してオートエンコーダの学習を繰り返す。このように、損失が一定値に収束するまでオートエンコーダの学習が繰り返される。
【0056】
一方、損失が一定値に収束した場合、機械学習機能127は、本フローチャートの処理を終了させる。
【0057】
[情報処理装置の処理フロー:潜在空間上の境界の決定]
図4は、実施形態に係る処理回路120の一連の処理の流れを表すフローチャートである。本フローチャートの処理は、学習済みのオートエンコーダを用いて、潜在空間上に、ある境界を決定する際に実行される。
【0058】
この境界とは、非ドリフトデータ(ドリフト発生前の皮膚画像)由来の潜在変数と、ドリフトデータ(ドリフト発生後の皮膚画像)由来の潜在変数とを潜在空間上において分離するための部分空間である。一例として、潜在空間が三次元空間であれば、境界は二次元空間であり、潜在空間が二次元空間であれば、境界は一次元空間であってよい。
【0059】
まず、取得機能121は、患者の皮膚画像(患者データともいう)を取得する(ステップS200)。この皮膚画像には、ドリフトの発生前なのか(非ドリフト)、或いはドリフトの発生後(ドリフト)なのかを示すドリフトラベルが付与されている。更に、ドリフト発生前に観測された皮膚画像(非ドリフトな皮膚画像)には、例えば1や0といった2値によって紅斑の有無を示す正解ラベルが付与されている。
【0060】
次に、エンコード機能122は、学習済みのオートエンコーダを用いて、取得された皮膚画像を潜在変数にエンコードする(ステップS202)。
【0061】
次に、潜在空間境界決定機能124は、皮膚画像からエンコードされた潜在変数を潜在空間上にマッピングする(ステップS204)。
【0062】
次に、潜在空間境界決定機能124は、潜在空間上にマッピングされた潜在変数の座標と、ドリフトラベルとを対応付ける(ステップS206)。
【0063】
例えば、潜在空間境界決定機能124は、非ドリフトな皮膚画像由来の潜在変数(つまり非ドリフトな潜在変数)がマッピングされた潜在空間上の座標には、ドリフトの発生前であることを表す非ドリフトというドリフトラベルを対応付ける。同様に、潜在空間境界決定機能124は、ドリフトな皮膚画像由来の潜在変数(つまりドリフトな潜在変数)がマッピングされた潜在空間上の座標には、ドリフトの発生後であることを表すドリフトというドリフトラベルを対応付ける。
【0064】
次に、潜在空間境界決定機能124は、メモリ114に格納されたモデル情報によって定義された分類モデルMDL5を用いて、潜在空間上において非ドリフトな潜在変数とドリフトな潜在変数とを分離又は識別するための境界を決定する(ステップS208)。
【0065】
例えば、分類モデルMDL5は、サポートベクターマシーンやニューラルネットワークによって実装されてよい。
【0066】
図5は、潜在空間上の境界の一例を表す図である。例えば、潜在空間がz1、z2、z3の三次元空間である場合、潜在空間境界決定機能124は、分類モデルMDL5を用いて、非ドリフトな潜在変数(図中の円形記号と三角形記号の潜在変数)とドリフトな潜在変数(図中の四角形記号の潜在変数)とを分離又は識別する二次元空間を境界として決定する。これによって本フローチャートの処理が終了する。
【0067】
[情報処理装置の処理フロー:移動ベクトルの探索]
図6は、実施形態に係る処理回路120の一連の処理の流れを表すフローチャートである。本フローチャートの処理は、潜在空間上において非ドリフト側にマッピングされ得る潜在変数を、境界を跨いでドリフト側へと移動させるための移動ベクトルを探索する際に実行される。
【0068】
まず、取得機能121は、移動ベクトルを初期化する(ステップS300)。
【0069】
次に、取得機能121は、非ドリフトデータとしてドリフト発生前の皮膚画像(つまり非ドリフトな皮膚画像)を取得する(ステップS302)。この非ドリフトな皮膚画像には、紅斑の有無を示す正解ラベルが付与されている。
【0070】
次に、機械学習機能127は、正解ラベル付きの非ドリフトな皮膚画像をトレーニングデータとして用いて、非ドリフトデータ専用の第3機械学習モデルMDL3を学習する(ステップS312)。
【0071】
第3機械学習モデルMDL3は、例えば、ニューラルネットワークによって実装されてよい。第3機械学習モデルMDL3は「第1機械学習モデル」の一例である。
【0072】
例えば、機械学習機能127は、非ドリフトな皮膚画像を第3機械学習モデルMDL3に入力する。非ドリフトな皮膚画像が入力されたことに応じて第3機械学習モデルMDL3は、その非ドリフトな皮膚画像に紅斑が含まれるのか、或いは含まれないのかを示す推論結果を出力する。機械学習機能127は、第3機械学習モデルMDL3の推論結果が非ドリフトな皮膚画像の正解ラベルと一致するように、第3機械学習モデルMDL3を学習する。具体的には、機械学習機能127は、第3機械学習モデルMDL3の推論結果と、非ドリフトな皮膚画像の正解ラベルとの差分(誤差ともいう)を算出し、その差分が小さくなるように第3機械学習モデルMDL3のパラメータ(重み係数やバイアス成分など)を調整する。
【0073】
一方で、エンコード機能122は、学習済みのオートエンコーダを用いて、取得された非ドリフトな皮膚画像を潜在変数にエンコードする(ステップS304)。
【0074】
次に、機械学習機能127は、初期化された移動ベクトルを基に、潜在空間上において、非ドリフトな皮膚画像由来の潜在変数(つまり非ドリフトな潜在変数)を、境界を越えてドリフト側の領域に移動させる(ステップS306)。これによって、非ドリフトな潜在変数がドリフトな潜在変数へと変換される。
【0075】
次に、デコード機能123は、学習済みのオートエンコーダを用いて、移動ベクトルを基に非ドリフトな潜在変数から変換されたドリフトな潜在変数を皮膚画像にデコードする(ステップS308)。この皮膚画像は、疑似的に生成されたドリフト発生後の皮膚画像(つまりドリフトな疑似皮膚画像)であり、非ドリフトな皮膚画像に付与されていた正解ラベルが継承される。
【0076】
次に、機械学習機能127は、非ドリフトな皮膚画像と正解ラベルが共通のドリフトな疑似皮膚画像をトレーニングデータとして用いて、ドリフトデータ専用の第4機械学習モデルMDL4を学習する(ステップS310)。
【0077】
第4機械学習モデルMDL4は、例えば、ニューラルネットワークによって実装されてよい。第4機械学習モデルMDL4は「第2機械学習モデル」の一例である。
【0078】
例えば、機械学習機能127は、ドリフトな疑似皮膚画像を第4機械学習モデルMDL4に入力する。ドリフトな疑似皮膚画像が入力されたことに応じて第4機械学習モデルMDL4は、そのドリフトな疑似皮膚画像に紅斑が含まれるのか、或いは含まれないのかを示す推論結果を出力する。機械学習機能127は、第4機械学習モデルMDL4の推論結果がドリフトな疑似皮膚画像の正解ラベルと一致するように、第4機械学習モデルMDL4を学習する。具体的には、機械学習機能127は、第4機械学習モデルMDL4の推論結果と、ドリフトな疑似皮膚画像の正解ラベルとの差分(誤差ともいう)を算出し、その差分が小さくなるように第4機械学習モデルMDL4のパラメータ(重み係数やバイアス成分など)を調整する。
【0079】
次に、特定機能125は、第3機械学習モデルMDL3の推論結果に寄与した非ドリフトな皮膚画像の少なくとも一部を特定しつつ、第4機械学習モデルMDL4の推論結果に寄与したドリフトな疑似皮膚画像の少なくとも一部を特定する。
【0080】
例えば、特定機能125は、各機械学習モデルが入力データのどの部分を推論結果を導くための根拠にしたのかを可視化することで、各機械学習モデルの推論結果に寄与したデータの一部を特定してよい。可視化には、例えば、Grad-CAMやAttentionマップが利用されてよい。
【0081】
次に、類似判定機能126は、第3機械学習モデルMDL3の推論結果に寄与した非ドリフトな皮膚画像の少なくとも一部と、第4機械学習モデルMDL4の推論結果に寄与したドリフトな疑似皮膚画像の少なくとも一部との類似度を算出する(ステップS314)。
【0082】
図7は、類似度の算出方法を説明するための図である。例えば、類似判定機能126は、第3機械学習モデルMDL3が非ドリフトな皮膚画像のどの部分を推論結果を導くための根拠にしたのかを可視化したマップ(非ドリフトな注目箇所可視化マップ)と、第4機械学習モデルMDL4がドリフトな疑似皮膚画像のどの部分を推論結果を導くための根拠にしたのかを可視化したマップ(ドリフトな注目箇所可視化マップ)との類似度を算出してよい。例えば、類似度は数式(1)や数式(2)に従って算出されてよい。
【0083】
1/(非ドリフトな注目箇所可視化マップ及びドリフトな注目箇所可視化マップの差分絶対値の平均)…(1)
【0084】
非ドリフトな注目箇所可視化マップの輪郭形状(フーリエ記述子)と、ドリフトな注目箇所可視化マップの輪郭形状(フーリエ記述子)とのコサイン類似度…(2)
【0085】
例えば、潜在ベクトルの移動前後において注目箇所可視化マップ上の注目箇所が一致している場合、推論に同じ部分が寄与していることになり、類似度が高くなる。
【0086】
更に、類似判定機能126は、各機械学習モデルが推論結果の一つとして出力する確信度に基づいて類似度を算出してもよい。この場合、例えば、類似度は数式(3)に従って算出されてよい。
【0087】
1/(第3機械学習モデルMDL3によって出力された確信度及び第4機械学習モデルMDL4によって出力された確信度の差分絶対値の平均)…(3)
【0088】
例えば、潜在ベクトルの移動前後において確信度に変化がない場合、推論の難易度が同じことになり、類似度が高くなる。
【0089】
次に、機械学習機能127は、類似度が高くなるように(一貫性を持つように)、移動ベクトルを更新する(ステップS316)。
【0090】
例えば、機械学習機能127は、強化学習や遺伝的アルゴリズムを適用して移動ベクトルを更新してよい。この際、類似度は報酬として扱われる。
【0091】
具体的には、機械学習機能127は、移動ベクトルの大きさ、つまり潜在空間上において潜在変数を移動させる距離を、ある距離探索範囲のなかで決定してよい。距離探索範囲の下限値は、例えば、境界への最短距離としてよい。距離探索範囲の上限値は、例えば、現実に観測されたドリフトな皮膚画像由来の潜在変数(つまりドリフトな潜在変数)までの距離としてよい。
【0092】
また、機械学習機能127は、移動ベクトルの向き、つまり潜在空間上において潜在変数を移動させる方向を、ある角度探索範囲のなかで決定してよい。角度探索範囲の中央値、つまり移動ベクトルの初期角度は、例えば、潜在空間上の境界に対する法線ベクトルとしてよい。角度探索範囲の下限値及び上限値は、例えば、ユーザが指定してよい(例えばプラスマイナスπ/4の角度範囲)。
【0093】
潜在空間上において多数の潜在変数が存在する場合、潜在変数ごとに移動ベクトルを用意すると、移動ベクトルの探索範囲(探索空間)が膨大となる。このような場合、潜在空間上に存在する多数の潜在変数のうち、互いに類似する潜在変数同士を一つのクラスタ又はグループにまとめ、それらクラスタ又はグループに対して一つの移動ベクトルを割り当ててもよい。
【0094】
次に、機械学習機能127は、類似度が一定値に収束したか否かを判定し(ステップS318)、類似度が一定値に収束していない場合、上述したS300に処理を戻し、移動ベクトルの更新を繰り返す。
【0095】
一方、類似度が一定値に収束した場合、機械学習機能127は、本フローチャートの処理を終了させる。
【0096】
図8は、類似度が一定値に収束しており、類似度が大きいケースを説明するための図である。
図9は、類似度が一定値に収束しておらず、類似度が小さいケースを説明するための図である。
【0097】
図8では、第3機械学習モデルMDL3が推論結果を導くための根拠にした非ドリフトな皮膚画像の着目部分(くるぶし)と、第4機械学習モデルMDL4が推論結果を導くための根拠にしたドリフトな疑似皮膚画像の着目部分(くるぶし)とが同じであり、移動ベクトルで潜在変数を移動させる前後において正解ラベルを決定づける特徴部分(くるぶし周辺)が維持されていることを表している。
【0098】
一方、
図9では、第3機械学習モデルMDL3が推論結果を導くための根拠にした非ドリフトな皮膚画像の着目部分(くるぶし)と、第4機械学習モデルMDL4が推論結果を導くための根拠にしたドリフトな疑似皮膚画像の着目部分(足全体)とが異なっており、移動ベクトルで潜在変数を移動させる前後において正解ラベルを決定づける特徴部分(くるぶし周辺)が維持されていないことを表している。このような場合、移動ベクトルで潜在変数を移動させる前後において正解ラベルを決定づける特徴部分(くるぶし周辺)が維持されるまで、移動ベクトルの更新が繰り返される。
【0099】
類似度が一定値に収束し、移動ベクトルの更新が終了した場合、出力制御機能128は、オートエンコーダを用いて生成されたドリフトな疑似皮膚画像を含む出力情報を、出力インタフェース113を介して出力してよい。
【0100】
例えば、出力制御機能128は、ディスプレイ113aにドリフトな疑似皮膚画像を表示させてよい。また、出力制御機能128は、通信インタフェース111を介して、外部装置(例えば、診断対象である患者の主治医などが利用するコンピュータ)にドリフトな疑似皮膚画像を含む出力情報を送信してもよい。
【0101】
図10及び
図11は、オートエンコーダを用いて生成されたドリフトな疑似皮膚画像が表示されたディスプレイ113aの画面例を表す図である。例えば、ディスプレイ113aの画面には、潜在空間上において非ドリフトな潜在変数が境界を越えてどのようにドリフトな潜在変数へと変換されたのかが表示される。更に、ディスプレイ113aの画面には、移動ベクトルによって移動される前の潜在変数(非ドリフトな潜在変数)からデコードされた皮膚画像や、移動ベクトルによって移動された後の潜在変数(ドリフトな潜在変数)からデコードされた皮膚画像、各機械学習モデルの判断根拠、類似度、などが表示されてよい。このように、各機械学習モデルの判断根拠とあわせて各種情報を表示することで、正解ラベルの特徴が維持されているのかどうかをユーザは確認することができる。
【0102】
以上説明した実施形態によれば、情報処理装置100の処理回路120は、ドリフトの発生前の皮膚画像である非ドリフトな皮膚画像を取得する。非ドリフトな皮膚画像には正解ラベルが付与されている。
【0103】
処理回路120は、非ドリフトな皮膚画像から、ドリフトの発生後の皮膚画像であるドリフトな疑似皮膚画像を生成する。
【0104】
処理回路120は、非ドリフトな皮膚画像が入力されたことに応じて、その非ドリフトな皮膚画像の正解ラベルに一致する推論結果を出力するように予め学習された第3機械学習モデルMDL3を用いて、その第3機械学習モデルMDL3の推論結果に寄与した非ドリフトな皮膚画像の少なくとも一部を特定する。
【0105】
処理回路120は、ドリフトな疑似皮膚画像が入力されたことに応じて、そのドリフトな疑似皮膚画像の正解ラベルに一致する推論結果を出力するように予め学習された第4機械学習モデルMDL4を用いて、その第4機械学習モデルMDL4の推論結果に寄与したドリフトな疑似皮膚画像の少なくとも一部を特定する。
【0106】
処理回路120は、第3機械学習モデルMDL3の推論結果に寄与するものとして特定された非ドリフトな皮膚画像の一部と、第4機械学習モデルMDL4の推論結果に寄与するものとして特定されたドリフトな疑似皮膚画像の一部との類似度に基づいて、ドリフト前後における皮膚画像の一貫性を判定する。
【0107】
このような一連の手法で皮膚画像と疑似皮膚画像との間に一貫性が有ると判定された場合、以降、同様の手法で、非ドリフトデータである皮膚画像から疑似ドリフトデータである疑似皮膚画像を生成しつつ、更に、皮膚画像の正解ラベルを決定づける情報を、疑似的な疑似皮膚画像にも維持させることができる。この結果、モデル管理者が、ドリフト初期段階で正解ラベルとの矛盾が生じないドリフトデータをトレーニングデータとして用いて機械学習モデルを再学習することができる。更に、多数のドリフトデータが出揃うまでに要する時間を短縮できるため、迅速なモデル復旧又は臨床意思決定支援の継続につなげることができる。
【0108】
(その他の実施形態)
以下、その他の実施形態について説明する。上述したように、実施形態の情報処理装置100は、非ドリフトデータとして皮膚画像に限られず、例えば、ドリフト発生前に観測された検体検査値やバイタルデータなどを取得してもよい。
【0109】
また上述した実施形態において得られたオートエンコーダと移動ベクトルを用いることで、あるドメインから、正解ラベルを用意するのが難しい別ドメインにデータ変換したいシーンに適用することができる。
【0110】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0111】
100…情報処理装置、111…通信インタフェース、112…入力インタフェース、113…出力インタフェース、113a…ディスプレイ、114…メモリ、120…処理回路、121…取得機能、122…エンコード機能、123…デコード機能、124…潜在空間境界決定機能、125…特定機能、126…類似判定機能、127…機械学習機能、128…出力制御機能