(57)【特許請求の範囲】
【請求項１】
複数のタスクのそれぞれに対応する複数の学習データを入力して、学習データのデータサイズをバッチサイズで除算した値がタスク間で同じになるバッチサイズをタスクごとに算出する学習データ処理部と、
前記学習データ処理部により算出されたバッチサイズで、タスクごとの学習データからサンプルをサンプリングするバッチサンプリング部と、
前記バッチサンプリング部によりサンプリングされたサンプルを用いて、タスクごとに識別器の重みを更新する学習部と
を備えたことを特徴とする学習装置。
【請求項２】
複数のタスクのそれぞれに対応する複数の学習データを入力して、バッチサイズ同士の比率がタスク間ごとにそれぞれ定められた一定の値となるバッチサイズをタスクごとに算出する学習データ処理部と、
前記学習データ処理部により算出されたバッチサイズで、タスクごとの学習データからサンプルをサンプリングするバッチサンプリング部と、
前記バッチサンプリング部によりサンプリングされたサンプルを用いて、タスクごとに識別器の重みを更新する学習部と
を備えたことを特徴とする学習装置。
【請求項３】
入力情報の入力を受け付ける入力情報処理部と、
請求項１記載の学習装置によって学習され、前記入力情報処理部により受け付けられた入力情報を用いて識別処理を行う識別器と
を備えたことを特徴とする信号処理装置。
【請求項４】
入力情報の入力を受け付ける入力情報処理部と、
請求項２記載の学習装置によって学習され、前記入力情報処理部により受け付けられた入力情報を用いて識別処理を行う識別器と
を備えたことを特徴とする信号処理装置。
【請求項５】
学習データ処理部が、複数のタスクのそれぞれに対応する複数の学習データを入力して、学習データのデータサイズをバッチサイズで除算した値がタスク間で同じになるバッチサイズをタスクごとに算出するステップと、
バッチサンプリング部が、前記学習データ処理部により算出されたバッチサイズで、タスクごとの学習データからサンプルをサンプリングするステップと、
学習部が、前記バッチサンプリング部によりサンプリングされたサンプルを用いて、タスクごとに識別器の重みを更新するステップと
を備えたことを特徴とする学習方法。
【請求項６】
学習データ処理部が、複数のタスクのそれぞれに対応する複数の学習データを入力して、バッチサイズ同士の比率がタスク間ごとにそれぞれ定められた一定の値となるバッチサイズをタスクごとに算出するステップと、
バッチサンプリング部が、前記学習データ処理部により算出されたバッチサイズで、タスクごとの学習データからサンプルをサンプリングするステップと、
学習部が、前記バッチサンプリング部によりサンプリングされたサンプルを用いて、タスクごとに識別器の重みを更新するステップと
を備えたことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、１つのニューラルネットワークを用いて異なる種類の複数のタスクを学習する学習装置、これを備えた信号処理装置および学習方法に関する。
【背景技術】
【０００２】
コンピュータの計算速度の向上に伴って、ニューラルネットワークを用いた様々な情報処理が可能となっている。ニューラルネットワークとは、パーセプトロンを階層的に配置した計算モデルである。パーセプトロンでは、入力信号の重み付き和を計算し、この重み付き和に活性化関数と呼ばれる非線形関数の演算を施して出力する。すなわち、入力信号をＸ＝（ｘ１，ｘ２，・・・，ｘｎ）とし、重みをＷ＝（ｗ１，ｗ２，・・・，ｗｎ）とし、活性化関数をｆ（・）とすると、パーセプトロンの出力ｏｕｔは、ｏｕｔ＝ｆ（Ｘ＊Ｗ）で表すことができる。なお、＊はベクトルの要素積である。【０００３】
また、特許文献１には、畳み込みニューラルネットワークを使用した分類器システムが記載されている。畳み込みニューラルネットワークにおけるパーセプトロンは、画像などの２次元信号を入力信号とし、活性化関数にはシグモイド関数またはＲｅＬＵ関数を使用する。上記分類器システムが備えるニューラルネットワーク分類器の学習方法としては、確率的勾配降下法が採用されている。確率的勾配降下法とは、誤差逆伝播による重み更新を学習データ全体で行わず、学習データから部分的なバッチでサンプルを抽出し、抽出したサンプルを用いて重み更新を行う操作を学習ループの繰り返し回数分だけ繰り返す学習方法である。【０００４】
さらに、近年では、１つのニューラルネットワークで異なる種類の複数のタスクを学習する、いわゆるマルチタスク学習の枠組みが提案されている。ここで特筆すべき点は、回帰または分類といったタスクの種類が異なっていても学習がうまくいく点である。
例えば、非特許文献１には、マルチタスク学習による顔認識に関する技術が記載されている。この技術では、表情認識、顔向き推定などの分類タスクと、顔の特徴点検出などの回帰タスクとを組み合わせて学習することにより、認識精度を高めている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−４９１１８号公報
【非特許文献】
【０００６】
【非特許文献１】Ｚ．  Ｚｈａｎｇ，  Ｐ．  Ｌｕｏ，  Ｃ．  Ｃ．  Ｌｏｙ，  ａｎｄ  Ｘ．  Ｔａｎｇ，  “Ｆａｃｉａｌ  ｌａｎｄｍａｒｋ  ｄｅｔｅｃｔｉｏｎ  ｂｙ  ｄｅｅｐ  ｍｕｌｔｉ−ｔａｓｋ  ｌｅａｒｎｉｎｇ”，  ｉｎ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  ２０１４，  ｐｐ．  ９４−１０８．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
確率的勾配降下法による従来のマルチタスク学習では、学習データにおけるそれぞれのサンプルが、学習対象となる複数のタスクについてのラベルを完備していることが前提であった。なお、学習データとは、複数のサンプルからなるデータセットである。サンプルは、識別器に学習させるデータとその正解データであるラベルとが組み合わさったデータである。【０００８】
また、確率的勾配降下法による従来のマルチタスク学習は、複数の学習データで同じ値のバッチサイズを決めて、このバッチサイズで学習データのデータサイズを除算した値を学習ループの繰り返し回数としていた。
上記前提により学習データ同士が同じデータサイズであるので、複数のタスクで１つのバッチサイズを決めてやれば、同じバッチサイズでタスクごとのサンプリングを繰り返すことができる。【０００９】
しかしながら、実際には、学習対象となる複数のタスクについてのラベルを完備していないサンプルが学習データに含まれる場合がある。
例えば、タスク別の学習データを組み合わせて学習する場合、あるいは単独のタスクに対応する学習データを収集した後に別のタスクに対応する学習データを追加する場合は、サンプルが、対応するタスク以外のタスクについてのラベルを備えていない。【００１０】
このように学習対象となる全てのタスクについてのラベルをサンプルが完備していない場合、学習データのデータサイズがタスクごとに異なることになる。
この場合、従来では、複数のタスクのそれぞれで学習を適切に完了できるバッチサイズを決定するアルゴリズムがなく、適切な学習ができないという課題があった。【００１１】
なお、ラベルを完備していないサンプルに対して不足分のラベルを追加することも考えられる。しかしながら、学習データのデータセットとしては１０，０００サンプルを超えるものが一般的になっており、不足分のラベルを獲得して追加するには膨大な作業が必要となる。【００１２】
この発明は上記課題を解決するもので、学習対象となる複数のタスクのラベルを完備していないサンプルが含まれる学習データを用いても確率的勾配降下法によるマルチタスク学習を適切に行うことができる学習装置、信号処理装置および学習方法を得ることを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係る学習装置は、学習データ処理部、バッチサンプリング部および学習部を備える。学習データ処理部は、複数のタスクのそれぞれに対応する複数の学習データを入力して、学習データのデータサイズをバッチサイズで除算した値がタスク間で同じになるバッチサイズをタスクごとに算出する。バッチサンプリング部は、学習データ処理部により算出されたバッチサイズでタスクごとの学習データからサンプルをサンプリングする。学習部は、バッチサンプリング部によりサンプリングされたサンプルを用いてタスクごとに識別器の重みを更新する。
【発明の効果】
【００１４】
この発明によれば、学習データのデータサイズをバッチサイズで除算した値が学習データ間で同じ値になるバッチサイズで、学習データからサンプルがサンプリングされる。
これにより、学習対象となる複数のタスクのラベルを完備していないサンプルが含まれる学習データを用いても、確率的勾配降下法によるマルチタスク学習を適切に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】この発明の実施の形態１に係る信号処理装置の構成例を示すブロック図である。
【図２】識別器の一例を示す図である。
【図３】実施の形態１に係る学習装置の構成例を示すブロック図である。
【図４】図４Ａは、実施の形態１に係る学習装置の機能を実現するハードウェア構成を示すブロック図である。図４Ｂは、実施の形態１に係る学習装置の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。
【図５】図５Ａは、タスクＡおよびタスクＢの両方のラベルを完備したサンプルからなる学習データの概要を示す図である。図５Ｂは、タスクＡおよびタスクＢのうちのいずれか一方のラベルを備えたサンプルからなる学習データの概要を示す図である。
【図６】実施の形態１に係る学習装置の動作を示すフローチャートである。
【図７】図６のステップＳＴ２の処理の詳細を示すフローチャートである。
【図８】実施の形態１に係る信号処理装置の動作を示すフローチャートである。
【図９】この発明の実施の形態２に係る学習装置の構成例を示すブロック図である。
【図１０】実施の形態２に係る学習装置の動作を示すフローチャートである。
【図１１】信号処理装置の別の構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、この発明の実施の形態１に係る信号処理装置１の構成例を示すブロック図である。信号処理装置１は、例えば、文字認識、顔認識といった認識装置として機能する装置であって、入力情報処理部２、学習装置３および識別器４を備える。
【００１７】
入力情報処理部２は、入力情報から識別処理に用いられる情報を生成し、生成した情報を識別器４に与える。例えば、信号処理装置１が映像データから物体を検出する物体検出装置である場合、入力情報処理部２は、入力情報として得た映像データから映像の特徴を抽出して、映像の特徴情報を識別器４に出力する。
【００１８】
学習装置３は、識別器４の学習を行う装置である。以降、学習装置３が、種類が異なるタスクＡとタスクＢとにそれぞれ対応する学習データを用いて識別器４の学習を行うものとして説明を行う。種類が異なるタスクＡ，Ｂとしては、例えば、表情認識、顔向き推定などの分類タスクと、顔の特徴点検出などの回帰タスクとが挙げられる。
【００１９】
学習対象となるタスクの組み合わせでは、それらのタスクで用いられる入力情報の特徴が類似していることが前提とされる。前述した顔向き推定と顔の特徴点検出とでは、顔の特徴を捉えるという点で類似しているため、マルチタスク学習が可能となる。
なお、この前提は、マルチタスク学習を適切に行うことができれば、学習対象のタスクで用いられる情報の特徴も類似するという程度のものである。
【００２０】
識別器４は、入力情報処理部２から入力した情報に基づいて、対象の物体または事象を識別する。識別器４としては、例えば図２に示すニューラルネットワークが挙げられる。
ニューラルネットワークは、ノードであるパーセプトロンが階層的に配置されており、入力層、隠れ層、出力層の順で階層ごとのパーセプトロンが入力情報を処理することで、識別結果が算出される。出力層は識別するタスクの出力に対応しており、回帰タスクであれば、活性化関数の出力をそのまま予測値として出力する。また、分類タスクであれば、出力層は、ソフトマックス関数を適用した値を出力する。
【００２１】
図３は、実施の形態１に係る学習装置３の構成例を示すブロック図である。
図３に示す学習装置３は、１つのニューラルネットワークで異なる種類のタスクＡ，Ｂを学習する、いわゆるマルチタスク学習を行う装置であり、学習データ処理部５、バッチサンプリング部６および学習部７を備える。また、学習装置３は確率的勾配降下法によるマルチタスク学習を行う。
【００２２】
学習データ処理部５は、学習データのデータサイズをバッチサイズで除算した値がタスクＡとタスクＢとの間で同じになるバッチサイズを算出する。
例えば、タスクＡに対応する学習データのデータサイズをＳ１、バッチサイズをＢ１とし、タスクＢに対応する学習データのデータサイズをＳ２、バッチサイズをＢ２とした場合、学習データ処理部５は、Ｓ１／Ｂ１＝Ｓ２／Ｂ２となるＢ１とＢ２とを算出する。
なお、学習データのデータサイズとは、学習データに含まれるサンプル数である。
また、バッチサイズは、学習データから一度にサンプリングされるサンプル数である。
【００２３】
バッチサンプリング部６は、学習データ処理部５によって算出されたバッチサイズで、タスクごとの学習データからサンプルをサンプリングする。
なお、タスクＡにおける１回の学習ループの繰り返し回数はＳ１／Ｂ１であり、タスクＢにおける１回の学習ループの繰り返し回数はＳ２／Ｂ２であるので、タスクＡとタスクＢとは１回の学習ループが完了するタイミングが同じである。
このようにしてタスクＡの学習においてバッチサイズＢ１でサンプリングが適切に行われ、タスクＢの学習においてバッチサイズＢ２でサンプリングが適切に行われる。
【００２４】
学習部７は、タスクＡとタスクＢの学習ループにおいてサンプリングされたサンプルを用いて、誤差逆伝播法による識別器４の重み更新を実行する。
確率的勾配降下法においては、誤差逆伝播法を用いて識別器４の重みが更新される。
なお、誤差逆伝播法とは、識別器４であるニューラルネットワークの出力誤差を出力層から入力層に向かって順に伝播させて重みを更新させる方法である。
【００２５】
また、図４Ａは、学習装置３の機能を実現するハードウェア構成を示すブロック図である。図４Ｂは、学習装置３の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。学習装置３における、学習データ処理部５、バッチサンプリング部６および学習部７の各機能は、処理回路により実現される。すなわち、学習装置３は、これらの機能を逐次実行するための処理回路を備えている。
処理回路は、専用のハードウェアであってもメモリに格納されたプログラムを読み出して実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）またはＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。
【００２６】
処理回路が、図４Ａに示す専用のハードウェアの処理回路１００である場合、処理回路１００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、または、これらを組み合わせたものが該当する。
また、学習データ処理部５、バッチサンプリング部６および学習部７の各部の機能を、それぞれ処理回路で実現してもよいし、各部の機能をまとめて１つの処理回路で実現してもよい。
【００２７】
上記処理回路が、図４Ｂに示すようなＣＰＵ１０１である場合、学習データ処理部５、バッチサンプリング部６および学習部７の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。
ソフトウェアとファームウェアは、プログラムとして記述され、メモリ１０２に格納される。ＣＰＵ１０１は、メモリ１０２に格納されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、ＣＰＵ１０１によって実行されると各機能が結果的に実行されるプログラムを格納するためのメモリ１０２を備える。
また、これらのプログラムは、学習データ処理部５、バッチサンプリング部６および学習部７の手順または方法をコンピュータに実行させるものである。
【００２８】
ここで、メモリとは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）などが該当する。
【００２９】
なお、学習データ処理部５、バッチサンプリング部６および学習部７の各機能について一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。例えば、学習データ処理部５は、専用のハードウェアの処理回路１００でその機能を実現し、バッチサンプリング部６および学習部７は、ＣＰＵ１０１がメモリ１０２に格納されたプログラム実行することによりその機能を実現する。
このように、上記処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって前述の機能を実現することができる。
【００３０】
また、図５Ａは、タスクＡおよびタスクＢの両方のラベルを完備したサンプルからなる学習データの概要を示す図である。図５Ｂは、タスクＡおよびタスクＢのうちのいずれか一方のラベルを備えたサンプルからなる学習データの概要を示す図である。
図５Ａでは、タスクＡに対応する学習データにおけるサンプルが、タスクＡとタスクＢとの両方のラベルを完備しており、タスクＢに対応する学習データにおけるサンプルが、タスクＡとタスクＢとの両方のラベルを完備している。
【００３１】
この場合、図５Ａに示すように、タスクＡに対応する学習データとタスクＢに対応する学習データとでそれぞれのデータサイズが同じ値になる。このため、タスクＡとタスクＢとで１つのバッチサイズを設定しても、このバッチサイズでのサンプリングをタスクＡとタスクＢとで適切に行うことができる。
【００３２】
一方、図５Ｂでは、タスクＡに対応する学習データは、タスクＡについてのラベルのみを備えており、タスクＢに対応する学習データは、タスクＢについてのラベルのみを備えている。このため、図５Ｂに示すように、タスクＡに対応する学習データのデータサイズとタスクＢに対応する学習データのデータサイズとが異なっている。
この場合、従来では、タスクＡとタスクＢとで学習を適切に完了できるバッチサイズを決定するアルゴリズムがなかった。
【００３３】
そこで、この実施の形態１に係る学習装置３では、学習データのデータサイズをバッチサイズで除算した値が学習データ間で同じ値になるバッチサイズでタスクＡとタスクＢの学習データからサンプルをサンプリングする。
これにより、タスクＡについてのラベルとタスクＢについてのラベルのいずれかを完備していないサンプルが含まれる学習データを用いても、確率的勾配降下法によるマルチタスク学習を適切に行うことができる。
【００３４】
次に動作について説明する。
図６は、学習装置３の動作を示すフローチャートであって、識別器４を学習する一連の処理を示している。
まず、学習装置３は、学習データを読み込み（ステップＳＴ１）、学習データを用いて識別器４を学習する（ステップＳＴ２）。ここで、タスクＡとタスクＢとにそれぞれ対応する学習データを用いて、確率的勾配降下法によるマルチタスク学習が行われる。
【００３５】
図７は、図６のステップＳＴ２の処理の詳細を示すフローチャートであり、確率的勾配降下法によるマルチタスク学習の一連の処理を示している。
まず、学習データ処理部５が、タスクＡのバッチサイズＢ１とタスクＢのバッチサイズＢ２とを算出する（ステップＳＴ１ａ）。
ここでは、学習データ処理部５が、タスクＡに対応する学習データと、タスクＢに対応する学習データとを入力し、これらのデータサイズに基づいてバッチサイズＢ１，Ｂ２を算出する。具体的には、タスクＡに対応する学習データのデータサイズをＳ１、タスクＢに対応する学習データのデータサイズをＳ２とした場合、Ｓ１／Ｂ１＝Ｓ２／Ｂ２となるＢ１とＢ２が算出される。
例えば、Ｓ１＝５０、Ｓ２＝１００である場合、タスクＡのバッチサイズがＢ１＝２、タスクＢのバッチサイズがＢ２＝４となる。
【００３６】
続いて、学習データ処理部５は、識別器４において、タスクＡに対応する学習データで更新する重みＷ１と、タスクＢに対応する学習データで更新する重みＷ２とを初期化し、さらにエポックを初期化する（ステップＳＴ２ａ）。
エポックとは、学習データにおける全てのサンプルを１回使用する学習ループである。
なお、タスクＡについて１回のエポックでＳ１／Ｂ１回のサンプリングが繰り返され、タスクＢについて１回のエポックでＳ２／Ｂ２回のサンプリングが繰り返される。
【００３７】
次に、学習データ処理部５は、タスクＡに対応する学習データのサンプルをシャッフルし、タスクＢに対応する学習データのサンプルをシャッフルする（ステップＳＴ３ａ）。
なお、サンプルのシャッフルとは、学習データからサンプリングするサンプルの順番を任意に並び替えることである。
【００３８】
続いて、バッチサンプリング部６は、学習データ処理部５によりサンプルがシャッフルされた学習データのうち、タスクＡに対応する学習データからバッチサイズＢ１でサンプルをサンプリングする（ステップＳＴ４ａ）。
さらに、バッチサンプリング部６は、学習データ処理部５によりサンプルがシャッフルされた学習データのうち、タスクＢに対応する学習データからバッチサイズＢ２でサンプルをサンプリングする（ステップＳＴ５ａ）。
【００３９】
学習部７は、バッチサンプリング部６によってバッチサイズＢ１でサンプリングされたサンプルを用いて、識別器４の重みＷ１を更新する（ステップＳＴ６ａ）。
さらに、学習部７は、バッチサンプリング部６によりバッチサイズＢ２でサンプリングされたサンプルを用いて、識別器４の重みＷ２を更新する（ステップＳＴ７ａ）。
この後、学習部７は、タスクＡに対応する学習データとタスクＢに対応する学習データとから全てのサンプルがサンプリングされたか否かを判定する（ステップＳＴ８ａ）。
【００４０】
学習データから全てのサンプルがサンプリングされていなければ（ステップＳＴ８ａ；ＮＯ）、学習部７は、その旨をバッチサンプリング部６に通知する。
バッチサンプリング部６は、学習部７から上記通知を受けると、学習データから次のバッチのサンプリングを行う。これにより、ステップＳＴ４ａからの一連の処理が繰り返される。
【００４１】
一方、学習データから全てのサンプルがサンプリングされた場合（ステップＳＴ８ａ；ＹＥＳ）、学習部７は、その旨を学習データ処理部５に通知する。
学習データ処理部５は、学習部７から上記通知を受けると、エポックを１つインクリメントする（ステップＳＴ９ａ）。
この後、学習データ処理部５は、エポックが予め定められた回数Ｎ以上になったか否かを判定する（ステップＳＴ１０ａ）。
【００４２】
エポックが回数Ｎ未満である場合（ステップＳＴ１０ａ；ＮＯ）、学習データ処理部５は、ステップＳＴ３ａに戻って前述した一連の処理を繰り返す。
また、エポックが回数Ｎ以上になっていれば（ステップＳＴ１０ａ；ＹＥＳ）、処理が終了される。なお、Ｓ１／Ｂ１＝Ｓ２／Ｂ２であるので、タスクＡとタスクＢとで１回のエポックが完了するタイミングは同じである。
【００４３】
図８は、信号処理装置１の動作を示すフローチャートであり、識別器４による信号処理を行うまでの一連の処理を示している。
まず、入力情報処理部２が、入力情報を読み込む（ステップＳＴ１ｂ）。
識別器４は、入力情報処理部２から入力した情報に基づいて、対象の物体または事象を識別する信号処理を行う（ステップＳＴ２ｂ）。
【００４４】
実施の形態１では、タスクＡとタスクＢのラベルを完備していないサンプルが含まれる学習データを用いてもバッチサイズを適切に設定することができる。
これにより、データサイズが異なる複数の学習データを用いた確率的勾配降下法によるマルチタスク学習を実現することができる。
例えば、特徴点検出のタスクと表情認識のタスクを行うニューラルネットワークを適切に構築することが可能である。
【００４５】
なお、実施の形態１における識別器４としては、確率的勾配降下法を用いた学習を行うものであればよい。すなわち、学習装置３は、例えば、畳み込みニューラルネットワーク（ＣＮＮ）、深層ニューラルネットワーク（ＤＮＮ）、再帰型ニューラルネットワーク（ＲＮＮ）、長短期記憶ユニット（ＬＳＴＭ）またはオートエンコーダの学習に適用することができる。
【００４６】
また、実施の形態１では、タスクＡとタスクＢを識別器４に学習する場合を示したが、学習装置３による学習アルゴリズムは、３つ以上のタスクについてのマルチタスク学習に適用することができる。
例えば、タスクＡ、タスクＢおよびタスクＣが学習対象であり、タスクＡを基準タスクとした場合、タスクＢとタスクＣでは、この基準タスクに対する繰り返し回数に基づいてバッチサイズが決定される。
【００４７】
以上のように、実施の形態１に係る学習装置３は、学習データ処理部５、バッチサンプリング部６および学習部７を備えている。この構成において、学習データのデータサイズをバッチサイズで除算した値が学習データ間で同じ値になるバッチサイズで、タスクごとにサンプルをサンプリングする。
これにより、学習対象となる複数のタスクのラベルを完備していないサンプルが含まれる学習データを用いても、確率的勾配降下法によるマルチタスク学習を適切に行うことができる。
【００４８】
また、実施の形態１に係る信号処理装置１は、入力情報処理部２、学習装置３および識別器４を備える。この構成を有することで、学習対象となる複数のタスクのラベルを完備していないサンプルが含まれる学習データを用いて確率的勾配降下法によるマルチタスク学習を行うことができる。
【００４９】
実施の形態２．
実施の形態２では、バッチサイズ同士の比率がタスク間で一定の値となるバッチサイズでマルチタスク学習が行われる。
図９は、この発明の実施の形態２に係る学習装置３Ａの構成を示すブロック図であり、図３と同一構成要素には同一の符号を付して説明を省略する。
図９に示す学習装置３Ａは、１つのニューラルネットワークで異なる種類のタスクＡ，Ｂを学習する、いわゆるマルチタスク学習を行う装置であって、学習データ処理部５Ａ、バッチサンプリング部６Ａおよび学習部７を備える。
また、学習装置３Ａは、実施の形態１と同様に、確率的勾配降下法によるマルチタスク学習を行う。
【００５０】
学習データ処理部５Ａは、複数のタスクのそれぞれに対応する複数の学習データを入力して、バッチサイズ同士の比率がタスク間で一定の値となるバッチサイズをタスクごとに算出する。例えば、タスクＡに対応する学習データのバッチサイズをＢ１とし、タスクＢに対応する学習データのバッチサイズをＢ２とし、一定の値をＲとした場合、学習データ処理部５Ａは、Ｂ１／Ｂ２＝ＲとなるＢ１とＢ２とを算出する。
【００５１】
バッチサンプリング部６Ａは、学習データ処理部５Ａによって算出されたバッチサイズで、タスクごとの学習データからサンプルをサンプリングする。
なお、タスクＡにおける１回の学習ループの繰り返し回数と、タスクＢにおける１回の学習ループの繰り返し回数とは異なるので、タスクＡとタスクＢとは互いに異なるループ処理が必要となる。
【００５２】
また、学習装置３Ａにおける学習データ処理部５Ａ、バッチサンプリング部６Ａおよび学習部７の各機能は、実施の形態１で図４Ａおよび図４Ｂを用いて説明したように、処理回路により実現される。すなわち、学習装置３Ａは、これらの機能を逐次実行するための処理回路を備えている。処理回路は、専用のハードウェアであってもメモリに格納されたプログラムを読み出して実行するＣＰＵまたはＧＰＵであってもよい。
【００５３】
次に動作について説明する。
図１０は、学習装置３Ａの動作を示すフローチャートであり、確率的勾配降下法によるマルチタスク学習の一連の処理を示している。
学習データ処理部５Ａが、タスクＡのバッチサイズＢ１とタスクＢのバッチサイズＢ２とを算出する（ステップＳＴ１ｃ）。ここで、学習データ処理部５ＡがＢ１／Ｂ２＝ＲとなるＢ１とＢ２とを算出する。
例えば、タスクＡに対応する学習データのデータサイズをＳ１＝５０とし、タスクＢに対応する学習データのデータサイズをＳ２＝１００とし、一定の比率がＲ＝０．５とした場合、Ｂ１／Ｂ２＝０．５であることから、Ｂ１＝２、Ｂ２＝４となる。
【００５４】
続いて、学習データ処理部５Ａは、タスクＡに対応する学習データで更新する重みＷ１とタスクＢに対応する学習データで更新する重みＷ２とを初期化し、タスクＡについてのエポック１とタスクＢについてのエポック２とを初期化する（ステップＳＴ２ｃ）。
学習データ処理部５Ａは、タスクＡに対応する学習データのサンプルをシャッフルし、タスクＢに対応する学習データのサンプルをシャッフルする（ステップＳＴ３ｃ）。
【００５５】
バッチサンプリング部６Ａは、学習データ処理部５Ａによりサンプルがシャッフルされた学習データのうち、タスクＡに対応する学習データからバッチサイズＢ１でサンプルをサンプリングする（ステップＳＴ４ｃ）。また、バッチサンプリング部６Ａは、学習データ処理部５Ａによりサンプルがシャッフルされた学習データのうち、タスクＢに対応する学習データからバッチサイズＢ２でサンプルをサンプリングする（ステップＳＴ５ｃ）。
【００５６】
学習部７は、バッチサンプリング部６ＡによりバッチサイズＢ１でサンプリングされたサンプルを用いて、識別器４の重みＷ１を更新する（ステップＳＴ６ｃ）。
さらに、学習部７は、バッチサンプリング部６ＡによりバッチサイズＢ２でサンプリングされたサンプルを用いて、識別器４の重みＷ２を更新する（ステップＳＴ７ｃ）。
次に、学習部７は、タスクＡに対応する学習データから全てのサンプルがサンプリングされたか否かを判定する（ステップＳＴ８ｃ）。
【００５７】
タスクＡに対応する学習データから全てのサンプルがサンプリングされていた場合（ステップＳＴ８ｃ；ＹＥＳ）、学習部７は、その旨を学習データ処理部５Ａに通知する。
学習データ処理部５Ａは、学習部７から上記通知を受けると、エポック１を１つインクリメントする（ステップＳＴ９ｃ）。次に、学習データ処理部５Ａは、タスクＡに対応する学習データのサンプルをシャッフルする（ステップＳＴ１０ｃ）。この後、学習データ処理部５Ａは、ステップＳＴ１０ｃの処理が完了した旨を学習部７に通知する。
【００５８】
タスクＡに対応する学習データに未処理のサンプルがあるか（ステップＳＴ８ｃ；ＮＯ）またはステップＳＴ１０ｃが完了した場合、学習部７は、タスクＢに対応する学習データから全てのサンプルがサンプリングされたか否かを判定する（ステップＳＴ１１ｃ）。
ここで、タスクＢに対応する学習データから全てのサンプルがサンプリングされていた場合（ステップＳＴ１１ｃ；ＹＥＳ）、学習部７はその旨を学習データ処理部５Ａに通知する。
【００５９】
学習データ処理部５Ａは、学習部７から上記通知を受けると、エポック２を１つインクリメントする（ステップＳＴ１２ｃ）。次に、学習データ処理部５Ａは、タスクＢに対応する学習データのサンプルをシャッフルする（ステップＳＴ１３ｃ）。
【００６０】
なお、実施の形態２では、タスクＡを基準としてエポックの繰り返し回数を決めることとする。このため、学習データ処理部５Ａは、タスクＢに対応する学習データに未処理のサンプルがあるか（ステップＳＴ１１ｃ；ＮＯ）またはステップＳＴ１３ｃの処理が完了した場合、エポック１がＮ以上になったか否かを判定する（ステップＳＴ１４ｃ）。
【００６１】
エポック１がＮ未満である場合（ステップＳＴ１４ｃ；ＮＯ）、学習データ処理部５Ａは、ステップＳＴ４ｃに戻って前述した一連の処理を繰り返す。
また、エポック１が回数Ｎ以上になっていれば（ステップＳＴ１４ｃ；ＹＥＳ）、処理が終了される。すなわち、タスクＢにおけるエポック２の回数によらず、タスクＡにおけるエポック１の回数で処理が終了される。
【００６２】
以上のように、実施の形態２に係る学習装置３Ａは、学習データ処理部５Ａ、バッチサンプリング部６Ａおよび学習部７を備えている。この構成において、バッチサイズ同士の比率がタスク間で一定の値となるバッチサイズで、タスクごとにサンプルをサンプリングする。これにより学習対象となる複数のタスクのラベルを完備していないサンプルが含まれる学習データを用いても確率的勾配降下法によるマルチタスク学習を適切に行うことができる。
【００６３】
また、実施の形態２に係る信号処理装置１は、入力情報処理部２、学習装置３Ａおよび識別器４を備える。このように構成しても、学習対象となる複数のタスクのラベルを完備していないサンプルが含まれる学習データを用いて確率的勾配降下法によるマルチタスク学習を行うことができる。
【００６４】
なお、実施の形態１および実施の形態２では、学習装置３または学習装置３Ａを備えた信号処理装置１を示したが、学習装置３または学習装置３Ａは、信号処理装置１とは別に設けられていてもよい。例えば、図１１に示す信号処理装置１Ａでは、入力情報処理部２と識別器４を備えるが、学習装置３は、信号処理装置１Ａとは別に設けられている。
ただし、識別器４は、学習装置３によって学習が行われる。
図１１では、学習装置３と信号処理装置１Ａが連携する構成としたが、学習装置３Ａと連携する構成であってもよい。このように構成しても識別器４の学習において上記と同様の効果を得ることができる。
【００６５】
なお、本発明はその発明の範囲内において、各実施の形態の自由な組み合わせあるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００６６】
この発明に係る学習装置は、学習対象となる複数のタスクのラベルを完全に備えていないサンプルが含まれる学習データセットを用いても確率的勾配降下法によるマルチタスク学習を適切に行えるので、文字認識などを行う識別器の学習装置として好適である。
【符号の説明】
【００６７】
１，１Ａ  信号処理装置、２  入力情報処理部、３，３Ａ  学習装置、４  識別器、５，５Ａ  学習データ処理部、６，６Ａ  バッチサンプリング部、７  学習部、１００  処理回路、１０１  ＣＰＵ、１０２  メモリ。
【図１】
0006490311.tif 000002
【図２】
0006490311.tif 000003
【図３】
0006490311.tif 000004
【図４】
0006490311.tif 000005
【図５】
0006490311.tif 000006
【図６】
0006490311.tif 000007
【図７】
0006490311.tif 000008
【図８】
0006490311.tif 000009
【図９】
0006490311.tif 000010
【図１０】
0006490311.tif 000011
【図１１】
0006490311.tif 000012