Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020110272 - MACHINE LEARNING DEVICE, MACHINE LEARNING METHOD, AND COMPUTER-READABLE RECORDING MEDIUM

Document

明 細 書

発明の名称 機械学習装置、機械学習方法、及びコンピュータ読み取り可能な記録媒体

技術分野

0001  

背景技術

0002   0003   0004   0005  

先行技術文献

特許文献

0006  

発明の概要

発明が解決しようとする課題

0007   0008   0009  

課題を解決するための手段

0010   0011   0012  

発明の効果

0013  

図面の簡単な説明

0014  

発明を実施するための形態

0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100  

産業上の利用可能性

0101  

符号の説明

0102  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21  

図面

1   2   3   4   5   6   7   8   9   10  

明 細 書

発明の名称 : 機械学習装置、機械学習方法、及びコンピュータ読み取り可能な記録媒体

技術分野

[0001]
 本発明は、転移学習を実施できる、機械学習装置及び機械学習方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。

背景技術

[0002]
 一般的に、機械学習を成功させるためには、つまり、識別器によって学習した対象を識別できるようになるためには、バリエーションが豊富な学習用のデータを大量に用意する必要がある。とりわけ、機械学習のなかでも、精度の高さから利用されることが多い深層学習(ディープラーニング)では、特に大量の学習データが必要になる。
[0003]
 但し、バリエーションが豊富な学習用のデータを大量に用意することは、学習の対象によっては難しいことがある。例えば、人物の動作を識別する場合を検討すると、歩行動作等のありふれた動作であれば、学習データに使える動画データを大量に用意することは容易である。しかし、不審な行動時の動作等、あまり行われない動作の動画データを、バリエーション豊富に、且つ、大量に用意することは困難である。従って、識別器で識別できる動作は限定的となり、動作の認識精度は非常に低くなってしまう。
[0004]
 このため、従来から、転移学習と呼ばれる技術が利用されている(例えば、特許文献1参照)。転移学習は、Fine Tuningとも呼ばれ、バリエーションが豊富なデータを大量に準備できる特定のタスク(ドメイン)を学習した識別器を、別の最終目的のタスクについて再学習させる学習方式である。
[0005]
 具体的には、転移学習では、例えば、画像中の物体を1000種類に分類するタスク(転移元のタスク)を学習した識別器が存在する場合に、この識別器を、植物を詳細に分類するタスク(転移先の目標タスク)について再学習させることが行われる。このように、転移学習によれば、大量の学習データを用意できないタスクについても、識別器を構築することが可能となる。

先行技術文献

特許文献

[0006]
特許文献1 : 特開2017-224156号公報

発明の概要

発明が解決しようとする課題

[0007]
 しかしながら、転移学習には、転移元のタスクと転移先のタスクとが大きく異なった場合に、転移元のタスクのデータで機械学習した結果が、転移先のタスクの機械学習に役立たず、識別器の再学習、即ち、転移に失敗しやすいという問題がある。
[0008]
 特に、人物の動作を識別する場合のように動画データを利用する例では、転移元のタスクと転移先のタスクとの異なり具合を予想することが、識別器にとって困難であるため、転移に失敗しやすいと考えられる。また、転移先のタスクでの学習データのバリエーション及び数が少な過ぎる場合も、同様に転移に失敗しやすくなる。
[0009]
 本発明の目的の一例は、上記問題を解消し、転移学習における成功率の向上を図り得る、機械学習装置、機械学習方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。

課題を解決するための手段

[0010]
 上記目的を達成するため、本発明の一側面における機械学習装置は、転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための装置であって、
 前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成部と、
 前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、学習部と、
を備えている、
ことを特徴とする。
[0011]
 また、上記目的を達成するため、本発明の一側面における機械学習方法は、転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための方法であって、
(a)前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
(b)前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、ステップと、
を有している、
ことを特徴とする。
[0012]
 更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータを用いて転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための、プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(a)前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
(b)前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とする。

発明の効果

[0013]
 以上のように、本発明によれば、転移学習における成功率の向上を図ることができる。

図面の簡単な説明

[0014]
[図1] 図1は、本発明の実施の形態1における機械学習装置の概略構成を示すブロック図である。
[図2] 図2は、本発明の実施の形態1における機械学習装置の構成を具体的に示すブロック図である。
[図3] 図3は、本実施の形態1で行われる疑似データの生成処理を説明する図である。
[図4] 図4は、本発明の実施の形態1における機械学習装置の動作を示すフロー図である。
[図5] 図5は、本発明の実施の形態1の変形例1における機械学習装置の構成を示すブロック図である。
[図6] 図6は、本発明の実施の形態1の変形例2における機械学習装置の構成を示すブロック図である。
[図7] 図7は、本発明の実施の形態2における機械学習装置の構成を示すブロック図である。
[図8] 図8は、本発明の実施の形態2における機械学習装置の動作を示すフロー図である。
[図9] 図9は、本発明の実施の形態2の変形例における機械学習装置の構成を示すブロック図である。
[図10] 図10は、本発明の実施の形態における機械学習装置を実現するコンピュータの一例を示すブロック図である。

発明を実施するための形態

[0015]
(実施の形態1)
 以下、本発明の実施の形態1における、機械学習装置、機械学習方法、及びプログラムについて、図1~図6を参照しながら説明する。
[0016]
[装置構成]
 最初に、図1を用いて、本発明の実施の形態1における機械学習装置の概略構成について説明する。図1は、本発明の実施の形態1における機械学習装置の概略構成を示すブロック図である。
[0017]
 図1に示す、本実施の形態1における機械学習装置100は、転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための装置である。図1に示すように、機械学習装置100は、疑似データ生成部10と、学習部20とを備えている。以降において、第1のタスクを「転移元タスク」、第1の識別用辞書を「転移元タスクの識別用辞書」と表記する。また、第2のタスクを「目的タスク」、第2の識別用辞書を「目的タスクの識別用辞書」と表記する。
[0018]
 疑似データ生成部10は、転移元タスクにおける実データ及び目的タスクにおける実データのいずれか又は両方を加工して、疑似データを生成する。学習部20は、転移元タスクの識別用辞書を用いて、疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書(以下「疑似タスクの識別用辞書」と表記する)を構築する。更に、学習部20は、構築した疑似タスクの識別用辞書を用いて、目的タスクにおける実データを学習データとした第2の転移学習を行って、目的タスクの識別用辞書を構築する。
[0019]
 このように、本実施の形態1では、転移元のタスクから疑似データのタスクへと転移が行われた後に、更に、疑似データのタスクから目的タスクへと転移が行われる。つまり、本実施の形態1では、転移元タスクから目的タスクへの転移を中継するタスクが用意されている。このため、本実施の形態1によれば、転移元タスクの識別用辞書から目的タスクの識別用辞書を構築する転移学習において、成功率の向上を図ることができる。
[0020]
 続いて、図2及び図3を用いて、本実施の形態1における機械学習装置の構成をより具体的に説明する。図2は、本発明の実施の形態1における機械学習装置の構成を具体的に示すブロック図である。図3は、本実施の形態1で行われる疑似データの生成処理を説明する図である。
[0021]
 図2に示すように、本実施の形態1では、機械学習装置100は、上述した疑似データ生成部10及び学習部20に加えて、辞書格納部30と、実データ格納部40と、疑似データ格納部50とを更に備えている。辞書格納部30は、転移元タスクの識別用辞書31と、疑似タスクの識別用辞書32と、目的タスクの識別用辞書33とを格納している。
[0022]
 疑似データ生成部10は、本実施の形態1では、疑似データとして、目的タスクにおける実データに類似しているデータを生成し、生成した疑似データを疑似データ格納部50に格納する。また、本実施の形態1では、転移元タスクが、人物の動作を識別するタスクであり、目的タスクが、転移元タスクで識別される動作とは別の動作を識別するタスクである。このため、図2に示すように、疑似データ生成部10は、動作解析部11と、動作映像合成部12を備えている。
[0023]
 動作解析部11は、目的タスクにおける実データである人物の映像データから、人物の関節を特定する。動作映像合成部12は、目的タスクにおける実データである人物の映像データに対して、特定した関節を摂動させる画像処理を実行して、画像中の人物の姿勢を変化させ、これによって疑似データを生成する。
[0024]
 具体的には、動作解析部11は、図3に示すように、目的タスクにおける実データとして、人物の映像データを取得すると、映像データを構成するフレーム毎に、HOG(Histograms of Oriented Gradients)特徴量等を用いて、人体に相当する部分の画像を検出する。次に、動作解析部11は、検出された画像の特徴ベクトルと、予め用意されている人体モデルの特徴ベクトルとから、検出された画像の人体の各関節を特定する。
[0025]
 動作映像合成部12は、フレーム毎に、特定された関節の中から、ランダムに又はルールに沿って、1又は2以上の関節を選択し、選択した関節を、設定量だけ摂動させて、検出された画像の人体の姿勢を変化させる。この結果、疑似データが生成される。疑似データは、疑似データ格納部50に格納される。
[0026]
 図3の例では、動作映像合成部12は、右肘、右肩、及び左膝を選択し、選択した関節を摂動させて、人体の姿勢を変化させている。なお、摂動の設定量は、固定値であっても良いし、後述の変形例に示すように条件に応じて変動しても良い。
[0027]
 また、学習部20は、本実施の形態1では、例えば、ディープラーニングによる機械学習を実行し、各識別用辞書は、ニューラルネットワークのパラメータセットで構成されている。このため、学習部20は、第1のパラメータ更新部21と、第2のパラメータ更新部22とを備えている。
[0028]
 第1のパラメータ更新部21は、転送元タスクの識別用辞書31のパラメータセットと疑似データとを用いて、疑似データのタスク(疑似タスク)の学習(第1の転移学習)を行って、疑似タスクの識別用辞書32のパラメータセットを更新する。
[0029]
 また、第2のパラメータ更新部22は、疑似タスクの識別用辞書32のパラメータセットと目的タスクにおける実データとを用いて、目的タスクの学習(第2の転移学習)を行って、目的タスクの識別用辞書33のパラメータセットを更新する。
[0030]
[装置動作]
 次に、本発明の実施の形態1における機械学習装置100の動作について図4を用いて説明する。図4は、本発明の実施の形態1における機械学習装置の動作を示すフロー図である。以下の説明においては、適宜図1~図3を参酌する。また、本実施の形態1では、機械学習装置100を動作させることによって、機械学習方法が実施される。よって、本実施の形態1における機械学習方法の説明は、以下の機械学習装置100の動作説明に代える。
[0031]
 図4に示すように、最初に、疑似データ生成部10において、動作解析部11が、実データ格納部40から、目的タスクにおける実データである、人物の映像データを、フレーム単位で取得する(ステップA1)。
[0032]
 次に、動作解析部11は、ステップA1で取得されたフレームから、フレーム毎に、HOG特徴量を用いて、人体に相当する部分の画像を検出する(ステップA2)。
[0033]
 次に、動作解析部11は、ステップA1で検出された画像の特徴ベクトルと、予め用意されている人体モデルの特徴ベクトルとから、検出された画像の人体の各関節を特定する(ステップA3)。
[0034]
 次に、動作映像合成部12は、ステップA2で特定された関節の中から、ランダムに又はルールに沿って、1又は2以上の関節を選択し、選択した関節を、設定量だけ摂動させて、検出された画像の人体の姿勢を変化させ、疑似データの(フレーム)を生成する(ステップA4)。ステップA4によって生成された疑似データは、疑似データ格納部50に格納される。
[0035]
 次に、学習部20において、第1のパラメータ更新部21は、疑似データ格納部50から、ステップA3で生成された疑似データを取得する。そして、第1のパラメータ更新部21は、転送元タスクの識別用辞書31のパラメータセットと疑似データとを用いて、疑似データのタスク(疑似タスク)を学習して、疑似タスクの識別用辞書32のパラメータセットを更新する(ステップA5)。
[0036]
 次に、第2のパラメータ更新部22は、ステップA5で更新された疑似タスクの識別用辞書32のパラメータセットと、目的タスクにおける実データとを用いて、目的タスクを学習して、目的タスクの識別用辞書33のパラメータセットを更新する(ステップA6)。
[0037]
 また、ステップA6の実行後は、実データ格納部40に格納されている映像データの別のフレームを対象にして、再度、ステップA1が実行される。つまり、ステップA1~A6は、実データである映像データのフレーム単位で繰り返し実行される。なお、ステップA1~A4は、複数のフレームに対して行われていても良い。この場合は、ステップA5及びA6が、フレーム毎に繰り返し実行される。
[0038]
[実施の形態1における効果]
 このように、本実施の形態1では、疑似データは、目的タスクの実データから生成されており、両者は類似している。また、転送元タスクの識別用辞書を用いて得られた、疑似データのタスクの学習結果を用いて、実データのタスクが学習され、目的タスクの識別用辞書が構築される。このため、本実施の形態1によれば、転移元タスクの識別用辞書から目的タスクの識別用辞書を構築する転移学習において、成功率の向上を図ることができる。
[0039]
[プログラム]
 本実施の形態1におけるプログラムは、コンピュータに、図4に示すステップA1~A6を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1における機械学習装置100と機械学習方法とを実現することができる。この場合、コンピュータのプロセッサは、疑似データ生成部10及び学習部20として機能し、処理を行なう。
[0040]
 また、本実施の形態1では、辞書格納部30、実データ格納部40、及び疑似データ格納部50は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されている。
[0041]
 更に、本実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、疑似データ生成部10及び学習部20のいずれかとして機能しても良い。また、辞書格納部30、実データ格納部40、及び疑似データ格納部50は、本実施の形態1におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
[0042]
[変形例]
 続いて、図5及び図6を用いて、本実施の形態1における機械学習装置100の変形例について以下に説明する。
[0043]
変形例1:
 図5は、本発明の実施の形態1の変形例1における機械学習装置の構成を示すブロック図である。図5に示すように、本変形例1では、疑似データ生成部10において、動作映像合成部12は、第2のパラメータ更新部22が第2の転移学習の際に算出している損失値を取得し、取得した損失値に基づいて、関節を摂動させる際の程度(設定量)を調整して、疑似データを生成する。
[0044]
 つまり、本変形例1では、第2のパラメータ更新部22は、あるフレームについて、第2の転移学習を行うと、その際に算出された損失値を、疑似データ生成部10に出力する。そして、動作映像合成部12は、次のフレームからの疑似データの生成において、出力されてきた損失値に基づいて、関節の摂動時の摂動量を設定する。
[0045]
 このような構成により、本変形例1では、疑似データ生成部10は、ステップA1~A5の繰り返し処理の初期においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように疑似データを作成することができる。また、疑似データ生成部10は、ステップA1~A5の繰り返し処理が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように疑似データを作成することができる。この結果、本変形例1では、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
[0046]
変形例2:
 図6は、本発明の実施の形態1の変形例2における機械学習装置の構成を示すブロック図である。図6に示すように、本変形例2では、疑似データ生成部10において、動作映像合成部12は、第1のパラメータ更新部21が第1の転移学習の際に算出している損失値を取得し、取得した損失値に基づいて、関節を摂動させる際の程度(設定量)を調整して、疑似データを生成する。
[0047]
 つまり、本変形例2では、第1のパラメータ更新部21は、あるフレームについて、第1の転移学習を行うと、その際に算出された損失値を、疑似データ生成部10に出力する。そして、動作映像合成部12は、次のフレームからの疑似データの生成において、出力されてきた損失値に基づいて、関節の摂動時の摂動量を設定する。
[0048]
 このような構成により、本変形例2でも、疑似データ生成部10は、ステップA1~A5の繰り返し処理の初期においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように疑似データを作成することができる。また、疑似データ生成部10は、ステップA1~A5の繰り返し処理が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように疑似データを作成することができる。この結果、本変形例2でも、変形例1と同様に、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
[0049]
(実施の形態2)
 続いて、本発明の実施の形態2における、機械学習装置、機械学習方法、及びプログラムについて、図7~図9を参照しながら説明する。
[0050]
[装置構成]
 最初に、図7を用いて、本発明の実施の形態2における機械学習装置の構成について説明する。図7は、本発明の実施の形態2における機械学習装置の構成を示すブロック図である。
[0051]
 図7に示すように、本発明の実施の形態2における機械学習装置101は、図1及び図2に示した実施の形態1における機械学習装置100と同様に、疑似データ生成部10、学習部20、辞書格納部30、実データ格納部40、及び疑似データ格納部50を備えている。但し、本実施の形態2においては、機械学習装置101は、実施の形態1における機械学習装置100と異なり、疑似データ選択部60を備えている。以下、実施の形態1との相違点を中心に説明する。
[0052]
 まず、本実施の形態2では、疑似データ生成部10において、動作映像合成部12は、1つのフレームに対して、関節の摂動の程度が異なる複数の疑似データを作成し、作成した各疑似データを疑似データ格納部50に格納する。
[0053]
 疑似データ選択部60は、第2のパラメータ更新部22が第2の転移学習の際に算出している損失値を取得する。また、疑似データ選択部60は、取得した損失値に基づいて、生成された疑似データの中から特定の疑似データを選択し、選択した疑似データのみを学習部10に出力する。なお、損失値が未だ算出されていない場合は、疑似データ選択部60は、デフォルトの値を損失値として用いて、疑似データを選択する。
[0054]
 つまり、本実施の形態2では、第2のパラメータ更新部22は、あるフレームについて、第2の転移学習を行うと、その際に算出された損失値を、疑似データ選択部60に出力する。そして、疑似データ選択部60は、出力されてきた損失値に基づいて、疑似データ格納部50に格納されている疑似データの中から、次のフレームにおいて第1のパラメータ更新部21による学習で使用する疑似データを選択する。
[0055]
[装置動作]
 次に、本発明の実施の形態2における機械学習装置101の動作について図8を用いて説明する。図8は、本発明の実施の形態2における機械学習装置の動作を示すフロー図である。以下の説明においては、適宜図7を参酌する。また、本実施の形態2では、機械学習装置101を動作させることによって、機械学習方法が実施される。よって、本実施の形態2における機械学習方法の説明は、以下の機械学習装置101の動作説明に代える。
[0056]
 図8に示すように、最初に、疑似データ生成部10において、動作解析部11が、実データ格納部40から、目的タスクにおける実データである、人物の映像データを、フレーム単位で取得する(ステップB1)。ステップB1は、図4に示したステップA1と同様のステップである。
[0057]
 次に、動作解析部11は、ステップB1で取得されたフレームから、フレーム毎に、HOG特徴量を用いて、人体に相当する部分の画像を検出する(ステップB2)。ステップB2は、図4に示したステップA2と同様のステップである。
[0058]
 次に、動作解析部11は、ステップB1で検出された画像の特徴ベクトルと、予め用意されている人体モデルの特徴ベクトルとから、検出された画像の人体の各関節を特定する(ステップB3)。ステップ3は、図4に示したステップA3と同様のステップである。
[0059]
 次に、動作映像合成部12は、ステップB2で特定された関節の中から、ランダムに又はルールに沿って、1又は2以上の関節を選択する。そして、動作映像合成部12は、選択した関節を、摂動時の設定量が異なる複数のパターンで摂動させて、複数の疑似データの(フレーム)を生成する(ステップB4)。ステップB4によって生成された各疑似データは、疑似データ格納部50に格納される。
[0060]
 次に、疑似データ選択部60は、第2のパラメータ更新部22が前回の第2の転移学習の際に算出している損失値に基づいて、ステップB4で生成された疑似データの中から特定の疑似データを選択し、選択した疑似データのみを学習部10に出力する(ステップB5)。
[0061]
 次に、学習部20において、第1のパラメータ更新部21は、ステップB5で疑似データ選択部60によって選択された疑似データを取得する。そして、第1のパラメータ更新部21は、転送元タスクの識別用辞書31のパラメータセットと疑似データとを用いて、疑似データのタスク(疑似タスク)を学習して、疑似タスクの識別用辞書32のパラメータセットを更新する(ステップB6)。
[0062]
 次に、第2のパラメータ更新部22は、ステップB6で更新された疑似タスクの識別用辞書32のパラメータセットと、目的タスクにおける実データとを用いて、目的タスクを学習して、目的タスクの識別用辞書33のパラメータセットを更新する(ステップB7)。その後、第2のパラメータ更新部22は、学習の際に算出した損失値を、疑似データ選択部60に出力する(ステップB8)。
[0063]
 ステップB8の実行後は、実データ格納部40に格納されている映像データの別のフレームを対象にして、再度、ステップB1が実行される。つまり、ステップB1~B8は、実データである映像データのフレーム単位で繰り返し実行される。
[0064]
[実施の形態2における効果]
 このような構成により、本実施の形態2では、疑似データ選択部60は、初期の学習処理においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように、摂動の大きい疑似データを選択することができる。また、疑似データ選択部60は、学習が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように、摂動の小さい疑似データを選択することができる。この結果、本実施の形態2でも、上述の実施の形態1の変形例1及び2と同様に、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
[0065]
[プログラム]
 本実施の形態2におけるプログラムは、コンピュータに、図8に示すステップB1~B8を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2における機械学習装置100と機械学習方法とを実現することができる。この場合、コンピュータのプロセッサは、疑似データ生成部10、学習部20、及び疑似データ選択部60として機能し、処理を行なう。
[0066]
 また、本実施の形態2では、辞書格納部30、実データ格納部40、及び疑似データ格納部50は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されている。
[0067]
 更に、本実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、疑似データ生成部10、学習部20、及び疑似データ選択部60のいずれかとして機能しても良い。また、辞書格納部30、実データ格納部40、及び疑似データ格納部50は、本実施の形態1におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
[0068]
[変形例]
 続いて、図9を用いて、本実施の形態2における機械学習装置100の変形例について以下に説明する。図9は、本発明の実施の形態2の変形例における機械学習装置の構成を示すブロック図である。
[0069]
 本変形例では、疑似データ選択部60は、第1のパラメータ更新部21が第1の転移学習の際に算出している損失値を取得する。なお、本変形例でも、疑似データ選択部60は、取得した損失値に基づいて、生成された疑似データの中から特定の疑似データを選択し、選択した疑似データのみを学習部10に出力する。
[0070]
 このような構成により、本変形例でも、図7及び8に示した例と同様に、疑似データ選択部60は、初期の学習処理においては、学習において識別がし易くなるように、即ち、損失値が小さくなるように、摂動の大きい疑似データを選択することができる。また、疑似データ選択部60は、学習が進んでいくと、識別が難しくなるように、即ち、損失値が高くなるように、摂動の小さい疑似データを選択することができる。本変形例においても、徐々に、転移元のタスクの実データにより近い疑似データが生成されるので、転移学習の成功率がよりいっそう向上することになる。
[0071]
(物理構成)
 ここで、実施の形態1及び2におけるプログラムを実行することによって、機械学習装置を実現するコンピュータについて図10を用いて説明する。図10は、本発明の実施の形態における機械学習装置を実現するコンピュータの一例を示すブロック図である。
[0072]
 図10に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
[0073]
 CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
[0074]
 また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
[0075]
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
[0076]
 また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
[0077]
 なお、本実施の形態における機械学習装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、機械学習装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
[0078]
 上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記21)によって表現することができるが、以下の記載に限定されるものではない。
[0079]
(付記1)
 転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための装置であって、
 前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成部と、
 前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、学習部と、
を備えている、
ことを特徴とする機械学習装置。
[0080]
(付記2)
付記1に記載の機械学習装置であって、
 前記疑似データ生成部が、前記疑似データとして、前記第2のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習装置。
[0081]
(付記3)
付記2に記載の機械学習装置であって、
 前記第1のタスクが、人物の動作を識別するタスクであり、前記第2のタスクが、前記第1のタスクで識別される動作とは別の動作を識別するタスクである場合において、
 前記疑似データ生成部が、
前記第2のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習装置。
[0082]
(付記4)
付記3に記載の機械学習装置であって、
 前記疑似データ生成部が、前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
[0083]
(付記5)
付記3に記載の機械学習装置であって、
 前記疑似データ生成部が、前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
[0084]
(付記6)
付記3に記載の機械学習装置であって、
 前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習部に出力する、疑似データ選択部を、
更に備えている、
ことを特徴とする機械学習装置。
[0085]
(付記7)
付記3に記載の機械学習装置であって、
 前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習部に出力する、疑似データ選択部を、
更に備えている、
ことを特徴とする機械学習装置。
[0086]
(付記8)
 転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための方法であって、
(a)前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
(b)前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、ステップと、
を有している、
ことを特徴とする機械学習方法。
[0087]
(付記9)
付記8に記載の機械学習方法であって、
 前記(a)のステップにおいて、前記疑似データとして、前記第2のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習方法。
[0088]
(付記10)
付記9に記載の機械学習方法であって、
 前記第1のタスクが、人物の動作を識別するタスクであり、前記第2のタスクが、前記第1のタスクで識別される動作とは別の動作を識別するタスクである場合において、
 前記(a)のステップにおいて、
前記第2のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習方法。
[0089]
(付記11)
付記10に記載の機械学習方法であって、
 前記(a)のステップにおいて、前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
[0090]
(付記12)
付記10に記載の機械学習方法であって、
 前記(a)のステップにおいて、前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
[0091]
(付記13)
付記10に記載の機械学習方法であって、
(c)前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
[0092]
(付記14)
付記10に記載の機械学習方法であって、
(d)前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
[0093]
(付記15)
 コンピュータを用いて転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための、プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(a)前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
(b)前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[0094]
(付記16)
付記15に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(a)のステップにおいて、前記疑似データとして、前記第2のタスクにおける実データに類似しているデータを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[0095]
(付記17)
付記16に記載のコンピュータ読み取り可能な記録媒体であって、
 前記第1のタスクが、人物の動作を識別するタスクであり、前記第2のタスクが、前記第1のタスクで識別される動作とは別の動作を識別するタスクである場合において、
 前記(a)のステップにおいて、
前記第2のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[0096]
(付記18)
付記17に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(a)のステップにおいて、前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[0097]
(付記19)
付記17に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(a)のステップにおいて、前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[0098]
(付記20)
付記17に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
(c)前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[0099]
(付記21)
付記17に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
(d)前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[0100]
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。

産業上の利用可能性

[0101]
 以上のように、本発明によれば、転移学習における成功率の向上を図ることができる。本発明は、転移学習が行われる種々のシステム、例えば、カメラから映像から不審な人物を監視する監視装置等に有用である。

符号の説明

[0102]
 10 疑似データ生成部
 11 動作解析部
 12 動作映像合成部
 20 学習部
 21 第1のパラメータ更新部
 22 第2のパラメータ更新部
 30 辞書格納部
 31 転移元タスクの識別用辞書
 32 疑似タスクの識別用辞書
 33 目的タスクの識別用辞書
 40 実データ格納部
 50 疑似データ格納部
 100 機械学習装置(実施の形態1)
 101 機械学習装置(実施の形態2)
 110 コンピュータ
 111 CPU
 112 メインメモリ
 113 記憶装置
 114 入力インターフェイス
 115 表示コントローラ
 116 データリーダ/ライタ
 117 通信インターフェイス
 118 入力機器
 119 ディスプレイ装置
 120 記録媒体
 121 バス

請求の範囲

[請求項1]
 転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための装置であって、
 前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、疑似データ生成手段と、
 前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、学習手段と、
を備えている、
ことを特徴とする機械学習装置。
[請求項2]
請求項1に記載の機械学習装置であって、
 前記疑似データ生成手段が、前記疑似データとして、前記第2のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習装置。
[請求項3]
請求項2に記載の機械学習装置であって、
 前記第1のタスクが、人物の動作を識別するタスクであり、前記第2のタスクが、前記第1のタスクで識別される動作とは別の動作を識別するタスクである場合において、
 前記疑似データ生成手段が、
前記第2のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習装置。
[請求項4]
請求項3に記載の機械学習装置であって、
 前記疑似データ生成手段が、前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
[請求項5]
請求項3に記載の機械学習装置であって、
 前記疑似データ生成手段が、前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習装置。
[請求項6]
請求項3に記載の機械学習装置であって、
 前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習手段に出力する、疑似データ選択手段を、
更に備えている、
ことを特徴とする機械学習装置。
[請求項7]
請求項3に記載の機械学習装置であって、
 前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記学習手段に出力する、疑似データ選択手段を、
更に備えている、
ことを特徴とする機械学習装置。
[請求項8]
 転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための方法であって、
(a)前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
(b)前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、ステップと、
を有している、
ことを特徴とする機械学習方法。
[請求項9]
請求項8に記載の機械学習方法であって、
 前記(a)のステップにおいて、前記疑似データとして、前記第2のタスクにおける実データに類似しているデータを生成する、
ことを特徴とする機械学習方法。
[請求項10]
請求項9に記載の機械学習方法であって、
 前記第1のタスクが、人物の動作を識別するタスクであり、前記第2のタスクが、前記第1のタスクで識別される動作とは別の動作を識別するタスクである場合において、
 前記(a)のステップにおいて、
前記第2のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とする機械学習方法。
[請求項11]
請求項10に記載の機械学習方法であって、
 前記(a)のステップにおいて、前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
[請求項12]
請求項10に記載の機械学習方法であって、
 前記(a)のステップにおいて、前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とする機械学習方法。
[請求項13]
請求項10に記載の機械学習方法であって、
(c)前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
[請求項14]
請求項10に記載の機械学習方法であって、
(d)前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
更に有する、
ことを特徴とする機械学習方法。
[請求項15]
 コンピュータを用いて転移学習によって、第1のタスクで用いる第1の識別用辞書から、第2のタスクで用いる第2の識別用辞書を構築するための、プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(a)前記第1のタスクにおける実データ及び前記第2のタスクにおける実データのいずれか又は両方を加工して、疑似データを生成する、ステップと、
(b)前記第1の識別用辞書を用いて、前記疑似データを学習データとした第1の転移学習を行って、第3の識別用辞書を構築し、更に、前記第3の識別用辞書を用いて、前記第2のタスクにおける実データを学習データとした第2の転移学習を行って、前記第2の識別用辞書を構築する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[請求項16]
請求項15に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(a)のステップにおいて、前記疑似データとして、前記第2のタスクにおける実データに類似しているデータを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[請求項17]
請求項16に記載のコンピュータ読み取り可能な記録媒体であって、
 前記第1のタスクが、人物の動作を識別するタスクであり、前記第2のタスクが、前記第1のタスクで識別される動作とは別の動作を識別するタスクである場合において、
 前記(a)のステップにおいて、
前記第2のタスクにおける実データである人物の映像データから、前記人物の関節を特定し、前記映像データに対して、特定した前記関節を摂動させる画像処理を実行して、前記人物の姿勢を変化させることによって、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[請求項18]
請求項17に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(a)のステップにおいて、前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[請求項19]
請求項17に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(a)のステップにおいて、前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、前記関節を摂動させる際の程度を調整して、前記疑似データを生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[請求項20]
請求項17に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
(c)前記第2の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
[請求項21]
請求項17に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
(d)前記第1の転移学習の際に算出されている損失値を取得し、取得した前記損失値に基づいて、生成された前記疑似データの中から特定の疑似データを選択し、選択した疑似データのみを前記(b)のステップのために出力する、ステップを、
実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]