(57)【要約】【課題】ターゲットドメインのタスクの精度を向上する。【解決手段】訓練装置は、第１ドメインに属する第１データとは異なる第２ドメインに属する第２データ、及び、前記第２データに基づいて得られた前記第１ドメインに属する疑似第１データと、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータ、を入力として、当該第２データに対応する前記第２ドメインにおけるアノテーションを出力する第３モデルを訓練する、第３訓練部を備える。【選択図】図１
2020198041.tif 000002
【特許請求の範囲】
【請求項１】
第１ドメインに属する第１データとは異なる第２ドメインに属する第２データ、
及び、
前記第２データに基づいて得られた前記第１ドメインに属する疑似第１データと、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータ、
を入力として、当該第２データに対応する前記第２ドメインにおけるアノテーションを出力する第３モデルを訓練する、第３訓練部、
を備える訓練装置。
【請求項２】
前記第１データを入力すると、前記第１ドメインにおけるアノテーションを出力する、第１モデルを訓練する、第１訓練部、
をさらに備え、
前記第１モデルを用いて、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータを取得する、請求項１に記載の訓練装置。
【請求項３】
前記第１訓練部は、前記第１データ及び前記第１データのアノテーションに基づいて訓練する、請求項２に記載の訓練装置。
【請求項４】
前記第２データを入力として前記疑似第１データを出力する、第２モデルを訓練する、第２訓練部、
をさらに備え、
前記第２モデルを用いて、前記第２データに基づいた前記疑似第１データを取得する、請求項１から請求項３のいずれかに記載の訓練装置。
【請求項５】
前記第２訓練部は、前記第１データ及び前記第２データに基づいて訓練する、請求項４に記載の訓練装置。
【請求項６】
前記第２訓練部は、さらに、前記第１データを入力すると、前記第１ドメインにおけるアノテーションを出力する第１モデルに基づいて前記第２モデルを訓練する、請求項５に記載の訓練装置。
【請求項７】
前記第３訓練部は、前記疑似第１データを前記第１モデルに入力して出力された前記アノテーション、前記第２データ及び前記第２データのアノテーションに基づいて訓練する、請求項２又は、請求項６に記載の訓練装置。
【請求項８】
前記第３モデルは、入力層において、前記疑似第１データを前記第１モデルに入力して出力された前記アノテーション、前記第２データが入力される、請求項７に記載の訓練装置。
【請求項９】
前記第３モデルは、入力層において、前記第２データが入力され、中間層において、前記疑似第１データを前記第１モデルに入力して出力された前記アノテーションが入力される、請求項７に記載の訓練装置。
【請求項１０】
前記第１データと前記第２データは、同じ種類のセンサにより取得された画像である、請求項１から請求項９のいずれかに記載の訓練装置。
【請求項１１】
前記第１データと前記第２データは、異なる種類のセンサにより取得された画像である、請求項１から請求項９のいずれかに記載の訓練装置。
【請求項１２】
異なるドメインに属するデータを処理する複数の前記第１モデル、及び、同じドメインに属するデータに対して異なるアノテーションを出力する複数の前記第１モデル、のうち、少なくとも２つの前記第１モデルを有する、請求項２又は請求項６に記載の訓練装置。
【請求項１３】
訓練されるそれぞれのモデルの少なくとも２つは、１のニューラルネットワークにより構成される、
請求項２から請求項１２のいずれかに記載の訓練装置。
【請求項１４】
第３訓練部が、
第１ドメインに属する第１データとは異なる第２ドメインに属する第２データ、
及び、
前記第２データに基づいて得られた前記第１ドメインに属する疑似第１データと、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータ、
を入力として、当該第２データに対応する前記第２ドメインにおけるアノテーションを出力する第３モデルを訓練するステップ、
を有する訓練方法。
【請求項１５】
第１訓練部が、前記第１データを入力すると、前記第１ドメインにおけるアノテーションを出力する、第１モデルを訓練するステップ、
をさらに備え、
前記第１モデルを用いて、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータを取得する、請求項１４に記載の訓練方法。
【請求項１６】
第２訓練部が、前記第２データを入力として前記疑似第１データを出力する、第２モデルを訓練するステップ、
をさらに備え、
前記第２モデルを用いて、前記第２データに基づいた前記疑似第１データを取得する、請求項１４又は請求項１５に記載の訓練方法。
【請求項１７】
コンピュータを、
第１ドメインに属する第１データとは異なる第２ドメインに属する第２データ、
及び、
前記第２データに基づいて得られた前記第１ドメインに属する疑似第１データと、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータ、
を入力として、当該第２データに対応する前記第２ドメインにおけるアノテーションを出力する第３モデルを訓練する、第３訓練手段、
として機能させるプログラム。
【請求項１８】
前記第１データを入力すると、前記第１ドメインにおけるアノテーションを出力する、第１モデルを訓練する、第１訓練手段、
をさらに備え、
前記第１モデルを用いて、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータを取得する、請求項１７に記載のプログラム。
【請求項１９】
前記第２データを入力として前記疑似第１データを出力する、第２モデルを訓練する、第２訓練手段、
をさらに備え、
前記第２モデルを用いて、前記第２データに基づいた前記疑似第１データを取得する、請求項１７又は請求項１８に記載のプログラム。
【請求項２０】
第１ドメインに属する第１データとは異なる第２ドメインに属する第２データ、
及び、
前記第２データに基づいて得られた前記第１ドメインに属する疑似第１データと、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータ、
を入力として、当該第２データに対応する前記第２ドメインにおけるアノテーションを出力する、第３推定部、
を備える推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、訓練装置、訓練方法、推定装置及びプログラムに関する。
【背景技術】
【０００２】
機械学習の手法において、少量のアノテーションが付与されたデータセットを用いつつ高精度な予測モデルを構築する転移学習と呼ばれる手法がある。転移学習、特にドメイン適応は、あるドメインで学習させたモデルを別のドメインに適応させる手法であり、学習済みモデルを訓練した元のドメイン（ソースドメイン）を転移先のドメイン（ターゲットドメイン）に、従来よりも少ないデータで適応させるものである。例えば、観測データが異なるドメイン、教師ラベルが異なるドメイン等に、訓練済みのモデルを適応させる手法である。
【０００３】
このような転移学習により、あるデータセットで訓練したモデルに、異なるデータセットを適応させることが可能となった。しかしながら、データセットを他のドメインの学習済みモデルに適応させるにとどまっており、ターゲットドメインに対するモデルの精度向上には貢献させづらいという問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２０３２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ターゲットドメインのタスクの精度を向上させる訓練装置等を提供する。
【課題を解決するための手段】
【０００６】
一実施形態によれば、訓練装置は、第１ドメインに属する第１データとは異なる第２ドメインに属する第２データ、及び、前記第２データに基づいて得られた前記第１ドメインに属する疑似第１データと、前記疑似第１データに付与された前記第１ドメインにおけるアノテーションデータ、を入力として、当該第２データに対応する前記第２ドメインにおけるアノテーションを出力する第３モデルを訓練する、第３訓練部を備える。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る訓練装置の機能を示すブロック図。
【図２】一実施形態に係る第１モデルの入出力を示す図。
【図３】一実施形態に係る第２モデルの入出力を示す図。
【図４】一実施形態に係る第３モデルの入出力を示す図。
【図５】一実施形態に係る推定装置の機能を示すブロック図。
【図６】一実施形態に係る訓練のプロセスを示すフローチャート。
【図７】一実施形態に係る推定のプロセスを示すフローチャート。
【図８】一実施形態に係るハードウェア実装例を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。
【０００９】
（第１実施形態）
図１は、本実施形態に係る訓練装置の機能を示すブロック図である。本実施形態の訓練装置１は、入力部１０と、記憶部１１と、第１訓練部１２と、第２訓練部１３と、第３訓練部１４と、出力部１５と、を備える。この訓練装置１は、アノテーションが付与されたソースドメイン（第１ドメイン）に属するデータ（第１データ）と、第１データとはドメインが異なるターゲットドメイン（第２ドメイン）に属するデータ（第２データ）と、に基づいた訓練を実行することにより、第２データを入力するとアノテーションを出力する学習済みモデルを生成する。
【００１０】
入力部１０は、第１データ及び第２データを含む訓練データ等の入力を受け付ける。入力部１０が受け付けたデータは、記憶部１１に格納してもよいし、各訓練部に出力されてもよい。
【００１１】
記憶部１１は、処理に必要となる訓練データ等のデータを記憶する。上述したように、例えば、入力部１０が受け付けたデータを記憶してもよい。さらに、訓練装置１がソフトウェアの処理がハードウェアを用いて具体的に実行される場合には、実行に必要なプログラム、バイナリデータ等を記憶してもよい。この場合、記憶部１１に記憶されている実行ファイル等をプロセサが読み出すことにより処理を実行してもよい。
【００１２】
第１訓練部１２は、第１データと、そのアノテーションとに基づいて、第１データを入力すると、アノテーションを出力する第１モデルを訓練（以下、生成ともいう）する。第１モデルは、例えば、分類器、識別器等に備えられるモデルであってもよい。なお、第１モデルは、他の訓練装置により生成されたものを用いてもよい。この場合、訓練装置１は、第１訓練部１２を備えていなくともよく、あらかじめ訓練されている第１モデルを形成するために必要なパラメータを、入力部１０を介して入力され、又は、記憶部１１にあらかじめ記憶していてもよい。
【００１３】
第２訓練部１３は、第１データと、第２データと、第１モデルとに基づいて、第２データを入力すると、疑似的な第１データ（以下、疑似第１データとする）を生成する第２モデルを訓練（生成）する。本明細書において、疑似第１データとは、第１ドメイン若しくは第１ドメインに近いドメインに属するデータ、又は、第１ドメインに属するとみなすことができるデータのことをいう。より具体的には、疑似第１データは、第２データが第２モデルにより変換されたデータ、又は第２データに基づき生成されたデータであり、第１モデルに入力すると正解に近いアノテーションが取得できるデータである。第２モデルは、例えば、データ生成器、データ変換器に備えられるモデルであってもよい。
【００１４】
第３訓練部１４は、疑似第１データを第１モデルに入力して取得できるアノテーションと、第２データと、第２データのアノテーションとに基づいて、疑似第１データと、第２データとを入力すると、第２データに対応する第２ドメインにおけるアノテーションを出力する第３モデルを訓練（生成）する。第３モデルも、第１モデルと同様に、例えば、分類器、識別器等に備えられるモデルであってもよい。
【００１５】
第１モデル、第２モデル及び第３モデルの少なくとも１つを構成するパラメータ等は、記憶部１１に記憶されていてもよい。この場合、第１訓練部１２、第２訓練部１３及び第３訓練部の少なくとも１つは、記憶部１１に記憶されているパラメータ等に基づいてモデルを形成し、形成されたモデルを訓練により更新してもよい。
【００１６】
出力部１５は、生成された各モデルのパラメータ等を外部へとインタフェースを介して出力する。また、訓練中のパラメータを、ユーザインタフェースを介してユーザへと出力してもよい。なお、本実施形態において、出力するとは、記憶部１１に記憶する概念を含む。記憶部１１にパラメータ等を出力する場合には、出力部１５から外部への出力は、必須ではない。
【００１７】
図２は、上記の３つのモデルのうち、第１モデルの入出力の一例を示す図である。実線は訓練フェーズにおけるデータの遷移、破線は推定フェーズにおけるデータの遷移を示す。
【００１８】
学習フェーズにおいて、第１訓練部１２は、第１ドメインのデータが格納されている第１データ格納部３０から、第１データと当該第１データと紐付けられたアノテーションとを備える、データセット（第１データセット）を取得する。取得したデータセットに基づいて、第１データが入力されると当該第１データに対応したアノテーションが出力される第１モデル１００を訓練する。
【００１９】
第１モデル１００は、例えば、CNN（Convolutional Neural Network）、MLP（Multilayer Perceptron）、その他のニューラルネットワークモデルに基づいたモデルである。また、第１モデル１００は、例えば、最終層においてsoftmax関数等を用いる分類器として形成される。ハイパーパラメータ、活性化関数等のネットワークを形成するパラメータは、適切にモデルが生成できるものであれば、任意のものを用いることができる。
【００２０】
第１訓練部１２は、この第１モデル１００について機械学習手法を用いて訓練する。訓練の方法は、第１モデル１００が、例えば分類器として動作するように、適切に最適化される訓練手法であれば特に限定はされない。ミニバッチ処理、逆伝播手法等についても適切に最適化されるものであればどのようなものを用いてもよい。第１訓練部１２は、第１データ及び教師ラベルとして用いられる当該第１データに紐付けられたアノテーションに基づいて、第１モデル１００を訓練する。
【００２１】
第１データ格納部３０は、第１データを格納する。第１データは訓練用に用いられる場合、各第１データに対応するアノテーションが付与される。通常これらのデータが第１データと第１データに対応するアノテーションとして紐付けられた第１データセットとして、第１データ格納部３０に格納される。この第１データ格納部３０は、訓練装置１の内部又は外部において備えられる。例えば、第１データ格納部３０は、記憶部１１内に備えられていてもよい。別の例として、第１データ格納部３０は、訓練装置１の外部に備えられ、ネットワークを介して接続されてもよい。この場合、訓練装置１は、入力部１０を介して第１データ格納部３０に格納されているデータを取得し、第１訓練部１２へと送信する。また、外部に第１データ格納部３０が備えられる場合、入力部１０を介して第１データ等を取得した訓練装置１は、記憶部１１に一時的に第１データ等を記憶してもよい。後述する第２データ格納部３１についても同様に、訓練装置１の内外のいずれかに備えられ、上記のようにデータを送受信してもよい。
【００２２】
なお、上述したように、第１モデル１００があらかじめ外部で訓練されている場合には、第１訓練部１１は必須の構成ではない。この場合、あらかじめ訓練されたモデルに関するパラメータ等を記憶部１１に記憶させておいてもよい。そして、後述する第３モデルの訓練時において、必要なタイミングで第１モデル１００を形成してもよい。
【００２３】
推定フェーズにおいて、第１訓練部１２により訓練された訓練済みの第１モデル１００は、破線で示すように、第１データＤ１００が入力されると、当該第１データに対応するアノテーションＤ１０２を出力する。
【００２４】
図３は、第２モデルの入出力の一例を示す図である。実線は訓練フェーズにおけるデータの遷移、破線は推定フェーズにおけるデータの遷移を示す。
【００２５】
訓練フェーズにおいて、第２訓練部１３は、例えば、第１データ格納部３０から第１データを、第２ドメインのデータセット（第２データセット）が格納された第２データ格納部３１から第２データを、それぞれ取得する。そして、当該第１データ及び第２データに基づいて、第２データが入力されると、当該第２データを疑似第１データに変換したデータを出力する第２モデル２００を訓練する。
【００２６】
第２モデル２００は、例えば、データ生成モデルであり、第１モデル１００と同様にCNN、MLP等の各種モデルにより形成される。第２訓練部１３は、例えば、GAN（敵対的生成ネットワーク：Generative Adversarial Network）の手法を用いて第２モデル２００を訓練する。特に、CycleGANの手法を用いて、第２データから疑似第１データを生成するモデルを訓練してもよい。この他、生成モデルを訓練する手法であればどのようなものであってもよい。
【００２７】
CycleGANを用いる場合、例えば、第２データを入力すると当該第２データを第１データへと変換したデータを出力するモデル（第２モデル２００）と、第１データを入力すると当該第１データを第２データへと変換したデータを出力するモデルと、をジェネレータとして備える。そして、入力されたデータがそれぞれのドメインに属する正規のデータであるか、ジェネレータからの出力であるかを判別するモデルをディスクリミネータとして備える。第２訓練部１３は、これらのジェネレータ及びディスクリミネータの訓練を実行する。
【００２８】
推定フェーズにおいて、第２訓練部１３が訓練した第２モデル２００は、破線で示すように、第２データＤ２００が入力されると、当該第２データに対応する第１ドメインに属するデータ（疑似第１データ）Ｄ２０２を出力する。
【００２９】
なお、第２訓練部１３は、図３において点線で示すように、第１モデル１００を訓練の補助として用いてもよい。この場合、例えば、第２モデル２００が変換（出力）した疑似第１データを第１モデル１００に入力することにより、疑似第１データに対応するアノテーションを取得する。取得したアノテーションを確認することにより、第２データから疑似第１データへの変換の確からしさの指標を取得することが可能であり、この確からしさを第２モデル２００の訓練に用いることができる。
【００３０】
また、この第２データには、第２データの第２ドメインにおけるアノテーションが付与されていてもよい。この第２データの第２ドメインにおけるアノテーションは、以下に示す第３モデル３００の訓練に利用可能である。
【００３１】
図４は、第３モデルの入出力の一例を示す図である。実線は訓練フェーズにおけるデータの遷移、破線は推定フェーズにおけるデータの遷移を示す。
【００３２】
訓練フェーズにおいて、まず、第３訓練部１４が第３モデル３００を訓練するために必要なデータを準備する。第３訓練部１４は、訓練用データとして、第２データ、第２データの第２ドメインにおけるアノテーション、及び当該第２データに対応する疑似第１データの第１ドメインにおけるアノテーションを用いる。疑似第１データの第１ドメインにおけるアノテーションとは、対応する第２データに対して、疑似的に付与される第１ドメインにおけるアノテーションをいう。言い換えると、第３訓練部１４による第３モデル３００の訓練は、第２データと、当該第２データの第１ドメインおよび第２ドメインのそれぞれにおけるアノテーションを訓練用データとして行われる。アノテーション
【００３３】
このような当該第２データの第１ドメインにおけるアノテーションは、例えば、第２データを、第２モデル２００、第１モデル１００の順にモデルに入力することで、取得することができる。
【００３４】
具体的には、まず、当該第２データに対応する疑似第１データの第１ドメインにおけるアノテーションを得るため、疑似第１データの第１ドメインにおけるアノテーションを取得する。このため、例えば、まず第２データ格納部３１から第２データを取得し、第２データを第１データに変換可能な第２モデル２００に入力して疑似第１データを取得する。次に、取得した疑似第１データを、第１データに対応する第１ドメインにおけるアノテーションの付与が可能な第１モデル１００に入力し、疑似第１データの第１ドメインにおけるアノテーションを取得する。この処理により、当該第２データに対応する第１ドメインにおける疑似的なアノテーションを取得することができる。また、第２データ格納部３１から、当該第２データに対応する第２ドメインにおけるアノテーションを取得する。
【００３５】
第３訓練部１４は、これらの第２データ、対応する第２ドメインにおけるアノテーション及び対応する疑似第１データの第１ドメインにおけるアノテーションを用いて、第３モデル３００を訓練する。
【００３６】
第３モデル３００は、例えば、第１モデルと同様に、CNN、MLPその他のニューラルネットワークモデルに基づいたモデルである。また、第３モデル３００は、例えば、最終層においてsoftmax関数等を用いる分類器として形成される。ハイパーパラメータ、活性化関数等のネットワークを形成するパラメータは、適切にモデルが生成できるものであれば、任意のものを用いることができる。この第３モデル３００は、第２データ及び当該第２データに対応する第１ドメインにおけるアノテーションが入力されると、当該第２データの第２ドメインにおけるアノテーションを出力する。
【００３７】
第３モデル３００は、入力層において第２データ及び対応する第１ドメインにおけるアノテーションが入力されてもよいし、入力層において第２データ、中間層において対応する第１ドメインにおけるアノテーションが入力されてもよい。このように、ネットワークの形成、及び、モデルは、適切に入出力がされるものであればどのようなものであってもよい。
【００３８】
第３訓練部１４は、例えば、第３モデル３００に第２データ及び対応する第１ドメインにおけるアノテーションを入力し、その出力に対し、入力された第２データに対応する第２ドメインにおけるアノテーションを教師データとして用いることにより、第３モデル３００を訓練する。
【００３９】
なお、第２データから疑似第１データのアノテーションを取得するまでの処理を第３訓練部１４が実行してもよい。例えば、この場合、第３訓練部１４は、第２データ格納部３１のデータを参照し、かつ、記憶部１１等から第１モデル１００、第２モデル２００のパラメータ等を取得する。第３訓練部１４は、取得したパラメータから各モデルを形成し、第２データ格納部３１に格納されているデータを形成されたモデルに入力することにより処理に必要となるデータを取得する。このように、第３訓練部１４が第１モデル１００、第２モデル２００を形成して処理を実行してもよい。また、あらかじめ再構成されている第１モデル１００及び第２モデル２００に対して第３訓練部１４が第２データを入力することにより必要なデータを取得してもよい。また、上述のように、第３訓練部１４の外部から必要なデータを取得し、第３訓練部１４は、第３モデル３００の訓練を実行することも可能である。このように、第３訓練部１４は、第３モデル３００の訓練が実行可能であれば、どのように訓練データを取得しても構わない。
【００４０】
本実施形態の訓練装置を用いて推定を行う場合には、第３訓練部１４が訓練した第３モデル３００は、図４中の破線で示すように、第２データＤ２００と、対応する第１ドメインにおけるアノテーションＤ２０４が入力されると、当該第２データに対応する第２ドメインにおけるアノテーションＤ３００を出力する。対応する第１ドメインにおけるアノテーションＤ２０４は、図示するように、当該第２データＤ２００を第２モデル２００に入力して取得された疑似第１データＤ２０２を、第１モデル１００に入力することにより取得される。
【００４１】
図５は、本実施形態に係る推定装置２の機能を示すブロック図である。推定装置２は、入力部２０と、記憶部２１と、第１推定部２２と、第２推定部２３と、第３推定部２４と、出力部２５と、を備える。
【００４２】
入力部２０は、アノテーションを推定したい第２データの入力を受け付ける。
【００４３】
記憶部２１は、推定装置２の処理に必要なデータ、及び、必要であれば制御に必要なデータ等を記憶する。また、入力部２０が受け付けたデータを一時的に記憶してもよい。さらに、推定装置２がソフトウェアの処理がハードウェアを用いて具体的に実行される場合には、実行に必要なプログラム、バイナリデータ等を記憶してもよい。この場合、記憶部２１に記憶されている実行ファイル等をプロセサが読み出すことにより処理を実行してもよい。また、各種モデルを形成するために必要なパラメータ等が記憶されていてもよい。
【００４４】
第１推定部２２は、例えば、第１モデルを備え、又は、必要なタイミングにおいて第１モデルを形成し、第１ドメインに属するデータ（疑似第１データを含む）が入力されると、当該データに対応するアノテーションを推定して出力する。
【００４５】
第２推定部２３は、例えば、第２モデルを備え、又は、必要なタイミングにおいて第２モデルを形成し、第２ドメインに属する第２データが入力されると、第１ドメインに属するとみなされる疑似第１データを推定（生成）して出力する。
【００４６】
第３推定部２４は、例えば、第３モデルを備え、又は、必要なタイミングにおいて第３モデルを形成し、第２データ及び当該第２データに対応する疑似第１データが入力されると、当該第２データの第２ドメインにおけるアノテーションを推定して出力する。
【００４７】
出力部２５は、推定されたアノテーションを外部へとインタフェースを介して出力する。また、アノテーションを、ユーザインタフェースを介してユーザへと出力してもよい。なお、本実施形態において、出力するとは、記憶部２１に記憶する概念を含む。記憶部２１にアノテーションを出力する場合には、出力部２５から外部への出力は、必須ではない。
【００４８】
この推定装置２は、訓練装置１と同じハードウェア内に備えられていてもよい。この場合、訓練装置１が推定装置２として機能することも可能であり、例えば、入力部１０と入力部２０、記憶部１１と記憶部２１、出力部１５と出力部２５は、それぞれが同じインタフェース又はデバイスであってもよい。また、この場合、訓練装置１における第３モデルの訓練において、第１モデル、第２モデルを利用するタイミングにおいて、第１推定部２２、第２推定部２３をそれぞれ既に訓練されたパラメータに基づいて機能させてもよい。
【００４９】
推定装置２における各推定部におけるデータの流れは、上述の図４に関する推定フェーズの処理の流れと同様である。
【００５０】
以上の処理の流れについてフローチャートを用いて簡単にまとめる。図６は、訓練装置１の処理の流れを示すフローチャートである。
【００５１】
まず、第１訓練部１２は、入力部１０からの入力又は記憶部１１に記憶されている第１ドメインに属する第１データとそのアノテーションとを用いて第１モデルを訓練する（Ｓ１００）。なお、上述したように、既に訓練装置１の外部又は内部にある訓練済みの第１モデルを用いることもできる。この場合、このＳ１００は、省略することが可能である。
【００５２】
次に、第２訓練部１３は、第２ドメインに属する第２データから、第１ドメインに属するデータを生成する第２モデルを訓練する（Ｓ１０２）。このＳ１０２は、Ｓ１００とは独立している場合には、順番を入れ替えてもよい。上記において説明したように、第２訓練部１３による訓練に第１モデルが必要となる場合には、通常、Ｓ１０２とＳ１００は入れ替えることはできない。
【００５３】
次に、第３訓練部１４における第３モデルの訓練を行う。第３モデルの訓練には、各種データが必要となるため、データを生成する。具体的には、まず、第２データをＳ１０２で訓練された第２モデルへと入力することにより、疑似第１データを生成する（Ｓ１０４）。続いて、この疑似第１データをＳ１００で訓練された第１モデルへと入力することにより、入力された第２データに対応する第１ドメインにおけるアノテーションを推定する（Ｓ１０６）。
【００５４】
次に、第３訓練部１４は、第２データ、当該第２データに対応する第２ドメインにおけるアノテーション、及び、Ｓ１０６で取得した対応する第１ドメインにおけるアノテーションを用いて、第３モデルを訓練する（Ｓ１０８）。
【００５５】
以上が、訓練のプロセスである。なお、特にわかりにくい箇所を除き、フローチャートにおいては、データの入出力は省略しているが、例えば、Ｓ１０２における第２データ等は、適宜入力部１０又は記憶部１１から取得している。また、各ステップにおいて訓練された各モデルのパラメータ等は、適切に外部又は記憶部１１へと出力される。これは、以下に説明する推定フェーズにおいても同様である。
【００５６】
次に、推定フェーズの処理の流れについて説明する。図７は、推定装置２の処理の一例を示すフローチャートである。
【００５７】
まず、入力された第２データから当該第２データに対応する疑似第１データを取得する（Ｓ２００）。具体的には、第２推定部２３は、第２データを訓練済みの第２モデルへと入力することにより、疑似第１データを取得する。
【００５８】
次に、Ｓ２００で取得した疑似第１データを第１推定部２２に備えられた訓練済みの第１モデルへと入力し、疑似第１データに対する、すなわち、対応する第２データに対する、第１ドメインにおけるアノテーションを推定する（Ｓ２０２）。
【００５９】
次に、第２データと当該第２データの第１ドメインにおけるアノテーションを第３推定部２４に備えられた第３モデルへと入力し、第２ドメインにおけるアノテーションを推定する（Ｓ２０４）。
【００６０】
このように、推定装置２全体としては、第２データを入力すると、第２ドメインにおける当該第２データのアノテーションを取得することが可能となる。
【００６１】
第３モデルは、単純に第２データと対応する第２ドメインにおけるアノテーションを用いて訓練を実行するよりも少ない数の第２ドメインにおけるデータセットを用いて、精度の高い推定をすることが可能となる。これは、第２ドメインのデータに対して、第２ドメインには無い、第１ドメインにおけるアノテーションを付与することにより、可能となる。
【００６２】
以上のように、本実施形態によれば、既に存在している第１モデル、又は、多くのデータが取得できている第１ドメインのデータに基づいて、第２ドメインのデータを転写学習することにより、第２ドメインにおけるアノテーション付与モデルを生成する。さらに、第１ドメインにおけるアノテーションを第２データに付与することにより、その精度を向上させることが可能となる。
【００６３】
（変形例１）
第１モデル、第２モデル及び第３モデルは、上述においては別のモデルにより生成されるものとしたがこれには限られない。例えば、ある１つのモデルが、これら３つのモデルのうち少なくとも２つのモデルの機能を備えていてもよい。この場合、対応する訓練部も同様に１の訓練部から構成されていてもよい。
【００６４】
（変形例２）
前述の実施形態において、例えば、第１データと第２データは、それぞれ同じ種類のセンサにより取得されたデータであってもよい。特に、第１データと第２データは、画像であってもよい。画像である場合、センサは、CT（Computed Tomography）、光CT、MRI（Magnetic Resonance Imaging）、X線、RGBカメラ、RGBDカメラ、赤外線カメラ等種々の技術を含むものであってもよい。この場合、第１ドメインにおけるアノテーションと第２ドメインにおけるアノテーションは、異なる目的又は異なる見地において各データに付与されたものであってもよい。
【００６５】
同じ種類のセンサで取得されたデータである場合、例えば、異なる目的により付与されたアノテーションを含むデータが属する各ドメイン間において、アノテーションの情報を変換することが可能となる。例えば、同じ種類のセンサであっても、データ取得におけるパラメータ等が異なる場合がある。また、より詳細なアノテーション付与が必要な場合、例えば医学的なアノテーション付与はコストが高くなる傾向にある。しかし、前述の実施形態によれば、同じ種類のセンサにおける異なるドメインにおけるアノテーションを適切に適応させることが可能となる。
【００６６】
より具体的な例としては、第１データ及び第２データは、それぞれMRIで取得した脳の断面画像であってもよい。例えば、第１データは、脳組織のデータセット、第２データは、脳腫瘍のデータセットであってもよい。この場合、着目している目的が異なるので、異なるパラメータを用いて画像が取得されるとする。そして、例えば、第１モデルは、断面画像における脳組織の領域をクラス分けするモデルであってもよい。
【００６７】
この場合、例えば、第１データ及び第２データは、MRIにおいて異なるチャネルの画像をそれぞれ取得している場合、第１モデルに第２データをそのまま入力しても、有効なアノテーションの推定を得ることは困難である。しかし、前述の実施形態により、第２モデル及び第３モデルを訓練することにより、第１モデルとして既に生成されている領域判別モデルを用いて、入力した第２データ中に腫瘍が存在するか否かを判定するためのアノテーションを出力するモデルを容易に構築することが可能となる。
【００６８】
（変形例３）
別の例において、第１データと第２データは、それぞれ異なる種類のセンサにより取得されたデータであってもよい。同様に、第１データと第２データは、上記に例を示したセンサにより取得された画像であってもよい。例えば、CTで取得されたデータに対するアノテーションを推定する第１モデルを用いて、MRIで取得したデータに対するアノテーションを推定するモデルの精度を向上することが可能となる。
【００６９】
（変形例４）
また、上記では、２次元間の画像について説明したが、これには限られない。例えば、２次元のピクセルと、３次元のボクセルとの間における変換を行ってもよい。例えば、第１ドメイン及び第２ドメインの画像のいずれかが、ヘリカルスキャンのCT画像等の３次元画像であり、ＭＲＩで取得された２次元の画像であってもよい。
【００７０】
（変形例５）
前述の実施形態においては、第１モデルとして１つのモデルを用いたが、異なるドメインに属するデータに対する複数の第１モデルを用いてもよい。例えば、複数の異なるドメインに属するデータに対してすでにアノテーションを推定するモデルがある場合、これらのモデルの結果を用いて、第３モデルを構築してもよい。この場合、各第１モデルに対して、各第１モデルの入力に適合するデータを出力する複数の第２モデルを訓練する。
【００７１】
例えば、第１モデルとして、MRI画像にアノテーションを付与する第１モデルと、CT画像にアノテーションを付与する別の第１モデルと、がある場合、これらのモデルを用いて第２ドメインに属するX線画像に対するアノテーション付与の精度を向上させることが可能となる。この場合、第２モデルとして、X線画像から疑似的なMRI画像を生成する第２モデルと、X線画像から疑似的なCT画像を生成する第２モデルとを訓練する。この際、第２モデルから出力されるチャネル数は、それぞれの第１モデルに対して入力できるデータとして調整してもよい。もちろん、上述のように、複数の第１ドメインと第２ドメインが全て異なるセンサにより取得されたデータでなくてもよく、少なくとも２つが同じセンサにより取得されたデータであってもよい。
【００７２】
（変形例６）
前述の実施形態において、チャネル数は、各ドメインにおいて任意に設定されていてもよい。例えば、第２モデルは、第２ドメインに属するデータを適切に第１ドメインに属するデータに変換するものであり、第３訓練部１４は、変換された疑似第１データと、対応する第２データとを連結して（例えば、別チャネルとして結合して）、第３モデルを訓練してもよい。又は、別々のデータとして同じネットワークである第３モデルに入力されるものであってもよい。このように、チャネル数を任意に変更することも可能であるし、データセットの入力する層等を任意に設定して、適切なモデルを生成することも可能である。
【００７３】
（変形例７）
前述の実施形態において、第２訓練部１３は、教師あり学習を実行しても、教師なし学習を実行してもよい。例えば、教師あり学習として、同じ環境下において異なるドメインのデータを取得し、対応する第１データを教師ラベルとして第２データから疑似第１データを生成するモデルを形成してもよい。一方で、教師なし学習として、異なる環境下において異なるドメインにおける十分多くのデータを取得し、対応付けをせずに前述のようにCycleGAN等の手法により第２データから疑似第１データを生成するモデルを形成してもよい。一般的に、同じ環境下において異なるドメインのデータを取得することは困難である場合が多く、特に医用画像においては困難であるが、このような教師なし学習を行うことで、容易に訓練済みの第３モデルを得ることができる。
【００７４】
以上種々の変形例を説明したが、これらは一例として説明したものである。本実施形態に係る訓練及び推定は、原則的には、例えば、図４に示すデータ、処理の流れである。しかしながら、これには限られず、上記の各変形例のように、第１ドメインに属するデータ及び第２ドメインに属するデータの流れはモデルの生成の目的の範囲内において適宜適切に変更できるものであることに留意されたい。
【００７５】
上述の説明では、データの一例として医療用データ、より詳細には医用画像を用いたが、これに限られない。
【００７６】
また、ドメインの分類は上記のように確実に異なるものではなくてもよい。例えば、ＭＲＩ画像であっても、撮影する装置の種類や型番が異なる場合には、同じパラメータを用いてデータを取得しても、撮影された画像が異なることがある。このような場合においても、これらの結果を統一化することも可能であるし、異なるパラメータを用いている場合には、異なるパラメータ間においてアノテーションを変換することも可能となる。また、例えば、各病院などのデータの需要者ごとに、異なるアノテーションの表現が用いられることもある。これも、他の病院（データ需要者）のデータを考慮したモデルを生成することにより、他の病院のデータを使用しつつも病院ごとのアノテーションの表現を出力することも可能となる。
【００７７】
さらに、前述の実施形態においては、疑似第１データの第１のドメインにおけるアノテーションの付与するために第１モデルを用い、疑似第１データから第２データを取得するために第２モデルを用いた、これには限られない。例えば、第１データの第１ドメインにおけるアノテーションを出力するルールベース等の他の手法を第１モデルの代替手段として用いて、疑似第１データから第１ドメインにおけるアノテーションを取得してもよい。また、第２ドメインのデータから、疑似的な第１ドメインのデータを取得する画像処理手法等を用いて、第２モデルの代替手段としてもよい。
【００７８】
前述した実施形態における訓練装置１及び推定装置２において、各機能は、アナログ回路、デジタル回路又はアナログ・デジタル混合回路で構成された回路であってもよい。また、各機能の制御を行う制御回路を備えていてもよい。各回路の実装は、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等によるものであってもよい。
【００７９】
上記の全ての記載において、訓練装置１及び推定装置２の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりＣＰＵ等が実施をしてもよい。ソフトウェアで構成される場合には、訓練装置１、推定装置２及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、ＦＰＧＡ等の回路に実装され、ハードウェアが実行するものであってもよい。モデルの生成や、モデルに入力をした後の処理は、例えば、ＧＰＵ等のアクセラレータを使用して行ってもよい。
【００８０】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【００８１】
図８は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。訓練装置１及び推定装置２は、プロセッサ７１と、主記憶装置７２と、補助記憶装置７３と、ネットワークインタフェース７４と、デバイスインタフェース７５と、を備え、これらがバス７６を介して接続されたコンピュータ装置７として実現できる。
【００８２】
なお、図８のコンピュータ装置７は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図８では、１台のコンピュータ装置７が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【００８３】
プロセッサ７１は、コンピュータの制御装置および演算装置を含む電子回路（処理回路、Processing circuit、Processing circuitry）である。プロセッサ７１は、コンピュータ装置７の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ７１は、コンピュータ装置７のＯＳ（オペレーティングシステム）や、アプリケーションなどを実行することにより、コンピュータ装置７を構成する各構成要素を制御する。プロセッサ７１は、上記の処理を行うことができれば特に限られるものではない。各訓練部、各推定部、およびそれらの各構成要素は、プロセッサ７１により実現される。
【００８４】
主記憶装置７２は、プロセッサ７１が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置７２に記憶された情報がプロセッサ７１により直接読み出される。補助記憶装置７３は、主記憶装置７２以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。訓練装置１及び推定装置２内において各種データを保存するためのメモリは、主記憶装置７２または補助記憶装置７３により実現されてもよい。例えば、記憶部１１、２１は、この主記憶装置７２又は補助記憶装置７３に実装されていてもよい。別の例として、アクセラレータが備えられている場合には、記憶部１１、２１は、当該アクセラレータに備えられているメモリ内に実装されていてもよい。また、各種データは、ネットワークインタフェース７４を介して接続されるクラウド上に存在してもよい。この場合各種データとは、訓練に用いるデータ、推定の対象となるデータ、訓練済みモデルに用いられるパラメータといった種々のデータを含む。
【００８５】
ネットワークインタフェース７４は、無線または有線により、通信ネットワーク８に接続するためのインタフェースである。ネットワークインタフェース７４は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース７４により、通信ネットワーク８を介して通信接続された外部装置９Ａと情報のやり取りが行われてもよい。
【００８６】
外部装置９Ａは、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、入力元デバイスなどが含まれる。また、外部装置９Ａは、訓練装置１及び推定装置２の構成要素の一部の機能を有する装置でもよい。そして、コンピュータ装置７は、訓練装置１及び推定装置２の処理結果の一部を、クラウドサービスのように通信ネットワーク８を介して受け取ってもよい。
【００８７】
デバイスインタフェース７５は、外部装置９Ｂと直接接続するＵＳＢ（Universal Serial Bus）などのインタフェースである。外部装置９Ｂは、外部記憶媒体でもよいし、ストレージ装置でもよい。記憶部１１、２１は、外部装置９Ｂにより実現されてもよい。
【００８８】
外部装置９Ｂは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）、ＰＤＰ（Plasma Display Panel）、スピーカなどがあるが、これらに限られるものではない。
【００８９】
なお、外部装置９Ｂは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置７に与える。入力装置からの信号はプロセッサ７１に出力される。
【００９０】
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。例えば、前述した全ての実施形態において、説明に用いた数値は、一例として示したものであり、これらに限られるものではない。
【００９１】
訓練、推論の各種演算は、例えば、ＧＰＵ等のアクセラレータを用いて、又は、ネットワークを介した複数の計算機を用いて、並列処理により実行されるものであってもよい。例えば、訓練におけるバッチ処理、推論における各オブジェクトの動作情報の生成等の処理は、複数ある演算コアに演算を振り分けて同じタイミングで実行されるものであってもよい。
【符号の説明】
【００９２】
１：訓練装置、１０：入力部、１１：記憶部、１２：第１訓練部、１３：第２訓練部、１４：第３訓練部、１５：出力部、
２：推定装置、２０：入力部、２１：記憶部、２２：第１推定部、２３：第２推定部、２４：第３推定部、２５：出力部、
３０：第１データ格納部、３１：第２データ格納部
【図１】
2020198041.tif 000003
【図２】
2020198041.tif 000004
【図３】
2020198041.tif 000005
【図４】
2020198041.tif 000006
【図５】
2020198041.tif 000007
【図６】
2020198041.tif 000008
【図７】
2020198041.tif 000009
【図８】
2020198041.tif 000010