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