(57)【要約】  第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するためのシステム及び方法が本明細書において説明されている。システムは、命令セットを表す命令データを含むメモリ１０６、及び、メモリ１０６と通信し命令セットを実行するためのプロセッサ１０２を備える。命令セットは、プロセッサ１０２により実行されると、第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定することと、第１のデータ集合において第２のモデルを訓練することであって、訓練することが、第２のモデルにおける重みを更新することを有する、訓練することと、第２のモデルにおける更新された重みに基づいて第１のモデルにおける対応する重みを調節することとをプロセッサ１０２に行わせる。
2021503661.tif 000002
【特許請求の範囲】
【請求項１】
第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するためのシステムであって、命令セットを表す命令データを含むメモリ、及び前記メモリと通信し、前記命令セットを実行するためのプロセッサを備え、前記命令セットは、前記プロセッサにより実行されると、
第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定することと、
第１のデータ集合において前記第２のモデルを訓練することであって、前記訓練することが、前記第２のモデルにおける重みを更新することを有する、訓練することと、
前記第２のモデルにおける更新された重みに基づいて前記第１のモデルにおける対応する重みを調節することとを前記プロセッサに行わせる、
システム。
【請求項２】
前記重みは、前記第２のモデルの入力層と前記第２のモデルの隠れ層とのうちの１つにおける重みを含む、請求項１に記載のシステム。
【請求項３】
前記第１のモデルにおける対応する重みを調節することを前記プロセッサに行わせることは、前記第２のモデルからの重みの値を前記第１のモデルにおける対応する重みにコピーすることを前記プロセッサに行わせる、請求項１又は２に記載のシステム。
【請求項４】
前記第１のモデルにおける対応する重みを調節することを前記プロセッサに行わせることは、前記第１のモデルにおける対応する重みと前記第２のモデルにおける重みとの間の差に基づいて、前記第１のモデルにおける対応する重みの値にインクリメントを適用することをプロセッサに行わせる、請求項１又は２に記載のシステム。
【請求項５】
前記第１のモデルにおける対応する重みを調節することを前記プロセッサに行わせることは、前記第１のモデルの出力層における重みを任意値に設定することをプロセッサに行わせる、請求項１から４の何れか一項に記載のシステム。
【請求項６】
前記第１のモデルにおける対応する重みを調節することを前記プロセッサに行わせることは、前記第１のモデルの出力層における少なくとも１つの重みの値を同じ値に維持することを前記プロセッサに行わせる、請求項１から５の何れか一項に記載のシステム。
【請求項７】
前記第２のモデルにおける重みを設定することを前記プロセッサに行わせることは、前記第１のモデルの入力層と前記第１のモデルの隠れ層とのうちの１つからの重みの値を前記第２のモデルにおける対応する重みにコピーすることを前記プロセッサに行わせることを含む、請求項１から６の何れか一項に記載のシステム。
【請求項８】
前記第２のモデルにおける重みを設定することを前記プロセッサに行わせることは、前記第２のモデルの出力層における少なくとも１つの重みを任意値に設定することを前記プロセッサに行わせる、請求項１から７の何れか一項に記載のシステム。
【請求項９】
前記第１のモデルは、前記物体検出モデルと前記物体位置特定モデルとのうちの１つを含み、前記第２のモデルは、前記物体検出モデルと前記物体位置特定モデルとのうちの他方の１つを含む、請求項１から８の何れか一項に記載のシステム。
【請求項１０】
前記第１のモデルは、１つの出力を生成するためのモデルと複数の出力を生成するためのモデルとのうちの１つを含み、前記第２のモデルは、１つの出力を生成するためのモデルと複数の出力を生成するためのモデルとのうちの他方の１つを含む、請求項１から９の何れか一項に記載のシステム。
【請求項１１】
前記命令セットは、前記プロセッサにより実行されると、前記第１のモデルと前記第２のモデルとのうちの他方の１つのさらなる訓練に応答して、前記第１のモデルと前記第２のモデルとのうちの１つにおける重みを調節することを前記プロセッサにさらに行わせる、請求項１から１０の何れか一項に記載のシステム。
【請求項１２】
前記命令セットは、前記プロセッサにより実行されると、以下の基準、すなわち、
前記第１のモデル及び／又は前記第２のモデルが閾値精度レベルに達すること、
前記調節の大きさが閾値の大きさ未満に低下すること、
前記第１のモデルにおける重みと、前記第１のモデルにおける重みに対応した前記第２のモデルにおける重みとが既定の閾値内において互いに向けて収束すること、及び、
前記第１のモデルに関連した損失及び／又は前記第２のモデルに関連した損失が後続の調節間に閾値量未満分変化すること
のうちの１つ又は複数が満たされるまで、重みを調節するステップを反復することをプロセッサに行わせる、請求項１１に記載のシステム。
【請求項１３】
前記第１のモデルは、第２のデータ集合において訓練され、第１のデータ集合は、前記第２のデータ集合より少ないデータを含み、前記第２のデータ集合単独のサイズが、任意に始められた重みを使用して既定の精度まで前記第２のモデルを訓練するには不十分である、請求項１から１２の何れか一項に記載のシステム。
【請求項１４】
第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するコンピュータ実施方法であって、前記方法が、
第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定するステップと、
データ集合において前記第２のモデルを訓練するステップであって、前記第２のモデルにおける重みを更新することを有する、訓練するステップと、
前記第２のモデルにおける更新された重みに基づいて前記第１のモデルにおける対応する重みを調節するステップとを有する、
方法。
【請求項１５】
非一時的なコンピュータ可読媒体内において具現化されたコンピュータ可読コードを含み、前記非一時コンピュータ可読コードが、適切なコンピュータ又はプロセッサによる実行時に、前記コンピュータ又は前記プロセッサに請求項１４に記載の方法を実施させる、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書において説明されている様々な実施形態は、機械学習の分野に関する。より詳細には、様々な実施形態が、第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するためのシステム及び方法に関する。
【背景技術】
【０００２】
一般的な背景は、機械学習におけるものである。機械学習モデルは、自動化された手法により多量のデータを分類するために使用され得る。機械学習は、さもなければ非常に熟練した者のみが分類できる医療画像などの画像を分類するときに特に有用であり得る。機械学習が医療画像の分類を高速化し得る２つの例が、ステントマーカーの分野にある。特に、ステントマーカーは、画像においてステントを検出すること、及び／又は、ステントの画像における終点（例えばバルーンマーカー）の座標を生成することが可能な機械学習モデルを発展させるために役立ち得る。
【０００３】
機械学習モデルの一種が、人工的ニューラルネットワーク（又は、ニューラルネットワーク）である。タスクを実施することをニューラルネットワークに教えるために、３つの課題が克服される必要があることが知られている。第１に、多くの注釈付けされた訓練データが、ニューラルネットワークを正確に訓練するのに必要とされ、概して、利用可能な訓練データが多いほど結果として得られるモデルがより正確となる。さらに、注釈付けされた訓練データが利用可能である場合でも、注釈は、特定のモデルを訓練することに直接適していない可能性がある。これは、訓練データの完全に新しい集合が各モデルのために生成されることを必要とし得る。第２に、ニューラルネットワークの重みが最適値に向かって収束するまでネットワークが訓練データを処理する（例えば訓練される）ことを可能にするための十分な演算時間が確保されなければならない。第３に、所与のタスクに最適なニューラルネットワークアーキテクチャを導出するために、パラメータ及びアーキテクチャ空間において探索が実施されなければならない。
【０００４】
したがって、適切な訓練データ集合を確保すること、適切なニューラルネットワークアーキテクチャを作り上げること、及び、要求される精度までモデルを訓練することは時間がかかり高価となり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、上述の問題を改善する方法及びシステムが必要とされる。
【課題を解決するための手段】
【０００６】
これらの態様及び他の態様が、以下で説明される実施形態から明らかとなり、以下で説明される実施形態を参照しながら説明される。
【０００７】
第１の態様によると、第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するためのシステムが存在する。本システムは、命令セットを表す命令データを含むメモリ、及びメモリと通信し、命令セットを実行するためのプロセッサを備える。命令セットは、プロセッサにより実行されると、第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定することと、第１のデータ集合において第２のモデルを訓練することであって、訓練することが、第２のモデルにおける重みを更新することを有する、訓練することと、第２のモデルにおける更新された重みに基づいて第１のモデルにおける対応する重みを調節することとをプロセッサに行わせる。
【０００８】
この手法により、第１のモデル及び第２のモデルの重みは、モデルのうちの１つが追加的な訓練を受けるごとにバックアンドフォース手法によりシェア及び／又は更新され得る。したがって、第２のモデルの訓練は、第１のモデルが（必ずしも）直接的に第１のデータ集合を処理すること、及び第１のデータ集合において訓練されることを必要とせずに、第１のモデルの重みに利益を与え、及び第１のモデルの重みを改善し、逆も同様である。これは、モデルが同じ又は同様の種類のデータを分類する場合（例えば、各モデルが特定の種類の医療画像データの異なる部分を分類する場合）に特に有益であり得、この場合、各モデルのより低い層の重みが経時的に（各重みに対して最適値に向かって）収束すると想定される。訓練が、両方のモデルにおいて行われる場合とは対照的に、モデルのうちの１つにおいて行われる必要があるだけなので、この方法は、より低い演算能力しか必要とせず、より短い訓練時間しか必要としない。
【０００９】
本明細書におけるシステム及び方法は、例えば、特定のタスクに対して収集された医療データがそれ自体だけでは十分ではない（例えば、特定の訓練問題に対して十分な訓練データが存在しない）場合に、又は、例えば、データの自然なバリエーションはデータ増強によって完全には捕捉されないので、人工的なデータ増強（例えばシミュレーションデータ）が不可能であるか、又は限られている場合に、良く適している。本明細書におけるシステム及び方法は、例えば、いくつかの種類のデータのデータ不足が存在するにもかかわらず、他の関連するタスクに対して収集された、及び注釈付けされた追加的な医療データが利用可能である場合にもよく適している。例えば、異なる注釈を含む同じ種類の画像である。本モデルは、より低い全体的な演算能力を使用して、はるかに迅速に訓練収束に達するので、いくつかのタスクに対して十分なデータが存在する場合でも、本明細書において説明されているように重みの「バックアンドフォース」伝達を使用して訓練することにおいて得られる利点が依然として存在する。
【００１０】
いくつかの実施形態において、重みは、第２のモデルの入力層と第２のモデルの隠れ層とのうちの１つにおける重みを含む。
【００１１】
いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサに行わせることは、第２のモデルからの重みの値を第１のモデルにおける対応する重みにコピーすることをプロセッサに行わせることを含む。
【００１２】
いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサに行わせることは、第１のモデルにおける対応する重みと第２のモデルにおける重みとの間の差に基づいて、第１のモデルにおける対応する重みの値にインクリメントを適用することをプロセッサに行わせることを含む。
【００１３】
いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサに行わせることは、第１のモデルの出力層における重みを任意値に設定することをプロセッサに行わせることをさらに含む。
【００１４】
いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサに行わせることは、第１のモデルの出力層における少なくとも１つの重みの値を同じ値に維持することをプロセッサに行わせることをさらに含む。
【００１５】
いくつかの実施形態において、第２のモデルにおける重みを設定することをプロセッサに行わせることは、第１のモデルの入力層と第１のモデルの隠れ層とのうちの１つからの重みの値を第２のモデルにおける対応する重みにコピーすることをプロセッサに行わせることを含む。
【００１６】
いくつかの実施形態において、第２のモデルにおける重みを設定することをプロセッサに行わせることは、第２のモデルの出力層における少なくとも１つの重みを任意値に設定することをプロセッサに行わせることをさらに含む。
【００１７】
いくつかの実施形態において、第１のモデルは、物体検出モデルと物体位置特定モデルとのうちの１つを含む。いくつかの実施形態において、第２のモデルは、物体検出モデルと物体位置特定モデルとのうちの他方の１つを含む。
【００１８】
いくつかの実施形態において、第１のモデルは、１つの出力を生成するためのモデルと複数の出力を生成するためのモデルとのうちの１つを含む。いくつかの実施形態において、第２のモデルは、１つの出力を生成するためのモデルと複数の出力を生成するためのモデルとのうちの他方の１つを含む。
【００１９】
いくつかの実施形態において、命令セットは、プロセッサにより実行されると、第１のモデルと第２のモデルとのうちの他方の１つのさらなる訓練に応答して、第１のモデルと第２のモデルとのうちの１つにおける重みを調節することをプロセッサにさらに行わせる。
【００２０】
いくつかの実施形態において、命令セットは、プロセッサにより実行されると、以下の基準、すなわち、ｉ）第１のモデル及び／又は第２のモデルが閾値精度レベルに達すること、ｉｉ）調節の大きさが閾値の大きさ未満に低下すること、ｉｉｉ）第１のモデルにおける重みと、第１のモデルにおける重みに対応した第２のモデルにおける重みとが既定の閾値内において互いに向けて収束すること、及び、ｉｖ）第１のモデルに関連した損失及び／又は第２のモデルに関連した損失が後続の調節間に閾値量未満分変化することのうちの１つ又は複数が満たされるまで、重みを調節するステップを反復することをプロセッサに行わせる。
【００２１】
いくつかの実施形態において、第１のモデルは、第２のデータ集合において訓練され、第１のデータ集合は、第２のデータ集合より少ないデータを含み、第２のデータ集合単独のサイズが、任意に始められた重みを使用して既定の精度まで第２のモデルを訓練するには不十分である。
【００２２】
第２の態様によると、第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するコンピュータ実施方法が存在し、本方法が、第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定するステップと、データ集合において第２のモデルを訓練するステップであって、第２のモデルにおける重みを更新することを有する、訓練するステップと、第２のモデルにおける更新された重みに基づいて第１のモデルにおける対応する重みを調節するステップとを有する。
【００２３】
第３の態様によると、非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品が存在し、コンピュータ可読媒体が、コンピュータ可読媒体内において具現化されたコンピュータ可読コードを含み、コンピュータ可読コードが、適切なコンピュータ又はプロセッサによる実行時に、コンピュータ又はプロセッサに本明細書において説明されている実施形態のうちの任意の実施形態の方法を実施させるように構成される。
【００２４】
実施形態のより良い理解のために、及び、実施形態がどのように実現されるかをより明確に示すために、以下で単なる例示として添付図面が参照される。
【図面の簡単な説明】
【００２５】
【図１】一実施形態による第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するための例示的なシステムを示す図である。
【図２】第１のモデル及び第２のモデルがステントを含む医療画像に対する分類を生成するために使用される一実施形態を示す図である。
【図３】一実施形態による第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するコンピュータ実施方法を示す図である。
【図４】第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練のさらなる実施形態を示す図である。
【発明を実施するための形態】
【００２６】
上述のように、既存の問題のいくつかを解決する、第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するための改善された方法及びシステムが提供される。
【００２７】
図１は、ニューラルネットワークモデルを訓練するために使用され得る一実施形態によるシステム１００のブロック図を示す。図１を参照すると、システム１００は、システム１００の動作を制御する、及び、本明細書において説明されている方法を実施し得るプロセッサ１０２を備える。
【００２８】
システム１００は、命令セットを表す命令データを含むメモリ１０６をさらに備える。メモリ１０６は、本明細書において説明されている方法を実施するようにプロセッサ１０２により実行され得るプログラムコードの形態による命令データを記憶するように構成される。いくつかの実施態様において、命令データは、本明細書において説明されている方法の個々のステップ又は複数のステップを実施するように、又は実施するために各々が構成された複数のソフトウェア及び／又はハードウェアモジュールを含み得る。いくつかの実施形態において、メモリ１０６は、システム１００の１つ又は複数の他のコンポーネント（例えば、プロセッサ１０２及び／又はシステム１００の１つ又は複数の他のコンポーネント）をさらに備えるデバイスの一部である。代替的な実施形態において、メモリ１０６は、システム１００の他のコンポーネントに対して独立したデバイスの一部である。
【００２９】
いくつかの実施形態において、メモリ１０６は、複数のサブメモリを備え、各サブメモリは、命令データの一部を記憶することができる。メモリ１０６が複数のサブメモリを備えるいくつかの実施形態において、命令セットを表す命令データは、１つのサブメモリに記憶される。メモリ１０６が複数のサブメモリを備える他の実施形態において、命令セットを表す命令データは、複数のサブメモリに記憶される。例えば、少なくとも１つのサブメモリが命令セットの少なくとも１つの命令を表す命令データを記憶するとともに、少なくとも１つの他のサブメモリが命令セットの少なくとも１つの他の命令を表す命令データを記憶する。したがって、いくつかの実施形態によると、異なる命令を表す命令データが、システム１００における１つ又は複数の異なる位置に記憶される。いくつかの実施形態において、メモリ１０６は、システム１００のプロセッサ１０２により、又は、システム１００の任意の他のコンポーネントから獲得された、又は作られた情報、データ（例えば画像）、信号、及び測定結果を記憶するために使用される。
【００３０】
システム１００のプロセッサ１０２は、命令セットを実行するようにメモリ１０６と通信するように構成され得る。命令セットは、プロセッサ１０２により実行されると、本明細書において説明されている方法を実施することをプロセッサ１０２に行わせる。プロセッサ１０２は、本明細書において説明されている手法によりシステム１００を制御するように構成又はプログラムされた１つ又は複数のプロセッサ、処理ユニット、マルチコアプロセッサ、及び／又はモジュールを備え得る。いくつかの実施態様において、例えば、プロセッサ１０２は、複数の（例えば、相互運用された）プロセッサ、処理ユニット、マルチコアプロセッサ、及び／又は、分散処理のために構成されたモジュールを備える。このようなプロセッサ、処理ユニット、マルチコアプロセッサ、及び／又は、モジュールが異なる位置に位置し、本明細書において説明されている方法の異なるステップ及び／又は１つのステップの異なる部分を実施することが当業者により理解される。
【００３１】
再度図１に戻ると、いくつかの実施形態において、システム１００は、少なくとも１つのユーザーインターフェース１０４を備える。いくつかの実施形態において、ユーザーインターフェース１０４は、システム１００の１つ又は複数の他のコンポーネント（例えば、プロセッサ１０２、メモリ１０６、及び／又は、システム１００の１つ又は複数の他のコンポーネント）をさらに備えるデバイスの一部である。代替的な実施形態において、ユーザーインターフェース１０４は、システム１００の他のコンポーネントに対して独立したデバイスの一部である。
【００３２】
ユーザーインターフェース１０４は、システム１００のユーザー（例えば、医療研究者などの研究者、医療専門家、又は、ニューラルネットワークモデルの任意の他のユーザー）に、本明細書の実施形態による方法により結果的にもたらされる情報を提供することにおける使用のためのものである。命令セットは、プロセッサ１０２により実行されると、本明細書の実施形態による方法により結果的にもたらされる情報を提供するように、１つ又は複数のユーザーインターフェース１０４を制御することをプロセッサ１０２に行わせる。代替的に、又は追加的に、ユーザーインターフェース１０４は、ユーザー入力を受信するように構成される。言い換えると、ユーザーインターフェース１０４は、システム１００のユーザーが命令、データ、又は情報を手動で入力することを可能にする。命令セットは、プロセッサ１０２により実行されると、１つ又は複数のユーザーインターフェース１０４からユーザー入力を獲得することをプロセッサ１０２に行わせる。
【００３３】
ユーザーインターフェース１０４は、システム１００のユーザーに対して、情報、データ、又は信号のレンダリング（又は、出力又は表示）を可能にする任意のユーザーインターフェースである。代替的に、又は追加的に、ユーザーインターフェース１０４は、システム１００のユーザーがユーザー入力を提供すること、システム１００と相互作用すること、及び／又はシステム１００を制御することを可能にする任意のユーザーインターフェースである。例えば、ユーザーインターフェース１０４として、１つ又は複数のスイッチ、１つ又は複数のボタン、キーパッド、キーボード、マウス、マウスホイール、（例えば、タブレット又はスマートフォンにおける）タッチスクリーン又はアプリケーション、ディスプレイスクリーン、グラフィカルユーザーインターフェース（ＧＵＩ）又は他の視覚レンダリングコンポーネント、１つ又は複数のスピーカー、１つ又は複数のマイクロホン又は任意の他のオーディオコンポーネント、１つ又は複数のライト、触覚フィードバック（例えば振動機能）を提供するためのコンポーネント、又は、任意の他のユーザーインターフェース、又は、ユーザーインターフェースの組合せが挙げられる。
【００３４】
いくつかの実施形態において、図１に示されるように、システム１００は、システム１００がインターフェース、メモリ、及び／又はシステム１００の一部であるデバイスと通信することを可能にするための通信インターフェース（又は回路）１０８をさらに備える。通信インターフェース１０８は、無線により、又は有線接続を介して任意のインターフェース、メモリ、及びデバイスと通信する。
【００３５】
図１は、本開示のこの態様を示すために必要とされるコンポーネントのみを示し、実用的な実施態様では、システム１００は、示されるものに追加的なコンポーネントを備えることが理解される。例えば、システム１００は、システム１００に給電するための電池又は他の電源、又は、主電源にシステム１００を接続するための手段を備える。
【００３６】
より詳細には、上述のように、システムは、第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練するように構成されている。メモリ１０６は、命令セットを表す命令データを含む。簡潔に述べると、命令セットは、システム１００のプロセッサ１０２により実行されると、第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定すること、第１のデータ集合において第２のモデルを訓練することであって、訓練することが、第２のモデルにおける重みを更新することを有する、訓練することと、第２のモデルにおける更新された重みに基づいて第１のモデルにおける対応する重みを調節することとをプロセッサ１０２に行わせる。
【００３７】
ここまでに簡単に説明されているように、本明細書のシステムは、２つのニューラルネットワークモデルが同様の種類のデータ（例えば、同じ種類の画像など）を分類するように訓練される場合、モデルの出力が異なる（例えば、一方のモデルが、画像において特定の物体の存在を検出するように訓練されるのに対し、他方が、画像において特定の種類の物体の長さを測定するように訓練される）ときでもモデルのいくつかの層における重みは非常に類似していることが多く、及び、モデルが訓練データの十分に大きいデータベースにおいて訓練される場合、同じ値に収束しさえする実現例に基づく。したがって、第２のモデルが訓練を受ける場合、この訓練からの更新された重みは、さらなる訓練が第１のモデルに直接適用される必要を一切伴わずに、第１のモデルの重みを改善するために使用され得る。この手法により、類似モデルの重複した訓練が減らされ得、したがって、訓練処理をより効率的にし、したがって、これは、他の手法によって可能なものよりはるかに速く訓練収束に（例えば、各重みに対してモデルの重みが最適値に向かって動くことに）つながる。さらに、各モデルに対して要求される訓練データが少なくなり（例えば、第２のモデルを訓練するために使用される遠隔データベースは、第１のモデルに対して直接利用可能にされる必要がなく）、各モデルが訓練データの新しいバッチの各々を個々に処理する必要があるのではなく、モデルのうちの１つしか訓練データの新しいバッチの各々を処理する必要がないので、演算能力が節約される。
【００３８】
人工的ニューラルネットワーク、又は単にニューラルネットワークは、当業者によく知られているが、端的に言えば、ニューラルネットワークは、データを分類（例えば、画像データのコンテンツを分類又は識別）するために使用され得るモデルの一種である。ニューラルネットワークの構造は、ヒトの脳によりインスピレーションを受けたものである。ニューラルネットワークは層を含み、各層は複数のニューロンを含む。各ニューロンは、数学的演算を含む。データの一部を分類する処理において、各ニューロンの数学的演算がデータの一部において実施されて数値出力を生成し、ニューラルネットワークにおける各層の出力が逐次的に隣の層に供給される。概して、各ニューロンに関連した数学的演算は、訓練処理中に調整された１つ又は複数の重みを含む（例えば、重みの値は、より正確な分類を生成するようにモデルを調整するように訓練処理中に更新される）。
【００３９】
例えば、画像のコンテンツを分類するためのニューラルネットワークモデルでは、ニューラルネットワークにおける各ニューロンは、画像におけるピクセル（又は、三次元におけるボクセル）値の重み付けされた線形和と後に続く非線形変換とを含む数学的演算を含む。ニューラルネットワークにおいて使用される非線形変換の例として、シグモイド関数、双曲線接線関数、及び正規化線形関数が挙げられる。ニューラルネットワークの各層におけるニューロンは、概して、（例えば、異なる重み付けを伴うが同じ種類の変換、シグモイドなどの）１種類の変換の異なる重み付けされた組合せを含む。当業者によく知られているように、いくつかの層において、同じ重みが線形和において各ニューロンにより適用され、例えば、畳み込み層の場合にこれが適用される。各ニューロンに関連した重みは、他の特徴に比べて、分類処理において特定の特徴をより目立たせ（又は逆に、より目立たなくさせ）、したがって、訓練処理においてニューロンの重みを調節することは、画像を分類するときに、特定の特徴に、より高い有意性を与えるようにニューラルネットワークを訓練する。概して、ニューラルネットワークは、（例えば、ニューロン間をわたるデータ値を修正する）ニューロンに関連した重み及び／又はニューロン間の重みを含む。
【００４０】
ここまでに簡潔に述べたように、いくつかのニューラルネットワーク、例えば畳み込みニューラルネットワークでは、ニューラルネットワークにおけるより低い層、例えば入力層又は隠れ層（すなわち、ニューラルネットワークにおける一連の層の先頭に向かう層）は分類されているデータの一部における小さい特徴又はパターンによりアクティブ化され（すなわち、それらの出力は分類されているデータの一部における小さい特徴又はパターンに依存する）、その一方で、より高い層（すなわち、ニューラルネットワークにおける一連の層の終端に向かう層）は、分類されているデータの一部において次第に大きくなる特徴によりアクティブ化される。一例として、データが画像を含む場合、ニューラルネットワークにおける、より低い層は、小さい特徴（例えば、画像におけるエッジパターンなど）によりアクティブ化され、中レベル層は、画像における特徴、例えば、より大きい形状及び形態などによりアクティブ化され、出力に最も近い層（例えばより上の層）は、画像における物体全体によりアクティブ化される。
【００４１】
概して、ニューラルネットワークモデルの最終層（出力層として知られる）の重みは、ニューラルネットワークにより解かれる特定の分類問題に最も強く依存する。例えば、外層の重みは、分類問題が位置特定問題であるか検出問題であるかに大きく依存する。より低い層（例えば入力層及び／又は隠れ層）の重みは、分類されるデータのコンテンツ（例えば特徴）に依存する傾向を示し、したがって、同じ種類のデータを処理するニューラルネットワークの入力層及び隠れ層における重みは、モデルの外層が異なる分類問題を解決するように調整されている場合でも、十分な訓練に伴って、経時的に同じ値に向かって収束することが本明細書において認識されている。
【００４２】
概して、本明細書において説明されているシステム及び方法は、（本明細書において、それぞれ第１のモデル及び第２のモデルと呼ばれる）第１のニューラルネットワークモデルと第２のニューラルネットワークモデルとを訓練することに関連する。第１のモデル及び第２のモデルは、第１のモデル及び第２のモデルの訓練処理の一部として更新（例えば調節）される重み（例えばパラメータ）を含む。概して、第１のニューラルネットワークモデル及び第２のニューラルネットワークモデルとして、フィードフォワードモデル（例えば、畳み込みニューラルネットワーク、オートエンコーダニューラルネットワークモデル、確率論的ニューラルネットワークモデル、及び時間遅れニューラルネットワークモデル）、放射基底関数ネットワークモデル、回帰型ニューラルネットワークモデル（例えば、完全回帰型モデル、ホップフィールドモデル、又はボルツマン機械モデル）、又は、重みを含む任意の他の種類のニューラルネットワークモデルが挙げられる。
【００４３】
第１のモデル及び第２のモデルは、データを分類するために使用される。データは、第１のニューラルネットワークモデル及び第２のニューラルネットワークモデルにより分類され得る、任意の種類のデータ、例えば、画像を含むデータ（例えば画像データ）、例えば文献又は記録といった文字列を含むデータ、音声データ、又は、任意の他の種類のデータである。いくつかの実施形態において、データとして、医療データ、例えば、医療画像（例えば、ｘ線画像、超音波画像など）、又は医療記録が挙げられる。
【００４４】
いくつかの実施形態において、第１のモデル及び第２のモデルは、データに対する１つ又は複数の分類（例えばラベル）を生成するように訓練される。いくつかの実施形態において、第１のモデル及び第２のモデルは、同じ種類のデータを分類する（例えば、同じ種類のデータを処理する、及び、同じ種類のデータに対するラベルを生成する）ように訓練される。例えば、第１のモデルと第２のモデルとの両方が、イメージングデータ、例えば医療イメージングデータを分類するために使用される。いくつかの実施形態において、第１のモデル及び第２のモデルは、同じ種類のイメージングデータを分類するために使用され、例えば、第１のモデル及び第２のモデルは、両方が、特定の解剖学的構造、例えば、脈管系、心臓、又は任意の他の解剖学的構造の医療イメージングデータを分類するために使用される。
【００４５】
いくつかの実施形態において、第１のモデル及び第２のモデルは、同じ種類の分類を生成する（例えば、第１のモデルと第２のモデルとの両方が、同じ手法によりデータに注釈付けし、又は、同じ問題を解決するために使用される）。いくつかの実施形態において、第１のモデルは、異なる分類を生成するために使用される（例えば、第１のモデルが第２のモデルとは異なる種類の注釈を生成するために使用され、又は異なる問題を解くために使用される）。
【００４６】
例えば、いくつかの実施形態において、第１のモデルは、画像において物体の存在を検出するために使用される。いくつかの実施形態において、第２のモデルは、画像において物体の位置を特定するために使用される。ステントを含む例示的な画像が、ステント２００を示す図２に示されており、ステント２００の両端部が２つのバルーンマーカー２０２及び２０４によりマーキングされている。いくつかの実施形態において、第１のモデルは、図２に示されるものなどの画像を処理するように、及び、ステントが医療画像に存在するかどうかを示す出力を生成するように訓練される（例えばステント検出モデル）。この実施形態において、第１のモデルの出力層は、二進出力に適した２つのニューロンを含み、例えば、第１のモデルは、ステントが存在すること、又は、ステントが画像に存在しないことを出力する。いくつかの実施形態において、第２のモデルは、また、例えば図２に示されるデータといったデータを処理するように訓練されるが、第２のモデルは、異なる出力を生成するように訓練される。例えば、第２のモデルの出力層は、ステントを囲むバウンディングボックスの中心のｘ−ｙ座標に対応した第１のペア、及び、バウンディングボックスの幅及び高さに対応した第２のペアという４つのニューロンを備える。この手法により、ステントの位置は、各医療画像に対して出力され得る。しかし、これらは例示にすぎないこと、及び、第１のモデル及び第２のモデルの出力層は、異なる出力を生成する他の数のニューロンを備えることが理解される。例えば、例として、バウンディングボックスの座標及び寸法を生成する代わりに、第２のモデルは、画像におけるステントの一方又は両方の端部（例えば、バルーンマーカー２０２、２０４）のｘ，ｙ座標を出力するように訓練される。
【００４７】
したがって、より概括的に述べると、いくつかの実施形態において、第１のモデルは、物体検出モデルと物体位置特定モデルとのうちの１つを含み、第２のモデルは、物体検出モデルと物体位置特定モデルとのうちの他方の１つを含む。この手法により、第１のモデル及び第２のモデルは、第１のモデルと第２のモデルとの間の情報（例えば訓練を通して導出された重み）をシェアするほどに十分に関連した、又は類似した分類演算を実施する。
【００４８】
代替的に、又は追加的に、いくつかの実施形態において、第１のモデルは、１つの出力を生成するように構成されたモデルと、複数の出力を生成するように構成されたモデル（例えば、１つの出力パラメータ又は分類を生成するように構成されたモデル、又は、複数の出力パラメータ又は分類を生成するように構成されたモデル）とのうちの１つを備える。したがって、第２のモデルは、１つの出力を生成するように構成されたモデルと複数の出力を生成するように構成されたモデルとのうちの他方の１つを備える。したがって、第１のモデル及び第２のモデルは、第１のモデルと第２のモデルとの間の情報（例えば訓練を通して導出された重み）をシェアするほどに十分に関連した、又は類似した分類演算を実施する。これらの種類のモデルに本明細書におけるシステム及び方法を適用することは、ネットワークの重み及びバイアスが２つのタスク間においてシェアされ、２つのタスクが同じシステムにおいて実施される必要のある場合、メモリフットプリントがより小さくなることを意味する。
【００４９】
いくつかの実施形態において、第２のモデルは、新たに生成された（例えば訓練されていない）モデルを含む。例えば、第２のモデルの重みは、最初に任意に、又は無作為に設定される。
【００５０】
いくつかの実施形態において、第２のモデルは、より早期の訓練を受けたものである。いくつかの実施形態において、第２のモデルは、部分的に訓練されたモデルであるとみなされる。この意味で、「部分的に訓練された」とは、第２のモデルは、何らかの訓練を受けたものであり、したがって、分類を実施することができるが、第２のモデルが、既定の精度（例えば、特定の用途のためにユーザーにより要求される適切な精度）内でデータを分類することができる前に、さらなる訓練が必要とされることを表す。したがって、第２のモデルが部分的に訓練されている場合、第２のモデルの重みは任意とはならず、（より早期の訓練処理中に）更新されたものとなる。しかし、第２のモデルの重みは、分類問題が第２のモデルにより解かれることに対して最適ではないが、そのようなものとして、第２のモデルはさらなる訓練により恩恵を受ける。
【００５１】
いくつかの実施形態において、第１のモデルは、部分的に訓練されたモデルを含む。上述のように、第１のモデルは、何らかの訓練を受けたものであり、したがって、分類を実施することができる。したがって、第１のモデルの重みは第１のモデルにより以前に受けられた訓練に従って設定されるので、第１のモデルの重みは任意ではない。（例えば、第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定する前に）本明細書において説明される処理のステップに加えて、いくつかの実施形態において、命令セットは、プロセッサ１０２により実行されると、第２の訓練データ集合において第１のモデルを訓練することをプロセッサ１０２に行わせることが理解される。
【００５２】
いくつかの実施形態において、第１のモデルと第２のモデルとの両方が部分的に訓練される場合、第１のモデルは、第２のモデルより多くの訓練を受けた（例えばより大きいデータ集合において訓練された）ものである。いくつかの実施形態において、第１のモデルは、第２のデータ集合において訓練され、（第２のモデルを訓練するために利用可能な）第１のデータ集合は、（第１のモデルを訓練するために使用される）第２のデータ集合より少ないデータを含む。第２のデータ集合単独のサイズは、任意に始められた重みを使用して既定の精度まで第２のモデルを訓練するには不十分である。
【００５３】
ここまでに簡単に説明されているように、システム１００は、命令セットを表す命令データを含むメモリ１０６を備える。命令セットは、プロセッサ１０２により実行されると、第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定することをプロセッサ１０２に行わせる。
【００５４】
いくつかの実施形態において、第２のモデルにおける重みを設定することをプロセッサ１０２に行わせることは、第１のモデルの入力層と第１のモデルの隠れ層とのうちの１つからの重みの値を、第２のモデルにおける対応する重みにコピーすることをプロセッサ１０２に行わせることを有する。例えば、いくつかの実施形態において、第１のモデルの入力層からの重み（例えば重みの値）は、第２のモデルにおける同等な層にコピーされる。追加的に、又は代替的に、第１のモデルの隠れ層からの重みは、第２のモデルにおける同等な隠れ層にコピーされる。当業者は、第１のモデルの１つより多い層（隠れ層及び／又は入力層）からの１つより多い重みが、第２のモデルにおける同等な重みにコピーされることを理解する。この手法により、第２のモデルにおいて追加的な訓練を実施することを一切必要とせずに第２のモデルの重みを改善するために、第２のモデルの重みが第１のモデルの値から更新される。
【００５５】
いくつかの実施形態において、第１のモデルの入力層及び隠れ層の重みのすべてが、第２のモデルの入力層及び隠れ層の同等な重みにコピーされる。これは、第２のモデルが新たに生成された（例えば訓練されていない）モデルである場合に特に有用であり、このような状況では、第２のモデルの重みを（部分的に）訓練された第１のモデルと同じ値に設定することは、以前の知識情報を一切伴わずに最初から第２のモデルの重みを訓練することに比べて、第２のモデルを訓練するために必要な時間を短くする。言い換えると、いくつかの実施形態において、上述のように、第１のモデルの出力層における重みは、第１のモデルにより解決される特定の分類問題に特有であり、したがって、例えば、第２のモデルが異なる分類問題を解決する場合には第２のモデルに転用可能ではないので、第１のモデルの１つ又は複数の出力層における重みを除くすべての重みは、第２のモデルにわたってコピーされる（例えば、第１のモデルの出力層からの重みが、第２のモデルにおける同等な位置にコピーされない）。このことの技術的な意味は、ニューラルネットワークの適応が、最終（例えば出力）層及び１つのニューラルネットワークのオブジェクト関数を、新しい層及び別の分類問題に適したオブジェクト関数と置き換えることを伴うことである。この手法によると、１つのタスクに対して訓練されたネットワークは、関連するタスクが学習される元となるニューラルネットワークのためのデータを過度に少ない程度しかもっていないという理由から、又は、場合によっては、最良のネットワークアーキテクチャが合理的な時間内に導出されることができないという理由から、他の手法によるのであれば解決することが困難だった可能性のある別の関連するタスクを解決することに適応され得る。
【００５６】
いくつかの実施形態において、第２のモデルにおける重みを設定することをプロセッサ１０２に行わせることは、第２のモデルの出力層における少なくとも１つの重みを任意値に設定することをプロセッサ１０２に行わせることをさらに有する。例えば、第２のモデルの最終（例えば出力）層に対する接続は、無作為に初期化され、この理由により、最初から訓練されるといえ、これに対し、他の重み及びバイアスは、第１のモデルにおける同等な重みに基づいて初期化されて、後から微調整される。
【００５７】
第１のモデルからの１つ又は複数の重みが、第１のモデルから第２のモデルにコピーされた後に、命令セットは、プロセッサ１０２により実行されると、第１のデータ集合において第２のモデルを訓練することをプロセッサ１０２に行わせ、訓練することは、第２のモデルにおける重み（例えば、第１のモデルからコピーされた重み）を更新することを有する。例えば、第１のモデルからコピーされた１つ又は複数の重みは、第２のモデルが訓練されるのに伴って更新される。
【００５８】
当業者は第２のモデルを訓練するための方法について精通しており、簡潔に述べると、第１のデータ集合は、（例えば、第２のモデルにより分類されるデータに典型的な）データの例、及び、訓練集合における各データ部分に対する注釈（例えば、人間により生成された正しい分類）を含む。第２のモデルは、次に、以下のように、訓練データ集合における各データ部分を処理することにより訓練される。分類は、その関連する注釈と比較された第２のモデルによりデータ部分に対して生成される。モデルにおける重みは、（例えば、１つ又は複数の損失関数を計算することにより）比較に従って更新され、次に、処理が、訓練データ集合における次のデータ部分に対して反復される。この手法により、モデルの重みが次第に改善される。当業者は、ニューラルネットワークモデルにおける重みを訓練するために使用され得る異なる方法について精通しており、任意のこのような方法が、本明細書において使用される可能性がある。
【００５９】
第２のモデルが第１のデータ集合を使用して訓練された後、命令セットは、プロセッサ１０２により実行されると、第２のモデルにおける更新された重みに基づいて第１のモデルにおける対応する重みを調節することをプロセッサ１０２に行わせる。この意味で、「更新された重み」は、上述のように、第１のモデルからコピーされて、第２のモデルを訓練する過程で後から更新された第２のモデルにおける重みを含む。
【００６０】
いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサ１０２に行わせることは、第２のモデルから第１のモデルにおける対応する重みに、重み（例えば更新された重み）の値をコピーすることをプロセッサ１０２に行わせることを有する。この手法により、第１のモデルは、直接的に第１のデータ集合を処理する（例えば、第１のデータ集合において訓練される）ことを必要とせずに、第２のモデルにより受けられた追加的な訓練の恩恵を受ける。
【００６１】
いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサ１０２に行わせることは、第１のモデルにおける対応する重みと第２のモデルにおける重みとの間の差に基づいて第１のモデルにおける対応する重みの値にインクリメントを適用することをプロセッサ１０２に行わせることを有する。例えば、第１のモデルにおける対応する重みは、第１のモデルにおける対応する重みと第２のモデルにおける重みとの間の差のパーセンテージにより調節される。例えば、重みは、第１のモデルにおける対応する重みと第２のモデルにおける重みとの間の差の５０パーセント分更新される。しかし、当業者は、これが例示にすぎないこと、及び、任意の他のパーセンテージのインクリメントが同等に使用され得ることを理解する。この手法により、第２のモデルにより受けられた追加的な訓練は、第１のモデルが直接的に第１のデータ集合を処理する（例えば、第１のデータ集合において訓練される）ことを必要とせずに、第１のモデルを改善するために使用される。さらに、第２のモデルの重みの値は第１のモデルの値にわたって第１のモデルに直接コピーされるわけではないので、第１のモデルの経験の訓練は失われない。むしろ、第２のモデルの訓練は、第１のモデルの以前の訓練において第１のモデルにより得られた経験を保ちながら、第１のモデルの重みを最適解に向けて漸増的に動かすために使用される。この手法により第１のモデルと第２のモデルとの間において重みの値を調節することは、損失関数を最小化することを伴う訓練処理中に、モデルの重みが損失関数の極小値にはまり込まないことをさらに確実なものとする。むしろ、同一又は類似の問題において働く、及び訓練される２つのモデルを含むことにより、訓練処理が関連する損失関数の最小値に、より簡単に収束することができ、分類処理をより正確なものにする。
【００６２】
いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサ１０２に行わせることは、第２のモデルにおける同等な更新された重みに基づいて、モデルの入力層又は隠れ層における重みを調節することをプロセッサ１０２に行わせることをさらに有する。いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサ１０２に行わせることは、第１のモデルの入力層と第１のモデルの隠れ層とのうちの１つからの重みの値を第２のモデルにおける対応する重みにコピーすることをプロセッサ１０２に行わせることをさらに有する。例えば、第２のモデルの１つ又は複数の隠れ層からの１つ又は複数の重みの値が、第１のモデルにおける同等な重みにコピーされる。追加的に、又は代替的に、第２のモデルの１つ又は複数の入力層からの１つ又は複数の重みが、第２のモデルから第１のモデルにおける同等な重みにコピーされる。上述のように、第２のモデルの入力層及び隠れ層の重みに対する更新は、これらが第１のモデルと第２のモデルとの両方に共通であるので、（出力層とは逆に）第１のモデルに最も関連している。
【００６３】
上述のように、ニューラルネットワークモデルの出力層は、モデルにより解決される特定の分類問題に依存し、したがって、（第１のモデル及び第２のモデルが同一又は類似の分類問題を解決するのでない限り）訓練された第２のモデルの更新された重みに基づいて第１のモデルの出力層を調節することは適切ではない。したがって、いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサ１０２に行わせることは、第１のモデルの出力層における少なくとも１つの重みの値を同じ値に維持する（例えば第１のモデルの出力層における１つ又は複数の重みを変化しないままにしておく）ことをプロセッサ１０２に行わせることをさらに有する。いくつかの実施形態において、第１のモデルにおける対応する重みを調節することをプロセッサ１０２に行わせることは、第１のモデルの出力層における重みを任意値に設定する（例えば第１のモデルの出力層における１つ又は複数の重みをリセットする）ことをプロセッサ１０２に行わせることをさらに有する。この実施形態において、第１のモデルの出力層の重みは、別々に訓練される。
【００６４】
いくつかの実施形態において、命令セットは、プロセッサ１０２により実行されると、第１のモデルと第２のモデルとのうちの他方の１つのさらなる訓練に応答して、第１のモデルと第２のモデルとのうちの１つにおける重みを調節することをプロセッサ１０２にさらに行わせる。例えば、ここまでに概略的に説明されている処理の後に、さらなる訓練が第１のモデルにおいて実施される場合、第２のモデルの重みは、第１のモデルのさらに訓練された重みに基づいて（上述の任意の実施形態において説明されている手法のうちの任意のものにより）調節される。この手法により、第１のモデル又は第２のモデルの任意の後での訓練が、他方のモデルの重みを更新するために使用され得る。
【００６５】
いくつかの実施形態において、命令セットは、プロセッサ１０２により実行されると、重みを調節するステップを反復すること（例えば、上述のように他方のモデルの訓練に従ってモデルにおける重みを繰り返し調節すること）をプロセッサ１０２に行わせる。いくつかの実施形態において、調節するステップは、所望の精度が達成されるまで反復される。例えば、第１のモデル及び／又は第２のモデルが閾値精度レベルに達するまでである。閾値精度は、任意の適切な手法により規定される。例えば、閾値精度は、第１のモデル及び／又は第２のモデルが検証データ集合において試験されるとき、第１のモデル及び／又は第２のモデルにより生成された正しい注釈のパーセンテージの観点から規定される。いくつかの実施形態において、調節するステップは、第１のモデルに関連した損失関数及び／又は第２のモデルに関連した損失関数が後続の調節間に閾値量未満分変化するまで、反復される。閾値量は、任意の適切な手法により規定され、例えば、損失関数の値の閾パーセンテージ変化を含む。当業者は、損失関数、及び、損失関数がニューラルネットワークモデルを訓練するためにどのように使用されるかについて精通している。重みに対する調節がモデルの損失に小さい変化を結果的にもたらす場合、これは、モデルの精度が最適な（例えば、特定の分類問題に最適な）レベルに近づいていることを示す。これは、モデルの収束（例えば、分類問題に対する最適値へのモデルの重みの収束）と一般的に呼ばれる。損失は、通常１つの数値であり、したがって、モデル（例えば、多くの、場合によっては何百万という重みが存在する）における重みの値より簡単に解釈可能である。さらに、損失は、モデルにより解決される特定の問題をより厳密に反映する。
【００６６】
いくつかの実施形態において、調節するステップは閾繰り返し数に達するまで、又は、閾値量の試験データが第１のモデル及び／又は第２のモデルにより処理されるまで反復される。いくつかの実施形態において、調節するステップは、調節の大きさが閾値の大きさ未満に低下するまで（例えば、調節が小さくなって、さらなる訓練がモデルの精度に大幅な影響を与えないことを示すまで）反復される。例えば、大きさの閾パーセンテージ変化などの、任意の適切な閾値の大きさが使用される。いくつかの実施形態において、調節するステップは、第１のモデルにおける重みと、第１のモデルにおける重みに対応した第２のモデルにおける重みとが既定の閾値内において互いに向けて収束する（例えば、２つのモデルの重みが最適値に向かって収束していることを示す）まで反復される。この意味で、第１のモデル及び第２のモデルの重みは、共通値に向かって動く（例えば、達する）。当業者は、上述の基準のうちの１つ又は任意の組合せが満たされるまで、調節するステップが反復されることを理解する。この手法により、モデルが特定の精度レベルより高く実施（例えば分類）をしていることを示す、損失の精度／収束／変化に到達するまで、調節するステップが繰り返される。
【００６７】
上述のように、これは、各モデルにより得られる訓練経験を他方と効果的に「シェア」することにより、第１のニューラルネットワークモデル及び第２のニューラルネットワークモデルの重みを効率的に訓練する。モデルは、互いの重みをコピーし、訓練データのそれら自体のコピーを使用してそれらを微調整することにより互いから学習する。この手法により、１つのモデルからの訓練は、モデルの重みが各重みに対する最適値に収束するまで繰り返す手法により別のモデルの重みを改善するために使用され得る。ここまでに説明されているように、この手法により第１のモデルと第２のモデルとの間において重みの値を調節することは、損失関数を最小化することを伴う訓練処理中に、モデルの重みが損失関数の極小値にはまり込まないことを確実なものとする。むしろ、同一又は類似の問題において働く、及び訓練される２つのモデルを含むことにより、訓練処理が関連する損失関数の最小値に、より簡単に収束することができる。
【００６８】
図３は、一実施形態によるニューラルネットワークモデルを訓練するためのコンピュータ実施方法３００を示す。示される方法３００は、概してシステム１００のプロセッサ１０２により、又は、システム１００のプロセッサ１０２の制御下において実施され得る。方法は、いくつかの実施形態により部分的に、又は完全に自動化される。
【００６９】
本方法は、（ブロック３０２において）第１のモデルにおける対応する重みに基づいて第２のモデルにおける重みを設定することと、（ブロック３０４において）データ集合において第２のモデルを訓練することであって、訓練することが、第２のモデルにおける重みを更新することを有する、訓練することと、（ブロック３０６において）第２のモデルにおける更新された重みに基づいて第１のモデルにおける対応する重みを調節することとを有する。
【００７０】
この手法により、システム１００に関連してここまでに説明されているように、第１のモデル又は第２のモデルが追加的な訓練を受けるとき、新たに訓練されたモデルの更新された重みがモデルのうちの他方の重みを更新するために使用され得る。この手法により、訓練経験が、モデルの重みが分類に対する最適値に収束することを可能にするように、モデル間においてシェアされ得る。これは、（すべての利用可能なデータにおいて各モードを個別に訓練することに比べて）各モデルに対する訓練時間を短くし、各モデルがすべての利用可能な訓練例を処理することを必要とせずに、訓練がシェアされ得るので、より演算的に効果的である。さらに、このようにバックアンドフォースにより重みを交換又は更新することにより、重みは、（独立して訓練される個々のモデルに対して問題となり得る）極小値ではなく、関連する損失関数の最小値に収束する可能性が高い。
【００７１】
図４を参照すると、図４は、一実施形態による、第１のニューラルネットワークモデル４０２及び第２のニューラルネットワークモデル４０４を訓練する例示的な方法を示す。この実施形態において、第１のモデル４０２は、画像におけるステントの位置を予測するように訓練され、第２のモデル４０４は、ステントを含むとして、又はステントを含まないとして画像を分類するように訓練される。
【００７２】
第１のブロック４０６において、本方法は、無作為な（例えば任意の）重みを使用して第１のモデルを初期化（例えばインスタンス化）することを有する。次に、第１のモデル４０２が、ブロック４０８において、各画像におけるステントの周囲に描かれたバウンディングボックスの中心のｘ，ｙ座標を使用して注釈付けされた（又は、例えば人間の注釈者によりラベル付けされた）医療画像の形態をとる訓練データを含む第２のデータ集合において訓練される。この手法によりバウンディングボックスの位置を特定することは回帰問題であり、したがって、第２のデータ集合は、回帰訓練データとして説明される。この手法により第１のモデルを訓練することは、システム１００に関連してここまでに説明されており、その中の詳細はブロック４０８に適用することと理解される。
【００７３】
ブロック４１０において、第２のモデルが初期化され、第２のモデルにおける重みは、第１のモデルにおける対応する重みに基づいて設定される（例えば、第１のモデルからの重みが第２のモデルにコピーされる）。第２のモデルにおける重みを設定することは、システム１００に関連してここまでに説明されており、その中の詳細は、ブロック４１０に同じく適用することと理解される。
【００７４】
次に、ブロック４１２において、第２のモデル４０４が第１のデータ集合において訓練される。訓練することは、（第１のモデルにおける対応する重みの値に基づいて設定された）第２のモデルにおける１つ又は複数の重みを更新することを有する。第２のモデル４０４は分類問題（例えば、ステントが存在するか否か）を解くので、第１のデータ集合は、分類訓練データを含む。第１のデータ集合において第２のモデルを訓練することは、システム１００に関連してここまでに説明されており、その中の詳細は、ブロック４０４に適用することと理解される。
【００７５】
第２のモデルを訓練した後に、本方法は、第２のモデルにおける更新された重みに基づいて、第１のモデルにおける対応する重みを調節することを有する（図４に示されていないブロック）。この手法により、第１のモデル及び第２のモデルの重みの各々が、他方の訓練に基づいて更新される。この例では、第１のデータ集合及び第２のデータ集合の注釈は異なり、したがって、第１のデータ集合は、第２のモデルを訓練するために直接使用されることができず、第２のデータ集合は、第１のモデルを訓練するために直接使用されることができないことに留意されたい。しかし、第１のモデル及び第２のモデルは同じ種類のデータを処理し、関連する問題を解決するので、訓練中に得られた洞察（例えば更新された重み）は、他方のモデルの重みを改善するために依然として使用され得る。これは、他の手法によるのであればモデルが訓練目的自体に対して使用することができない訓練データから、各モデルが効果的に訓練されること、又は洞察を得ることを可能にする。この手法によれば、モデルのうちの１つに対する訓練データの量が単独でそのモデルを訓練するのに不十分な場合でも、改善された予測が取得され得る。
【００７６】
第１のモデル４０２及び第２のモデル４０４を訓練した後に、それらは、ブロック４１４及び４１６において、それぞれ、ステントの位置を予測するために、及び、ステントが存在するかどうかを分類するために使用され得る。このような予測からのフィードバック（例えば、予測の精度に関するユーザーからのフィードバック）が、ブロック４１８及び４２０において、それぞれ、第１のモデル４０２及び第２のモデル４０４を更新（例えば、さらに訓練）するために使用される。
【００７７】
コンピュータ可読媒体を備えるコンピュータプログラム製品がさらに提供され、コンピュータ可読媒体が、コンピュータ可読媒体内において具現化されたコンピュータ可読コードを含み、コンピュータ可読コードが、適切なコンピュータ又はプロセッサによる実行時に、コンピュータ又はプロセッサが本明細書において説明されている１つ又は複数の方法を実施するようにされるように構成される。したがって、本開示が実施形態の実施をもたらすように適応された、特に媒体上の、又は媒体内のコンピュータプログラムといったコンピュータプログラムにも適用されることが理解される。本プログラムは、例えば部分的にコンパイルされた形態のソースコード、オブジェクトコード、コード中間ソース、及びオブジェクトコードの形態であり、又は、本明細書において説明されている実施形態による方法の実施態様における使用に適した任意の他の形態である。
【００７８】
このようなプログラムには多くの異なるアーキテクチャ設計があることがさらに理解される。例えば、方法又はシステムの機能を実施するプログラムコードは、１つ又は複数のサブルーチンに再分割される。これらのサブルーチン間で機能を分散する多くの異なる手法が当業者に明らかとなる。サブルーチンが１つの実行可能ファイルに一緒に記憶されて内蔵プログラムを形成する。このような実行可能ファイルは、例えば、プロセッサ命令及び／又はインタープリター命令（例えばＪａｖａインタープリター命令）といったコンピュータ実行可能命令を含む。代替的に、サブルーチンのうちの１つ又は複数又はすべてが、少なくとも１つの外部ライブラリファイルに記憶され、及び、静的に、又は動的に、例えば実行時にメインプログラムにリンクされる。メインプログラムは、サブルーチンのうちの少なくとも１つに対する少なくとも１つのコールを含む。サブルーチンは、互いに対するファンクションコールをさらに含む。
【００７９】
コンピュータプログラム製品に関する一実施形態は、本明細書に記載されている方法のうちの少なくとも１つの各処理ステージに対応したコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに再分割され、及び／又は静的に、又は動的にリンクされた１つ又は複数のファイルに記憶される。コンピュータプログラム製品に関する別の実施形態は、本明細書に記載されるシステム及び／又は製品のうちの少なくとも１つの各手段に対応したコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに再分割され、及び／又は静的に、又は動的にリンクされた１つ又は複数のファイルに記憶される。
【００８０】
コンピュータプログラムの媒体は、プログラムを記録することが可能な任意の実体又はデバイスである。例えば、媒体として、例えばＣＤ  ＲＯＭ又は半導体ＲＯＭといったＲＯＭなどのデータ記憶装置、又は、例えばハードディスクといった磁気記憶媒体が挙げられる。さらに、媒体は、電気又は光学ケーブルを介して、又は、無線又は他の手段により搬送される電気又は光信号などの伝送可能媒体である。プログラムがこのような信号において具現化される場合、媒体は、このようなケーブル、又は、他のデバイス又は手段により構成される。代替的に、媒体は、プログラムが中に組み込まれた集積回路であり、集積回路は、関連する方法を実施するように適応され、又は関連する方法の実施に使用される。
【００８１】
開示される実施形態の変形例は、図面、本開示、及び添付の特許請求の範囲の考察により当業者により理解及び実施され得る。特許請求の範囲において、「備える（含む、有する、もつ）」という用語は、他の要素もステップも排除せず、単数形は複数を排除しない。１つのプロセッサ又は他のユニットが、特許請求の範囲に記載されているいくつかの項目の機能を実現する。単に特定の手段が相互に異なる従属請求項に記載されているということが、利点を得るためにこれらの手段の組合せが使用不可能なことを示すわけではない。コンピュータプログラムは、他のハードウェアと一体的に、又は他のハードウェアの一部として供給される光記憶媒体又はソリッドステート媒体などの適切な媒体に記憶され／適切な媒体にのせて配布されるが、例えばインターネット又は他の有線又は無線電気通信システムを介して他の形態で配布される可能性もある。特許請求の範囲における参照符号は、いずれも特許請求の範囲を限定するように解釈されてはならない。
【図１】
2021503661.tif 000003
【図２】
2021503661.tif 000004
【図３】
2021503661.tif 000005
【図４】
2021503661.tif 000006
【国際調査報告】
2021503661.tif 000007
2021503661.tif 000008
2021503661.tif 000009