(57)【要約】【課題】認識処理部の事前学習および追加学習を行う場合に、追加学習による認識処理部の性能低下を回避して、汎化性を向上させる。【解決手段】認識処理部の機械学習における学習方法は、事前学習工程（１）と、追加学習工程（２）と、性能評価工程（３）と、更新工程（４）とを含む。事前学習工程（１）では、事前に入手した正解付きのデータセットＡを用いて、認識処理部の事前学習を行う（Ｓ１）。追加学習工程（２）では、事前学習の後、データセットＡと、データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて、認識処理部の追加学習を行う（Ｓ２、Ｓ７）。性能評価工程（３）では、追加学習による認識処理部の性能評価を行う（Ｓ３、Ｓ８）。更新工程（４）では、性能評価の結果に基づいて、認識処理部のパラメータを更新する（Ｓ４〜Ｓ６、Ｓ９〜Ｓ１１）。【選択図】図４
2019152964.tif 000002
【特許請求の範囲】
【請求項１】
入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法であって、
事前に入手した正解付きのデータセットＡを用いて、前記認識処理部の事前学習を行う事前学習工程（１）と、
前記事前学習の後、前記データセットＡと、前記データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて、前記認識処理部の追加学習を行う追加学習工程（２）と、
前記追加学習による前記認識処理部の性能評価を行う性能評価工程（３）と、
前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する更新工程（４）とを含むことを特徴とする学習方法。
【請求項２】
前記認識処理部が、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを含む場合において、
前記追加学習工程（２）は、前記特徴抽出層の追加学習Ｌ１を行う工程（２ａ）と、前記認識処理部の追加学習Ｌ２を行う工程（２ｂ）とを含み、
前記性能評価工程（３）は、前記追加学習Ｌ１による前記特徴抽出層の性能評価Ｅ１を行う工程（３ａ）と、前記追加学習Ｌ２による前記認識処理部の性能評価Ｅ２を行う工程（３ｂ）とを含み、
前記更新工程（４）は、前記性能評価Ｅ１の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習Ｌ１によって得られたパラメータに更新する工程（４ａ）と、前記性能評価Ｅ２の結果に基づいて、前記認識処理部のパラメータを、前記追加学習Ｌ２によって得られたパラメータに更新する工程（４ｂ）とを含み、
前記工程（２ａ）、前記工程（３ａ）、前記工程（４ａ）、前記工程（２ｂ）、前記工程（３ｂ）および前記工程（４ｂ）を、この順で行うことを特徴とする請求項１に記載の学習方法。
【請求項３】
前記工程（２ａ）では、前記データセットＢに含まれるデータセットＢ１を用いて、前記特徴抽出層の前記追加学習Ｌ１を行い、
前記工程（３ａ）では、前記データセットＢに含まれる前記データセットＢ１以外のデータセットＢ２を用いて、前記特徴抽出層の前記性能評価Ｅ１を行うことを特徴とする請求項２に記載の学習方法。
【請求項４】
前記工程（２ｂ）では、前記データセットＡを用いて、前記認識処理部の前記追加学習Ｌ２を行い、
前記工程（３ｂ）では、予め用意した性能評価用のデータセットＣを用いて、前記認識処理部の性能評価Ｅ２を行うことを特徴とする請求項２または３に記載の学習方法。
【請求項５】
前記工程（４ａ）では、前記性能評価Ｅ１の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする請求項２から４のいずれかに記載の学習方法。
【請求項６】
前記工程（４ａ）では、前記性能評価Ｅ１の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習Ｌ１を行う前のパラメータに維持することを特徴とする請求項２から５のいずれかに記載の学習方法。
【請求項７】
前記工程（４ｂ）では、前記性能評価Ｅ２の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする請求項２から６のいずれかに記載の学習方法。
【請求項８】
前記工程（４ｂ）では、前記性能評価Ｅ２の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習Ｌ２を行う前のパラメータに維持することを特徴とする請求項２から７のいずれかに記載の学習方法。
【請求項９】
前記工程（２ｂ）では、前記データセットＡを用いた前記追加学習Ｌ２を、前記識別層についてのみ行うことを特徴とする請求項２から８のいずれかに記載の学習方法。
【請求項１０】
前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする請求項１から９のいずれかに記載の学習方法。
【請求項１１】
入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部と、
前記認識処理部を機械学習させる学習制御部とを備え、
前記学習制御部は、事前に入手した正解付きのデータセットＡを用いて事前学習を行った前記認識処理部に対して、前記データセットＡと、前記データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて追加学習させた後、前記追加学習による前記認識処理部の性能評価を行い、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新することを特徴とする学習装置。
【請求項１２】
前記認識処理部は、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを有しており、
前記学習制御部は、
前記特徴抽出層に対して追加学習Ｌ１を行った後、前記追加学習Ｌ１による前記特徴抽出層の性能評価Ｅ１を行い、前記性能評価Ｅ１の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習Ｌ１によって得られたパラメータに更新し、続いて、前記認識処理部の追加学習Ｌ２を行った後、前記追加学習Ｌ２による前記認識処理部の性能評価Ｅ２を行い、前記性能評価Ｅ２の結果に基づいて、前記認識処理部のパラメータを、前記追加学習Ｌ２によって得られたパラメータに更新することを特徴とする請求項１１に記載の学習装置。
【請求項１３】
前記学習制御部は、前記データセットＢに含まれるデータセットＢ１を用いて、前記特徴抽出層の前記追加学習Ｌ１を行う一方、前記データセットＢに含まれる前記データセットＢ１以外のデータセットＢ２を用いて、前記特徴抽出層の前記性能評価Ｅ１を行うことを特徴とする請求項１２に記載の学習装置。
【請求項１４】
前記学習制御部は、前記データセットＡを用いて、前記認識処理部の前記追加学習Ｌ２を行う一方、予め用意した性能評価用のデータセットＣを用いて、前記認識処理部の性能評価Ｅ２を行うことを特徴とする請求項１２または１３に記載の学習装置。
【請求項１５】
前記学習制御部は、前記性能評価Ｅ１の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする請求項１２から１４のいずれかに記載の学習装置。
【請求項１６】
前記学習制御部は、前記性能評価Ｅ１の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習Ｌ１を行う前のパラメータに維持することを特徴とする請求項１２から１５のいずれかに記載の学習装置。
【請求項１７】
前記学習制御部は、前記性能評価Ｅ２の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする請求項１２から１６のいずれかに記載の学習装置。
【請求項１８】
前記学習制御部は、前記性能評価Ｅ２の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習Ｌ２を行う前のパラメータに維持することを特徴とする請求項１２から１７のいずれかに記載の学習装置。
【請求項１９】
前記学習制御部は、前記データセットＡを用いた前記追加学習Ｌ２を、前記識別層についてのみ行うことを特徴とする請求項１２から１８のいずれかに記載の学習装置。
【請求項２０】
前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする請求項１１から１９のいずれかに記載の学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データから特徴を抽出し、抽出した特徴を用いて識別を行う認識処理部を機械学習させる学習方法および学習装置に関する。
【背景技術】
【０００２】
従来から、認識対象データに対して認識処理を行う認識処理部の機械学習が一般的に行われている。このような機械学習の一手法として、例えば、事前に用意した正解付きのデータ（事前学習データ）を用いて認識処理部の学習を行った後、認識処理部を活用する現地（例えば店舗）で得られるデータ（現地データ）を用いて認識処理部の再学習（追加学習）を行う方法がある。この方法は、追加学習を行うことによって、事前学習データのみならず、現地データに対する認識処理部の適合性を向上させて、汎化性を向上させようとする方法である。なお、汎化性とは、機械学習を行ったコンピュータ（例えば認識処理部）の、学習した問いと類似の未学習の問い（入力）についても正しい答え（出力）を導く能力のこと、つまり、学習したデータと類似の入力データについて、学習したデータによる結果と類似の結果を出力する性能のことを指す。上記のように事前学習を行った後に、現地データを用いて追加学習を行う例は、例えば特許文献１でも同様に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１４３３５３号公報（請求項１、段落〔０００５〕、〔０００６〕、〔００１８〕、〔００２１〕〜〔００４３〕、図１等参照）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、認識処理部の事前学習および追加学習を行う従来の方法では、追加学習後の認識処理部の性能を全く検証していないため、追加学習によって認識処理部の性能が本当に向上したかどうかが不明である。例えば追加学習が過学習になる場合は、実際に学習したデータに対してだけ認識処理部が適合し、未知のデータに対しては適合しなくなるため、汎化性が低下する。認識処理部の性能を検証しない場合、この過学習による認識処理部の性能低下を発見することができない。このため、追加学習によって認識処理部のパラメータ（例えば重み）を無条件で変更（更新）すると、認識処理部の性能低下による汎化性の低下が起こり得る。
【０００５】
本発明は、上記の問題点を解決するためになされたもので、その目的は、事前学習および追加学習を行う場合でも、追加学習による認識処理部の性能を検証してからパラメータ更新を行うことにより、追加学習による認識処理部の性能低下を回避して、汎化性を向上させることができる学習方法および学習装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一側面に係る学習方法は、入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法であって、事前に入手した正解付きのデータセットＡを用いて、前記認識処理部の事前学習を行う事前学習工程（１）と、前記事前学習の後、前記データセットＡと、前記データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて、前記認識処理部の追加学習を行う追加学習工程（２）と、前記追加学習による前記認識処理部の性能評価を行う性能評価工程（３）と、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する更新工程（４）とを含む。
【０００７】
本発明の他の側面に係る学習装置は、入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部と、前記認識処理部を機械学習させる学習制御部とを備え、前記学習制御部は、事前に入手した正解付きのデータセットＡを用いて事前学習を行った前記認識処理部に対して、前記データセットＡと、前記データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて追加学習させた後、前記追加学習による前記認識処理部の性能評価を行い、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する。
【発明の効果】
【０００８】
上記の学習方法および学習装置によれば、認識処理部の事前学習および追加学習を行うだけでなく、追加学習による性能評価を行い、その結果に基づいてパラメータ更新を行う。これにより、認識処理部の（例えば過学習による）性能低下を回避して、汎化性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態の学習装置の概略の構成を示すブロック図である。
【図２】上記学習装置の認識処理部の一構成例を模式的に示す説明図である。
【図３】上記認識処理部の各層を構成するユニットを模式的に示す説明図である。
【図４】上記学習装置を用いた学習方法の処理の流れを示すフローチャートである。
【図５】上記認識処理部の事前学習の際のデータの伝播モデルを模式的に示す説明図である。
【図６】上記認識処理部の特徴抽出層の追加学習の際のデータの伝播モデルを模式的に示す説明図である。
【図７】上記特徴抽出層の性能評価の際のデータの伝播モデルを模式的に示す説明図である。
【図８】上記認識処理部の識別層の追加学習の際のデータの伝播モデルを模式的に示す説明図である。
【図９】上記識別層の性能評価の際のデータの伝播モデルを模式的に示す説明図である。
【図１０】上記学習方法による学習後の学習装置において、実際に認識を行う場合のデータの伝播モデルを示す説明図である。
【図１１】上記学習方法の他の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
本発明の実施の形態について、図面に基づいて説明すれば、以下の通りである。なお、本発明は、以下の内容に限定されるわけではない。
【００１１】
〔学習装置について〕
図１は、本実施形態の学習装置１の概略の構成を示すブロック図である。学習装置１は、入力データに対して所定の処理を行う処理部（例えば後述する認識処理部１１に相当）を機械学習させることが可能な装置であり、例えばパーソナルコンピュータ（ＰＣ）のような端末装置で構成される。具体的には、学習装置１は、認識処理部１１と、記憶部１２と、入力部１３と、表示部１４と、通信部１５と、制御部１６とを有している。
【００１２】
制御部１６は、学習装置１の各部の動作を制御する中央演算処理装置（ＣＰＵ；Central Processing Unit）で構成されており、記憶部１２（後述するプログラム記憶部１２ａ）に記憶された動作プログラムに従って動作する。本実施形態では、制御部１６は、特に、認識処理部１１を機械学習させる学習制御部として機能している。
【００１３】
認識処理部１１は、入力データから特徴を抽出し、抽出した特徴を用いて認識を行う演算装置であり、例えばリアルタイムな画像処理に特化した演算装置であるＧＰＵ（Graphics Processing Unit）で構成されている。なお、認識処理部１１は、制御部１６と同一のまたは別個のＣＰＵで構成されていてもよい。
【００１４】
ここで、上記入力データとしては、例えば店舗に設置された撮像部２（カメラ）での撮影によって取得された画像データ（動画または静止画のデータ）を考えることができる。上記の画像データは、例えば、撮像部２から有線または無線の通信回線（例えばＬＡＮ（Local Area Network）やインターネット）を介して学習装置１にリアルタイムで入力される。なお、上記の画像データを一旦、可搬型の記録媒体（光ディスクや不揮発性メモリなど）に記録しておき、図示しない読取装置によって上記記録媒体に記録された画像データを読み取ることにより、上記入力データを学習装置１に取り込むようにしてもよい。なお、認識処理部１１の詳細については後述する。
【００１５】
記憶部１２は、プログラム記憶部１２ａと、学習・評価用データ記憶部１２ｂと、処理用データ記憶部１２ｃとを有している。プログラム記憶部１２ａは、学習装置１の各部を動作させるための動作プログラムを記憶するメモリである。学習・評価用データ記憶部１２ｂは、認識処理部１１の機械学習の際に用いる学習用データ（例えば後述するデータセットＡ）および性能（品質）評価用のデータ（例えば後述するデータセットＣ）を記憶するメモリである。処理用データ記憶部１２ｃは、外部（例えば撮像部２）から学習装置１に入力された画像データ（例えば後述するデータセットＢ）、つまり、認識処理部１１の認識処理を活用する現場で取得されて学習装置１に入力されたデータを一時的に格納するメモリである。記憶部１２（プログラム記憶部１２ａ、学習・評価用データ記憶部１２ｂ、処理用データ記憶部１２ｃ）は、例えばハードディスクで構成されるが、その他、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、光ディスク、光磁気ディスク、不揮発性メモリなどの記録媒体から適宜選択して構成されてもよい。
【００１６】
入力部１３は、例えばキーボード、マウス、タッチパッド、タッチパネルなどで構成され、例えば学習装置１を操作する操作者による各種の指示入力を受け付ける。表示部１４は、認識処理部１１での認識結果をはじめとして、各種の情報を表示するデバイスであり、例えば液晶表示装置で構成される。通信部１５は、外部端末（例えばスマートフォンなどの携帯端末や他のＰＣ）と通信するためのインターフェースであり、アンテナ、送受信回路、変調回路、復調回路などを含んで構成される。
【００１７】
〔認識処理部の詳細について〕
次に、上記した認識処理部１１の詳細について説明する。認識処理部１１は、図２に示すように、入力層１１ａ、特徴抽出層１１ｂおよび識別層１１ｃを有する階層型のニューラルネットワークによって構成されている。ニューラルネットワークとは、人間の神経ネットワークを模倣した情報処理システムのことである。ニューラルネットワークにおいて、神経細胞に相当する工学的なニューロンのモデルを、ここではユニットＵと呼ぶ。入力層１１ａ、特徴抽出層１１ｂおよび識別層１１ｃは、それぞれ複数のユニットＵを有して構成されている。
【００１８】
入力層１１ａは、通常、１層からなる。入力層１１ａの各ユニットＵには、例えば１枚の画像を構成する各画素の画像データ（画素値）がそれぞれ入力される。上記画像データは、入力層１１ａの各ユニットＵから特徴抽出層１１ｂにそのまま出力される。
【００１９】
特徴抽出層１１ｂは、入力データ（入力層１１ａのデータ）から特徴を抽出して識別層１１ｃに出力する層である。この特徴抽出層１１ｂでは、各ユニットＵでの演算により、例えば、入力された画像から人物が映っている領域を抽出する処理が行われる。
【００２０】
識別層１１ｃは、特徴抽出層１１ｂが抽出した特徴を用いて識別を行う層である。識別層１１ｃでは、各ユニットＵでの演算により、例えば、特徴抽出層１１ｂで抽出された人物の領域から、その人物の姿勢や行動を識別する処理が行われる。
【００２１】
上記の特徴抽出層１１ｂおよび識別層１１ｃは、それぞれ複数層によって構成されている。これにより、認識処理部１１全体として、ディープニューラルネットワーク（ＤＮＮ）が構成されている。
【００２２】
ここで、特徴抽出層１１ｂおよび識別層１１ｃを構成する各ユニットＵについて説明を補足しておく。上記のユニットＵとしては、通常、図３に示すような、多入力１出力の素子が用いられる。信号は一方向にだけ伝わり、ある重み（結合荷重：ｗｉ）をつけられて、ユニットＵに入力される。この重みによって、階層的に並ぶユニットＵ・Ｕ間の結合の強さが表されるが、上記の重みは、学習によって変化させることができる。ユニットＵからは、重みをつけられたそれぞれの入力値（ｗｉｘｉ）の総和から閾値θを引いた値Ｘが応答関数ｆ（Ｘ）による変形を受けた後、出力される。つまり、ユニットＵの出力値ｙは、以下の数式で表される。
ｙ＝ｆ（Ｘ）
ここで、
Ｘ＝Σ（ｗｉｘｉ−θ）
である。なお、応答関数としては、例えばシグモイド関数を用いることができる。
【００２３】
入力層１１ａの各ユニットＵは、通常、シグモイド特性や閾値をもたず、それゆえ、上述のように入力値がそのまま出力に表れる。一方、識別層１１ｃの最終層（出力層）の各ユニットＵは、識別層１１ｃでの識別結果（識別された姿勢や行動に対応するデータ）を出力することになる。
【００２４】
識別処理部１１（階層型ニューラルネットワーク）の学習アルゴリズムとしては、例えば、正解を示す値（データ）と識別層１１ｃからの出力値（データ）との２乗誤差が最小となるように、最急降下法を用いて識別層１１ｃの重みおよび特徴抽出層１１ｂの重みを順次変化させていく誤差逆伝播法（バックプロパゲーション）が用いられる。
【００２５】
〔学習方法について〕
次に、上記構成の学習装置１における学習方法について説明する。図４は、本実施形態の学習方法の処理の流れを示すフローチャートである。本実施形態の学習方法は、認識処理部１１の機械学習における学習方法であって、大きく見て、事前学習工程（Ｉ）と、第１の学習・評価・更新工程（ＩＩ）と、第２の学習・評価・更新工程（ＩＩＩ）とを含む。これらの各工程は、制御部１６の制御のもとで順に行われる。以下、各工程の詳細について説明する。
【００２６】
＜事前学習工程＞
事前学習工程（Ｉ）は、認識処理部１１の事前学習（オフライン学習）を行う工程（Ｓ１）である。Ｓ１の工程では、事前に入手した正解付き（教師あり、アノテーションあり）のデータセットＡを用いて、認識処理部１１の事前学習を行う。ここで、データセットとは、１枚の画像を構成する各画素の画像データ（画素値）を１つの組として、この画像データの複数組分（画像複数枚分）に相当する。上記のデータセットＡに含まれる画像データとしては、例えば、認識処理部１１が店舗内での顧客の行動認識処理を行う場合において、その店舗（現場）とは異なる場所（例えば店舗から離れたスタジオなど）で予め取得された画像データを考えることができる。データセットＡは、学習・評価用データ記憶部１２ｂに予め記憶されており、このデータセットＡを活用して事前学習が行われる。
【００２７】
図５は、事前学習の際のデータの伝播モデルを模式的に示している。データセットＡに含まれるデータは、画像１枚ごとに認識処理部１１の入力層１１ａに入力され、入力層１１ａから特徴抽出層１１ｂに出力される。特徴抽出層１１ｂの各ユニットＵでは、入力データに対して重み付きの演算が行われる。この演算により、特徴抽出層１１ｂでは、入力データから特徴（例えば人物の領域）が抽出されるとともに、抽出した特徴を示すデータが、識別層１１ｃに出力される。
【００２８】
識別層１１ｃの各ユニットＵでは、入力データに対する重み付きの演算が行われ、これによって、上記特徴に基づく識別（例えば人物の行動の分析）が行われる。識別結果を示すデータは、識別層１１ｃから出力される。
【００２９】
制御部１６は、識別層１１ｃの出力値（データ）を、正解を示す値と比較してこれらの誤差（ロス）を算出し、この誤差が小さくなるように、識別層１１ｃの重みおよび特徴抽出層１１ｂの重みを順次変化させる（バックプロパゲーション）。これにより、識別層１１ｃおよび特徴抽出層１１ｂが学習される。
【００３０】
＜第１の学習・評価・更新価工程＞
第１の学習・評価・更新工程（ＩＩ）は、特徴抽出層１１ｂの追加学習Ｌ１を行う工程（Ｓ２）と、追加学習Ｌ１による特徴抽出層１１ｂの性能評価Ｅ１を行う工程（Ｓ３）と、性能評価Ｅ１の結果に基づいて、特徴抽出層１１ｂのパラメータ（重み）を、追加学習Ｌ１によって得られたパラメータに更新する工程（Ｓ４〜Ｓ６）とを含む。
【００３１】
（追加学習Ｌ１）
Ｓ２では、事前学習工程（Ｉ）の後、正解付きのデータセットＡと、データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて、特徴抽出層１１ｂの追加学習Ｌ１を行う。ここで、上記のデータセットＢとしては、認識処理部１１による認識処理の対象となるデータセットを考えることができ、例えば、認識処理部１１が店舗内での顧客の行動認識処理を行う場合には、その店舗（現場）で取得して学習装置１に入力される画像のデータ（店舗内の撮像部２で取得した画像データ）のセットを考えることができる。データセットＢは、処理用データ記憶部１２ｃに記憶され、学習・評価用データ記憶部１２ｂに予め記憶された上記のデータセットＡとともに、追加学習Ｌ１に用いられる。なお、以下での説明の便宜上、データセットＢのうち、追加学習Ｌ１に用いるデータセットを、データセットＢ１と称する。
【００３２】
図６は、特徴抽出層１１ｂの追加学習Ｌ１の際のデータの伝播モデルを模式的に示している。Ｓ２では、識別層１１ｃの代わりに、識別層１１ｃ’を用いる。識別層１１ｃ’は、特徴抽出層１１ｂの追加学習Ｌ１と、後述する性能評価Ｅ１およびパラメータ更新を行うときのみ使用する識別層であり、仮識別層またはデコーダで構成される。仮識別層は、弱教師あり学習用に構成された識別層である。一方、デコーダは、教師なし学習用に構成された層であり、特徴抽出層１１ｂからの出力値を入力値に戻す処理（デコード）を行う。すなわち、弱教師あり学習を行う場合は、識別層１１ｃ’として仮識別層が用いられ、教師なし学習を行う場合は、識別層１１ｃ’としてデコーダが用いられる。
【００３３】
ここで、弱教師あり学習とは、識別層１１ｃ’が出力する出力値に基づいて得られる正解率（スコア）がある閾値以上である場合のみ識別結果を正解とみなして学習を行うことを言う。なお、上記の正解率は、テストデータの数をｎ個とし、識別結果が正解であった数をａ個としたときに、ａ／ｎで表現される指標である。
【００３４】
Ｓ２では、データセットＡおよびデータセットＢを例えば交互に入力層１１ａに入力しながら追加学習Ｌ１を行う。データセットＡと併せてデータセットＢ１を用いて追加学習Ｌ１を行うことにより、データセットＡのみならず、データセットＢ１にも、つまり、現場で得られるデータにも特徴抽出層１１ｂを適合させることが可能となる。入力データとして、データセットＡを用いる場合、Ｓ１の事前学習と同様の手順で、特徴抽出層１１ｂの追加学習Ｌ１を行う。
【００３５】
一方、入力データとしてデータセットＢ１を用いる場合は、以下のようにして特徴抽出層１１ｂの追加学習Ｌ１を行う。追加学習Ｌ１として弱教師あり学習を行う場合、制御部１６は、識別層１１ｃ’としての仮識別層の出力値に基づいて得られる正解率が閾値以上であるときに（一定の基準を満足している場合に）、特徴抽出層１１ｂのパラメータ更新を行わず、正解率が閾値未満であるときのみ（一定の基準を満足していない場合のみ）、正解率と閾値との誤差（ロス）が小さくなるように、特徴抽出層１１ｂのパラメータを更新する（重みを変化させる）。また、追加学習Ｌ１として教師なし学習を行う場合、制御部１６は、デコーダの出力値が元のデータ（入力層１１ａの入力値）と一致するか否かを判断し、一致する場合は（一定の基準を満足している場合は）、特徴抽出層１１ｂのパラメータ更新を行わず、一致しない場合のみ（一定の基準を満足していない場合のみ）、出力値と入力値との誤差（ロス）が小さくなるように、特徴抽出層１１ｂのパラメータを更新する（重みを変化させる）。これにより、特徴抽出層１１ｂが追加学習される。
【００３６】
（性能評価Ｅ１）
Ｓ３の工程では、制御部１６が、Ｓ２の追加学習Ｌ１による特徴抽出層１１ｂの性能評価Ｅ１を行う。より具体的には、制御部１６は、データセットＢに含まれるデータセットＢ１以外のデータセットＢ２を用いて、特徴抽出層１１ｂの性能評価Ｅ１を行う。なお、特徴抽出層１１ｂの性能評価Ｅ１を行う際には、識別層として、Ｓ２の追加学習Ｌ１で用いたものと同じ識別層１１ｃ’（仮識別層またはデコーダ）を用いる。
【００３７】
図７は、特徴抽出層１１ｂの性能評価Ｅ１の際のデータの伝播モデルを模式的に示している。Ｓ３では、評価用のデータセットＢ２、すなわち、現場データのうちで追加学習Ｌ１の際には用いなかったデータを用い、このデータセットＢ２のデータを入力層１１ａに入力する。入力層１１ａに入力された上記データは、特徴抽出層１１ｂに出力される。特徴抽出層１１ｂでは、入力データに対して重み付きの演算が行われ、その演算結果を示すデータが識別層１１ｃ’に出力される。識別層１１ｃ’では、特徴抽出層１１ｂから入力されるデータに対して重み付きの演算が行われ、その演算結果を示すデータが、識別層１１ｃ’から出力される。
【００３８】
Ｓ２で弱教師あり学習を行った場合、制御部１６は、識別層１１ｃ’としての仮識別層の出力値に基づいて得られる正解率がある閾値以上であるか否かを判断することにより、特徴抽出層１１ｂの性能評価Ｅ１を行う。例えば、上記正解率が閾値以上である場合には、制御部１６は、特徴抽出層１１ｂの性能が一定の基準を満足していると判断する。一方、上記正解率が閾値未満である場合には、制御部１６は、特徴抽出層１１ｂの性能が一定の基準を満足していないと判断する。
【００３９】
また、Ｓ２で教師なし学習を行った場合、制御部１６は、識別層１１ｃ’としてのデコーダの出力値が元のデータ（入力層１１ａの入力値）と一致するか否かを判断することにより、特徴抽出層１１ｂの性能評価Ｅ１を行う。例えば、上記出力値が元のデータと一致する場合には、制御部１６は、特徴抽出層１１ｂの性能が一定の基準を満足していると判断する。一方、上記出力値が元のデータと一致していない場合には、制御部１６は、特徴抽出層１１ｂの性能が一定の基準を満足していないと判断する。
【００４０】
（特徴抽出層のパラメータ更新）
次に、図４に示すように、制御部１６は、Ｓ３での性能評価Ｅ１の結果に基づいて、特徴抽出層１１ｂのパラメータ更新を行う（Ｓ４〜Ｓ６）。具体的には、Ｓ３での性能評価Ｅ１の結果が一定の基準を満足している場合には（Ｓ４でＹｅｓ）、特徴抽出層１１ｂのパラメータ更新を行う（Ｓ５）。例えば、特徴抽出層１１ｂのパラメータ（例えば重みｗ１）を、追加学習Ｌ１によって得られたパラメータ（例えば重みｗ１’）に更新する。一方、Ｓ３での性能評価Ｅ１の結果が一定の基準を満足していない場合には（Ｓ４でＮｏ）、制御部１６は、特徴抽出層１１ｂのパラメータを、追加学習Ｌ１を行う前のパラメータ（例えば重みｗ１）に維持する（Ｓ６）。
【００４１】
＜第２の学習・評価・更新工程＞
第２の学習・評価・更新工程（ＩＩＩ）は、識別層１１ｃの追加学習Ｌ２を行う工程（Ｓ７）と、追加学習Ｌ２による識別層１１ｃの性能評価Ｅ２を行う工程（Ｓ８）と、性能評価Ｅ２の結果に基づいて、識別層１１ｃのパラメータ（重み）を、追加学習Ｌ２によって得られたパラメータに更新する工程（Ｓ９〜Ｓ１１）とを含む。
【００４２】
（追加学習Ｌ２）
Ｓ７では、第１の学習・評価・更新工程（ＩＩ）の後、正解付きのデータセットＡを用いて、識別層１１ｃの追加学習Ｌ２を行う。図８は、識別層１１ｃの追加学習Ｌ２の際のデータの伝播モデルを模式的に示している。Ｓ７では、Ｓ２〜Ｓ６で用いた識別層１１ｃ’を、Ｓ１の事前学習で用いた識別層１１ｃに戻し、事前学習と同様の手順で、識別層１１ｃの追加学習Ｌ２を行う。
【００４３】
すなわち、データセットＡのデータを、入力層１１ａを介して特徴抽出層１１ｂに入力する。特徴抽出層１１ｂの各ユニットＵでは、入力データに対して重み付きの演算が行われる。この演算により、特徴抽出層１１ｂでは、入力データから特徴が抽出され、抽出した特徴を示すデータが、識別層１１ｃに出力される。識別層１１ｃの各ユニットＵでは、入力データに対する重み付きの演算が行われ、これによって、上記特徴に基づく識別が行われる。識別結果を示すデータは、識別層１１ｃから出力される。
【００４４】
制御部１６は、識別層１１ｃの出力値（データ）を、正解を示す値と比較してこれらの誤差（ロス）を算出し、この誤差が小さくなるように、識別層１１ｃの重みを変化させる（バックプロパゲーション）。これにより、識別層１１ｃが追加学習される。なお、追加学習Ｌ２においては、上記誤差が小さくなるように、識別層１１ｃのみならず、特徴抽出層１１ｂの重みを変化させてもよいが、ここでは追加学習を識別層１１ｃまでに留めている（特徴抽出層１１ｂの追加学習を行っていない）。その理由については後述する。
【００４５】
（性能評価Ｅ２）
Ｓ８の工程では、制御部１６が、Ｓ７の追加学習Ｌ２による識別層１１ｃの性能評価Ｅ２を行う。より具体的には、制御部１６は、データセットＣを用いて、識別層１１ｃの性能評価Ｅ２を行う。データセットＣは、性能評価用として予め用意されたデータセットであり、学習・評価用データ記憶部１２ｂに記憶されている。
【００４６】
図９は、識別層１１ｃの性能評価Ｅ２の際のデータの伝播モデルを模式的に示している。Ｓ８では、評価用のデータセットＣのデータを入力層１１ａに入力する。入力層１１ａに入力された上記データは、特徴抽出層１１ｂに出力される。特徴抽出層１１ｂでは、入力データに対して重み付きの演算が行われ、その演算結果を示すデータが識別層１１ｃに出力される。識別層１１ｃでは、特徴抽出層１１ｂから入力されるデータに対して重み付きの演算が行われ、その演算結果を示すデータが、識別層１１ｃから出力される。
【００４７】
制御部１６は、識別層１１ｃの出力値に基づいて得られる性能値（例えば正解率）がある閾値以上であるか否かを判断することにより、識別層１１ｃの性能評価Ｅ２を行う。例えば、制御部１６は、上記性能値が閾値以上である場合には、制御部１６は、識別層１１ｂの性能が一定の基準を満足していると判断する。一方、上記性能値が閾値未満である場合には、制御部１６は、識別層１１ｃの性能が一定の基準を満足していないと判断する。
【００４８】
（識別層のパラメータ更新）
次に、制御部１６は、Ｓ８での性能評価Ｅ２の結果に基づいて、識別層１１ｃのパラメータ更新を行う（Ｓ９〜Ｓ１１）。具体的には、Ｓ８での性能評価Ｅ２の結果が一定の基準を満足している場合には（Ｓ９でＹｅｓ）、制御部１６は、識別層１１ｃのパラメータ更新を行う（Ｓ１０）。例えば、識別層１１ｃのパラメータ（例えば重みｗ２）を、追加学習Ｌ２によって得られたパラメータ（例えば重みｗ２’）に更新する。一方、Ｓ８での性能評価Ｅ２の結果が一定の基準を満足していない場合には（Ｓ９でＮｏ）、制御部１６は、識別層１１ｃのパラメータを、追加学習Ｌ２を行う前のパラメータ（例えば重みｗ２）に維持する（Ｓ１１）。
【００４９】
なお、上記した第２の学習・評価・更新工程（ＩＩＩ）では、認識処理部１１のうち、識別層１１ｃのみ追加学習Ｌ２を行うようにしているが、バックプロパゲーションにより、特徴抽出層１１ｂの追加学習を行うようにしてもよい。そして、性能評価Ｅ２に基づくパラメータ更新では、識別層１１ｃに加えて、特徴抽出層１１ｂについてもパラメータ更新を行うようにしてもよい。つまり、第２の学習・評価・更新工程（ＩＩＩ）では、追加学習Ｌ２およびパラメータ更新の対象を、特徴抽出層１１ｂおよび識別層１１ｃを含む認識処理部１１としてもよい。
【００５０】
ただし、特徴抽出層１１ｂは、第１の学習・評価・更新工程（ＩＩ）において、データセットＡのみならず、データセットＢについても適合するように既に追加学習されている。このため、第２の学習・評価・更新工程（ＩＩＩ）において、データセットＡに基づく追加学習Ｌ２を特徴抽出層１１ｂまで行うと、特徴抽出層１１ｂのデータセットＢに対する適合性が、データセットＡへの適合に引っ張られて低下することが懸念される。したがって、外部から取得したデータへの適合性を向上させる観点では、第２の学習・評価・更新工程（ＩＩＩ）での追加学習Ｌ２は、識別層１１ｃについてのみ行うことが望ましい。
【００５１】
なお、上記した第１の学習・評価・更新工程（ＩＩ）および第２の学習・評価・更新工程（ＩＩＩ）は、データセットＢの取得と並行して（現場でデータセットＢを取得しながら同時に）それぞれ行ってもよいし、データセットＢの取得時とは異なるタイミングで（例えば店舗の閉店後に）それぞれ行ってもよい。
【００５２】
図１０は、上記の学習方法（工程（Ｉ）〜（ＩＩＩ））によって学習された学習装置１を用い、現場（例えば店舗）で得られたデータを入力として実際に認識（例えば顧客の行動認識）を行う場合のデータの伝播モデルを示している。学習装置１の活用時（運用時）には、性能評価Ｅ１の結果に応じてパラメータが更新された特徴抽出層１１ｂと、性能評価Ｅ２の結果に応じてパラメータが更新された識別層１１ｃ（学習専用の識別層１１ｃ’ではない）とを用いて、特徴抽出および識別が行われることになる。
【００５３】
〔効果〕
以上のように、本実施形態の学習方法は、事前に入手した正解付きのデータセットＡを用いて、認識処理部１１の事前学習を行う事前学習工程（１）と、事前学習の後、データセットＡと、データセットＡとは異なる環境で取得されたデータセットＢとを用いて、認識処理部１１の追加学習を行う追加学習工程（２）と、上記追加学習による認識処理部１１の性能評価を行う性能評価工程（３）と、上記性能評価の結果に基づいて、認識処理部１１のパラメータを、上記追加学習によって得られたパラメータに更新する更新工程（４）とを含む。なお、事前学習工程（１）は、上述したＳ１の工程に対応し、追加学習工程（２）は、上述したＳ２およびＳ７の各工程に対応し、性能評価工程（３）は、上述したＳ３およびＳ８の各工程に対応し、更新工程（４）は、上述したＳ４〜Ｓ６およびＳ９〜Ｓ１１の各工程に対応する。
【００５４】
また、本実施形態の学習装置１は、入力データから特徴を抽出し、抽出した特徴を用いて識別を行う認識処理部１１と、認識処理部１１を機械学習させる学習制御部としての制御部１６とを備え、制御部１６は、事前に入手した正解付きのデータセットＡを用いて事前学習を行った認識処理部１１に対して、データセットＡと、データセットＡとは異なる環境で取得されたデータセットＢとを用いて追加学習させた後、上記追加学習による認識処理部１１の性能評価を行い、上記性能評価の結果に基づいて、認識処理部１１のパラメータを、上記追加学習によって得られたパラメータに更新する。
【００５５】
上記の学習方法および学習装置１の構成によれば、正解付きのデータセットＡを用いて認識処理部１１の事前学習を行った後、データセットＡとデータセットＢとを用いて追加学習を行う。これにより、データセットＡに対してのみならず、データセットＡとは異なる環境で得られたデータセットＢ（例えば認識処理部１１を実際に活用したい現場で得られるデータ）に対しても、認識処理部１１の適合性を高めて、汎化性向上を図ることができる。
【００５６】
しかも、追加学習を行った後、認識処理部１１の性能評価（検証）を実際に行い、その結果に基づいて認識処理部１１のパラメータ更新を行う。これにより、例えば、追加学習によって認識処理部１１の性能が実際に向上する場合のみパラメータ更新を行う一方、追加学習（例えば過学習）によって認識処理部１１の性能が低下する場合には、パラメータ更新を行わずに追加学習前のパラメータをそのまま維持することができる。したがって、事前学習および追加学習を行う場合でも、認識処理部１１の（過学習による）性能低下を回避して、汎化性を向上させることができる。
【００５７】
上記の学習方法において、追加学習工程（２）は、特徴抽出層１１ｂの追加学習Ｌ１を行う工程（２ａ）と、認識処理部１１（例えば識別層１１ｃ）の追加学習Ｌ２を行う工程（２ｂ）とを含む。なお、工程（２ａ）は、Ｓ２の工程に対応し、工程（２ｂ）は、Ｓ７の工程に対応する。また、性能評価工程（３）は、追加学習Ｌ１による特徴抽出層１１ｂの性能評価Ｅ１を行う工程（３ａ）と、追加学習Ｌ２による認識処理部１１の性能評価Ｅ２を行う工程（３ｂ）とを含む。なお、工程（３ａ）は、Ｓ３の工程に対応し、工程（３ｂ）は、Ｓ８の工程に対応する。さらに、更新工程（４）は、性能評価Ｅ１の結果に基づいて、特徴抽出層１１ｂのパラメータを、追加学習Ｌ１によって得られたパラメータに更新する工程（４ａ）と、性能評価Ｅ２の結果に基づいて、認識処理部１１（例えば識別層１１ｃ）のパラメータを、追加学習Ｌ２によって得られたパラメータに更新する工程（４ｂ）とを含む。なお、工程（４ａ）は、Ｓ４〜Ｓ６の工程に対応し、工程（４ｂ）は、Ｓ９〜Ｓ１１の工程に対応する。そして、本実施形態では、工程（２ａ）、工程（３ａ）、工程（４ａ）、工程（２ｂ）、工程（３ｂ）および工程（４ｂ）を、この順で行う。
【００５８】
また、上記の学習装置１において、制御部１６は、特徴抽出層１１ｂに対して追加学習Ｌ１を行った後、追加学習Ｌ１による特徴抽出層１１ｂの性能評価Ｅ１を行い、性能評価Ｅ１の結果に基づいて、特徴抽出層１１ｂのパラメータを、追加学習Ｌ１によって得られたパラメータに更新し、続いて、認識処理部１１（例えば識別層１１ｃ）の追加学習Ｌ２を行った後、追加学習Ｌ２による認識処理部１１の性能評価Ｅ２を行い、性能評価Ｅ２の結果に基づいて、認識処理部１１のパラメータを、追加学習Ｌ２によって得られたパラメータに更新する。
【００５９】
認識処理部１１が特徴抽出層１１ｂと識別層１１ｃとを含む場合において、先に特徴抽出層１１ｂの追加学習Ｌ１、性能評価Ｅ１およびパラメータ更新を行ってから、識別層１１ｃを含めた認識処理部１１の追加学習Ｌ２、性能評価Ｅ２およびパラメータ更新を行う。これにより、認識処理部１１の実際の運用時には（実際に現場データを用いて認識処理を行う際には）、特徴抽出層１１ｂで入力データから適切に抽出された特徴を用いて、識別層１１ｃにて識別を適切に行うことができる。
【００６０】
上記の学習方法において、工程（２ａ）では、データセットＢに含まれるデータセットＢ１を用いて、特徴抽出層１１ｂの追加学習Ｌ１を行い、工程（３ａ）では、データセットＢに含まれるデータセットＢ１以外のデータセットＢ２を用いて、特徴抽出層１１ｂの性能評価Ｅ１を行う。また、上記の学習装置１において、制御部１６は、データセットＢに含まれるデータセットＢ１を用いて、特徴抽出層１１ｂの追加学習Ｌ１を行う一方、データセットＢに含まれるデータセットＢ１以外のデータセットＢ２を用いて、特徴抽出層１１ｂの性能評価Ｅ１を行う。
【００６１】
特徴抽出層１１ｂの追加学習Ｌ１については、データセットＢに含まれるデータセットＢ１を用いて行い、特徴抽出層１１ｂの性能評価Ｅ１については、データセットＢに含まれるデータセットＢ１以外のデータセットＢ２を用いて行うため、追加学習Ｌ１で用いたデータ以外のデータを入力とする場合でも、特徴抽出層１１ｂが適切な性能を発揮するかどうか（入力データから特徴を適切に抽出しているかどうか）を評価することができる。このことは、汎化性向上にもつながる。
【００６２】
上記の学習方法において、工程（２ｂ）では、データセットＡを用いて、認識処理部１１（例えば識別層１１ｃ）の追加学習Ｌ２を行い、工程（３ｂ）では、予め用意した性能評価用のデータセットＣを用いて、認識処理部１１の性能評価Ｅ２を行う。また、上記の学習装置１において、制御部１６は、データセットＡを用いて、認識処理部１１（例えば識別層１１ｃ）の追加学習Ｌ２を行う一方、予め用意した性能評価用のデータセットＣを用いて、認識処理部１１の性能評価Ｅ２を行う。
【００６３】
認識処理部１１の追加学習Ｌ２を、正解ありのデータセットＡを用いて行うことにより、認識処理部１１からの出力が正解に近づくように認識処理部１１を学習させることができる。また、認識処理部１１の性能評価Ｅ２を、予め用意した性能評価用のデータセットＣを用いて行うことにより、認識処理部１１の性能評価を適切に行うことができる。
【００６４】
上記の学習方法において、工程（４ａ）では、性能評価Ｅ１の結果が一定の基準を満足している場合に、特徴抽出層１１ｂのパラメータ更新を行う（Ｓ５）。また、上記の学習装置１において、制御部１６は、性能評価Ｅ１の結果が一定の基準を満足している場合に、特徴抽出層１１ｂのパラメータ更新を行う。
【００６５】
性能評価Ｅ１の結果が一定の基準を満足している場合には、特徴抽出層１１ｂのパラメータ更新によって、特徴抽出層１１ｂの性能を、追加学習Ｌ１の前よりも向上させることができる。
【００６６】
上記の学習方法において、工程（４ａ）では、性能評価Ｅ１の結果が一定の基準を満足していない場合に、特徴抽出層１１ｂのパラメータを、追加学習Ｌ１を行う前のパラメータに維持する（Ｓ６）。また、上記の学習装置１において、制御部１６は、性能評価Ｅ１の結果が一定の基準を満足していない場合に、特徴抽出層１１ｂのパラメータを、追加学習Ｌ１を行う前のパラメータに維持する。
【００６７】
性能評価Ｅ１の結果が一定の基準を満足していない場合には、特徴抽出層１１ｂのパラメータが、追加学習Ｌ１を行う前のパラメータに維持されるため、特徴抽出層１１ｂの性能が、追加学習Ｌ１（例えば過学習）によって低下するのを回避することができる。
【００６８】
上記の学習方法において、工程（４ｂ）では、性能評価Ｅ２の結果が一定の基準を満足している場合に、認識処理部１１（例えば識別層１１ｃ）のパラメータ更新を行う（Ｓ１０）。また、上記の学習装置１において、制御部１６は、性能評価Ｅ２の結果が一定の基準を満足している場合に、認識処理部（例えば識別層１１ｃ）のパラメータ更新を行う。
【００６９】
性能評価Ｅ２の結果が一定の基準を満足している場合には、認識処理部１１のパラメータ更新によって、認識処理部１１の性能を、追加学習Ｌ２の前よりも向上させることができる。
【００７０】
上記の学習方法において、工程（４ｂ）では、性能評価Ｅ２の結果が一定の基準を満足していない場合に、認識処理部１１（例えば識別層１１ｃ）のパラメータを、追加学習Ｌ２を行う前のパラメータに維持する（Ｓ１１）。また、上記の学習装置１において、制御部１６は、性能評価Ｅ２の結果が一定の基準を満足していない場合に、認識処理部１１（例えば識別層１１ｃ）のパラメータを、追加学習Ｌ２を行う前のパラメータに維持する。
【００７１】
性能評価Ｅ２の結果が一定の基準を満足していない場合には、認識処理部１１のパラメータが、追加学習Ｌ２を行う前のパラメータに維持されるため、認識処理部１１の性能が、追加学習Ｌ２（例えば過学習）によって低下するのを回避することができる。
【００７２】
上記の学習方法において、工程（２ｂ）では、データセットＡを用いた追加学習Ｌ２を、識別層１１ｃについてのみ行う。また、上記の学習装置１において、制御部１６は、データセットＡを用いた追加学習Ｌ２を、識別層１１ｃについてのみ行う。
【００７３】
追加学習Ｌ２を識別層１１ｃについてのみ行うことにより、先に追加学習Ｌ１によってデータセットＢを用いて適切にチューニング（パラメータ調整）された特徴抽出層１１ｂが、正解ありのデータセットＡに引っ張られて学習されるのを防ぐことができる。これにより、特徴抽出層１１ｂの過学習を防止して、特徴抽出層１１ｂの性能低下を防止しながら、識別層１１ｃのみを適切に学習させることができる。
【００７４】
上記の学習方法および学習装置１において、認識処理部１１は、ニューラルネットワークで構成されている。この場合、ニューラルネットワークの機械学習によって、認識処理部１１の性能（汎化性）を向上させることができる。
【００７５】
〔プログラムおよび記録媒体〕
本実施形態で説明した学習装置１は、例えば、所定のプログラム（アプリケーションソフトウェア）をインストールしたコンピュータ（ＰＣ）で構成することができる。上記プログラムをコンピュータ（例えばＣＰＵとしての制御部１６）が読み取って実行することにより、学習装置１の各部を動作させて上述した各処理（各工程）を実行させることができる。このようなプログラムは、例えばネットワークを介して外部からダウンロードすることによって取得されてプログラム記憶部１２ａに記憶される。また、上記プログラムは、例えばＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読取可能な記録媒体に記録され、この記録媒体から上記プログラムをコンピュータが読み取ってプログラム記憶部１２ａに記憶する形態であってもよい。
【００７６】
〔補足〕
図１１は、本実施形態の学習方法の他の処理の流れを示すフローチャートである。制御部１６は、Ｓ３での性能評価Ｅ１の結果が一定の基準を満足しているか否かを判断し（Ｓ４）、一定の基準を満足していない場合には、Ｓ２に戻り、正解付きのデータセットＡと、データセットＢに含まれるデータセットＢ１以外のデータセットＢ３とを用いて、特徴抽出層１１ｂの追加学習Ｌ１を再度行うようにしてもよい。性能評価Ｅ１の結果が一定の基準を満足していない場合に、特徴抽出層１１ｂの追加学習Ｌ１を再度行うことにより、特徴抽出層１１ｂの性能向上を再度試みることができ、これによって汎化性向上が期待できる。
【００７７】
本実施形態では、認識処理部１１をニューラルネットワークで構成した例について説明したが、この構成に限定されるわけではない。例えば、認識処理部１１の識別層１１ｃとしは、サポートベクターマシン（ＳＶＭ：support vector machine）やランダムフォレスト（random forest）などを用いることができ、この場合でも本実施形態で説明した学習方法を適用することが可能である。
【００７８】
〔まとめ〕
本実施形態では、認識処理部１１の追加学習Ｌ１・Ｌ２による学習結果を、評価用のデータを用いて評価し、その評価結果に基づいて各層（特徴抽出層１１ｂ、識別層１１ｃ）のパラメータ更新を行う。学習結果の評価に基づいて、特徴抽出または識別の精度が向上する見込みであれば、特徴抽出層１１ｂおよび識別層１１ｃのパラメータ更新をそれぞれ行うため、特徴抽出または識別の精度を向上させて、汎化性を向上させることができる。
【００７９】
また、特徴抽出層１１ｂと識別層１１ｃとを備えた認識処理部１１の機械学習を行うにあたって、事前に集めた正解付きのデータ（データセットＡ）を用いた学習だけでは、実際に認識（識別）を行う現地のデータ（データセットＢ）に対する適合性が低く、汎化性を向上させることができない。また、現地のデータは、収集してもアノテーションがなく、識別層１１ｃの出力が正解であるかどうかわからないため、識別層１１ｃの学習には利用できない。しかし、事前に集めた正解付きのデータと併せて、現地のデータも用いて認識処理部１１を学習させることにより、用いるデータが多様化し、現地のデータにも合わせた学習が可能となって、汎用性が向上する。つまり、本実施形態のように、事前に入手した正解付きのデータ（データセットＡ）と、実運用を行う現場で取得されるデータ（データセットＢ）とを用い、データの組み合わせと学習範囲とを調整しながら、事前学習および追加学習Ｌ１・Ｌ２を行うことにより、汎化性を向上させることができる。また、正解付きのデータを用いて識別層１１ｃの追加学習を行うことにより、識別の精度を向上させることができる。
【００８０】
特に、特徴抽出層１１ｂの追加学習Ｌ１は、データセットＡおよびデータセットＢを用いて行うことで汎化性を向上させ、識別層１１ｃの追加学習Ｌ２は、正解付きのデータセットＡを用いて行うことで、識別の精度を向上させることができる。また、識別層１１ｃの追加学習Ｌ２のときに、特徴抽出層１１ｂの追加学習（パラメータ学習）を行わないようにすることで、特徴抽出層１１ｂのデータセットＡへの過学習を抑えることができる。
【００８１】
〔その他〕
以上で説明した本実施形態の学習方法および学習装置は、以下のように表現されてもよい。また、本実施形態で説明した内容は、以下のプログラムおよび記録媒体を含む。
【００８２】
１．入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法であって、
事前に入手した正解付きのデータセットＡを用いて、前記認識処理部の事前学習を行う事前学習工程（１）と、
前記事前学習の後、前記データセットＡと、前記データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて、前記認識処理部の追加学習を行う追加学習工程（２）と、
前記追加学習による前記認識処理部の性能評価を行う性能評価工程（３）と、
前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する更新工程（４）とを含むことを特徴とする学習方法。
【００８３】
２．前記認識処理部が、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを含む場合において、
前記追加学習工程（２）は、前記特徴抽出層の追加学習Ｌ１を行う工程（２ａ）と、前記認識処理部の追加学習Ｌ２を行う工程（２ｂ）とを含み、
前記性能評価工程（３）は、前記追加学習Ｌ１による前記特徴抽出層の性能評価Ｅ１を行う工程（３ａ）と、前記追加学習Ｌ２による前記認識処理部の性能評価Ｅ２を行う工程（３ｂ）とを含み、
前記更新工程（４）は、前記性能評価Ｅ１の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習Ｌ１によって得られたパラメータに更新する工程（４ａ）と、前記性能評価Ｅ２の結果に基づいて、前記認識処理部のパラメータを、前記追加学習Ｌ２によって得られたパラメータに更新する工程（４ｂ）とを含み、
前記工程（２ａ）、前記工程（３ａ）、前記工程（４ａ）、前記工程（２ｂ）、前記工程（３ｂ）および前記工程（４ｂ）を、この順で行うことを特徴とする前記１に記載の学習方法。
【００８４】
３．前記工程（２ａ）では、前記データセットＢに含まれるデータセットＢ１を用いて、前記特徴抽出層の前記追加学習Ｌ１を行い、
前記工程（３ａ）では、前記データセットＢに含まれる前記データセットＢ１以外のデータセットＢ２を用いて、前記特徴抽出層の前記性能評価Ｅ１を行うことを特徴とする前記２に記載の学習方法。
【００８５】
４．前記工程（２ｂ）では、前記データセットＡを用いて、前記認識処理部の前記追加学習Ｌ２を行い、
前記工程（３ｂ）では、予め用意した性能評価用のデータセットＣを用いて、前記認識処理部の性能評価Ｅ２を行うことを特徴とする前記２または３に記載の学習方法。
【００８６】
５．前記工程（４ａ）では、前記性能評価Ｅ１の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする前記２から４のいずれかに記載の学習方法。
【００８７】
６．前記工程（４ａ）では、前記性能評価Ｅ１の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習Ｌ１を行う前のパラメータに維持することを特徴とする前記２から５のいずれかに記載の学習方法。
【００８８】
７．前記工程（４ｂ）では、前記性能評価Ｅ２の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする前記２から６のいずれかに記載の学習方法。
【００８９】
８．前記工程（４ｂ）では、前記性能評価Ｅ２の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習Ｌ２を行う前のパラメータに維持することを特徴とする前記２から７のいずれかに記載の学習方法。
【００９０】
９．前記工程（２ｂ）では、前記データセットＡを用いた前記追加学習Ｌ２を、前記識別層についてのみ行うことを特徴とする前記２から８のいずれかに記載の学習方法。
【００９１】
１０前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする前記１から９のいずれかに記載の学習方法。
【００９２】
１１．入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部と、
前記認識処理部を機械学習させる学習制御部とを備え、
前記学習制御部は、事前に入手した正解付きのデータセットＡを用いて事前学習を行った前記認識処理部に対して、前記データセットＡと、前記データセットＡとは異なる環境で取得された正解なしのデータセットＢとを用いて追加学習させた後、前記追加学習による前記認識処理部の性能評価を行い、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新することを特徴とする学習装置。
【００９３】
１２．前記認識処理部は、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを有しており、
前記学習制御部は、
前記特徴抽出層に対して追加学習Ｌ１を行った後、前記追加学習Ｌ１による前記特徴抽出層の性能評価Ｅ１を行い、前記性能評価Ｅ１の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習Ｌ１によって得られたパラメータに更新し、続いて、前記認識処理部の追加学習Ｌ２を行った後、前記追加学習Ｌ２による前記認識処理部の性能評価Ｅ２を行い、前記性能評価Ｅ２の結果に基づいて、前記認識処理部のパラメータを、前記追加学習Ｌ２によって得られたパラメータに更新することを特徴とする前記１１に記載の学習装置。
【００９４】
１３．前記学習制御部は、前記データセットＢに含まれるデータセットＢ１を用いて、前記特徴抽出層の前記追加学習Ｌ１を行う一方、前記データセットＢに含まれる前記データセットＢ１以外のデータセットＢ２を用いて、前記特徴抽出層の前記性能評価Ｅ１を行うことを特徴とする前記１２に記載の学習装置。
【００９５】
１４．前記学習制御部は、前記データセットＡを用いて、前記認識処理部の前記追加学習Ｌ２を行う一方、予め用意した性能評価用のデータセットＣを用いて、前記認識処理部の性能評価Ｅ２を行うことを特徴とする前記１２または１３に記載の学習装置。
【００９６】
１５．前記学習制御部は、前記性能評価Ｅ１の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする前記１２から１４のいずれかに記載の学習装置。
【００９７】
１６．前記学習制御部は、前記性能評価Ｅ１の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習Ｌ１を行う前のパラメータに維持することを特徴とする前記１２から１５のいずれかに記載の学習装置。
【００９８】
１７．前記学習制御部は、前記性能評価Ｅ２の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする前記１２から１６のいずれかに記載の学習装置。
【００９９】
１８．前記学習制御部は、前記性能評価Ｅ２の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習Ｌ２を行う前のパラメータに維持することを特徴とする前記１２から１７のいずれかに記載の学習装置。
【０１００】
１９．前記学習制御部は、前記データセットＡを用いた前記追加学習Ｌ２を、前記識別層についてのみ行うことを特徴とする前記１２から１８のいずれかに記載の学習装置。
【０１０１】
２０．前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする前記１１から１９のいずれかに記載の学習装置。
【０１０２】
２１．前記工程（２ａ）は、前記工程（４ａ）において前記性能評価Ｅ１の結果が一定の基準を満足していない場合に、前記データセットＡと、前記データセットＢに含まれる未使用のデータセットＢ３とを用いて、前記特徴抽出層の追加学習Ｌ１を再度行うことを特徴とする前記２から５のいずれかに記載の学習方法。
【０１０３】
２２．前記学習制御部は、前記性能評価Ｅ１の結果が一定の基準を満足していない場合に、前記データセットＡと、前記データセットＢに含まれる未使用のデータセットＢ３とを用いて、前記特徴抽出層の追加学習Ｌ１を再度行うことを特徴とする前記１２から１５のいずれかに記載の学習装置。
【０１０４】
２３．前記１〜１０、２１のいずれかに記載の学習方法をコンピュータに実行させるプログラム。
【０１０５】
２４．前記２３に記載のプログラムを記録した、コンピュータ読取可能な記録媒体。
【０１０６】
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で拡張または変更して実施することができる。
【産業上の利用可能性】
【０１０７】
本発明は、入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法および学習装置に利用可能である。
【符号の説明】
【０１０８】
１      学習装置
１１      認識処理部
１１ｂ    特徴抽出層
１１ｃ    識別層
１６      制御部（学習制御部）
【図１】
2019152964.tif 000003
【図２】
2019152964.tif 000004
【図３】
2019152964.tif 000005
【図４】
2019152964.tif 000006
【図５】
2019152964.tif 000007
【図６】
2019152964.tif 000008
【図７】
2019152964.tif 000009
【図８】
2019152964.tif 000010
【図９】
2019152964.tif 000011
【図１０】
2019152964.tif 000012
【図１１】
2019152964.tif 000013