以下、図面を参照しつつ、本開示の実施形態についてより詳細に説明する。図には本開示のいくつかの実施形態が示されているが、本開示は様々な形式で実現することが可能であり、ここに記載された実施形態に限定されると解釈すべきではなく、これら実施形態はむしろ、本開示をより徹底的且つ完全に理解するために提供されるものである。この点は理解されなければならない。また、本開示の図面及び実施形態は例示的なものにすぎず、本開示の保護範囲を限定するためのものではない点も、理解されなければならない。
本開示の実施形態の説明において、「含む」及び類似の用語は開放的なもの、すなわち「…を含むが、これらに限定されない」と理解されるべきである。用語「…に基づいて」は、「少なくとも部分的に基づく」と理解されるべきである。用語「1つの実施形態」又は「当該実施形態」は、「少なくとも1つの実施形態」と理解されるべきである。用語「第1」、「第2」等は、異なるか又は同一の対象を示すことができる。以下の文中ではさらに、その他の明確な定義及び暗黙の定義が含まれる可能性がある。
文中で用いられる「回路」という用語は、ハードウェア回路、及び/又は、ハードウェア回路とソフトウェアとの組合せを指すことができる。例えば、回路は、アナログ及び/又はデジタルのハードウェア回路とソフトウェア/ファームウェアとの組合せであってもよい。別の例として回路は、ソフトウェアを備えたハードウェアプロセッサのいずれかの部分であってもよい。ハードウェアプロセッサは(複数の)デジタル信号処理器、ソフトウェア、及び(複数の)メモリを含み、それらは、様々な機能を実行するよう装置を動作させるために協働する。さらに別の例で回路は、例えばマイクロプロセッサ又はマイクロプロセッサの一部といったハードウェア回路及び/又はプロセッサであってもよく、操作のためにソフトウェア/ファームウェアを必要とするが、操作に必要とされない場合にはソフトウェアはなくてもよい。文中で用いられる「回路」という用語には、ハードウェア回路又はプロセッサのみの実装、又は、ハードウェア回路又はプロセッサの一部にそれ(又はそれら)に付随するソフトウェア及び/又はファームウェアを加えた実装も含まれる。
本開示の実施形態では、「モデル」という用語は、入力を処理し、対応する出力を提供することができる。ニューラルネットワークモデルを例とすると、通常は入力層、出力層、及び入力層と出力層との間にある1つ又は複数の隠れ層を含む。深層学習のアプリケーションで使用されるモデル(「深層学習モデル」とも称される)は通常、隠れ層を多く含むことで、ネットワークの深さを拡張する。ニューラルネットワークモデルの各層は、前の層の出力が次の層への入力として使用されるように順次接続されており、入力層はニューラルネットワークモデルへの入力を受け取り、出力層の出力はニューラルネットワークモデルの最終出力となる。ニューラルネットワークモデルの各層は、1つ又は複数のノード(処理ノード又はニューロンとも称される)を含み、各ノードは前の層からの入力を処理する。文中では、「ニューラルネットワーク」、「モデル」、「ネットワーク」、及び「ニューラルネットワークモデル」という用語を互換的に使用することができる。
上述したように、トレーニングデータセットにおいて、一部のトレーニングデータは不正確なノイズラベルを有する可能性がある。従来、ノイズラベルがもたらす悪影響を克服するために、様々なノイズラベル学習方法が採用されてきた。例えば、あるノイズラベル学習方法では、損失に基づいてトレーニングデータの重み付けを再度行うことができる。例えば、正確でクリーンなラベルを有するトレーニングデータの重み付けを高くし、ノイズラベルを有するトレーニングデータの重み付けを低くすることができる。この場合、ノイズラベルとクリーンなラベルを区別して、異なる重み付けをする必要がある。あるいは、クリーンなラベルを有するトレーニングデータを選択することで、半教師あり学習を行うことができる。
もう1つの方法は確率的なものであり、基準損失を用いた状況において、学習結果に基づいて混同行列、又は他の類似する確率の行列を計算するものである。また、他のアプローチではさらにロバストロスを用いる。これは、ノイズラベルがあってもなくてもニューラルネットワークの最適解は変わらないことから、ニューラルネットワークの性能を低下させることを意味する。また、学習中にクリーンなラベルを有するトレーニングデータセットを繰り返し更新することが、経験的にも有効であると証明されている。また、2つのモデルによる共同学習等の協働学習も有効であると証明されている。例えば、上記で列挙した各種方法はさらに、例えば協働学習と反復更新を組み合わせるように、組み合わせることでノイズラベルの悪影響を克服することも可能である。
しかし、これらの従来の方法では依然として、ノイズラベルを有するトレーニングデータを適切に処理できないため、そのようなトレーニングデータで学習させたニューラルネットワークの精度は低くなっている。
上述の問題及び/又は他の潜在的問題のうち1つ以上を解決するために、本開示の実施形態は、データ処理に用いられる解決手段を提出する。本解決手段では、入力データを取得し、ニューラルネットワークを用いて、入力データのカテゴリを示す予測ラベルを生成することができる。ここでニューラルネットワークは、重み付け層を含む。当該重み付け層は、入力データが属する可能性のある少なくとも1つのカテゴリ候補に適用される重み、所定の分布に従うランダム値、及び/又は所定のパターンに関連する少なくとも1つのパターンパラメータに基づいて、予測結果を生成することができる。
この方法により、重み付け層を用いることで、ノイズラベルがニューラルネットワークに与える影響を排除することができる。その結果、ニューラルネットワークが生成する予測ラベルの精度や、ノイズラベルの認識率を、簡易かつ効率的に向上させることができる。以下、図面と結びつけて本開示の例示的な実施形態について詳細に説明する。
図1は、本開示のいくつかの実施形態を実現可能なデータ処理環境100の例示の模式図である。環境100は、コンピューティングデバイス110を含む。コンピューティングデバイス110は、例えばパーソナルコンピュータ、タブレットコンピュータ、ウェアラブルデバイス、クラウドサーバ、メインフレーム、分散型コンピューティングシステム等、計算能力を有する任意のデバイスとすることができる。
コンピューティングデバイス110は、入力データ120を取得する。例えば、入力データ120は、画像、ビデオ、オーディオ、テキスト及び/又はマルチメディアファイル等とすることができる。コンピューティングデバイス110は、入力データ120をニューラルネットワーク130に適用して、ニューラルネットワーク130を用いて、入力データのカテゴリを示す予測ラベル140を生成することができる。
例えば、入力データ120が画像であると仮定すると、コンピューティングデバイス110は、ニューラルネットワーク130を用いて、例えば猫又は犬といった画像のカテゴリを示す予測ラベル140を生成してもよい。分類タスクに加えて、ニューラルネットワーク130は、画素レベルのセグメンテーションタスク、オブジェクト検出タスク等の他のタスクに用いられてもよい。
ニューラルネットワーク130は、コンピューティングデバイス110上に配備されてもよいし、コンピューティングデバイス110の外部に配備されてもよい。ニューラルネットワーク130は、ディープニューラルネットワーク(DNN:Deep Neural Network)、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、長・短期記憶(LSTM:Long Short Term Memory)ネットワーク、ゲート付き回帰型ユニット(GRU:Gated Recurrent Unit)ネットワーク、及び/又は回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)等とすることが可能である。
ニューラルネットワーク130は、重み付け層を含む。いくつかの実施形態では、元のニューラルネットワークの最終層は、例えばDNN、LSTM、GRU、RNNネットワーク等の全結合層(fully connected layers)とすることができる。この場合、当該全結合層を重み付け層に置き換えてニューラルネットワーク130を生成してもよい。任意で、重み付け層を元のニューラルネットワークに追加してニューラルネットワーク130を生成してもよい。例えば、重み付け層をCNNネットワークの最終層に追加してニューラルネットワーク130を生成する。
いくつかの実施形態では、重み付け層210は、予測結果を生成するために、入力データが属する可能性がある少なくとも1つのカテゴリ候補に適用される重みを決定することができる。いくつかの実施形態では、重み付け層210は、予測結果を生成するために、所定の分布に従うランダム値を決定してもよい。例えば、所定の分布は、正規分布でもよいし、あるいは、過去のデータに基づき決定された任意の適切な分布でもよい。任意で、重み付け層210は、予測結果を生成するために、所定のパターンに関連する少なくとも1つのパターンパラメータを決定してもよい。例えば、所定のパターンは、ガウス分布、正規分布、一様分布、指数分布、ポアソン分布、ベルヌーイ分布、及び/又はラプラス分布等であってもよい。任意で、所定のパターンは、過去のデータに基づいて決定された任意の適切なパターンであってもよい。この場合、元のニューラルネットワークが決定性の予測結果を出力するのとは異なり、重み付け層を含むニューラルネットワーク130の予測結果は、所定のパターンに従ったサンプリング結果となる。その結果、ノイズラベルの悪影響を低減することができる。
理解すべき点として、上記では、重み付け層210は、予測結果を生成するために、入力データが属する可能性のある少なくとも1つのカテゴリ候補に適用される重み、所定の分布に従うランダム値、及び所定のパターンに関連する少なくとも1つのパターンパラメータのいずれかを決定する、と説明したが、重み付け層210はさらに、予測結果を生成するために、これらの項目の任意の組合せを決定してもよい。すなわち、重み付け層210は、予測結果を生成するために、これらの項目のうち、いずれか1つ、いずれか2つ、又は3つすべてを決定することができる。
図2は、本開示のいくつかの実施形態にかかるニューラルネットワーク130の例示の模式図を示す。図2に示すように、ニューラルネットワーク130は重み付け層210を含む。ニューラルネットワーク130において重み付け層210の前に位置する少なくとも1つの層の出力を、重み付け層210の入力とすることができる。ここで、入力は、入力データが少なくとも1つのカテゴリ候補に属する可能性を示す。例えば、カテゴリ候補がn個(nは0より大きい整数)存在すると仮定すれば、入力は、入力データがn個のカテゴリ候補のそれぞれのカテゴリ候補に属する可能性を示すことができる。
重み付け層210は、少なくとも1つのパラメータを有し、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとを、重み付け層210の少なくとも1つのパラメータと重み付け層210の入力とに基づいて決定することができる。例えば、所定のパターンがガウス分布であると仮定すると、少なくとも1つのパターンパラメータは、ガウス分布の平均値及び分散とすることができる。
図2に示すように、n個のカテゴリ候補に適用される重みは、それぞれ、c1~cn(以下、「c」と総称する)、平均値はそれぞれμ1~μn(以下、「μ」と総称する)、分散はそれぞれδ1~δn(以下、「δ」と総称する)である。
いくつかの実施形態において、重みc、平均値μ及び分散δは、以下の式(1)~(3)によって決定することができる。
ここで、c=(c
1,…,c
n)はn個のカテゴリ候補に適用される重みを示し、C∈(0, 1)、Σ
n
i=1C
i=1である。μ=(μ
1,…,μ
n)は、n個のカテゴリ候補に関連する平均値を表し、δ=(δ
1,…,δ
n)は、n個のカテゴリ候補に関連する分散を表す。f(x)は、ニューラルネットワーク130において重み付け層210の前に位置する少なくとも1つの層の出力を表す。W
c、W
μ、W
δはそれぞれ、重みc、平均値μ、分散δに関連するパラメータを示し、これらのパラメータは、最初はランダムに又は経験的に決定されてもよく、ニューラルネットワーク130の学習中に、これらのパラメータは適切な値に収束することになる。hはsoftmax関数を表し、expは分散δが常に正となるような指数関数を表す。
こうして、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、予測結果を生成することができる。予測結果は、入力データが少なくとも1つのカテゴリ候補に属する可能性を示すことができる。いくつかの実施形態では、少なくとも1つのパターンパラメータと重み以外に、所定の分布に従うランダムな値に基づいて、予測結果を生成してもよい。こうすることで、予測結果にランダム性を導入することができ、ノイズラベルの悪影響を軽減することができる。
図2は、予測結果y1~yn(以下、「y」と総称する)を示したものである。予測結果y1~ynは、入力データが、n個のカテゴリ候補のうち、対応するカテゴリ候補に属する確率を示すことができる。
予測結果yは、式(4)により以下のように決定することができる。
ここで、y=(y
1,…,y
n)は入力データがn個のカテゴリ候補に属する可能性を示す。c=(c
1,…,c
n)はn個のカテゴリ候補に適用される重みを表し、μ=(μ
1,…,μ
n)はn個のカテゴリ候補と関連する平均値を表す。δ=(δ
1,…,δ
n)はn個のカテゴリ候補に関連する分散を示し、εは(0,1)区間内で所定の分布に従うランダム値を表し、*は要素ごとの乗算を示す。
こうすることで、ニューラルネットワーク130は、少なくとも1つのパターンパラメータと、重みと、所定の分布に従うランダム値とに基づいて、予測ラベルを生成することができる。
上記では図2を参照して、ニューラルネットワーク130の構造を明確に説明した。以下では、図3を参照してニューラルネットワーク130の使用について説明し、図4~5を参照してニューラルネットワーク130の学習について説明する。
図3は、本開示の実施形態にかかる、データ処理に用いられる例示的方法300のフローチャートを示す。例えば、方法300は、図1に示すコンピューティングデバイス110によって実行することができる。理解すべき点として、方法300はさらに、図示されていない付加的ブロックを含むことができ、且つ/又は示されたいくつかのブロックを省略することができる。本開示の範囲は、この点において限定されない。
ブロック310において、コンピューティングデバイス110は、入力データ120を取得する。上述したように、いくつかの実施形態において、入力データ120は、画像、ビデオ、オーディオ、テキスト及び/又はマルチメディアファイル等とすることができる。
ブロック320において、コンピューティングデバイス110は、ニューラルネットワーク130を用いて、入力データ120のカテゴリを示す予測ラベル140を生成する。上述したように、いくつかの実施形態において、ニューラルネットワーク130は、ディープニューラルネットワーク(DNN:Deep Neural Network)、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、長・短期記憶(LSTM:Long Short Term Memory)ネットワーク、ゲート付き回帰型ユニット(GRU:Gated Recurrent Unit)ネットワーク、及び/又は回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)等とすることが可能である。
ニューラルネットワーク130は重み付け層210を含む。重み付け層210は、予測結果を生成するために、入力データ120が属する可能性のある少なくとも1つのカテゴリ候補に適用される重みを少なくとも決定する。さらに、いくつかの実施形態において、重み付け層210はさらに、予測結果が所定のパターンに従うように予測結果を生成するために、所定のパターンに関連付けられている少なくとも1つのパターンパラメータを決定する。上述したように、いくつかの実施形態において、所定のパターンは、ガウス分布、正規分布、一様分布、指数分布、ポアソン分布、ベルヌーイ分布、及び/又はラプラス分布等であってもよい。例えば、所定のパターンがガウス分布である場合、少なくとも1つのパターンパラメータは、ガウス分布の平均値及び分散を含むことができる。いくつかの実施形態では、重み付け層210は、図2を参照して説明した方法を用いて、所定のパターンに関連する少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用する重みとを決定してもよい。ここではその説明を省略する。
こうして、コンピューティングデバイス110は、所定のパターンに関連する少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、予測結果を生成することができる。予測結果は、入力データが少なくとも1つのカテゴリ候補に属する可能性を示すことができる。いくつかの実施形態では、少なくとも1つのパターンパラメータと重み以外に、コンピューティングデバイス110はさらに、所定の分布に従うランダムな値に基づいて予測結果を生成してもよい。こうすることで、予測結果にランダム性を導入することができ、ノイズラベルの悪影響を軽減することができる。
具体的に、いくつかの実施形態において、予測ラベルを生成するために、コンピューティングデバイス110は、ニューラルネットワークにおいて重み付け層210の前に位置する少なくとも1つの層の出力を、重み付け層210への入力として取得することができる。入力は、トレーニングデータが少なくとも1つのカテゴリ候補に属する可能性を示す。コンピューティングデバイス110は、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとを、重み付け層210の少なくとも1つのパラメータと重み付け層への入力とに基づいて決定することができる。これによって、コンピューティングデバイス110は、少なくとも1つのパターンパラメータと、重みと、所定の分布に従うランダム値とに基づいて、予測ラベルを生成することができる。
この方法により、ノイズラベルがニューラルネットワークに与える影響を排除することができる。その結果、ニューラルネットワークが生成する予測ラベルの精度や、ノイズラベルの標識率を、簡易かつ効率的に向上させることができる。
上記では、図3を参照して、コンピューティングデバイス110によるニューラルネットワーク130を用いたデータ処理について説明した。当該ニューラルネットワーク130は、学習済みのニューラルネットワークである。いくつかの実施形態において、コンピューティングデバイス110は、ニューラルネットワーク130に学習させ、学習済みのニューラルネットワーク130を用いてデータ処理を行うことができる。任意で、コンピューティングデバイス110は、他のデバイスから学習済みニューラルネットワークを取得し、学習済みのニューラルネットワーク130を用いてデータ処理を行ってもよい。以下では、コンピューティングデバイス110がニューラルネットワークを学習させることを例にとり、図4~図5を参照しながら、ニューラルネットワーク130の学習について説明する。
図4は、本開示の実施形態にかかる、ニューラルネットワークに学習させるための例示的方法400のフローチャートを示す。例えば、方法400は、図1に示すコンピューティングデバイス110によって実行することができる。理解すべき点として、方法400はさらに、図示されていない付加的ブロックを含むことができ、且つ/又は示されたいくつかのブロックを省略することができる。本開示の範囲は、この点において限定されない。
ブロック410において、コンピューティングデバイス110はトレーニングデータを取得する。トレーニングデータは、トレーニングデータのカテゴリを示すラベルを有する。例えば、トレーニングデータは、画像、ビデオ、オーディオ、テキスト及び/又はマルチメディアファイル等とすることができる。例えばラベルは、画像が猫であるのか、それとも犬であるのかを示すことができる。
ブロック420において、コンピューティングデバイス110は、ニューラルネットワーク130を用いて、トレーニングデータの予測ラベルを生成する。上述したように、いくつかの実施形態において、ニューラルネットワーク130は、ディープニューラルネットワーク(DNN:Deep Neural Network)、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、長・短期記憶(LSTM:Long Short Term Memory)ネットワーク、ゲート付き回帰型ユニット(GRU:Gated Recurrent Unit)ネットワーク、及び/又は回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)等とすることが可能である。
ニューラルネットワーク130は重み付け層210を含む。上述したように、重み付け層210は、予測結果を生成するために、トレーニングデータが属する可能性のある少なくとも1つのカテゴリ候補に適用される重みを少なくとも決定する。さらに、いくつかの実施形態において、重み付け層210はさらに、予測結果が所定のパターンに従うように予測結果を生成するために、所定のパターンに関連付けられている少なくとも1つのパターンパラメータを決定する。上述したように、いくつかの実施形態において、所定のパターンは、ガウス分布、正規分布、一様分布、指数分布、ポアソン分布、ベルヌーイ分布、及び/又はラプラス分布等であってもよい。例えば、所定のパターンがガウス分布である場合、少なくとも1つのパターンパラメータは、ガウス分布の平均値及び分散を含むことができる。いくつかの実施形態では、重み付け層210は、図2を参照して説明した方法を用いて、所定のパターンに関連する少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用する重みとを決定してもよい。ここではその説明を省略する。
こうして、コンピューティングデバイス110は、所定のパターンに関連する少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、予測結果を生成することができる。予測結果は、トレーニングデータが少なくとも1つのカテゴリ候補に属する可能性を示すことができる。いくつかの実施形態では、少なくとも1つのパターンパラメータと重み以外に、コンピューティングデバイス110はさらに、所定の分布に従うランダムな値に基づいて予測結果を生成してもよい。こうすることで、予測結果にランダム性を導入することができ、その結果、ノイズラベルとクリーンなラベルを区別することなく、ノイズラベルの悪影響を軽減することができる。
具体的に、いくつかの実施形態において、予測ラベルを生成するために、コンピューティングデバイス110は、ニューラルネットワークにおいて重み付け層210の前に位置する少なくとも1つの層の出力を、重み付け層210への入力として取得することができる。入力は、トレーニングデータが少なくとも1つのカテゴリ候補に属する可能性を示す。コンピューティングデバイス110は、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとを、重み付け層210の少なくとも1つのパラメータと重み付け層への入力とに基づいて決定することができる。これによって、コンピューティングデバイス110は、少なくとも1つのパターンパラメータと、重みと、所定の分布に従うランダム値とに基づいて、予測ラベルを生成することができる。
ブロック430において、コンピューティングデバイス110は、ラベルと予測ラベルとの差が最小化されるように、ニューラルネットワークに学習させる。いくつかの実施形態において、ニューラルネットワーク130に学習させるために、コンピューティングデバイス110は、ラベルと、予測ラベルと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、ニューラルネットワーク130の損失を決定することができる。少なくとも1つのカテゴリ候補に適用される重みを、損失を決定する際に考慮することで、ノイズラベルによる損失への悪影響を相殺することができる。これにより、学習済みのニューラルネットワークは、真のラベルと予測ラベルとの差を最小化する。
例えば、元のニューラルネットワークがDNNであり、その損失がクロスエントロピー損失であると仮定すると、この場合、以下の式(5)でニューラルネットワーク130の損失を決定することができる。
ここで、minは最小化関数を表す。Lは、ニューラルネットワーク130の損失を表す。lはDNNのクロスエントロピー損失を表す。y
iは、入力データがi番目のカテゴリ候補に属する可能性を示す。y
gt
iは、入力データがi番目のカテゴリ候補に属する真の値(ground truth)を表す。βは、アニーリングハイパーパラメータを示し、これは常に正である。C
iは、i番目のカテゴリ候補に適用される重みを表す。
式(5)を分析すると、全てのCiが等しいとき、-Σn
i=1log(Ci)が最も小さくなることがわかる。すなわち、n個のカテゴリ候補に適用される重みが等しいときに、-Σn
i=1log(Ci)は最小となる。また、yiがygt
iに近似すると、Σn
i=1l(yi,ygt
i)が最小となる。yiはCiに基づいて決定されるため(例えば式(4)を使用)、これは、Ciにピークがある場合にはΣn
i=1l(yi,ygt
i)が最小となることを意味する。損失の2つの成分-Σn
i=1log(Ci)とΣn
i=1l(yi,ygt
i)が互いに抵抗し合い、損失に対するノイズラベルの悪影響を相殺できることが理解できる。
これにより、コンピューティングデバイス110は、更新後のニューラルネットワーク130の損失が最小化されるように、損失に基づいてニューラルネットワーク130のネットワークパラメータを更新することができる。さらに、いくつかの実施形態において、コンピューティングデバイス110は、更新後のニューラルネットワーク130の損失が最小化されるように、重み付きランダム層の少なくとも1つのパラメータを、損失に基づいて更新してもよい。
以上、重み付け層210を含むニューラルネットワーク130の学習について説明した。この学習プロセスでは、ニューラルネットワークの損失が最小化される。上述のように、当該損失は少なくとも1つのカテゴリ候補に適用される重みを考慮するため、ニューラルネットワークがノイズラベルに過剰適合することはない。このような損失の決定方法は、例えば重み付け層210を含まないニューラルネットワーク等、他のニューラルネットワークにも適用することができる。以下では、このような損失を用いてニューラルネットワークを学習させるプロセスについて、図5を参照しながら説明する。
図5は、本開示の実施形態にかかる、ニューラルネットワークに学習させるための例示的方法500のフローチャートを示す。例えば、方法500は、図1に示すコンピューティングデバイス110によって実行することができる。理解すべき点として、方法500はさらに、図示されていない付加的ブロックを含んでもよく、且つ/又は示されたいくつかのブロックを省略してもよい。本開示の範囲は、この点において限定されない。
ブロック510において、コンピューティングデバイス110はトレーニングデータを取得する。トレーニングデータは、トレーニングデータのカテゴリを示すラベルを有する。例えば、トレーニングデータは、画像、ビデオ、オーディオ、テキスト及び/又はマルチメディアファイル等とすることができる。例えばラベルは、画像が猫であるのか、それとも犬であるのかを示すことができる。
ブロック520において、コンピューティングデバイス110は、ニューラルネットワークを用いて、トレーニングデータの予測ラベルを生成する。上述したように、いくつかの実施形態において、ニューラルネットワークは、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、長・短期記憶(LSTM)ネットワーク、ゲート付き回帰型ユニット(GRU)ネットワーク、及び/又は回帰型ニューラルネットワーク(RNN)等とすることが可能である。
いくつかの実施形態において、ニューラルネットワークは重み付け層210を含む。上述したように、重み付け層210は、予測結果を生成するために、トレーニングデータが属する可能性のある少なくとも1つのカテゴリ候補に適用される重みを少なくとも決定する。さらに、いくつかの実施形態において、重み付け層210はさらに、予測結果が所定のパターンに従うように予測結果を生成するために、所定のパターンに関連付けられている少なくとも1つのパターンパラメータを決定する。上述したように、いくつかの実施形態において、所定のパターンは、ガウス分布、正規分布、一様分布、指数分布、ポアソン分布、ベルヌーイ分布、及び/又はラプラス分布等であってもよい。例えば、所定のパターンがガウス分布である場合、少なくとも1つのパターンパラメータは、ガウス分布の平均値及び分散を含むことができる。いくつかの実施形態では、重み付け層210は、図2を参照して説明した方法を用いて、所定のパターンに関連する少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用する重みとを決定してもよい。ここではその説明を省略する。
こうして、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、予測結果を生成することができる。予測結果は、トレーニングデータが少なくとも1つのカテゴリ候補に属する可能性を示すことができる。いくつかの実施形態では、少なくとも1つのパターンパラメータと重み以外に、所定の分布に従うランダムな値に基づいて、予測結果を生成してもよい。こうすることで、予測結果にランダム性を導入することができ、ノイズラベルの悪影響を軽減することができる。
具体的に、いくつかの実施形態において、予測ラベルを生成するために、コンピューティングデバイス110は、ニューラルネットワークにおいて重み付け層210の前に位置する少なくとも1つの層の出力を、重み付け層210への入力として取得することができる。入力は、トレーニングデータが少なくとも1つのカテゴリ候補に属する可能性を示す。コンピューティングデバイス110は、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとを、重み付け層210の少なくとも1つのパラメータと重み付け層への入力とに基づいて決定することができる。これによって、コンピューティングデバイス110は、少なくとも1つのパターンパラメータと、重みと、所定の分布に従うランダム値とに基づいて、予測ラベルを生成することができる。
ブロック530において、コンピューティングデバイス110は、ニューラルネットワークの損失が最小化されるようにニューラルネットワークに学習させる。損失は、トレーニングデータが属する可能性のある少なくとも1つのカテゴリ候補に適用される重みに少なくとも基づいて決定される。いくつかの実施形態において、ニューラルネットワークに学習させるために、コンピューティングデバイス110は、ラベルと、予測ラベルと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、ニューラルネットワークの損失を決定してもよい。いくつかの実施形態では、コンピューティングデバイス110は、図3を参照して説明した方法を用いて、損失を決定してもよい。ここではその説明を省略する。
これにより、コンピューティングデバイス110は、更新後のニューラルネットワークの損失が最小化されるように、損失に基づいてニューラルネットワークのネットワークパラメータを更新することができる。さらに、いくつかの実施形態において、コンピューティングデバイス110は、更新後のニューラルネットワークの損失が最小化されるように、重み付きランダム層の少なくとも1つのパラメータを、損失に基づいて更新してもよい。
図6は、本開示の実施形態にかかるニューラルネットワークの認識結果のAUC(Area Under Curve、曲線下方の面積)と、従来のニューラルネットワークの認識結果のAUCの例示の模式図600を示す。認識結果AUCは、ニューラルネットワークがラベルを正しく認識する率を表すことができ、より具体的には、ニューラルネットワークがノイズラベルを正しく認識する率を表すことができる。図6に示すように、実線610は、重み付け層を含むニューラルネットワークの認識結果のAUCを表し、破線620は、従来のニューラルネットワークの認識結果のAUCを表している。重み付け層を含むニューラルネットワークの認識結果のAUCは、従来のニューラルネットワークよりも顕著に高くなっていることがわかる。また、重み付け層を含むニューラルネットワークは、より少ないラウンド数でより速く、高い認識結果のAUCを有することができる。
図7は、本開示の実施形態を実施可能な例示的コンピューティングデバイス700の概略ブロック図を示す。例えば、図1に示すコンピューティングデバイス110は、デバイス700によって実現することができる。図に示すように、デバイス700は、中央プロセッサユニット(CPU)701を含む。CPU701は、リードオンリーメモリ(ROM)702に記憶されたコンピュータプログラムの命令、又は記憶ユニット708からランダムアクセスメモリ(RAM)703にロードされたコンピュータプログラムの命令に基づき、各種の適切な動作及び処理を実行することができる。RAM703にはさらに、デバイス700の操作に必要な各種プログラム及びデータを記憶することができる。CPU701、ROM702及びRAM703はバス704を介して互いに接続されている。入力/出力(I/O)インタフェース705もバス704に接続されている。
デバイス700における複数のコンポーネントは、I/Oインタフェース705に接続されている。複数のコンポーネントには、キーボード、マウス等の入力ユニット706、様々な種類のディスプレイ、スピーカ等の出力ユニット707、磁気ディスク、光ディスク等の記憶ユニット708、及びネットワークインタフェースカード、モデム、無線通信送受信機等の通信ユニット709が含まれる。通信ユニット709によって、デバイス700は、インターネットのようなコンピュータネットワーク及び/又は各種電信ネットワークを介して、他のデバイスと情報/データを交換することができる。
プロセッサユニット701は、例えば方法300~500のような上述した各プロセス及び処理を実行するように設定することができる。例えば、いくつかの実施形態において、方法300~500は、コンピュータソフトウェアプログラムとして実現可能であり、記憶ユニット708のようなマシン可読媒体に、有形記憶されている。いくつかの実施形態において、コンピュータプログラムの一部又は全部は、ROM702及び/又は通信ユニット709を経由してデバイス700にロード及び/又はインストールすることができる。コンピュータプログラムがRAM703にロードされCPU701により実行されると、上述した方法300~500の1つ又は複数のステップを実行することができる。
いくつかの実施形態において、電子デバイスは少なくとも1つの処理回路を備える。少なくとも1つの処理回路は、入力データを取得し、ニューラルネットワークを用いて、入力データのカテゴリを示す予測ラベルを生成するように設定される。ニューラルネットワークは重み付け層を含み、重み付け層は、予測結果を生成するために、入力データが属する可能性のある少なくとも1つのカテゴリ候補に適用される重みを少なくとも決定する。
いくつかの実施形態において、重み付け層はさらに、予測結果が所定のパターンに従うように予測結果を生成するために、所定のパターンに関連付けられている少なくとも1つのパターンパラメータを決定する。
いくつかの実施形態において、所定のパターンは、ガウス分布、正規分布、一様分布、指数分布、ポアソン分布、ベルヌーイ分布、及びラプラス分布の1つを含む。
いくつかの実施形態において、少なくとも1つの処理回路は、ニューラルネットワークにおいて重み付け層の前に位置する少なくとも1つの層の出力を、重み付け層への入力として取得し、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとを、重み付け層の少なくとも1つのパラメータと重み付け層への入力とに基づいて決定し、少なくとも1つのパターンパラメータと、重みと、所定の分布に従うランダム値とに基づいて、予測ラベルを生成するように設定される。入力は、入力データが少なくとも1つのカテゴリ候補に属する可能性を示す。
いくつかの実施形態において、所定のパターンはガウス分布であり、少なくとも1つのパターンパラメータは、ガウス分布の平均値及び分散を含む。
いくつかの実施形態において、ニューラルネットワークは、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、長・短期記憶(LSTM)ネットワーク、ゲート付き回帰型ユニット(GRU)ネットワーク、及び回帰型ニューラルネットワーク(RNN)の1つを含む。
いくつかの実施形態において、入力データは、画像、ビデオ、オーディオ、テキスト、及びマルチメディアファイルのうち、少なくとも1つを含む。
いくつかの実施形態において、電子デバイスは少なくとも1つの処理回路を備える。少なくとも1つの処理回路は、トレーニングデータのカテゴリを示すラベルを有するトレーニングデータを取得し、ニューラルネットワークを用いて、トレーニングデータの予測ラベルを生成し、ラベルと予測ラベルとの差が最小化されるように、ニューラルネットワークに学習させるように設定される。ニューラルネットワークは重み付け層を含み、重み付け層は、トレーニングデータが属する可能性のある少なくとも1つのカテゴリ候補に適用される重みに少なくとも基づいて、予測結果を生成する。
いくつかの実施形態において、重み付け層はさらに、予測結果が所定のパターンに従うように予測結果を生成するために、所定のパターンに関連付けられている少なくとも1つのパターンパラメータを決定する。
いくつかの実施形態において、所定のパターンは、ガウス分布、正規分布、一様分布、指数分布、ポアソン分布、ベルヌーイ分布、及びラプラス分布の1つを含む。
いくつかの実施形態において、少なくとも1つの処理回路は、ニューラルネットワークにおいて重み付け層の前に位置する少なくとも1つの層の出力を、重み付け層への入力として取得し、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとを、重み付け層の少なくとも1つのパラメータと重み付け層への入力とに基づいて決定し、少なくとも1つのパターンパラメータと、重みと、所定の分布に従うランダム値とに基づいて、予測ラベルを生成するように設定される。入力は、トレーニングデータが少なくとも1つのカテゴリ候補に属する可能性を示す。
いくつかの実施形態において、所定のパターンはガウス分布であり、少なくとも1つのパターンパラメータは、ガウス分布の平均値及び分散を含む。
いくつかの実施形態において、少なくとも1つの処理回路は、ラベルと、予測ラベルと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、ニューラルネットワークの損失を決定し、更新後のニューラルネットワークの損失が最小化されるように、損失に基づいてニューラルネットワークのネットワークパラメータを更新するように設定される。
いくつかの実施形態において、少なくとも1つの処理回路は、更新後のニューラルネットワークの損失が最小化されるように、重み付きランダム層の少なくとも1つのパラメータを、損失に基づいて更新するように設定される。
いくつかの実施形態において、ニューラルネットワークは、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、長・短期記憶(LSTM)ネットワーク、ゲート付き回帰型ユニット(GRU)ネットワーク、及び回帰型ニューラルネットワーク(RNN)の1つを含む。
いくつかの実施形態において、入力データは、画像、ビデオ、オーディオ、テキスト、及びマルチメディアファイルのうち、少なくとも1つを含む。
いくつかの実施形態において、電子デバイスは少なくとも1つの処理回路を備える。少なくとも1つの処理回路は、トレーニングデータのカテゴリを示すラベルを有するトレーニングデータを取得し、ニューラルネットワークを用いて、トレーニングデータの予測ラベルを生成し、ニューラルネットワークの損失が最小化されるようにニューラルネットワークに学習させるように設定される。損失は、トレーニングデータが属する可能性のある少なくとも1つのカテゴリ候補に適用される重みに少なくとも基づいて決定される。
いくつかの実施形態において、ニューラルネットワークは重み付け層を含み、重み付け層は、少なくとも1つのカテゴリ候補に適用される重みに少なくとも基づいて、予測結果を生成する。
いくつかの実施形態において、重み付け層はさらに、予測結果が所定のパターンに従うように予測結果を生成するために、所定のパターンに関連付けられている少なくとも1つのパターンパラメータを決定する。
いくつかの実施形態において、所定のパターンは、ガウス分布、正規分布、一様分布、指数分布、ポアソン分布、ベルヌーイ分布、及びラプラス分布の1つを含む。
いくつかの実施形態において、少なくとも1つの処理回路は、ニューラルネットワークにおいて重み付け層の前に位置する少なくとも1つの層の出力を、重み付け層への入力として取得し、所定のパターンに関連付けられている少なくとも1つのパターンパラメータと、少なくとも1つのカテゴリ候補に適用される重みとを、重み付け層の少なくとも1つのパラメータと重み付け層への入力とに基づいて決定し、少なくとも1つのパターンパラメータと、重みと、所定の分布に従うランダム値とに基づいて、予測ラベルを生成するように設定される。入力は、トレーニングデータが少なくとも1つのカテゴリ候補に属する可能性を示す。
いくつかの実施形態において、所定のパターンはガウス分布であり、少なくとも1つのパターンパラメータは、ガウス分布の平均値及び分散を含む。
いくつかの実施形態において、少なくとも1つの処理回路は、ラベルと、予測ラベルと、少なくとも1つのカテゴリ候補に適用される重みとに基づいて、損失を決定し、更新後のニューラルネットワークの損失が最小化されるように、損失に基づいてニューラルネットワークのネットワークパラメータを更新するように設定される。
いくつかの実施形態において、少なくとも1つの処理回路は、更新後のニューラルネットワークの損失が最小化されるように、重み付きランダム層の少なくとも1つのパラメータを、損失に基づいて更新するように設定される。
いくつかの実施形態において、ニューラルネットワークは、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、長・短期記憶(LSTM)ネットワーク、ゲート付き回帰型ユニット(GRU)ネットワーク、及び回帰型ニューラルネットワーク(RNN)の1つを含む。
いくつかの実施形態において、トレーニングデータは、画像、ビデオ、オーディオ、テキスト、及びマルチメディアファイルのうち、少なくとも1つを含む。
本開示は、システム、方法、及び/又はコンピュータプログラム製品として実現することができる。本開示がシステムとして実現される場合、文中に記載されているコンポーネントは、単一のデバイスで実装できることに加えて、クラウドコンピューティングアーキテクチャとして実装することができる。クラウドコンピューティング環境では、これらのコンポーネントはリモート配置することができ、本開示に記載されている機能を実現するために協働することができる。クラウドコンピューティングは、コンピューティング、ソフトウェア、データアクセス及びストレージサービスを提供することができる。こうしたサービスを提供するシステム又はハードウェアの物理的な場所や設定は、エンドユーザが知る必要はない。クラウドコンピューティングでは、適切なプロトコルを使用して、ワイドエリアネットワーク(インターネット等)を介してサービスを提供することができる。例えば、クラウドコンピューティングプロバイダは、ワイドエリアネットワークを介してアプリケーションを提供する。それらは、ブラウザ又はその他の任意のコンピューティング・コンポーネントを介してアクセスすることが可能である。クラウドコンピューティングのコンポーネント及び対応データは、リモートのサーバに保存することができる。クラウドコンピューティング環境のコンピューティングリソースは、リモートのデータセンターに集約してもよいし、こうしたコンピューティングリソースを分散させてもよい。クラウドインフラは、ユーザにとっては単一のアクセスポイントとして提示されていても、共有データセンターを通じてサービスを提供することができる。したがって、文中で説明した様々な機能は、クラウドコンピューティングアーキテクチャを使用して、リモートのサービスプロバイダから提供することができる。任意で、通常のサーバから提供してもよいし、クライアント端末に直接又はその他の方法でインストールしてもよい。また、本開示はコンピュータプログラム製品として実現することができる。当該コンピュータプログラム製品は、本開示の各態様を実行するための、コンピュータ可読プログラム命令が格納されたコンピュータ可読記憶媒体を備えることができる。
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持し記憶することができる有形デバイスであり得る。コンピュータ可読記憶媒体は例えば、電気記憶装置、磁気記憶装置、光記憶装置、電磁気記憶装置、半導体記憶装置又は上述の任意の適切な組合せであり得るが、これらに限られない。コンピュータ可読記憶媒体のより具体的な例として(全てではない)、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去・書き込み可能なリードオンリーメモリ(EPROM又はフラッシュメモリ)、スタティックRAM(SRAM:Static Random Access Memory)、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、機械的エンコーダディスク、例えば命令が記憶されているパンチカード又は溝内の突起構造、及び上述の任意の適切な組合せが含まれる。ここで使用されるコンピュータ可読記憶媒体は、例えば無線電波若しくは他の自由伝播する電磁波、導波若しくは他の送信媒体を介して伝播する電磁波(例えば、光ケーブルを介する光パルス)、又は電線で送信される電気信号のような、瞬時の信号そのものであるとは解釈されない。
ここで説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各計算/処理デバイスにダウンロードすることができ、又は、ネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/若しくは無線ネットワークを介して外部のコンピュータ若しくは外部記憶装置にダウンロードすることができる。ネットワークは、銅線送信ケーブル、光ケーブル送信、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含むことができる。各計算/処理デバイスにおけるネットワークインタフェースカード又はネットワークインタフェースは、コンピュータ可読プログラム命令をネットワークから受信し、当該コンピュータ可読プログラム命令を転送し、各計算/処理デバイスのコンピュータ可読記憶媒体に記憶されるようにする。
本開示の操作を実行するためのコンピュータプログラム命令は、アセンブラ指示文、命令セットアーキテクチャ(ISA:Instruction Set Architecture)、機械語命令、機械関連命令、マイクロコード、ファームウェア命令、状態設定データ、又は、1種類若しくは複数種類のプログラミング言語の任意の組合せで記述されたソースコード若しくは対象コードであり得る。前記プログラミング言語は、Smalltalk、C++等のオブジェクト指向のプログラミング言語、及び、「C」言語又は類似のプログラミング語言のような一般的なプロセス式プログラミング言語を含む。コンピュータ可読プログラム命令は、全てユーザコンピュータ上で実行してもよいし、部分的にユーザコンピュータ上で実行してもよいし、1つの独立したソフトウェアパッケージとして実行してもよいし、ユーザコンピュータ上で部分的に実行するとともにリモートコンピュータ上で部分的に実行してもよいし、或いは、全てリモートコンピュータ又はサーバ上で実行してもよい。リモートコンピュータにかかる状況において、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介して、ユーザコンピュータに接続することができるか、又は、外部のコンピュータに接続することができる(例えばインターネットサービスプロバイダを利用しインターネットを介して接続する)。いくつかの実施形態では、コンピュータ可読プログラム命令のステータス情報を利用して、例えばプログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブルロジックアレイ(PLA)のような電子回路をパーソナライズすることができる。当該電子回路は、コンピュータ可読プログラム命令を実行することで、本開示の各態様を実現することができる。
ここでは、本開示の実施形態にかかる方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して、本開示の各態様を説明した。理解すべき点として、フローチャート及び/又はブロック図の各ブロック並びにフローチャート及び/又はブロック図の各ブロックの組合せは、いずれも、コンピュータ可読プログラム命令により実現可能である。
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサユニットに提供されて、マシンを生成することができ、これらの命令がコンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサユニットにより実行された場合、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する装置が生成される。これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に記憶されてもよい。これらの命令によって、コンピュータ、プログラミング可能なデータ処理装置及び/又はその他のデバイスは特定の方法で動作を行う。したがって、命令が記憶されているコンピュータ可読媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する各態様の命令が含まれている製品を含む。
コンピュータ可読プログラム命令を、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスにロードして、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイス上で一連の操作ステップを実行させ、コンピュータが実現するプロセスを生成してもよい。こうすることで、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスで実行される命令に、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現させる。
図中のフローチャート及びブロック図は、本開示の複数の実施形態にかかるシステム、方法、コンピュータプログラム製品の実現可能なアーキテクチャ、機能及び操作を表している。この点において、フローチャート又はブロック図の各ブロックは、1つのモジュール、プログラムセグメント又は命令の一部を示すことができ、前記モジュール、プログラムセグメント又は命令の一部は、規定されたロジック機能を実現するための1つ又は複数の実行可能な命令を含む。代替としてのいくつかの実現形態において、ブロック内に表記された機能は、図中の表記と異なる順序で発生してもよい。例えば、2つの連続するブロックは実際には基本的に並行して実行されてもよいし、場合によっては反対の順序で実行されてもよい。これは、関係する機能によって定められる。また、注意すべき点として、ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートのブロックの組合せは、規定された機能又は動作を実行する、ハードウェアに基づく専用システムで実現してもよいし、或いは、専用のハードウェアとコンピュータ命令との組合せにより実現してもよい。
以上、本開示の各実施形態を説明したが、上述した説明は、例示的なもので、全て網羅したものではなく、開示された各実施形態に限定されない。説明した各実施形態の範囲及び精神から逸脱しない状況において、当業者が複数の修正及び変更を行うことができることは明らかである。ここで使用された用語は、各実施形態の原理、実際の応用又は市場での技術改良について最適な説明を行うこと、又は当業者に本明細書で開示された各実施形態を理解させることを意図して、選択したものである。