(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022113135
(43)【公開日】2022-08-03
(54)【発明の名称】ニューラルネットワークトレーニング方法及び装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20220727BHJP
G06N 3/04 20060101ALI20220727BHJP
G06N 3/08 20060101ALI20220727BHJP
【FI】
G06T7/00 350C
G06N3/04 154
G06N3/08
【審査請求】未請求
【請求項の数】25
【出願形態】OL
(21)【出願番号】P 2022005573
(22)【出願日】2022-01-18
(31)【優先権主張番号】10-2021-0009670
(32)【優先日】2021-01-22
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2021-0061877
(32)【優先日】2021-05-13
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】崔 熙▲みん▼
(72)【発明者】
【氏名】姜 曉娥
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096CA05
5L096DA02
5L096EA03
5L096EA35
5L096GA55
5L096KA04
(57)【要約】 (修正有)
【課題】ニューラルネットワークトレーニング方法、記録媒体及び装置を提供する。
【解決手段】方法は、同じ場面に対する2以上の入力データを第1及び第2ニューラルネットワークモデルに適用して各入力データに対応する第1及び第2バックボーン特徴データを決定しS110、S120、第1バックボーン特徴データから第1畳み込みデータ及び第1ビューデータを算出し、第2バックボーン特徴データから第2畳み込みデータ及び第2ビューデータを決定しS130、第1畳み込みデータ、第1ビューデータ、第2畳み込みデータ、第2ビューデータ及び畳み込みデータのクラスタリング結果のうち2以上の組み合わせに基づいた損失に基づいて、第1ニューラルネットワークモデル及び第2ニューラルネットワークモデルのうち少なくとも1つをトレーニングさせるS140。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサで実現されるニューラルネットワークトレーニング方法であって、
同じ場面に対する2以上の入力データを第1ニューラルネットワークモデルに個別的に適用して各入力データに対応する第1バックボーン特徴データを決定するステップと、
前記2以上の入力データを第2ニューラルネットワークモデルに個別的に適用し、各入力データに対応する第2バックボーン特徴データを決定するステップと、
前記第1バックボーン特徴データからプロジェクションに基づいた第1畳み込みデータ及びドロップアウトに基づいた第1ビューデータを算出し、前記第2バックボーン特徴データからプロジェクションに基づいた第2畳み込みデータ及びドロップアウトに基づいた第2ビューデータを決定するステップと、
前記第1畳み込みデータ、前記第1ビューデータ、前記第2畳み込みデータ、前記第2ビューデータ、及び畳み込みデータのクラスタリング結果のうち2以上の組み合わせに基づいて決定された損失に基づいて、前記第1ニューラルネットワークモデル及び前記第2ニューラルネットワークモデルのうち少なくとも1つをトレーニングさせるステップと、
を含む、方法。
【請求項2】
前記トレーニングさせるステップは、
前記2以上の入力データのいずれか1つの入力データから前記第1ニューラルネットワークモデルに基づいて抽出された前記第1畳み込みデータの畳み込みデータが属しているクラスタを指示するコード値及び前記2以上の入力データのうち、他の入力データから前記第1ニューラルネットワークモデルに基づいて抽出された前記第1畳み込みデータの畳み込みデータに基づいて第1部分損失を決定するステップ、を含む、
請求項1に記載の方法。
【請求項3】
前記第1部分損失を決定するステップは、
前記2以上の入力データのいずれか1つの入力データから前記第1ニューラルネットワークモデルを用いて抽出された前記第1ビューデータのビューデータ、及び、クラスタリング結果にさらに基づいて前記第1部分損失を決定するステップ、を含む、
請求項2に記載の方法。
【請求項4】
前記トレーニングさせるステップは、
前記2以上の入力データのいずれか1つの入力データから前記第1ニューラルネットワークモデルに基づいて抽出された前記第1畳み込みデータの畳み込みデータが属しているクラスタを指示するコード値、及び、前記2以上の入力データのうち他の入力データから前記第2ニューラルネットワークモデルに基づいて抽出された前記第2畳み込みデータの畳み込みデータに基づいて第2部分損失を決定するステップ、を含む、
請求項1に記載の方法。
【請求項5】
前記第2部分損失を決定するステップは、
前記2以上の入力データのいずれか1つの入力データから前記第2ニューラルネットワークモデルに基づいて抽出された前記第2ビューデータのビューデータ、及びコード値にさらに基づいて前記第2部分損失を決定するステップ、を含む、
請求項4に記載の方法。
【請求項6】
前記トレーニングさせるステップは、
前記第1畳み込みデータ、前記第1ビューデータ、前記第2畳み込みデータ、及び、前記第2ビューデータのうちの1つと、コード値との間の交差エントロピー損失に基づいて、前記第1ニューラルネットワークモデルに関する第1部分損失及び前記第2ニューラルネットワークモデルに関する第2部分損失を決定するステップ、を含む、
請求項1に記載の方法。
【請求項7】
前記トレーニングさせるステップは、前記第1畳み込みデータ及び前記第2畳み込みデータから、傾斜リバースレイヤ(GR layer、Gradient Reversal layer)を用いて第3部分損失を決定するステップ、を含む、
請求項1に記載の方法。
【請求項8】
カメラセンサによって取得されたカラーイメージであるオリジナルデータから、ランダムノイズ付加、イメージ回転、スケール調整、イメージ移動、ランダムクロップ、及び、色の歪曲のうちの1つ又は2以上の組み合わせを含むデータ増強に基づいて、前記2以上の入力データを生成するステップ、をさらに含む、
請求項1に記載の方法。
【請求項9】
ライダーセンサによって取得されたライダーイメージであるオリジナルデータから、検出ポイント増強及び反射値調整のうちの1つ又は2以上の組み合わせを含むデータ増強に基づいて、前記2以上の入力データを生成するステップ、をさらに含む、
請求項1に記載の方法。
【請求項10】
前記方法は、さらに、
複数のセンサのいずれか1つのセンサを用いて場面をキャプチャーすることで、前記2以上の入力データのいずれか1つの入力データを生成するステップと、
前記複数のセンサのうち、他のタイプのセンサを用いて同じ場面をキャプチャーすることで前記2以上の入力データのうち他の入力データを生成するステップと、
を含む、請求項1に記載の方法。
【請求項11】
前記方法は、さらに、
前記第1バックボーン特徴データから第1プロジェクションモデルを用いてプロジェクションされた第1畳み込みデータを決定するステップと、
前記第1バックボーン特徴データから少なくとも1つのドロップアウトレイヤを含む第1ドロップモデルを用いてプロジェクションされた第1ビューデータを決定するステップと、
前記第2バックボーン特徴データから第2プロジェクションモデルを用いてプロジェクションされた第2畳み込みデータを決定するステップと、
前記第2バックボーン特徴データから少なくとも1つのドロップアウトレイヤを含む第2ドロップモデルを用いてプロジェクションされた第2ビューデータを決定するステップと、
を含む、
請求項1に記載の方法。
【請求項12】
前記第1ビューデータを決定するステップは、前記第1畳み込みデータに線型レイヤを適用した後、ドロップアウトレイヤを適用するステップ、を含み、
前記第2ビューデータを決定するステップは、前記第2畳み込みデータに線型レイヤを適用した後、ドロップアウトレイヤを適用するステップ、を含む、
請求項11に記載の方法。
【請求項13】
前記第1ニューラルネットワークモデルのパラメータ数は、前記第2ニューラルネットワークモデルのパラメータ数よりも多い、
請求項1に記載の方法。
【請求項14】
前記方法は、さらに、
前記第1ニューラルネットワークモデル及び前記第2ニューラルネットワークモデルを含む複数のニューラルネットワークモデルのうち、最も高い認識性能を有するモデルによって出力された畳み込みデータが属しているクラスタを指示するコード値、各モデルによって出力された畳み込みデータごとのコード値、及び、クラスタリング損失が最も小さいモデルによって出力された畳み込みデータが属しているクラスタを指示するコード値のうちの1つを決定するステップ、を含む、
請求項1に記載の方法。
【請求項15】
前記第2バックボーン特徴データを決定するステップは、
前記2以上の入力データをターゲットハードウェアによって定義されるフォーマットに基づいて変換するステップと、
前記変換されたデータを前記第2ニューラルネットワークモデルに入力するステップと、
を含む、
請求項1に記載の方法。
【請求項16】
前記トレーニングさせるステップは、前記決定された損失が最小化されるように、前記第2ニューラルネットワークモデルのパラメータをアップデートするステップを含む、
請求項1に記載の方法。
【請求項17】
前記方法は、
前記トレーニングが完了した第2ニューラルネットワークモデルに基づいて検出データから抽出される畳み込みデータを用いて、前記検出データに対する目標作業の推論結果を生成するステップ、を含む、
請求項1に記載の方法。
【請求項18】
前記方法は、
前記第2ニューラルネットワークモデルを格納した電子装置の動作を前記推論結果に基づいて制御するステップ、を含む、
請求項17に記載の方法。
【請求項19】
前記推論結果は、オブジェクト認識、オブジェクト分類、身元検証、オブジェクト検出、及び、言語認識のうちの1つ又は組み合せに対応する、
請求項17に記載の方法。
【請求項20】
請求項1~19のいずれか一項に記載の方法を実行するための命令語を含む1つ以上のコンピュータプログラムを格納したコンピュータで読み出し可能な記録媒体。
【請求項21】
ニューラルネットワークトレーニング装置であって、
ニューラルネットワークと、
第1ニューラルネットワーク及び第2ニューラルネットワークを格納する、メモリと、
プロセッサであり、
同じ場面に対する2以上の入力データを前記第1ニューラルネットワークモデルに個別的に適用して各入力データに対応する第1バックボーン特徴データを決定し、
前記2以上の入力データを第2ニューラルネットワークモデルに個別的に適用して、各入力データに対応する第2バックボーン特徴データを決定し、
前記第1バックボーン特徴データからプロジェクションに基づいた第1畳み込みデータ及びドロップアウトに基づいて、第1ビューデータを決定し、
前記第2バックボーン特徴データからプロジェクションに基づいた第2畳み込みデータ及びドロップアウトに基づいて、第2ビューデータを決定し、
前記第1畳み込みデータ、前記第1ビューデータ、前記第2畳み込みデータ、前記第2ビューデータ、及び、前記第1畳み込みデータが属しているクラスタを指示するコード値のうち2以上の組み合わせに基づいて決定された損失に基づいて、前記第1ニューラルネットワークモデル及び前記第2ニューラルネットワークモデルのうち少なくとも1つをトレーニングさせる、
プロセッサと、
を含む、装置。
【請求項22】
ニューラルネットワークトレーニングのためのプロセッサで実現される方法であって、
第1ニューラルネットワーク及び第2ニューラルネットワークのそれぞれに対して同じ場面の異なるビューの第1入力データ及び第2入力データを個別的に適用することで、第1バックボーン特徴データ及び第2バックボーン特徴データを決定するステップと、
前記第1バックボーン特徴データに基づいて、第1プロジェクション基盤畳み込みデータと第1ドロップアウト基盤ビューデータ、及び、前記第2バックボーン特徴データに基づいて、第2プロジェクション基盤畳み込みデータ及び第2ドロップアウト基盤ビューデータを決定するステップと、
前記第1畳み込みデータ及び前記第1畳み込みデータが属している1つ以上のクラスタを指示するコード値に基づいて、第1部分損失を決定するステップと、
前記第2畳み込みデータ及び前記コード値に基づいて、第2部分損失を決定するステップと、
前記第1部分損失及び前記第2部分損失に基づいて、前記第1ニューラルネットワーク及び前記第2ニューラルネットワークのうち少なくとも1つをトレーニングさせるステップと、
を含む、方法。
【請求項23】
前記コード値は、前記第1畳み込みデータの畳み込みデータが属しているクラスタを指示する第1コード値、及び、前記第1畳み込みデータの他の畳み込みデータが属しているクラスタを指示する第2コード値、を含む、
請求項22に記載の方法。
【請求項24】
前記第2部分損失を決定するステップは、
前記第2畳み込みデータの畳み込みデータと前記第2コード値との間の第1交差損失を決定するステップと、
前記第2畳み込みデータの他の畳み込みデータと前記第1コード値との間の第2交差損失を決定するステップと、
を含む、請求項23に記載の方法。
【請求項25】
前記第1部分損失を決定するステップは、
前記第1畳み込みデータの畳み込みデータと前記第2コード値との間の第1交差損失を決定するステップと、
前記第1畳み込みデータの他の畳み込みデータと前記第1コード値との間の第2交差損失を決定するステップと、
を含む、請求項23に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
以下の実施形態は、ニューラルネットワークトレーニングに関する。
【背景技術】
【0002】
ヒトが有している効率的なパターンの認識方法を、実際のコンピュータに適用させようとする研究の1つとして、ヒトの生物学的な神経細胞の特性を数学的な表現によりモデリングした人工ニューラルネットワーク(artificial neural network)に対する研究が行われている。入力パターンを特定のグループに分類する問題を解決するために、人工ニューラルネットワークは、ヒトが有している学習という能力を模倣したアルゴリズムを使用する。このアルゴリズムを介して人工ニューラルネットワークは、入力パターンと出力パターンとの間のマッピングを生成することができ、学習に利用されていない入力パターンに対しても比較的に正しい出力を生成できる一般化能力を有している。
【0003】
上記で説明した背景技術は、発明者が本明細書の開示内容を導き出す過程で保持し、または、習得したものであり、必ずしも本出願前に一般の公衆に公開された公知技術とは言えない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、ニューラルネットワークトレーニングを提供することにある。
【課題を解決するための手段】
【0005】
一実施形態に係るプロセッサで実現されるニューラルネットワークトレーニング方法は、同じ場面に対する2以上の入力データを第1ニューラルネットワークモデルに個別的に適用して各入力データに対応する第1バックボーン特徴データを決定するステップと、前記2以上の入力データを第2ニューラルネットワークモデルに個別的に適用し、各入力データに対応する第2バックボーン特徴データを決定するステップと、前記第1バックボーン特徴データからプロジェクションに基づいた第1畳み込みデータ及びドロップアウトに基づいた第1ビューデータを算出し、前記第2バックボーン特徴データからプロジェクションに基づいた第2畳み込みデータ及びドロップアウトに基づいた第2ビューデータを決定するステップと、前記第1畳み込みデータ、前記第1ビューデータ、前記第2畳み込みデータ、前記第2ビューデータ、及び畳み込みデータのクラスタリング結果のうち2以上の組み合わせに基づいて決定された損失に基づいて、前記第1ニューラルネットワークモデル及び前記第2ニューラルネットワークモデルのうち少なくとも1つをトレーニングさせるステップと、を含む。
【0006】
前記トレーニングさせるステップは、前記2以上の入力データのいずれか1つの入力データから前記第1ニューラルネットワークモデルに基づいて抽出された前記第1畳み込みデータの畳み込みデータが属しているクラスタを指示するコード値及び前記2以上の入力データのうち、他の入力データから前記第1ニューラルネットワークモデルに基づいて抽出された前記第1畳み込みデータの畳み込みデータに基づいて第1部分損失を決定するステップ、を含むことができる。
【0007】
前記第1部分損失を決定するステップは、前記2以上の入力データのいずれか1つの入力データから前記第1ニューラルネットワークモデルを用いて抽出された前記第1ビューデータのビューデータ、及び、クラスタリング結果にさらに基づいて前記第1部分損失を決定するステップ、を含むことができる。
【0008】
前記トレーニングさせるステップは、前記2以上の入力データのいずれか1つの入力データから前記第1ニューラルネットワークモデルに基づいて抽出された前記第1畳み込みデータの畳み込みデータが属しているクラスタを指示するコード値、及び、前記2以上の入力データのうち他の入力データから前記第2ニューラルネットワークモデルに基づいて抽出された前記第2畳み込みデータの畳み込みデータに基づいて第2部分損失を決定するステップ、を含むことができる。
【0009】
前記第2部分損失を決定するステップは、前記2以上の入力データのいずれか1つの入力データから前記第2ニューラルネットワークモデルに基づいて抽出された前記第2ビューデータのビューデータ、及び、コード値にさらに基づいて前記第2部分損失を決定するステップ、を含むことができる。
【0010】
前記トレーニングさせるステップは、前記第1畳み込みデータ、前記第1ビューデータ、前記第2畳み込みデータ、及び前記第2ビューデータのうちの1つと、コード値との間の交差エントロピー損失に基づいて、前記第1ニューラルネットワークモデルに関する第1部分損失及び前記第2ニューラルネットワークモデルに関する第2部分損失を決定するステップ、を含むことができる。
【0011】
前記トレーニングさせるステップは、前記第1畳み込みデータ及び前記第2畳み込みデータから傾斜リバースレイヤ(GR layer、Gradient Reversal layer)を用いて第3部分損失を決定するステップを含むことができる。
【0012】
カメラセンサによって取得されたカラーイメージであるオリジナルデータから、ランダムノイズ付加、イメージ回転、スケール調整、イメージ移動、ランダムクロップ、及び、色の歪曲のうちの1つ又は2以上の組み合わせを含むデータ増強に基づいて前記2以上の入力データを生成するステップ、をさらに含むことができる。
【0013】
ライダーセンサによって取得されたライダーイメージであるオリジナルデータから、検出ポイント増強、及び、反射値調整のうちの1つ又は2以上の組み合わせを含むデータ増強に基づいて、前記2以上の入力データを生成するステップをさらに含むことができる。
【0014】
複数のセンサのいずれか1つのセンサを用いて場面をキャプチャーすることで、前記2以上の入力データのいずれか1つの入力データを生成するステップと、前記複数のセンサのうち、他のタイプのセンサを用いて同じ場面をキャプチャーすることで前記2以上の入力データのうち他の入力データを生成するステップとをさらに含むことができる。
【0015】
前記第1バックボーン特徴データから第1プロジェクションモデルを用いてプロジェクションされた第1畳み込みデータを決定するステップと、前記第1バックボーン特徴データから少なくとも1つのドロップアウトレイヤを含む第1ドロップモデルを用いてプロジェクションされた第1ビューデータを決定するステップと、前記第2バックボーン特徴データから第2プロジェクションモデルを用いてプロジェクションされた第2畳み込みデータを決定するステップと、前記第2バックボーン特徴データから少なくとも1つのドロップアウトレイヤを含む第2ドロップモデルを用いてプロジェクションされた第2ビューデータを決定するステップと、を含むことができる。
【0016】
前記第1ビューデータを決定するステップは、前記第1畳み込みデータに線型レイヤを適用した後ドロップアウトレイヤを適用するステップ、を含み、前記第2ビューデータを決定するステップは、前記第2畳み込みデータに線型レイヤを適用した後ドロップアウトレイヤを適用するステップ、を含むことができる。
【0017】
前記第1ニューラルネットワークモデルのパラメータ数は、前記第2ニューラルネットワークモデルのパラメータ数よりも多くてもよい。
【0018】
前記第1ニューラルネットワークモデル及び前記第2ニューラルネットワークモデルを含む複数のニューラルネットワークモデルのうち、最も高い認識性能を有するモデルによって出力された畳み込みデータが属しているクラスタを指示するコード値、各モデルによって出力された畳み込みデータごとのコード値、及び、クラスタリング損失が最も小さいモデルによって出力された畳み込みデータが属しているクラスタを指示するコード値のうちの1つを決定するステップをさらに含むことができる。
【0019】
前記第2バックボーン特徴データを決定するステップは、前記2以上の入力データをターゲットハードウェアによって定義されるフォーマットに基づいて変換するステップと、前記変換されたデータを前記第2ニューラルネットワークモデルに入力するステップと、を含むことができる。
【0020】
前記トレーニングさせるステップは、前記決定された損失が最小化されるように、前記第2ニューラルネットワークモデルのパラメータをアップデートするステップ、を含むことができる。
【0021】
前記トレーニングが完了された第2ニューラルネットワークモデルに基づいて検出データから抽出される畳み込みデータを用いて、前記検出データに対する目標作業の推論結果を生成するステップ、を含むことができる。
【0022】
前記第2ニューラルネットワークモデルを格納した電子装置の動作を前記推論結果に基づいて制御するステップ、を含むことができる。
【0023】
一実施形態に係るニューラルネットワークを有する装置は、第1ニューラルネットワーク及び第2ニューラルネットワークを格納するメモリと、プロセッサであり、同じ場面に対する2以上の入力データを前記第1ニューラルネットワークモデルに個別的に適用して各入力データに対応する第1バックボーン特徴データを決定し、前記2以上の入力データを第2ニューラルネットワークモデルに個別的に適用して各入力データに対応する第2バックボーン特徴データを決定し、前記第1バックボーン特徴データからプロジェクションに基づいて、第1畳み込みデータ及びドロップアウトに基づいた第1ビューデータを決定し、前記第2バックボーン特徴データからプロジェクションに基づいて、第2畳み込みデータ及びドロップアウトに基づいた第2ビューデータを決定し、前記第1畳み込みデータ、前記第1ビューデータ、前記第2畳み込みデータ、前記第2ビューデータ、及び、前記第1畳み込みデータが属しているクラスタを指示するコード値のうち2以上の組み合わせに基づいて決定された損失に基づいて前記第1ニューラルネットワークモデル及び前記第2ニューラルネットワークモデルのうち少なくとも1つをトレーニングさせる、プロセッサと、を含む。
【0024】
一実施形態に係るニューラルネットワークトレーニングのためのプロセッサで実現される方法は、第1ニューラルネットワーク及び第2ニューラルネットワークのそれぞれに対して同じ場面の異なるビューの第1入力データ及び第2入力データを個別的に適用することで、第1バックボーン特徴データ及び第2バックボーン特徴データを決定するステップと、前記第1バックボーン特徴データに基づいて、第1プロジェクション基盤畳み込みデータと第1ドロップアウト基盤ビューデータ、及び、前記第2バックボーン特徴データに基づいて、第2プロジェクション基盤畳み込みデータ及び第2ドロップアウト基盤ビューデータを決定するステップと、前記第1畳み込みデータ及び前記第1畳み込みデータが属している1つ以上のクラスタを指示するコード値に基づいて、第1部分損失を決定するステップと、前記第2畳み込みデータ及び前記コード値に基づいて第2部分損失を決定するステップと、前記第1部分損失及び前記第2部分損失に基づいて、前記第1ニューラルネットワーク及び前記第2ニューラルネットワークのうち少なくとも1つをトレーニングさせるステップと、を含む。
【0025】
前記コード値は、前記第1畳み込みデータの畳み込みデータが属しているクラスタを指示する第1コード値、及び、前記第1畳み込みデータの他の畳み込みデータが属しているクラスタを指示する第2コード値を含むことができる。
【0026】
前記第2部分損失を決定するステップは、前記第2畳み込みデータの畳み込みデータと前記第2コード値との間の第1交差損失を決定するステップと、前記第2畳み込みデータの他の畳み込みデータと前記第1コード値との間の第2交差損失を決定するステップと、を含むことができる。
【0027】
前記第1部分損失を決定するステップは、前記第1畳み込みデータの畳み込みデータと前記第2コード値との間の第1交差損失を決定するステップと、前記第1畳み込みデータの他の畳み込みデータと前記第1コード値との間の第2交差損失を決定するステップと、を含むことができる。
【発明の効果】
【0028】
本発明によると、ニューラルネットワークトレーニングを提供することができる。
【図面の簡単な説明】
【0029】
【
図1】一実施形態に係るトレーニング方法を説明するためのフローチャートである。
【
図2】一実施形態に係るトレーニングシステムの例を示す図である。
【
図3】一実施形態に係るトレーニング動作を説明するための図である。
【
図4】一実施形態に係るプロジェクションモデルを説明する図である。
【
図5】一実施形態に係るドロップモデルを説明する図である。
【
図6】他の一実施形態に係る複数のニューラルネットワークモデルのトレーニング動作を説明する図である。
【
図7】更なる一実施形態に係る異種センサを用いて収集されたデータを用いたトレーニング動作を説明する図である。
【
図8】更なる一実施形態に係るターゲットハードウェアに対応したトレーニング動作を説明する図である。
【
図9】一実施形態によりトレーニングが完了されたモデルを用いた推論結果の生成を説明する図である。
【
図10A】一実施形態によりトレーニングされたニューラルネットワークモデルの区別力を説明する図である。
【
図10B】一実施形態によりトレーニングされたニューラルネットワークモデルの区別力を説明する図である。
【
図10C】一実施形態によりトレーニングされたニューラルネットワークモデルの区別力を説明する図である。
【
図10D】一実施形態によりトレーニングされたニューラルネットワークモデルの区別力を説明する図である。
【
図11】一実施形態によりトレーニングされたニューラルネットワークモデルの正確度を説明するグラフである。
【
図12】一実施形態に係る電子装置の構成を示すブロック図である。
【発明を実施するための形態】
【0030】
本明細書で開示する特定の構造的又は機能的な説明は、単に実施形態を説明するための目的として例示したものであり、実施形態は、様々な異なる形態で実施され、本発明は、本明細書で説明した実施形態に限定されるものではなく、本発明の範囲は、実施形態で説明した技術的な思想に含まれている変更、均等物、または代替物を含む。
【0031】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は、1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に、第2構成要素は第1構成要素としても命名することができる。
【0032】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【0033】
単数の表現は、文脈上、明白に異なる意味をもたない限り、複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたもの、などの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0034】
異なるように定義がされない限り、技術的であるか又は科学的な用語を含む、ここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0035】
以下、添付する図面を参照しながら実施形態を詳細に説明する。添付図面を参照した説明において、図面符号に関係なく同じ構成要素には同じ参照符号を付与し、これに対する重複する説明は省略することにする。
【0036】
図1は、一実施形態に係るトレーニング方法を説明するためのフローチャートである。
【0037】
まず、ステップS110において、電子装置は、同じ場面に対する入力データから第1バックボーン特徴データ(first backbone feature data)を算出する。一実施形態に係る電子装置は、同じ場面に対する2以上の入力データを第1ニューラルネットワークモデルに個別的に適用して各入力データに対応する第1バックボーン特徴データを算出することができる。例えば、電子装置は、m個の入力データを第1ニューラルネットワークモデルに個別的に入力することで、m個の第1バックボーン特徴データを抽出することができる。ここで、mは、2以上の整数であってもよい。2以上の入力データは、同じコンテキストに関するデータとして、例えば、1場面に対する1オリジナルイメージから増強されたデータ及び/又は同じ場面を互いに異なるセンサでキャプチャーしたデータであってもよい。異なる例として、2以上の入力データは、ある音(例えば、音声)に対する1オリジナル信号から増強されたデータ及び/又は同じ音を互いに異なるセンサでキャプチャーしたデータであってもよい。
【0038】
そして、ステップS120において、電子装置は、同じ場面に対する入力データから第2バックボーン特徴データ(second backbone feature data)を算出する。一実施形態に係る電子装置は、2以上の入力データを第2ニューラルネットワークモデルに個別的に適用して各入力データに対応する第2バックボーン特徴データを算出することができる。電子装置は、m個の入力データを第2ニューラルネットワークモデルに個別的に入力することで、m個の第2バックボーン特徴データを抽出することができる。
【0039】
機械学習モデルは、機械学習を介して生成され、ニューラルネットワークモデルとも示してもよい。このような学習は、例えば、ニューラルネットワークモデルが実行される電子装置そのもので実行されてもよく、別途のサーバを介して実行されてもよい。学習アルゴリズムは、例えば、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semi-supervised learning)、又は、強化学習(reinforcement learning)を含み得るが、前述した例に限定されない。ニューラルネットワークモデルは、複数の人工ニューラルネットワークレイヤを含んでもよい。ニューラルネットワークモデルは、深層神経網(DNN:deep neural network)、CNN(convolutional neural network)、RNN(recurrent neural network)、RBM(restricted boltzmann machine)、DBN(deep belief network)、BRDNN(bidirectional recurrent deep neural network)、深層Q-ネットワーク(deep Q-networks)、又は、2以上の組み合せの1つであってもよいが、前述した例に限定されない。ニューラルネットワークモデルは、ハードウェア構造の他に、追加的又は代替的に、ソフトウェア構造を含んでもよい。電子装置は、入力データをニューラルネットワークモデルに入力して伝播することで、バックボーン特徴データを抽出することができる。バックボーン特徴データは、入力データを抽象化したデータとして、例示的に、特徴ベクトルの形態を有してもよい。バックボーン特徴データは、ターゲット作業(例えば、オブジェクト認識、オブジェクト分類、身元検証、オブジェクト検出、及び言語認識、など)に対応する推論結果を生成するために、ニューラルネットワークモデルの後続レイヤに伝播され得る。
【0040】
次に、ステップS130において、電子装置は、各バックボーン特徴データから畳み込みデータ及びビューデータを算出する。一実施形態に係る電子装置は、第1バックボーン特徴データから、プロジェクションに基づいた第1畳み込みデータ及びドロップアウト(drop out)に基づいた第1ビューデータを算出し、第2バックボーン特徴データから、プロジェクションに基づいた第2畳み込みデータ及びドロップアウトに基づいた第2ビューデータを算出する。第1畳み込みデータ及び第1ビューデータは、例示的に、第1ニューラルネットワークモデルの第1畳み込み空間で畳み込まれた特徴ベクトルを示してもよく、第2畳み込みデータ及び第2ビューデータは、例示的に、第2ニューラルネットワークモデルの第2畳み込み空間で畳み込まれた特徴ベクトルを示してもよい。プロジェクション及びドロップアウトは、それぞれ下記の
図4及び
図5を参照して説明する。
【0041】
上述したように、電子装置は、同じソースのデータから様々なビューの特徴データを算出することができる。例示的に、1つのコンテキスト(例えば、場面)に対してm個の入力データが取得され、m個の入力データのそれぞれに対してニューラルネットワークモデルごとにバックボーン特徴データが抽出され、各バックボーン特徴データごとに畳み込みデータ及びビューデータが算出されてもよい。電子装置がn個のニューラルネットワークモデルを含んでいる場合、電子装置は、m×n×2個のビューに対する特徴データを決定することができる。ここで、nは、2以上の整数であってもよい。本明細書において、ビューはデータを見ている観点を示す。
【0042】
そして、ステップS140において、電子装置は、損失を算出してトレーニングを行う。一実施形態に係る電子装置は、第1畳み込みデータ、第1ビューデータ、第2畳み込みデータ、第2ビューデータ、及び、畳み込みデータのクラスタリング結果のうち2以上の組み合わせに基づいて算出された損失に基づいて、第1ニューラルネットワークモデル及び第2ニューラルネットワークモデルのうち少なくとも1つをトレーニングさせることができる。例えば、電子装置は、前述した第1畳み込みデータ、第1ビューデータ、第2畳み込みデータ、及び、第2ビューデータと、クラスタリング結果に基づいて算出された部分損失の合計が最小化されるように、ニューラルネットワークモデルのパラメータをアップデートすることができる。例えば、電子装置は、算出された損失が閾値損失の未満であるか、収斂して最小化されるまで、第2ニューラルネットワークモデルのパラメータをアップデートすることができる。電子装置は、算出された損失が閾値未満になるまで繰り返してニューラルネットワークモデルのパラメータをアップデートすることができる。
【0043】
一実施形態に係る電子装置は、入力イメージが属しているクラスを指示するラベル(label)がなくても、ニューラルネットワークモデルをトレーニングすることができる。電子装置は、後述する方法によって互いに異なるクラス(例えば、互いに異なる場面)のデータに対して、ニューラルネットワークモデルをインプリメント(implement)することにより、抽出された特徴データ間の畳み込み空間内の距離が遠くなり、同じクラス(例えば、同じ場面)のデータに対して抽出された特徴データ間の畳み込み空間内の距離が近接するように、ニューラルネットワークモデルをトレーニングさせることができる。参考として、ターゲットの作業のための推論結果を生成するために、前述したトレーニング動作に加えて、ポストプロセッシング(Post-processing)、及び/又は、追加ネットワークトレーニング(additional Network Training)が求められてもよい。
【0044】
最近、教師なしビジュアル表現学習(visual representation learning)が注目される改善点は、大きいバッチ(large batch)トレーニングと共に重いネットワーク(heavy networks)に基づくことである。最近の方法は、ResNet-50のように深層モデルの教師あり性能と、教師なし性能との間のギャップを極めて減少させたが、これは小さいモデルに対しては相対的に制限的である。
【0045】
本明細書において、深層自己教師あり表現学習(deep self-supervised representation learning)及び知識の蒸留(knowledge distillation)を単一のトレーニングプロセスで統合した、小規模ネットワークのための教師なし学習フレームワークが提供される。教師モデルは、同じイメージの異なるビュー間の一貫したクラスタリングを生成するようにトレーニングされる。同時に、学生モデルは、オンザフライ(on-the-fly)自己指図教師(self-supervised teacher)の予測を模倣(mimic)するようにトレーニングされ得る。
【0046】
効果的な知識伝達のために、ドメイン分類器が分布シフトに不変である区別力のある特徴により、学生モデルの特徴学習をガイドすることができる。ドロップアウトの期間、マルチビュー生成方法がネットワーク自体に含まれている有用な特徴情報をキャプチャーすることを補助できる。
【0047】
広範囲な試験において、一実施形態によりトレーニングされた学生モデルが最先端であるだけでなく、さらに強力な自己指図教師から最先端オフライン蒸留されたネットワークを超えることができる。例えば、後述するトレーニング方法により、ResNet-50教師モデルと共にトレーニングされたResNet-18学生モデルは、68.32%のImageNet Top-1正確度を線型評価で達成し、これは教師あり基準線(supervised baseline)よりわずかに1.44%低い。
【0048】
近年、教師なし及び自己教師あり学習において増加している関心は、数多いラベルされない(unlabeled)データから有用な表現を効率よく学習するためのものである。現在の自己教師ありビジュアル表現学習方法は、完全な教師あり方式に近接し、または、上回ることもある。
【0049】
教師なしビジュアル表現学習の最近において成功した大きい部分は、強力なコンピューティング資源でトレーニングされた大きいモデルの使用にある。以前の研究で最も小さいモデルはResNet-50であり、ネットワークが128TPUコアのような複数の専門化されたハードウェア装置に関して大きいバッチ(例えば、4096枚のイメージ)でトレーニングされてもよい。一方、この重い具現は、限られたリソースの環境で実行可能なオプションではなく、実際のアプリケーションのための強力な小規模ネットワークが求められる。自己教師あり学習に関する既存の方法は、ラベリングされないデータを使用してより効率よく汎用ビジュアル表現を深層モデルが学習させることである。また、さらに大きいネットワークの予測性能がより小規模ネットワークへよく伝達されることを経験的に検証している。
【0050】
一実施形態に係る電子装置は、小規模ネットワークを独立的にトレーニングさせることなく、深層自己教師ありネットワークからの知識を伝達することで、軽量ネットワークのための豊富な表現を学習させることができる。
【0051】
教師なし表現学習文法において、以前の蒸留方法の大部分は、すでにトレーニングされた自己指図教師モデルを活用して特徴情報を学生モデルに伝達するという点で、オフライントレーニングとして見ることができる。さらに、この順次的なトレーニングパイプラインは、頻繁に性能を向上させるためにk-平均クラスタリング(k-means clustering)のようなポストプロセッシングを要求する。このアクセスとは異なって、一実施形態に係る電子装置は、自己教師ありトレーニング及び知識の蒸留を単一のトレーニングプロセスに結合した、小規模ネットワークのための教師なし表現学習フレームワークを使用することができる。例示的に、教師モデルがクラスタ及び表現を学習し、同時に、学生モデルは、オンザフライ自己教師あり(OSS、On-the-fly Self-Supervised)教師モデルのクラスタリングに対する予測に整列されるようにトレーニングされ得る。ドメイン分類器は、教師モデルと学生モデルとの間の分布シフトに不変である有用な区別力のある特徴により、学生モデルのトレーニングをガイドすることができる。経験的に、自己教師ありトレーニングの間に異なるビューの個数を増加させることは、結果的に、特徴の質を改善させることになる。マルチビューを生成するための多くのアクセスがあり、ほとんどのランダムイメージの変換方式に依存している。本明細書において、ネットワーク自体に含まれている豊富な特徴情報を活用するためのトレーニングについて説明する。
【0052】
以下では、一実施形態に係るトレーニングを詳細に説明する。
【0053】
図2は、一実施形態に係るトレーニングシステムの例を示す図である。
【0054】
一実施形態に係るトレーニングシステム200は、入力データ取得部210、第1ニューラルネットワークモデル221、第2ニューラルネットワークモデル222、第1ビュー生成モデル231、第2ビュー生成モデル232、クラスタリング部240、第1損失算出部251、第2損失算出部252、及び、第3損失算出部253を含む。但し、これは説明の便宜のために示したモジュールであって、トレーニングシステム200の各構成による動作は、プロセッサによって実行されてもよい。
【0055】
入力データ取得部210は、入力データを取得する。例えば、入力データ取得部210は、オリジナルデータ201から第1入力データ211~第m入力データ212を生成する。入力データ取得部210は、それぞれ異なるデータ増強(data augmentation)をオリジナルデータ201に適用することで、様々な入力データを生成することができる。データ増強は、単一のオリジナルデータ201のサンプルから互いに異なるデータ表現、言い換えれば、様々なビューに対応する入力データを生成する動作を示す。例えば、入力データ取得部210は、カメラセンサによって取得されたカラーイメージであるオリジナルデータ201からランダムノイズ付加、イメージ回転、スケール調整、イメージ移動、ランダムクロップ、及び色の歪曲、の1つ又は2以上の組み合わせを含むデータ増強に基づいて、2以上の入力データを生成することができる。
【0056】
第1ニューラルネットワークモデル221及び第2ニューラルネットワークモデル222は、トレーニングされるニューラルネットワークモデルであって、入力データからバックボーン特徴データを出力するように設計及びトレーニングされ得る。第1ニューラルネットワークモデル221のパラメータ数は、第2ニューラルネットワークモデル222のパラメータ個数より多くてもよい。第1ニューラルネットワークモデル221は、第2ニューラルネットワークモデル222よりも相対的に高い性能を示す。第2ニューラルネットワークモデル222は、トレーニングが完了した後で、推論結果を生成するために使用されてもよい。本明細書において、第1ニューラルネットワークモデル221は教師モデル、第2ニューラルネットワークモデル222は学生モデルのように示されてもよい。
【0057】
第1ビュー生成モデル231は、第1ニューラルネットワークモデル221から出力された第1バックボーン特徴データのビューを多様化することができる。例えば、第1ビュー生成モデル231は、第1プロジェクションモデル及び/又は第1ドロップモデルを含み、電子装置は、第1バックボーン特徴データを、第1プロジェクションモデルを介してプロジェクションすることで、第1畳み込みデータを算出して、第1バックボーン特徴データを第1ドロップモデルを用いてプロジェクションすることにより、第1ビューデータを算出することができる。第1ドロップモデルは、少なくとも1つのドロップアウトレイヤを含んでもよい。電子装置は、第1ビュー生成モデル231にデータを伝播するとき、ドロップアウトレイヤを伝播経路から排除することで、第1プロジェクションモデルとして動作させたり、ドロップアウトレイヤを伝播経路に含ませることで、第1ドロップモデルとして動作させてもよい。第1畳み込みデータは、第1バックボーン特徴データの次元よりも低い次元にプロジェクションされたデータであってもよく、第1ビューデータは、一部の特徴がドロップアウトされたデータであってもよい。
【0058】
第2ビュー生成モデル232は、第2ニューラルネットワークモデル222から出力された第2バックボーン特徴データのビューを多様化することができる。例えば、第2ビュー生成モデル232は、第2プロジェクションモデル及び/又は第2ドロップモデルを含み、電子装置は、第2バックボーン特徴データを、第2プロジェクションモデルを介してプロジェクションすることで、第2畳み込みデータを算出して、第2バックボーン特徴データを、第2ドロップモデルを用いてプロジェクションすることで、第2ビューデータを算出することができる。第2ドロップモデルは、少なくとも1つのドロップアウトレイヤを含んでもよい。第2畳み込みデータは、第2バックボーン特徴データの次元よりも低い次元でプロジェクションされたデータであってもよく、第2ビューデータは、一部の特徴がドロップアウトされたデータであってもよい。
【0059】
前述した第1プロジェクションモデル及び第2プロジェクションモデルは、下記の
図4を参照して説明し、第1ドロップモデル及び第2ドロップモデルについては、下記の
図5を参照して説明する。
【0060】
クラスタリング部240は、畳み込みデータが属しているクラスタを決定することができる。例えば、プロトタイプであるクラスタベクトルCの元素個数(例えば、クラスタ個数)はK個に定義され、クラスタリング部240は、K個のクラスタのうち畳み込みデータが属しているクラスタを指示するコード値を決定してもよい。ここで、Kは1以上の整数であってもよい。例えば、クラスタリング部240は、同等のパーティションの条件下でSinkhorn-Knoppアルゴリズムを用いてクラスタリング結果を生成することができる。
【0061】
第1損失算出部251は、損失290のうち第1部分損失291を算出する。第1部分損失291は、第1ニューラルネットワークモデル221から算出された畳み込みデータ及び/又はビューデータに対するクラスタベクトルの確率値と割り当てられるクラスタとの間の交差損失を含んでもよい。
【0062】
第2損失算出部252は、損失290のうち第2部分損失292を算出する。第2部分損失292は、第2ニューラルネットワークモデル222から算出された畳み込みデータ及び/又はビューデータに対するクラスタベクトルの確率値と割り当てられるクラスタとの間の交差損失を含んでもよい。
【0063】
第3損失算出部253は、損失290のうち第3部分損失293を算出する。第3部分損失293は、第1ニューラルネットワークモデル221に基づいて算出される第1畳み込みデータ及び第2ニューラルネットワークモデル222に基づいて算出される第2畳み込みデータ間の敵対的損失(adversarial loss)を含んでもよい。敵対的な損失が最小化するほど、第1ニューラルネットワークモデル221の特徴分布と第2ニューラルネットワークモデル222の特徴分布との間の差が減少し得る。
【0064】
教師なしビジュアル表現学習において、豊富な特徴情報は、イメージデータ自体からラベルが取得される様々なプリテキスト作業を解決するために用いられる。この方法は、プリテキスト作業のタイプに応じて様々なカテゴリーに分類される。一実施形態に係るトレーニングは、クラスタリングに基づく。
【0065】
トレーニングの間にビューの個数を増加させることで自己教師あり学習の性能が改善される。一実施形態に係るトレーニングは、上述したように、オリジナルデータ201に対するデータ増強に加え、ドロップアウトに基づいて第1ニューラルネットワークモデル221の第1バックボーン特徴データ及び第2ニューラルネットワークモデル222の第2バックボーン特徴データに対する様々なビューのデータを取得することができる。
【0066】
自己教師ありモデルからの知識の蒸留において、一実施形態に係るトレーニングは、教師モデルの畳み込み空間におけるデータポイント間の相対的な類似性を模写するように教師モデルに対するクラスタリング結果を活用し学生モデルをトレーニングさせることで、ラベル情報が与えられなくても自己教師あり方式でニューラルネットワークモデルをトレーニングさせることができる。
【0067】
また、一実施形態に係る電子装置は、傾斜リバースレイヤ(gradient reversal layer)を有するドメイン分類器を用いて教師モデルのドメイン及び学生モデルのドメイン間のシフト区別を困難にしてニューラルネットワークモデルをトレーニングさせることができる。電子装置は、教師モデルと学生モデルとの間の分布変化に不変である区別力のある特徴をトレーニングさせることができる。以下の
図3において、第1ニューラルネットワークモデルが教師モデルであり、第2ニューラルネットワークモデルが学生モデルである例示について説明する。
【0068】
図3は、一実施形態に係るトレーニング動作を説明するためのフローチャートである。
【0069】
一実施形態に係るトレーニングシステム300で電子装置は、教師モデル(例えば、ResNet-50)f
θ及び学生モデル(例えば、ResNet-18)g
ηをトレーニングさせるために、下記の数式(1)による損失を算出する。
【数1】
前述した数式(1)において、L
Tは教師モデルf
θのために設計された第1部分損失、L
Sは学生モデルg
ηのために設計された第2部分損失、L
Dは教師モデルf
θ及び学生モデルg
ηの間の特徴分布の差が減少するように設計された第3部分損失を示す。電子装置は、前述した部分損失を算出するために、入力データをフィードフォワーディングする。電子装置は、第1畳み込みデータ、第1ビューデータ、第2畳み込みデータ、及び第2ビューデータのうちの1つとコード値との間の交差エントロピー損失に基づいて、第1ニューラルネットワークモデルに関する第1部分損失L
T及び第2ニューラルネットワークモデルに関する第2部分損失L
Sを算出する。
【0070】
例えば、オリジナルイメージx
nに対してデータ増強を適用することで入力イメージx
n1、x
n2を生成してもよい。上述したように、入力イメージx
1、x
2は、オリジナルデータであるオリジナルイメージx
nを異なるビューでみた入力データを示す。電子装置は、生成された入力イメージx
n1、x
n2を教師モデルf
θ及び学生モデルg
ηにそれぞれ下記の数式(2)及び数式(3)のようにフィードフォワーディングさせることができる。教師モデルf
θのパラメータ数(例えば、レイヤ個数、ノード個数、及び/又は連結加重値個数)は、学生モデルg
ηのパラメータ数よりも大きくてもよい。言い換えれば、教師モデルf
θのキャパシティーが学生モデルg
ηのキャパシティーよりも大きくて深くてもよい。
【数2】
【数3】
前述した数式2において、f
n1は、第1入力イメージx
n1に教師モデルf
θを適用して抽出された第1バックボーン特徴データであり、f
n2は、第2入力イメージx
n2に教師モデルf
θを適用して抽出された第1バックボーン特徴データを示す。上述したように、第1バックボーン特徴データは、教師モデルf
θに基づいて抽出されたバックボーン特徴データを示す。前述した数式(3)において、g
n1は、第1入力イメージx
n1に学生モデルg
ηを適用して抽出された第2バックボーン特徴データであり、g
n2は、第2入力イメージx
n2に学生モデルg
ηを適用して抽出された第2バックボーン特徴データを示す。上述したように、第2バックボーン特徴データは、学生モデルg
ηに基づいて抽出されたバックボーン特徴データを示す。
【0071】
電子装置は、前述した第1バックボーン特徴データf
n1、f
n2を第1ビュー生成モデル331に伝播し、第2バックボーン特徴データg
n1、g
n2を第2ビュー生成モデル332に伝播させることができる。例えば、電子装置は、第1ビュー生成モデル331のプロジェクションモデルh
Tに基づいて、第1バックボーン特徴データf
n1、f
n2から下記の数式(4)のようにそれぞれ第1畳み込みデータz
n1、z
n2を算出する。電子装置は、第2ビュー生成モデル332のプロジェクションモデルh
Sに基づいて第2バックボーン特徴データg
n1、g
n2から下記の数式(5)のようにそれぞれ第2畳み込みデータw
n1、w
n2を算出する。
【数4】
【数5】
また、数式(4)及び数式(5)に示したように、各バックボーン特徴データは、正規化され得る。電子装置は、第1ビュー生成モデル331のドロップモデルh
T
dropに基づいて、第1バックボーン特徴データf
n1、f
n2からそれぞれ第1ビューデータZ
~
n1、Z
~
n2を算出する。電子装置は、第2ビュー生成モデル332のドロップモデルh
S
dropに基づいて、第2バックボーン特徴データg
n1、g
n2からそれぞれ第2ビューデータW
~
n1、W
~
n2を算出する。ビューデータは、バックボーン特徴データから一部の特徴がドロップされたデータとして、下記の
図5を参照して説明する。
【0072】
電子装置は、畳み込みデータに対するクラスタリング結果を決定することができる。例えば、電子装置は、複数のクラスタのうち畳み込みデータが属しているクラスタを決定してもよい。プロトタイプクラスタベクトルC={c
1、…、c
K}に定義され、Kは、プロトタイプクラスタベクトルCによって指示されるクラスタの個数を示す。電子装置は、同等パーティションの条件下でSinkhorn-Knoppアルゴリズムを用いて、プロトタイプクラスタグループのうち畳み込みデータが属しているクラスタを決定することができる。例えば、電子装置は、教師モデルf
θの畳み込み表現(embedding representation)、例えば、畳み込みデータz
nをプロトタイプクラスタベクトルCでマッピングすることで、コードベクトルq
nを算出する。コードベクトルq
nは、各畳み込みデータに割り当てられたクラスタを指示するコード値を含んでもよい。
図3において、電子装置は、教師モデルf
θに基づいて算出された第1畳み込みデータz
n1が属しているクラスタを指示するコード値q
n1、第1畳み込みデータz
n2が属しているクラスタを指示するコード値q
n2を決定することができる。
【0073】
一実施形態に係る電子装置は、SwAV(Swapping Assignments betweenViews)に類似に、様々なビューの入力データ間に前述したクラスタリング結果を交換して教師モデルf
θの損失を予測できる。電子装置は、2以上の入力データのいずれか1つの入力データから第1ニューラルネットワークモデルに基づいて抽出された畳み込みデータが属しているクラスタを指示するコード値及び2以上の入力データのうち、他の入力データから第1ニューラルネットワークモデルに基づいて抽出された第1畳み込みデータに基づいて第1部分損失L
Tを算出することができる。例えば、電子装置は、下記の数式(6)のようにコード値q
n2と第1畳み込みデータz
n1との交差損失及びコード値q
n1と第1畳み込みデータz
n2との交差損失を算出することができる。
【数6】
前述した数式(6)の交差損失は、下記の数式(7)のように算出される。数式(7)は、例示的にコード値q
n2と第1畳み込みデータz
n1との交差エントロピー値を示し、コード値q
n1と第1畳み込みデータz
n2との交差エントロピーも類似に算出され得る。
【数7】
【数8】
前述した数式(8)において、Tは前置を示す。前述した数式(7)に示したように、電子装置はコード値q
n2と第1畳み込みデータz
n1との交差エントロピー値として、コード値q
n2及び第1畳み込みデータz
n1に対するソフトマックス確率間の交差エントロピー値を示す。数式(8)は、プロトタイプクラスタベクトルCの全てのクラスタと第1畳み込みデータz
n1とのドット積(dot product)の温度パラメータを有するソフトマックス確率を示す。数式(8)において例示的に第1畳み込みデータz
n1に対するソフトマックス確率が説明されたが、これに限定されることなく、電子装置は、i番目の入力イメージに対して算出された第i畳み込みデータz
niに対するソフトマックス確率を算出してもよい。ここで、iは1以上m以下の整数であってもよい。前述した数式(6)に係る第1部分損失L
tは教師モデルf
θにおいて、データ増強のようなビュー変化に強靭な区別力のある特徴を出力するように設計され得る。
【0074】
一実施形態に係る電子装置は、前述した教師モデルf
θに対する交差損失に類似に様々なビューの入力データ間に前述したクラスタリング結果を交換して学生モデルg
ηの損失を予測することができる。電子装置は、2以上の入力データのいずれか1つの入力データから第1ニューラルネットワークモデルに基づいて抽出された第1畳み込みデータが属しているクラスタを指示するコード値、及び2以上の入力データのうち他の入力データから第2ニューラルネットワークモデルに基づいて抽出された第2畳み込みデータに基づいて第2部分損失L
sを算出することができる。例えば、電子装置は、下記の数式(9)のようにコード値q
n2と第2畳み込みデータw
n1との交差損失、及びコード値q
n1と第2畳み込みデータw
n2との交差損失を算出することができる。
【数9】
前述した数式(9)に示したように、電子装置は、教師モデルに対するクラスタリング結果であるコード値q
n1及びq
n2を参照して第2畳み込みデータw
n1、w
n2に対する交差エントロピー値を算出する。交差エントロピー値Lc()は、前述した数式(7)及び数式(8)と同様に算出されてもよい。電子装置は、学生モデルg
ηの第2畳み込みデータw
n1、w
n2から教師モデルに対するクラスタリング結果であるコード値q
n1及びq
n2を交換して予測するよう設計された第2部分損失L
sを介して、学生モデルg
ηが教師モデルf
θを模倣するようにトレーニングすることができる。
【0075】
電子装置は、前述した数式(6)に係る第1部分損失Lt及び数式(9)に係る第2部分損失Lsを共同に最小化するよう、教師モデルfθのパラメータ及び学生モデルgηのパラメータをアップデートすることができる。
【0076】
些細ではない(non-trivial)オンラインクラスタリングにおいて、複数のコードq
nが、上述したようにサイズBの格納された畳み込みを有するミニバッチ(mini-batch)に対して同等パーティションの制約(equi-partition constraint)下でSinkhorn-Knoppアルゴリズムを用いて算出され得る。
【数10】
n番目のオリジナルデータに対するコードベクトルQ
n=[q
n1;…;q
nB]は、与えられたプロトタイプクラスタベクトルC={c
1、…、c
K}及びZ=[z
n1、…、z
nB]に対して搬送ポリトープ(transportation polytope)Ωにわたった前述した数式(10)の最適化問題を解決することにより算出され得る。ここで、Hは下記の数式(11)のようなエントロピー関数であり、εはスムージングパラメータ(smoothing parameter)である。
【数11】
ここで、ミニバッチで制限された搬送ポリトープΩは、下記の数式(12)により与えられる。
【数12】
ここで、1
KはK次元の1(ones)のベクトルを示す。
【0077】
また、電子装置は、前述した第1部分損失L
t及び第2部分損失L
sにドロップアウトを反映した損失を追加する。例えば、電子装置は、2以上の入力データのいずれか1つの入力データから第1ニューラルネットワークモデルを用いて抽出されたビューデータ及びクラスタリング結果にさらに基づいて第1部分損失L
Tを算出することができる。電子装置は、ドロップアウトに基づいて算出された第1ビューデータZ
~
n1、Z
~
n2とクラスタリング結果との間の損失を下記の数式(13)のように算出することができる。
【数13】
前述した数式(13)において、{Z^
nv}
V
v=1は、小さくクロップされた特徴(small crop features)を示し、
{Z
~
nv}
V+2
v=1はドロップアウトされた特徴を示す。前述した数式(6)及び数式(13)が合算された第1部分損失L
Tは、下記の数式(14)のように示す。
【数14】
同様に、電子装置は、2以上の入力データのいずれか1つの入力データから第2ニューラルネットワークモデルに基づいて抽出されたビューデータ及びコード値にさらに基づいて第2部分損失L
Sを算出する。例えば、電子装置は、学生モデルg
ηに対しても前述した数式(9)及び
L
mv(w
~,w^)を合算することで、第2部分損失L
Sを算出することができる。L
mv(w
~,w^)は、前述した数式(13)と同様に算出される。
【0078】
一実施形態に係る電子装置は、敵対的損失を適用して、教師モデルfθと学生モデルgηの特徴分布の差を低減することができる。
【0079】
ドメイン分類器Dは、2の出力の大きさを有するMLP(multi-layer perceptron)を含んでもよい。電子装置は、教師モデルf
θから出力されたデータに対して0、学生モデルg
ηから出力されたデータに対して1の特徴ラベル、及びドメイン分類器の出力のソフトマックス確率間の交差エントロピー損失を下記の数式(15)及び数式(16)のように算出することができる。
【数15】
【数16】
前述した数式(15)のd
(k)
S,niは、前述した数式(16)において第1畳み込みデータz
niの代わりに、第2畳み込みデータw
niを用いて算出され得る。例えば、電子装置は、第1畳み込みデータ及び第2畳み込みデータから傾斜リバースレイヤ(GR layer、Gradient Reversal layer)353を用いて、第3部分損失を算出することができる。教師モデルf
θの第1ビュー生成モデル及び学生モデルg
ηの第2ビュー生成モデルの最後のレイヤは、ドメイン分類器に傾斜リバースレイヤ353を介して連結される。傾斜リバースレイヤ353は、逆伝播トレーニングの間に特定の負の定数(negative constant)によって傾斜をスケーリングする。
【0080】
一実施形態に係る電子装置は、前述した第1部分損失LT、第2部分損失LS、及び第3部分損失LDに基づいて、教師モデルfθ、学生モデルgη、及び残りのレイヤのパラメータをアップデートすることができる。したがって、電子装置は、小規模ネットワークのビジュアル特徴をオンラインで効率よく学習するために、真の値(ground truth)ラベルにアクセスする必要がない場合もある。上述したように、電子装置は、オンザフライ自己教師あり学習のプロセスに知識の蒸留動作を統合することができる。
【0081】
図4は、一実施形態に係るプロジェクションモデルを説明する図である。
図5は、一実施形態に係るドロップモデルを説明する図である。
【0082】
一実施形態によれば、電子装置は、第1バックボーン特徴データから第1プロジェクションモデルを用いてプロジェクションされた第1畳み込みデータを算出する。電子装置は、第1バックボーン特徴データから少なくとも1つのドロップアウトレイヤを含む第1ドロップモデル(drop model)を用いてプロジェクションされた第1ビューデータを算出する。電子装置は、第2バックボーン特徴データから第2プロジェクションモデルを用いてプロジェクションされた第2畳み込みデータを算出する。電子装置は、第2バックボーン特徴データから少なくとも1つのドロップアウトレイヤを含む第2ドロップモデルを用いて、プロジェクションされた第2ビューデータを算出する。
図4は、第1プロジェクションモデル及び第2プロジェクションモデルを説明し、
図5は、第1ドロップモデル及び第2ドロップモデルを説明する。
【0083】
例えば、電子装置は、各ニューラルネットワークモデル(例えば、教師モデル及び学生モデル)から出力されたバックボーン特徴データにプロジェクションモデル430hを適用して畳み込みデータを算出してもよい。プロジェクションモデル430hは、完全接続レイヤ(fully connected layer)、畳み込みレイヤ(convolution layer)、活性化レイヤ(activation layer)、及び正規化レイヤ(normalization layer)などの組み合わせを含んでもよい。
図4に示された例示において、プロジェクションモデル430hは、線型レイヤ(linear layer)431、BN(batch normalization)レイヤ433、ReLU(Rectified Linear Unit)レイヤ434、線型レイヤ435、及び正規化レイヤ437を含んでもよい。但し、これは単なる例示であって、プロジェクションモデル430hの構成は、示しているものに限定されることはない。
【0084】
一実施形態に係る電子装置は、各ニューラルネットワークモデルから出力されたバックボーン特徴データにドロップモデル530h
dropを適用することでビューデータを算出することができる。ビューデータは、プロジェクションされた畳み込みデータとは異なるビューのデータを示す。ドロップモデル530h
dropは、前述したプロジェクションモデル430hにドロップアウトレイヤ532をさらに含むモデルであってもよい。例えば、電子装置は、第1畳み込みデータに線型レイヤ431,435を適用した後、ドロップアウトレイヤ532,536を適用する。電子装置は、第2畳み込みデータに線型レイヤ431,435を適用した後、ドロップアウトレイヤ532,536を適用する。
図5では、ドロップモデル530h
dropが活性化レイヤであるReLUレイヤ434に先行するドロップアウトレイヤ532、及びReLUレイヤ434に後行するドロップアウトレイヤ536を含むものとして示されているが、これに限定されることはない。ドロップアウトレイヤ532,536によって様々なビューに関するデータが生成され得る。
【0085】
図6は、他の一実施形態に係る複数のニューラルネットワークモデルのトレーニング動作を説明する。
【0086】
一実施形態に係るトレーニングシステム600は、n個のニューラルネットワークモデル221,222,629を含む。トレーニングシステム600は、各ニューラルネットワークモデルに接続されるビュー生成モデル231,232,639を含んでもよい。
図6において、第2ニューラルネットワークモデル222が学生モデル、残りの第1ニューラルネットワークモデル221、第3ニューラルネットワークモデルないし第nニューラルネットワークモデル629は教師モデルであってもよい。但し、これに限定されることはなく、ニューラルネットワークモデルそれぞれのパラメータ数がそれぞれ異なってもよい。
【0087】
クラスタリング部640は、ビュー生成モデル231,232,639のそれぞれから出力される畳み込みデータをクラスタリングすることができる。交差損失算出部650は、前述した数式(14)と同様に交差損失を算出することができる。数式(14)において、交差損失を算出するために使用されるコード値は、次のように決定される。例えば、交差損失算出部650は、第1ニューラルネットワークモデル及び第2ニューラルネットワークモデルを含む複数のニューラルネットワークモデルのうち、最も高い認識性能を有するモデルによって出力された畳み込みデータが属しているクラスタを指示するコード値、各モデルによって出力された畳み込みデータごとのコード値、及びクラスタリング損失の最も小さいモデルによって出力された畳み込みデータが属しているクラスタを指示するコード値のうちの1つを決定することができる。交差損失算出部650は、決定されたコード値と畳み込みデータとの間の交差損失を算出し、逆伝播トレーニングに使用してもよい。
【0088】
区別損失算出部660は、n個のニューラルネットワークモデルのうち、いずれか1つのニューラルネットワークモデルから出力された畳み込みデータと他のニューラルネットワークモデルから出力された畳み込みデータとの間の敵対的な損失を数式(15)と同様に算出することができる。したがって、区別損失算出部660は、n個のニューラルネットワークモデルの畳み込み空間の特徴分布に類似するように、トレーニングを行うことができる。
【0089】
トレーニングシステムは、n個のニューラルネットワークモデルをアンサンブルさせることで、学生モデルである第2ニューラルネットワークモデル222が、より様々なビューのデータを学習することができる。
【0090】
図7は、更なる一実施形態に係る異種センサを用いて収集されたデータを用いたトレーニング動作を説明する。
【0091】
一実施形態に係る電子装置は、複数のセンサのいずれか1つのセンサを用いて場面をキャプチャーすることで、2以上の入力データのいずれか1つの入力データを生成することができる。電子装置は、複数のセンサのうち、異なるタイプのセンサを用いて同じ場面をキャプチャーすることで、2以上の入力データのうち異なる入力データを生成することができる。例えば、
図7に示されているトレーニングシステム700において、電子装置は、第1センサ701及び第2センサ702を含んでもよい。第1センサ701はカメラセンサ、第2センサ702はライダーセンサである例示を説明しているが、これに限定されることはない。第1センサ701及び第2センサ702は、画像センサ、カメラセンサ、ライダーセンサ、レーダーセンサ、及び赤外線センサのうち互いに異なるセンサであってもよい。
【0092】
例えば、トレーニングシステム700は、カメライメージとライダーイメージにニューラルネットワークモデルをトレーニングさせる場合、同じ時間に同じ場面をキャプチャーすることで生成されたカメライメージとライダーイメージをそれぞれ第1ニューラルネットワークモデル221及び第2ニューラルネットワークモデル222に入力することができる。トレーニングシステム700は、カメライメージから生成された第1入力データ211を第1ニューラルネットワークモデル221に入力する。トレーニングシステム700は、ライダーイメージから生成された第m入力データ212を第2ニューラルネットワークモデル222に入力してもよい。ここで、mは、2であってもよい。
【0093】
トレーニングシステム700は、カメライメージに対してサイズ変形、カラー歪み、及びランダムクロップなどを適用することで、様々なビューに対する第1入力データ211を生成することができる。
【0094】
トレーニングシステム700は、ライダーセンサによって取得されたライダーイメージであるオリジナルデータから検出ポイント増強及び反射値調整のうちの1つ又は2以上の組み合わせを含むデータ増強に基づいて、2以上の第m入力データ212を生成することができる。
【0095】
第1ニューラルネットワークモデル221は、入力イメージから特徴ベクトルを抽出可能に設計されたモデルであって、例えば、ResNet、MobileNet、及びRegNetなどであってもよい。第2ニューラルネットワークモデル222は、ライダーイメージであるポイントグレイシーケンスデータを処理可能に設計されたモデルであって、例えば、PointNet及びLSTM(Long Short-Term Memory models)などであってもよい。残りの動作については、
図2及び
図3を参照して前述したものと同様であるか類似する。
【0096】
図8は、更なる一実施形態に係るターゲットハードウェアに対応したトレーニング動作を説明する。
【0097】
一実施形態に係る、トレーニングシステム800は、データ変換部820及びビュー変換部839をさらに含む。例えば、データ変換部820は、2以上の入力データをターゲットハードウェアによって定義されるフォーマットに基づいて変換し得る。
【0098】
例示的に、ビューデータの生成、教師モデルの学習、クラスタリング、損失の算出を通したトレーニングは、サーバ及び/又はパソコン(personal computer)で実行され、実際の推論動作のための第2ニューラルネットワークモデル822は、より低い性能の電子装置(例えば、モバイル端末)のように実現され得る。異なる例として、互いに異なるコンピューティング環境をターゲットにする複数のニューラルネットワークモデルが共にトレーニングされてもよい。前述した様々なハードウェア環境に対するニューラルネットワークモデルのトレーニングのために、ターゲットハードウェアのためのデータ変換が求められる。
【0099】
データ変換部820は、第1入力データ211ないし第m入力データ212をターゲットハードウェアの演算基礎データ形式(例えば、フローティングポイント形式、及びビット数など)に合わせて変換してもよい。データ変換部820は、変換されたデータを第2ニューラルネットワークモデル822に入力する。ビュー変換部839は、第2ビュー生成モデル832から出力される畳み込みデータ及びビューデータをトレーニングシステム800の演算基礎データ形式に合わせて変換し、クラスタリング部240及び損失算出に提供することができる。また、データ変換部820及びビュー変換部839は、ターゲットハードウェアの特別なセンサ特徴(例えば、色空間の差、ベイヤーパターン映像など)に基づいて、ターゲットハードウェアの特徴に合わせてデータを変換してトレーニングに使用してもよい。
【0100】
図9は、一実施形態によりトレーニングが完了されたモデルを用いた推論結果の生成を説明する。
【0101】
一実施形態に係る電子装置は、トレーニングが完了されたニューラルネットワークモデルを用いて推論動作を行うことができる。例えば、電子装置は、トレーニングが完了された第2ニューラルネットワークモデル920に基づいて検出データ901から抽出される畳み込みデータを用いて、検出データ901に対する目標作業の推論結果909(inference result)を生成する。電子装置は、第2ニューラルネットワークモデル920から抽出された畳み込みデータを出力レイヤ929に伝播して、推論結果909を生成することができる。出力レイヤ929は、目標作業のための推論結果909を出力するために、設計及び追加トレーニングされたパラメータを有するレイヤであってもよい。
【0102】
検出データ901は、センサによって収集されたデータとして、例えば、イメージデータであってもよく、第2ニューラルネットワークモデル920に入力されてもよい。目標作業は、オブジェクト検出(object detection)、オブジェクト分類(object classification)、深度推定(depth estimation)、オブジェクト認識(object recognition)、身元検証(identity verification)、イメージ検出、及びイメージ分割などを含んでもよい。但し、これに限定されることなく、自律走行又はADAS(Advanced Driver Assistance Systems)に関する作業、IoT(Internet of Things)機器に関する作業、携帯電話に関する作業、及びTVに関する作業も含んでもよい。
【0103】
電子装置は、第2ニューラルネットワークモデル920を格納した電子装置の動作を推論結果909に基づいて制御し得る。例えば、電子装置が車両に搭載されている場合、電子装置は、オブジェクト検出結果に基づいて車両とオブジェクトとの間の距離を推定し、車両とオブジェクトとの間の距離に応じて車両の速度、加速度、及びステアリング(steering)のうち少なくとも1つ又は2以上の組み合わせを変更してもよい。異なる例として、電子装置がモバイル端末として実現される場合、電子装置は、身元検証結果に応じて予め登録されているユーザであると検証された場合、電子装置のロック状態をアンロックして解除することができる。但し、電子装置の動作制御を前述したように限定せず、電子装置は、推論結果909に応じて電子装置によりアクセス可能な様々な素子、モジュール、回路、及び/又は、機能を制御することができる。
【0104】
図1~
図8を参照して前述したように、トレーニングされた第2ニューラルネットワークモデルは、様々な性能、例えば、正確度、精密度、再現、平均精密度、平均再現、及び和集合に対する平均交差点などの向上を示す。
【0105】
図10A~
図10Dは、一実施形態によりトレーニングされたニューラルネットワークモデルの区別力を説明する。
【0106】
図10Aは、大型モデルの単独トレーニング時に特徴ベクトルの分布1000aを示し、
図10Bは、小型モデルの単独トレーニング時に特徴ベクトルの分布1000bを示し、
図10Cは、一実施形態に係る教師モデルの特徴ベクトルの分布1000cを示し、
図10Dは、一実施形態に係る学生モデルの特徴ベクトルの分布1000dを示す。
【0107】
図10C及び
図10Dは、
図10Bよりも特徴ベクトルがワイドに分布しており、他のクラスに対してもっと区別力のある特徴を保持(contain)している。また、
図10Dに示されている学生モデルの特徴ベクトルの分布1000dが、教師モデルの特徴ベクトルの分布1000cに類似しており、知識の蒸留によって学生モデルが教師モデルに類似した程度の正確度を有することができる。
【0108】
図11は、一実施形態によりトレーニングされたニューラルネットワークモデルの正確度を説明する。
【表1】
上記の表1は、トレーニング方式ごとのResNet-18モデルのTop-1正確度(%)として、
図11に示すグラフ1100のように図示される。
図11に示されたグラフ1100のように一実施形態に係る学生モデル(例えば、OSS)は、全てのエポック(epoch)にわたって優れた正確度を示す。一実施形態に係るトレーニングは、概念的に簡単でありながらシングル8個のGPUマシーン上で典型的な256バッチトレーニングでも相当な認識性能を示すことができる。
【0109】
一実施形態に係るトレーニング装置は、自己教師あり学習(Self-supervised learning)を介してラベルのないデータからデータの特徴ベクトル又は特徴マップを抽出する複数のニューラルネットワークモデルを同時にトレーニングさせ、各ニューラルネットワークに有意味で豊かな表現(rich representation)をトレーニングすることができる。また、一実施形態に係るトレーニング装置は、単一のネットワークモデル学習時よりも区別力がある特徴ベクトルを出力するよう、ニューラルネットワークモデルをトレーニングさせることができる。トレーニング装置は、より少ないコンピューティングリソースを有して小さいサイズのニューラルネットワークモデルで高性能の認識正確度を示す特徴ベクトルを抽出することができる。
【0110】
図12は、一実施形態に係る電子装置の構成を示すブロック図である。
【0111】
一実施形態に係るニューラルネットワークトレーニング装置(例えば、電子装置)1200は、プロセッサ1210及びメモリ1220を含む。
【0112】
プロセッサ1210は、同じ場面に対する2以上の入力データを第1ニューラルネットワークモデルに個別的に適用し、各入力データに対応する第1バックボーン特徴データを算出する。プロセッサ1210は、2以上の入力データを第2ニューラルネットワークモデルに個別的に適用して各入力データに対応する第2バックボーン特徴データを算出する。プロセッサ1210は、第1バックボーン特徴データから、プロジェクションに基づいた第1畳み込みデータ及びドロップアウトに基づいた第1ビューデータを算出する。プロセッサ1210は、第2バックボーン特徴データから、プロジェクションに基づいた第2畳み込みデータ及びドロップアウトに基づいた第2ビューデータを算出する。プロセッサ1210は、第1畳み込みデータ、第1ビューデータ、第2畳み込みデータ、第2ビューデータ、及び第1畳み込みデータが属しているクラスタを指示するコード値のうち、2以上の組み合わせに基づいて算出された損失に基づいて、第1ニューラルネットワークモデル及び第2ニューラルネットワークモデルのうち少なくとも1つをトレーニングさせることができる。但し、プロセッサ1210の動作は、これに限定されることなく、
図1~
図11を参照して前述した動作も行うことができる。
【0113】
メモリ1220は、第1ニューラルネットワーク及び第2ニューラルネットワークを格納する。また、メモリ1220は、一実施形態に係るトレーニングを行うために要求されるデータを一時的及び/又は永久的に格納してもよい。メモリ1220は、トレーニングが完了する前に臨時ニューラルネットワークモデルを格納することができ、トレーニングの完了されたニューラルネットワークモデルを格納することができる。
【0114】
以上で説明した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又は、ハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及び前記オペレーティングシステム上で行われる1つ以上のソフトウェアアプリケーションを行うことができる。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成することもできる。理解の利便のために、処理装置は、1つが使用されるものと説明される場合もあるが、当該技術分野において通常の知識を有する者であれば、処理装置が複数の処理要素(processing element)及び/又は複数のタイプの処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサ又は一つのプロセッサ及び一つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
【0115】
ソフトウェアは、コンピュータプログラム、コード、命令、又は、そのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成し、または、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈され、または、処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は、送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納され、または、実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
【0116】
実施形態に係る方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク、及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及び、ROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって行われる高級言語コードを含む。
【0117】
上記で説明したハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0118】
上述したように、実施形態を限定された図面によって説明してきたが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて、様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で行われてよく、及び/又は、説明されたシステム、構造、装置、回路などの構成要素が説明された方法とは異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0119】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0120】
200、300 トレーニングシステム
430 プロジェクションモデル
530 ドロップモデル
600、700、800 トレーニングシステム
1000 特徴ベクトルの分布
1200 ニューラルネットワークトレーニング装置