IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ディープ バイオ インクの特許一覧

特許7628715オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム
<>
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図1a
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図1b
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図2
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図3
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図4
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図5
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図6
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図7
  • 特許-オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-03
(45)【発行日】2025-02-12
(54)【発明の名称】オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法並びにこれを実行するコンピューティングシステム
(51)【国際特許分類】
   G06N 3/09 20230101AFI20250204BHJP
   G06N 3/0455 20230101ALI20250204BHJP
   G06T 7/00 20170101ALI20250204BHJP
   G06V 10/82 20220101ALI20250204BHJP
【FI】
G06N3/09
G06N3/0455
G06T7/00 350C
G06V10/82
【請求項の数】 16
(21)【出願番号】P 2022572516
(86)(22)【出願日】2021-06-03
(65)【公表番号】
(43)【公表日】2023-07-11
(86)【国際出願番号】 KR2021006966
(87)【国際公開番号】W WO2021246810
(87)【国際公開日】2021-12-09
【審査請求日】2023-01-05
(31)【優先権主張番号】10-2020-0068640
(32)【優先日】2020-06-05
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】519208133
【氏名又は名称】ディープ バイオ インク
(74)【代理人】
【識別番号】100120008
【弁理士】
【氏名又は名称】山田 くみ子
(72)【発明者】
【氏名】キム ソンウ
(72)【発明者】
【氏名】カク テヨン
(72)【発明者】
【氏名】ムン イェチャン
【審査官】北川 純次
(56)【参考文献】
【文献】韓国公開特許第10-2020-0044183(KR,A)
【文献】米国特許出願公開第2019/0318476(US,A1)
【文献】韓国公開特許第10-2019-0143510(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 99/00
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
入力されたデータインスタンス(instance)が、第1の状態であるか第2の状態であるかを判断するためのオートエンコーダ及び入力されたデータインスタンスが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークを含むコンピューティングシステムで実行されるニューラルネットワーク学習方法であって、
第1の状態または第2の状態のいずれかでラベル付けされている複数のデータバッグ(bag)のそれぞれに対して、前記データバッグに含まれたデータインスタンスの一部である学習用インスタンスを抽出する抽出段階と、
前記複数のデータバッグのそれぞれに対応する学習用インスタンスに基づいて、前記ニューラルネットワークを学習する学習段階と、を含み、
前記抽出段階は、
前記データバッグに含まれた各データインスタンスを学習中の前記ニューラルネットワークに入力して、前記データバッグに含まれた各データインスタンス別の可能性を算出する段階と、
前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断する段階と、を含むニューラルネットワーク学習方法。
【請求項2】
前記コンピューティングシステムは、
前記オートエンコーダに入力されたデータインスタンスと、前記オートエンコーダから出力された出力データとの差に基づいて、前記オートエンコーダに入力されたデータインスタンスが第1の状態であるか第2の状態であるかを判断する、請求項1に記載のニューラルネットワーク学習方法。
【請求項3】
前記オートエンコーダは、
第1の状態であるデータインスタンスのみであらかじめ学習されており、
前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断する段階は、
前記データバッグが第1の状態でラベル付けされた場合、
第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のデータインスタンスを、前記データバッグに対応する学習用インスタンスであると判断する段階と、
前記データバッグが第2の状態でラベル付けされた場合、
第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のデータインスタンスを、前記データバッグに対応する学習用インスタンスであると判断する段階と、を含む、請求項1に記載のニューラルネットワーク学習方法。
【請求項4】
前記ニューラルネットワーク学習方法は、
前記抽出段階及び前記学習段階を1エポック(epoch)以上繰り返し実行する段階をさらに含む、請求項1に記載のニューラルネットワーク学習方法
【請求項5】
前記複数のデータバッグのそれぞれは、ホールイメージ(whole image)であり、
前記複数のデータバッグのそれぞれに含まれたデータインスタンス(instance)は、前記データバッグに対応するホールイメージを所定のサイズに分割したそれぞれの画像パッチであることを特徴とする、請求項1に記載のニューラルネットワーク学習方法。
【請求項6】
画像を所定のサイズに分割したもののうちのいずれか一つであるパッチであって、入力された前記パッチが第1の状態であるか第2の状態であるかを判断するためのオートエンコーダと、入力された前記パッチが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークとを含む、コンピューティングシステムで実行されるニューラルネットワーク学習方法であって、
第1の状態または第2の状態のいずれかでラベル付けされている複数の学習用画像のそれぞれに対して、前記学習用画像を構成するパッチの一部である学習用パッチを抽出する抽出段階と、
前記複数の学習用画像のそれぞれに対応する学習用パッチに基づいて、前記ニューラルネットワークを学習する学習段階と、を含み、
前記抽出段階は、
前記学習用画像を構成する各パッチを訓練中の前記ニューラルネットワークに入力して、前記学習用画像を構成する各パッチ別の可能性を算出する段階と、
前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断する段階と、を含むニューラルネットワーク学習方法。
【請求項7】
前記オートエンコーダは、第1の状態であるパッチのみであらかじめ学習されており、前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断する段階は、
前記学習用画像が第1の状態でラベル付けされた場合、
第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、
前記学習用画像が第2の状態でラベル付けされた場合、第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、を含む、請求項6に記載のニューラルネットワーク学習方法。
【請求項8】
前記学習用画像のそれぞれは、所定の疾病による病変が含まれた画像あるいは前記病変が含まれない画像のうちのいずれか一つであり、
前記第1の状態は、前記病変が存在しない正常状態であり、
前記第2の状態は、前記病変が存在する異常状態である、請求項6に記載のニューラルネットワーク学習方法。
【請求項9】
データ処理装置に設置され、請求項1乃至8のいずれか一項に記載の方法を実行するための、記録媒体に格納されたコンピュータプログラム。
【請求項10】
請求項1乃至8のいずれか一項に記載の方法を実行するためのコンピュータプログラムが格納されたコンピュータ読み取り可能な記録媒体。
【請求項11】
コンピューティングシステムであって、
プロセッサ及びメモリーを含み、
前記メモリーに格納されるプログラム命令は、前記プロセッサによって実行される場合、前記コンピューティングシステムに請求項1乃至8のいずれか一項に記載の方法を実行させるコンピューティングシステム。
【請求項12】
入力されたデータインスタンス(instance)が第1の状態であるか第2の状態であるかを判断するためのオートエンコーダ及び入力されたデータインスタンスが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークを格納するストレージモジュールと、
第1の状態または第2の状態のいずれかでラベル付けされている複数のデータバッグ(bag)のそれぞれに対して、前記データバッグに含まれたデータインスタンスの一部である学習用インスタンスを抽出する抽出モジュールと、
前記複数のデータバッグのそれぞれに対応する学習用インスタンスに基づいて、前記ニューラルネットワークを学習する学習モジュールと、を含み、
前記抽出モジュールは、
前記データバッグに含まれた各データインスタンスを学習中の前記ニューラルネットワークに入力して、前記データバッグに含まれた各データインスタンス別の可能性を算出し、
前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断する、ニューラルネットワーク学習システム。
【請求項13】
前記抽出モジュールは、
前記オートエンコーダに入力されたデータインスタンスと、前記オートエンコーダから出力された出力データとの差に基づいて、前記オートエンコーダに入力されたデータインスタンスが第1の状態であるか第2の状態であるかを判断する、請求項12に記載のニューラルネットワーク学習システム。
【請求項14】
前記オートエンコーダは、第1の状態であるデータインスタンスのみであらかじめ学習されており、
抽出モジュールは、前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断するために、
前記データバッグが第1の状態でラベル付けされた場合、
第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のデータインスタンスを前記データバッグに対応する学習用インスタンスであると判断し、
前記データバッグが第2の状態でラベル付けされた場合、
第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のデータインスタンスを前記データバッグに対応する学習用インスタンスであると判断する、請求項12に記載のニューラルネットワーク学習システム。
【請求項15】
画像を所定のサイズに分割したもののうちのいずれか一つであるパッチであって、入力された前記パッチが第1の状態であるか第2の状態であるかを判断するためのオートエンコーダと、
入力されたパッチが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークを格納するストレージモジュールと、
第1の状態または第2の状態のいずれかでラベル付けされている複数の学習用画像のそれぞれに対して、前記学習用画像を構成するパッチの一部である学習用パッチを抽出する抽出モジュールと、
前記複数の学習用画像のそれぞれに対応する学習用パッチに基づいて、前記ニューラルネットワークを学習する学習モジュールと、を含み、
前記オートエンコーダは、複数の第1の状態であるパッチのみであらかじめ学習され、
前記抽出モジュールは、
前記学習用画像を構成する各パッチを訓練中の前記ニューラルネットワークに入力して、前記学習用画像を構成する各パッチ別の可能性を算出し、
前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断する、ニューラルネットワーク学習システム。
【請求項16】
前記オートエンコーダは、第1の状態であるパッチのみであらかじめ学習されており、前記抽出モジュールは、前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断するために、
前記学習用画像が第1の状態でラベル付けされた場合、
第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断し、
前記学習用画像が第2の状態でラベル付けされた場合、
第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する、請求項15に記載のニューラルネットワーク学習システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワーク学習方法及びこれを実行するコンピューティングシステムに関し、より詳しくは、オートエンコーダ及びマルチインスタンス学習法を利用して少数の学習データでもニューラルネットワークの性能を高めることができるニューラルネットワーク学習方法及びこれを実行するコンピューティングシステムに関する。
【背景技術】
【0002】
近年は、機械学習の発達によって画像を認識するか、または分類するなどの仕事を、コンピュータシステムによって自動化しようとする試みが盛んに行われている。特に、機械学習の一種であるニューラルネットワーク(例えば、畳み込みニューラルネットワーク(Convolution Neural Network、CNN)を用いたディープラーニング方式)を用いて人間が実行してきた各種分類や判断を自動化するための試みが行われており、ニューラルネットワーク(例えば、CNN)を用いたディープラーニングを利用して生体画像(例えば、患者の生体組職スライド)を読み出して特定の疾病に対する状態または兆候を判断する診断を実行することを代表的な例として挙げられる。
【0003】
一方、本発明の背景技術の一つであるマルチインスタンス学習(Multiple Instance Learning)について、図1a及び図1bを参照して説明する。
【0004】
一つのインスタンス(instance)を学習単位として使用する個別インスタンス学習とは異なり、マルチインスタンス学習においては、インスタンスの集合であるバッグ(Bag)を学習単位として見なす。したがって、個別インスタンス学習では、インスタンスにラベルを付けるのに対し、マルチインスタンス学習では、インスタンスではないバッグにラベルを付けるようになる。マルチインスタンス学習は、学習単位の側面を除き、個別インスタンス学習に類似するが、次のような制約事項をさらに有する。二進分類を行う場合、バッグがポジティブ(positive)であれば、少なくともバッグ内に存在するインスタンスのうちの一つ以上がポジティブであることを、バッグがネガティブ(negative)であれば、バッグ内にすべてのインスタンスがネガティブであることを、仮定する。
【0005】
かかる特徴によってマルチインスタンス学習は、例えば、ニューラルネットワークを利用して病理ホールスライドイメージ(Whole Slide Image)から病変を診断する分野に適用され得る。病変を診断するニューラルネットワークを学習するためには、ホールスライドイメージではなく、これを一定したサイズに分割した画像パッチを学習データとして用いるようになるが、病変の有無に関する情報(すなわち、ラベル)は、パッチ単位ではなく、ホールスライドイメージに付与されているからである。
【0006】
図1aは、マルチインスタンス学習に用いられる学習データの一例を示した図である。図1は、それぞれN個のデータインスタンスを含むM個のバッグ(BからB)を示している。図1において、バッグBは、Lでラベル付けされており(ここで、iは1≦i≦Mである任意の整数)、データインスタンスDijは、バッグBに含まれているj番目のインスタンスを示す(ここで、jは1≦j≦Nである任意の整数)。
【0007】
図1bは、マルチインスタンス学習法を通じてニューラルネットワーク(NN)を学習する過程の一例を示す疑似コード(pseudo code)を示した図である。図1bは、1エポック(epoch)分の学習データを学習する過程を示しており、実際の学習過程では多数のエポック分の学習が進められることができる。図1bでは、図1aに示された学習データで学習が進められると仮定する。
【0008】
図1bを参照すれば、マルチインスタンス学習においては、まず、各々のバッグ(BからB)から学習データインスタンス(TからT)を抽出する過程(S10)が実行され、その後、抽出された学習データインスタンスでニューラルネットワーク(NN)を訓練する過程(S20)が実行される。
【0009】
S10段階についてより詳しく説明すると、バッグBに対して次の過程が行われる(ここで、iは1≦i≦Mである任意の整数)。
【0010】
現在学習が進行中であるニューラルネットワーク(NN)バッグB内の各データインスタンスを入力して当該インスタンスがポジティブ(positive;例えば、病変が存在する)である可能性を算出する(S11、S12)。
【0011】
バッグB内のすべてのデータインスタンスの中で、当該データインスタンスのポジティブ可能性が最大のデータインスタンスDikを学習データインスタンスTと決定し(S13)、学習データインスタンスTのラベルはバッグBに付与されたラベルになる(S14)。
【0012】
前述した従来のマルチインスタンス学習では、一つのバッグ当たり一つのインスタンスを抽出して学習に利用するので、ニューラルネットワークの性能を高めるためには、多くの量のバッグを要するという問題点がある。例えば、病変を検出するためのニューラルネットワークに、既存のマルチインスタンス学習を利用するためには、病変有無に関する標識が付された多数のホールスライドイメージが必要になることである。
【0013】
また、前述したように、マルチインスタンス学習では、学習データインスタンスの抽出過程で、学習が完了する前のニューラルネットワークが用いられるので、一つのバッグから多数のデータインスタンスを抽出すると、誤ったインスタンスが抽出される可能性が高くなるという問題点が発生するようになる。
【発明の概要】
【発明が解決しようとする課題】
【0014】
本発明が達成しようとする技術的な課題は、一つのデータバッグから複数のデータインスタンスを学習用インスタンスとして抽出することで、比較的少数のデータでも適切にニューラルネットワークを学習することができる方法及びシステムを提供することである。
【課題を解決するための手段】
【0015】
本発明の一態様によれば、入力されたデータインスタンス(instance)が、第1の状態であるか第2の状態であるかを判断するためのオートエンコーダ及び入力されたデータインスタンスが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークを含むコンピューティングシステムで実行されるニューラルネットワーク学習方法であって、第1の状態または第2の状態のいずれかでラベル付けされている複数のデータバッグ(bag)のそれぞれに対して、前記データバッグに含まれたデータインスタンスの一部である学習用インスタンスを抽出する抽出段階と、前記複数のデータバッグのそれぞれに対応する学習用インスタンスに基づいて、前記ニューラルネットワークを学習する学習段階と、を含み、前記抽出段階は、前記データバッグに含まれた各データインスタンスを学習中の前記ニューラルネットワークに入力して、前記データバッグに含まれた各データインスタンス別の可能性を算出する段階と、前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断する段階と、を含むニューラルネットワーク学習方法が提供される。
【0016】
一実施形態において、前記ニューラルネットワーク学習システムは、前記オートエンコーダに入力されたデータインスタンスと、前記オートエンコーダから出力された出力データとの差に基づいて、前記オートエンコーダに入力されたデータインスタンスが第1の状態であるか第2の状態であるかを判断することができる。
【0017】
一実施形態において、前記オートエンコーダは、第1の状態であるデータインスタンスのみであらかじめ学習されており、前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断する段階は、前記データバッグが第1の状態でラベル付けされた場合、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のデータインスタンスを、前記データバッグに対応する学習用インスタンスであると判断する段階と、前記データバッグが第2の状態でラベル付けされた場合、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のデータインスタンスを、前記データバッグに対応する学習用インスタンスであると判断する段階と、を含むことができる。
【0018】
一実施形態において、前記ニューラルネットワーク学習方法は、前記抽出段階及び前記学習段階を1エポック(epoch)以上繰り返し実行する段階をさらに含むことができる。
【0019】
一実施形態において、前記複数のデータバッグのそれぞれは、ホールイメージ(whole image)であり、前記複数のデータバッグのそれぞれに含まれたデータインスタンス(instance)は、前記データバッグに対応するホールイメージを所定のサイズに分割したそれぞれの画像パッチであることを特徴とすることができる。
【0020】
本発明の他の一態様によれば、入力されたパッチが第1の状態であるか第2の状態であるかを判断するためのオートエンコーダ(ここで、前記パッチは、画像を所定のサイズに分割したもののうちのいずれか一つである)と、入力されたパッチが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークとを含む、コンピューティングシステムで実行されるニューラルネットワーク学習方法であって、第1の状態または第2の状態のいずれかでラベル付けされている複数の学習用画像のそれぞれに対して、前記学習用画像を構成するパッチの一部である学習用パッチを抽出する抽出段階と、前記複数の学習用画像のそれぞれに対応する学習用パッチに基づいて、前記ニューラルネットワークを学習する学習段階と、を含み、前記抽出段階は、前記学習用画像を構成する各パッチを訓練中の前記ニューラルネットワークに入力して、前記学習用画像を構成する各パッチ別の可能性を算出する段階と、前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断する段階と、を含むニューラルネットワーク学習方法が提供される。
【0021】
一実施形態において、前記オートエンコーダは、第1の状態であるパッチのみであらかじめ学習されており、前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断する段階は、前記学習用画像が第1の状態でラベル付けされた場合、第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、前記学習用画像が第2の状態でラベル付けされた場合、第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断する段階と、を含むことができる。
【0022】
一実施形態において、前記学習用画像のそれぞれは、所定の疾病による病変が含まれた画像あるいは前記病変が含まれない画像のうちのいずれか一つであり、前記第1の状態は、前記病変が存在しない正常状態であり、前記第2の状態は、前記病変が存在する異常状態であることができる。
【0023】
本発明の他の一態様によれば、データ処理処置に設置され、前述した方法を実行するための、記録媒体に格納されたコンピュータプログラムが提供される。
【0024】
本発明の他の一態様によれば、前述した方法を実行するためのコンピュータプログラムが格納されたコンピュータで読み取り可能な記録媒体が提供される。
【0025】
本発明の他の一態様によれば、コンピューティングシステムであって、プロセッサ及びメモリーを含み、前記メモリーは、前記プロセッサによって実行される場合、前記コンピューティングシステムに前述した方法を実行させるコンピューティングシステムが提供される。
【0026】
本発明の他の一態様によれば、入力されたデータインスタンス(instance)が第1の状態であるか第2の状態であるかを判断するためのオートエンコーダ及び入力されたデータインスタンスが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークを格納するストレージモジュールと、第1の状態または第2の状態のいずれかでラベル付けされている複数のデータバッグ(bag)のそれぞれに対して、前記データバッグに含まれたデータインスタンスの一部である学習用インスタンスを抽出する抽出モジュールと、前記複数のデータバッグのそれぞれに対応する学習用インスタンスに基づいて、前記ニューラルネットワークを学習する学習モジュールと、を含み、前記抽出モジュールは、前記データバッグに含まれた各データインスタンスを学習中の前記ニューラルネットワークに入力して、前記データバッグに含まれた各データインスタンス別の可能性を算出し、前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断するニューラルネットワーク学習システムが提供される。
【0027】
一実施形態において、前記抽出モジュールは、前記オートエンコーダに入力されたデータインスタンスと、前記オートエンコーダから出力された出力データとの差に基づいて、前記オートエンコーダに入力されたデータインスタンスが第1の状態であるか第2の状態であるかを判断することができる。
【0028】
一実施形態において、前記オートエンコーダは、第1の状態であるデータインスタンスのみであらかじめ学習されており、抽出モジュールは、前記データバッグに含まれた各データインスタンス別の可能性、及び前記データバッグに含まれた各データインスタンスのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記データバッグに含まれた各データインスタンスの一部を学習用インスタンスであると判断するために、前記データバッグが第1の状態でラベル付けされた場合、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のデータインスタンスを前記データバッグに対応する学習用インスタンスであると判断し、前記データバッグが第2の状態でラベル付けされた場合、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のデータインスタンスを前記データバッグに対応する学習用インスタンスであると判断することができる。
【0029】
本発明の他の一態様によれば、入力されたパッチが第1の状態であるか第2の状態であるかを判断するためのオートエンコーダ(ここで、前記パッチは、画像を所定のサイズに分割したものうちのいずれか一つであり、前記オートエンコーダは、複数の第1の状態であるパッチのみであらかじめ学習される)と、入力されたパッチが第1の状態または第2の状態である可能性を出力することができるニューラルネットワークを格納するストレージモジュールと、第1の状態または第2の状態のいずれかでラベル付けされている複数の学習用画像のそれぞれに対して、前記学習用画像を構成するパッチの一部である学習用パッチを抽出する抽出モジュールと、前記複数の学習用画像のそれぞれに対応する学習用パッチに基づいて、前記ニューラルネットワークを学習する学習モジュールと、を含み、前記抽出モジュールは、前記学習用画像を構成する各パッチを訓練中の前記ニューラルネットワークに入力して、前記学習用画像を構成する各パッチ別の可能性を算出し、前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断するニューラルネットワーク学習システムが提供される。
【0030】
一実施形態において、前記オートエンコーダは、第1の状態であるパッチのみであらかじめ学習されており、前記抽出モジュールは、前記学習用画像を構成する各パッチ別の可能性、及び前記学習用画像を構成する各パッチのうちの少なくとも一部に対する前記オートエンコーダの判断結果に基づいて、前記学習用画像を構成する各パッチの一部を学習用パッチであると判断するために、前記学習用画像が第1の状態でラベル付けされた場合、第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第1の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断し、前記学習用画像が第2の状態でラベル付けされた場合、第2の状態である可能性が最も高いパッチから第2の状態である可能性が低くなる順に、前記オートエンコーダに入力して、前記オートエンコーダによって第2の状態であると判断された上位の一部のパッチを、前記学習用画像に対応する学習用パッチであると判断することができる。
【発明の効果】
【0031】
本発明の技術的思想によれば、一つのデータバッグから複数のデータインスタンスを学習用インスタンスとして抽出することができる。従来のマルチインスタンス学習方法では、一つのデータバッグから複数の学習用インスタンスを抽出する場合、誤った学習データインスタンスが抽出される可能性が高く、ニューラルネットワークの学習に否定的な影響を及ぼす恐れがあったが、本発明の技術的思想による方法によれば、あらかじめ学習されたオートエンコーダを利用して学習用インスタンスをフィルタリングすることで、誤った学習データインスタンスが抽出されることをかなり減らすことができるようになるという効果がある。よって、より少数のデータだけで効果的にニューラルネットワークを学習できるようになる効果がある。
【図面の簡単な説明】
【0032】
本発明の詳細な説明で引用される図面を、より十分に理解するために、各図面の簡単な説明を提供する。
【0033】
図1図1aは、マルチインスタンス学習に用いられる学習データの一例を示した図である。図1bは、マルチインスタンス学習法を通じてニューラルネットワークを学習する過程の一例を示す疑似コード(pseudo code)を示した図である。
図2図2は、本発明の技術的思想によるニューラルネットワーク学習方法を実行するためのコンピューティングシステムの概略的な構成を示した図である。
図3図3は、本発明の技術的思想によるニューラルネットワーク学習方法で利用するオートエンコーダの構造を概略的に示した図である。
図4図4は、本発明の技術的思想によるニューラルネットワーク学習システムが学習用データインスタンスを抽出する方法の一例を示した図である。
図5図5は、図4の段階S120の具体的な過程の一例を示した図である。
図6図6は、図5の段階S121の具体的な過程の一例を示した図である。
図7図7は、本発明の一実施形態によるニューラルネットワークを用いた判断システムの概略的な構成を示した図である。
図8図8は、本発明の一実施形態によるニューラルネットワークを用いた判断システムが病理スライドイメージ内の病変領域をマトリックスマップの形態で出力した例を示している。
【発明を実施するための形態】
【0034】
本発明は、多様な変形を加えることができ、種々の実施例を有することができるので、特定の実施形態を図面に例示して詳細に説明する。しかし、これは、本発明を特定の実施形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれるすべての変形、均等物乃至代替物を含むものと理解されなければならない。本発明を説明するにあたり、関連した公知の技術に対する具体的な説明が本発明の要旨を不明確にする可能性があると判断される場合、その詳細な説明を省略する。
【0035】
第1の、第2のなどの用語は、多様な構成要素を説明するのに使われるが、これらの構成要素は、用語によって限定されてはならない。用語は、一つの構成要素を他の構成要素から区別する目的だけで使われる。
【0036】
本出願で使用した用語は、ただ特定の実施形態を説明するために使われたもので、本発明を限定しようとする意図ではない。単数の表現は文脈上明らかに他の意味ではない限り、複数の表現を含む。
【0037】
本明細書において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらの組み合わせが存在することを指定しようとするものであって、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらの組み合わせなどの存在または付加可能性をあらかじめ排除しないものと理解されなければならない。
【0038】
また、本明細書においては、いずれか一つの構成要素が他の構成要素にデータを「伝送」する場合は、構成要素は、他の構成要素に直接データを伝送してもよく、少なくとも一つのまた他の構成要素を介してデータを他の構成要素に伝送してもよいことを意味する。逆に、いずれか一つの構成要素が他の構成要素にデータを「直接伝送」する場合は、構成要素から他の構成要素を介さず他の構成要素にデータが伝送されることを意味する。
【0039】
以下、添付図面を参照して本発明の実施例を中心に本発明を詳しく説明する。各図面において同一の部材には同一の符号を付してある。
【0040】
図2は、本発明の技術的思想によるニューラルネットワーク学習方法を実行するためのコンピューティングシステムの概略的な構成を示した図である。
【0041】
本発明の技術的思想によるニューラルネットワーク学習方法は、ニューラルネットワーク学習システム100によって実行されてもよい。
【0042】
ニューラルネットワーク学習システム100は、本発明の技術的思想を実現するための演算能力を有するデータ処理処置であるコンピューティングシステムであることができ、一般に、ネットワークを通じてクライアントが接続可能なデータ処理装置であるサーバーだけではなく、個人用コンピュータや携帯端末などのようなコンピューティング装置を含むことができる。
【0043】
ニューラルネットワーク学習システム100は、いずれか一つの物理的装置で実現することもできるが、必要によって、複数の物理的装置が有機的に結合されて本発明の技術的思想によるニューラルネットワーク学習システム100を実現することができることを、本発明の技術分野における当業者は容易に推論可能である。
【0044】
図2を参照すれば、ニューラルネットワーク学習システム100は、ストレージモジュール110、抽出モジュール120、及び学習モジュール130を含むことができる。本発明の実施例によって、前述した構成要素のうちの一部の構成要素は、必ずしも本発明の実現に必須である構成要素に該当しなくてもよく、また、実施例によって、ニューラルネットワーク学習システム100は、それより多くの構成要素を含んでもよいことは勿論である。例えば、システム100は、ニューラルネットワーク学習システム100の他の構成(例えば、ストレージモジュール110、抽出モジュール120、学習モジュール130など)の機能及び/またはリソースを制御するための制御モジュール(図示せず)をさらに含んでもよい。また、実施例によって、ニューラルネットワーク学習システム100は、本発明の技術的思想を実現するに要する各種情報及び/またはデータを格納するためのデータベース(Database;DB、140)をさらに含んでもよい。
【0045】
ニューラルネットワーク学習システム100は、本発明の技術的思想を実現するために必要なハードウェアリソース(resource)及び/またはソフトウェアを具備した論理的な構成を意味することができ、必ずしも一つの物理的な構成要素を意味するか、一つの装置を意味するわけではない。すなわち、システム100は、本発明の技術的思想を実現するために具備されるハードウェア及び/またはソフトウェアの論理的な結合を意味することができ、必要な場合は、互いに離隔された装置に設置されてそれぞれの機能を実行することで、本発明の技術的思想を実現するための論理的な構成の集合で実現されてもよい。また、システム100は、本発明の技術的思想を実現するためのそれぞれの機能または役割別に別途実現される構成の集合を意味することもできる。例えば、ストレージモジュール110、抽出モジュール120、および学習モジュール130のそれぞれは、相異なる物理的装置に位置してもよく、同一の物理的装置に位置してもよい。さらに、実現例によっては、ストレージモジュール110、抽出モジュール120、および学習モジュール130のそれぞれを構成するソフトウェア及び/またはハードウェアの結合も、相異なる物理的装置に位置し、相異なる物理的装置に位置した構成が互いに有機的に結合されて夫々のモジュールを実現することもできる。
【0046】
また、本明細書でモジュールとは、本発明の技術的思想を実行するためのハードウェアと、ハードウェアを駆動するためのソフトウェアとの機能的、構造的結合を意味することができる。例えば、モジュールは、所定のコード及び該所定のコードが実行されるためのハードウェアリソース(resource)の論理的な単位を意味することができ、必ず物理的に連結されたコードを意味するか、一種類のハードウェアを意味するものではないことは、本発明の技術分野における当業者にとっては容易に推論可能なことである。
【0047】
ストレージモジュール110は、ニューラルネットワーク111及びオートエンコーダ112を格納することができる。
【0048】
本明細書におけるニューラルネットワークは、多層パーセプトロンモデルを含み、人工ニューラルネットワークを定義する一連の設計事項を表現する情報の集合を意味してもよい。
【0049】
一実施形態において、ニューラルネットワーク112は、畳み込みニューラルネットワークであってもよい。畳み込みニューラルネットワークは、周知のごとく、入力層、複数の隠れ層、及び出力層を含むことができる。複数の隠れ層のそれぞれは、畳み込み層及びプーリング層(またはサブサンプリング層)を含むことができる。
【0050】
畳み込みニューラルネットワークは、これらの各々の層を定義するための関数、フィルター、ストライド(stride)、ウェイトファクターなどによって定義されてもよい。また、出力層は、フィードフォワード(Feed-Forward)型全結合(fully-connected)レイヤと定義されてもよい。
【0051】
畳み込みニューラルネットワークを構成するそれぞれのレイヤ別設計事項は、広く知られている。例えば、複数のレイヤに含まれるレイヤの個数、複数のレイヤを定義するための畳み込み関数、プーリング関数、活性化関数のそれぞれに対しては、公知の関数が利用してもよく、本発明の技術的思想を実現するために別途定義された関数が利用してもよい。
【0052】
畳み込み関数の一例としては、離散畳み込み和などが挙げられる。プーリング関数の一例としては、最大値プーリング(max pooling)、平均値プーリング(average pooling)などが用いられることができる。活性化関数の一例としては、シグモイド(sigmoid)、ハイパボリックタンジェント(tanh)、ReLU(rectified linear unit)などが挙げられる。
【0053】
このような畳み込みニューラルネットワークの設計事項が定義されれば設計事項が定義された畳み込みニューラルネットワークがストレージ装置に格納することができる。そして、畳み込みニューラルネットワークが学習されると、それぞれのレイヤにあたるウェイトファクターを特定することができる。
【0054】
すなわち、畳み込みニューラルネットワークの学習は、それぞれのレイヤのウェイトファクターが決定されるプロセスを意味することができる。そして、畳み込みニューラルネットワークが学習されれば、学習済みの畳み込みニューラルネットワークは、入力層に入力データが入力されてあらかじめ定義された出力層を介して出力データを出力することができる。
【0055】
本発明の実施形態によるニューラルネットワークは、上記のように広く知られた設計事項のうちのいずれか一つまたは複数個を選択して定義されてもよく、独自の設計事項がニューラルネットワークのために定義されてもよい。
【0056】
ニューラルネットワーク111は、入力されたデータのクラス分類(classification)に利用可能なクラス分類ニューラルネットワークであってもよい。好ましくは、ニューラルネットワーク111は、入力されたデータが所定の第1の状態または第2の状態であるかどうかに対する可能性を出力することにより、入力されたデータに対する二進分類に用いられるニューラルネットワークであってもよい。例えば、ニューラルネットワーク111は、生体画像が入力されて当該画像に所定の疾病(例えば、癌)によって発生する病変が存在する可能性を判断するためのニューラルネットワークであってもよい。
【0057】
つまり、ニューラルネットワーク111は、該ニューラルネットワーク111に入力される値が所定の第1の状態または第2の状態である可能性を出力することができる。第1の状態は、ポジティブ(positive)またはネガティブ(negative)のうちのどちらか一方であってもよく、第2の状態は、ポジティブ(positive)またはネガティブ(negative)のうちのもう一方であってもよい。例えば、第1の状態は、病変が存在しない正常状態(negative)であり、第2の状態は、病変が存在する異常状態(positive)であるかも知れない。
【0058】
ニューラルネットワーク111が出力する可能性は、ニューラルネットワーク111内の損失関数(例えば、平均二乗誤差(mean squared error;MSE)、交差エントロピー誤差(cross entropy error;CEE)若しくは二つのベクトル間の距離(例えば、ユークリッド距離、n次元の距離、マンハッタン距離など)を示す関数など)によって算出される値であるかも知れない。
【0059】
オートエンコーダ112は、教師なし学習方法論で主に使われるニューラルネットワーク構造である。オートエンコーダ112は、入力される値の次元を縮小したうえで再び復元する形態の教師なし機械学習モデルであって、学習に使われる値が有する特徴を学習する機能を持つ。より詳しくは、オートエンコーダ112は、出力値を入力値に近似させる関数を学習し、エンコーダによって入力値に対するフィーチャーを抽出し、デコーダによって入力値を再構成する。
【0060】
図3は、オートエンコーダ112の構造を概略的に示した図である。図3を参照すると、オートエンコーダ112は、畳み込み層を含むエンコーダ部112-1及び逆畳み込み層を含むデコーダ部(112-2)を含むことができる。エンコーダ111にデータソース(x)が入力されればエンコーダ部112-1でデータソース(x)に対するエンコードが行われることでデータソース(x)のフィーチャー(z=E(x))が生成されてもよい。生成されたフィーチャー(z)は、デコーダ部(112-2)でデコードされてデータソース(x)に対応する復元データ(x′=D(z))が生成されてもよい。
【0061】
オートエンコーダも、ニューラルネットワークの一種なので、多数の訓練データによる学習が先行されるが、オートエンコーダの学習段階ではそれぞれの学習データdに対して下記の1)~3)過程が実行される。
【0062】
1)学習データdがオートエンコーダ112に入力されてエンコード及びデコードの過程を経て学習データdに対応する復元データd′が生成される。
2)学習データdと復元データd′との間の差である誤差e=L(d、d′)が算出される(Lは損失関数)。
3)誤差逆伝播(error backpropagation)法によってオートエンコーダ112内の加重値が更新される。
【0063】
一方、オートエンコーダ112は、入力された値が第1の状態であるか第2の状態であるかを判断するのに用いることができる。
【0064】
一実施形態において、オートエンコーダ112は、第1の状態の学習データのみであらかじめ学習されることができ、所定の予測対象値を学習済みのオートエンコーダ112に入力してオートエンコーダ112が復元(すなわち、出力)した結果値と、予測対象値とが所定の閾値以上の差がある場合、予測対象値は第2の状態であると判断され得る。
【0065】
他の一実施形態において、オートエンコーダ112は、第2の状態のデータのみであらかじめ学習することができ、所定の予測対象値を学習済みのオートエンコーダ112に入力してオートエンコーダ112が復元(すなわち、出力)した結果値と、予測対象値が所定の閾値以上の差がある場合、予測対象値は第1の状態であると判断することができる。
【0066】
なお、実施形態によって、オートエンコーダ112は、変分オートエンコーダ(Variational AutoEncoder;VAE)を含むことができる。
【0067】
さらに図2を参照すれば、DB140は、ニューラルネットワーク111の学習に用いられる学習データを格納することができる。学習データは、図1aを参照して説明したようなマルチインスタンス学習用データであってもよい。すなわち、DB140に格納された学習データのそれぞれは、多数のデータインスタンスを含むデータバッグであってもよい。
【0068】
一実施形態において、複数の学習データのそれぞれは、ホールイメージであってもよく、それぞれの学習データを構成するデータインスタンスは、当該ホールイメージを所定のサイズに分割したそれぞれの画像パッチであってもよい。例えば、学習データのそれぞれは、完全な病理スライドイメージであることができる。この場合、データバッグは、一つの完全な病理スライドイメージとなり、当該データバッグに含まれたデータインスタンスは、当該病理スライドイメージを所定のサイズに分割した個別パッチであってもよい。
【0069】
一方、DB140に格納された学習データは、それぞれ、第1の状態または第2の状態でラベル付けされていてもよい。例えば、複数の学習データが病理スライドイメージである場合、それぞれの学習データは、病理スライドイメージに対する診断結果(例えば、病変の有無など)がラベル付けされていることがある。
【0070】
なお、実施形態によっては、学習データは、DB140に格納されているものではなく、外部入力手段を通じてユーザから入力されてもよく、HDDやSDDのようなストレージ装置にファイルの形態で格納されていてもよい。
【0071】
抽出モジュール120は、第1の状態または第2の状態のいずれか一つでラベル付けされている複数のデータバッグのそれぞれに対して、データバッグに含まれたデータインスの一部を学習用インスタンスとして抽出する抽出段階を実行することができる。抽出モジュール120によって抽出された学習用インスタンスは、追ってニューラルネットワーク111の学習に用いられることができる。
【0072】
図4は、抽出モジュール120が学習用データインスタンスを抽出する方法の一例を示した図である。図4は、学習データが図1aに示されたものと同様な場合を例えている。
【0073】
図4を参照すれば、抽出モジュール120は、まず、それぞれのデータバッグB~Bに対して段階S110~S130を実行することができる(S100)。
【0074】
一方、抽出モジュール120は、データバッグBに対して(iは1≦i≦Mである任意の整数)、データバッグBに含まれた各データインスタンスDijをニューラルネットワーク111に入力して(jは1≦j≦Nである任意の整数)、データバッグBに含まれた各データインスタンスDijの可能性Pijを算出できる(S110、S111)。例えば、Pijは第2の状態である可能性があり、データインスタンスDijに対する交差エントロピー誤差を可能性Pijとして算出することができる。
【0075】
その後、抽出モジュール120は、データバッグBに含まれた各データインスタンス別の可能性(Pi1~PiN)、及びデータバッグに含まれた各データインスタンス(Di1~DiN)のうちの少なくとも一部に対するオートエンコーダ112の判断結果に基づいて、データバッグBに含まれた各データインスタンス(Di1~DiN)の一部を学習用インスタンスであると判断することができ(S120)、判断済みの学習用インスタンスをBのラベルLでラベル付けを行うことができる(S130)。
【0076】
図5は、図4の段階S120の具体的な過程の一例を示した図である。図5の例では、オートエンコーダ112は、第1の状態であるデータインスタンスのみであらかじめ学習済みと仮定する。
【0077】
図5を参照すれば、抽出モジュール120は、データバッグが第1の状態でラベル付けされた場合、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、オートエンコーダ112に入力して、オートエンコーダによって第1の状態であると判断された上位の一部のデータインスタンスをデータバッグに対応する学習用インスタンスであると判断できる(S121)。このとき、抽出モジュール120は、オートエンコーダ112に入力されたデータインスタンスと、オートエンコーダ112が出力した出力データとの間の差が所定の閾値以上である場合、オートエンコーダ112に入力されたデータインスタンスが第1の状態であると判断してもよい。
【0078】
一方、データバッグが第2の状態でラベル付けされた場合、抽出モジュール120は、第2の状態である可能性が最も高いデータインスタンスから第2の状態である可能性が低くなる順に、オートエンコーダ112に入力して、オートエンコーダ112によって第2の状態であると判断された上位の一部のデータインスタンスをデータバッグに対応する学習用インスタンスであると判断できる(S122)。
【0079】
図6は、図5の段階S121の具体的な過程の一例を示した図である。
図6を参照すれば、抽出モジュール120は、データバッグB内のデータインスタンス(Di1~DiN)を第2の状態である可能性の順に降順ソートが可能である(S1211)。
【0080】
抽出モジュール120は、段階S1211によってソートされた順にB内のデータインスタンスAをオートエンコーダ112に入力して(kは1≦j≦Nである任意の整数)、入力されたデータインスタンスAの状態を判断することができ(S1213)、データインスタンスAが第1の状態であると判断された場合データインスタンスAを学習用インスタンスであると判断することができる(S1215)。
【0081】
抽出モジュール120は、段階S1213~段階S1215をループが終了するか、またはデータバッグBに対応する学習用インスタンスがあらかじめ定められた個数Z分だけ発見されるまで行うことができる(S1212、S1216、S1217参照)。
【0082】
本発明の属する分野における通常の技術者なら、図6を参考して図5の段階S122の具体的な例も容易に導出することができるはずなので、詳細な説明は省略する事にする。一方、図5及び図6は、図4の段階S120を実現する一例であって、図4の段階S120を実現する多様な方法があり得ることは言うまでもない。
【0083】
前述のような抽出過程を通じて、抽出モジュール120は、一つのデータバッグから複数のデータインスタンスを学習用インスタンスとして抽出することができる。従来のマルチインスタンス学習方法では、一つのデータバッグから複数の学習用インスタンスを抽出する場合、誤った学習データインスタンスが抽出される可能性が高く、ニューラルネットワークの学習に否定的な影響を及ぼす可能性があったが、本発明の技術的思想による方法によれば、いずれか一つの状態のみを有する学習データインスタンスにあらかじめ学習済みのオートエンコーダを用いてフィルタリングすることで、誤った学習データインスタンスが抽出されることをかなり減らすことができるようになるという効果がある。
【0084】
再び図2を参照すれば、学習モジュール130は、抽出モジュール120によって抽出された学習用インスタンスに基づいて、ニューラルネットワーク111を学習することができる。
【0085】
学習モジュール130は、周知のごとく、ニューラルネットワーク111に入力された学習用インスタンスと出力値との間の損失誤差を、ニューラルネットワーク111にバックプロパゲーションしてニューラルネットワーク111を学習することができる。
【0086】
ニューラルネットワーク学習方法は、抽出モジュールによって実行される学習データインスタンス抽出過程及び学習モジュール130によって実行される学習過程を一つのエポック(epoch)として取り扱い、複数のエポック分を繰り返して実行することで、ニューラルネットワーク111の性能を向上させることができる。
【0087】
一方、本発明の技術的思想によるニューラルネットワーク学習方法は、画像基盤の疾病診断あるいは医師の診断に役立つための診断補助に用いることができる画像基盤の疾病診断のためのニューラルネットワークを学習するのに応用することができ、以下ではこのような応用例について説明する。
【0088】
本応用例において、ニューラルネットワーク111は、ホールスライドイメージ(whole slide image)を所定のサイズに分割した画像パッチが入力されて当該画像パッチに所定の疾病による病変の有無を判断する、診断用あるいは診断補助用のニューラルネットワークであってもよい。この場合、DB140は、複数の病理画像スライドを格納することができる。病理スライドイメージは、組職画像をはじめとして、多様な生体画像である。一方、それぞれの病理スライドイメージは、病変が存在しない第1の状態(正常状態)、または病変が存在する第2の状態(異常状態)のいずれか一つでラベル付けされている。なお、本応用例において、オートエンコーダ112は、病変が存在しない正常状態の画像パッチのみであらかじめ学習されていてもよい。例えば、学習者は、ニューラルネットワーク111の学習のためにDB140に格納された病理スライドイメージのうち、正常状態でラベル付けされたもののみを選んでパッチに分割した後、オートエンコーダ112をあらかじめ学習することができる。あるいは、学習者は、ニューラルネットワーク111の学習に用いられない別途の正常状態のパッチを収集して、オートエンコーダ112をあらかじめ学習してもよい。
【0089】
本応用例において、抽出モジュール120は、正常状態または異常状態のいずれか一つでラベル付けされている複数の学習用病理スライドイメージのそれぞれに対して、学習用病理スライドイメージを構成するパッチの一部である学習用パッチを抽出する抽出段階を実行することができ、学習モジュール130は、抽出された学習用パッチに基づいて、ニューラルネットワーク111を学習する学習段階を実行することができる。
【0090】
この際、抽出段階において、抽出モジュール120は前記学習用病理スライドイメージを構成する各パッチを訓練中のニューラルネットワーク111に入力し、学習用病理スライドイメージを構成する各パッチ別の可能性を算出することができ、学習用病理スライドイメージを構成する各パッチ別の可能性、及び学習用病理スライドイメージを構成する各パッチのうちの少なくとも一部に対するオートエンコーダ112の判断結果に基づいて、学習用病理スライドイメージを構成する各パッチの一部を学習用パッチであると判断することができる。
【0091】
より具体的に、抽出モジュール120は、学習用病理スライドイメージが正常状態でラベル付けされた場合、異常状態である可能性が最も高いパッチから異常状態である可能性が低くなる順に、オートエンコーダ112に入力して、オートエンコーダ112によって正常状態であると判断された上位の一部のパッチを、学習用画像に対応する学習用パッチであると判断することができる。更に、抽出モジュール120は、学習用画像が異常状態でラベル付けされた場合、異常状態である可能性が最も高いパッチから異常状態である可能性が低くなる順に、オートエンコーダ112に入力して、オートエンコーダ112によって異常状態であると判断された上位の一部のパッチを、学習用画像に対応する学習用パッチであると判断することができる。
【0092】
尚、上述したニューラルネットワーク学習方法によって学習されたニューラルネットワークは、所定の判断システムに搭載され、入力されたデータに対する予測を実行することができる。一実施形態において、判断システムに搭載されるニューラルネットワークは、画像に対する判断に用いられることができる。すなわち、ニューラルネットワークは、所定の画像が第1の状態または第2の状態であるか否かを判断するためのものであってもよい。一方、判断システムは、所定のコンピューティングシステムであってもよい。
【0093】
以下では、前述したニューラルネットワーク学習方法によって学習されたニューラルネットワークを搭載した判断システムの一例について図7を参照して説明する。
【0094】
図7は、本発明の一実施形態によるニューラルネットワークを用いた判断システムの概略的な構成を示した図である。
図7を参照すれば、ニューラルネットワークを用いた判断システム300は、ストレージモジュール310、パッチ単位判断モジュール320、及び出力モジュール330を含むことができる。
【0095】
ストレージモジュール310は、前述したニューラルネットワーク学習方法によって学習されたニューラルネットワークを格納することができる。ストレージモジュール310は、ニューラルネットワークをはじめ、各種情報及びデータを格納することができるストレージ手段であってもよい。
【0096】
パッチ単位判断モジュール320は、所定の判断対象画像を分割した複数の診断パッチの各々をニューラルネットワークに入力して複数の診断パッチの各々に対応する判断結果を獲得することができる。
【0097】
出力モジュール330は、パッチ単位診断モジュールによって獲得された複数の診断パッチの各々の判断結果に基づいて、判断対象画像のマトリックスマップを出力することができる。マトリックスマップは、第1の状態のパッチ領域と第2の状態のパッチ領域とを視覚的に区分することができるマップを意味することができる。
【0098】
ニューラルネットワークを用いた判断システム300は、病理スライドイメージが入力されて病変領域を出力するシステムとして用いられることができる。この場合、すなわち、判断システム300は、所定の疾病による病変を含む病理スライドイメージを入力することができ、パッチ単位判断モジュール320は、病理スライドイメージをパッチ単位に分割し、各パッチ別に病変の存在有無を判断することができる。それ以降、出力モジュール330は、各パッチ別の判断結果に基づいて、病理スライドイメージの病変領域をパッチ単位で区切られるマトリックスマップの形態で出力することができる。
【0099】
図8は、病理スライドイメージ内の病変領域をマトリックスマップの形態で出力した例を示している。図8では、第2の状態と判断されたパッチに対応する領域(病変領域)が濃い色で表示されている。
【0100】
一方、コンピューティング装置100は、プロセッサ及びストレージ装置を含むことができる。プロセッサは、本発明の技術的思想を実現するためのプログラムを駆動させることができる演算装置を意味し、プログラム及び本発明の技術的思想によって定義されるニューラルネットワーク学習方法を実行することができる。プロセッサはシングルコアCPU若しくはマルチコアCPUを含むことができる。ストレージ装置は、本発明の技術的思想を実現するのに必要なプログラム及び各種データを格納することができるデータストレージ手段を意味することができ、実現例によって、複数のストレージ手段で実現することもできる。またストレージ装置は、コンピューティング装置100に含まれた主記憶装置のみならず、プロセッサに含まれることができる臨時ストレージ装置またはメモリーなどを含む意味であってもよい。メモリーは、高速ランダムアクセスメモリーを含むことができ、一つ以上の磁気ディスクストレージ装置、フラッシュメモリー装置、またはその他の不揮発性固体メモリー装置のような不揮発性メモリーを含むこともできる。プロセッサ及びその他の構成要素によるメモリーへのアクセスは、メモリーコントローラーによって制御され得る。
【0101】
一方、本発明の実施形態による方法は、コンピュータで読み取り可能なプログラム命令形態で実現されて、コンピュータで読み取り可能な記録媒体に格納されることができ、本発明の実施形態による制御プログラム及び対象プログラムも、コンピュータで読み取り可能な記録媒体に格納することができる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが格納されるすべての種類の記録装置を含む。
【0102】
記録媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであってもよく、ソフトウェアの分野における当業者にとって公知となり利用可能なものであってもよい。
【0103】
コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、プロッピーディスク及び磁気テープのような磁気媒体(magnetic media)、CD-ROM、DVDのような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような光磁気記録媒体(magneto-optical media)及びROM(Read Only Memory)、RAM、フラッシュメモリーなどのようなプログラム命令を格納し実行するように特別に構成されたハードウェア装置が含まれる。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式によりコンピュータで読み取り可能なコードが格納されて実行されてもよい。
【0104】
プログラム命令の例には、コンパイラーによって作られるような機械語コードだけではなく、インタプリターなどを用いて電子的に情報を処理する装置、例えば、コンピュータによって実行可能な高級言語コードを含む。
【0105】
前述したハードウェア装置は、本発明の動作を実行するために一つ以上のソフトウェアモジュールとして作動するように構成されてもよく、その逆のものと同様である。
【0106】
前述した本発明の説明は、例示のためのものに過ぎず、本発明の属する技術分野における通常の知識を持つ者は、本発明の技術的思想や要旨を変更しなくて他の具体的な形態に容易に変形し得ることを理解できるはずである。したがって、以上で述べた実施形態は、すべての面で例示的なものであって、限定的なものではないと理解すべきである。例えば、単一型で説明されている各構成要素は、分散されて実施されてもよく、同様に、分散されたものと説明されている構成要素も結合された形態で実施されてもよい。
【0107】
本発明の範囲は、詳細な説明よりは、後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、並びにその均等概念から導出されるすべての変更または変形された形態まで、本発明の範囲に含まれるものと解釈されなければならない。
【産業上の利用可能性】
【0108】
本発明は、オートエンコーダ及びマルチインスタンス学習を通じたニューラルネットワーク学習方法及びこれを実行するコンピューティングシステムに用いられることができる。

図1a
図1b
図2
図3
図4
図5
図6
図7
図8