(57)【要約】【課題】モデル訓練方法を提供する。【解決手段】教師モデルに対応する生徒モデルを訓練する方法であって、教師モデルは、第１入力データを入力データとし、且つ第１出力データを出力ターゲットとして訓練されたものであり、該方法は、第２入力データを入力データとし、且つ第１出力データを出力ターゲットとして生徒モデルを訓練するステップ、を含み、第２入力データは、第１入力データを変更して得られたデータである。【選択図】図２
2020071883.tif 000002
【特許請求の範囲】
【請求項１】
教師モデルに対応する生徒モデルを訓練する方法であって、
前記教師モデルは、第１入力データを入力データとし、且つ第１出力データを出力ターゲットとして訓練されたものであり、
前記方法は、第２入力データを入力データとし、且つ前記第１出力データを出力ターゲットとして前記生徒モデルを訓練するステップ、を含み、
前記第２入力データは、前記第１入力データを変更して得られたデータである、方法。
【請求項２】
前記生徒モデルを訓練するステップは、
前記教師モデルの出力と前記生徒モデルの出力との差分を反復的に小さくして前記生徒モデルを訓練するステップ、を含む、請求項１に記載の方法。
【請求項３】
前記第１入力データと前記第２入力データとのデータ関連性に基づいて、前記差分を算出するための差分関数を決定する、請求項２に記載の方法。
【請求項４】
前記差分関数はＭＫ−ＭＭＤである、請求項３に記載の方法。
【請求項５】
前記生徒モデルを訓練する際に前記差分関数を用いてＬｏｇｉｔ損失関数及び特徴損失関数を算出する、請求項３又は４に記載の方法。
【請求項６】
前記生徒モデルを訓練する際にＳｏｆｔｍａｘ損失関数を算出する、請求項３又は４に記載の方法。
【請求項７】
前記第１入力データは、画像データ、音声データ又はテキストデータの何れかを含む、請求項１乃至４の何れかに記載の方法。
【請求項８】
前記変更は、前記第１入力データのタイプに対応する信号処理方法である、請求項５に記載の方法。
【請求項９】
請求項１乃至８の何れかに記載の方法により訓練された生徒モデルを用いてデータ認識を行うステップ、を含む、データ認識方法。
【請求項１０】
請求項９に記載のデータ認識方法を実行する少なくとも１つのプロセッサ、を含む、データ認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モデル訓練方法、データ認識方法及びデータ認識装置に関し、具体的には、知識の蒸留（ｋｎｏｗｌｅｄｇｅ  ｄｉｓｔｉｌｌａｔｉｏｎ）を用いて有効なデータ認識モデルを学習することに関する。
【背景技術】
【０００２】
最近、データ認識の精度は、深層学習ネットワークを用いることにより大幅に改善された。一方、速度は多くの応用シナリオで考慮する重要な要素であり、演算速度を確保すると共に、応用シナリオに必要な正確性を確保する必要がある。よって、例えば対象検出などのデータ認識の進歩はより深い深層学習の構造に依存しているが、このようなより深い構造は実行時の計算オーバヘッドの増加に繋がる。このため、知識の蒸留という概念が提案されている。
【０００３】
複雑な深層学習ネットワーク構造モデルは、幾つかの独立したモデルからなる集合であってもよいし、幾つかの制約条件に従って訓練された大きなネットワークモデルであってもよい。複雑なネットワークモデルの訓練が完了すると、他の訓練方法を用いて複雑なモデルからアプリケーション側に配置される小型のモデルを抽出し、即ち知識の蒸留を行ってもよい。知識の蒸留は、大きなモデルの監督により高速のニューラルネットワークモデルを訓練するための実用的な方法である。最も一般的な手順として、大きなニューラルネットワーク層から出力を抽出し、小さなニューラルネットワークに同一の結果を強制的に出力させる。このように、小さなニューラルネットワークは大きなモデルの表現力を学習することができる。ここで、小さなニューラルネットワークは「生徒」モデルとも称され、大きなニューラルネットワークは「教師」モデルとも称される。
【０００４】
従来の知識の蒸留の方法では、「生徒」モデルの入力と「教師」モデルの入力とは通常同じである。但し、元の訓練データセットを変更し、例えば元の訓練データセットにおける訓練データを一定量だけ変更すると、従来の方法では、「教師」モデルを再訓練して知識の蒸留の方法を用いて「生徒」モデルを訓練する必要がある。このような方法は、大きく、且つ訓練しにくい「教師」モデルを再訓練する必要があるため、演算負荷が大きくなってしまう。
【０００５】
従って、本発明は、新たな生徒モデルの訓練を提供する。
【０００６】
なお、上述した技術背景の説明は、本発明の技術案を明確、完全に理解させるための説明であり、当業者を理解させるために記述されているものである。これらの技術案は、単なる本発明の背景技術部分として説明されたものであり、当業者により周知されたものではない。
【発明の概要】
【０００７】
以下は、本開示の態様を基本的に理解させるために、本開示の簡単な概要を説明する。なお、この簡単な概要は、本開示を網羅的な概要ではなく、本開示のポイント又は重要な部分を意図的に特定するものではなく、本開示の範囲を意図的に限定するものではなく、後述するより詳細的な説明の前文として、単なる概念を簡単な形で説明することを目的とする。
【０００８】
本開示の目的を実現するために、本開示の１つの態様では、教師モデルに対応する生徒モデルを訓練する方法であって、前記教師モデルは、第１入力データを入力データとし、且つ第１出力データを出力ターゲットとして訓練されたものであり、前記方法は、第２入力データを入力データとし、且つ前記第１出力データを出力ターゲットとして前記生徒モデルを訓練するステップ、を含み、前記第２入力データは、前記第１入力データを変更して得られたデータである、方法を提供する。
【０００９】
本開示のもう１つの態様では、教師モデルに対応する生徒モデルを訓練する方法により訓練された生徒モデルを用いてデータ認識を行うステップ、を含む、データ認識方法を提供する。
【００１０】
本開示のもう１つの態様では、データ認識方法を実行する少なくとも１つのプロセッサ、を含む、データ認識装置を提供する。
【００１１】
本開示によれば、教師モデルを再訓練する必要がなく、訓練された生徒モデルのロバスト性を高める新たなモデル訓練方法を提供する。本開示によれば、教師モデルの訓練の入力は依然として元のデータであるが、生徒モデルの訓練の入力は元のデータを変更して得られたデータである。これによって、生徒モデルの出力は依然として教師モデルと同じであり、即ち、データの違いに関係なく、教師モデルを再訓練せずに生徒モデルを訓練することができる。
【図面の簡単な説明】
【００１２】
本開示の上記及び他の目的、特徴及び利点をより容易に理解させるために、以下は図面を参照しながら本開示の実施形態を説明する。
【図１】従来の生徒モデルの訓練方法を示す模式図である。
【図２】本開示の実施形態に係る生徒モデルの訓練方法を示す模式図である。
【図３】本開示の実施形態に係る学習モデルの訓練方法のフローチャートである。
【図４】本開示の実施形態に係るデータ認識方法を示すフローチャートである。
【図５】本開示の実施形態に係るデータ認識装置を示す模式図である。
【図６】本開示の実施形態に係る生徒モデルの訓練方法又はデータ認識方法を実現可能な装置の汎用機器の構成を示す図である。
【発明を実施するための形態】
【００１３】
以下は図面を参照しながら本開示の例示的な実施形態を説明する。説明の便宜上、明細書には実際の実施形態の全ての特徴が示されていない。なお、当業者が実施形態を実現する際に、実施形態を実現するために特定の決定を行ってもよく、これらの決定は実施形態に応じて変更されてもよい。
【００１４】
なお、本開示を明確にするために、図面には本開示に密に関連する構成要件のみが示され、本開示と関係のない細部が省略されている。
【００１５】
以下は図面を参照しながら本開示の例示的な実施例を説明する。なお、明確化のために、図面及び説明では当業者に知られており、例示的な実施例と関係のない部分及びプロセスの表示及び説明が省略されている。
【００１６】
なお、例示的な実施例の各態様は、システム、方法又はコンピュータプログラムプロダクトとして実施されてもよい。このため、例示的な実施例の各態様は、具体的に以下の形式で実現されてもよく、即ち、完全なハードウェアの実施例、完全なソフトウェアの実施例（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又はソフトウェアとハードウェアとの組み合わせの実施例であってもよく、本明細書では一般的に「回路」、「モジュール」又は「システム」と称される場合がある。さらに、例示的な実施例の各態様は、１つ又は複数のコンピュータ読み取り可能な媒体で表されるコンピュータプログラムプロダクトの形を採用してもよく、該コンピュータ読み取り可能な媒体にはコンピュータ読み取り可能なプログラムコードが記録されている。コンピュータプログラムは、例えば、コンピュータのネットワークを介して配分されてもよいし、１つ又は複数のリモートサーバに配置されてもよいし、装置のメモリに埋め込まされてもよい。
【００１７】
１つ又は複数のコンピュータ読み取り可能な媒体の任意の組み合わせを用いてもよい。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体又はコンピュータ読み取り可能な記憶媒体であってもよい。コンピュータ読み取り可能な記憶媒体は、例えば、電気、磁気、光学、電磁気、赤外線若しくは半導体のシステム、装置若しくは機器、又はこれらの任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例（非網羅的なリスト）は、１つ又は複数のワイヤの電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去型のプログラミング可能な読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学的記憶装置、磁気的記憶装置、又はこれらの適切な組み合わせを含む。本明細書では、コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置若しくは機器により使用され、或いはこれらに関連して使用するプログラムを含み、或いは記憶する任意の有形の媒体であってもよい。
【００１８】
コンピュータ読み取り可能な信号媒体は、例えば、ベースバンド内、又はキャリアの一部として伝播される、コンピュータ読み取り可能なプログラムコードを有するデータ信号を含んでもよい。このような伝播信号は、任意の適切な形を採用してもよく、例えば電磁、光学又はこれらの任意の適切な組み合わせを含んでもよいが、これらに限定されない。
【００１９】
コンピュータ読み取り可能な信号媒体は、コンピュータ読み取り可能な記憶媒体以外の、命令実行システム、装置又は機器により使用され、或いはこれらに関連して使用されるプログラムを伝送、伝播又は送信できる任意のコンピュータで読み取り可能な媒体であってもよい。
【００２０】
コンピュータ読み取り可能な媒体におけるプログラムコードは、任意の適切な媒体を用いて伝送されてもよく、例えば無線、有線、光ケーブル、無線周波数など、又はこれらの任意の適切な組み合わせを含んでもよいが、これらに限定されない。
【００２１】
本明細書に開示される例示的な実施例の各態様の操作を実行するためのコンピュータプログラムコードは、１つ又は複数のプログラミング言語の任意の組み合わせで記述されてもよく、該プログラミング言語は、Ｊａｖａ(登録商標)、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語を含み、「Ｃ」プログラミング言語又は同様なプログラミング言語などの従来の手続き型プログラミング言語を含む。
【００２２】
以下は、例示的な実施例に係る方法、装置（システム）及びコンピュータプログラムプロダクトのフローチャート及び／又はブロック図を参照しながら、本明細書で開示される例示的な実施例の各態様を説明する。なお、フローチャート及び／又はブロック図の各ブロック、並びにフローチャート及び／又はブロック図の各ブロックの組み合わせは、コンピュータプログラム命令により実現されてもよい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサに提供されて装置を構成し、コンピュータ又は他のプログラミング可能なデータ処理装置によりこれらの命令を実行することで、フローチャート及び／又はブロック図の各ブロックに規定された機能／操作を実現するための装置を構成する。
【００２３】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラミング可能なデータ処理装置に特定の方法で動作するコンピュータ読み取り可能な媒体に記憶され、コンピュータ読み取り可能な媒体に記憶された命令によりフローチャート及び／又はブロック図の各ブロックに規定された機能／操作を実現する命令を含むプロダクトを構成してもよい。
【００２４】
コンピュータプログラム命令は、コンピュータ又は他のプログラミング可能なデータ処理装置にロードされ、コンピュータ又は他のプログラミング可能なデータ処理装置で一連の動作ステップが実行され、コンピュータ又は他のプログラミング装置で実行される命令によりフローチャート及び／又はブロック図の各ブロックに規定された機能／操作を実現するプロセスを提供してもよい。
【００２５】
図１は従来の生徒モデルの訓練方法を示す模式図である。
【００２６】
該従来の生徒モデルの訓練方法では、教師モデルの出力と生徒モデルの出力との差分を用いて知識の蒸留を構成し、小さく且つ高速な生徒モデルを訓練する。このような方法により、生徒モデルに教師モデルの表現力を学習させることができる。
【００２７】
通常、従来の生徒モデルの訓練プロセスでは、各サンプルは同じように扱われ、即ち各サンプルにより生じる損失の重みは同一である。しかし、このような方法は以下の欠点を有する。教師モデルは、異なるサンプルについて異なる信頼度を有するため、損失に対して異なる重みで重み付けする。従って、この問題を解決するために、本開示の実施形態に係る方法が提案される。
【００２８】
図２は本開示の実施形態に係る生徒モデルの訓練方法を示す模式図である。
【００２９】
本開示の実施形態に係る生徒モデルの訓練方法では、同様に、教師モデルの出力と生徒モデルの出力との差分を用いて知識の蒸留を構成し、小さく且つ高速な生徒モデルを訓練し、生徒モデルに教師モデルの表現力を学習させる。しかし、図１に示す従来の生徒モデルの訓練方法と異なって、生徒モデルの入力に変化量Δを追加する。一方、出力ターゲットとして依然として教師モデルの出力ターゲットと同様なターゲットを用い、生徒モデルを訓練する。この方法により訓練された生徒モデルは、変更された入力データに適用することができるため、より多くの応用シナリオに適用することができる。
【００３０】
本開示の実施形態に係る学習モデルの訓練方法はニューラルネットワークを用いて生徒モデルを訓練し、ニューラルネットワークは生体のニューロンの機能を簡略化して構成された人工のニューロンを用い、人工のニューロンは接続の重みを有するエッジにより互いに接続されてもよい。接続の重み（ニューラルネットワークのパラメータ）は、エッジの所定値であり、接続の強度とも称される。ニューラルネットワークは、人工のニューロンを通じて人間の脳の認知機能又は学習プロセスを実行できる。人工のニューロンはノードとも称される。
【００３１】
ニューラルネットワークは複数の層を含んでもよい。例えば、ニューラルネットワークは、入力層、隠れ層及び出力層を含んでもよい。入力層は訓練を実行するための入力を受信して隠れ層に送信し、出力層は隠れ層のノードから受信された信号に基づいてニューラルネットワークの出力を生成してもよい。隠れ層は、入力層と出力層との間に配置されてもよい。隠れ層は、入力層から受信された訓練データを予測しやすい値に変更してもよい。入力層及び隠れ層に含まれるノードは接続の重みを有するエッジにより互いに接続されてもよく、隠れ層及び出力層に含まれるノードも接続の重みを有するエッジにより互いに接続されてもよい。入力層、隠れ層及び出力層は、それぞれ複数のノードを含んでもよい。
【００３２】
ニューラルネットワークには、複数の隠れ層を含んでもよい。複数の隠れ層を含むニューラルネットワークは、ディープニューラルネットワークと称されてもよい。ディープニューラルネットワークの訓練は深層学習と称されてもよい。隠れ層に含まれるノードは、隠れノードと称されてもよい。ディープニューラルネットワークで提供される隠れ層の数は特定の数に限定されない。
【００３３】
教師あり学習によりニューラルネットワークを訓練してもよい。教師あり学習とは、入力データ及びそれに対応する出力データをニューラルネットワークに提供し、エッジの接続の重みを更新して入力データに対応する出力データを出力する方法を意味する。例えば、モデル訓練装置は、ｄｅｌｔａ規則及び誤差逆伝播学習により、人工のニューロン間のエッジの接続の重みを更新してもよい。
【００３４】
ディープネットワークはディープのニューラルネットワークである。ディープニューラルネットワークの構造は従来の多層パーセプトロンと同様であり、教師あり学習を行う場合のアルゴリズムも同様である。唯一の差異としては、このネットワークは教師あり学習を行う前に教師なし学習を行い、教師なし学習により学習された重みを教師あり学習の初期値として用いる必要がある。この変更は、実際には合理的な仮定に対応するものである。教師なし学習によりネットワークに対して事前訓練を行って得られたデータの表現をＰ（ｘ）で表し、その後に教師あり学習によりネットワークを訓練し（例えばＢＰアルゴリズム）、Ｐ（Ｙ｜Ｘ）を取得し、ここでＹは出力である（例えばカテゴリラベル）。この仮説では、Ｐ（Ｘ）の学習がＰ（Ｙ｜Ｘ）の学習に役に立つと考えられる。この学習アプローチは、条件の確率分布Ｐ（Ｙ｜Ｘ）だけでなく、ＸとＹの組み合わせ確率分布も学習するため、単純な教師あり学習に比べてオーバフィッティングのリスクを低減させる。
【００３５】
本開示の実施形態に係る学習モデルの訓練方法は、ディープニューラルネットワーク、特に畳み込みニューラルネットワークを使用する。近年、畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＣＮＮ）が提案され、ＣＮＮは、人工のニューロンが一部のカバレッジ内の周囲のユニットに応答し、大きな画像処理に対して優れたパフォーマンスを発揮できるフィードフォワード型のニューラルネットワークである。ＣＮＮは、畳み込み層とプーリング層を含む。ＣＮＮは主に、変位、スケーリング、及び他の形式の歪み不変性の２次元画像を認識するために用いられる。ＣＮＮの特徴検出層が訓練データにより学習を行うため、ＣＮＮを利用すると、明示的な特徴抽出を回避し、訓練データから学習を暗黙的に行う。さらに、同一の特徴マッピング面上のニューロンの重みが同一であるため、ネットワークは並行して学習することができ、これは、ニューロンが互いに接続されたネットワークに対する畳み込みネットワークの大きな利点でもある。畳み込みニューラルネットワークは、局所の重みを共有するという特殊な構造により、音声認識及び画像処理において独自の利点を有し、その配置が実際の生体ニューラルネットワークに近く、重みの共有によりネットワークの複雑さを低減させ、特に多次元の入力ベクトルの画像をネットワークに直接入力できるという特徴により、特徴抽出及び分類プロセスにおけるデータ再構築の複雑さを回避した。このため、本開示の実施形態に係る学習モデルの訓練方法は、好ましくは、畳み込みニューラルネットワークを用いて、教師モデルの出力と生徒モデルの出力との差分を反復的に小さくして生徒モデルを訓練する。畳み込みニューラルネットワークは当業者にとって周知であるため、本開示はその原理の詳細な説明を省略する。
【００３６】
図３は本開示の実施形態に係る学習モデルの訓練方法のフローチャートである。
【００３７】
図３に示すように、ステップ３０１において、訓練済みの教師モデルを予め取得し、或いは教師モデルを一時的に訓練する。ここで、該教師モデルは、第１入力データの変更されていないサンプルを入力データとし、且つ第１出力データを出力ターゲットとして訓練されたものである。ステップ３０２において、第２入力データの変更されたサンプルを入力データとし、且つ教師モデルと同一の第１出力データを出力ターゲットとして生徒モデルを訓練する。ここで、第２入力データは、第１入力データを変更して得られたデータであり、該変更は、第１入力データのタイプに対応する信号処理方法である。ステップ３０１及びステップ３０２における訓練は、畳み込みニューラルネットワークにより行われる。
【００３８】
従来の生徒モデルの訓練ステップにおいて、教師モデルと同一の第１入力データのサンプルを入力データとし、且つ教師モデルと同一の第１出力データを出力ターゲットとして生徒モデルを訓練する。このプロセスは、以下の式（１）で表されてもよい。
【数１】
2020071883.tif 000003
【００３９】
上記の式（１）において、Ｓは生徒モデルを表し、Ｔは教師モデルを表し、ｘｉは訓練サンプルを表す。即ち、従来の生徒モデルの訓練方法では、生徒モデルの入力と教師モデルの入力サンプルは同一である。よって、入力サンプルが変わると、知識の蒸留により新たな生徒モデルを取得するために、教師モデルを再訓練する必要がある。
【００４０】
教師モデルと生徒モデルとの出力の差分は、損失関数として表されてもよい。通常の損失関数は、１）Ｌｏｇｉｔ損失、２）特徴Ｌ２損失、及び３）生徒モデルのｓｏｆｔｍａｘ損失を含む。以下は、この３つの損失関数を詳細に説明する。
【００４１】
１）Ｌｏｇｉｔ損失
Ｌｏｇｉｔ損失は、教師モデルと生徒モデルにより生成された確率分布の差分を表す。ここで、ＫＬダイバージェンスを用いて損失関数を算出し、ここで、ＫＬダイバージェンスは相対エントロピーであり、２つの確率分布及び差分を表す一般的な方法であり、Ｌｏｇｉｔ損失関数は以下の式で表される。
【数２】
2020071883.tif 000004
【００４２】
式（２）において、ＬＬはＬｏｇｉｔ損失を表し、ｘｔ（ｉ）は教師モデルによりサンプルをｉ番目のカテゴリに分類する確率を表し、ｘｓ（ｉ）は生徒モデルによりサンプルをｉ番目のカテゴリに分類する確率を表し、ｍはカテゴリの総数を表す。
【００４３】
２）特徴Ｌ２損失
特徴Ｌ２損失は以下の式で表される。
【数３】
2020071883.tif 000005
【００４４】
式（３）において、ＬＦは特徴Ｌ２損失を表し、ｍはカテゴリの総数（サンプルｘｉの総数）を表し、
（外１）
2020071883.tif 000006
はサンプルｘｉの生徒モデルにより出力された出力特徴を表し、
（外２）
2020071883.tif 000007
はサンプルｘｉの教師モデルにより出力された出力特徴を表す。
【００４５】
３）生徒モデルのｓｏｆｔｍａｘ損失
【数４】
2020071883.tif 000008
【００４６】
式（４）において、ＬＳはｓｏｆｔｍａｘ損失を表し、ｍはカテゴリの総数（サンプルｘｉの総数）を表し、ｙｉはｘｉのラベルを表し、
（外３）
2020071883.tif 000009
はサンプルｘｉの生徒モデルにより出力された出力特徴を表し、他のパラメータについて、例えばＷ及びｂは何れもｓｏｆｔｍａｘにおける通常のパラメータであり、Ｗは係数の行列であり、ｂはオフセットであり、これらのパラメータは何れも訓練により決定されたものである。
【００４７】
上記の３つの損失関数に基づいて、総損失は以下の式で表されてもよい。
【数５】
2020071883.tif 000010
【００４８】
ここで、λＬ、λＦ、λＳは何れも訓練により取得されたものである。
【００４９】
以下は、上記従来の生徒モデルの訓練ステップとは異なる訓練ステップ３０２を説明する。
【００５０】
上記従来の生徒モデルの訓練ステップとは異なり、本開示の実施形態に係る図３に示すステップ３０２において、生徒モデルの入力に変化量Δを追加し、このプロセスは以下の式（６）で表されてもよい。
【数６】
2020071883.tif 000011
【００５１】
上記の式（６）において、Ｓは生徒モデルを表し、Ｔは教師モデルを表し、ｘｉは訓練サンプルを表し、Δはｘｉが変更される変化量を表す。該変化量は、入力データ、即ちサンプルのタイプに対応する信号処理方法である。例えば、訓練サンプルが画像である場合、Δは例えば画像に対してダウンサンプリング処理を行って生成された変化量であってもよい。入力データのタイプは、画像データ、音声データ又はテキストデータを含むが、これらに限定されない。以上のことから、本開示の実施形態に係る生徒モデルの訓練方法では、生徒モデルの入力サンプルと教師モデルの入力サンプルとは異なる。
【００５２】
訓練データに変化量Δを追加すると、生徒モデルの訓練サンプルドメインと教師モデルの訓練サンプルドメインとは異なることになる。本開示の実施形態に係る生徒モデルの訓練方法では、従来の方法におけるＬｏｇｉｔ損失及び特徴Ｌ２損失により訓練された生徒モデルを直接使用すると、データ又は対象を正確に認識することができない。元の入力サンプルと変更されたデータサンプルとのデータ関連性に基づくと、ドメイン類似度計量−マルチカーネル最大平均値差分（ＭＫ−ＭＭＤ）を損失関数として用いることが考えられる。ドメイン間距離計量をマルチカーネル最大平均値差分ＭＫ−ＭＭＤに変更することで、複数の適応層のドメイン間距離を同時に測定することができ、また、ＭＫ−ＭＭＤのパラメータ学習はディープニューラルネットワークの訓練時間を増加させることがない。ＭＫ−ＭＭＤ損失関数に基づく生徒モデルの学習方法により訓練されたモデルは、様々なタイプのタスクにおいて良好な分類効果を達成することができる。使用されるＭＫ−ＭＭＤ関数は以下の式（７）で表される。
【数７】
2020071883.tif 000012
【００５３】
上記の式（７）において、ＮとＭはそれぞれサンプルセットｘとｙに対応する１つのカテゴリにおけるサンプルの数を表す。本開示の実施形態に係る生徒モデルの訓練方法では、好ましくは、生徒モデルに対応する１つのカテゴリのサンプルの数は、教師モデルの１つのカテゴリのサンプルの数と同一である。即ち、以下の各式において、好ましくは、ＮとＭは同一の値を有する。
【００５４】
上記のＭＫ−ＭＭＤ関数（以下の式におけるＭＭＤに対応する）を用いてＬｏｇｉｔ損失を最適化し、即ちＬｏｇｉｔ損失を以下のように変更する。
【数８】
2020071883.tif 000013
【００５５】
上記の式（８）において、ＬＬは変更されたＬｏｇｉｔ損失を表し、ｘｔ（ｉ）は教師モデルによりサンプルをｉ番目のカテゴリに分類する確率を表し、ｘｓ（ｉ）は生徒モデルによりサンプルをｉ番目のカテゴリに分類する確率を表し、ｍはカテゴリの総数を表す。
【００５６】
次に、上記のＭＫ−ＭＭＤ関数（以下の式におけるＭＭＤに対応する）を用いて特徴損失を最適化し、即ち特徴損失を以下のように変更する。
【数９】
2020071883.tif 000014
【００５７】
式（９）において、ＬＦは変更された特徴損失を表し、ｍはカテゴリの総数（サンプルｘｉの総数）を表し、
（外４）
2020071883.tif 000015
はサンプルｘｉの生徒モデルにより出力された出力特徴を表し、
（外５）
2020071883.tif 000016
はサンプルｘｉの教師モデルにより出力された出力特徴を表す。
【００５８】
生徒モデルのｓｏｆｔｍａｘ損失は、図１に示す生徒モデルのｓｏｆｔｍａｘ損失と同じであり、以下のように表される。
【数１０】
2020071883.tif 000017
【００５９】
上記の式（１０）において、ＬＳはｓｏｆｔｍａｘ損失を表し、ｍはカテゴリの総数（サンプルｘｉの総数）を表し、ｙｉはｘｉのラベルを表し、
（外６）
2020071883.tif 000018
はサンプルｘｉの生徒モデルにより出力された出力特徴を表し、他のパラメータについて、例えばＷ及びｂは何れもｓｏｆｔｍａｘにおける通常のパラメータであり、Ｗは係数の行列であり、ｂはオフセットであり、これらのパラメータは何れも訓練により決定されたものである。
【００６０】
上記の３つの損失関数に基づいて、総損失は以下の式で表されてもよい。
【数１１】
2020071883.tif 000019
【００６１】
ここで、λＬ、λＦ、λＳは何れも訓練により取得されたものである。該合計の損失を反復的に小さくして生徒モデルを訓練する。
【００６２】
図４は本開示の実施形態に係るデータ認識方法を示すフローチャートである。
【００６３】
図４に示すように、ステップ４０１において、訓練済みの教師モデルを予め取得し、或いは教師モデルを一時的に訓練する。ここで、該教師モデルは、第１入力データの変更されていないサンプルを入力データとし、且つ第１出力データを出力ターゲットとして訓練されたものである。ステップ４０２において、第２入力データの変更されたサンプルを入力データとし、且つ教師モデルと同一の第１出力データを出力ターゲットとして生徒モデルを訓練する。ここで、第２入力データは、第１入力データを変更して得られたデータであり、該変更は、第１入力データのタイプに対応する信号処理方法である。ステップ４０１及びステップ４０２における訓練は、畳み込みニューラルネットワークにより行われる。ステップ４０３において、ステップ４０２において得られた生徒モデルを用いてデータ認識を行う。
【００６４】
本開示の実施形態に係る図４に示すステップ４０２において、生徒モデルの入力に変化量Δを追加し、このプロセスは以下の式（１２）で表されてもよい。
【数１２】
2020071883.tif 000020
【００６５】
上記の式（１２）において、Ｓは生徒モデルを表し、Ｔは教師モデルを表し、ｘｉは訓練サンプルを表し、Δはｘｉが変更される変化量を表す。該変化量は、入力データ、即ちサンプルのタイプに対応する信号処理方法である。例えば、訓練サンプルが画像である場合、Δは例えば画像に対してダウンサンプリング処理を行って生成された変化量であってもよい。入力データのタイプは、画像データ、音声データ又はテキストデータを含むが、これらに限定されない。
【００６６】
訓練データに変化量Δを追加すると、生徒モデルの訓練サンプルドメインと教師モデルの訓練サンプルドメインとは異なることになる。本開示の実施形態に係る生徒モデルの訓練方法では、図１に示す従来の方法におけるＬｏｇｉｔ損失及び特徴Ｌ２損失により訓練された生徒モデルを直接使用すると、データ又は対象を正確に認識することができないため、本開示の方法では元のＬｏｇｉｔ損失及び特徴Ｌ２損失を直接使用することができない。元の入力サンプルと変更されたデータサンプルとのデータ関連性に基づくと、ドメイン類似度計量−マルチカーネル最大平均値差分（ＭＫ−ＭＭＤ）を損失関数として用いることが考えられる。
【００６７】
ドメイン間距離計量をマルチカーネル最大平均値差分ＭＫ−ＭＭＤに変更することで、複数の適応層のドメイン間距離を同時に測定することができ、また、ＭＫ−ＭＭＤのパラメータ学習はディープニューラルネットワークの訓練時間を増加させることがない。ＭＫ−ＭＭＤ損失関数に基づく生徒モデルの学習方法により訓練されたモデルは、様々なタイプのタスクにおいて良好な分類効果を達成することができる。使用されるＭＫ−ＭＭＤ関数は以下の式（１３）で表される。
【数１３】
2020071883.tif 000021
【００６８】
上記の式（１３）において、ＮとＭはそれぞれサンプルセットｘとｙに対応する１つのカテゴリにおけるサンプルの数を表す。本開示の実施形態に係る生徒モデルの訓練方法では、好ましくは、生徒モデルに対応する１つのカテゴリのサンプルの数は、教師モデルの１つのカテゴリのサンプルの数と同一である。即ち、以下の各式において、好ましくは、ＮとＭは同一の値を有する。
【００６９】
上記のＭＫ−ＭＭＤ関数（以下の式におけるＭＭＤに対応する）を用いてＬｏｇｉｔ損失を最適化し、即ちＬｏｇｉｔ損失を以下のように変更する。
【数１４】
2020071883.tif 000022
【００７０】
上記の式（１４）において、ＬＬは変更されたＬｏｇｉｔ損失を表し、ｘｔ（ｉ）は教師モデルによりサンプルをｉ番目のカテゴリに分類する確率を表し、ｘｓ（ｉ）は生徒モデルによりサンプルをｉ番目のカテゴリに分類する確率を表し、ｍはカテゴリの総数を表す。
【００７１】
次に、上記のＭＫ−ＭＭＤ関数（以下の式におけるＭＭＤに対応する）を用いて特徴損失を最適化し、即ち特徴損失を以下のように変更する。
【数１５】
2020071883.tif 000023
【００７２】
式（１５）において、ＬＦは変更された特徴損失を表し、ｍはカテゴリの総数（サンプルｘｉの総数）を表し、
（外７）
2020071883.tif 000024
はサンプルｘｉの生徒モデルにより出力された出力特徴を表し、
（外８）
2020071883.tif 000025
はサンプルｘｉの教師モデルにより出力された出力特徴を表す。
【００７３】
生徒モデルのｓｏｆｔｍａｘ損失は、図１に示す生徒モデルのｓｏｆｔｍａｘ損失と同じであり、以下のように表される。
【数１６】
2020071883.tif 000026
【００７４】
上記の式（１６）において、ＬＳはｓｏｆｔｍａｘ損失を表し、ｍはカテゴリの総数（サンプルｘｉの総数）を表し、ｙｉはｘｉのラベルを表し、
（外９）
2020071883.tif 000027
はサンプルｘｉの生徒モデルにより出力された出力特徴を表し、他のパラメータについて、例えばＷ及びｂは何れもｓｏｆｔｍａｘにおける通常のパラメータであり、Ｗは係数の行列であり、ｂはオフセットであり、これらのパラメータは何れも訓練により決定されたものである。
【００７５】
上記の３つの損失関数に基づいて、総損失は以下の式で表されてもよい。
【数１７】
2020071883.tif 000028
【００７６】
ここで、λＬ、λＦ、λＳは何れも訓練により取得されたものである。該合計の損失を反復的に小さくして生徒モデルを訓練する。
【００７７】
図５は本開示の実施形態に係るデータ認識装置を示す模式図である。
【００７８】
図５に示すデータ認識装置５００は、データ認識方法を実行する少なくとも１つのプロセッサ５０１を含む。データ認識装置５００は、記憶ユニット５０３及び／又は通信ユニット５０２をさらに含んでもよく、記憶ユニット５０３は認識すべきデータ及び／又は認識により得られたデータを記憶し、通信ユニット５０２は認識すべきデータを受信し、且つ／或いは認識により得られたデータを送信する。
【００７９】
本開示の各実施形態では、教師モデル及び生徒モデルの入力データは、画像データ、音声データ又はテキストデータの何れかを含んでもよい。
【００８０】
図６は本開示の実施形態に係る生徒モデルの訓練方法又はデータ認識方法を実現可能な装置の汎用機器７００の構成を示す図である。汎用機器７００は、例えばコンピュータシステムであってもよい。なお、汎用機器７００は単なる一例であり、本開示の方法及び装置の使用範囲又は機能を制限するものではない。また、汎用機器７００は、上記のモデル訓練方法及びモデル訓練装置における構成要件又はその組み合わせに依存するものではない。
【００８１】
図６において、中央処理部（ＣＰＵ）７０１は、読み出し専用メモリ（ＲＯＭ）７０２に記憶されているプログラム、又は記憶部７０８からランダムアクセスメモリ（ＲＡＭ）７０３にロードされたプログラムにより各種の処理を実行する。ＲＡＭ７０３には、必要に応じて、ＣＰＵ７０１が各種の処理を実行するに必要なデータが記憶されている。ＣＰＵ７０１、ＲＯＭ７０２、及びＲＡＭ７０３は、バス７０４を介して互いに接続されている。入力／出力インターフェース７０５もバス７０４に接続されている。
【００８２】
入力部７０６（キーボード、マウスなどを含む）、出力部７０７（ディスプレイ、例えばブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）など、及びスピーカなどを含む）、記憶部７０８（例えばハードディスクなどを含む）、通信部７０９（ネットワークのインタフェースカード、例えばＬＡＮカード、モデムなどを含む）は、入力／出力インターフェース７０５に接続されている。通信部７０９は、ネットワーク、例えばインターネットを介して通信処理を実行する。必要に応じて、ドライブ部７１０は、入力／出力インターフェース７０５に接続されてもよい。取り外し可能な媒体７１１は、例えば磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどであり、必要に応じてドライブ部７１０にセットアップされて、その中から読みだされたコンピュータプログラムは必要に応じて記憶部７０８にインストールされている。
【００８３】
ソフトウェアにより上記処理を実施する場合、ネットワーク、例えばインターネット、又は記憶媒体、例えば取り外し可能な媒体７１１を介してソフトウェアを構成するプログラムをインストールする。
【００８４】
なお、これらの記憶媒体は、図６に示されている、プログラムを記憶し、機器と分離してユーザへプログラムを提供する取り外し可能な媒体７１１に限定されない。取り外し可能な媒体７１１は、例えば磁気ディスク（フロッピーディスクを含む）、光ディスク（光ディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、及びデジタル多目的ディスク（ＤＶＤ）を含む）、光磁気ディスク（ミニディスク（ＭＤ）（登録商標））及び半導体メモリを含む。或いは、記憶媒体は、ＲＯＭ７０２、記憶部７０８に含まれるハードディスクなどであってもよく、プログラムを記憶し、それらを含む機器と共にユーザへ提供される。
【００８５】
また、本開示は、コンピュータ読み取り可能なプログラム命令が記憶されたコンピュータプログラムプロダクトをさらに提供する。該プログラム命令がコンピュータにより読み取り、実行される際に、上記本開示の方法を実行することができる。それに応じて、このようなプログラム命令を記録した上述した各種の記憶媒体も本開示の範囲内のものである。
【００８６】
以上はブロック図、フローチャート及び／又は実施形態を詳細に説明することで、本開示の実施形態の装置及び／又は方法の具体的な実施形態を説明している。これらのブロック図、フローチャート及び／又は実施形態に１つ又は複数の機能及び／又は動作が含まれている場合、これらのブロック図、フローチャート及び／又は実施形態における各機能及び／又は動作は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにより個別及び／又はまとめて実施されてもよい。１つの実施形態では、本明細書に記載された主題の幾つかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）又は他の統合形態により実現されてもよい。なお、本明細書に記載された実施形態の全て又は一部の態様は、集積回路における１つ又は複数のコンピュータにより実行される１つ又は複数のコンピュータプログラムの形（例えば１つ又は複数のコンピュータシステムにより実行される１つ又は複数のコンピュータプログラムの形）、１つ又は複数のプロセッサにより実行される１つ又は複数のプログラムの形（１つ又は複数のマイクロプロセッサにより実行される１つ又は複数のプログラムの形）、ファームウェアの形、又は実質的なこれらの任意の組み合わせの形で均等的に実施されもよい。また、本明細書に開示された内容に応じて、本開示を設計するための回路及び／又は本開示のソフトウェア及び／又はファームウェアを編集するためのコードは全て当業者の能力の範囲内のものである。
【００８７】
なお、用語「含む」、「有する」は本明細書に説明された特徴、要素、ステップ又は部材の存在を意味するが、他の１つ又は複数の特徴、要素、ステップ又は部材の存在又は追加を排除するものではない。序数に関する用語は、これらの用語により言及された特徴、要素、ステップ又は部材の実施の順序又は重要性のレベルを意味することではなく、単なるこれらの特徴、要素、ステップ又は部材を区別するためものである。
【００８８】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示するが、これらの付記に限定されない。
（付記１）
教師モデルに対応する生徒モデルを訓練する方法であって、
前記教師モデルは、第１入力データを入力データとし、且つ第１出力データを出力ターゲットとして訓練されたものであり、
前記方法は、第２入力データを入力データとし、且つ前記第１出力データを出力ターゲットとして前記生徒モデルを訓練するステップ、を含み、
前記第２入力データは、前記第１入力データを変更して得られたデータである、方法。
（付記２）
前記生徒モデルを訓練するステップは、
前記教師モデルの出力と前記生徒モデルの出力との差分を反復的に小さくして前記生徒モデルを訓練するステップ、を含む、付記１に記載の方法。
（付記３）
前記第１入力データと前記第２入力データとのデータ関連性に基づいて、前記差分を算出するための差分関数を決定する、付記２に記載の方法。
（付記４）
前記差分関数はＭＫ−ＭＭＤである、付記３に記載の方法。
（付記５）
前記生徒モデルを訓練する際に前記差分関数を用いてＬｏｇｉｔ損失関数及び特徴損失関数を算出する、付記３又は４に記載の方法。
（付記６）
前記生徒モデルを訓練する際にＳｏｆｔｍａｘ損失関数を算出する、付記３又は４に記載の方法。
（付記７）
前記教師モデルと前記生徒モデルとは、同一のＳｏｆｔｍａｘ損失関数を有する、付記６に記載の方法。
（付記８）
前記第１入力データは、画像データ、音声データ又はテキストデータの何れかを含む、付記１乃至４の何れかに記載の方法。
（付記９）
前記変更は、前記第１入力データのタイプに対応する信号処理方法である、付記５に記載の方法。
（付記１０）
前記第１入力データのサンプルの数は、前記第２入力データのサンプルの数と同一である、付記１乃至４の何れかに記載の方法。
（付記１１）
訓練された複数の損失関数のそれぞれのための複数の重みにより、前記差分を算出するための差分関数を決定する、付記１乃至４の何れかに記載の方法。
（付記１２）
畳み込みニューラルネットワークを用いて前記生徒モデルを訓練する、付記１乃至４の何れかに記載の方法。
（付記１３）
付記１乃至８の何れかに記載の方法により訓練された生徒モデルを用いてデータ認識を行うステップ、を含む、データ認識方法。
（付記１４）
付記１３に記載のデータ認識方法を実行する少なくとも１つのプロセッサ、を含む、データ認識装置。
（付記１５）
プログラム命令が記憶されているコンピュータ読み取り可能な記憶媒体であって、前記プログラム命令がコンピュータにより実行される際に付記１〜１３に記載の方法を実行する、記憶媒体。
【００８９】
以上は本開示の具体的な実施形態を説明しているが、当業者は添付の特許請求の範囲の要旨及び範囲内で本開示に対して各種の変更、改善又は均等的なものを行うことができる。これらの変更、改善又は均等的なものは本開示の保護範囲に属する。
【図１】
2020071883.tif 000029
【図２】
2020071883.tif 000030
【図３】
2020071883.tif 000031
【図４】
2020071883.tif 000032
【図５】
2020071883.tif 000033
【図６】
2020071883.tif 000034