本発明は、様々な変更を加えることができ、種々の実施形態を有することができるので、特定の実施形態を図面に例示し、詳細な説明において詳しく説明する。しかしながら、これは、本発明を特定の実施形態に対して限定しようとするものではなく、本発明の思想及び技術範囲に含まれるあらゆる変換、均等物ないし代替物を含むものと理解されるべきである。なお、本発明について説明するにあたって、関連する公知の技術についての具体的な説明が本発明の要旨を余計に曖昧にする虞があると認められる場合にはその詳細な説明を省略する。
「第1」、「第2」などの用語は、様々な構成要素を説明するうえで使用可能であるが、構成要素は、用語によって何等限定されない。上記の用語は、ある構成要素を他の構成要素から区別する目的でしか使えない。
この出願において用いた用語は、単に特定の実施形態を説明するために用いられたものであり、本発明を限定しようとする意図はない。単数の表現は、文脈からみて明らかに他の意味を有さない限り、複数の表現を含む。
この明細書において、「備える」、「含む」又は「有する」などの用語は、明細書の上に記載の特徴、数字、ステップ(段階)、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定するものに過ぎず、一つ又はそれ以上の他の特徴や数字、ステップ(段階)、動作、構成要素、部品又はこれらを組み合わせたもの存在又は付加の可能性を予め排除しないものと理解すべきである。
また、この明細書においては、ある一つの構成要素が他の構成要素にデータを「伝送」する場合には、これは、構成要素が、他の構成要素に直接的にデータを伝送してもよく、少なくとも一つのさらに他の構成要素を介してデータを他の構成要素に伝送してもよいことを意味する。逆に、ある一つの構成要素が他の構成要素にデータを「直接的に伝送」する場合には、これは、構成要素から他の構成要素を介さずに他の構成要素にデータが伝送されることを意味する。
以下、添付図面に基づいて、本発明の実施形態を中心として本発明について詳しく説明する。各図面に示されている同一の参照符号は、同一の部材を示す。
図1は、本発明の技術的思想に基づく、半教師あり学習を用いた診断システム提供方法を実現するための概略的なシステム構成を示す図である。
図1を参照すると、本発明の技術的思想に基づく、半教師あり学習を用いた診断システム提供方法を実現するために、教師あり学習(supervised learning)に基づいて学習された診断システム100を実現してもよい。
診断システム100は、本発明の技術的思想に基づいて、所定の入力データが入力されると診断結果を出力するように教師あり学習に基づいて学習されたシステムであってもよい。
例えば、診断システム100は、教師あり学習に基づいて学習され、所定の生体データ(例えば、生体画像)が入力されると、生体データを、学習されたニューラルネットワークを介して所定の分類(例えば、疾病の発現の有無又は疾病の進行度による分類)に分類し、その結果を診断結果として出力するシステムであってもよい。
診断システム100は、本明細書で定義された機能を実行できるならば、種々のデータ処理システム(例えば、コンピュータ、サーバ、スマートフォン、または専用装置など)を用いて実現できることは言うまでもない。
診断システム100は、多数の学習データを用いて学習され得る。所定のニューラルネットワークを備えるシステム100-1が、多数の学習データの入力を受けて(S10)学習を行うと(S20)、診断システム100が実現され得る。
学習データは、所望の診断システム100が診断結果を出力するために予めアノテーションされたデータであってもよい。アノテーションは、診断システム100が出力する診断結果に相当する情報であってもよい。
診断システム100が、単に入力データ(例えば、生体画像)の入力を受け、当該入力データに疾病が発現したか否かを診断結果として出力するシステムである場合、アノテーションもまた、多数のデータ(例えば、生体画像)のそれぞれに疾病が発現したか否かについての情報をラベリングすることを意味し得る。
または、診断システム100が、疾病の進行状態の程度(例えば、前立腺がんの場合のグリーソンスコア)を診断結果として出力するシステムである場合、アノテーションもまた、多数のデータ(例えば、生体画像)のそれぞれに疾病の進行状態の程度をラベリングすることを意味し得る。
いずれの場合も、アノテーション情報に基づいて診断システム100が出力する診断結果が依存的に定義されてもよい。
このようにアノテーションされた学習データを用いて学習された診断システム100の性能は、学習データの量及び質に依存していてもよい。
しかし、特に、学習された診断システム100を疾病の診断に用いるためには、入力データを見て診断して結果を出す熟練した医療従事者によりこのようなアノテーションを行う必要があり、このようなアノテーションは十分に多い学習データのそれぞれに対して行われる必要がある。
したがって、このような問題を軽減するために、本発明の技術的思想に基づく、半教師あり学習を用いた診断システム提供方法では、教師あり学習に基づいて学習された診断システム100をある程度のレベルに実現し、その後、診断システム100の診断結果を、診断結果に対応する入力データのアノテーション結果として設定してもよい。
例えば、教師あり学習に基づいて既に学習された診断システム100が特定の入力データを入力されると(S100)、診断システム100は、診断結果を出力できる(S110)。
そうすると、特定の入力にデータは、診断結果としてアノテーションされたデータとして設定されてもよい。
このように、教師あり学習に基づいて学習された診断システム100により、診断結果が入力データのアノテーション結果として設定され、診断システム100の診断結果としてアノテーションされたデータを自動アノテーション学習データとして定義することにする。
このような自動アノテーション学習データを、診断システム100の再学習用の学習データとして用いてもよい(S120)。すなわち、診断システム100は、自動アノテーション学習データを用いて再学習を行うことができる。
一方、診断システム100が診断結果として出力する全ての入力データを自動アノテーション学習データとして用いるのではない可能性がある。すなわち、自動アノテーション学習データは、後述するように、診断システム100の再学習に用いられるデータであるので、自動アノテーション学習データのアノテーション結果は信頼できるものでなければならない。
したがって、自動アノテーション学習データは、診断システム100が入力データに対して所定の診断結果を出力したとき、診断結果を一定の確率以上で出力した場合の入力データに制限され得る。
診断システム100に含まれるニューラルネットワークの最終層(final layer)よりも前の層により、このような確率に相当する数値が出力されるようにニューラルネットワークを設計してもよい。勿論、実施形態によっては、ニューラルネットワークの最終層が数値を出力するように実現されてもよい。いずれの場合も、診断システム100に含まれるニューラルネットワークの少なくとも1つの層は、最終的な診断結果を出力する前に、診断結果を決定する基礎となる数値を出力するように設計及び学習されてもよい。
そうすると、診断システム100は、数値が所定の閾値以上である場合は、診断結果を第1診断結果(例えば、疾病発現の有無又は疾病の進行状態の程度などの第1クラス)として出力(入力データを分類)でき、数値が所定の閾値未満である場合は、診断結果を第2診断結果(診断結果として分類可能な複数のクラスのうちの第2クラス)として出力できる。
他の実施形態によれば、診断システム100は、診断結果を分類するための基準となる数値の基準とは別に、自動アノテーション学習データとして用いられるための基準となる閾値を別に定義してもよい。
例えば、数値が一定値(例えば、0.8)以上の場合に第1診断結果を出力するが、自動アノテーション学習データとして用いられるための基準となる閾値は0.85であってもよい。すなわち、第1診断結果として分類された入力データのうち、閾値が0.85以上の入力データのみを自動アノテーション学習データとして用いることができる。
いかなる場合も、診断システム100が受信した入力データが、診断システム100により所定の診断結果として分類された場合に、閾値は、入力データを自動アノテーション学習データとして用いるか否かを判断する基準となり得る。
さらに、このように自動アノテーション学習データとして用いる基準となる閾値を基準閾値として定義してもよい。自動アノテーション学習データに含まれるデータは、基準閾値に基づいて決定されてもよく、決定された自動アノテーション学習データは、診断システム100の再学習に用いられてもよい。したがって、基準閾値は、再学習後の診断システム100の性能に大きな影響を与えることができる。
実施形態によれば、診断結果の基礎となる数値は、診断システム100によって出力される診断結果(例えば、複数のクラス)のうち、第1診断結果(例えば、複数のクラスのうちの第1クラス)の正確度を示す確率に対応してもよい。しかし、実施形態によれば、自動アノテーション学習データは、第1診断結果として分類された入力データだけでなく、他の診断結果(例えば、複数のクラスのうちの第1クラスではない他のクラス)として分類された入力データをも含まなければならない場合もある。したがって、基準閾値が高くなるほど必ずしも再学習後の診断システム100の性能の改善程度が大きくなるというわけではない。
したがって、本発明の技術的思想によれば、基準閾値をも、診断システム100によって決定してもよい。
診断システム100は、複数の閾値を設定し、設定された複数の閾値のそれぞれに基づいて再学習に用いる複数の自動アノテーション学習データセットを特定してもよい。それぞれの自動アノテーション学習データには、複数の診断結果としてアノテーションされたデータがそれぞれ所定数以上含まれるように特定されてもよい。もちろん、実施形態によっては、いずれか一つの診断結果としてアノテーションされたデータのみを自動アノテーション学習データとして特定してもよい。しかし、一般に、各診断結果に対して学習データが類似の割合で用意されていれば、学習性能に対してより良い有利な効果を得ることができる。したがって、自動アノテーション学習データセットは、複数の診断結果(すなわち、分類されたクラス)の各々にアノテーションが行われたデータが所定数以上の自動アノテーション学習データに含まれるように定義されてもよい。
また、このような複数の異なる学習データセットを用いてそれぞれ診断システム100を再学習させることができる。このために、診断システム100と同一のニューラルネットワークを複数予め用意してもよいことは言うまでもない。
さらに、再学習された複数の診断システム100の各々に対して、予め定義されたテストデータセットを用いて性能評価を行ってもよい。さらにまた、性能評価の結果に基づいて、再学習後の性能が最も良い場合の閾値を基準閾値として決定してもよい。
このような基準閾値が決定されると、診断システム100は、基準閾値に基づいて多数の自動アノテーション学習データを生成できる。また、所定数以上の自動アノテーション学習データが生成された場合(この場合、所定数は、基準閾値を決定するために用いた自動アノテーション学習データの数よりも大きくてもよい)、診断システム100は、自動アノテーション学習データを用いて再学習を行ってもよい。
再学習が行われた診断システム100は、再学習前の診断システム100よりも良い性能を有し得る。
さらに、このように性能が向上した診断システム100は、再学習前の診断システム100に比べて、ニューラルネットワークを構成する多数のパラメータが変更されたシステムであり得る。したがって、既存の基準閾値を継続的に使用して再び再学習を行うための自動アノテーション学習データを生成することは好ましく可能性がある。したがって、再学習後の診断システム100に対しては、再び前述したように、基準閾値を再決定するプロセスを行うことにより、再び再学習を行う際に用いる自動アノテーション学習データの分類基準を変更することが好ましいと言える。
このような技術的思想を実現するための診断システム100の概略構成は、図2に示すものと同じであってもよい。
図2は、本発明の実施形態による診断システムの概略構成を説明するための図である。
図2を参照すると、診断システム100は、図2に示すような構成を備えていてもよい。
診断システム10は、プロセッサ110と記憶装置120とを備えていてもよい。診断システム100は、本発明の技術的思想を実現するための演算能力を有するデータ処理システムを意味し、一般に、ネットワークを介してクライアントが接続可能なデータ処理システムだけでなく、パーソナルコンピュータや携帯端末等の、特定のサービスを行えるいかなる装置でも実現できることは、本発明の技術分野における平均的な専門家であれば容易に推測できる筈である。
プロセッサ110は、本発明の技術的思想を実現するためのプログラム121を駆動可能な演算装置を意味し得、プロセッサ110は、プログラム121と、本発明の技術的思想により定義されるニューラルネットワーク(Nerual Network)123とを用いて診断を行ってもよい。ニューラルネットワークは、畳み込みニューラルネットワークであり得、生体データ(例えば、画像)の入力を受けると、学習されたニューラルネットワークを介して診断結果を出力し得る。
プログラム121は、教師あり学習を通じてニューラルネットワーク123を学習させるか、又は学習されたニューラルネットワーク123を用いて診断を行えるように定義されるソフトウェアを意味し得る。
記憶装置120は、プログラム121及びニューラルネットワーク123を記憶可能なデータ記憶手段を意味し得、実現例によれば、複数の記憶媒体で実現されてもよい。また、記憶装置120は、診断システム100に含まれる主記憶装置だけでなく、プロセッサ110に含まれ得る一時記憶装置又はメモリ等を含むことを意味し得る。
診断システム100は、図2では一つの物理的装置で実現されている。しかしながら、必要に応じて、複数の物理的装置を有機的に組み合わせて、本発明の技術的思想に基づく診断システム100を実現できることは、本発明の技術分野における平均的な専門家であれば容易に推測できる筈である。
以下、本明細書において診断システム(例えば、100)が所定の機能を行うというのは、診断システム(例えば、100)に備えられたプロセッサ(例えば、110)がプログラム(例えば、121)を用いて所定の機能を行うことを意味するのは言うまでもない。
本明細書において、診断システム100が診断を行うというのは、生体データの入力を受け、本明細書で定義された出力データ、例えば、診断結果を出力する一連のプロセスを意味し得る。
診断システム100は、所定の単位ユニット別に生体データの入力を受けてもよい。単位ユニットは、例えば、ピクセル単位であってもよいし、パッチ又はスライド単位であってもよい。
診断システム100の診断結果は、疾病の種類に応じて、単に疾病の発現の有無又はそれに相当する値(例えば、確率など)であり得、或いは、疾病が発現した場合には、疾病の状態の程度を示す状態情報であり得る。
例えば、後述するように、本発明の技術的思想を用いて前立腺がんを診断する場合には、前立腺がんの進行度を示す指標であるグリーソンパターン(Gleason Pattern)又はグリーソンスコア(Gleason Score)が状態情報に含まれてもよい。例えば、グリーソンパターンは2~5の値を有し、数字が大きいほど、前立腺がんの発現度が高いことを示す。したがって、状態情報は、診断の対象となる単位ユニットに該当する生体組織がグリーソンパターンの特定の値(例えば、3、4、又は5)に該当する確率に相当する情報を含み得、或いは、ノーマル(すなわち、疾病が発現していない場合)に該当する確率に相当する情報を含み得る。
いかなる場合も、診断システム100は、学習されたニューラルネットワーク123を介して、入力データを所定の診断結果として分類する機能を行うことができる。
一実施形態によれば、入力データを診断結果として分類するために、診断システム100に含まれるニューラルネットワーク123は、前述したように、最終的な診断結果を決定する前に、所定の数値を出力できる。
このような一例を図3に示す。。
図3は、本発明の実施形態によるニューラルネットワークの概略的な診断方式を説明するための図である。
図3を参照すると、ニューラルネットワーク123は、広く知られているように、入力層(Input Layer)、隠れ層(Hidden Layer)、及び出力層(Output Layer)を含んでいてもよい。
出力層は、診断結果、すなわち、入力データを所定のクラスのうちの一つに分類した結果を出力してもよく、このような出力層より前の層は、少なくとも1つの所定の数値を出力するように設計されてもよい。その後、出力層は、数値に基づいて診断結果を決定して出力してもよい。
このとき、数値は、診断結果を決定する基準となり得、前述したように、本発明の実施形態による自動アノテーション学習データを生成する基準となり得る。例えば、数値が第1値以上の場合、ニューラルネットワーク123は、入力データを第1診断結果として分類してもよい。また、第1診断結果として分類された入力データのうち、数値が第2値以上の場合に限り、入力データを自動アノテーション学習データに含ませてもよい。
もちろん、実施形態によっては、第1値と第2値とは同一に設定されてもよい。この場合、前述したような基準閾値を決定する方式を用いて、第2値、すなわち、入力データを自動アノテーション学習データに含ませるか否かを決定する基準だけでなく、診断結果を分類する基準数値を決定してもよい。
図4は、本発明の実施形態による基準閾値の設定基準を説明するための図である。
図4を参照すると、診断システム100は、複数の閾値値に基づいて特定される互いに異なる複数の自動アノテーション学習データセットを特定してもよい。。
そうすると、診断システム100は、複数の自動アノテーション学習データセットの各々を用いて診断システム100が再学習された場合の性能を評価し得る。
性能の評価は、学習モデルの性能を評価する代表的な基準である正確度(accuracy:正解率)、適合度(precision:適合率)、感度(sensitivity)、特異度(specificity)のうちの少なくとも一つに基づいて行われてもよい。
正確度、適合度、感度、特異度のすべてが改善された場合に限り、性能が改善されたと判断できるが、必要に応じて、性能の評価は、正確度、適合度、感度、特異度のいずれか又は一部に重点をおいて行ってもよい。
これは、入力データの種類やニューラルネットワークの設計例に応じて、正確度、適合度、感度、特異度の一部が多少トレードオフ関係にある場合があり、性能の種類の中で最も重要な性能指標が実施形態によって異なる場合があるからである。
もちろん、評価基準に複数の基準が含まれる場合には、所定のウェイトファクター(重み係数)に基づいて総合的な性能を評価してもよい。
このような方式を用いて再学習された各診断システム100の性能を評価する際に、最高の性能を生み出す自動アノテーション学習データに対応する閾値が基準閾値となり得る。
図5は、本発明の実施形態により基準閾値を再設定する方法を説明するための図である。
図5を参照すると、前述したように、基準閾値を探索して決定すると(S200)、診断システム100は、基準閾値に基づいて予め決定された有意な数の自動アノテーション学習データを生成してもよい。もちろん、この場合、診断システム100は、基準閾値を決定するために既に再学習された診断システム100であってもよく、以前の診断システム100、すなわち再学習されていないシステムであってもよい。
また、所定数の自動アノテーション学習データが生成されると、診断システム100は、生成された自動アノテーション学習データを用いて再学習を行ってもよい(S210)。自動アノテーション学習データは、診断結果として分類可能な各診断(クラス)別に、所定のデータ数又は所定の割合範囲内のデータ数が存在する条件を満たす必要がある場合がある。
再学習が行われた診断システム100を用いて、新たな入力データに基づく所定数診断を行ってもよい。また、基準閾値を再探索するほど診断が行われると、前述のように、新たな基準閾値を再探索して決定してもよい。さらに、新たな基準閾値を用いて再び一定数以上の再度自動アノテーション学習データが生成されると、診断システム100は、再び再学習を行うことで、性能をより一層改善することができる。
本発明の実施形態による半教師あり学習を用いた診断システム提供方法は、コンピュータで読み取り可能な記録媒体にコンピュータが読み取り可能なコードで実現することが可能である。コンピュータが読み取り可能な記録媒体は、コンピュータシステムにより読み取られるデータが記憶されるあらゆる種類の記録装置を含む。コンピュータが読み取り可能な記録媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶装置などが挙げられる。また、コンピュータが読み取り可能な記録媒体は、ネットワークを介して接続されたコンピュータシステムに分散されて、分散方式によりコンピュータが読み取り可能なコードが記憶されて起動され得る。また、本発明を実現するための機能的なプログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマにより容易に推論され得る。
本発明は図面に示された実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当該技術分野における通常の知識を有する者であれば、これから様々な変形および均等な他の実施形態が可能であるということを理解するであろう。したがって、本発明の真正の技術的な保護範囲は、添付の特許請求の範囲により定めなければならないであろう。