(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-20
(45)【発行日】2023-12-28
(54)【発明の名称】人工知能モデルを使用機関に特化させる学習方法、これを行う装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20231221BHJP
G06Q 50/22 20180101ALI20231221BHJP
G16H 50/00 20180101ALI20231221BHJP
G16H 10/00 20180101ALI20231221BHJP
【FI】
G06N20/00
G06Q50/22
G16H50/00
G16H10/00
(21)【出願番号】P 2022519274
(86)(22)【出願日】2020-09-25
(86)【国際出願番号】 KR2020013027
(87)【国際公開番号】W WO2021060899
(87)【国際公開日】2021-04-01
【審査請求日】2022-03-25
(31)【優先権主張番号】10-2019-0118545
(32)【優先日】2019-09-26
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0124142
(32)【優先日】2020-09-24
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】520159215
【氏名又は名称】ルニット・インコーポレイテッド
【氏名又は名称原語表記】LUNIT INC.
【住所又は居所原語表記】5F, 374 GANGNAM-DAERO, GANGNAM-GU, SEOUL 06241, REPUBLIC OF KOREA
(74)【代理人】
【識別番号】110001818
【氏名又は名称】弁理士法人R&C
(72)【発明者】
【氏名】ユ,ドングン
(72)【発明者】
【氏名】ペク,スンウク
(72)【発明者】
【氏名】キム,ミンチョル
(72)【発明者】
【氏名】パク,チョンチャン
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2018/0314943(US,A1)
【文献】特開2008-276775(JP,A)
【文献】国際公開第2019/150813(WO,A1)
【文献】特開2017-107386(JP,A)
【文献】米国特許出願公開第2019/0065908(US,A1)
【文献】米国特許出願公開第2019/0242608(US,A1)
【文献】特許第6337973(JP,B2)
【文献】今西勁峰 ほか,"放射線治療における深層学習の産業応用",第63回システム制御情報学会 研究発表講演会 講演論文集,一般社団法人システム制御情報学会,2019年05月15日,p.1013-1016
【文献】森谷崇史 ほか,"Progressive neural networksを応用した音響モデルの転移学習",日本音響学会講演論文集,2018年03月,p.13-14
【文献】帯金駿 ほか,"病理画像のsemantic segmentationにおける癌種間のドメイン適応",SSII2019 予稿資料,画像センシング技術研究会,2019年07月03日,IS1-19
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02- 3/10
G06N 20/00-99/00
G06Q 50/22
G16H 50/00-50/80
G16H 10/00-10/65
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって動作する学習装置の動作方法であって、
医療機関が有しているデータの中から、
医療機関が持っているデータ保持量とデータ特性を考慮して、特化学習に用いるデータセットを抽出する段階と、
事前学習された人工知能モデルを用いて、前記データセットからアノテーションが要求されるアノテーション対象を選別する段階と、
前記アノテーション対象に対してラベルがアノテーションされたデータを用いて、前記事前学習された人工知能モデルを指導学習させる段階と、を含む動作方法。
【請求項2】
前記アノテーション対象を選別する段階は、
前記データセットの少なくとも一部のデータに対する前記事前学習された人工知能モデルの予測結果を用いて、前記事前学習された人工知能モデルに不確実なデータを前記アノテーション対象に選別する、請求項1に記載の動作方法。
【請求項3】
前記アノテーション対象を選別する段階は、
前記事前学習された人工知能モデルの予測結果を用いて測定された不確実性点数に基づいて前記アノテーション対象を選別する、請求項2に記載の動作方法。
【請求項4】
前記不確実性点数は、
前記事前学習された人工知能モデルで予測された病変別点数(score)の信頼値(confidence)、前記事前学習された人工知能モデルで予測された病変別ヒートマップ(heatmap)のエントロピー(entropy)、
および前記事前学習された人工知能モデルで予測された病変の同時出現(co-occurrence)の少なくとも1つを用いて、測定される、請求項3に記載の動作方法。
【請求項5】
前記アノテーション対象を選別する段階は、
前記事前学習された人工知能モデルの特徴空間(feature space)から前記データセットの分布を代表するデータを前記アノテーション対象に選別する、請求項1に記載の動作方法。
【請求項6】
読取医レポート(Radiologist report)から抽出した情報を前記アノテーション対象にアノテーションするか、前記アノテーション対象に対する前記事前学習された人工知能モデルの予測結果を注釈者に提供してアノテーション作業を支援する段階をさらに含む、請求項1に記載の動作方法。
【請求項7】
前記特化学習に用いるデータセットを抽出する段階は、
前記医療機関 が有しているデータ保有量、
およびデータ特性に基づいて前記特化学習に用いるデータ量を決定する、請求項1に記載の動作方法。
【請求項8】
前記事前学習された人工知能モデルを学習させる段階は、
前記事前学習された人工知能モデルの事前知識を維持する情報を、前記指導学習中の人工知能モデルに提供する、請求項1に記載の動作方法。
【請求項9】
前記事前学習された人工知能モデルを学習させる段階は、
前記指導学習中の人工知能モデルと教師モデルとの蒸留損失を計算し、前記蒸留損失を前記指導学習中の人工知能モデルに提供し、
前記教師モデルは、前記事前学習された人工知能モデルと同一のモデルである、請求項8に記載の動作方法。
【請求項10】
前記蒸留損失は、
前記指導学習中の人工知能モデルが前記教師モデルの中間特徴および/または最終出力をついていくようにする損失である、請求項9に記載の動作方法。
【請求項11】
少なくとも1つのプロセッサによって動作する学習装置の動作方法であって、
事前学習のための第1データセットを収集する段階と、
前記第1データセットを用いて少なくとも1つのタスクを事前学習した第1人工知能モデルを出力する段階と、
前記事前学習で習得した事前知識を維持しつつ、 医療機関から収集した第2データセットを用いて特化学習した第2人工知能モデルを出力する段階
であって、前記医療機関が有しているデータ保有量、および、データ特性を考慮して前記特化学習に用いる前記第2データセットを抽出することを含む、段階と、を含む動作方法。
【請求項12】
前記第1人工知能モデルは、入力データのドメインを区分できないように前処理されたデータを用いて学習するか、抽出された中間特徴から入力データのドメインを区分できないように敵対学習する、請求項11に記載の動作方法。
【請求項13】
前記第2人工知能モデルを出力する段階は、
前記特化学習中の人工知能モデルと教師モデルとの蒸留損失を計算し、前記蒸留損失を前記特化学習中の人工知能モデルに提供して、前記第2人工知能モデルが前記事前知識を維持するようにし、
前記教師モデルは、前記事前学習した第1人工知能モデルと同一のモデルである、請求項11に記載の動作方法。
【請求項14】
前記第2人工知能モデルを出力する段階は、
前記第2データセットの中からラベルがアノテーションされた少なくとも一部のアノテーションデータを用いて前記第1人工知能モデルを指導学習させ、前記第1人工知能モデルの事前知識を維持する情報を前記指導学習中の人工知能モデルに提供し、
前記第1人工知能モデルの事前知識を維持する情報は、
前記指導学習中の人工知能モデルと教師モデルとの蒸留損失であり、
前記教師モデルは、前記第1人工知能モデルと同一のモデルである、請求項11に記載の動作方法。
【請求項15】
前記医療機関が有しているデータの中から、前記特化学習に用いる前記第2データセットを抽出する段階と、
前記第1人工知能モデルを用いて、前記第2データセットからアノテーションが要求されるアノテーション対象を選別する段階と、
前記アノテーション対象に対してラベルがアノテーションされたデータを取得する段階と、をさらに含む、請求項11に記載の動作方法。
【請求項16】
前記アノテーション対象を選別する段階は、
前記第2データセットの少なくとも一部のデータに対する前記第1人工知能モデルの予測結果を用いて、前記第1人工知能モデルに不確実なデータを前記アノテーション対象に選別する、請求項15に記載の動作方法。
【請求項17】
前記アノテーション対象を選別する段階は、
前記第1人工知能モデルの特徴空間(feature space)から前記第2データセットの分布を代表するデータを前記アノテーション対象に選別する、請求項15に記載の動作方法。
【請求項18】
命令語を格納するメモリと、
前記命令語を実行するプロセッサとを含み、
前記プロセッサは、
医療機関のデータリポジトリから一定量の医療機関データを抽出し、事前学習された人工知能モデルの事前知識を維持しつつ、前記医療機関データを用いて前記事前学習された人工知能モデルを特化学習させる
ものであり、
ここで、前記医療機関が有しているデータ保有量、および、データ特性を考慮して前記特化学習に用いるデータセットが抽出される、学習装置。
【請求項19】
前記プロセッサは、
前記医療機関データに対する前記事前学習された人工知能モデルの予測結果を用いて、前記医療機関データから前記事前学習された人工知能モデルに不確実なデータを抽出し、前記不確実なデータをアノテーションが要求されるアノテーション対象に選別し、前記アノテーション対象に対してラベルがアノテーションされたデータを用いて、前記事前学習された人工知能モデルを指導学習させ、
前記指導学習中の人工知能モデルに前記事前知識を維持する情報を提供して前記事前知識を維持させる、請求項18に記載の学習装置。
【請求項20】
前記プロセッサは、
前記医療機関データの分布を代表する一定数の代表データを選別し、前記代表データの中から前記事前学習された人工知能モデルの予測が不確実なデータを選別し、
前記不確実なデータは、
前記事前学習された人工知能モデルで予測された病変別点数(score)の信頼値(confidence)、前記事前学習された人工知能モデルで予測された病変別ヒートマップ(heatmap)のエントロピー(entropy)、
および前記事前学習された人工知能モデルで予測された病変の同時出現(co-occurrence)の少なくとも1つを用いて、選別される、請求項18に記載の学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、人工知能技術に関する。
【背景技術】
【0002】
ディープラーニング(deep-learning)に代表される機械学習(machine-learning)技術は、イメージ、音声、テキストなど多様な形態のデータ分析において既存の方法の性能を飛び越える結果を提供している。また、機械学習技術は、技術自体に内在した拡張性および柔軟性により多様な分野に適用されており、多様な種類のニューラルネットワーク(neural network)が公開されている。
【0003】
このように、機械学習基盤の人工知能(Artificial Intelligence、AI)技術は、医療分野で活発に導入されている。以前は、CAD(Computer Aided Detection)装置がルール基盤(rule based)で病変を検出したり、医療イメージで設定された候補領域から病変を検出していたならば、最近のAI基盤の医療イメージ読取技術は、医療イメージ全体をAIアルゴリズムで分析し、異常(abnormal)病変を視覚的に提供することができる。
【0004】
医療関係者は、AI基盤の医療イメージ読取技術が実現された診断補助装置から医療イメージに含まれた異常病変情報を受け、これを参照して診断することができる。
【0005】
一方、医療機関は、撮影装備、撮影方式、重症度、人種などのドメイン格差があるにもかかわらず、未だ同一の人工知能モデルを用いている。この場合、各機関において人工知能モデルで分析しようとするデータと、人工知能モデルの学習データとの差があり、医療現場で人工知能モデルの性能が期待より低い問題が発生している。各機関のデータを用いて事前学習された人工知能モデルを微細調整(fine-tuning)して、各機関のデータに最適化できるものの、人工知能モデルが学習した事前知識を失い、一般化性能(generalization performance)に影響を及ぼすようになって、結局、人工知能モデルの安定的動作を保障できない問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
解決しようとする課題は、事前学習された人工知能モデルを使用機関に特化させる学習方法、そしてこれを行う装置を提供することである。
【0007】
解決しようとする課題は、事前学習された人工知能モデルを学習させるために使用機関のデータを収集する方法を提供することであり、具体的には、使用機関のデータの中から人工知能モデルの学習のためのデータを選別し、アノテーションが要求されるデータを選別する方法を提供することである。
【0008】
解決しようとする課題は、人工知能モデルの事前知識を維持しつつ、使用機関のデータを用いて人工知能モデルを学習させる方法を提供することである。
【課題を解決するための手段】
【0009】
一実施例により少なくとも1つのプロセッサによって動作する学習装置の動作方法であって、特定の機関が有しているデータの中から、特化学習に用いるデータセットを抽出する段階と、事前学習された人工知能モデルを用いて、前記データセットからアノテーションが要求されるアノテーション対象を選別する段階と、前記アノテーション対象に対してラベルがアノテーションされたデータを用いて、前記事前学習された人工知能モデルを指導学習させる段階とを含む。
【0010】
前記アノテーション対象を選別する段階は、前記データセットの少なくとも一部のデータに対する前記事前学習された人工知能モデルの予測結果を用いて、前記事前学習された人工知能モデルに不確実なデータを前記アノテーション対象に選別することができる。
【0011】
前記アノテーション対象を選別する段階は、前記事前学習された人工知能モデルの予測結果を用いて測定された不確実性点数に基づいて前記アノテーション対象を選別することができる。
【0012】
前記不確実性点数は、前記事前学習された人工知能モデルで予測された病変別点数(score)の信頼値(confidence)、前記事前学習された人工知能モデルで予測された病変別ヒートマップ(heatmap)のエントロピー(entropy)、そして前記事前学習された人工知能モデルで予測された病変の同時出現(co-occurrence)の少なくとも1つを用いて、測定される。
【0013】
前記アノテーション対象を選別する段階は、前記事前学習された人工知能モデルの特徴空間(feature space)から前記データセットの分布を代表するデータを前記アノテーション対象に選別することができる。
【0014】
前記動作方法は、読取医レポート(Radiologist report)から抽出した情報を前記アノテーション対象にアノテーションするか、前記アノテーション対象に対する前記事前学習された人工知能モデルの予測結果を注釈者に提供してアノテーション作業を支援する段階をさらに含むことができる。
【0015】
前記特化学習に用いるデータセットを抽出する段階は、前記特定の機関が有しているデータ保有量、そしてデータ特性に基づいて前記特化学習に用いるデータ量を決定することができる。
【0016】
前記事前学習された人工知能モデルを学習させる段階は、前記事前学習された人工知能モデルの事前知識を維持する情報を、前記指導学習中の人工知能モデルに提供することができる。
【0017】
前記事前学習された人工知能モデルを学習させる段階は、前記指導学習中の人工知能モデルと教師モデルとの蒸留損失を計算し、前記蒸留損失を前記指導学習中の人工知能モデルに提供し、前記教師モデルは、前記事前学習された人工知能モデルと同一のモデルであってもよい。
【0018】
前記蒸留損失は、前記指導学習中の人工知能モデルが前記教師モデルの中間特徴および/または最終出力をついていくようにする損失であってもよい。
【0019】
他の実施例により少なくとも1つのプロセッサによって動作する学習装置の動作方法であって、事前学習のための第1データセットを収集する段階と、前記第1データセットを用いて少なくとも1つのタスクを事前学習した第1人工知能モデルを出力する段階と、前記事前学習で習得した事前知識を維持しつつ、特定の機関から収集した第2データセットを用いて特化学習した第2人工知能モデルを出力する段階とを含む。
【0020】
前記第1人工知能モデルは、入力データのドメインを区分できないように前処理されたデータを用いて学習するか、抽出された中間特徴から入力データのドメインを区分できないように敵対学習することができる。
【0021】
前記第2人工知能モデルを出力する段階は、前記特化学習中の人工知能モデルと教師モデルとの蒸留損失を計算し、前記蒸留損失を前記特化学習中の人工知能モデルに提供して、前記第2人工知能モデルが前記事前知識を維持するようにし、前記教師モデルは、前記事前学習した第1人工知能モデルと同一のモデルであってもよい。
【0022】
前記第2人工知能モデルを出力する段階は、前記第2データセットの中からラベルがアノテーションされた少なくとも一部のアノテーションデータを用いて前記第1人工知能モデルを指導学習させ、前記第1人工知能モデルの事前知識を維持する情報を前記指導学習中の人工知能モデルに提供することができる。前記第1人工知能モデルの事前知識を維持する情報は、前記指導学習中の人工知能モデルと教師モデルとの蒸留損失であってもよい。前記教師モデルは、前記第1人工知能モデルと同一のモデルであってもよい。
【0023】
前記動作方法は、前記特定の機関が有しているデータの中から、前記特化学習に用いる前記第2データセットを抽出する段階と、前記第1人工知能モデルを用いて、前記第2データセットからアノテーションが要求されるアノテーション対象を選別する段階と、前記アノテーション対象に対してラベルがアノテーションされたデータを取得する段階とをさらに含むことができる。
【0024】
前記アノテーション対象を選別する段階は、前記第2データセットの少なくとも一部のデータに対する前記第1人工知能モデルの予測結果を用いて、前記第1人工知能モデルに不確実なデータを前記アノテーション対象に選別することができる。
【0025】
前記アノテーション対象を選別する段階は、前記第1人工知能モデルの特徴空間(feature space)から前記第2データセットの分布を代表するデータを前記アノテーション対象に選別することができる。
【0026】
さらに他の実施例による学習装置であって、命令語を格納するメモリと、前記命令語を実行するプロセッサとを含み、前記プロセッサは、医療機関のデータリポジトリから一定量の医療機関データを抽出し、事前学習された人工知能モデルの事前知識を維持しつつ、前記医療機関データを用いて前記事前学習された人工知能モデルを特化学習させることができる。
【0027】
前記プロセッサは、前記医療機関データに対する前記事前学習された人工知能モデルの予測結果を用いて、前記医療機関データから前記事前学習された人工知能モデルに不確実なデータを抽出し、前記不確実なデータをアノテーションが要求されるアノテーション対象に選別し、前記アノテーション対象に対してラベルがアノテーションされたデータを用いて、前記事前学習された人工知能モデルを指導学習させることができる。前記プロセッサは、前記指導学習中の人工知能モデルに前記事前知識を維持する情報を提供して前記事前知識を維持させることができる。
【0028】
前記プロセッサは、前記医療機関データの分布を代表する一定数の代表データを選別し、前記代表データの中から前記事前学習された人工知能モデルの予測が不確実なデータを選別することができる。前記不確実なデータは、前記事前学習された人工知能モデルで予測された病変別点数(score)の信頼値(confidence)、前記事前学習された人工知能モデルで予測された病変別ヒートマップ(heatmap)のエントロピー(entropy)、そして前記事前学習された人工知能モデルで予測された病変の同時出現(co-occurrence)の少なくとも1つを用いて、選別される。
【発明の効果】
【0029】
実施例によれば、多様な機関は各自のドメイン特性に特化された人工知能モデルを用いることが可能なため、撮影装備、撮影方式、重症度、人種などのドメイン格差による人工知能モデルの性能低下を懸念する必要がない。
【0030】
実施例によれば、人工知能モデルは、安定的動作のための事前知識を維持しつつ、機関ごとの固有データを学習することができる。したがって、実施例によれば、各機関に特化された人工知能モデルは、一般化性能(generalization performance)を提供しながらも、各機関の固有特性が反映された分析結果を提供することができる。
【0031】
実施例によれば、各機関の保有データの中からこれを代表しながらも不確実なデータをアノテーション対象に選別することが可能なため、全体データにアノテーションする必要なく、選別したデータに対してのみアノテーションを要求することができる。したがって、実施例によれば、学習の便宜性を高め、学習時間を低減することができ、学習費用を節約することができる。
【0032】
実施例によれば、人工知能モデルを機関に提供する提供会社は、各機関との契約条件により収集するデータ量やアノテーションが要求されるデータ量を可変する方式で人工知能モデルを差別化することができる。
【図面の簡単な説明】
【0033】
【
図2】一実施例による特化学習方法を説明する図である。
【
図3】他の実施例による特化学習方法を説明する図である。
【
図4】他の実施例による特化学習方法を説明する図である。
【
図5】さらに他の実施例による特化学習方法を説明する図である。
【
図6】一実施例による特化学習を図式的に説明する図である。
【
図7】一実施例による事前学習方法のフローチャートである。
【
図8】一実施例による特化学習のためのデータ収集方法のフローチャートである。
【
図9】一実施例による特化学習方法のフローチャートである。
【
図10】一実施例によるコンピューティング装置の構成図である。
【発明を実施するための形態】
【0034】
以下、添付した図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施できるように詳細に説明する。しかし、本開示は種々の異なる形態で実現可能であり、ここで説明する実施例に限定されない。そして、図面において本開示を明確に説明するために説明上不必要な部分は省略し、明細書全体にわたって類似の部分については類似の図面符号を付した。
【0035】
説明において、ある部分がある構成要素を「含む」とする時、これは、特に反対の記載がない限り、他の構成要素を除くのではなく、他の構成要素をさらに包含できることを意味する。
【0036】
説明において、「伝送または提供」は、直接的な伝送または提供のみならず、他の装置を介してまたは迂回経路を用いて間接的に伝送または提供することも含むことができる。
説明において、単数で記載された表現は、「1つ」または「単一」などの明示的な表現を使わない以上、単数または複数と解釈される。
【0037】
説明において、フローチャートに記載された動作順序は変更可能であり、様々な動作が併合されたり、ある動作が分割されてもよく、特定の動作は行われなくてもよい。
【0038】
説明において、「…部」、「…器」、「…モジュール」などの用語は、少なくとも1つの機能や動作を処理する単位を意味し、これは、ハードウェアやソフトウェア、またはハードウェアおよびソフトウェアの結合で実現できる。
【0039】
説明において、装置は、少なくとも1つのプロセッサが命令語(instructions)を実行することによって、本開示の動作を行えるように構成および連結される。コンピュータプログラムは、プロセッサが本開示の動作を実行するように記述された命令語(instructions)を含み、非一時的-コンピュータ読取可能格納媒体(non-transitory computer readable storage medium)に格納される。コンピュータプログラムは、ネットワークを介してダウンロードされるか、製品の形態で販売される。
【0040】
本開示の人工知能モデル(Artificial Intelligence model、AI model)は、少なくとも1つのタスク(task)を学習する機械学習モデルであって、プロセッサによって実行されるコンピュータプログラムで実現できる。人工知能モデルが学習するタスクとは、機械学習により解決しようとする課題、または機械学習により行おうとする作業を称することができる。例えば、医療イメージ(medical image)から認識、分類、予測などを行うとする時、認識、分類、予測それぞれが個別タスクに対応できる。
【0041】
本開示の人工知能モデルは、入力データ、タスクの種類、学習方法などに合わせて、ニューラルネットワーク(neural network)基盤の多様な機械学習モデル(machine learning model)を用いて構成される。例えば、人工知能モデルが医療イメージを受信する場合、畳み込みニューラルネットワーク(convolutional neural network、CNN)モデルが使用できる。
【0042】
本開示の人工知能モデルは、多様な種類のデータを受信することができる。説明においては、医療イメージを学習データおよび分析データとして用いる人工知能モデルを例に挙げて説明することができ、医療イメージを受信して少なくとも1つのタスクを行う人工知能モデルは、多様な構造で構成される。
【0043】
本開示は、多様なモダリティ(modality)で撮影された多様な部位の医療イメージに対して適用可能であり、例えば、医療イメージのモダリティは、X線(X-ray)、MRI(magnetic resonance imaging)、超音波(ultrasound)、CT(computed tomography)、MMG(Mammography)、DBT(Digital breast tomosynthesis)などのように多様であり得る。
【0044】
説明において、データセットとデータを区分せずに説明することができる。
【0045】
説明において、「使用機関」は、人工知能モデルまたはこれを含む装置(例えば、診断補助装置)を用いる主体または人工知能モデルまたはこれを含む装置が用いられる場所を意味し、例えば、病院、健康診断センター、会社、学校、公共機関などを含むことができる。「使用機関」は、単に「機関」と呼んだり、「ターゲット機関」、「医療機関」、「ターゲット病院」、「使用先」などと呼ぶことができる。
【0046】
説明において、使用機関データは、使用機関が保有したデータであって、例えば、使用機関に設けられたイメージ撮影装備で撮影された医療イメージであるか、使用機関が外部から依頼された医療イメージであってもよい。使用機関データは、例えば、病院のPACS(Picture Archiving and Communication System)に格納された医療イメージであってもよい。
【0047】
説明において、「特化(専門化)(Specialization)」は、事前学習された人工知能モデルが使用機関のデータ(例えば、医療イメージ)に対しても良い性能を出力するようにする過程または動作を意味し、事前学習された人工知能モデルを使用機関に最適化(optimization)する動作、事前学習された人工知能モデルを使用機関のために微細調整(fine-tuning)する動作、事前学習された人工知能モデルを使用機関のためにカストマイズ化(customization)する動作などを含むことができる。ここで、「良い性能」とは、使用機関データに対して人工知能モデルから出力された結果が、「基準性能」と類似していたり良い性能を示す場合を意味することができる。「基準性能」は、多様に設定可能であり、例えば、検証データで評価された事前学習された人工知能モデルの性能指標であってもよい。
【0048】
説明において、事前学習された人工知能モデルを使用機関に特化させるための学習を「特化学習」と呼ぶことができ、「追加学習」とも呼ぶことができる。
【0049】
説明において、事前学習された人工知能モデルは、追加的な特化学習をしなくても、使用機関で使用できるように学習完了した人工知能モデルであってもよい。
【0050】
説明において、人工知能モデルの事前学習のためのデータを、事前学習データと呼ぶことができ、その他にも、人工知能モデルを開発する会社の社内(In-house)データ、基本データ、ソースデータなどと呼ぶことができる。
【0051】
説明において、使用機関データをターゲット病院データ(Target-hospital data)やターゲットデータなどと呼ぶことができる。
【0052】
一般に、人工知能モデルは、学習データでタスクを学習し、検証データで評価された結果が指定された性能に到達すれば学習を終了する。このような学習データと検証データは、多様な条件と環境で取得されたデータであってもよいが、すべての条件とすべての環境を反映することは難しい。このため、学習完了した人工知能モデルであっても、実際に病院で撮影したデータを入力すれば、検証性能に及ばない結果が出てしまう。
【0053】
このような問題は、データが収集された/生成された環境や条件に相当するドメインが異なる故に発生しうる。ドメイン格差は、例えば、撮影装備、撮影方式、重症度、人種などの多様性によって発生しうる。
【0054】
例えば、事前学習データを撮影した装備と使用機関でデータを撮影した装備とが異なる場合、イメージのテクスチャ(texture)などに差が生じることがある。事前学習データの撮影方式と使用機関でデータを撮影する方式とが異なる場合、イメージに含まれている情報に差が生じることがあり、イメージの差によって性能が低下しうる。例えば、撮影方式は、AP(anterior posterior)撮影やPA(posterior anterior)撮影で異なり、手が見えるように撮影したり手が見えないように撮影することができる。
【0055】
事前学習データの重症度分布と使用機関データの重症度分布とに差が生じることがある。例えば、事前学習データは、相対的に重症度の高い患者が多い病院から収集されたが、使用機関は、相対的に重症度の低い患者が多い病院であってもよい。
【0056】
事前学習データの人種分布と使用機関データの人種分布とに差が生じることがある。例えば、事前学習データは、アジア人が利用する病院から収集されたが、使用機関は、人種分布の異なる患者が利用する病院であってもよい。
【0057】
このように、各使用機関が学習完了した人工知能モデルを用いてデータを分析する場合、ドメイン格差によって人工知能モデルの性能が期待より低くなる問題を解決する必要がある。この時、単純に使用機関のデータを用いて事前学習された人工知能モデルを微細調整する場合、人工知能モデルが学習した事前知識を忘れ、一般化性能(generalization performance)に影響を及ぼすようになって、結局、人工知能モデルの安定的動作を保障できない問題がある。
【0058】
よって、以下、人工知能モデルの事前知識を維持しつつ、使用機関のデータを用いて人工知能モデルを学習させる方法について詳しく説明する。そして、以下、使用機関データの中から人工知能モデルの学習のためのデータを選別し、アノテーションが要求されるデータを選別する方法について詳しく説明する。
【0059】
【0060】
図1を参照すれば、学習装置(training apparatus)100は、基本学習器(basic training apparatus)110と、特化学習のためのデータ管理器(単に、「データ管理器」ともいう)130と、使用機関データを用いて基本学習器110で事前学習された人工知能モデル200を特化学習させる特化学習器(specialized training apparatus)150とを含むことができる。説明の便宜のために、使用機関は、ターゲット病院(Target hospital)であり、使用機関データは、ターゲット病院データ(Target-hospital data)と呼ぶことができる。
【0061】
基本学習器110は、事前学習データが格納されたデータベース120と連動し、データベース120の事前学習データを用いて、少なくとも1つのタスク(task)を学習した人工知能モデル200を出力する。人工知能モデル200は、基本人工知能モデル(basic AI model)、事前学習された人工知能モデル(pre-trained AI model)、一般人工知能モデル(general AI model)などと呼ぶことができる。
【0062】
データ管理器130は、使用機関のデータリポジトリ10から、特化学習のための使用機関データを選別し、少なくとも一部がアノテーションされた使用機関データをデータベース140に格納することができる。
【0063】
特化学習器150は、使用機関データが格納されたデータベース140と連動し、データベース140の使用機関データを用いて、事前学習された人工知能モデル200を使用機関データで特化学習させて、使用機関用人工知能モデル300を出力する。特化学習器150は、データベース120の事前学習データを特化学習に用いることができる。特化学習器150で特化学習された人工知能モデル300は、当該使用機関に提供される。特化学習された人工知能モデル300は、例えば、当該機関のデータ分析装置(data analysis apparatus)(例えば、イメージ読取装置)20に搭載可能である。
【0064】
データ管理器130や特化学習器150がクラウドサーバのような中央に位置し、複数の使用機関と連動し、複数の使用機関から要請された特化学習を進行させた後、当該機関に人工知能モデルを提供することができる。あるいは、データ管理器130や特化学習器150が使用機関ごとに配置され、個別的に特化学習を進行させることができる。
【0065】
説明のために、基本学習器110、データ管理器130、そして特化学習器150と名付けて呼ぶが、これらは、少なくとも1つのプロセッサによって動作するコンピューティング装置であってもよい。ここで、基本学習器110、データ管理器130、そして特化学習器150は、1つのコンピューティング装置に実現されるか、別途のコンピューティング装置に分散実現される。別途のコンピューティング装置に分散実現された場合、基本学習器110、データ管理器130、そして特化学習器150は、通信インターフェースを介して互いに通信することができる。
【0066】
一方、基本学習器110、データ管理器130、そして特化学習器150は、人工知能モデルを学習させるのに必要な機械学習モデルで実現できる。説明において、人工知能モデル200および人工知能モデル300を、機械学習により構築しようとする目的モデル(target model)と呼ぶことができる。
【0067】
基本学習器110は、事前学習データを用いて少なくとも1つのタスクを学習した人工知能モデル200を出力する。この時、事前学習データは、多様な機関から取得されたデータおよび/または多様な装備から取得したデータで構成される。その他にも、事前学習データは、多様な撮影方式で取得したデータを含むことができる。このように、最大限多くのデータを事前学習データとして収集する場合、ドメイン格差が存在するのはやむを得ない。したがって、ドメイン一般化(domain generalization)作業により、入力データのドメイン格差を低減する必要がある。
【0068】
基本学習器110は、入力データのドメイン格差を低減するために、学習データを前処理した後、前処理された学習データを用いて人工知能モデル200を学習させることができる。
【0069】
例えば、互いに異なるドメインで取得されたイメージは、テクスチャなどにおいて差がある。基本学習器110は、人工知能モデル200で入力イメージがどの機関やどの装備から取得されたものであるかを区分できないように、ドメインに現れる固有のイメージ特徴を除去することができる。基本学習器110は、イメージ変換(image-to-image translation)により、互いに異なるドメインで取得されたイメージが有するドメイン特徴を除去する前処理を行うことができる。例えば、基本学習器110は、イメージ変換モデルとして敵対的生成ネットワーク(Generative Adversarial Networks、GAN)を用いることができ、判別器(discriminator)と敵対損失(adversarial loss)を用いて、判別器でイメージのドメインを区分できないようにイメージ変換することができる。
【0070】
イメージ水準でのドメイン一般化のほかにも、基本学習器110は、人工知能モデル200の中間レイヤから抽出された中間特徴(intermediate feature)でドメイン一般化を行うことができる。基本学習器110は、敵対的学習により、判別器が入力イメージの中間特徴からドメインを区分できないように人工知能モデルを学習させることができる。
【0071】
データ管理器130は、使用機関のデータリポジトリ(data repository)10から、事前学習された人工知能モデル200を特化学習させるための一定量の使用機関データを抽出する。データ管理器130は、もってきた使用機関データの少なくとも一部を特化学習のための学習データとして決定し、学習データを特化学習器150に提供することができる。この時、データ管理器130は、学習データの少なくとも一部をアノテーション対象として決定し、少なくとも一部がアノテーションされた学習データを特化学習器150に提供することができる。学習データは、異常(abnormal)データと正常(normal)データとを含むことができる。
【0072】
データ管理器130は、使用機関データから、特化学習された人工知能モデル300を評価するための検証データを決定し、検証データを特化学習器150に提供することができる。検証データは、学習データと重ならないように収集される。例えば、検証データの場合、異常(abnormal)データをC個の病変別にN件収集し、正常データをN*C件収集することができる。
【0073】
使用機関のデータリポジトリ10は、例えば、ターゲット病院のPACS(Picture Archiving and Communication System)に格納された医療イメージであってもよい。データ管理器130は、使用機関のデータリポジトリへのアクセスが許可されてデータを直接抽出するか、使用機関のデータリポジトリと連動する中間装置から必要な情報を取得することができる。
【0074】
データ管理器130は、使用機関のデータリポジトリから特化学習に用いるデータ量を決定することができる。データ管理器130は、使用機関のデータ保有量とデータ特性などを考慮して学習に用いるデータ量を決定することができる。データ特性は、重症データ比率、年齢分布、性別分布、人種分布などを含むことができる。例えば、使用機関が大学病院または健康検診センターの場合、全体データ中における異常(abnormal)データの比率が異なる。したがって、各機関のデータ特性を考慮して使用機関ごとにもってくるデータ量が異なる。
【0075】
データ管理器130は、学習に必要なアノテーションデータ量を決定することができる。アノテーションに時間と費用がかかるので、使用機関の要請または使用機関との契約により、アノテーションデータ量が決定可能である。費用節減のために、使用機関データにアノテーションをせずに、特化学習することができる。あるいは、特化された人工知能モデル300の性能を考慮して、使用機関データの少なくとも一部にアノテーションされたデータを用いて、特化学習することができる。この場合、使用機関の費用支払いの意思により、アノテーションデータ量が決定可能である。
【0076】
アノテーションは、イメージ水準のラベル(image-level label)やピクセル水準のラベル(pixel-level label)が可能である。例えば、悪性病変の有無がアノテーションされたイメージ水準のラベルや、病変が輪郭(contour)で表示されたピクセル水準のラベルが可能である。アノテーションの種類および水準は、使用機関で提供可能なラベルの水準や、アノテーション費用により多様に決定可能である。
【0077】
アノテーション方法は、多様であり得る。人間が手動でデータにラベルをアノテーションするか、読取医(映像医学科医師、放射線科医師など)(Radiologist)によって作成されたレポートから抽出されたラベルが当該イメージに自動的にアノテーションされてもよい。
【0078】
データ管理器130は、使用機関データの中からアノテーションが必要なデータ(単に、アノテーション対象)を選別することができる。この時、データ管理器130は、事前学習された人工知能モデル200に不確実なデータをアノテーション対象に選別するか、使用機関データの分布を代表するデータをアノテーション対象に選別することができる。あるいは、データ管理器130は、使用機関データの分布を代表しながらも、事前学習された人工知能モデル200に不確実なデータをアノテーション対象に選別することができる。データ管理器130は、読取医レポート(Radiologist report)が存在するデータがあれば、レポートが存在するデータの中からアノテーション対象を選別することができる。
【0079】
データ管理器130がアノテーション対象を選別する方法は、以下に記述された例示または例示の組み合わせによる方法であってもよい。
【0080】
例えば、データ管理器130は、抽出した使用機関データの不確実性(Uncertainty)および/または多様性(Diversity)を測定してアノテーション対象を選別することができる。データ管理器130は、使用機関データを代表する一定数の代表データの中から事前学習された人工知能モデルの予測が不確実なデータを選別することができる。
【0081】
データ管理器130は、使用機関データから少なくとも一部のデータに対して不確実性を測定し、アノテーション対象を選択することができる。データ管理器130は、事前学習された人工知能モデル200の予測値を用いて不確実性点数を定義し、基準以上の不確実性点数を有するデータまたは不確実性点数が最も大きい上位k個のデータをアノテーション対象に選別することができる。
【0082】
不確実性点数は、例えば、次のように定義される。
【0083】
一実施例によれば、事前学習された人工知能モデル200で予測された病変別点数(score)の信頼値(confidence)を活用して、不確実性が測定される。事前学習された人工知能モデル200でデータに対して予測した病変別不確実性点数は、数式1のように定義され、データの不確実性点数は、病変の不確実性点数のうち最大値あるいは平均値に設定可能である。ここで、病変点数は、0と1の間の確率値であり、不確実性点数は、病変点数が確実に陽性(positive)または確実に陰性(negative)でない中間値であるほど、不確実性が高まるように定義される。
【0084】
[数1]
病変の不確実性点数=1-|病変点数-0.5|
【0085】
他の実施例によれば、事前学習された人工知能モデル200で予測された病変別ヒートマップ(heatmap)のエントロピー(entropy)を活用して、不確実性が測定される。病変別不確実性点数は、病変別2次元ヒートマップを1つの1次元ベクトルと見なして測定したエントロピーで定義される。データの不確実性点数は、病変の不確実性点数のうち最大値あるいは平均値に設定可能である。ここで、エントロピーは、ベクトルにおかれた値が似ているほど、高い値を有するが、これは、事前学習された人工知能モデル200で病変を確実に区分できないということであるので、エントロピーが高いほど、不確実性点数が高くなる。
【0086】
さらに他の実施例によれば、病変の同時出現(co-occurrence)により不確実性が測定される。事前学習された人工知能モデル200で予測された病変の点数が似ているほど、人工知能モデル200がデータから病変の予測を困難にすることであるので、データの不確実性点数は高くなる。データ管理器130は、C個の病変の点数をまとめて長さCのベクトルを作り、ベクトルのエントロピーを測定してデータの不確実性点数を得ることができる。先に説明したように、ベクトルにおかれた値が似ているほど、不確実性点数が高くなる。
【0087】
あるいは、データ管理器130は、数式2のように、C個の病変の点数のうち上位2個の病変点数の差を用いて不確実性点数を測定することができる。つまり、上位2個の病変点数の差が少ないほど、人工知能モデル200が病変を確実に区分できないということであるので、不確実性点数が高くなる。
【0088】
[数2]
データの不確実性点数=1-|最も大きい病変点数-2番目に大きい病変点数|
【0089】
病変の同時出現(co-occurrence)に基づいて不確実性点数を計算する方法を例に挙げて説明する。
【0090】
表1を参照すれば、人工知能モデル200がデータ1およびデータ2に対して5個の病変またはクラスである点数(確率)を出力すると仮定する。データ1とデータ2に対して予測された結果を比較すれば、データ2のベクトル(0.8、0.7、0.2、0.4、0.3)を構成する5個の値の間の差がデータ1より似ていて、データ2は、データ1より不確実性点数が高く測定される。あるいは、データ2に現れる上位2個(a=0.8、b=0.7)の病変点数の差は0.1であり、データ1に現れる上位2個(a=0.8、b=0.2)の病変点数の差は0.6であるので、データ2は、データ1より不確実性点数が高く測定される。したがって、データ管理器130は、データ2をアノテーション対象に選別し、データ2に対するアノテーションを行うか、アノテーションを要請することができる。
【0091】
【0092】
データ管理器130は、事前学習された人工知能モデル200の特徴空間(feature space)から使用機関データの分布を代表するデータをアノテーション対象に選択することができる。データ管理器130は、多様性(diversity)を測定して、k個の代表データを選択し、これをアノテーション対象として決定することができる。k個の代表データを選択する方法は、多様であり得る。例えば、使用機関データの中からk個のデータがランダム抽出(random sampling)される。使用機関データに対してk-meansクラスタリング後、各クラスタ中心(cluster centroid)と最も近いk個のデータが選択される。k-center greedy algorithmを用いて、使用機関データの全体分布をデルタ(δ)半径でカバーできるk個のデータが選択される。あるいは、Robust k-center algorithmを用いて、使用機関データの全体分布をデルタ(δ)半径でカバーできるk個のデータが選択される。
【0093】
データ管理器130は、読取医レポート(Radiologist report)が存在するデータがあれば、読取医レポートが存在するデータの中からアノテーション対象を選別することができる。この場合、データ管理器130は、特化学習のための病変、そして陽性/陰性比率を考慮してアノテーション対象を選別することができる。データ管理器130は、レポートから病変の存在の有無をはじめとする情報を抽出するために、別途の言語処理モデルを用いることができる。言語処理モデルは、例えば、自然語処理(Natural Language Processing、NLP)モデル、深層言語モデル(deep language model)などが使用できる。
【0094】
データ管理器130は、読取医レポートが存在するデータに対する事前学習された人工知能モデル200の予測値を用いて、アノテーション対象を選別することができる。読取医レポートの情報と人工知能モデル200の予測とが不一致のデータが、アノテーション対象に選別される。
【0095】
データ管理器130によって選別されたアノテーション対象のアノテーションは、多様に行われる。
【0096】
例えば、データ管理器130は、アノテーション装置にアノテーション対象を提供することができ、アノテーション装置からラベルがアノテーションされたデータを受けることができる。注釈者(annotator)がアノテーション装置でデータにラベルを記載するか、アノテーション装置が自動/半自動(semi-automatic)でデータにラベルを記載することができる。
【0097】
データ管理器130は、読取医レポートが存在するデータの場合、読取医レポートから抽出した情報を当該データにアノテーションすることができる。
【0098】
データ管理器130は、注釈者のために、アノテーション対象に対する人工知能モデル200の予測結果を提供し、アノテーション作業が半自動(semi-automatic)で行われるように動作できる。人工知能モデル200の予測結果として、病変別点数や輪郭、データの異常点数(abnormality score)などが注釈者に提供され、注釈者は予測結果を参照して正確で速やかなアノテーション作業を行うことができる。
【0099】
一方、費用節減のために、使用機関データにアノテーションをせずに、特化学習をする場合、データ管理器130は、もってきた使用機関データをすべて学習データとして提供することができる。あるいは、データ管理器130は、もってきた使用機関データの中から、病変別点数、病変別不確実性点数、異常点数などのメトリックを用いて、一部のデータを学習データとして選択することができる。病変別点数、病変別不確実性点数、異常点数などのメトリックは、事前学習された人工知能モデルから抽出可能である。例えば、病変別予測点数の高い上位N%が学習データとして選択される。あるいは、点数区間別に一定比率の学習データが選択され、例えば、[0、1]を割る複数の区間それぞれで指定された比率のデータが学習データとして選択される。
【0100】
特化学習器150は、データ管理器130から提供された学習データを用いて、事前学習された人工知能モデル200を学習させて、使用機関のための人工知能モデル300を生成する。この時、使用機関データやアノテーションされたデータが学習に十分な程度に多くないことがある。また、すでに学習された人工知能モデル200が十分でない新たなデータを用いて追加学習する過程で、事前学習した事前知識を忘れる致命的忘却(Catastrophic forgetting)が問題とされうる。したがって、特化学習器150は、人工知能モデル200の事前知識を記憶する学習方法を用い、これについては以下に詳しく説明する。事前知識を記憶する学習方法は、事前知識を忘れない学習(learning without forgetting)と呼ぶことができる。
【0101】
特化学習器150は、学習データ量、アノテーションされたデータ量、学習データ特性などを考慮して、特化学習方法を決定することができる。
【0102】
特化学習のための学習データは、少なくとも一部がアノテーションされたデータを含むことができる。学習データがアノテーションされたデータを含む場合、指導学習(supervised training)を使用できる。学習データがアノテーションされたデータを含まない場合、準指導学習(semi-supervised learning)や非指導学習(unsupervised domain adaptation)が使用できる。
【0103】
特化学習器150は、事前学習された人工知能モデル200の事前知識が変化しないようにする損失を定義し、これを用いて特化学習することができる。例えば、アノテーションされた使用機関データのために、指導損失(supervised loss)が使用できる。アノテーションされていない使用機関データのために、非指導損失(unsupervised loss)が使用できる。また、人工知能モデル200の事前学習に用いられた一部データの予測を変化しないようにする損失が使用可能である。特化学習器150は、特化学習のために定義された損失の少なくとも一部を用いて、使用機関データを用いた人工知能モデルの学習を行うことができる。
【0104】
図2は、一実施例による特化学習方法を説明する図である。
【0105】
図2を参照すれば、特化学習器150は、事前学習で習得した事前知識を記憶しながら、使用機関データに特化された人工知能モデル300を生成する。このために、特化学習器150は、学生モデル(Student model)が教師モデル(Teacher model)を模倣しながら学習する知識蒸留(Knowledge distillation)を活用することができる。
【0106】
使用機関は、ターゲット病院(Targeted hospital)であり、使用機関データは、ターゲット病院データ(Target-hospital data)であってもよい。
【0107】
知識蒸留基盤の学習のために、教師モデル(Teacher model)400は、事前学習された人工知能モデル200であり、事前学習された人工知能モデル200に固定(freeze)される。学習前の学生モデル(Student model)420は、事前学習された人工知能モデル200であり、もっている事前知識を忘れることなく、特化学習した後、特化学習した人工知能モデル300になる。一般に、知識蒸留は、大きさの大きい教師モデルを模倣して大きさの小さい学生モデルを生成するために用いられる。これとは異なり、本開示において、初期(initial)学生モデル420は、学習前にすでに教師モデル400と同一の人工知能モデル200である状態で、使用機関データを用いた特化学習により最終的に特化学習された人工知能モデル300になってもよい。つまり、本開示の学生モデル420は、使用機関データを用いて特化学習する間、自ら元々もっていた事前知識を維持するために教師モデル400の助けを受けるのである。説明においては、学生モデル420の初期モデルが事前学習された人工知能モデル200であると説明するが、学生モデル420の初期モデルが必ずしも事前学習された人工知能モデル200でなくても、教師モデル400から伝達された事前知識を学習できるモデルでも構わない。
【0108】
特化学習器150は、事前学習された人工知能モデル200を教師モデル400に配置し、事前学習された人工知能モデル200を学生モデル420に配置した後、学生モデル420に対して事前知識維持学習と使用機関データを用いた特化学習を進行させる。学生モデル420の特化学習中に事前知識維持学習を併せて進行させることによって、学生モデル420が特化学習によって事前知識を忘れないように、学習させることができる。特化学習器150は、事前知識維持学習過程で計算された損失(蒸留損失、distillation loss)と特化学習過程で計算された損失(指導損失、supervised loss)とを重み付け合算し、重み付け合算された損失を学生モデル420に逆伝播(backpropagation)して学生モデル420を学習させることができる。蒸留損失と指導損失の重み付け値は、多様に決定可能である。
【0109】
事前知識維持学習のために、人工知能モデル200の事前学習に用いられた事前学習データ(pre-training data)が用いられるか、使用機関データが用いられる。事前知識維持学習のためのデータは、特化学習器150がアクセスできるデータ範囲により決定可能である。この時、事前知識維持学習のためのデータは、ラベルがなくても構わない。事前知識維持学習に用いられるデータは、もっている事前学習データや使用機関データの中から、病変別点数、病変別不確実性点数、異常点数などのメトリックを用いて、選択することができる。例えば、病変別点数の高い上位N%が学習データとして選択される。あるいは、点数区間別に一定比率の学習データが選択され、例えば、[0、1]を割る複数の区間それぞれで指定された比率のデータが学習データとして選択される。
事前知識維持学習は、次のように行われる。
【0110】
特化学習器150は、教師モデル400と学生モデル420に同一のデータを入力し、教師モデル400と学生モデル420から得られる中間特徴(intermediate feature)および/または出力(output)を類似するようにする蒸留損失(distillation loss)を計算し、蒸留損失を学生モデル420に提供して、学生モデル420が教師モデル400と似た値を出力するように学習させることができる。これにより、学生モデル420は、事前知識を忘れない。中間特徴を用いた蒸留損失として、2つの中間特徴のグラム行列(GRAM matrix)間L1/L2損失、コサイン類似度、L1/L2損失が使用できる。最終出力を用いた蒸留損失として、2つのモデルの予測値間のcross-entropyが使用できる。
【0111】
特化学習のために、ラベルがアノテーションされた使用機関データが用いられる。一方、特化学習のために、人工知能モデル200の事前学習に用いられた事前学習データが併せて使用できる。
【0112】
特化学習器150は、学生モデル420をアノテーションされたデータを用いて指導学習させることができる。特化学習器150は、学生モデル420が入力データに対して予測した値と入力データのラベルの差である指導損失(supervised loss)を計算し、指導損失を学生モデル420に提供して、学生モデル420を指導学習させることができる。指導損失として、cross-entropy、binary cross-entropyなどが使用できる。
【0113】
特化学習器150は、使用機関データから抽出された検証データを用いて、事前知識維持学習と特化学習を完了した学生モデル420を検証することができる。検証データは、学習に用いられたデータと異なるデータであってもよい。
【0114】
性能検証を満たしている場合、特化学習器150は、学生モデル420の学習を終了し、使用機関に提供することができる。
【0115】
もし、性能検証を満たしていない場合、特化学習器150は、性能検証を満たすまで学生モデル420を繰り返し学習させることができる。このために、特化学習器150は、データ管理器130に使用機関データの中からアノテーション対象の再選別を要請し、再選別されたデータを用いて、学習を繰り返すことができる。
【0116】
図3と
図4は、他の実施例による特化学習方法を説明する図である。
【0117】
図3と
図4を参照して、特化学習器150が、アノテーションされていない使用機関データを用いて、学習対象の人工知能モデル500a、500bを学習させる方法を説明する。
【0118】
まず、
図3を参照すれば、特化学習器150は、非指導ドメイン適応(unsupervised domain adaptation)により、使用機関データをドメインが異なる事前学習データに適応させる学習をさせることができる。ここで、事前学習データは、タスクに対するラベルがアノテーションされたデータであり、使用機関データ(target-hospital data)は、ラベルがアノテーションされていないデータの場合を仮定する。人工知能モデル500aの初期モデルは、事前学習された人工知能モデル200であってもよい。あるいは、人工知能モデル500aの初期モデルは、事前学習された人工知能モデル200でなくても、事前学習データと使用機関データを学習できるモデルであってもよい。
【0119】
人工知能モデル500aは、ラベルを有する事前学習データを用いて、タスクを学習しながら、ラベルなしに可能な任意のタスク(Task Free)も併せて学習する。そして、人工知能モデル500aは、ラベルがアノテーションされていない使用機関データを用いて、ラベルなしに可能な任意のタスクを学習する。人工知能モデル500aは、タスク損失(task loss)/指導損失(supervised loss)を学習しながら、タスク無関係損失(Task free loss)/非指導損失(unsupervised loss)を学習することができる。
【0120】
ラベルなしに可能な学習として、例えば、ドメイン分類(domain classification)学習、ドメイン敵対学習(domain adversarial learning)、自己指導学習(Self-supervised learning)などがある。ドメイン分類学習は、入力データがどの機関から収集されたものであるかを区分する学習である。ドメイン敵対学習は、入力データがどの機関から収集されたものであるかを区分できないように特徴を生成する学習である。自己指導学習は、回転予測(rotation prediction)のように、もっているデータから自らラベルを作って学習することである。
【0121】
特化学習器150は、使用機関データから抽出された検証データを用いて、人工知能モデル500aを検証することができる。検証データは、学習に用いられたデータと異なるデータであってもよい。性能検証を満たしている場合、人工知能モデル500aの学習が終了し、使用機関に提供される。
【0122】
図4を参照すれば、特化学習器150は、事前学習された人工知能モデル200で使用機関データから予測された結果を用いて、使用機関データの臨時ラベル(pseudo-label)を取得することができる。ここで、事前学習データは、タスクに対するラベルがアノテーションされたデータであり、使用機関データは、ラベルがアノテーションされていないデータである場合を仮定する。
【0123】
特化学習器150は、臨時ラベル(pseudo-label)がアノテーションされた使用機関データとラベルがアノテーションされた事前学習データを用いて、人工知能モデル500bを学習させることができる。人工知能モデル500bの初期モデルは、事前学習された人工知能モデル200であってもよい。あるいは、人工知能モデル500bの初期モデルは、事前学習された人工知能モデル200でなくても、事前学習データと使用機関データを学習できるモデルであってもよい。
【0124】
特化学習器150は、使用機関データから抽出された検証データを用いて、人工知能モデル500bを検証することができる。検証データは、学習に用いられたデータと異なるデータであってもよい。性能検証を満たしている場合、人工知能モデル500bの学習が終了し、使用機関に提供される。
【0125】
図5は、さらに他の実施例による特化学習方法を説明する図である。
【0126】
図5を参照すれば、アノテーションされていない使用機関データを用いた学習のために、特化学習器150は、スタイル変換予測器(Style shift predictor)600を学習させることができる。
【0127】
スタイル変換予測器600は、使用機関データと事前学習データを受信し、使用機関データと事前学習データが有するスタイル分布の差を低減するスタイル変換関数(f)620を求める学習を行うことができる。この時、スタイル変換関数(f)は、イメージの情報量を変換しない可逆(invertible)関数であってもよい。
【0128】
データのスタイル分布は、多様に定義される。例えば、イメージの明るさ(brightness)がスタイルと定義される場合、特化学習器150は、スタイル変換予測器600により、事前学習に用いられたイメージの明るさ平均と使用機関からもってきたイメージの明るさ平均を調整する明るさ変換関数を求めることができる。あるいは、スタイルは、データに含まれている特徴の平均、分散で定義されてもよい。スタイルは、イメージスタイルを表現できる多様なスカラー(scalar)やベクトル(vector)で定義される。
【0129】
特化学習器150は、新たな使用機関データをスタイル変換関数(f)に変換し、スタイル変換されたデータを事前学習された人工知能モデル200に入力してスタイル変換関数を検証することができる。
【0130】
以後、使用機関で生成された新規使用機関データは、スタイル変換関数(f)に変換された後、事前学習された人工知能モデル200に入力される。
【0131】
図6は、一実施例による特化学習を図式的に説明する図である。
【0132】
図6を参照すれば、事前学習データ(pre-training data)によって基本人工知能モデル(basic AI model)200が事前学習される(1)。人工知能モデル200は、入力データのドメイン格差を低減するために前処理された事前学習データを受信することができる。事前学習データは、イメージ変換(image-to-image translation)により、互いに異なるドメインで取得されたイメージが有するドメイン特徴が除去される。あるいは、人工知能モデル200は、中間特徴(intermediate feature)が有するドメイン特徴を除去する学習を行うことができる。敵対学習により事前学習データのドメイン格差を低減するドメイン一般化が行われる。
【0133】
使用機関のデータリポジトリ(data repository)10から、異常学習データ、正常学習データ、そして検証データが抽出される(2、3、4)。学習装置100は、データリポジトリ10のデータ保有量とデータ特性などを考慮して、特化学習に用いるデータ量を決定することができる。
【0134】
異常学習データの中から、アノテーションが必要なアノテーション対象が選別される(5)。アノテーション対象として、事前学習された人工知能モデル200に不確実なデータや使用機関データの分布を代表するデータが選別される。あるいは、使用機関データの分布を代表しながらも、事前学習された人工知能モデル200に不確実なデータがアノテーション対象に選別される。使用機関データの不確実性(Uncertainty)および/または多様性(Diversity)に基づいてアノテーション対象が選別される。不確実性は、事前学習された人工知能モデル200で予測された病変別点数(score)の信頼値(confidence)を活用して測定されるか、事前学習された人工知能モデル200で予測された病変別ヒートマップ(heatmap)のエントロピー(entropy)を活用して測定されるか、病変の同時出現(co-occurrence)を考慮して測定される。使用機関データの分布を代表する多様性のために、アノテーション対象は、ランダム抽出(random sampling)されるか、k個の代表データが選別される。読取医レポート(Radiologist report)が存在するデータの中からアノテーション対象が選別される。
【0135】
アノテーション対象にアノテーションされたラベルが提供される(6)。学習装置100は、アノテーション装置にアノテーション対象を提供することができ、アノテーション装置からラベルがアノテーションされたデータを受けることができる。注釈者(annotator)がアノテーション装置でデータにラベルを記載するか、アノテーション装置が自動/半自動(semi-automatic)でデータにラベルを記載することができる。学習装置100は、読取医レポートから抽出した情報をアノテーション対象のラベルでアノテーションすることができる。学習装置100は、注釈者のために、アノテーション対象に対する人工知能モデル200の予測結果を提供し、アノテーション作業が半自動(semi-automatic)で行われるように動作できる。
【0136】
人工知能モデル300が、学習データを用いて特化学習する(7)。人工知能モデル300は、事前知識を忘れることなく、使用機関データを用いて特化学習する。このために、人工知能モデル300は、
図2にて説明したように、基本人工知能モデル200から提供された蒸留損失を学習しながら、基本人工知能モデル200が有する事前知識を忘れないように学習(事前知識維持学習)を行うことができる。人工知能モデル300は、基本人工知能モデル200を初期モデルとして用いて特化学習することができる。
【0137】
特化学習された人工知能モデル300は、検証データで検証される(8)。
【0138】
性能検証が基準を満たない場合、使用機関のデータリポジトリ10から、異常学習データが再選別されるか、アノテーション対象が再選別される(9)。再選別された学習データや再選別されたアノテーション対象を用いて、人工知能モデル300が再び特化学習を進行させる。
【0139】
性能検証を満たしている場合、人工知能モデル300の学習を終了し、使用機関に提供される(10)。
【0140】
図7は、一実施例による事前学習方法のフローチャートである。
【0141】
図7を参照すれば、学習装置100は、人工知能モデルの事前学習のためのデータセットを収集する(S110)。この時、データセットは、多様な機関から取得されたデータ、多様な装備から取得したデータ、多様な撮影方式で取得したデータなどを含むことができて、ドメイン格差が存在しうる。
【0142】
学習装置100は、入力データのドメイン格差を低減しつつ、データセットを用いて人工知能モデルを学習させる(S120)。そのためのドメイン一般化方式として、入力データの前処理により入力データのドメイン特徴を除去する方式、そして人工知能モデルで抽出された特徴からドメイン特徴を除去する方式が使用できる。
【0143】
学習装置100は、入力データのドメイン特徴を除去する前処理を行い、前処理された入力データを用いて人工知能モデルを学習させることができる。例えば、学習装置100は、イメージ変換(image-to-image translation)により、互いに異なるドメインで取得されたイメージが有するドメイン特徴を除去する前処理を行うことができる。学習装置100は、判別器(discriminator)と敵対損失(adversarial loss)を用いて、判別器でイメージのドメインを区分できないように入力データを変換するイメージ変換モデルを学習させることができる。
【0144】
あるいは、学習装置100は、判別器を用いて、人工知能モデルの中間で抽出された中間特徴(intermediate feature)からドメインを区分できないように人工知能モデルを学習させることができる。
【0145】
図8は、一実施例による特化学習のためのデータ収集方法のフローチャートである。
【0146】
図8を参照すれば、学習装置100は、使用機関(例えば、ターゲット病院)が有している全体データの中から、特化学習に用いるデータセットを抽出する(S210)。特化学習に用いるデータセットは、異常(abnormal)学習データと正常(normal)学習データ、そして検証データを含むことができ、病変の数、病変別収集件数に応じて決定可能である。この時、学習装置100は、使用機関のデータ保有量とデータ特性などを考慮して学習に用いるデータ量を決定することができる。特化学習に用いるデータ量は、使用機関ごとに異なる。データ特性は、異常(abnormal)データの比率(重症データ比率)、年齢分布、性別分布、人種分布などを含むことができる。
【0147】
学習装置100は、抽出したデータセットから使用機関データの分布を代表しながら、事前学習された人工知能モデルに不確実なデータをアノテーション対象に選別する(S220)。学習装置100は、事前学習された人工知能モデルに不確実なデータや、使用機関データの分布を代表するデータを選別することができる。学習装置100は、アノテーション対象を選別するために、使用機関データの不確実性(Uncertainty)および/または多様性(Diversity)を用いることができる。不確実性は、事前学習された人工知能モデルで予測された病変別点数(score)の信頼値(confidence)を活用して測定されるか、事前学習された人工知能モデル200で予測された病変別ヒートマップ(heatmap)のエントロピー(entropy)を活用して測定されるか、病変の同時出現(co-occurrence)を考慮して測定される。使用機関データの分布を代表する多様性のために、アノテーション対象は、ランダム抽出(random sampling)されるか、k個の代表データが選別される。読取医レポート(Radiologist report)が存在するデータの中からアノテーション対象が選別される。アノテーションデータ量は、特化学習された人工知能モデルの性能に応じて可変的に決定されるか、使用機関の要請に応じて一定量で決定される。一方、
図3から
図5にて例を挙げて説明したように、使用機関データに別途のアノテーション作業をせずに、人工知能モデルを学習させることもできる。
【0148】
学習装置100は、選別されたアノテーション対象に対するアノテーションを行うか、アノテーション対象に対する人工知能モデルの予測結果を提供して注釈者のアノテーション作業を支援する(S230)。学習装置100は、読取医レポートから抽出した情報をアノテーション対象のラベルでアノテーションすることができる。学習装置100は、注釈者のために、アノテーション対象に対する人工知能モデル200の予測結果を提供し、アノテーション作業が半自動(semi-automatic)で行われるように動作できる。学習装置100の注釈者にアノテーション対象を提供し、アノテーション対象のラベルを受信することができる。
【0149】
学習装置100は、アノテーションされたデータを含むデータセットを人工知能モデルの学習データとして提供する(S240)。
【0150】
学習装置100は、学習データで学習された人工知能モデルの検証結果に応じて、人工知能モデルの再学習のためのデータが必要であるかを判断する(S250)。
【0151】
学習装置100は、特化学習された人工知能モデルの学習が終了した場合、使用機関からのデータ収集を終了する(S260)。
学習装置100は、再学習のためのデータが必要な場合、アノテーションされていないデータを新たなアノテーション対象に選別する(S270)。学習装置100は、使用機関が有している全体データの中から抽出していない新たなデータを選別することができる。
このように、学習装置100は、学習が終了するまで、繰り返しアノテーション対象を再選別したり使用機関データを再抽出して、アノテーションされたデータを含む新たなデータセットを人工知能モデルの特化学習データとして提供することができる。
【0152】
図9は、一実施例による特化学習方法のフローチャートである。
【0153】
図9を参照すれば、学習装置100は、使用機関から収集したデータで人工知能モデルを学習させながら、事前学習により習得した事前知識を忘れないように学習させる。このために、特化学習中の人工知能モデル(学生モデル)が事前学習された人工知能モデル(教師モデル)の中間特徴および/または最終出力をついていくようにする蒸留損失(distillation loss)を用いて、人工知能モデルが事前知識を忘れることなく、新たなデータを学習することができる。
【0154】
学習装置100は、使用機関から収集したデータセットの中からアノテーションされたデータを用いて、人工知能モデルを指導学習させる(S310)。特化学習のために、ラベルがアノテーションされた使用機関データが使用可能であり、また、ラベルがアノテーションされた事前学習データが使用可能である。学習装置100は、入力データに対する人工知能モデルの出力とラベルとを比較して指導損失を計算し、指導損失を人工知能モデルに逆伝播することができる。学習装置100は、指導学習中の人工知能モデルに、教師モデルが入力データに対して出力した中間特徴および/または最終出力をついていくようにする蒸留損失を提供して、事前知識維持学習をさせる(S320)。教師モデルは、事前学習データで事前学習された人工知能モデルであってもよい。指導学習中の人工知能モデルの初期モデルは、事前学習された人工知能モデルであってもよい。事前知識維持学習のために、使用機関データや事前学習データが使用できるが、ラベルがないデータでも構わない。一方、学習装置100は、事前学習データや使用機関データの中から、病変別点数、病変別不確実性点数、異常点数などのメトリックを用いて、事前知識維持学習に用いられるデータを選択することができる。
【0155】
学習装置100は、学習された人工知能モデルを使用機関に提供する(S330)。つまり、特化学習された人工知能モデルが使用機関データに対して良い性能を出力する場合、当該使用機関で使用できるように提供される。
【0156】
学習装置100は、指導損失と蒸留損失を重み付け値により重み付け合算し、重み付け合算された損失を学習中の人工知能モデルに逆伝播して、事前知識維持学習と特化学習を同時に進行させることができる。
【0157】
一方、学習装置100は、使用機関から収集した検証データを用いて、学習された人工知能モデルを検証することができる。検証データを用いた検証は、必要に応じて行われる。検証結果に応じて、学習装置100は、再学習のための使用機関データを再選別し、再選別されたデータを用いて人工知能モデルの再学習を進行させる。
【0158】
このように、人工知能モデルは、アノテーションされた使用機関データを用いてタスクを学習しながらも、事前学習データで学習した事前知識を忘れずに有している。したがって、本開示によれば、人工知能モデルは、使用機関データを用いて使用機関のドメインに現地化(localization)されながらも、使用機関データによって事前学習した事前知識を忘れる致命的忘却(Catastrophic forgetting)なしに、安定的に動作する。
【0159】
一方、人工知能モデルは、アノテーションされた使用機関データを用いて特化学習することができ、また、
図3から
図5にて説明したように、アノテーションされていない使用機関データを用いて、特化学習することができる。
【0160】
図10は、一実施例によるコンピューティング装置の構成図である。
【0161】
図10を参照すれば、学習装置100、またはこれを構成する基本学習器110、データ管理器130、そして特化学習器150は、少なくとも1つのプロセッサによって動作するコンピューティング装置700で実現できる。
【0162】
コンピューティング装置700は、1つ以上のプロセッサ710と、プロセッサ710によって行われるコンピュータプログラムをロードするメモリ730と、コンピュータプログラムおよび各種データを格納する格納装置750と、通信インターフェース770と、これらを連結するバス790とを含むことができる。その他にも、コンピューティング装置700は、多様な構成要素がさらに含まれる。プロセッサ710は、コンピューティング装置700の動作を制御する装置であって、コンピュータプログラムに含まれている命令語を処理する多様な形態のプロセッサであってもよく、例えば、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、MCU(Micro Controller Unit)、GPU(Graphic Processing Unit)、または本開示の技術分野にてよく知られた任意の形態のプロセッサの少なくとも1つを含んで構成される。
【0163】
メモリ730は、各種データ、命令および/または情報を格納する。メモリ730は、本開示の動作を実行するように記述された命令語がプロセッサ710によって処理されるように当該コンピュータプログラムを格納装置750からロードすることができる。メモリ730は、例えば、ROM(read only memory)、RAM(random access memory)などであってもよい。
【0164】
格納装置750は、コンピュータプログラム、各種データを非臨時的に格納することができる。格納装置750は、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリなどのような不揮発性メモリ、ハードディスク、着脱型ディスク、または、本開示の属する技術分野にてよく知られた任意の形態のコンピュータで読み込み可能な記録媒体を含んで構成される。
【0165】
通信インターフェース770は、有/無線通信を支援する有/無線通信モジュールであってもよい。
【0166】
バス790は、コンピューティング装置700の構成要素間の通信機能を提供する。
【0167】
コンピュータプログラムは、プロセッサ710によって実行される命令語(instructions)を含み、非一時的-コンピュータ読取可能格納媒体(non-transitory computer readable storage medium)に格納され、命令語はプロセッサ710が本開示の動作を実行するようにする。コンピュータプログラムは、ネットワークを介してダウンロードされるか、製品の形態で販売される。
【0168】
一実施例によるコンピュータプログラムは、人工知能モデルの事前学習のためのデータセットを収集し、指定されたドメインの一般化方式により、収集されたデータセットを用いて人工知能モデルを学習させる命令語を含むことができる。コンピュータプログラムは、入力データのドメイン特徴を除去する前処理を行い、前処理された入力データを用いて人工知能モデルを学習させる命令語を含むことができる。コンピュータプログラムは、イメージ変換により、互いに異なるドメインで取得されたイメージが有するドメイン特徴を除去する前処理を行い、判別器(discriminator)と敵対損失(adversarial loss)を用いて、判別器でイメージのドメインを区分できないように入力データを変換するようにイメージ変換モデルを学習させる命令語を含むことができる。コンピュータプログラムは、判別器により人工知能モデルの中間で抽出された中間特徴からドメインを区分できないように人工知能モデルを学習させる命令語を含むことができる。
【0169】
他の実施例によるコンピュータプログラムは、使用機関が有している全体データの中から、特化学習に用いるデータセットを抽出する命令語、抽出したデータセットから使用機関データの分布を代表しながら、事前学習された人工知能モデルに不確実なデータをアノテーション対象に選別する命令語、選別されたアノテーション対象に対するアノテーションを行うか、アノテーション作業を支援する命令語、アノテーションされたデータを含むデータセットを人工知能モデルの学習データとして提供する命令語、学習データで学習された人工知能モデルの検証結果に応じて人工知能モデルの再学習のためのデータが必要な場合、使用機関が有している全体データの中から抽出しない新たなデータを選別するか、アノテーションされていないデータを新たなアノテーション対象に選別して新たなデータセットを生成する命令語を含むことができる。
【0170】
さらに他の実施例によるコンピュータプログラムは、使用機関から収集したデータセットの中からアノテーションされたデータを用いて、人工知能モデルを指導学習させる命令語を含むことができる。コンピュータプログラムは、指導学習中の人工知能モデルに、教師モデルが入力データに対して出力した中間特徴および/または最終出力をついていくようにする蒸留損失を提供して、事前知識維持学習をさせる命令語を含むことができる。コンピュータプログラムは、事前学習データや使用機関データの中から、病変別予測点数、病変別不確実性点数、異常点数などのメトリックを用いて、事前知識維持学習に用いられるデータを選択する命令語を含むことができる。コンピュータプログラムは、使用機関から収集した検証データを用いて、学習された人工知能モデルを検証する命令語、性能検証が基準を満たない場合、再学習のための使用機関データを再選別し、再選別されたデータを用いて人工知能モデルの再学習を進行させる命令語、そして性能検証を満たしている場合、学習装置100は、学習を終了し、学習された人工知能モデルを使用機関に提供する命令語を含むことができる。
【0171】
実施例によれば、多様な機関は、各自のドメイン特性に特化された人工知能モデルを用いることが可能なため、撮影装備、撮影方式、重症度、人種などのドメイン格差による人工知能モデルの性能低下を懸念する必要がない。
【0172】
実施例によれば、人工知能モデルは、安定的動作のための事前知識を維持しつつ、機関ごとの固有データを学習することができる。したがって、実施例によれば、各機関に特化された人工知能モデルは、一般化性能(generalization performance)を提供しながらも、各機関の固有特性が反映された分析結果を提供することができる。
【0173】
実施例によれば、各機関の保有データの中からこれを代表しながらも不確実なデータをアノテーション対象に選別することが可能なため、全体データにアノテーションする必要なく選別したデータに対してのみアノテーションを要求することができる。したがって、実施例によれば、学習の便宜性を高め、学習時間を低減することができ、学習費用を節約することができる。
【0174】
実施例によれば、人工知能モデルを機関に提供する提供会社は、各機関との契約条件によりアノテーションが要求されるデータ量を可変する方式で人工知能モデルを差別化することができる。
【0175】
以上説明した本開示の実施例は、装置および方法によってのみ実現されるわけではなく、本開示の実施例の構成に対応する機能を実現するプログラムまたはそのプログラムが記録された記録媒体により実現されてもよい。
【0176】
以上、本開示の実施例について詳細に説明したが、本開示の権利範囲はこれに限定されるものではなく、以下の特許請求の範囲で定義している本開示の基本概念を利用した当業者の様々な変形および改良形態も本開示の権利範囲に属する。