(57)【要約】  ニューラルネットワークのモデルを訓練するためのシステムは、命令セットを表す命令データを含むメモリ１０６と、当該メモリと通信し、命令セットを実行するように構成されたプロセッサ１０２とを備える。命令セットは、プロセッサにより実行されると、訓練データを獲得することをプロセッサに行わせ、訓練データは、データと、ユーザーにより決定されたデータに対する注釈と、補助データとを含み、補助データは、データに対する注釈を決定するときにユーザーにより考慮される、データにおける少なくとも１つの関心位置を記述する。命令セットは、プロセッサにより実行されると、少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数を最小化し、ユーザーにより決定されたデータに対する注釈をモデルにより生成された注釈と比較する主損失関数を最小化することにより、訓練データを使用してモデルを訓練することをプロセッサにさらに行わせる。
2021503662.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークのモデルを訓練するためのシステムであって、前記システムは、
命令セットを表す命令データを含むメモリと、
前記メモリと通信し、前記命令セットを実行するプロセッサとを備え、
前記命令セットは、前記プロセッサにより実行されると、前記プロセッサに、
データと、ユーザーにより決定された当該データに対する注釈と、補助データとを含む訓練データを獲得させることであって、前記補助データは、前記データに対する前記注釈を決定するときに前記ユーザーにより考慮される、前記データにおける少なくとも１つの関心位置を記述する、獲得させることと、
前記訓練データを使用して前記モデルを訓練させることとを行わせ、
前記プロセッサに前記モデルを訓練させることは、前記プロセッサに、
前記少なくとも１つの関心位置を前記モデルの１つ又は複数の層の出力と比較する補助損失関数を最小化することと、
前記ユーザーにより決定された前記データに対する前記注釈を前記モデルにより生成された注釈と比較する主損失関数を最小化することとを行わせる、
システム。
【請求項２】
前記補助データは、視線データを含み、前記少なくとも１つの関心位置が、前記データに対する前記注釈を決定するときに前記ユーザーにより観察される当該データにおける少なくとも１つの位置を含む、
請求項１に記載のシステム。
【請求項３】
前記視線データは、
前記データに対する前記注釈を決定するときに前記ユーザーが前記データのどの部分を見たかを示す情報、
前記データに対する前記注釈を決定するときに前記ユーザーが前記データの各部分を見ることに費やした時間長を示す情報、及び、
前記データに対する前記注釈を決定するときに前記ユーザーが前記データの異なる部分を見た順序を示す情報のうちの１つ又は複数を含む、
請求項２に記載のシステム。
【請求項４】
前記補助損失関数を最小化することを前記プロセッサに行わせることは、関心位置ではない前記データにおける位置に比べて、前記データにおける前記少なくとも１つの関心位置に高い有意性を与えるために、前記モデルの重みを更新することを前記プロセッサに行わせることを有する、
請求項１、２又は３に記載のシステム。
【請求項５】
前記補助損失関数を最小化することを前記プロセッサに行わせることは、短い期間にわたって前記ユーザーにより考慮された関心位置に比べて、長い期間にわたってユーザーにより考慮された関心位置に高い有意性を与えるために、前記モデルの重みを更新することを前記プロセッサに行わせることを有する、
請求項１から４の何れか一項に記載のシステム。
【請求項６】
前記補助損失関数を最小化することを前記プロセッサに行わせることは、
前記データに対する前記注釈を決定するときに前記ユーザーにより初期時間間隔中に考慮されたもの、
前記データに対する前記注釈を決定するときに前記ユーザーにより最終時間間隔中に考慮されたもの、及び、
前記データに対する前記注釈を決定するときに前記ユーザーにより複数回考慮されたもののうちの少なくとも１つである、前記データにおける関心位置に高い有意性を与えるために、前記モデルの重みを更新することを前記プロセッサに行わせることを有する、
請求項１から５の何れか一項に記載のシステム。
【請求項７】
前記補助データが画像を含み、前記画像の画像コンポーネントが、前記データの一部に対応している、
請求項１から６の何れか一項に記載のシステム。
【請求項８】
前記画像は、ヒートマップを含み、前記ヒートマップにおける画像コンポーネントの値は、各画像コンポーネントが、前記データにおける関心位置、及び／又は、前記データに対する前記注釈を決定するときに前記ユーザーが前記データの対応する位置の各々を考慮することに費やした期間に対応しているかどうかと相関している、
請求項７に記載のシステム。
【請求項９】
前記補助損失関数を最小化することを前記プロセッサに行わせることは、画像データを、前記モデルの１つ又は複数の畳み込み層の出力と比較することを前記プロセッサに行わせることを有する、
請求項７又は８に記載のシステム。
【請求項１０】
前記補助損失関数を最小化することを前記プロセッサに行わせることは、前記補助データを前記モデルの１つ又は複数の高密度層の出力と比較することを前記プロセッサに行わせることを有する、
請求項１から６の何れか一項に記載のシステム。
【請求項１１】
前記モデルを訓練することを前記プロセッサに行わせることは、
並列に前記補助損失関数及び前記主損失関数を最小化することと、
前記主損失関数を最小化する前に前記補助損失関数を最小化することと、
所定の閾値内に前記補助損失関数を最小化することであって、最小化した後で前記モデルが前記主損失関数を使用してさらに訓練される、最小化することと
のうちの１つ又は複数を前記プロセッサに行わせることを有する、
請求項１から１０の何れか一項に記載のシステム。
【請求項１２】
前記命令セットは、前記プロセッサにより実行されると、
組み合わされた損失関数を計算することであって、前記組み合わされた損失関数が、前記主損失関数と前記補助損失関数との重み付けされた組合せを含む、計算することと、
前記主損失関数を最小化することと前記補助損失関数を最小化することとの間の訓練の強調度を変えるために、前記組み合わされた損失関数の前記重み付けされた組合せに関連した１つ又は複数の重みを調節することとを、
前記プロセッサにさらに行わせる、
請求項１から１１の何れか一項に記載のシステム。
【請求項１３】
前記モデルは、修正されたＵ−Ｎｅｔアーキテクチャを含む、
請求項１から１２の何れか一項に記載のシステム。
【請求項１４】
ニューラルネットワークのモデルを訓練する方法であって、前記方法は、  データと、ユーザーにより決定された当該データに対する注釈と、補助データとを含む訓練データを獲得するステップであって、前記補助データは、前記データに対する前記注釈を決定するときに前記ユーザーにより考慮される、前記データにおける少なくとも１つの関心位置を記述する、獲得するステップと、
前記訓練データを使用して前記モデルを訓練するステップとを有し、
前記訓練するステップは、
前記少なくとも１つの関心位置を前記モデルの１つ又は複数の層の出力と比較する補助損失関数を最小化するステップと、
前記ユーザーにより決定された前記データに対する前記注釈を前記モデルにより生成された注釈と比較する主損失関数を最小化するステップとを有する、
方法。
【請求項１５】
非一時的なコンピュータ可読媒体内に具現化されたコンピュータ可読コードを含み、前記コンピュータ可読コードが、適切なコンピュータ又はプロセッサによる実行時に、前記コンピュータ又は前記プロセッサに請求項１４に記載の方法を実施させるように構成された、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書において説明されている様々な実施形態は、機械学習の分野に関する。より詳細には、限定されるものではないが、様々な実施形態が、ニューラルネットワークのモデルを訓練するシステム及び方法に関する。
【背景技術】
【０００２】
一般的な背景は、機械学習及びニューラルネットワークのモデルにおけるものである。機械学習モデルは、自動化された手法により多量のデータに注釈付けすること（例えば、多量のデータを分類すること、又は多量のデータに対してラベルを生成すること）を有する多くのタスクのために使用され得る。機械学習は、さもなければ非常に熟練した医療スタッフのみが分類できる医療画像などの画像に注釈付けするときに特に有用であり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
機械学習モデルの一種が、人工的ニューラルネットワーク（又は、ニューラルネットワーク）である。多量の注釈付けされたデータは、典型的には、ニューラルネットワークのモデル（例えば訓練データ）を訓練するのに必要とされる。しかし、データに注釈付けすること、例えば、各画像における物体の存在又は位置を指し示すことにより画像に注釈付けすることは、時間がかかり、注釈者にとって退屈であり、注釈の正確さの低下につながる可能性がある。熟練した医療専門家が各注釈を実施することを要求された場合、注釈処理は高コストにもなり得る。したがって、訓練及び結果として得られるモデルの品質が維持されることを確実なものとしながら、機械学習モデルを訓練するために必要とされる注釈データの量を減らし、学習工程をより効率的にするための手法を見つけることが望ましい。
【０００４】
したがって、上述の問題を改善する方法及びシステムが必要とされる。
【課題を解決するための手段】
【０００５】
第１の態様によると、ニューラルネットワークのモデルを訓練するためのシステムが存在する。システムは、命令セットを表す命令データを含むメモリ、及びメモリと通信し、命令セットを実行するように構成されたプロセッサを備える。命令セットは、プロセッサにより実行されると、プロセッサに訓練データを獲得させ、訓練データは、データと、ユーザーにより決定されたデータに対する注釈と、補助データとを含む。補助データは、データに対する注釈を決定するときにユーザーにより考慮される、データにおける少なくとも１つの関心位置を記述する。命令セットは、プロセッサにより実行されると、訓練データを使用してモデルを訓練することをシステムに行わせる。モデルを訓練することをプロセッサに行わせることは、少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数を最小化することと、ユーザーにより決定されたデータに対する注釈をモデルにより生成された注釈と比較する主損失関数を最小化することとをプロセッサに行わせることを有する。
【０００６】
データに対する注釈を決定するときにユーザーにより考慮される、データにおける１つ又は複数の関心位置を記述する補助データを使用することは、ユーザーがデータ（例えば例として、視線データ、ジェスチャーデータ、及び／又は発話データ）に注釈付けするときに、ユーザーから収集される追加的なデータが、ユーザーの代わりにさらなる労力を一切伴わずに訓練工程を高速化するために使用され得る（補助データが「フリーで」効果的に取得される）ことを意味する。学習される元となる最終的な注釈を含むモデルを単に提供することの代わりに、モデルは、注釈を作るときにユーザーが考慮したデータにおける複数の位置をさらに含み、これは、データに注釈付けするときにモデルが考慮しなければならないデータにおける位置に対するガイドとして機能する。少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する損失関数を最小化することにより、モデルの重みが、ユーザーがデータに注釈付けしたときにユーザーにより考慮された関心領域を表立たせる（例えば、その関心領域に、より高い有意性を与える）ように調整される。訓練工程にこの追加的なデータを組み込むことにより、モデルがより迅速に訓練され得る。さらに、より多くのデータ（例えば視線、発話、及び／又はジェスチャーデータ）が各注釈中にユーザーから抽出されるので、より少ない注釈がユーザーから要求される。
【０００７】
いくつかの実施形態において、補助データは、視線データを含み、少なくとも１つの関心位置が、データに対する注釈を決定するときにユーザーにより観察されるデータにおける少なくとも１つの位置を含む。
【０００８】
いくつかの実施形態において、視線データは、データに対する注釈を決定するときにユーザーがデータのどの部分を見たかを示す情報、データに対する注釈を決定するときにユーザーがデータの各部分を見ることに費やした時間長を示す情報、及び、データに対する注釈を決定するときにユーザーがデータの異なる部分を見た順序を示す情報のうちの１つ又は複数を含む。
【０００９】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサに行わせることは、関心位置ではないデータにおける位置に比べて、データにおける少なくとも１つの関心位置により高い有意性を与えるために、モデルの重みを更新することをプロセッサに行わせることを有する。
【００１０】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサに行わせることは、より短い期間にわたってユーザーにより考慮された関心位置に比べて、より長い期間にわたってユーザーにより考慮された関心位置により高い有意性を与えるために、モデルの重みを更新することをプロセッサに行わせることを有する。
【００１１】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサに行わせることは、データに対する注釈を決定するときにユーザーにより初期時間間隔中に考慮されたもの、データに対する注釈を決定するときにユーザーにより最終時間間隔中に考慮されたもの、及び、データに対する注釈を決定するときにユーザーにより複数回考慮されたもののうちの少なくとも１つである、データにおける関心位置により高い有意性を与えるために、モデルの重みを更新することをプロセッサに行わせることを有する。
【００１２】
いくつかの実施形態において、補助データが画像を含み、画像の画像コンポーネントが、データの一部に対応している。
【００１３】
いくつかの実施形態において、画像は、ヒートマップを含む。ヒートマップにおける画像コンポーネントの値は、各画像コンポーネントが、データにおける関心位置、及び／又は、データに対する注釈を決定するときにユーザーがデータの対応する位置の各々を考慮することに費やした期間に対応しているかどうかと相関している。
【００１４】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサに行わせることは、画像データをモデルの１つ又は複数の畳み込み層の出力と比較することをプロセッサに行わせることを有する。
【００１５】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサに行わせることは、補助データをモデルの１つ又は複数の高密度層の出力と比較することをプロセッサに行わせることを有する。
【００１６】
いくつかの実施形態において、モデルを訓練することをプロセッサに行わせることは、並列に補助損失関数及び主損失関数を最小化することと、主損失関数を最小化する前に補助損失関数を最小化することと、所定の閾値内に補助損失関数を最小化することであって、最小化した後でモデルが主損失関数を使用してさらに訓練される、最小化することとのうちの１つ又は複数をプロセッサに行わせることを有する。
【００１７】
いくつかの実施形態において、命令セットは、プロセッサにより実行されると、組み合わされた損失関数を計算することであって、組み合わされた損失関数が、主損失関数と補助損失関数との重み付けされた組合せを含む、計算することと、主損失関数を最小化することと補助損失関数を最小化することとの間の訓練の強調度を変えるために、組み合わされた損失関数の重み付けされた組合せに関連した１つ又は複数の重みを調節することとをプロセッサにさらに行わせる。
【００１８】
いくつかの実施形態において、モデルは、修正されたＵ−Ｎｅｔアーキテクチャを含む。
【００１９】
第２の態様によると、ニューラルネットワークのモデルを訓練する方法が存在する。本方法は、訓練データを獲得するステップを有する。訓練データは、データと、ユーザーにより決定されたデータに対する注釈と、補助データとを含み、補助データが、データに対する注釈を決定するときにユーザーにより考慮される、データにおける少なくとも１つの関心位置を記述する。本方法は、訓練データを使用してモデルを訓練するステップをさらに有する。訓練するステップは、少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数を最小化するステップと、ユーザーにより決定されたデータに対する注釈をモデルにより生成された注釈と比較する主損失関数を最小化するステップとを有する。
【００２０】
第３の態様によると、非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品が存在し、コンピュータ可読媒体が、コンピュータ可読媒体内において具現化されたコンピュータ可読コードを含み、コンピュータ可読コードが、適切なコンピュータ又はプロセッサによる実行時に、コンピュータ又はプロセッサに本明細書において説明されている実施形態のうちの任意の実施形態の方法を実施させるように構成される。
【００２１】
実施形態のより良い理解のために、及び、実施形態がどのように実現されるかをより明確に示すために、以下で単なる例示として添付図面が参照される。
【図面の簡単な説明】
【００２２】
【図１】一実施形態による例示的なシステムを示す図である。
【図２】一実施形態によるグラフィカル形態により提示された視線データを含む例示的な補助データを示す図である。
【図３】一実施形態による画像の形態により提示された視線データを含む例示的な補助データを示す図である。
【図４】一実施形態によるヒートマップの形態により提示された例示的な補助データを示す図である。
【図５ａ】一実施形態による例示的な工程を示す図である。
【図５ｂ】一実施形態による例示的な工程を示す図である。
【図６】一実施形態によるコンピュータ実施方法を示す図である。
【発明を実施するための形態】
【００２３】
上述のように、既存の問題のいくつかを解決するニューラルネットワークのモデルを訓練するための改善された方法及びシステムが提供される。
【００２４】
図１は、ニューラルネットワークのモデルを訓練するために使用され得る一実施形態によるシステム１００のブロック図を示す。図１を参照すると、システム１００は、システム１００の動作を制御する、及び、本明細書において説明されている方法を実施し得るプロセッサ１０２を備える。
【００２５】
システム１００は、命令セットを表す命令データを含むメモリ１０６をさらに備える。メモリ１０６は、本明細書において説明されている方法を実施するようにプロセッサ１０２により実行され得るプログラムコードの形態による命令データを記憶するように構成される。いくつかの実施態様において、命令データは、本明細書において説明されている方法の個々の、又は複数のステップを実施するように、又は実施するために各々が構成された複数のソフトウェア及び／又はハードウェアモジュールを含み得る。いくつかの実施形態において、メモリ１０６は、システム１００の１つ又は複数の他のコンポーネント（例えば、プロセッサ１０２及び／又はシステム１００の１つ又は複数の他のコンポーネント）をさらに備えるデバイスの一部である。代替的な実施形態において、メモリ１０６は、システム１００の他のコンポーネントに対して独立したデバイスの一部である。
【００２６】
いくつかの実施形態において、メモリ１０６は、複数のサブメモリを備え、各サブメモリは、命令データの一部を記憶することができる。メモリ１０６が複数のサブメモリを備えるいくつかの実施形態において、命令セットを表す命令データは、１つのサブメモリに記憶される。メモリ１０６が複数のサブメモリを備える他の実施形態において、命令セットを表す命令データは、複数のサブメモリに記憶される。例えば、少なくとも１つのサブメモリが命令セットの少なくとも１つの命令を表す命令データを記憶するとともに、少なくとも１つの他のサブメモリが命令セットの少なくとも１つの他の命令を表す命令データを記憶する。したがって、いくつかの実施形態によると、異なる命令を表す命令データが、システム１００における１つ又は複数の異なる位置に記憶される。いくつかの実施形態において、メモリ１０６は、システム１００のプロセッサ１０２により、又は、システム１００の任意の他のコンポーネントから獲得された、又は作られた情報、データ、信号、及び測定結果を記憶するために使用される。
【００２７】
システム１００のプロセッサ１０２は、命令セットを実行するようにメモリ１０６と通信するように構成され得る。命令セットは、プロセッサ１０２により実行されると、本明細書において説明されている方法を実施することをプロセッサ１０２に行わせる。プロセッサ１０２は、本明細書において説明されている手法によりシステム１００を制御するように構成又はプログラムされた１つ又は複数のプロセッサ、処理ユニット、マルチコアプロセッサ、及び／又はモジュールを備え得る。いくつかの実施態様において、例えば、プロセッサ１０２は、複数の（例えば、相互運用された）プロセッサ、処理ユニット、マルチコアプロセッサ、及び／又は、分散処理のために構成されたモジュールを備える。このようなプロセッサ、処理ユニット、マルチコアプロセッサ、及び／又は、モジュールが異なる位置に位置し、本明細書において説明されている方法の異なるステップ及び／又は１つのステップの異なる部分を実施することが当業者により理解される。
【００２８】
再度図１に戻ると、いくつかの実施形態において、システム１００は、少なくとも１つのユーザーインターフェース１０４を備える。いくつかの実施形態において、ユーザーインターフェース１０４は、システム１００の１つ又は複数の他のコンポーネント（例えば、プロセッサ１０２、メモリ１０６、及び／又は、システム１００の１つ又は複数の他のコンポーネント）をさらに備えるデバイスの一部である。代替的な実施形態において、ユーザーインターフェース１０４は、システム１００の他のコンポーネントに対して独立したデバイスの一部である。
【００２９】
ユーザーインターフェース１０４は、システム１００のユーザー（例えば、研究者、ニューラルネットワークのモデルの設計者又は開発者、医療従事者、対象者、又は、ニューラルネットワークのモデルの任意の他のユーザー）に、本明細書の実施形態による方法により結果的にもたらされる情報を提供することにおける使用のためのものである。命令セットは、プロセッサ１０２により実行されると、本明細書の実施形態による方法により結果的にもたらされる情報を提供するように、１つ又は複数のユーザーインターフェース１０４を制御することをプロセッサ１０２に行わせる。代替的に、又は追加的に、ユーザーインターフェース１０４は、ユーザー入力を受信するように構成される。言い換えると、ユーザーインターフェース１０４は、システム１００のユーザーが命令、データ、又は情報を手動で入力することを可能にする。命令セットは、プロセッサ１０２により実行されると、１つ又は複数のユーザーインターフェース１０４からユーザー入力を獲得することをプロセッサ１０２に行わせる。
【００３０】
ユーザーインターフェース１０４は、システム１００のユーザーに対して、情報、データ、又は信号のレンダリング（又は、出力又は表示）を可能にする任意のユーザーインターフェースである。代替的に、又は追加的に、ユーザーインターフェース１０４は、システム１００のユーザーがユーザー入力を提供すること、システム１００と相互作用すること、及び／又はシステム１００を制御することを可能にする任意のユーザーインターフェースである。例えば、ユーザーインターフェース１０４として、１つ又は複数のスイッチ、１つ又は複数のボタン、キーパッド、キーボード、マウス、マウスホイール、（例えば、タブレット又はスマートフォンにおける）タッチスクリーン又はアプリケーション、ディスプレイスクリーン、グラフィカルユーザーインターフェース（ＧＵＩ）又は他の視覚レンダリングコンポーネント、１つ又は複数のスピーカー、１つ又は複数のマイクロホン又は任意の他のオーディオコンポーネント、１つ又は複数のライト、触覚フィードバック（例えば振動機能）を提供するためのコンポーネント、又は、任意の他のユーザーインターフェース、又は、ユーザーインターフェースの組合せが挙げられる。
【００３１】
いくつかの実施形態において、図１に示されるように、システム１００は、システム１００がインターフェース、メモリ、及び／又はシステム１００の一部であるデバイスと通信することを可能にするための通信インターフェース（又は回路）１０８をさらに備える。通信インターフェース１０８は、無線により、又は有線接続を介して任意のインターフェース、メモリ、及びデバイスと通信する。
【００３２】
図１は、本開示のこの態様を示すために必要とされるコンポーネントのみを示し、実用的な実施態様では、システム１００は、示されるものに追加的なコンポーネントを備えることが理解される。例えば、システム１００は、システム１００に給電するための電池又は他の電源、又は、主電源にシステム１００を接続するための手段を備える。
【００３３】
より詳細には、上述のように、メモリ１０６は命令セットを表す命令データを含む。一時的に、命令セットは、システム１００のプロセッサ１０２により実行されると、訓練データを獲得することをプロセッサ１０２に行わせる。訓練データは、データと、ユーザーにより決定されたデータに対する注釈と、補助データとを含み、補助データは、データに対する注釈を決定するときにユーザーにより考慮される、データにおける少なくとも１つの関心位置を記述する。命令セットは、システム１００のプロセッサ１０２により実行されると、訓練データを使用してプロセッサ１０２にモデルを訓練させる。モデルを訓練することをプロセッサ１０２に行わせることは、少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数を最小化することと、ユーザーにより決定されたデータに対する注釈をモデルにより生成された注釈と比較する主損失関数を最小化することとをプロセッサに行わせることを有する。
【００３４】
ここまでに簡単に説明されているように、本明細書のシステムは、正しい注釈を決定（例えば捻出）するときにユーザーがデータのどの部分を考慮したか（例えば見たか）を示す補助（例えば追加的）データが、ユーザーがデータに注釈付けするときにユーザーから取得され得る実現例に基づく。データのこのような部分は、本明細書において関心位置と呼ばれ、データにおける関心位置のこの知識情報は、注釈を生成するときに、データにおける関心位置により大きな重みを与えるように、ニューラルネットワークのモデルを訓練するために使用され得る。この手法により、関心位置は、モデルを訓練するために使用され得る追加的なデータを提供する。これは、より迅速に、及び効率的にモデルを訓練することに役立つ。さらに、関心位置は、例えば、ユーザーが訓練データに注釈付けするときに取得された視線、ジェスチャー、又は発話データから（例えば、ユーザーが任意の追加的な注釈を提供する必要なく）「フリーで」取得され得る。この手法により、訓練は、ユーザーにとって、より高効率かつ費用効果の高いものにされる。
【００３５】
人工的ニューラルネットワーク、又は単にニューラルネットワークは、当業者によく知られているが、端的に言えば、ニューラルネットワークは、データに注釈付け（例えば、分類又はラベル付け）する（例えば、画像データを分類する又は画像データに対してラベル若しくは注釈を生成する）ために使用され得る種類のモデルである。ニューラルネットワークの構造は、ヒトの脳によりインスピレーションを受けたものである。ニューラルネットワークは層を含み、各層は複数のニューロンを含む。各ニューロンは、数学的演算を含む。データを分類する工程において、各ニューロンの数学的演算が、数値出力を生成するためにデータに対して実施され、ニューラルネットワークにおける各層の出力は、逐次的に隣の層に供給される。（データを分類するときに）ニューロンの数値出力の大きさは、多くの場合、そのニューロンの「アクティブ化レベル」と呼ばれる。いくつかのニューラルネットワーク、例えば畳み込みニューラルネットワークでは、ニューラルネットワークにおける、より低い層（すなわち、ニューラルネットワークにおいて一連の層の先頭に向かう層）は、分類されているデータにおける小さい特徴又はパターンによりアクティブ化され（すなわち、それらの出力が、分類されているデータにおける小さい特徴又はパターンに依存し）、その一方で、より高い層（すなわち、ニューラルネットワークにおいて一連の層の終端に向かう層）は分類されているデータにおいて次第に大きくなる特徴によりアクティブ化される。一例として、データが画像を含み、モデルがニューラルネットワークを含む場合、ニューラルネットワークにおける、より低い層は、小さい特徴（例えば例として画像におけるエッジパターン）によりアクティブ化され、中レベル層は、画像における特徴、例えば例としてより大きい形状及び形態によりアクティブ化され、出力に最も近い層（例えばより上の層）は、画像における物体全体によりアクティブ化される。異なる分類のデータは、異なるアクティブ化パターンを生成する（例えばネットワークにおける異なるアクティブ化シグネチャをもつ）。例えば、心臓の画像は、肺の画像とは異なるアクティブ化パターンを生成する。したがって、ニューラルネットワークは、ニューラルネットワークにおいて生成されたアクティブ化パターンに従ってデータを分類する。
【００３６】
データが画像を含み、モデルが画像のコンテンツを分類するためのものである本明細書におけるいくつかの例において、ニューラルネットワークにおける各ニューロンは、画像におけるピクセル（又は、三次元においてボクセル）値の重み付けされた線形和と後に続く非線形変換とを含む数学的演算を含む。ニューラルネットワークにおいて使用される非線形変換の例として、シグモイド関数、双曲線接線関数、及び正規化線形関数が挙げられる。ニューラルネットワークの各層におけるニューロンは、概して、１種類の変換の異なる重み付けされた組合せ（例えば、シグモイドなどの同じ種類の変換であるが、異なる重み付けを伴うもの）を含む。当業者によく知られているが、いくつかの層において、同じ重みが、線形和において各ニューロンにより適用され、例えば、畳み込み層の場合にこれが適用される。各ニューロンの出力は数値であり、上述のように、ニューロンの数値出力の大きさは、画像を分類するために使用されるニューロンアクティブ化パターンを形成する。
【００３７】
概して、（本明細書において「モデル」と呼ばれる）ニューラルネットワークのモデルは、データに注釈付けする（例えば分類する）ために使用され得る任意の種類のニューラルネットワークのモデルを備える。モデルの例として、フィードフォワードモデル（例えば畳み込みニューラルネットワーク、オートエンコーダニューラルネットワークモデル、確率論的ニューラルネットワークモデル、及び時間遅れニューラルネットワークモデル）、放射基底関数ネットワークモデル、回帰ニューラルネットワークモデル（例えば、完全回帰型モデル、ホップフィールドモデル、又はボルツマン機械モデル）、又は、任意の他の種類のニューラルネットワークモデルが挙げられるが、これらに限定されない。当業者は、本明細書における教示が適用される他の種類のモデルを認識する。
【００３８】
いくつかの実施形態において、モデルは修正されたＵ−Ｎｅｔアーキテクチャを含む。Ｕ−Ｎｅｔモデルの層はすべてが畳み込み層であるので、Ｕ−Ｎｅｔアーキテクチャは、例えば画像データを伴う用途に十分に適している。それは、さらに、他の種類のニューラルネットワークアーキテクチャに比べて少ない入力データを要求する。したがって、それは、ヒートマップ（又は他の画像データ）の形態により表される関心位置を処理することに対する適応に十分に適している。しかし、当業者は、他のアーキテクチャも可能であることを理解する。
【００３９】
概して、ニューラルネットワークのモデルは、データを分類する（例えば、データに対する注釈又はラベルを提供する）ために使用される。データは、ユーザーがデータに注釈付けするときにユーザーに視認可能に表示され得る任意の種類のデータである。例えば、データとして、画像（例えば画像データ）、ビデオ（例えばビデオデータ）、例えば文献又は記録といった文字列を含むデータ、視覚的に表され得る波形を含むデータ（例えば心電図（ＥＣＧ）又は同様のもの）、又は、ユーザーがデータに注釈付けするときにユーザーに視認可能に表示され得る任意の他の種類のデータが挙げられる。いくつかの実施形態において、データは、医療画像（例えばｘ線画像、超音波画像など）又は医療記録などの医療データを含む。概して、データは、二次元データ又は三次元データ（例えば、三次元画像又はビデオ）を含む。いくつかの実施形態において、データは、ユーザーに表示され得る視認可能なデータを含む。いくつかの実施形態において、データは、決められた（例えば固定の、又は再現可能な）構成により構成され、例えば、構成は、人間の注釈者とモデルとの両方により推論可能である（例えば視認可能であり、又は導出可能である）。例えば、データは画像を含み、画像のピクセル（又は、３Ｄにおけるボクセル）は固定の構成により構成される。別の例において、データは、人間とモデルとの両方に対して同じ手法によりレンダリングされ得るテキスト文書を含む。これらは、ニューラルネットワークのモデルにより処理される種類のデータの例にすぎないこと、及び、ニューラルネットワークのモデルにより分類される他の種類の視認可能なデータについて当業者によく知られていることが理解される。
【００４０】
ニューラルネットワークのモデルは、データを取り込むように、及び、データに対する注釈、例えばデータに対する分類又はラベルを生成するように訓練される。例えば、注釈は、データのコンテンツを説明する。いくつかの実施形態において、モデルが物体検出モデルを含み、このことにより、モデルが、特定のオブジェクト又は特徴がデータに存在するか否かを検出する。いくつかの実施形態において、物体は、医療画像におけるステントを含む。いくつかの実施形態において、モデルがローカライゼーションモデルを含み、このことにより、モデルが、データの特定のオブジェクト又は特徴に対応したデータにおける位置を示す。いくつかの実施形態において、モデルは、医療画像におけるステントの位置を特定する。データが医療画像データなどの画像データである例では、注釈は画像のコンテンツを説明し、又は医療イメージングの場合、注釈は、画像における１つ又は複数の解剖学的特徴又は物体を説明する。いくつかの例において、注釈は、医療画像から観測可能な病状の診断結果を示す。データがドキュメント、例えば医療記録である例では、モデルは、特定の特徴を特定すること、又は、ドキュメントのコンテンツから特定の推論を行うことにより、データに注釈付けするように訓練される（例えば、医療記録に基づいて、モデルは、患者が糖尿病を発症する高いリスクをかかえていることを特定するように訓練される）。データが波形を含む実施形態において、モデルは、例えば、例えば波形における異常といった特徴の位置を特定するように訓練される。しかし、これらはデータが注釈付けされる種類の手法の例示にすぎないこと、及び、当業者がモデルにより生成される他の注釈を考えることができることが理解される。
【００４１】
上述のように、命令セットは、プロセッサ１０２により実行されると、プロセッサ１０２に訓練データを獲得させ、訓練データが、データと、ユーザーにより決定されたデータに対する注釈と、補助データとを含み、補助データが、データに対する注釈を決定するときにユーザーにより考慮される、データにおける少なくとも１つの関心位置を記述する。
【００４２】
概して、訓練データは、上述のようにモデルが分類する種類のデータを記述するデータの例示的な部分を含む。例えば、モデルが画像データ（医療画像データなどの）を分類するためのものである場合、訓練データは、モデルが分類する同じ種類の画像の例を含む。データに対する注釈はユーザーにより決定され、上述のようにモデルが生成する同じ種類の注釈（例えば分類又はラベル）の例を含む。
【００４３】
訓練データは、データに対する注釈を決定するときにユーザーにより考慮される、データにおける少なくとも１つの関心位置を記述する補助データをさらに含む。いくつかの実施形態において、補助データは視線データを含み、データにおける少なくとも１つの関心位置は、データに対する注釈を決定するときにユーザーが観察した（例えば見た）データにおける少なくとも１つの位置を含む。概して、ユーザーが注釈を決定するときにユーザーにより見られたデータにおける位置は、データに対する正しい注釈を決定するために重要なデータの特徴を表す。したがって、モデルにこの情報を提供することにより、モデルは、他のデータを注釈付けするときに他のデータにおいてこれらの（又は同等な）位置を考慮するように、訓練工程中にガイドされる。
【００４４】
いくつかの実施形態において、視線データが、データに対する注釈を決定するときにユーザーがデータのどの部分を見たかを示す情報と、データに対する注釈を決定するときにユーザーがデータの各部分を見ることに費やした時間長を示す情報と、データに対する注釈を決定するときにユーザーがデータの異なる部分を見た順序を示す情報とのうちの１つ又は複数を含む。この手法により、データの異なる部分の相対的な重要性が評価され得る。例えば、データにおける他の位置に比べて長期にわたってユーザーが関心位置を考慮した場合、又は、ユーザーが、データに対する適切な注釈を決定するとき、関心位置に何度も戻って来た（関心位置がデータの最も重要な部分のうちの１つであることを示す）場合、データにおける関心位置は、正しい注釈（又は分類）を生成することにおいて、特に重要（例えば決定的要因）である。さらに、ユーザーが各関心位置を考慮する順序も重要である。例えば、ユーザーは、データに対する正しい注釈を決定するときに考慮する最も重要なデータにおける特徴にまず引き付けられる。代替的に、例えば、ユーザーが最終的な注釈を決定するために使用されるデータのより細かい特徴に「注視する」ことに時間をかけた場合、より重要な特徴は、ユーザーが最後に見たそうした特徴である。
【００４５】
図２は、一実施形態による補助データの一例を示す。この実施形態において、データは画像を含み、補助データはグラフを含む。グラフのｘ軸は時間を表し、ｙ軸は画像の座標を表す。線２０２は、ユーザーが各時点において考慮した画像のｘ軸座標を示し、線２０４は、ユーザーが画像に対する注釈を決定したときにユーザーが各時点において考慮した画像のｙ軸座標を示す。このグラフから、例えば、時点「５００」付近においてユーザーにより観察された第１の関心位置が座標（ｘ，ｙ）＝（５００，４００）であったことが確認され得る。
【００４６】
いくつかの実施形態において、補助データは、画像コンポーネント（例えばピクセル、又は三次元におけるボクセル）を含む画像を含み、各画像コンポーネントはデータの一部に対応する。図３は、一実施形態における補助データの一例を示し、これによれば、データは画像を含む。この実施形態において、図３に示される補助データ３００は、画像における少なくとも１つの関心位置を示すマーカー３０２に重ねられた画像のコピーを含む。
【００４７】
いくつかの実施形態において、補助データはヒートマップを含み、ヒートマップにおける画像コンポーネント（例えばピクセル又はボクセル）の値は、各画像コンポーネントが、データにおける関心位置、及び／又は、データに対する注釈を決定するときにユーザーがデータの対応する位置を考慮することに費やした期間に対応しているかどうかと相関している。例えば、各画像コンポーネントの値は、データに対する注釈を決定している間にデータの対応する部分に対してユーザーが考慮すること（例えば見ること、又はジェスチャーすること）に費やした時間長に比例する。図４は、例示的な一実施形態を示し、これによれば、補助データはヒートマップ４００である。この実施形態において、各画像コンポーネントの値は、ユーザーがデータの対応する部分を観察すること（例えば見ること）に費やした時間長に比例する。例えば、画像コンポーネントがより白い（例えばよりホットである）ほど、注釈を決定するときにユーザーはデータの対応する部分を観察することにより長く時間を費やした。図４において、白色のエリア４０２は、データにおける関心位置に一致する。当業者は、ヒートマップが、例として提供されるにすぎない本明細書において説明されているものに対する他の手法により、注視の寿命に相関していることを理解する。例えば、ヒートマップの値は、ユーザーがデータの対応する部分を観察することに費やした時間長に直接比例するとは限らない。例えば、値は、反比例し（例えば「よりコールドな」値が最も長く観測された領域に対応し）、及び／又は、観測時間の対数又は二乗に従って拡縮される。
【００４８】
いくつかの実施形態において、ヒートマップは、密度カーネル、例えばガウシアン密度カーネルとともに目立たない注視又はジェスチャー座標を畳み込むことにより生成される。これは、関心領域内に個々の関心位置（例えばポイント）の座標を効果的に広げる。
【００４９】
注視データの様々な例が提供されているが、例えば、人間工学的特徴表現、ＰＣＡベースの表現、又は、（例えば、ＬＳＴＭ回帰型ニューラルネットワークが自然言語処理において一般的に行われるので、ＬＳＴＭ回帰型ニューラルネットワークを使用して）連続値サマリーベクトルへの関心位置（例えば視線／ジェスチャー／発話座標）の符号化、圧縮表現、ランダムプロジェクション、又は、座標値タプルとしてのスパース表現といった、他のフォーマットの凝視データも可能であることが理解される。
【００５０】
いくつかの実施形態において、補助データはジェスチャーデータを含み、少なくとも１つの関心位置が、データに対する注釈を決定している間にユーザーがジェスチャーをした（例えば指し示した、うなずいた、又は、ユーザーの頭部を向けるように動かした）少なくとも１つの位置を含む。
【００５１】
いくつかの実施形態において、補助データは発話データを含み、少なくとも１つの位置が、ユーザーが発話データにおいてコメントした（例えば聴覚的に参照した）少なくとも１つの位置を含む。例えば、ユーザーは、発話的な手がかりを提供するとともに、データに対する適切な注釈を考え出す（例えば、ユーザーは、「画像の左上の角」のコンテンツを参照する）。
【００５２】
したがって、一般的には、関心位置は、ユーザーがデータに対する正しい注釈を決定するために使用したデータ（又はデータの一部）における位置を含む。データにおける少なくとも１つの関心位置が、上記の例の任意の組合せ（例えば、視線データから導出された１つ又は複数の関心位置、加えて、又は代替的に、発話データから導出された１つ又は複数の関心位置、加えて、又は代替的に、ジェスチャーデータから導出された１つ又は複数の関心位置）から導出されることが理解される。
【００５３】
いくつかの実施形態において、プロセッサ１０２は、データベースから訓練データを獲得するようにされる（例えば、訓練データは、以前に収集された履歴データを含む）。このようなデータベースは、システム１００に対してローカルに記憶される。代替的に、このようなデータベースは、システム１００に対して遠隔に、例えば外部サーバーに記憶される。
【００５４】
いくつかの実施形態において、プロセッサ１０２は、ユーザーから動的に（例えばリアルタイムで）訓練データを獲得するようにされる。例えば、プロセッサ１０２は、訓練データのためのデータを獲得するために、医療機器などの１つ又は複数個の機器と相互作用するように構成される。例えば、プロセッサ１０２は、医療機器とインターフェース接続するように、及び、訓練データにおける使用のための１つ又は複数の医療画像を獲得するように医療機器に命令するように医療機器に命令を送信するようにされる。命令セットは、プロセッサ１０２により実行されると、ユーザーが見るためにシステムのユーザーに対してデータをレンダリングするように、ユーザーインターフェース１０４に命令を提供することをプロセッサ１０２にさらに行わせる。したがって、ユーザーは、レンダリングされたデータからデータに対する注釈を決定することができる。
【００５５】
いくつかの実施形態において、システム１００は、ユーザーインターフェース１０４、又は、ユーザーがデータに注釈付けするときにユーザーから視覚画像及び／又は音声データを補足することに適したユーザーインターフェース１０４をさらに備える。例えば、補助データが視線データ及び／又はジェスチャーデータを含む場合、システム１００は、ユーザーの視線の動き（例えば、ユーザーの目の動き及び／又は移動方向）、及び／又は、ユーザーのジェスチャーによる動き（例えば、ユーザーの肢、手、頭部又は他の身体の部位の動き）を記録することに適した記録デバイス（例えば、画像捕捉デバイス、カメラ、又はビデオレコーダー）をさらに備える。いくつかの実施形態において、命令セットは、プロセッサ１０２により実行されると、データにおける少なくとも１つの関心位置を、ユーザーのビデオ又は画像データから特定することをプロセッサ１０２にさらに行わせる。いくつかの実施形態において、ビデオ又は画像データは、ユーザーがデータに注釈付けするときの（例えば、ユーザーがデータに注釈付けする工程にとりかかっているときの）ユーザーのビデオ又は画像データを含む。ユーザーの目の画像から画面上におけるユーザーの視線の位置を特定する方法、及び／又は、ジェスチャーデータを画面上における等価な位置に変換する（例えば指し示す）ための方法については当業者によく知られている。
【００５６】
いくつかの実施形態において、システム１００は、例えば、マイクロホン又は他の音声記録デバイスといった、音声を記録するためのユーザーインターフェース１０４を備える。いくつかの実施形態において、命令セットは、プロセッサ１０２により実行されると、データにおける少なくとも１つの関心位置をユーザーの音声記録から特定することをプロセッサ１０２にさらに行わせる。いくつかの実施形態において、音声記録は、ユーザーがデータに注釈付けするときに作られる。いくつかの実施形態において、命令セットは、プロセッサ１０２により実行されると、言語処理技術を使用して音声記録からデータにおける少なくとも１つの関心位置を特定することをプロセッサ１０２にさらに行わせる。例えば、プロセッサ１０２は、発話におけるキーワードの言葉（例えば「上部」、「底部」、又は「側」などの語句）を分離して、これらをデータ（又はデータの一部）における位置と照合するようにされる。
【００５７】
システムは、三次元データにも使用され、例えば、関心位置は、眼の動き、ジェスチャー、又は発話の実行中にユーザーに表示された三次元データの配向又は部分を説明する情報と組み合わされて、眼の動き、ジェスチャー、及び発話を通して三次元データにおいて特定されることがさらに理解される。いくつかの実施形態において、システムは、拡張現実環境においてデータを表示すること、及び、視線／ジェスチャー及び／又は発話を捕捉することに適した、例えばディスプレイ及び記録デバイスといったユーザーインターフェース１０４を備え、したがって、三次元において補助データに注釈付けするための、及び補助データを捕捉するための、より多くの選択肢を提供する。
【００５８】
プロセッサ１０２がユーザーのビデオ記録、音声記録、及び画像からデータにおける関心位置を特定するようにされる手法の例が、本明細書において提供されるが、これらは例示にすぎないこと、及び、他の方法も可能であることが理解される。
【００５９】
訓練データが獲得された後に、命令セットは、プロセッサ１０２により実行されると、訓練データを使用してモデルを訓練することをプロセッサ１０２に行わせる。プロセッサ１０２は、少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数を最小化し、ユーザーにより決定されたデータに対する注釈をモデルにより生成された注釈と比較する主損失関数を最小化することにより、モデルを訓練するようにされる。
【００６０】
当業者は主損失関数（又は、コスト関数）に精通しているが、主損失関数（又は、コスト関数）により、ユーザーにより決定されたデータに対する注釈が、モデルにより生成された注釈と比較される。主損失関数が含む種類の損失関数は、モデルにより生成された注釈の種類に依存する。例えば、注釈のとり得る値の範囲が連続的であるモデル（例えば位置モデルであって、その位置モデルによってモデルがｘ−ｙ座標を出力する位置モデル）に対して、主損失関数は、平均二乗誤差（ＭＳＥ）損失関数を含む。分類問題であって、その分類問題によって出力がディスクリートである（例えば、注釈が、物体又は特徴がデータに存在するかそれともデータに存在しないかを示す）分類問題では、主損失関数は、交差エントロピー損失関数を含む。しかし、これらは例示にすぎないこと、及び、当業者は主損失関数のために使用され得る他の形態の損失関数に精通していることが理解される。
【００６１】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサ１０２に行わせることは、補助データをモデルの１つ又は複数の畳み込み層の出力と比較することをプロセッサ１０２に行わせることを有する。例えば、モデルの畳み込み層におけるニューロンの出力値は、組み合わせて採用されたとき、画像（例えば入力画像の畳み込み）を効果的に表すので、補助データが画像を含む場合に、これは適切である。この手法により、例えば、畳み込み層が関心位置、又は、補助データにおける関心位置に位置する特徴に対応した画像を生成する（例えば、関心位置、又は、補助データにおける関心位置に位置する特徴を強調表示する、又は表立たせる）かどうかを判定するために、ヒートマップが畳み込み層のうちの１つの出力と比較され得る。
【００６２】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサ１０２に行わせることは、補助データをモデルの１つ又は複数の高密度層の出力と比較することをプロセッサ１０２に行わせることを有する。ニューラルネットワークのモデルの高密度層におけるニューロンは、概して、値として表された補助データと、より簡単に比較され得る数値を生成する。
【００６３】
しかし、補助データがモデルの層の出力と直接比較されないものであることが理解される。例えば、いくつかの実施形態において、層の出力と補助データとの一方又は両方が、比較を行うことに適した形態に変換される。
【００６４】
例えば、補助データがヒートマップなどの画像を含む場合といった、補助データが（例えば、デジタル値とは反対に）連続値を含む実施形態では、補助損失関数は、平均二乗誤差損失関数を含む。しかし、これは一例にすぎず、当業者は、連続値の補助データとともに使用することに適した他の種類の損失関数に精通している。例えば、補助データが画像を含む実施形態では、命令セットは、プロセッサ１０２により実行されると、補助データ画像が確率分布を形成するように（例えば、画像が積分して単一になるように）、補助データ画像を正規化することをプロセッサ１０２に行わせる。この場合、補助損失関数は、（カテゴリカル）交差エントロピー損失関数、又は、カルバック・ライブラ発散損失関数を含む。
【００６５】
少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数を最小化することにより、モデルの特定の層が、データを分類するときに、データにおける関心位置（例えば、注釈を決定するときにユーザーが考慮した位置）を「表立たせる」、又は、より強調するように訓練され得る。
【００６６】
概して、機械学習モデルが生成（例えば初期化）されるとき、モデルにおける重みが、任意値に設定される。実際には、これは、注釈を作るときにモデルがデータの各部分を最初に均一に処置することを意味する。本明細書における実施形態では、補助データがモデルの１つ又は複数の隠れ層と比較される。モデルの各層の出力は、概して、モデルが注釈を生成するために使用するデータの特徴又は部分に対応する。したがって、１つ又は複数のこのような層の出力をデータにおける関心位置を含む補助データと比較することにより、モデルが分類を作るときにデータの最も関連する部分又は特徴を考慮しているかどうかが判定され得る。したがって、補助損失関数を最小化することにより、特定の層が、補助データにおける少なくとも１つの関心位置を出力するように訓練され得、それにより、データの最も重要な特徴に最大の重みを与えるようにモデルを訓練する。この手法により、重みが、注釈を作るときにデータの特定のエリアを他に比べてより強調するように、（例えばモデルが生成されたときに設定された任意値の重みから）モデルを迅速に調整するために更新される。これは、モデルにより生成された注釈（例えばモデルの出力）をユーザーにより決定された注釈と比較する主損失関数を単に最小化することによる場合より急速に集束に向けてモデルの重みを動かす。さらに、補助データはユーザーが注釈を決定するときにユーザーを観察することにより取得され得るので、補助データは、ユーザーの側におけるさらなる労力を一切伴わずに取得され得る。したがって、これは、結果として得られる訓練されたモデルの注釈の品質を維持しながら、ユーザーにとっての時間及び労力を削減する（ユーザー／注釈者が非常に熟練したものである場合、コスト削減を結果的にもたらす可能性がある）。
【００６７】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサ１０２に行わせることは、関心位置ではないデータにおける位置に比べて、データにおける少なくとも１つの関心位置により高い有意性を与えるために、モデルの重みを更新することをプロセッサ１０２に行わせることを有する。この手法により、モデルはユーザーがデータに対する注釈を決定するときにユーザーが考慮した関心位置と同じ、データにおける位置により高い有意性を与える。
【００６８】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサ１０２に行わせることは、より短い期間にわたってユーザーにより考慮された関心位置に比べて、より長い期間にわたってユーザーにより考慮された関心位置により高い有意性を与えるために、モデルの重みを更新することをプロセッサ１０２に行わせることを有する。この手法により、モデルは、データに対する注釈を決定するときにユーザーが観察に最も長い期間を費やしたデータにおける位置に（これらは、最も関連した、際立った、又は捉えにくいデータの部分であるので）、より高い有意性を与える。
【００６９】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサ１０２に行わせることは、データに対する注釈を決定するときにユーザーにより初期時間間隔中に考慮されたデータにおける関心位置に、より高い有意性を与えるために、モデルの重みを更新することをプロセッサ１０２に行わせることを有する。例えば、ユーザーがデータに対する注釈を決定することに費やした時間間隔のうちの最初に、又は前半中に、又は最初の１／４（又は、任意の他の割合）の期間にユーザーが考慮した（例えば、観察した、見た、ジェスチャーをした対象の、又は、発話した対象の）データにおける関心位置（例えばデータの部分）に、より高い有意性が与えられる。ユーザーが最初に考慮したこのような特徴は、決定をするときに最大の最も重要な特徴を含む。
【００７０】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサ１０２に行わせることは、ユーザーがデータに対する注釈を決定するときにユーザーにより最終時間間隔中に考慮したデータにおける関心位置（例えばデータの部分）に、より高い有意性を与えるために、モデルの重みを更新することをプロセッサ１０２に行わせることを有する。例えば、ユーザーがデータに対する注釈を決定することに費やした時間間隔のうちの最後に、又は後半に、又は最後の１／４（又は任意の他の割合）の期間にユーザーが考慮した（例えば観察した、見た、ジェスチャーをした対象の、又は、発話した対象の）データの部分に、より高い有意性が与えられる。最後にユーザーが考慮したこのような特徴は、最終的に注釈に最大の影響を与える、ユーザーが最初に気付かなかった、最も捉えにくい、又は際立った特徴を含む。
【００７１】
いくつかの実施形態において、補助損失関数を最小化することをプロセッサ１０２に行わせることは、ユーザーがデータに対する注釈を決定するときに複数回考慮したデータにおける関心位置（例えばデータの部分）に、より高い有意性を与えるために、モデルの重みを更新することをプロセッサ１０２に行わせることを有する。例えば、ユーザーが何度も戻って来たデータの部分は、分類をするために最も有意な、又は重要な特徴を含み、又は、ユーザーが何度も戻って来たデータの部分は分類に重要である異常を示すので、モデルは、ユーザーが何度も戻って来たデータの部分に、より高い有意性を与える。
【００７２】
異なる組合せも可能であり、例えば、初期時間間隔、最終時間間隔において考慮されたデータにおける関心位置、及び／又は、ユーザーがデータに対する注釈を決定するときに複数回考慮した関心位置のうちの任意の個々のもの、又は、これらのうちのものの任意の組合せ又は順列に、より高い有意性が与えられることが理解される。
【００７３】
上述のように、主損失関数及び補助損失関数は異なる目的を果たし、したがって、訓練の段階及び／又は訓練の目標に応じて、異なる時点における損失関数の一方又は他方を最小化することに焦点を当てることが有益である。いくつかの実施形態において、モデルを訓練することをプロセッサ１０２に行わせることは、補助損失関数と主損失関数とを並列に最小化することをプロセッサ１０２に行わせることを有する（例えば、主損失関数と補助損失関数との両方が訓練データがモデルにより処理されるごとに更新される）。この手法により、モデルの隠れ層は、出力層と同時に訓練される。いくつかの実施形態において、モデルを訓練することをプロセッサ１０２に行わせることは、主損失関数を最小化する前に補助損失関数を最小化することをプロセッサ１０２に行わせることを有する。例えば、正しい注釈を生成するように、より上の層及び／又は出力層を訓練する前に、データにおける関心位置に焦点を当てるように隠れ層を訓練することが演算的により効率的である。いくつかの実施形態において、モデルを訓練することをプロセッサ１０２に行わせることは、所定の閾値内に補助損失関数を最小化することであって、最小化した後でモデルが主損失関数を使用してさらに訓練される、最小化することをプロセッサ１０２に行わせることを有する。この手法により、モデルのより低い層が、補助データを使用して部分的に訓練され、モデルが解決しようとする特定の問題に対して改良される。様々な組合せの訓練計画も可能であり、例えば、訓練は、第１に、閾値内に補助損失関数を最小化することと、第２に、補助損失関数と主損失関数とを並列に最小化することであって、主損失関数だけを最小化する期間が後に続く、最小化することとを有することが理解される。様々な段階が、反復され、又は、任意の順序で組み合わされることも明らかである。例えば、主損失関数だけを最小化する期間の後に、プロセッサ１０２は、例えば、新しい訓練データが獲得された場合、補助損失関数を最小化するようにされる。
【００７４】
いくつかの実施形態において、命令セットは、プロセッサ１０２により実行されると、組み合わされた損失関数を計算することであって、組み合わされた損失関数が、主損失関数と補助損失関数との重み付けされた組合せを含む、計算することと、主損失関数を最小化することと補助損失関数を最小化することとの間の訓練の強調度を変えるために、組み合わされた損失関数の重み付けされた組合せに関連した１つ又は複数の重みを調節することとをプロセッサ１０２にさらに行わせる。例えば、組み合わされた損失関数は、主損失関数と補助損失関数との重み付けされた線形結合を含む。重み付けされた組合せに関連した重みは、訓練工程において主損失関数を最小化することの結果をより強調するために、例えば、主損失関数の重みに比べて補助損失関数の重みを減らすことにより、又はその逆により、訓練の強調度を変えるように調節される。いくつかの実施形態において、損失重みは、交差検証を使用して最適化され得、又は、予備的な知識情報に基づいて選択され得る。いくつかの実施形態において、重み付けされた線形結合の重みは、経時的に発展させられ、例えば、いくつかの実施形態において、重み付けされた組合せにおける補助損失関数に関連した重みは、経時的に（例えば、訓練の間に１から０まで）（例えば線形に）小さくされる。代替的に、又は追加的に、重み付けされた線形結合における主損失関数に関連した重みは、経時的に（例えば、訓練の間に０から１まで）（例えば線形に）大きくされる。この手法により、訓練の強調度は、補助損失関数を最小化することから主損失関数を最小化することまで経時的に動的に変えられる。いくつかの実施形態において、組み合わされた損失関数は、バックプロパゲーションタイプの学習アルゴリズムに使用される。
【００７５】
図５は、一実施形態によるシステム１００により実施され得る例示的な工程を示す。この実施形態において、モデルは、医療画像におけるステント検出とステント位置特定との連携したタスクのためのものである。ステント検出は、例えば、「ステントが存在する」又は「ステントが存在しない」という出力としての注釈を伴って、ステントが画像に存在するか否かを判定することを有する。ステント位置特定は、医療画像におけるステントの位置を特定することを有し、例えば、ステントを囲むバウンディングボックスの中心のｘ，ｙ座標、及び、ステントの高さ及び幅といった、注釈を出力することを有する。本明細書における教示は、物体検出に、及び／又は、より広くは物体位置特定モデルに、より幅広く適用可能であることが理解される。
【００７６】
したがって、この実施形態において、訓練データは、ステントを備える医療画像を含む。医療画像は、ユーザーにより注釈付けされる。ユーザーは２つの注釈を提供し、第１の注釈は、ステントが画像にｉ）存在するかそれともｉｉ）存在しないかを説明し、第２の注釈は、ステントを囲むバウンディングボックスの中心、及び、バウンディングボックスの高さ及び幅を示す、ｘ，ｙ座標の形態による（ステントが画像に存在する場合の）ステントの位置を説明する。訓練データは、データに対する適切な注釈を決定するときにユーザーが考慮した（例えば見た）各医療画像における少なくとも１つの関心位置を示す視線データを含む補助データをさらに備える。視線データ及び医療画像を含む訓練データがシステム１００に関連してここまでに説明されており、その中の詳細事項が本例において同じく適用されることが理解される。
【００７７】
この実施形態において、モデルは、畳み込み層５０２及び高密度層５０４を備えるニューラルネットワークのモデルを含む。システム、例えばシステム１００は、少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数５０６、及び、ユーザーにより決定されたデータに対するそれらのそれぞれの注釈をモデルにより生成された注釈と比較する、検出問題に対するもの５０８及び位置特定問題に対するもの５１０である第１の、及び第２の主損失関数５０８、５１０を最小化することにより訓練データを使用してモデルを訓練する。
【００７８】
図５ａは、（四角いボックスにより表された）モデルの異なる部分間の相互作用、及び、訓練工程中における異なる入力データ及び出力データを示す。画像５１２が入力されて、モデルの畳み込み層５０２及び高密度層５０４により処理され、ステントが存在するかどうかの標示５１４、及び、（存在する場合の）ステントの位置の標示５１６を含む出力を生成する。モデルは、モデルの各層からの出力（ラベル付けされた補助出力５１８）をさらに生成する。
【００７９】
ユーザーにより生成された注釈は、次に、モデルに供給される。上述のように、この実施形態において、注釈は、ステントが画像５２０に存在するかどうかの標示、及び、バウンディングボックス５２２の位置を含む。ユーザーが注釈を決定するときに見た１つ又は複数の関心位置の形態をとる補助データ５２４（例えば視線データ）も、モデルに供給される。
【００８０】
次に、モデルは、注視データ５２４における少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数５０６を最小化することにより訓練される。補助データが画像（例えばヒートマップ）の形態であるか、それとも（例えばグラフィカルな又はベクトル型の）何らかの他の形態であるかに応じて、補助データは、それぞれ１つ又は複数の畳み込み層５０２又は高密度層５０４の出力と比較される。
【００８１】
訓練することは、モデルにより生成されたステントが存在するかどうかの注釈５１４を、ユーザーにより決定されたステントの存在の注釈５２０と比較する第１の主損失関数５１０を最小化することをさらに有する。この場合、第１の主損失関数５１０は、交差エントロピー損失関数又は分類問題に適した任意の他の損失関数を含む。
【００８２】
訓練することは、モデルにより生成された画像におけるステントの位置の注釈５１６を、ユーザーにより決定された位置の注釈５２２と比較する第２の主損失関数を最小化することをさらに有する。この場合、第２の主損失関数５１０は、最小二乗誤差損失関数又は回帰問題に適した任意の他の損失関数を含む。
【００８３】
主損失関数及び補助損失関数を使用してモデルを訓練することが、システム１００に関連してここまでに詳細に説明されており、その中の詳細事項が図５ａにおける実施形態に同じく適用されることが理解される。
【００８４】
図５ｂは、（例えば実行時に）最終的な訓練されたモデルを通るデータフローを示す。訓練されるとき、モデルはモデルの畳み込み層５０２及び／又は高密度層５０４により処理された画像を取り込んで、ステント検出及び位置特定（例えばバウンディングボックス）出力を生成する。補助データが訓練されたモデルへの入力として必要というわけではなく、図５ａに示されるように訓練工程において使用されるのみであることに留意されなければならない。この手法により、モデルは、効果的に、及び効率的に訓練される。
【００８５】
図６は、一実施形態によるニューラルネットワークのモデルを訓練するためのコンピュータ実施方法６００を示す。示される方法６００は、概して、システム１００のプロセッサ１０２により、又は、システム１００のプロセッサ１０２の制御下において実施され得る。本方法は、いくつかの実施形態により部分的に、又は完全に自動化される。
【００８６】
本方法は、（ブロック６０２において）訓練データを獲得することであって、訓練データが、データ、ユーザーにより決定されたデータに対する注釈、及び補助データを含み、補助データが、データに対する注釈を決定するときにユーザーにより考慮される、データにおける少なくとも１つの関心位置を記述する、獲得することと、（ブロック６０４において）訓練データを使用してモデルを訓練することとを有する。モデルを訓練することが、少なくとも１つの関心位置をモデルの１つ又は複数の層の出力と比較する補助損失関数を最小化することと、ユーザーにより決定されたデータに対する注釈をモデルにより生成された注釈と比較する主損失関数を最小化することとを有する。
【００８７】
この手法により、訓練データを獲得すること、及び、訓練データを使用してモデルを訓練することは、システム１００に関連してここまでに詳細に説明されており、その中の詳細事項は、方法６００のブロック６０２及び６０４にそれぞれ同じく適用されることが理解される。
【００８８】
この手法により、システム１００に関連してここまでに説明されているように、ユーザーがデータに対する注釈を決定するときにユーザーから取得された補助データ（例えば、視線データ、ジェスチャーデータ、及び発話）は、モデルの訓練工程を改善するために使用され得る。補助データは、人間の注釈者の側におけるさらなる労力を一切伴わずにフリーで取得され得るので、訓練工程はまた、ユーザーにとってより効率的でもあり、より費用効果が高くなる。
【００８９】
コンピュータ可読媒体を備えるコンピュータプログラム製品がさらに提供され、コンピュータ可読媒体が、コンピュータ可読媒体内において具現化されたコンピュータ可読コードを含み、コンピュータ可読コードが、適切なコンピュータ又はプロセッサによる実行時に、コンピュータ又はプロセッサが本明細書において説明されている１つ又は複数の方法を実施するようにされるように構成される。したがって、本開示が実施形態の実施をもたらすように適応された、特に媒体上の、又は媒体内のコンピュータプログラムといったコンピュータプログラムにも適用されることが理解される。本プログラムは、例えば部分的にコンパイルされた形態のソースコード、オブジェクトコード、コード中間ソース、及びオブジェクトコードの形態であり、又は、本明細書において説明されている実施形態による方法の実施態様における使用に適した任意の他の形態である。
【００９０】
このようなプログラムには多くの異なるアーキテクチャ設計があることがさらに理解される。例えば、方法又はシステムの機能を実施するプログラムコードは、１つ又は複数のサブルーチンに再分割される。これらのサブルーチン間で機能を分散する多くの異なる手法が当業者に明らかとなる。サブルーチンが１つの実行可能ファイルに一緒に記憶されて内蔵プログラムを形成する。このような実行可能ファイルは、例えば、プロセッサ命令及び／又はインタープリター命令（例えばＪａｖａインタープリター命令）といったコンピュータ実行可能命令を含む。代替的に、サブルーチンのうちの１つ又は複数又はすべてが、少なくとも１つの外部ライブラリファイルに記憶され、及び、静的に、又は動的に、例えば実行時にメインプログラムにリンクされる。メインプログラムは、サブルーチンのうちの少なくとも１つに対する少なくとも１つのコールを含む。サブルーチンは、互いに対するファンクションコールをさらに含む。
【００９１】
コンピュータプログラム製品に関する一実施形態は、本明細書に記載されている方法のうちの少なくとも１つの各処理ステージに対応したコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに再分割され、及び／又は静的に、又は動的にリンクされた１つ又は複数のファイルに記憶される。コンピュータプログラム製品に関する別の実施形態は、本明細書に記載されるシステム及び／又は製品のうちの少なくとも１つの各手段に対応したコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに再分割され、及び／又は静的に、又は動的にリンクされた１つ又は複数のファイルに記憶される。
【００９２】
コンピュータプログラムの媒体は、プログラムを記録することが可能な任意の実体又はデバイスである。例えば、媒体として、例えばＣＤ  ＲＯＭ又は半導体ＲＯＭといったＲＯＭなどのデータ記憶装置、又は、例えばハードディスクといった磁気記憶媒体が挙げられる。さらに、媒体は、電気又は光学ケーブルを介して、又は、無線又は他の手段により搬送される電気又は光信号などの伝送可能媒体である。プログラムがこのような信号において具現化される場合、媒体は、このようなケーブル、又は、他のデバイス又は手段により構成される。代替的に、媒体は、プログラムが中に組み込まれた集積回路であり、集積回路は、関連する方法を実施するように適応され、又は関連する方法の実施に使用される。
【００９３】
開示される実施形態の変形例は、図面、本開示、及び添付の特許請求の範囲の考察により当業者により理解及び実施され得る。特許請求の範囲において、「備える（含む、有する、もつ）」という用語は、他の要素もステップも排除せず、単数形は複数を排除しない。１つのプロセッサ又は他のユニットが、特許請求の範囲に記載されているいくつかの項目の機能を実現する。単に特定の手段が相互に異なる従属請求項に記載されているということが、利点を得るためにこれらの手段の組合せが使用不可能なことを示すわけではない。コンピュータプログラムは、他のハードウェアと一体的に、又は他のハードウェアの一部として供給される光記憶媒体又はソリッドステート媒体などの適切な媒体に記憶され／適切な媒体にのせて配布されるが、例えばインターネット又は他の有線又は無線電気通信システムを介して他の形態で配布される可能性もある。特許請求の範囲における参照符号は、いずれも特許請求の範囲を限定するように解釈されてはならない。
【図１】
2021503662.tif 000003
【図２】
2021503662.tif 000004
【図３】
2021503662.tif 000005
【図４】
2021503662.tif 000006
【図５ａ】
2021503662.tif 000007
【図５ｂ】
2021503662.tif 000008
【図６】
2021503662.tif 000009
【国際調査報告】
2021503662.tif 000010
2021503662.tif 000011