(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-06
(45)【発行日】2024-06-14
(54)【発明の名称】重症度判断用のニューラルネットワーク学習方法及びシステム
(51)【国際特許分類】
G06V 10/82 20220101AFI20240607BHJP
G06T 7/00 20170101ALI20240607BHJP
G06V 10/774 20220101ALI20240607BHJP
G01N 33/48 20060101ALI20240607BHJP
【FI】
G06V10/82
G06T7/00 350C
G06V10/774
G01N33/48 M
(21)【出願番号】P 2022572515
(86)(22)【出願日】2021-06-03
(86)【国際出願番号】 KR2021006967
(87)【国際公開番号】W WO2021246811
(87)【国際公開日】2021-12-09
【審査請求日】2023-01-13
(31)【優先権主張番号】10-2020-0068641
(32)【優先日】2020-06-05
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】519208133
【氏名又は名称】ディープ バイオ インク
(74)【代理人】
【識別番号】100120008
【氏名又は名称】山田 くみ子
(72)【発明者】
【氏名】キム ソンウ
(72)【発明者】
【氏名】カク テヨン
(72)【発明者】
【氏名】チャン ヘユン
(72)【発明者】
【氏名】ムン イェチャン
【審査官】▲柳▼谷 侑
(56)【参考文献】
【文献】国際公開第2019/199392(WO,A1)
【文献】Shusuke Takahama et al.,Multi-Stage Pathological Image Classification using Semantic Segmentation,[online],2020年02月27日,https://ieeexplore.ieee.org/document/9008792
【文献】Muhammad Shaban et al.,Context-Aware Convolutional Neural Network for Grading of Colorectal Cancer Histology Images,[online],2020年02月03日,https://ieeexplore.ieee.org/document/8979298
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/82
G06T 7/00
G06V 10/774
G01N 33/48
(57)【特許請求の範囲】
【請求項1】
病理スライド画像を所定の単位寸法に分割したそれぞれのパッチが入力されると、入力されたパッチに所定の疾病による病変が存在するか否かに対する判断結果を出力するように、あらかじめ学習済みのニューラルネットワークである病変判断用ニューラルネットワークと、
前記病理スライド画像に基づいて前記疾病の重症度を判断するための重症度判断用のニューラルネットワークを格納するストレージモジュールと、
所定の学習用画像に基づいて、前記重症度判断用のニューラルネットワークを学習する重症度判断用のニューラルネットワーク学習モジュールと、
前記疾病の重症度がそれぞれラベル付けされている複数の病理スライド画像のそれぞれに対して、前記重症度判断用のニューラルネットワーク学習モジュールが、前記病理スライド画像に基づいて、前記重症度判断用のニューラルネットワークを学習するように制御する制御モジュールと、を含み、
前記重症度判断用のニューラルネットワーク学習モジュールは、
前記学習用画像が、前記単位寸法に分割された複数のパッチのそれぞれに対して、前記パッチが入力された前記病変判断用ニューラルネットワークが、前記パッチに対する判断結果を出力する過程で生成される特徴を抽出する特徴抽出モジュールと、
前記学習用画像を構成する前記複数のパッチのそれぞれに対応する特徴に基づいて、前記学習用画像に対応する特徴マップを生成する特徴マップ生成モジュールと、
前記学習用画像に対応する特徴マップを、前記学習用画像の重症度ラベルでラベル付けするラベル付けモジュールと、
前記学習用画像に対応する特徴マップを、前記重症度判断用のニューラルネットワークに入力して、前記重症度判断用のニューラルネットワークを学習する学習モジュールと、
を含
み、 前記病変判断用ニューラルネットワークは、
前記単位寸法を有する画像が入力されると、入力された画像が前記疾病による病変が存在しない第1状態であるか、もしくは、前記疾病による病変が存在する第2状態であるかを判断するためのオートエンコーダを含む病変判断用ニューラルネットワーク学習システムによって行われる病変判断用のニューラルネットワーク学習方法によりあらかじめ学習されており、
前記病変判断用のニューラルネットワーク学習方法は、
前記第1状態または前記第2状態のうちのいずれか一つでラベル付けされている複数の事前学習用の病理スライド画像のそれぞれに対して、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階と、
前記複数の
事前学習用の病理スライド画像のそれぞれに対応する事前学習用パッチに基づいて、前記病変判断用ニューラルネットワークを学習する段階と、を含み、
前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階は、
前記事前学習用の病理スライド画像を構成する各事前学習用パッチを、学習中の前記病変判断用ニューラルネットワークに入力して、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性を算出する段階と、
前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階と、
を含む、
重症度判断用のニューラルネットワーク学習システム。
【請求項2】
前記オートエンコーダは、前記単位寸法を有し、前記疾病による病変を含まない正常パッチのみであらかじめ学習されており、
前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階は、
前記事前学習用の病理スライド画像が第1状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、
前記事前学習用の病理スライド画像が第2状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、
を含む、請求項
1に記載の重症度判断用のニューラルネットワーク学習システム。
【請求項3】
前記病変判断用ニューラルネットワークは、
病変判断用ニューラルネットワーク学習システムによって行われる病変判断用のニューラルネットワーク学習方法によりあらかじめ学習されており、
前記病変判断用のニューラルネットワーク学習方法は、
前記第1状態または前記第2状態のうちのいずれか一つでラベル付けされている複数の事前学習用の病理スライド画像のそれぞれに対して、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階と、
前記複数の
事前学習用
の病理スライド画像のそれぞれに対応する事前学習用パッチに基づいて、前記病変判断用ニューラルネットワークを学習する段階と、を含み、
前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階は、
前記事前学習用の病理スライド画像を構成する各事前学習用パッチを、学習中の前記病変判断用ニューラルネットワークに入力して、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性を算出する段階と、
前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階と、
を含む、請求項1に記載の重症度判断用のニューラルネットワーク学習システム。
【請求項4】
病理スライド画像を所定の単位寸法に分割したそれぞれのパッチが入力されると、入力されたパッチに所定の疾病による病変が存在するか否かに対する判断結果を出力するようにあらかじめ学習済みのニューラルネットワークである病変判断用ニューラルネットワークと、前記病理スライド画像に基づいて前記疾病の重症度を判断するための重症度判断用のニューラルネットワークと、を含むコンピューティングシステムで実行される重症度判断用のニューラルネットワーク学習方法であって、
前記疾病の重症度がそれぞれラベル付けされている複数の病理スライド画像を獲得する段階と、
前記複数の病理スライド画像のそれぞれに対して、前記病理スライド画像に基づいて前記重症度判断用のニューラルネットワークを学習する段階と、を含み、
前記病理スライド画像に基づいて前記重症度判断用のニューラルネットワークを学習する段階は、
前記病理スライド画像が前記単位寸法に分割された複数のパッチのそれぞれに対して、前記パッチが入力された前記病変判断用ニューラルネットワークが前記パッチに対する判断結果を出力する過程で生成される特徴を抽出する段階と、
前記病理スライド画像を構成する前記複数のパッチのそれぞれに対応する特徴に基づいて、前記病理スライド
画像に対応する特徴マップを生成する段階と、
前記病理スライド
画像に対応する特徴マップを前記病理スライド
画像の重症度ラベルでラベル付けする段階と、
前記病理スライド
画像に対応する特徴マップを前記重症度判断用のニューラルネットワークに入力して前記重症度判断用のニューラルネットワークを学習する段階と、
を含
み、
前記病変判断用ニューラルネットワークは、
前記単位寸法を有する画像が入力されると、入力された画像が前記疾病による病変が存在しない第1状態であるか、もしくは、前記疾病による病変が存在する第2状態であるかを判断するためのオートエンコーダを含む病変判断用ニューラルネットワーク学習システムによって行われる病変判断用のニューラルネットワーク学習方法によりあらかじめ学習されており、
前記病変判断用のニューラルネットワーク学習方法は、
前記第1状態または前記第2状態のうちのいずれか一つでラベル付けされている複数の事前学習用の病理スライド画像のそれぞれに対して、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階と、
前記複数の
事前学習用
の病理スライド画像のそれぞれに対応する事前学習用パッチに基づいて、前記病変判断用ニューラルネットワークを学習する段階と、を含み、
前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階は、
前記事前学習用の病理スライド画像を構成する各事前学習用パッチを、学習中の前記病変判断用ニューラルネットワークに入力して、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性を算出する段階と、
前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階と、
を含む、
重症度判断用のニューラルネットワーク学習方法。
【請求項5】
前記オートエンコーダは、前記単位寸法を有し、前記疾病による病変を含まない正常パッチのみであらかじめ学習されており、
前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階は、
前記事前学習用の病理スライド画像が第1状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、
前記事前学習用の病理スライド画像が第2状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、
を含む、請求項
4に記載の重症度判断用のニューラルネットワーク学習方法。
【請求項6】
前記病変判断用ニューラルネットワークは、
病変判断用ニューラルネットワーク学習システムによって行われる病変判断用のニューラルネットワーク学習方法によりあらかじめ学習されており、
前記病変判断用のニューラルネットワーク学習方法は、
前記第1状態または前記第2状態のうちのいずれか一つでラベル付けされている複数の事前学習用の病理スライド画像のそれぞれに対して、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階と、
前記複数の
事前学習用
の病理スライド画像のそれぞれに対応する事前学習用パッチに基づいて、前記病変判断用ニューラルネットワークを学習する段階と、を含み、
前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階は、
前記事前学習用の病理スライド画像を構成する各事前学習用パッチを、学習中の前記病変判断用ニューラルネットワークに入力して、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性を算出する段階と、
前記事前学習用の病理スライド画像を構成する各パッチ別の可能性に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階と、
を含む、請求項
4に記載の重症度判断用のニューラルネットワーク学習方法。
【請求項7】
データ処理装置にインストールされ、請求項
4乃至
6のいずれか一項に記載の方法を実行するための、記録媒体に格納されたコンピュータプログラム。
【請求項8】
請求項
4乃至
6のいずれか一項に記載の方法を実行するためのコンピュータプログラムが格納されたコンピュータ読み取り可能な記録媒体。
【請求項9】
コンピューティングシステムであって、
プロセッサ及びメモリーを含み、
前記メモリーは、前記プロセッサによって実行される場合、前記コンピューティングシステムに請求項
4乃至
6のいずれか一項に記載の方法を実行させるコンピューティングシステム。
【請求項10】
請求項
4に記載の病変判断用のニューラルネットワークと、
請求項
4に記載の重症度判断用のニューラルネットワーク学習方法によって学習された重症度判断用のニューラルネットワークを格納するニューラルネットワークストレージモジュールと、
判断対象の病理スライド画像を分割した複数の診断パッチのそれぞれに対して、前記診断パッチが入力された前記病変判断用ニューラルネットワークが、前記診断パッチに対する判断結果を出力する過程で生成される特徴を抽出する診断特徴抽出モジュールと、
前記判断対象の病理スライド画像を構成する前記複数の診断パッチのそれぞれに対応する特徴に基づいて生成される特徴マップを、前記重症度判断用のニューラルネットワークに入力して、前記重症度判断用のニューラルネットワークによる診断結果を出力する重症度出力モジュールと、
を含む、ニューラルネットワークを用いた重症度診断システム。
【請求項11】
前記複数の診断パッチが入力された前記病変判断用ニューラルネットワークによって獲得された前記複数の診断パッチのそれぞれの判断結果に基づいて、前記判断対象
の病理スライド画像のヒートマップを出力する病変領域出力モジュールをさらに含む、請求項1
0に記載の重症度診断システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、重症度判断用のニューラルネットワーク学習方法及びシステムに関し、より詳しくは、重症度標識(ラベル)を付与された病理スライド画像を用いて、パッチ単位の重症度診断を行うニューラルネットワークを、効果的に学習することができる方法及びシステムに関する。
【背景技術】
【0002】
近年は、機械学習の発達によって、画像を認識したり、または分類するなどの作業を、コンピュータシステムによって自動化しようとする試みが盛んに行われている。特に、機械学習の一種であるニューラルネットワーク(例えば、畳み込みニューラルネットワーク(Convolution Neural Network、CNN)を用いたディープラーニング方式)を用いて人間が実行してきた各種分類や判断を自動化するための試みが行われており、ニューラルネットワーク(例えば、CNN)を用いたディープラーニングを用いて生体画像(例えば、患者の生体組職スライド)を読み出して特定の疾病に対する状態または兆候を判断する診断を行うことを代表的な例として挙げられる。
【0003】
生体組職の像など病理ホールスライド画像(Whole Slide Image)の分析に基づいて、疾病の重症度(例えば、前立腺がんのグリーソンスコア(Gleason score)、グリーソングレードグループ(Gleason grade group)、膀胱がんや・乳がんのグレード(grade)など)を自動で判断する重症度診断機は、患者の予後を判断するなどの病理診断業務の生産性を高めることができる。
【0004】
ニューラルネットワークを用いた重症度診断機は、大きく、次のような二つの方式で開発することができる。一つの方式は、End-to-Endスライド単位の重症度情報のみで重症度診断機を開発する方式(スライド単位の重症度診断方式)である。これは、領域単位の特徴を抽出して、統合した情報を活用してスライド単位で重症度を診断する方式である。スライド単位の重症度診断方式は、領域単位の重症度標識情報なしにスライド単位の重症度情報のみでニューラルネットワークを学習することができるという長所があるが、スライド単位の診断結果に対する説明力が弱く、かつ正確度が劣るという短所がある。もう一つの方式は、パッチ(スライドを一定のサイズに分割した領域)単位の重症度診断機及びスライド単位重症度診断機をそれぞれ開発する方式である。これは、領域単位の重症度診断結果を取りまとめてスライド単位の重症度を診断する方式である。この方式は、スライド単位の診断結果に対する説明力が上昇するが、ニューラルネットワーク学習のためにパッチ単位の重症度標識情報が必須に求められるという短所がある。
【0005】
一方、一般に、医師によって診断が行われた病理スライドには、病変の領域に関する情報は付与されていないが、病変の有無情報は付与されていることがある。病理スライドに対する病変の有無情報だけで、病変領域を検出する検出器を学習する方法のうちの一つとして、マルチインスタンス学習(Multiple Instance Learning)という学習法がある。
【0006】
以下では本発明の背景技術の一つであるマルチインスタンス学習について、
図1a及び
図1bを参照して説明する。
【0007】
一つのインスタンス(instance)を学習単位として使用する個別インスタンス学習とは異なり、マルチインスタンス学習においては、インスタンスの集合であるバッグ(Bag)を学習単位として見なす。したがって、個別インスタンス学習では、インスタンスにラベルを付けることに対し、マルチインスタンス学習では、インスタンスではないバッグにラベルを付けるようになる。マルチインスタンス学習は、学習単位の側面を除き、個別インスタンス学習に類似するが、次のような制約事項をさらに有する。二進分類を行うにおいて、バッグがポジティブ(positive)であれば、少なくともバッグ内に存在するインスタンスのうちの一つ以上がポジティブであり、バッグがネガティブ(negative)であれば、バッグ内にすべてのインスタンスがネガティブであることを、仮定する。
【0008】
かかる特徴によってマルチインスタンス学習は、例えば、ニューラルネットワークを利用して病理ホールスライド画像(Whole Slide Image)から病変を診断する分野に適用され得る。病変を診断するニューラルネットワークを学習するためには、ホールスライド画像ではなく、これを一定のサイズに分割した画像パッチを学習データとして用いるようになるが、病変の有無に関する情報(すなわち、ラベル)は、パッチ単位ではなく、ホールスライド画像に付与されているからである。
【0009】
図1aは、マルチインスタンス学習に用いられる学習データの一例を示した図である。
図1は、それぞれN個のデータインスタンスを含むM個のバッグ(B
1からB
M)を示している。
図1において、バッグB
iは、L
iでラベル付けされており(ここで、iは1≦i≦Mである任意の整数)、データインスタンスD
ijは、バッグB
iに含まれているj番目のインスタンスを示す(ここで、jは1≦j≦Nである任意の整数)。
【0010】
図1bは、マルチインスタンス学習法を通じてニューラルネットワーク(NN)を学習する過程の一例を示す疑似コード(pseudo code)を示した図である。
図1bは、1エポック(epoch)分の学習データを学習する過程を示しており、実際の学習過程では多数のエポック分の学習が進められることができる。
図1bでは、
図1aに示された学習データで学習が進められると仮定する。
【0011】
図1bを参照すれば、マルチインスタンス学習においては、まず、各々のバッグ(B
1からB
M)から学習データインスタンス(T
1からT
M)を抽出する過程(S10)が実行され、その後、抽出された学習データインスタンスでニューラルネットワーク(NN)を訓練する過程(S20)が実行される。
【0012】
S10段階についてより詳しく説明すると、バッグBiに対して次の過程が行われる(ここで、iは1≦i≦Mである任意の整数)。
【0013】
現在学習が進行中であるニューラルネットワーク(NN)バッグBi内の各データインスタンスを入力して当該インスタンスがポジティブ(positive;例えば、病変が存在する)である可能性を算出する(S11、S12)。
【0014】
バッグBi内のすべてのデータインスタンスの中で、当該データインスタンスがポジティブの可能性が最大のデータインスタンスDikを学習データインスタンスTiと決定し(S13)、学習データインスタンスTiのラベルはバッグBiに付与されたラベルになる(S14)。
【0015】
前述した従来のマルチインスタンス学習では、一つのバッグ当たり一つのインスタンスを抽出して学習に利用するので、ニューラルネットワークの性能を高めるためには、多くの量のバッグを要するという問題点がある。例えば、病変を検出するためのニューラルネットワークに、既存のマルチインスタンス学習を利用するためには、病変有無に関する標識が付された多数のホールスライド画像が必要になることである。
【0016】
また、前述したように、マルチインスタンス学習では、学習データインスタンスの抽出過程で、学習が完了する前のニューラルネットワークが用いられるので、一つのバッグから多数のデータインスタンスを抽出すると、誤ったインスタンスが抽出される可能性が高くなるという問題点が発生するようになる。
【発明の概要】
【発明が解決しようとする課題】
【0017】
本発明が達成しようとする技術的な課題は、ニューラルネットワークを用いた重症度診断機を開発するための従来の方式がもつ問題点である、i)スライド単位の重症度情報のみでニューラルネットワークを学習する場合、診断の正確度が劣るという点、ii)パッチ単位の重症度診断を行うニューラルネットワーク学習のためには、パッチ単位の重症度標識情報が必須に求められるという点を克服すべく、重症度標識(ラベル)を付与された病理スライド画像を用いてパッチ単位の重症度診断を行うニューラルネットワークを効果的に学習することができる方法及びシステムを提供する。
【課題を解決するための手段】
【0018】
本発明の一態様によれば、病理スライド画像を所定の単位寸法に分割したそれぞれのパッチが入力されると、入力されたパッチに所定の疾病による病変が存在するか否かに対する判断結果を出力するように、あらかじめ学習済みのニューラルネットワークである病変判断用ニューラルネットワークと、前記病理スライド画像に基づいて前記疾病の重症度を判断するための重症度判断用のニューラルネットワークを格納するストレージモジュールと、所定の学習用画像に基づいて、前記重症度判断用のニューラルネットワークを学習する重症度判断用のニューラルネットワーク学習モジュールと、前記疾病の重症度がそれぞれラベル付けされている複数の病理スライド画像のそれぞれに対して、前記重症度判断用のニューラルネットワーク学習モジュールが、前記病理スライド画像に基づいて、前記重症度判断用のニューラルネットワークを学習するように制御する制御モジュールと、を含み、前記重症度判断用のニューラルネットワーク学習モジュールは、前記学習用画像が、前記単位寸法に分割された複数のパッチのそれぞれに対して、前記パッチが入力された前記病変判断用ニューラルネットワークが、前記パッチに対する判断結果を出力する過程で生成される特徴を抽出する特徴抽出モジュールと、前記学習用画像を構成する前記複数のパッチのそれぞれに対応する特徴に基づいて、前記学習用画像に対応する特徴マップを生成する特徴マップ生成モジュールと、前記学習用画像に対応する特徴マップを、前記学習用画像の重症度ラベルでラベル付けするラベル付けモジュールと、前記学習用画像に対応する特徴マップを、前記重症度判断用のニューラルネットワークに入力して、前記重症度判断用のニューラルネットワークを学習する学習モジュールと、を含む重症度判断用のニューラルネットワーク学習システムが提供される。
【0019】
一実施形態において、前記病変判断用ニューラルネットワークは、前記単位寸法を有する画像が入力されると、入力された画像が前記疾病による病変が存在しない第1状態であるか、もしくは、前記疾病による病変が存在する第2状態であるかを判断するためのオートエンコーダを含む病変判断用ニューラルネットワーク学習システムによって行われる病変判断用のニューラルネットワーク学習方法によりあらかじめ学習されており、前記病変判断用のニューラルネットワーク学習方法は、前記第1状態または前記第2状態のうちのいずれか一つでラベル付けされている複数の事前学習用の病理スライド画像のそれぞれに対して、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階と、前記複数の学習用画像のそれぞれに対応する事前学習用パッチに基づいて、前記病変判断用ニューラルネットワークを学習する段階と、を含み、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階は、前記事前学習用の病理スライド画像を構成する各事前学習用パッチを、学習中の前記病変判断用ニューラルネットワークに入力して、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性を算出する段階と、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階と、を含むことができる。
【0020】
一実施形態において、前記オートエンコーダは、前記単位寸法を有し、前記疾病による病変を含まない正常パッチのみであらかじめ学習されており、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階は、前記事前学習用の病理スライド画像が第1状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、前記事前学習用の病理スライド画像が第2状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、を含むことができる。
【0021】
本発明の他の一態様によれば、病理スライド画像を所定の単位寸法に分割したそれぞれのパッチが入力されると、入力されたパッチに所定の疾病による病変が存在するか否かに対する判断結果を出力するようにあらかじめ学習済みのニューラルネットワークである病変判断用ニューラルネットワークと、前記病理スライド画像に基づいて前記疾病の重症度を判断するための重症度判断用のニューラルネットワークと、を含むコンピューティングシステムで実行される重症度判断用のニューラルネットワーク学習方法であって、前記疾病の重症度がそれぞれラベル付けされている複数の病理スライド画像を獲得する段階と、前記複数の病理スライド画像のそれぞれに対して、前記病理スライド画像に基づいて前記重症度判断用のニューラルネットワークを学習する段階と、を含み、前記病理スライド画像に基づいて前記重症度判断用のニューラルネットワークを学習する段階は、前記病理スライド画像が前記単位寸法に分割された複数のパッチのそれぞれに対して、前記パッチが入力された前記病変判断用ニューラルネットワークが前記パッチに対する判断結果を出力する過程で生成される特徴を抽出する段階と、前記病理スライド画像を構成する前記複数のパッチのそれぞれに対応する特徴に基づいて、前記病理スライドに対応する特徴マップを生成する段階と、前記病理スライドに対応する特徴マップを前記病理スライドの重症度ラベルでラベル付けする段階と、前記病理スライドに対応する特徴マップを前記重症度判断用のニューラルネットワークに入力して前記重症度判断用のニューラルネットワークを学習する段階と、を含む重症度判断用のニューラルネットワーク学習方法が提供される。
【0022】
一実施形態において、前記病変判断用ニューラルネットワークは、前記単位寸法を有する画像が入力されると、入力された画像が前記疾病による病変が存在しない第1状態であるか、もしくは、前記疾病による病変が存在する第2状態であるかを判断するためのオートエンコーダを含む病変判断用ニューラルネットワーク学習システムによって行われる病変判断用のニューラルネットワーク学習方法によりあらかじめ学習されており、前記病変判断用のニューラルネットワーク学習方法は、前記第1状態または前記第2状態のうちのいずれか一つでラベル付けされている複数の事前学習用の病理スライド画像のそれぞれに対して、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階と、前記複数の学習用画像のそれぞれに対応する事前学習用パッチに基づいて、前記病変判断用ニューラルネットワークを学習する段階と、を含み、前記事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階は、前記事前学習用の病理スライド画像を構成する各事前学習用パッチを、学習中の前記病変判断用ニューラルネットワークに入力して、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性を算出する段階と、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階と、を含むことができる。
【0023】
一実施形態において、前記オートエンコーダは、前記単位寸法を有し、前記疾病による病変を含まない正常パッチのみであらかじめ学習されており、前記事前学習用の病理スライド画像を構成する各パッチ別の可能性、及び前記事前学習用の病理スライド画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階は、前記事前学習用の病理スライド画像が第1状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、前記事前学習用の病理スライド画像が第2状態でラベル付けされた場合、第2状態である可能性が最も高いパッチから第2状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、を含むことができる。
【0024】
本発明の他の一態様によれば、データ処理装置にインストールされ、前述した方法を実行するための、記録媒体に格納されたコンピュータプログラムが提供される。
【0025】
本発明の他の一態様によれば、前述した方法を実行するためのコンピュータプログラムが格納されたコンピュータで読み取り可能な記録媒体が提供される。
【0026】
本発明の他の一態様によれば、コンピューティングシステムであって、プロセッサ及びメモリーを含み、前記メモリーは、前記プロセッサによって実行される場合、前記コンピューティングシステムに前述した方法を実行させるコンピューティングシステムが提供される。
【0027】
本発明の他の一態様によれば、上述した病変判断用ニューラルネットワークと、上述した重症度判断用のニューラルネットワーク学習方法によって学習された重症度判断用のニューラルネットワークを格納するニューラルネットワークストレージモジュールと、判断対象の病理スライド画像を分割した複数の診断パッチのそれぞれに対して、前記診断パッチが入力された前記病変判断用ニューラルネットワークが、前記診断パッチに対する判断結果を出力する過程で生成される特徴を抽出する診断特徴抽出モジュールと、前記判断対象の病理スライド画像を構成する前記複数の診断パッチのそれぞれに対応する特徴に基づいて生成される特徴マップを、前記重症度判断用のニューラルネットワークに入力して、前記重症度判断用のニューラルネットワークによる診断結果を出力する重症度出力モジュールと、を含むニューラルネットワークを用いた重症度診断システムが提供される。
【0028】
一実施形態において、前記複数の診断パッチが入力された前記病変判断用ニューラルネットワークによって獲得された前記複数の診断パッチのそれぞれの判断結果に基づいて、前記判断対象画像のヒートマップを出力する病変領域出力モジュールをさらに含むことができる。
【発明の効果】
【0029】
本発明の技術的思想によれば、重症度標識(ラベル)を付与された病理スライド画像を用いて、パッチ単位の重症度診断を行うニューラルネットワークを効果的に学習することができる方法及びシステムを提供することができる。
【0030】
さらに、オートエンコーダ及びマルチインスタンス学習法を用いて、少数の学習データでもニューラルネットワークの性能を高めることができるという効果がある。
【図面の簡単な説明】
【0031】
本発明の詳細な説明で引用される図面を、より十分に理解するために、各図面の簡単な説明が提供される。
【0032】
【
図1】
図1aは、マルチインスタンス学習に用いられる学習データの一例を示した図である。
図1bは、マルチインスタンス学習法を通じてニューラルネットワークを学習する過程の一例を示す疑似コード(pseudo code)を示した図である。
【
図2】
図2は、本発明の技術的思想による重症度判断用のニューラルネットワークの学習方法の概略的な流れを説明するための図である。
【
図3】
図3は、本発明の技術的思想による重症度判断用のニューラルネットワークの学習方法によって学習された重症度判断用のニューラルネットワークを含む、スライド単位診断機の動作方式の一例を概略的に示した図である。
【
図4】
図4は、本発明の一実施形態による重症度判断用のニューラルネットワークの学習システムの概略的な構成を示したブロック図である。
【
図5】
図5は、本発明の一実施形態による重症度判断用のニューラルネットワークの学習システムに含まれる重症度判断用のニューラルネットワーク学習モジュールの構成を概略的に示したブロック図である。
【
図6】
図6は、本発明の一実施形態による重症度判断用のニューラルネットワーク学習方法の一例を示したフローチャートである。
【
図7】
図7は、学習済みの重症度判断用のニューラルネットワークを含む判断システムの概略的な構成を示した図である。
【
図8】
図8は、本発明の一実施形態による病変判断用ニューラルネットワークを学習する方法を実行するための病変判断用ニューラルネットワーク学習システムの概略的な構成を示した図である。
【
図9】
図9は、病変判断用のニューラルネットワーク学習方法で用いられるオートエンコーダの構造を概略的に示した図である。
【
図10】
図10は、本発明の一実施形態による病変判断用ニューラルネットワーク学習システムが学習用データインスタンスを抽出する方法の一例を示した図である。
【発明を実施するための形態】
【0033】
本発明は、多様な変形を加えることができ、種々の実施例を有することができるので、特定の実施形態を図面に例示して詳細な説明に詳細に説明する。しかし、これは、本発明を特定の実施形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれるすべての変形、均等物乃至代替物を含むものと理解されなければならない。本発明を説明するにあたり、関連した公知の技術に対する具体的な説明が本発明の要旨を濁らす恐れがあると判断される場合、その詳細な説明を省略する。
【0034】
第1の、第2のなどの用語は、多様な構成要素を説明するのに使われることができるが、これらの構成要素は、用語によって限定されてはならない。用語は、一つの構成要素を他の構成要素から区別する目的のみで使われる。
【0035】
本出願で使用した用語は、ただ特定の実施形態を説明するために使われたもので、本発明を限定しようとする意図ではない。単数の表現は文脈上明らかに他の意味ではない限り、複数の表現を含む。
【0036】
本明細書において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらの組み合わせが存在することを指定しようとするものであって、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらの組み合わせなどの存在または付加可能性をあらかじめ排除しないものと理解されなければならない。
【0037】
また、本明細書においては、いずれか一つの構成要素が他の構成要素にデータを「送信」する場合は、構成要素は、他の構成要素に直接データを送信してもよく、少なくとも一つのまた他の構成要素を介してデータを他の構成要素に送信してもよいことを意味する。逆に、いずれか一つの構成要素が他の構成要素にデータを「直接送信」する場合は、構成要素から他の構成要素を介さず他の構成要素にデータが送信されることを意味する。
【0038】
以下、添付図面を参照して本発明の実施例を中心に本発明を詳しく説明する。各図面において同一の部材には同一の符号を付してある。
【0039】
本明細書におけるニューラルネットワークは、多層パーセプトロンモデルを含み、人工ニューラルネットワークを定義する一連の設計事項を表現する情報の集合を意味することができる。
【0040】
一実施形態において、ニューラルネットワークは、畳み込みニューラルネットワークであってもよい。畳み込みニューラルネットワークは、周知のように、入力層、複数の隠れ層、及び出力層を含むことができる。複数の隠れ層のそれぞれは、畳み込み層及びプーリング層(またはサブサンプリング層)を含むことができる。
【0041】
畳み込みニューラルネットワークは、これらの各々の層を定義するための関数、フィルター、ストライド(stride)、ウェイトファクターなどによって定義されることができる。また、出力層は、フィードフォワード(Feed-Forward)型全結合(fully-connected)層と定義されることができる。
【0042】
畳み込みニューラルネットワークを構成するそれぞれの層別設計事項は、広く知られている。例えば、複数の層に含まれる層の数、複数の層を定義するための畳み込み関数、プーリング関数、活性化関数のそれぞれに対しては、公知の関数が利用されてもよく、本発明の技術的思想を実現するために別途定義された関数が利用されてもよい。
【0043】
畳み込み関数の一例としては、離散畳み込み和などが挙げられる。プーリング関数の一例としては、最大値プーリング(max pooling)、平均値プーリング(average pooling)などが用いられることができる。活性化関数の一例としては、シグモイド(sigmoid)、ハイパボリックタンジェント(tanh)、ReLU(rectified linear unit)などが挙げられる。
【0044】
このような畳み込みニューラルネットワークの設計事項が定義されればその設計事項が定義された畳み込みニューラルネットワークがストレージ装置に格納されることができる。そして、畳み込みニューラルネットワークが学習されると、それぞれの層にあたるウェイトファクターが特定される。
【0045】
すなわち、畳み込みニューラルネットワークの学習は、それぞれの層のウェイトファクターが決定されるプロセスを意味することができる。そして、畳み込みニューラルネットワークが学習されれば、学習済みの畳み込みニューラルネットワークは、入力層に入力データが入力されてあらかじめ定義された出力層を介して出力データを出力することができる。
【0046】
本発明の実施形態によるニューラルネットワークは、上記のように広く知られた設計事項のうちのいずれか一つまたは複数個を選択して定義されてもよく、独自の設計事項がニューラルネットワークのために定義されてもよい。
【0047】
ニューラルネットワークは、入力されたデータのクラス分類(classification)に利用可能なクラス分類ニューラルネットワークであることができる。クラス分類ニューラルネットワークは、入力されたデータに対する判断結果をあらかじめ定義されたn個(nは2以上の整数)の結果のうちのいずれか一つに分類するためのニューラルネットワークであることができる。
【0048】
本発明の技術的思想による重症度判断用のニューラルネットワークの学習方法によって学習される重症度判断用のニューラルネットワークは、病理スライド画像から所定の疾病の重症度を判断するためのニューラルネットワークであってもよい。重症度とは、疾病の度合いを離散的に区分したものであって、疾病の種類によって、あらかじめ定義されることもでき、例えば、重症度は、疾病の種類によって、前立腺がんのグリーソンスコア(Gleason score)、グリーソングレードグループ(Gleason grade group)、膀胱がんや乳がんのグレード(grade)などが挙げられる。
【0049】
図2は、本発明の技術的思想による重症度判断用のニューラルネットワークの学習方法の大略的な流れを説明するための図である。
【0050】
図2を参照すれば、本発明の技術的思想による重症度判断用のニューラルネットワーク112の学習方法を実現するためには、あらかじめ学習済みの病変判断用のニューラルネットワーク111が備えられていなければならない。病変判断用のニューラルネットワーク111は、パッチ(例えば、10-1)が入力されると所定の疾病による病変が入力されたパッチ10-1に存在するか否かに対する判断結果を出力するニューラルネットワークであってもよく、重症度判断用のニューラルネットワーク112に対する学習過程が実行される前に、あらかじめ学習済みのニューラルネットワークであってもよい。ここで、パッチ(例えば、10-1)は、病理スライド画像(例えば、組職スライド画像;10)を所定の単位寸法に分割した一部の画像であってもよい。
【0051】
図2に示されたように、学習用病理スライド画像10がパッチ単位に入力されると、病変判断用のニューラルネットワーク111は、各パッチ別に病変有無に対する判断結果を出力することができる。
【0052】
なお、病変判断用のニューラルネットワーク111が、各パッチ別に病変有無に対する判断結果を出力する過程で、病変判断用のニューラルネットワーク111内には、入力されたパッチに対応する特徴が生成され、学習用病理スライド画像10を構成するそれぞれのパッチ別に特徴が併合されて学習用病理スライド画像10に対応する特徴マップ20が生成可能である。例えば、学習用病理スライド10が、x行及びy列に分割されて各パッチを形成し、パッチ別の特徴がz次元である場合、特徴マップ20は、x*y*z次元のデータであってもよく、併合される各特徴同士間の相対的な位置は、それに対応する各パッチ同士間の相対的位置と同じであってもよい。
【0053】
こうして生成された学習用病理スライド画像10に対応する特徴マップ20は、学習用病理スライド画像10のラベル11でラベル付けされることができる。すなわち、学習用病理スライド画像10に対応する特徴マップ20のラベル21は、学習用病理スライド画像10のラベル11と同様に設定できる。
【0054】
その以後、ラベル21が付された特徴マップ20は、重症度判断用のニューラルネットワーク112に入力されて重症度判断用のニューラルネットワーク112を学習するのに用いることができる。
【0055】
学習された重症度判断用のニューラルネットワーク112は、スライド単位重症度診断機に適用されることができ、
図3は、本発明の技術的思想による重症度判断用のニューラルネットワークの学習方法によって学習された重症度判断用のニューラルネットワークを含むスライド単位診断機の動作方式の一例を概略的に示した図である。
【0056】
図3を参照すれば、診断対象になる診断対象病理スライド画像30が、パッチ(例えば、30-1)単位で分割されて病変判断用のニューラルネットワーク111に入力されれば、病変判断用のニューラルネットワーク111は、各パッチ別特徴を生成することができる。各パッチ別特徴が併合された特徴マップ40は、重症度判断用のニューラルネットワーク112に入力され、重症度判断用のニューラルネットワーク112は、診断対象病理スライド画像30に対応する重症度判断結果を出力することができる。
【0057】
一方、スライド単位重症度診断機は、病変判断用のニューラルネットワーク111が出力する各パッチ別の病変有無判断結果に基づき、診断対象病理スライド画像内の病変領域30を出力することができる。
【0058】
図4は、本発明の一実施形態による重症度判断用のニューラルネットワークの学習方法を実行する重症度判断用のニューラルネットワークの学習システムの概略的な構成を示したブロック図である。
【0059】
本発明の技術的思想による重症度判断用のニューラルネットワーク学習方法は、重症度判断用のニューラルネットワーク学習システム100によって実行されることができる。
【0060】
重症度判断用のニューラルネットワーク学習システム100は、コンピューティング装置であってもよい。本明細書で、コンピューティング装置とは、演算能力を有するデータ処理装置であってもよく、一般に、ネットワークを通じてクライアントが接続可能なデータ処理装置であるサーバーだけではなく、個人用コンピュータや携帯端末などのようなコンピューティング装置を含むことができる。
【0061】
重症度判断用のニューラルネットワーク学習システム100は、いずれか一つの物理的装置で実現されることもできるが、必要によって、複数の物理的装置が有機的に結合されて本発明の技術的思想による重症度判断用のニューラルネットワーク学習システム100を実現することができることを、本発明の技術分野における当業者は容易に推論可能である。
【0062】
図4を参照すれば、重症度判断用のニューラルネットワーク学習システム100は、ストレージモジュール110、抽出モジュール120、重症度判断用のニューラルネットワーク学習モジュール130、及び制御モジュール140を含むことができる。本発明の実施例によって、前述した構成要素のうちの一部の構成要素は、必ず本発明の実現に必須である構成要素に該当しなくてもよく、また、実施例によって、ニューラルネットワーク学習システム100は、それより多くの構成要素を含んでもよいことは勿論である。
【0063】
制御モジュール140は、重症度判断用のニューラル学習システム100の他の構成(例えば、ストレージモジュール110、抽出モジュール120、重症度判断用のニューラルネットワーク学習モジュール130など)の機能及び/またはリソースを制御することもできる。また、実施例によって、重症度判断用のニューラルネットワーク学習システム100は、本発明の技術的思想を実現するに要する各種情報及び/またはデータを格納するためのデータベース(Database;DB、150)をさらに含むこともできる。
【0064】
重症度判断用のニューラルネットワーク学習システム100は、本発明の技術的思想を実現するために必要なハードウェアリソース(resource)及び/またはソフトウェアを具備した論理的な構成を意味することができ、必ずしも一つの物理的な構成要素を意味するか、一つの装置を意味するわけではない。すなわち、システム100は、本発明の技術的思想を実現するために具備されるハードウェア及び/またはソフトウェアの論理的な結合を意味することができ、必要な場合は、互いに離隔された装置にインストールされてそれぞれの機能を実行することで、本発明の技術的思想を実現するための論理的な構成の集合で実現されてもよい。また、システム100は、本発明の技術的思想を実現するためのそれぞれの機能または役割別に別途実現される構成の集合を意味することもできる。例えば、ストレージモジュール110、獲得モジュール120、重症度判断用のニューラルネットワーク学習モジュール130、及び制御モジュール140のそれぞれは、相異なる物理的装置に位置してもよく、同一の物理的装置に位置してもよい。さらに、実現例によっては、ストレージモジュール110、獲得モジュール120、重症度判断用のニューラルネットワーク学習モジュール130、及び制御モジュール140のそれぞれを構成するソフトウェア及び/またはハードウェアの結合も、相異なる物理的装置に位置し、相異なる物理的装置に位置した構成が互いに有機的に結合されて夫々のモジュールを実現することもできる。
【0065】
また、本明細書でモジュールとは、本発明の技術的思想を実行するためのハードウェアと、ハードウェアを駆動するためのソフトウェアとの機能的、構造的結合を意味することができる。例えば、モジュールは、所定のコード及び該所定のコードが実行されるためのハードウェアリソース(resource)の論理的な単位を意味することができ、必ず物理的に連結されたコードを意味したり、一種類のハードウェアを意味するものではないことは、本発明の技術分野における当業者にとっては容易に推論可能なことである。
【0066】
ストレージモジュール110は、病変判断用のニューラルネットワーク111及び重症度判断用のニューラルネットワーク112を格納することができる。
【0067】
病変判断用のニューラルネットワーク111は、病理スライド画像が、所定の単位寸法に分割されたパッチが入力されると、所定の疾病による病変が入力されたパッチに存在するか否かに対する判断結果を出力するニューラルネットワークであってもよい。重症度判断用のニューラルネットワーク112に対する学習過程が実行される前にあらかじめ学習済みのニューラルネットワークであってもよい。一実施形態において、病変判断用のニューラルネットワーク111は、本発明の一実施形態によるマルチインスタンス学習及びオートエンコーダに基づく学習過程によって学習されたニューラルネットワークであってもよく、本発明の一実施形態によるマルチインスタンス学習及びオートエンコーダに基づく学習過程は後述する。
【0068】
重症度判断用のニューラルネットワーク112は、病理スライド画像から所定の疾病の重症度を判断するためのニューラルネットワークであってもよい。より詳しくは、病理スライド画像を単位寸法に分割したそれぞれのパッチを、病変判断用のニューラルネットワーク111が判断する過程で、病変判断用のニューラルネットワーク111が生成する特徴を併合した特徴マップが入力され、入力された特徴マップに対する重症度を判断するニューラルネットワークであってもよい。
【0069】
獲得モジュール120は、所定の疾病の重症度がそれぞれラベル付けされている複数の病理スライド画像を獲得することができる。
【0070】
一実施形態において、獲得モジュール120は、DB150に格納された複数の病理スライド画像を獲得することができる。各々の病理スライド画像は、ホールスライド画像であってもよい。DB150に格納された学習データは、病変の有無がラベル付けされたものであってもよい。
【0071】
なお、実施形態によっては、獲得モジュール120が獲得する病理スライド画像は、DB150ではなく外部入力手段を通じて使用者から入力されることもでき、HDDやSDDのようなストレージ装置にファイルの形態に格納されることもできる。
【0072】
重症度判断用のニューラルネットワーク学習モジュール130は、疾病の重症度でラベル付けされている一つの学習用画像に基づいて、重症度判断用のニューラルネットワーク112を学習させることができる。
【0073】
制御モジュール140は、疾病の重症度がそれぞれラベル付けされている複数の病理スライド画像のそれぞれに対して、重症度判断用のニューラルネットワーク学習モジュール130が病理スライド画像に基づいて、重症度判断用のニューラルネットワークを学習するように制御することができる。
【0074】
また一実施形態において、制御モジュール140は、複数の病理スライド画像を学習データとする学習過程(エポック)が数回繰り返して行われるようにすることができる。
【0075】
図5は本発明の一実施形態による重症度判断用のニューラルネットワークの学習システム100の重症度判断用のニューラルネットワーク学習モジュール130の構成を概略的に示したブロック図である。
【0076】
図5を参照すれば、重症度判断用のニューラルネットワーク学習モジュール130は、特徴抽出モジュール131、特徴マップ生成モジュール132、ラベル付けモジュール133、および学習モジュール134を含むことができる。
【0077】
特徴抽出モジュール131は、学習用画像が単位寸法に分割された複数のパッチのそれぞれに対して、パッチが入力された病変判断用のニューラルネットワーク111が、パッチに対する判断結果を出力する過程で生成される特徴を抽出することができる。
【0078】
つまり、特徴抽出モジュール131は、入力された学習用画像を、単位寸法を有するパッチに分割することができ、分割されたそれぞれのパッチを、病変判断用のニューラルネットワーク111に入力して、病変判断用のニューラルネットワーク111の入力されたパッチに対する判断を行うようにすることができる。この際、特徴抽出モジュール131は、病変判断用のニューラルネットワーク111の入力されたパッチに対する判断を行う過程で生成される特徴を抽出することができる。
【0079】
一実施形態において、病変判断用のニューラルネットワーク111は、ハイレベル特徴を生成するハイレベル特徴生成層、ミドルレベル特徴を生成するミドル特徴生成層、およびローレベル特徴を生成するロー特徴生成層を含む多層畳み込みニューラルネットワークであることができ、この場合、特徴抽出モジュール131は、ハイレベル特徴生成層、ミドル特徴生成層、ロー特徴生成層のうちのいずれか一つの層で生成される特徴を抽出することができる。
【0080】
特徴マップ生成モジュール132は、学習用画像を構成する複数のパッチのそれぞれに対応する特徴を併合して学習用画像に対応する特徴マップを生成することができる。例えば、学習用病理スライド10が、x行及びy列に分割されて各パッチを形成し、パッチ別特徴がz次元である場合、特徴マップ生成モジュール132は、x*y*z次元の特徴マップを生成することができ、併合される各特徴同士間の相対的な位置は、それに対応する各パッチ同士間の相対的位置と同じであってもよい。
【0081】
ラベル付けモジュール133は、学習用画像に対応する特徴マップを、学習用画像の重症度ラベルでラベル付けすることができる。
【0082】
学習モジュール134は、学習用画像に対応する特徴マップを、重症度判断用のニューラルネットワーク112に入力して、重症度判断用のニューラルネットワーク112を学習することができる。疾病の重症度がラベル付けされている一つの特徴マップが、重症度判断用のニューラルネットワーク112に入力される場合、重症度判断用のニューラルネットワーク112は、それに対する判断結果を生成することができ、生成された判断結果と入力された特徴のラベル間のずれが誤差逆伝播の方式によって重症度判断用のニューラルネットワーク112に適用されることで、重症度判断用のニューラルネットワーク112は学習され得る。
【0083】
図6は、本発明の一実施形態による重症度判断用のニューラルネットワーク学習方法の一例を示したフローチャートである。
【0084】
図6を参照すると、重症度判断用のニューラルネットワーク学習システム100は、重症度がそれぞれラベル付けされたR個(Rは2以上の整数)の病理スライド画像I
1~I
Rを獲得することができる(S100)。
【0085】
重症度判断用のニューラルネットワーク学習システム100は、1からRであるそれぞれのuに対して次のような過程を実行することができる。
【0086】
重症度判断用のニューラルネットワーク学習システム100は、u番目の病理スライド画像IuをS個(Rは2以上の整数)のパッチHu1~HuSに分割することができる(S120)。前述のように、それぞれのパッチHu1~HuSは、病変判断用のニューラルネットワーク111が入力され得る像のサイズに分割された像であってもよい。
【0087】
重症度判断用のニューラルネットワーク学習システム100は、病変判断用のニューラルネットワーク111に分割されたそれぞれのパッチHu1~HuSを入力してそれに対応する特徴Fu1~FuSを抽出することができる(S130、S140)。
【0088】
その後、重症度判断用のニューラルネットワーク学習システム100は、特徴Fu1から特徴FuSを併合して特徴マップMuを生成することができ(S150)、病理スライド画像Iuのラベルでラベル付けされた特徴マップMuを重症度判断用のニューラルネットワーク112に入力して学習することができる。
【0089】
前述した本発明の技術的思想による重症度判断用のニューラルネットワーク学習方法によれば、パッチが入力されると、所定の疾病による病変が入力されたパッチに存在するか否かに対する判断結果を出力するように、あらかじめ学習済みの病変判断用ニューラルネットワークから生成される特徴に基づいて、重症度判断用のニューラルネットワークを学習するようになる。ところが、病変判断用ニューラルネットワークがパッチに対する判断結果を生成する過程で生成する特徴は、当該パッチが持つ抽象的な特性をよく反映しているので、これによって学習される病変判断用ニューラルネットワークの性能が改善する効果が期待できる。
【0090】
一方、学習済みの重症度判断用のニューラルネットワーク112は、スライド単位の重症度判断システムに適用できる。重症度判断システムは、医師が疾病の重症度を判断するのに役立つ予測結果を出力する診断補助装置であることができる。
【0091】
図7は、学習済みの重症度判断用のニューラルネットワーク112を含む判断システム200の概略的な構成を示した図である。
【0092】
図7を参照すれば、重症度判断用のニューラルネットワークを用いた判断システム200は、ニューラルネットワークストレージモジュール210、パッチ単位判断モジュール220、診断特徴マップ生成モジュール240、及び重症度出力モジュール250を含むことができる。
【0093】
ニューラルネットワークストレージモジュール210は、前述した重症度判断用のニューラルネットワーク学習方法によって学習された重症度判断用のニューラルネットワーク112を格納することができる。またニューラルネットワークストレージモジュール310は、重症度判断用のニューラルネットワーク学習方法で用いられる病変判断用のニューラルネットワーク111をさらに含むことができる。ストレージモジュール210は、ニューラルネットワークをはじめ、各種情報及びデータを格納することができるストレージ手段であってもよい。
【0094】
パッチ単位判断モジュール220は、所定の判断対象画像を分割した複数の診断パッチのそれぞれを、病変判断用のニューラルネットワーク111に入力して、複数の診断パッチのそれぞれに対応する判断結果を獲得することができる。
【0095】
診断特徴マップ生成モジュール240は、病変判断用のニューラルネットワーク111が複数の診断パッチのそれぞれに対する判断を行う過程で生成されるそれぞれのパッチに対応する特徴を併合して、特徴マップを生成することができ、生成された特徴マップは重症度判断用のニューラルネットワーク112に入力されることができる。
【0096】
重症度出力モジュール250は、重症度判断用のニューラルネットワーク112の出力に基づいて疾病に対する重症度を出力することができる。
【0097】
一方、判断システム200は、病理スライド画像が入力されて病変領域を出力するシステムとして用いることができる。この場合、判断システム200は、病変領域出力モジュール230をさらに含むことができる。病変領域出力モジュール230は、パッチ単位判断モジュール220によって獲得された複数の診断パッチのそれぞれの判断結果に基づいて、判断対象画像のマトリックスマップ(ヒートマップ)を出力することができる。マトリックスマップは、第1の状態のパッチ領域と第2の状態のパッチ領域とを視覚的に区分することができるマップを意味することができる。
【0098】
一方、前述したように、重症度判断用のニューラルネットワーク学習方法では、あらかじめ学習済みの病変判断用のニューラルネットワーク111が用いられる。以下では、病変判断用のニューラルネットワーク111を学習する方法について詳細に説明する。
【0099】
図8は、病変判断用ニューラルネットワークを学習する方法を実行するための病変判断用ニューラルネットワーク学習システム300の概略的な構成を示した図である。
【0100】
図8を参照すれば、病変判断用ニューラルネットワーク学習システム300は、ストレージモジュール310、抽出モジュール320、及び学習モジュール330を含むことができる。
【0101】
ストレージモジュール310は、病変判断用のニューラルネットワーク111及びオートエンコーダ113を格納することができる。
【0102】
前述したように、病変判断用のニューラルネットワーク111は、入力されたデータが所定の第1状態または第2状態であるかどうかに対する可能性を出力することにより、入力されたデータに対する二進分類に用いられるニューラルネットワークであってもよい。例えば、病変判断用のニューラルネットワーク111は、生体画像が入力されて当該画像に所定の疾病(例えば、癌)によって発生する病変が存在する可能性を判断するためのニューラルネットワークであってもよい。つまり、病変判断用のニューラルネットワーク111は、該病変判断用のニューラルネットワーク111に入力される値が所定の第1の状態または第2の状態である可能性を出力することができる。第1の状態は、病変が存在しない正常状態(negative)であり、第2の状態は、病変が存在する異常状態(positive)であることができる。
【0103】
病変判断用のニューラルネットワーク111が出力する可能性は、病変判断用のニューラルネットワーク111内の損失関数(例えば、平均二乗誤差(mean squared error;MSE)、交差エントロピー誤差(cross entropy error;CEE)若しくは二つのベクトル間の距離(例えば、ユークリッド距離、n次元の距離、マンハッタン距離など)を示す関数など)によって算出される値であってもよい。
【0104】
オートエンコーダ113は、教師なし学習方法論で主に使われるニューラルネットワーク構造である。オートエンコーダ113は、入力される値の次元を縮小したうえで再び復元する形態の教師なし機械学習モデルであって、学習に使われる値が有する特徴を学習する機能を持つ。より詳しくは、オートエンコーダ113は、出力値を入力値に近似させる関数を学習し、エンコーダによって入力値に対する特徴を抽出し、デコーダによって入力値を再構成する。
【0105】
図9は、オートエンコーダ113の構造を概略的に示した図である。
図9を参照すると、オートエンコーダ113は、畳み込み層を含むエンコーダ部112-1及び逆畳み込み層を含むデコーダ部(113-2)を含むことができる。エンコーダ113にデータソース(x)が入力されればエンコーダ部113-1でデータソース(x)に対するエンコードが行われることでデータソース(x)の特徴(z=E(x))を生成することができる。生成された特徴(z)は、デコーダ部(113-2)でデコードされてデータソース(x)に対応する復元データ(x′=D(z))を生成することができる。
【0106】
オートエンコーダも、ニューラルネットワークの一種なので、多数の訓練データによる学習が先行されるが、オートエンコーダの学習段階ではそれぞれの学習データdに対して下記の1)~3)過程が実行される。
1)学習データdがオートエンコーダ113に入力されてエンコード及びデコードの過程を経て学習データdに対応する復元データd′が生成される。
2)学習データdと復元データd′との間の差である誤差e=L(d、d′)が算出される(Lは損失関数)。
3)誤差逆伝播(error backpropagation)法によってオートエンコーダ113内の加重値が更新される。
【0107】
一方、オートエンコーダ113は、入力された値が第1の状態であるか第2の状態であるかを判断するのに用いることができる。
【0108】
一実施形態において、オートエンコーダ113は、第1の状態の学習データのみであらかじめ学習されることができ、所定の予測対象値を学習済みのオートエンコーダ113に入力してオートエンコーダ113が復元(すなわち、出力)した結果値と、予測対象値とが所定の閾値以上の差がある場合、予測対象値は第2の状態であると判断されることができる。
【0109】
他の一実施形態において、オートエンコーダ113は、第2の状態のデータのみであらかじめ学習されることができ、所定の予測対象値を学習済みのオートエンコーダ113に入力してオートエンコーダ113が復元(すなわち、出力)した結果値と、予測対象値が所定の閾値以上の差がある場合、予測対象値は第1の状態であると判断されることができる。
【0110】
なお、実施形態によって、オートエンコーダ113は、変分オートエンコーダ(Variational AutoEncoder;VAE)を含むことができる。
【0111】
さらに
図9を参照すれば、DB340は、病変判断用のニューラルネットワーク111の学習に用いられる学習データを格納することができる。学習データは、
図1aを参照して説明したようなマルチインスタンス学習用データであってもよい。すなわち、DB340に格納された学習データのそれぞれは、多数のデータインスタンスを含むデータバッグであってもよい。
【0112】
一実施形態において、複数の学習データのそれぞれは、病理ホール画像であってもよく、それぞれの学習データを構成するデータインスタンスは、当該病理ホール画像を所定のサイズに分割したそれぞれの画像パッチであってもよい。この場合、データバッグは、一つの完全な病理スライド画像となり、当該データバッグに含まれたデータインスタンスは、当該病理スライド画像を所定のサイズに分割した個別パッチであってもよい。
【0113】
一方、DB340に格納された学習データは、それぞれ、第1の状態または第2の状態でラベル付けされていてもよい。例えば、複数の学習データが病理スライド画像である場合、それぞれの学習データは、病理スライド画像に対する診断結果(例えば、病変の有無など)がラベル付けされていることがある。
【0114】
なお、実施形態によっては、学習データは、DB340に格納されているものではなく、外部入力手段を通じてユーザから入力されてもよく、HDDやSDDのようなストレージ装置にファイルの形態で格納されていてもよい。
【0115】
抽出モジュール320は、第1の状態または第2の状態のいずれか一つでラベル付けされている複数のデータバッグのそれぞれに対して、データバッグに含まれたデータインスタンスの一部を学習用インスタンスとして抽出する抽出段階を実行することができる。抽出モジュール320によって抽出された学習用インスタンスは、追って病変判断用のニューラルネットワーク111の学習に用いられることができる。
【0116】
図10は、抽出モジュール320が学習用データインスタンスを抽出する方法の一例を示した図である。
図10は、学習データが
図1aに示されたものと同様な場合を例えている。
【0117】
図10を参照すれば、抽出モジュール320は、まず、それぞれのデータバッグB
1~B
Mに対して段階S210~S230を実行することができる(S200)。
【0118】
一方、抽出モジュール320は、データバッグBiに対して(iは1≦i≦Mである任意の整数)、データバッグBiに含まれた各データインスタンスDijをニューラルネットワーク111に入力して(jは1≦j≦Nである任意の整数)、データバッグBiに含まれた各データインスタンスDijの可能性Pijを算出できる(S210、S211)。例えば、Pijは第2の状態である可能性があり、データインスタンスDijに対する交差エントロピー誤差を可能性Pijとして算出することができる。
【0119】
その後、抽出モジュール320は、データバッグBiに含まれた各データインスタンス別の可能性(Pi1からPiN)、及びデータバッグに含まれた各データインスタンス(Di1からDiN)のうちの少なくとも一部に対するオートエンコーダ113の判断結果に基づいて、データバッグBiに含まれた各データインスタンス(Di1からDiN)の一部を学習用インスタンスであると判断することができ(S220)、判断済みの学習用インスタンスをBiのラベルLiでラベル付けを行うことができる(S230)。
【0120】
図11は、
図10の段階S220の具体的な過程の一例を示した図である。
図11の例では、オートエンコーダ113は、第1の状態(すなわち、正常状態)であるデータインスタンスのみであらかじめ学習済みと仮定する。
【0121】
図11を参照すれば、抽出モジュール320は、データバッグが第1の状態でラベル付けされた場合、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、オートエンコーダ113に入力して、オートエンコーダによって第1の状態であると判断された上位の一部のデータインスタンスをデータバッグに対応する学習用インスタンスであると判断することができる(S221)。このとき、抽出モジュール320は、オートエンコーダ113に入力されたデータインスタンスと、オートエンコーダ113が出力した出力データとの間の差が所定の閾値以上である場合、オートエンコーダ113に入力されたデータインスタンスが第1の状態であると判断することができる。
【0122】
一方、データバッグが第2の状態でラベル付けされた場合、抽出モジュール320は、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、オートエンコーダ113に入力して、オートエンコーダ113によって第2の状態であると判断された上位の一部のデータインスタンスをデータバッグに対応する学習用インスタンスであると判断することができる(S222)。
【0123】
図12は、
図11の段階S221の具体的な過程の一例を示した図である。
図12を参照すれば、抽出モジュール320は、データバッグB
i内のデータインスタンス(D
i1~D
iN)を第2の状態である可能性の順に降順ソートが可能である(S2211)。
【0124】
抽出モジュール320は、段階S2211によってソートされた順にBi内のデータインスタンスAkをオートエンコーダ113に入力して(kは1≦j≦Nである任意の整数)、入力されたデータインスタンスAkの状態を判断することができ(S2213)、データインスタンスAkが第1の状態であると判断された場合データインスタンスAkを学習用インスタンスであると判断することができる(S2215)。
【0125】
抽出モジュール320は、段階S2213から段階S2215のループが終了するか、またはデータバッグBiに対応する学習用インスタンスがあらかじめ定められた個数Z分だけ発見されるまで行うことができる(S2212、S2216、S2217参照)。
【0126】
本発明の属する分野における通常の技術者なら、
図11を参考して
図10の段階S222の具体的な例も容易に導出することができるはずなので、詳細な説明は省略する事にする。一方、
図10及び
図11は、
図9の段階S220を実現する一例であって、
図9の段階S220を実現する多様な方法があり得ることは言うまでもない。
【0127】
前述のような抽出過程を通じて、抽出モジュール320は、一つのデータバッグから複数のデータインスタンスを学習用インスタンスとして抽出することができる。従来のマルチインスタンス学習方法では、一つのデータバッグから複数の学習用インスタンスを抽出する場合、誤った学習データインスタンスが抽出される可能性が高く、ニューラルネットワークの学習に否定的な影響を及ぼす可能性があったが、本発明の技術的思想による方法によれば、あらかじめ学習済みのオートエンコーダを用いて学習データをフィルタリングすることで、誤った学習データインスタンスが抽出されることをかなり減らすことができるようになるという効果がある。
【0128】
もちろん実施形態によっては、病変判断用のニューラルネットワーク111は、オートエンコーダを用いないマルチインスタンス学習法が適用された病変判断用のニューラルネットワーク学習方法を通じてあらかじめ学習されることもできる。
【0129】
より具体的に、本実施形態によるオートエンコーダを用いないマルチインスタンス学習法が適用された病変判断用のニューラルネットワーク学習方法は、第1状態または第2状態のうちのいずれか一つでラベル付けされている複数の事前学習用の病理スライド画像のそれぞれに対して、事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階と、複数の学習用画像のそれぞれに対応する事前学習用パッチに基づいて、病変判断用ニューラルネットワークを学習する段階と、を含むことができる。このとき、事前学習用の病理スライド画像を構成するパッチの一部である事前学習用パッチを抽出する段階は、事前学習用の病理スライド画像を構成する各事前学習用パッチを、学習中の病変判断用ニューラルネットワークに入力して、事前学習用の病理スライド画像を構成する各パッチ別の可能性を算出する段階と、事前学習用の病理スライド画像を構成する各パッチ別の可能性に基づいて、事前学習用の病理スライド画像を構成する各パッチ中の一部を、事前学習用パッチであると判断する段階と、を含むことができる。例えば、事前学習用の病理スライド画像を構成するパッチの中で算出される可能性が最大であるパッチを事前学習用パッチであると判断することができる。
【0130】
再び
図8を参照すれば、学習モジュール330は、抽出モジュール320によって抽出された学習用インスタンスに基づいて、病変判断用のニューラルネットワーク111を学習することができる。
【0131】
学習モジュール330は、周知のように、病変判断用のニューラルネットワーク111に入力された学習用インスタンスと出力値との間の損失誤差を、ニューラルネットワーク111にバックプロパゲーションしてニューラルネットワーク111を学習することができる。
【0132】
病変判断用のニューラルネットワーク学習方法は、抽出モジュール320によって実行される学習データインスタンス抽出過程及び学習モジュール330によって実行される学習過程を一つのエポック(epoch)として取り扱い、複数のエポック分を繰り返して実行することで、ニューラルネットワーク111の性能を向上させることができる。
【0133】
一方、コンピューティング装置は、プロセッサ及びストレージ装置を含むことができる。プロセッサは、本発明の技術的思想を実現するためのプログラムを駆動させることができる演算装置を意味することができ、プログラム及び本発明の技術的思想によって定義されるニューラルネットワーク学習方法を実行することができる。プロセッサはシングルコアCPU若しくはマルチコアCPUを含むことができる。ストレージ装置は、本発明の技術的思想を実現するのに必要なプログラム及び各種データを格納することができるデータストレージ手段を意味することができ、実現例によって、複数のストレージ手段で実現されることもできる。またストレージ装置は、コンピューティング装置100に含まれた主記憶装置のみならず、プロセッサに含まれることができる臨時ストレージ装置またはメモリーなどを含む意味であってもよい。メモリーは、高速ランダムアクセスメモリーを含むことができ、一つ以上の磁気ディスクストレージ装置、フラッシュメモリー装置、またはその他の不揮発性ソリッドメステートモリー装置のような不揮発性メモリーを含むこともできる。プロセッサ及びその他の構成要素によるメモリーへのアクセスは、メモリーコントローラーによって制御され得る。
【0134】
一方、本発明の実施形態による方法は、コンピュータで読み取り可能なプログラム命令形態で実現されて、コンピュータで読み取り可能な記録媒体に格納することができ、本発明の実施形態による制御プログラム及び対象プログラムも、コンピュータで読み取り可能な記録媒体に格納することができる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが格納されるすべての種類の記録装置を含む。
【0135】
記録媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであってもよく、ソフトウェアの分野における当業者にとって公知されて使用可能なものであってもよい。
【0136】
コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体(magnetic media)、CD-ROM、DVDのような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような光磁気記録媒体(magneto-optical media)及びROM(Read Only Memory)、RAM、フラッシュメモリーなどのようなプログラム命令を格納し実行するように特別に構成されたハードウェア装置が含まれる。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式によりコンピュータで読み取り可能なコードが格納されて実行されることができる。
【0137】
プログラム命令の例には、コンパイラーによって作られるような機械語コードだけではなく、インタプリターなどを用いて電子的に情報を処理する装置、例えば、コンピュータによって実行可能な高級言語コードを含む。
【0138】
前述したハードウェア装置は、本発明の動作を実行するために一つ以上のソフトウェアモジュールとして作動するように構成されてもよく、その逆のものと同様である。
【0139】
前述した本発明の説明は、例示のためのものに過ぎず、本発明の属する技術分野における通常の知識を持つ者は、本発明の技術的思想や要旨を変更しなくて他の具体的な形態に容易に変形し得ることを理解できるはずである。したがって、以上で述べた実施形態は、すべての面で例示的なものであって、限定的なものではないと理解すべきである。例えば、単一型で説明されている各構成要素は、分散されて実施されてもよく、同様に、分散されたものと説明されている構成要素も結合された形態で実施されてもよい。
【0140】
本発明の範囲は、詳細な説明よりは、後述する特許請求の範囲によって現われ、特許請求の範囲の意味及び範囲、並びにその均等概念から導出されるすべての変更または変形された形態まで、本発明の範囲に含まれるものと解釈されなければならない。
【産業上の利用可能性】
【0141】
本発明は重症度判断用のニューラルネットワーク学習方法及びシステムに用いられることができる。