(57)【要約】  機械学習装置１００は、転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための装置である。機械学習装置１００は、第１のタスクにおける実データ及び第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成部１０と、第１の識別用辞書を用いて、疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、第３の識別用辞書を用いて、第２のタスクにおける実データを学習データとした第２の転移学習を行って、第２の識別用辞書を構築する、学習部２０と、を備えている。
2020110272.tif 000002
【特許請求の範囲】
【請求項１】
転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための装置であって、
前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成手段と、
前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、学習手段と、
を備えている、
ことを特徴とする機械学習装置。
【請求項２】
請求項１に記載の機械学習装置であって、
前記疑似データ生成手段が、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習装置。
【請求項３】
請求項２に記載の機械学習装置であって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記疑似データ生成手段が、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【請求項４】
請求項３に記載の機械学習装置であって、
前記疑似データ生成手段が、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【請求項５】
請求項３に記載の機械学習装置であって、
前記疑似データ生成手段が、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【請求項６】
請求項３に記載の機械学習装置であって、
前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習手段に出力する、疑似データ選択手段を、
更に備えている、
ことを特徴とする機械学習装置。
【請求項７】
請求項３に記載の機械学習装置であって、
前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習手段に出力する、疑似データ選択手段を、
更に備えている、
ことを特徴とする機械学習装置。
【請求項８】
転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための方法であって、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を有している、
ことを特徴とする機械学習方法。
【請求項９】
請求項８に記載の機械学習方法であって、
前記（ａ）のステップにおいて、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習方法。
【請求項１０】
請求項９に記載の機械学習方法であって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記（ａ）のステップにおいて、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習方法。
【請求項１１】
請求項１０に記載の機械学習方法であって、
前記（ａ）のステップにおいて、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
【請求項１２】
請求項１０に記載の機械学習方法であって、
前記（ａ）のステップにおいて、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
【請求項１３】
請求項１０に記載の機械学習方法であって、
（ｃ）前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
【請求項１４】
請求項１０に記載の機械学習方法であって、
（ｄ）前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
【請求項１５】
コンピュータを用いて転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための、プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１６】
請求項１５に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１７】
請求項１６に記載のコンピュータ読み取り可能な記録媒体であって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記（ａ）のステップにおいて、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１８】
請求項１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１９】
請求項１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２０】
請求項１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｃ）前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２１】
請求項１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｄ）前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転移学習を実施できる、機械学習装置及び機械学習方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
一般的に、機械学習を成功させるためには、つまり、識別器によって学習した対象を識別できるようになるためには、バリエーションが豊富な学習用のデータを大量に用意する必要がある。とりわけ、機械学習のなかでも、精度の高さから利用されることが多い深層学習（ディープラーニング）では、特に大量の学習データが必要になる。【０００３】
但し、バリエーションが豊富な学習用のデータを大量に用意することは、学習の対象によっては難しいことがある。例えば、人物の動作を識別する場合を検討すると、歩行動作等のありふれた動作であれば、学習データに使える動画データを大量に用意することは容易である。しかし、不審な行動時の動作等、あまり行われない動作の動画データを、バリエーション豊富に、且つ、大量に用意することは困難である。従って、識別器で識別できる動作は限定的となり、動作の認識精度は非常に低くなってしまう。【０００４】
このため、従来から、転移学習と呼ばれる技術が利用されている（例えば、特許文献１参照）。転移学習は、Fine Tuningとも呼ばれ、バリエーションが豊富なデータを大量に準備できる特定のタスク（ドメイン）を学習した識別器を、別の最終目的のタスクについて再学習させる学習方式である。【０００５】
具体的には、転移学習では、例えば、画像中の物体を１０００種類に分類するタスク（転移元のタスク）を学習した識別器が存在する場合に、この識別器を、植物を詳細に分類するタスク（転移先の目標タスク）について再学習させることが行われる。このように、転移学習によれば、大量の学習データを用意できないタスクについても、識別器を構築することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−２２４１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、転移学習には、転移元のタスクと転移先のタスクとが大きく異なった場合に、転移元のタスクのデータで機械学習した結果が、転移先のタスクの機械学習に役立たず、識別器の再学習、即ち、転移に失敗しやすいという問題がある。【０００８】
特に、人物の動作を識別する場合のように動画データを利用する例では、転移元のタスクと転移先のタスクとの異なり具合を予想することが、識別器にとって困難であるため、転移に失敗しやすいと考えられる。また、転移先のタスクでの学習データのバリエーション及び数が少な過ぎる場合も、同様に転移に失敗しやすくなる。【０００９】
本発明の目的の一例は、上記問題を解消し、転移学習における成功率の向上を図り得る、機械学習装置、機械学習方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の一側面における機械学習装置は、転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための装置であって、
前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成部と、
前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、学習部と、
を備えている、
ことを特徴とする。【００１１】
また、上記目的を達成するため、本発明の一側面における機械学習方法は、転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための方法であって、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を有している、
ことを特徴とする。【００１２】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータを用いて転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための、プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明によれば、転移学習における成功率の向上を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１における機械学習装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における機械学習装置の構成を具体的に示すブロック図である。
【図３】図３は、本実施の形態１で行われる疑似データの生成処理を説明する図である。
【図４】図４は、本発明の実施の形態１における機械学習装置の動作を示すフロー図である。
【図５】図５は、本発明の実施の形態１の変形例１における機械学習装置の構成を示すブロック図である。
【図６】図６は、本発明の実施の形態１の変形例２における機械学習装置の構成を示すブロック図である。
【図７】図７は、本発明の実施の形態２における機械学習装置の構成を示すブロック図である。
【図８】図８は、本発明の実施の形態２における機械学習装置の動作を示すフロー図である。
【図９】図９は、本発明の実施の形態２の変形例における機械学習装置の構成を示すブロック図である。
【図１０】図１０は、本発明の実施の形態における機械学習装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
（実施の形態１）
以下、本発明の実施の形態１における、機械学習装置、機械学習方法、及びプログラムについて、図１〜図６を参照しながら説明する。
【００１６】
［装置構成］
最初に、図１を用いて、本発明の実施の形態１における機械学習装置の概略構成について説明する。図１は、本発明の実施の形態１における機械学習装置の概略構成を示すブロック図である。
【００１７】
図１に示す、本実施の形態１における機械学習装置１００は、転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための装置である。図１に示すように、機械学習装置１００は、疑似データ生成部１０と、学習部２０とを備えている。以降において、第１のタスクを「転移元タスク」、第１の識別用辞書を「転移元タスクの識別用辞書」と表記する。また、第２のタスクを「目的タスク」、第２の識別用辞書を「目的タスクの識別用辞書」と表記する。
【００１８】
疑似データ生成部１０は、転移元タスクにおける実データ及び目的タスクにおける実データのいずれか又は両方を加工して、疑似データを生成する。学習部２０は、転移元タスクの識別用辞書を用いて、疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書（以下「疑似タスクの識別用辞書」と表記する）を構築する。更に、学習部２０は、構築した疑似タスクの識別用辞書を用いて、目的タスクにおける実データを学習データとした第２の転移学習を行って、目的タスクの識別用辞書を構築する。
【００１９】
このように、本実施の形態１では、転移元のタスクから疑似データのタスクへと転移が行われた後に、更に、疑似データのタスクから目的タスクへと転移が行われる。つまり、本実施の形態１では、転移元タスクから目的タスクへの転移を中継するタスクが用意されている。このため、本実施の形態１によれば、転移元タスクの識別用辞書から目的タスクの識別用辞書を構築する転移学習において、成功率の向上を図ることができる。
【００２０】
続いて、図２及び図３を用いて、本実施の形態１における機械学習装置の構成をより具体的に説明する。図２は、本発明の実施の形態１における機械学習装置の構成を具体的に示すブロック図である。図３は、本実施の形態１で行われる疑似データの生成処理を説明する図である。
【００２１】
図２に示すように、本実施の形態１では、機械学習装置１００は、上述した疑似データ生成部１０及び学習部２０に加えて、辞書格納部３０と、実データ格納部４０と、疑似データ格納部５０とを更に備えている。辞書格納部３０は、転移元タスクの識別用辞書３１と、疑似タスクの識別用辞書３２と、目的タスクの識別用辞書３３とを格納している。
【００２２】
疑似データ生成部１０は、本実施の形態１では、疑似データとして、目的タスクにおける実データに類似しているデータを生成し、生成した疑似データを疑似データ格納部５０に格納する。また、本実施の形態１では、転移元タスクが、人物の動作を識別するタスクであり、目的タスクが、転移元タスクで識別される動作とは別の動作を識別するタスクである。このため、図２に示すように、疑似データ生成部１０は、動作解析部１１と、動作映像合成部１２を備えている。
【００２３】
動作解析部１１は、目的タスクにおける実データである人物の映像データから、人物の関節を特定する。動作映像合成部１２は、目的タスクにおける実データである人物の映像データに対して、特定した関節を摂動させる画像処理を実行して、画像中の人物の姿勢を変化させ、これによって疑似データを生成する。
【００２４】
具体的には、動作解析部１１は、図３に示すように、目的タスクにおける実データとして、人物の映像データを取得すると、映像データを構成するフレーム毎に、ＨＯＧ（Histograms of Oriented Gradients）特徴量等を用いて、人体に相当する部分の画像を検出する。次に、動作解析部１１は、検出された画像の特徴ベクトルと、予め用意されている人体モデルの特徴ベクトルとから、検出された画像の人体の各関節を特定する。
【００２５】
動作映像合成部１２は、フレーム毎に、特定された関節の中から、ランダムに又はルールに沿って、１又は２以上の関節を選択し、選択した関節を、設定量だけ摂動させて、検出された画像の人体の姿勢を変化させる。この結果、疑似データが生成される。疑似データは、疑似データ格納部５０に格納される。
【００２６】
図３の例では、動作映像合成部１２は、右肘、右肩、及び左膝を選択し、選択した関節を摂動させて、人体の姿勢を変化させている。なお、摂動の設定量は、固定値であっても良いし、後述の変形例に示すように条件に応じて変動しても良い。
【００２７】
また、学習部２０は、本実施の形態１では、例えば、ディープラーニングによる機械学習を実行し、各識別用辞書は、ニューラルネットワークのパラメータセットで構成されている。このため、学習部２０は、第１のパラメータ更新部２１と、第２のパラメータ更新部２２とを備えている。
【００２８】
第１のパラメータ更新部２１は、転送元タスクの識別用辞書３１のパラメータセットと疑似データとを用いて、疑似データのタスク（疑似タスク）の学習（第１の転移学習）を行って、疑似タスクの識別用辞書３２のパラメータセットを更新する。
【００２９】
また、第２のパラメータ更新部２２は、疑似タスクの識別用辞書３２のパラメータセットと目的タスクにおける実データとを用いて、目的タスクの学習（第２の転移学習）を行って、目的タスクの識別用辞書３３のパラメータセットを更新する。
【００３０】
［装置動作］
次に、本発明の実施の形態１における機械学習装置１００の動作について図４を用いて説明する。図４は、本発明の実施の形態１における機械学習装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図３を参酌する。また、本実施の形態１では、機械学習装置１００を動作させることによって、機械学習方法が実施される。よって、本実施の形態１における機械学習方法の説明は、以下の機械学習装置１００の動作説明に代える。
【００３１】
図４に示すように、最初に、疑似データ生成部１０において、動作解析部１１が、実データ格納部４０から、目的タスクにおける実データである、人物の映像データを、フレーム単位で取得する（ステップＡ１）。
【００３２】
次に、動作解析部１１は、ステップＡ１で取得されたフレームから、フレーム毎に、ＨＯＧ特徴量を用いて、人体に相当する部分の画像を検出する（ステップＡ２）。
【００３３】
次に、動作解析部１１は、ステップＡ１で検出された画像の特徴ベクトルと、予め用意されている人体モデルの特徴ベクトルとから、検出された画像の人体の各関節を特定する（ステップＡ３）。
【００３４】
次に、動作映像合成部１２は、ステップＡ２で特定された関節の中から、ランダムに又はルールに沿って、１又は２以上の関節を選択し、選択した関節を、設定量だけ摂動させて、検出された画像の人体の姿勢を変化させ、疑似データの（フレーム）を生成する（ステップＡ４）。ステップＡ４によって生成された疑似データは、疑似データ格納部５０に格納される。
【００３５】
次に、学習部２０において、第１のパラメータ更新部２１は、疑似データ格納部５０から、ステップＡ３で生成された疑似データを取得する。そして、第１のパラメータ更新部２１は、転送元タスクの識別用辞書３１のパラメータセットと疑似データとを用いて、疑似データのタスク（疑似タスク）を学習して、疑似タスクの識別用辞書３２のパラメータセットを更新する（ステップＡ５）。
【００３６】
次に、第２のパラメータ更新部２２は、ステップＡ５で更新された疑似タスクの識別用辞書３２のパラメータセットと、目的タスクにおける実データとを用いて、目的タスクを学習して、目的タスクの識別用辞書３３のパラメータセットを更新する（ステップＡ６）。
【００３７】
また、ステップＡ６の実行後は、実データ格納部４０に格納されている映像データの別のフレームを対象にして、再度、ステップＡ１が実行される。つまり、ステップＡ１〜Ａ６は、実データである映像データのフレーム単位で繰り返し実行される。なお、ステップＡ１〜Ａ４は、複数のフレームに対して行われていても良い。この場合は、ステップＡ５及びＡ６が、フレーム毎に繰り返し実行される。
【００３８】
［実施の形態１における効果］
このように、本実施の形態１では、疑似データは、目的タスクの実データから生成されており、両者は類似している。また、転送元タスクの識別用辞書を用いて得られた、疑似データのタスクの学習結果を用いて、実データのタスクが学習され、目的タスクの識別用辞書が構築される。このため、本実施の形態１によれば、転移元タスクの識別用辞書から目的タスクの識別用辞書を構築する転移学習において、成功率の向上を図ることができる。
【００３９】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図４に示すステップＡ１〜Ａ６を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における機械学習装置１００と機械学習方法とを実現することができる。この場合、コンピュータのプロセッサは、疑似データ生成部１０及び学習部２０として機能し、処理を行なう。
【００４０】
また、本実施の形態１では、辞書格納部３０、実データ格納部４０、及び疑似データ格納部５０は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されている。
【００４１】
更に、本実施の形態１におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、疑似データ生成部１０及び学習部２０のいずれかとして機能しても良い。また、辞書格納部３０、実データ格納部４０、及び疑似データ格納部５０は、本実施の形態１におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【００４２】
［変形例］
続いて、図５及び図６を用いて、本実施の形態１における機械学習装置１００の変形例について以下に説明する。
【００４３】
変形例１：
図５は、本発明の実施の形態１の変形例１における機械学習装置の構成を示すブロック図である。図５に示すように、本変形例１では、疑似データ生成部１０において、動作映像合成部１２は、第２のパラメータ更新部２２が第２の転移学習の際に算出している損失値を取得し、取得した損失値に基づいて、関節を摂動させる際の程度（設定量）を調整して、疑似データを生成する。
【００４４】
つまり、本変形例１では、第２のパラメータ更新部２２は、あるフレームについて、第２の転移学習を行うと、その際に算出された損失値を、疑似データ生成部１０に出力する。そして、動作映像合成部１２は、次のフレームからの疑似データの生成において、出力されてきた損失値に基づいて、関節の摂動時の摂動量を設定する。
【００４５】
このような構成により、本変形例１では、疑似データ生成部１０は、ステップＡ１〜Ａ５の繰り返し処理の初期においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように疑似データを作成することができる。また、疑似データ生成部１０は、ステップＡ１〜Ａ５の繰り返し処理が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように疑似データを作成することができる。この結果、本変形例１では、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
【００４６】
変形例２：
図６は、本発明の実施の形態１の変形例２における機械学習装置の構成を示すブロック図である。図６に示すように、本変形例２では、疑似データ生成部１０において、動作映像合成部１２は、第１のパラメータ更新部２１が第１の転移学習の際に算出している損失値を取得し、取得した損失値に基づいて、関節を摂動させる際の程度（設定量）を調整して、疑似データを生成する。
【００４７】
つまり、本変形例２では、第１のパラメータ更新部２１は、あるフレームについて、第１の転移学習を行うと、その際に算出された損失値を、疑似データ生成部１０に出力する。そして、動作映像合成部１２は、次のフレームからの疑似データの生成において、出力されてきた損失値に基づいて、関節の摂動時の摂動量を設定する。
【００４８】
このような構成により、本変形例２でも、疑似データ生成部１０は、ステップＡ１〜Ａ５の繰り返し処理の初期においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように疑似データを作成することができる。また、疑似データ生成部１０は、ステップＡ１〜Ａ５の繰り返し処理が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように疑似データを作成することができる。この結果、本変形例２でも、変形例１と同様に、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
【００４９】
（実施の形態２）
続いて、本発明の実施の形態２における、機械学習装置、機械学習方法、及びプログラムについて、図７〜図９を参照しながら説明する。
【００５０】
［装置構成］
最初に、図７を用いて、本発明の実施の形態２における機械学習装置の構成について説明する。図７は、本発明の実施の形態２における機械学習装置の構成を示すブロック図である。
【００５１】
図７に示すように、本発明の実施の形態２における機械学習装置１０１は、図１及び図２に示した実施の形態１における機械学習装置１００と同様に、疑似データ生成部１０、学習部２０、辞書格納部３０、実データ格納部４０、及び疑似データ格納部５０を備えている。但し、本実施の形態２においては、機械学習装置１０１は、実施の形態１における機械学習装置１００と異なり、疑似データ選択部６０を備えている。以下、実施の形態１との相違点を中心に説明する。
【００５２】
まず、本実施の形態２では、疑似データ生成部１０において、動作映像合成部１２は、１つのフレームに対して、関節の摂動の程度が異なる複数の疑似データを作成し、作成した各疑似データを疑似データ格納部５０に格納する。
【００５３】
疑似データ選択部６０は、第２のパラメータ更新部２２が第２の転移学習の際に算出している損失値を取得する。また、疑似データ選択部６０は、取得した損失値に基づいて、生成された疑似データの中から特定の疑似データを選択し、選択した疑似データのみを学習部１０に出力する。なお、損失値が未だ算出されていない場合は、疑似データ選択部６０は、デフォルトの値を損失値として用いて、疑似データを選択する。
【００５４】
つまり、本実施の形態２では、第２のパラメータ更新部２２は、あるフレームについて、第２の転移学習を行うと、その際に算出された損失値を、疑似データ選択部６０に出力する。そして、疑似データ選択部６０は、出力されてきた損失値に基づいて、疑似データ格納部５０に格納されている疑似データの中から、次のフレームにおいて第１のパラメータ更新部２１による学習で使用する疑似データを選択する。
【００５５】
［装置動作］
次に、本発明の実施の形態２における機械学習装置１０１の動作について図８を用いて説明する。図８は、本発明の実施の形態２における機械学習装置の動作を示すフロー図である。以下の説明においては、適宜図７を参酌する。また、本実施の形態２では、機械学習装置１０１を動作させることによって、機械学習方法が実施される。よって、本実施の形態２における機械学習方法の説明は、以下の機械学習装置１０１の動作説明に代える。
【００５６】
図８に示すように、最初に、疑似データ生成部１０において、動作解析部１１が、実データ格納部４０から、目的タスクにおける実データである、人物の映像データを、フレーム単位で取得する（ステップＢ１）。ステップＢ１は、図４に示したステップＡ１と同様のステップである。
【００５７】
次に、動作解析部１１は、ステップＢ１で取得されたフレームから、フレーム毎に、ＨＯＧ特徴量を用いて、人体に相当する部分の画像を検出する（ステップＢ２）。ステップＢ２は、図４に示したステップＡ２と同様のステップである。
【００５８】
次に、動作解析部１１は、ステップＢ１で検出された画像の特徴ベクトルと、予め用意されている人体モデルの特徴ベクトルとから、検出された画像の人体の各関節を特定する（ステップＢ３）。ステップ３は、図４に示したステップＡ３と同様のステップである。
【００５９】
次に、動作映像合成部１２は、ステップＢ２で特定された関節の中から、ランダムに又はルールに沿って、１又は２以上の関節を選択する。そして、動作映像合成部１２は、選択した関節を、摂動時の設定量が異なる複数のパターンで摂動させて、複数の疑似データの（フレーム）を生成する（ステップＢ４）。ステップＢ４によって生成された各疑似データは、疑似データ格納部５０に格納される。
【００６０】
次に、疑似データ選択部６０は、第２のパラメータ更新部２２が前回の第２の転移学習の際に算出している損失値に基づいて、ステップＢ４で生成された疑似データの中から特定の疑似データを選択し、選択した疑似データのみを学習部１０に出力する（ステップＢ５）。
【００６１】
次に、学習部２０において、第１のパラメータ更新部２１は、ステップＢ５で疑似データ選択部６０によって選択された疑似データを取得する。そして、第１のパラメータ更新部２１は、転送元タスクの識別用辞書３１のパラメータセットと疑似データとを用いて、疑似データのタスク（疑似タスク）を学習して、疑似タスクの識別用辞書３２のパラメータセットを更新する（ステップＢ６）。
【００６２】
次に、第２のパラメータ更新部２２は、ステップＢ６で更新された疑似タスクの識別用辞書３２のパラメータセットと、目的タスクにおける実データとを用いて、目的タスクを学習して、目的タスクの識別用辞書３３のパラメータセットを更新する（ステップＢ７）。その後、第２のパラメータ更新部２２は、学習の際に算出した損失値を、疑似データ選択部６０に出力する（ステップＢ８）。
【００６３】
ステップＢ８の実行後は、実データ格納部４０に格納されている映像データの別のフレームを対象にして、再度、ステップＢ１が実行される。つまり、ステップＢ１〜Ｂ８は、実データである映像データのフレーム単位で繰り返し実行される。
【００６４】
［実施の形態２における効果］
このような構成により、本実施の形態２では、疑似データ選択部６０は、初期の学習処理においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように、摂動の大きい疑似データを選択することができる。また、疑似データ選択部６０は、学習が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように、摂動の小さい疑似データを選択することができる。この結果、本実施の形態２でも、上述の実施の形態１の変形例１及び２と同様に、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
【００６５】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図８に示すステップＢ１〜Ｂ８を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における機械学習装置１００と機械学習方法とを実現することができる。この場合、コンピュータのプロセッサは、疑似データ生成部１０、学習部２０、及び疑似データ選択部６０として機能し、処理を行なう。
【００６６】
また、本実施の形態２では、辞書格納部３０、実データ格納部４０、及び疑似データ格納部５０は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されている。
【００６７】
更に、本実施の形態２におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、疑似データ生成部１０、学習部２０、及び疑似データ選択部６０のいずれかとして機能しても良い。また、辞書格納部３０、実データ格納部４０、及び疑似データ格納部５０は、本実施の形態１におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【００６８】
［変形例］
続いて、図９を用いて、本実施の形態２における機械学習装置１００の変形例について以下に説明する。図９は、本発明の実施の形態２の変形例における機械学習装置の構成を示すブロック図である。
【００６９】
本変形例では、疑似データ選択部６０は、第１のパラメータ更新部２１が第１の転移学習の際に算出している損失値を取得する。なお、本変形例でも、疑似データ選択部６０は、取得した損失値に基づいて、生成された疑似データの中から特定の疑似データを選択し、選択した疑似データのみを学習部１０に出力する。
【００７０】
このような構成により、本変形例でも、図７及び８に示した例と同様に、疑似データ選択部６０は、初期の学習処理においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように、摂動の大きい疑似データを選択することができる。また、疑似データ選択部６０は、学習が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように、摂動の小さい疑似データを選択することができる。本変形例においても、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
【００７１】
（物理構成）
ここで、実施の形態１及び２におけるプログラムを実行することによって、機械学習装置を実現するコンピュータについて図１０を用いて説明する。図１０は、本発明の実施の形態における機械学習装置を実現するコンピュータの一例を示すブロック図である。
【００７２】
図１０に示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００７３】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００７４】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００７５】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００７６】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００７７】
なお、本実施の形態における機械学習装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、機械学習装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００７８】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記２１）によって表現することができるが、以下の記載に限定されるものではない。
【００７９】
（付記１）
転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための装置であって、
前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成部と、
前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、学習部と、
を備えている、
ことを特徴とする機械学習装置。
【００８０】
（付記２）
付記１に記載の機械学習装置であって、
前記疑似データ生成部が、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習装置。
【００８１】
（付記３）
付記２に記載の機械学習装置であって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記疑似データ生成部が、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【００８２】
（付記４）
付記３に記載の機械学習装置であって、
前記疑似データ生成部が、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【００８３】
（付記５）
付記３に記載の機械学習装置であって、
前記疑似データ生成部が、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【００８４】
（付記６）
付記３に記載の機械学習装置であって、
前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習部に出力する、疑似データ選択部を、
更に備えている、
ことを特徴とする機械学習装置。
【００８５】
（付記７）
付記３に記載の機械学習装置であって、
前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習部に出力する、疑似データ選択部を、
更に備えている、
ことを特徴とする機械学習装置。
【００８６】
（付記８）
転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための方法であって、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を有している、
ことを特徴とする機械学習方法。
【００８７】
（付記９）
付記８に記載の機械学習方法であって、
前記（ａ）のステップにおいて、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習方法。
【００８８】
（付記１０）
付記９に記載の機械学習方法であって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記（ａ）のステップにおいて、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習方法。
【００８９】
（付記１１）
付記１０に記載の機械学習方法であって、
前記（ａ）のステップにおいて、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
【００９０】
（付記１２）
付記１０に記載の機械学習方法であって、
前記（ａ）のステップにおいて、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
【００９１】
（付記１３）
付記１０に記載の機械学習方法であって、
（ｃ）前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
【００９２】
（付記１４）
付記１０に記載の機械学習方法であって、
（ｄ）前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
【００９３】
（付記１５）
コンピュータを用いて転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための、プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９４】
（付記１６）
付記１５に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９５】
（付記１７）
付記１６に記載のコンピュータ読み取り可能な記録媒体であって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記（ａ）のステップにおいて、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９６】
（付記１８）
付記１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９７】
（付記１９）
付記１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９８】
（付記２０）
付記１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｃ）前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９９】
（付記２１）
付記１７に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｄ）前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【０１００】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１０１】
以上のように、本発明によれば、転移学習における成功率の向上を図ることができる。本発明は、転移学習が行われる種々のシステム、例えば、カメラから映像から不審な人物を監視する監視装置等に有用である。
【符号の説明】
【０１０２】
１０  疑似データ生成部
１１  動作解析部
１２  動作映像合成部
２０  学習部
２１  第１のパラメータ更新部
２２  第２のパラメータ更新部
３０  辞書格納部
３１  転移元タスクの識別用辞書
３２  疑似タスクの識別用辞書
３３  目的タスクの識別用辞書
４０  実データ格納部
５０  疑似データ格納部
１００  機械学習装置（実施の形態１）
１０１  機械学習装置（実施の形態２）
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2020110272.tif 000003
【図２】
2020110272.tif 000004
【図３】
2020110272.tif 000005
【図４】
2020110272.tif 000006
【図５】
2020110272.tif 000007
【図６】
2020110272.tif 000008
【図７】
2020110272.tif 000009
【図８】
2020110272.tif 000010
【図９】
2020110272.tif 000011
【図１０】
2020110272.tif 000012
【手続補正書】
【提出日】令和3年5月24日(2021.5.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための装置であって、
前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成手段と、
前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、学習手段と、
を備えている、
ことを特徴とする機械学習装置。
【請求項２】
請求項１に記載の機械学習装置であって、
前記疑似データ生成手段が、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習装置。
【請求項３】
請求項２に記載の機械学習装置であって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記疑似データ生成手段が、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【請求項４】
請求項３に記載の機械学習装置であって、
前記疑似データ生成手段が、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【請求項５】
請求項３に記載の機械学習装置であって、
前記疑似データ生成手段が、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
【請求項６】
請求項３に記載の機械学習装置であって、
前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習手段に出力する、疑似データ選択手段を、
更に備えている、
ことを特徴とする機械学習装置。
【請求項７】
請求項３に記載の機械学習装置であって、
前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習手段に出力する、疑似データ選択手段を、
更に備えている、
ことを特徴とする機械学習装置。
【請求項８】
転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための方法であって、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を有している、
ことを特徴とする機械学習方法。
【請求項９】
コンピュータを用いて転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための、プログラムであって、
前記コンピュータに、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を実行させる、プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、転移学習を実施できる、機械学習装置及び機械学習方法に関し、更には、これらを実現するためのプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の目的の一例は、上記問題を解消し、転移学習における成功率の向上を図り得る、機械学習装置、機械学習方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータを用いて転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための、プログラムであって、
前記コンピュータに、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を実行させる、
ことを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
次に、動作解析部１１は、ステップＢ１で検出された画像の特徴ベクトルと、予め用意されている人体モデルの特徴ベクトルとから、検出された画像の人体の各関節を特定する（ステップＢ３）。ステップＢ３は、図４に示したステップＡ３と同様のステップである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図８に示すステップＢ１〜Ｂ８を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における機械学習装置１０１と機械学習方法とを実現することができる。この場合、コンピュータのプロセッサは、疑似データ生成部１０、学習部２０、及び疑似データ選択部６０として機能し、処理を行なう。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
更に、本実施の形態２におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、疑似データ生成部１０、学習部２０、及び疑似データ選択部６０のいずれかとして機能しても良い。また、辞書格納部３０、実データ格納部４０、及び疑似データ格納部５０は、本実施の形態２におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
［変形例］
続いて、図９を用いて、本実施の形態２における機械学習装置１０１の変形例について以下に説明する。図９は、本発明の実施の形態２の変形例における機械学習装置の構成を示すブロック図である。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
（付記１５）
コンピュータを用いて転移学習によって、第１のタスクで用いる第１の識別用辞書から、第２のタスクで用いる第２の識別用辞書を構築するための、プログラムであって、
前記コンピュータに、
（ａ）前記第１のタスクにおける実データ及び前記第２のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
（ｂ）前記第１の識別用辞書を用いて、前記疑似データを学習データとした第１の転移学習を行って、第３の識別用辞書を構築し、更に、前記第３の識別用辞書を用いて、前記第２のタスクにおける実データを学習データとした第２の転移学習を行って、前記第２の識別用辞書を構築する、ステップと、
を実行させる、プログラム。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
（付記１６）
付記１５に記載のプログラムであって、
前記（ａ）のステップにおいて、前記疑似データとして、前記第２のタスクにおける実データに類似しているデータを生成する、
ことを特徴とするプログラム。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
（付記１７）
付記１６に記載のプログラムであって、
前記第１のタスクが、人物の動作を識別するタスクであり、前記第２のタスクが、前記第１のタスクで識別される動作とは別の動作を識別するタスクである場合において、
前記（ａ）のステップにおいて、
前記第２のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とするプログラム。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
（付記１８）
付記１７に記載のプログラムであって、
前記（ａ）のステップにおいて、前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするプログラム。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
（付記１９）
付記１７に記載のプログラムであって、
前記（ａ）のステップにおいて、前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするプログラム。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
（付記２０）
付記１７に記載のプログラムであって、
前記コンピュータに、
（ｃ）前記第２の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
更に実行させる、
ことを特徴とするプログラム。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
（付記２１）
付記１７に記載のであって、
前記コンピュータに、
（ｄ）前記第１の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記（ｂ）のステップのために出力する、ステップを、
更に実行させる、
ことを特徴とするプログラム。
【国際調査報告】
2020110272.tif 000013
2020110272.tif 000014
2020110272.tif 000015
2020110272.tif 000016