(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおけるデータ拡張
(51)【国際特許分類】
G06N 3/086 20230101AFI20240220BHJP
G06T 7/00 20170101ALI20240220BHJP
【FI】
G06N3/086
G06T7/00 350D
(21)【出願番号】P 2020054091
(22)【出願日】2020-03-25
【審査請求日】2022-12-08
(32)【優先日】2019-05-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】サハ・リポン
(72)【発明者】
【氏名】ガオ・シアン
(72)【発明者】
【氏名】プラサド・ムクル
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2017-126260(JP,A)
【文献】国際公開第2018/173257(WO,A1)
【文献】国際公開第2017/154284(WO,A1)
【文献】石渕 久生、外2名,“パターン選択と特徴選択における適応度関数”,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,2001年03月01日,Vol.J84-D-II, No.3,pp.608-612
【文献】三島 剛、外4名,“リアルタイムニュース字幕修正作業のための音声認識誤り自動検出法”,映像情報メディア学会誌,日本,(社)映像情報メディア学会,2003年12月01日,Vol.57, No.12,pp.87-94
【文献】前田 浩志、外2名,“道路標識抽出におけるネットワーク構造フィルタ自動設計手法の有効性の基礎検討”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2010年03月08日,Vol.109, No.470,pp.383-388
【文献】岩田 彩、外5名,“近代書籍用OCRのための学習用特定フォントセットの自動生成手法”,情報処理学会研究報告,日本,情報処理学会,2015年09月22日,Vol.2015-MPS-105, No10,PP.1-6
【文献】Xuchen Song et al.,"A handwritten Chinese characters recognition method based on sample set expansion and CNN",2016 3rd International Conference on Systems and Informatics (ICSAI),米国,IEEE,2016年11月19日,pp.843-849
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/086,20/00
G06T 1/00,7/00-7/90
G06V 10/00-10/98
(57)【特許請求の範囲】
【請求項1】
コンピュータが実行する方法であって、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することであり、該第1動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記DNNに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第1動作の組を実行することと、
前記再選択されたシード点に基づ
き前記第1動作の組を繰り返し実行することによって、前記第1データ点に対する訓練されたDNNを取得することと
を有する方法。
【請求項2】
前記DNNを訓練するため
に前記第1動作の組の実行を繰り返すエポック数は、予め定義される、
請求項1に記載の方法。
【請求項3】
前記選択されたシードデータ点に対する前記遺伝モデルの適用は、
前記データ点の母集団の中の前記複数の変換されたデータ点を生成するための第2動作の組を実行することであり、該第2動作の組を実行することは、
ランダム関数を実行して乱数を生成することと、
前記生成された乱数に基づき変異遺伝演算又は交叉遺伝演算のうちの一方を実行することと
を有する、前記第2動作の組を実行することと、
前記データ点の母集団の予め定義されたサイズについて前記第2動作の組を繰り返し実行することに基づき、前記選択されたシードデータ点の前記複数の変換されたデータ点を生成することと
を更に有する、
請求項1に記載の方法。
【請求項4】
前記変異遺伝演算の実行は、
前記選択されたシードデータ点の複数の実際的なバリエーションに関連した変換ベクトルを生成し、該変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記選択されたシードデータ点に対して前記生成された変換ベクトルを適用することと、
前記選択されたシードデータ点に対する前記適用された変換ベクトルに基づき、変換されたデータ点を生成することと、
予め定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
請求項3に記載の方法。
【請求項5】
前記複数の実際的なバリエーションに関連した前記変換ベクトルは、
前記第1動作の組の各実行のたびにランダムに生成される、
請求項4に記載の方法。
【請求項6】
前記交叉遺伝演算の実行は、
前記第1データ点に関して前記選択されたシードデータ点の複数の実際的なバリエーションに関連した第1変換ベクトルを取り出し、該第1変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記第1動作の組の前の実行により生成された
前記データ点の母集団の中で第2の最良適合データ点を決定することと、
前記決定された第2の最良適合データ点の前記複数の実際的なバリエーションに関連した第2変換ベクトルを取り出し、該第2変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された前記範囲内にある、ことと、
前記第1変換ベクトルからの第1組の変換値と、前記第2変換ベクトルからの第2組の変換値とを選択して、変換ベクトルを構成することと、
前記選択されたシードデータ点に対して前記構成された変換ベクトルを適用して、変換されたデータ点を生成することと、
前もって定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
請求項3に記載の方法。
【請求項7】
前記選択された第1組の変換値の第1の数と、前記選択された第2組の変換値の第2の数とは、前記変換ベクトルを構成するように同じである、
請求項6に記載の方法。
【請求項8】
前記選択された第1組の変換値の第1の数と、前記選択された第2組の変換値の第2の数とは、前記変換ベクトルを構成するように異なる、
請求項6に記載の方法。
【請求項9】
前記複数のデータ点は、画像データ、オーディオデータ、又はテキストデータの中の1つに対応する、
請求項1に記載の方法。
【請求項10】
前記リアルタイムアプリケーションは、画像分類、音声認識、テキスト認識の中の1つを有する、
請求項1に記載の方法。
【請求項11】
前記画像分類としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、回転バリエーション、水平移動バリエーション、垂直移動バリエーション、剪断バリエーション、ズームバリエーション、輝度バリエーション、コントラストバリエーション、フリップバリエーション、シャープネスバリエーション、又は色バリエーションの中の1つを有する、
請求項10に記載の方法。
【請求項12】
前記音声認識としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、発話速度バリエーション、ラウドネスバリエーション、周囲雑音タイプバリエーション、テンポバリエーション、ピッチバリエーション、トーンバリエーション、抑揚バリエーション、声質バリエーション、音声バリエーション、又は発音バリエーションの中の1つを有する、
請求項10に記載の方法。
【請求項13】
前記テキスト認識として前記リアルタイムアプリケーションの複数の実際的なバリエーションは、フォントサイズバリエーション、フォントタイプバリエーション、回転バリエーション、フォント色バリエーション、背景色バリエーション、又はテクスチャバリエーションの中の1つを有する、
請求項10に記載の方法。
【請求項14】
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中で最も不可逆のデータ点を決定することと、
前記決定された最も不可逆のデータ点に基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
請求項1に記載の方法。
【請求項15】
前記生成されたデータ点の母集団の中の各データ点について前記DNNの出力確率値を計算することと、
前記生成されたデータ点の母集団の中の各データ点についての前記計算された出力確率値に基づき、前記生成された
データ点の母集団の中で前記最も不可逆のデータ点を決定することと
を更に有する請求項14に記載の方法。
【請求項16】
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中の各データ点について前記DNNの構造的ニューラルネットワークカバレッジを決定することと、
前記生成されたデータ点の母集団の中の各データ点についての前記決定された構造的ニューラルネットワークカバレッジに基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
請求項1に記載の方法。
【請求項17】
前記訓練動作の実行は、
前記生成されたデータ点の母集団の中の前記決定された最良適合データ点を前記DNNに対して適用して該DNNの実出力を生成することと、
前記DNNに対する前記適用された最良適合データ点に基づく前記DNNの前記実出力と期待される出力との間の誤差値を計算することと、
前記計算された誤差値に基づき、前記DNNの複数のレイヤの各ニューロンについて割り当てられた複数の重みを更新することと
を更に有する、
請求項1に記載の方法。
【請求項18】
実行されることに応答して、システムに、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することであり、該第1動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記DNNに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第1動作の組を実行することと、
前記再選択されたシード点に基づ
き前記第1動作の組を繰り返し実行することによって、前記第1データ点に対する訓練されたDNNを取得することと
を有する動作を実行させる命令を記憶するよう構成された1つ以上の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記DNNを訓練するため
に前記第1動作の組の実行を繰り返すエポック数は、予め定義される、
請求項18に記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
【請求項20】
ディープニューラルネットワーク(DNN)と、
前記DNNと結合されたプロセッサと
を有し、
前記プロセッサは、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することであり、該第1動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記DNNの訓練動作のために該DNNへ前記決定された最良適合データ点を供給することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第1動作の組を実行することと、
前記再選択されたシード点に基づ
き前記第1動作の組を繰り返し実行して、前記第1データ点に対する訓練されたDNNを取得することと
を実行するよう構成される、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示で議論される実施形態は、遺伝モデルに基づきディープニューラルネットワーク(Deep Neural Network,DNN)を訓練することにおけるデータ拡張(data augmentation)に関する。
【背景技術】
【0002】
ニューラルネットワークの分野における近年の進歩は、ディープニューラルネットワーク(DNN)を訓練するための様々な技術の開発をもたらしてきた。訓練されたDNNは、様々な分類タスクのために種々の用途で利用され得る。例えば、訓練されたDNNは、異なるデータ点(すなわち、画像)を分類又は検出するために使用されることがある。通常、分類又は検出タスクの精度を高めるために、DNNは、異なるデータ点及び各データ点に関連した様々な実際的なバリエーション(例えば、回転、スケーリング、ズーム、など)により拡張及び訓練される必要がある。ある従来システムでは、システムは、データ点の限られた数のランダムバリエーションにより訓練された。このことは、全ての起こり得るバリエーションについて分類タスクを実行するそれらの精度に影響を及ぼした。他の従来システムでは、全ての起こり得るバリエーションについての訓練が実行されたが、かような状況での訓練時間は、訓練データセットのサイズの実質的増大により大幅に増えた。訓練時間制約は更に、システム又は開発者が多くのバリエーションを適用することを制限する。よって、DNNが効率的に訓練され得るようにデータ拡張のための多数の実際的なバリエーションを供給可能であるとともに、様々な分類又は検出適用のための精度を改善可能である進化したシステムが望まれ得る。
【0003】
本開示で請求される対象は、上述されたような環境でしか動作しない実施形態又は上述されたようなあらゆる欠点を解消する実施形態に制限されない。むしろ、この背景は、本開示で記載されるいくつかの実施形態が実施され得る技術分野の一例を説明するためにのみ設けられている。
【発明の概要】
【0004】
実施形態の一態様によれば、動作は、リアルタイムアプリケーションに関連し得る複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することを含んでよい。動作は、リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することを更に含んでよい。第1動作の組の実行は、選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成することを含んでよい。データ点の母集団は、選択されたシードデータ点と、選択されたシードデータ点の複数の変換されたデータ点とを含んでよい。第1動作の組の実行は、生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、生成されたデータ点の母集団の中で最良適合データ点を決定することを更に含んでよい。第1動作の組の実行は、決定された最良適合データ点に基づきDNNに対して訓練動作を実行することと、決定された最良適合データ点をシードデータ点として再選択することとを更に含んでよい。動作は、再選択されたシード点に基づき複数のエポックについて第1動作の組を繰り返し実行することによって、訓練されたDNNを取得することを更に含んでよい。
【0005】
実施形態の目的及び利点は、少なくとも、特許請求の範囲で特に指し示されている要素、特徴、及び組み合わせによって、実現及び達成される。
【0006】
上記の概要及び下記の詳細な説明はいずれも、例として与えられており、請求される発明を説明するためのものであって、限定するものではない。
【0007】
添付の図面を使用して、更なる特定及び詳細をもって、例となる実施形態が記載及び説明される。
【図面の簡単な説明】
【0008】
【
図1】遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおけるデータ拡張に関連した環境の例を表す図である。
【
図2】遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおけるデータ拡張のためのシステムの例のブロック図である。
【
図3】遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおけるデータ拡張のための方法の例のフローチャートである。
【
図4】遺伝モデルに基づき生成された変換されたデータ点を表すシナリオを例示する。
【
図5A】遺伝モデルの変異遺伝演算及び交叉遺伝演算に基づきデータ点の母集団を生成する方法の例のフローチャートを表す。
【
図5B】遺伝モデルの変異遺伝演算及び交叉遺伝演算に基づきデータ点の母集団を生成する方法の例のフローチャートを表す。
【
図6】ディープニューラルネットワーク(DNN)の訓練動作を実行する方法の例のフローチャートである。
【0009】
全ての図は、本開示で記載される少なくとも1つの実施形態に従う。
【発明を実施するための形態】
【0010】
本開示で記載されるいくつかの実施形態は、遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおける有効なデータ拡張のための方法及びシステムに関係がある。本開示における遺伝モデル(genetic model)は、一連のエポック(epochs)にわたる訓練データの実際的且つ最適なバリエーション(すなわち、最良適合バリエーション)の識別を達成する。訓練データのこのような実際的且つ最適なバリエーションは、DNNを効率的に訓練するための一連のエポックにおける訓練データにより再び拡張される。本開示では、遺伝モデルに基づく訓練データの実際的なバリエーションの識別は、DNNの効率的な訓練時間を達成し、更には、様々な分類タスクのための訓練されたDNNの正確さを改善する。
【0011】
本開示の1つ以上の実施形態に従って、ディープラーニングの技術分野は、コンピューティングシステムが、ディープニューラルネットワーク(DNN)を訓練するための遺伝モデルに基づき有効なデータ拡張を達成することができるように、コンピューティングシステムを構成することによって、改善され得る。遺伝モデルに基づいたデータ拡張は、訓練データセットの適切且つ最適なバリエーションの識別を提供し得る。これに基づき、訓練されたDNNは、従来のDNNに基づいた分類システムと比較して、改善された精度での分類を提供する。
【0012】
システムは、DNNを訓練するための訓練データ点を受け取るよう構成されてよい。訓練データ点の例には、制限なしに、画像データ、スピーチデータ、オーディオデータ、テキストデータ、又は他の形態のデジタル信号がある。システムは、DNNを訓練する特定のエポックについて、受け取られた訓練データ点に対する遺伝モデルの適用に基づき、データ点の母集団を生成するよう更に構成されてよい。データ点の母集団は、遺伝学的に生成された(すなわち、受け取られた訓練データ点の)異なった実際的なバリエーションを含んでよい。例えば、画像データについての実際的なバリエーションには、制限なしに、回転、平行移動、剪断、ズーム、輝度、又はコントラストがある。種々のタイプのデータ点についての実際的なバリエーションの種々の例は、表1で言及される。
【0013】
その上、いくつかの実施形態で、システムは、母集団の中の生成された実際的なバリエーションから最良の又は最適なバリエーションを決定し、特定のエポックにおいて、決定された最良のバリエーションに対してDNNの訓練を制御するよう更に構成されてよい。システムは、決定された最良バリエーションを、DNNの訓練の次のエポックのための新たな訓練データ点として選択するよう更に構成されてよい。このようにして、元の訓練データ点は、次に続くエポックにおいてDNNを訓練するためのその遺伝的突然変異体により置換される。
【0014】
システムは、新しい訓練データ点(すなわち、DNNを訓練する最後のエポックで決定された訓練データの最良のバリエーション)に対する遺伝モデルの適用に基づき、データ点の新しい母集団を決定するよう更に構成されてよい。同様に、システムは、各エポックにおいてDNNを訓練するために、新たに生成された母集団から最良のバリエーションを決定し、決定された最良のバリエーションを(遺伝的突然変異体として)考慮して、次のエポックにおける他の母集団を生成するよう更に構成されてよい。システムは、訓練データ点の遺伝学的に生成された最良のバリエーションに基づくDNNの訓練において、予め定義された数のエポックについて、上記の動作を実行するよう構成されてよい。このようにして、各エポックにおける最良の、実際的な、及び/又は最適なバリエーションを遺伝学的に生成し、生成された最良のバリエーションを、DNNを訓練し、更には、次のエポックにおける母集団(又は最良のバリエーション)を生成するために使用することに基づき、開示されるシステムは、データ分類の精度が改善されたDNNのよりロバストな訓練を提供する。更に、最良の且つ実際的なバリエーションに基づきDNNを訓練するための予めのエポックにより、開示されるシステムの訓練時間も、実質的に制御される。
【0015】
添付の図面を参照して、本開示の実施形態を説明する。
【0016】
図1は、本開示で記載される少なくとも1つの実施形態に従って配置される、遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおけるデータ拡張に関連した環境の例を表す図である。
図1を参照して、環境100が示されている。環境100は、電子デバイス102を含んでよい。電子デバイス102は、遺伝モデル104を含んでよく、遺伝モデル104は更に、母集団生成部106及び適合性評価部108を含む。電子デバイス102は、ディープニューラルネットワーク(DNN)110を更に含んでよい。環境100は、データベース112、ユーザエンドデバイス114、及び通信ネットワーク116を更に含んでよい。電子デバイス102、データベース112、及びユーザエンドデバイス114は、通信ネットワーク116を介して互いに通信上結合されてよい。
【0017】
電子デバイス102の例には、制限なしに、モバイルデバイス、デスクトップコンピュータ、ラップトップ、コンピュータワークステーション、訓練デバイス、コンピューティングデバイス、メインフレームマシン、クラウドサーバのようなサーバ、及び一群のサーバがある。1つ以上の実施形態で、電子デバイス102は、ユーザエンド端末デバイスと、ユーザエンド端末デバイスへ通信上結合されたサーバとを含んでよい。ユーザエンド端末デバイスの例には、制限なしに、モバイルデバイス、デスクトップコンピュータ、ラップトップ、及びコンピュータワークステーションがある。
【0018】
電子デバイス102は、ディープニューラルネットワーク(DNN)を訓練するための遺伝モデルに基づくデータ拡張のための1つ以上の動作を実行するよう構成され得る適切なロジック、回路構成、及びインターフェイスを有してよい。電子デバイス102は、プロセッサ、(例えば、1つ以上の動作を実行する又はその実行を制御する)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアにより実装されてよい。いくつかの他の事例では、電子デバイス102は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【0019】
1つ以上の実施形態で、電子デバイス102は、DNN110を訓練するための訓練データセットを受け取るよう構成されてよい。電子デバイス102は、訓練データセットをデータベース112から通信ネットワーク116を介して受け取るよう構成されてよい。いくつかの実施形態で、電子デバイス102は、電子デバイス102のメモリ(
図1に図示せず。)に訓練データセットを記憶するよう構成されてよい。訓練データセットは、複数のデータ点を含んでよい。データ点の夫々は、制限なしに、画像データ、オーディオデータ、スピーチデータ、又はテキストデータに対応してよい。訓練データセットは、制限なしに、特定の分類タスクを実行し得るリアルタイムアプリケーションと対応してよい。リアルタイムアプリケーションの例には、制限なしに、画像認識又は分類、音声認識、テキスト認識、マルウェア検出、異常検出、機械翻訳、制限なしに生体電気信号、動きデータ、及び深さデータのような種々のデジタル信号からのパターン認識がある。
【0020】
電子デバイス102は、訓練されたDNN110が分類タスクを正確に実行し得るように、訓練データによりDNN110を訓練するよう構成されてよい。例えば、電子デバイス102は、(訓練データセットとしての)種々の画像と、各画像の種々のバリエーションとによりDNN110を訓練してよく、それにより、訓練されたDNN110は、各入力画像又はそのバリエーションを正確に分類又は検出し得る。
【0021】
かような及び他の実施形態で、電子デバイス102は、予め定義された数のエポックについてDNN110を訓練するよう構成されてよい。例えば、予め定義されたエポック数は、制限なしに、30又は50であってよい。電子デバイス102は、訓練データセット内の各データ点について、予め定義されたエポック数だけDNN110を訓練するよう構成されてよい。いくつかの実施形態で、予め定義されたエポック数は、データ点又はリアルタイムアプリケーションに依存してよい。
【0022】
電子デバイス102は、訓練データセット内の複数のデータ点からシードデータ点としてあるデータ点を選択するよう構成されてよい。電子デバイス102は、DNN110を訓練する特定のエポックにおいて、選択されたシードデータ点に対して遺伝モデルを適用することに基づいて、データ点の母集団を生成するように、母集団生成部106を制御するよう更に構成されてよい。生成された母集団は、選択されたシードデータ点と、(シードデータ点のバリエーションとしての)複数の変換されたデータ点とを含んでよい。例えば、画像データ点の場合に、変換されたデータ点は、制限なしに、回転された画像、平行移動された画像、ズームされた画像、又は剪断された画像を含んでよい。変換されたデータ点の夫々は、特定のバリエーションについて予め定義された変換値の範囲内にあってよい。変換されたデータ点の詳細は、例えば、
図3、
図4、及び
図5で、詳細に記載される。いくつかの実施形態で、電子デバイス102は、進化的アプローチに従ってデータ点の母集団を生成するように、遺伝モデル104を制御してよい。このとき、データ点の次の生成/母集団は、データ点の前の生成/母集団におけるデータ点の適合性に基づき選択される最良適合データ点から取得される。
【0023】
電子デバイス102は、データ点の母集団の中の各データ点について適合度関数を評価することに基づいて、生成されたデータ点の母集団の中で最良適合データ点を決定するように、遺伝モデル104の適合性評価部108を制御するよう更に構成されてよい。最良適合データ点は、生成されたデータ点の母集団の中で最適な又は最良の変換されたデータ点(又はバリエーション)であってよい。
【0024】
いくつかの実施形態で、電子デバイス102は、特定のエポックにおいて、決定された最良適合データ点について、DNN110の訓練を制御するよう更に構成されてよい。電子デバイス102は、決定された最良適合データ点(すなわち、現在のエポックにおいて決定されたシードデータ点の最適なバリエーション)を、DNN110を訓練する次のエポックのための新しいシードデータ点として再選択するよう更に構成されてよい。電子デバイス102は、訓練されたDNNを取得するために、予め定義された数のエポックについて、再選択されたシード点に基づきデータ点の母集団を遺伝学的に生成することと、母集団から最良適合データ点を決定することと、決定された最良適合データ点に基づきDNN110の訓練を制御することとを繰り返し実行してよい。訓練されたDNNは、訓練データセットの実際的なバリエーションに関連した最適な且つ最良適合の変換されたデータ点により訓練されることで、改善された精度でリアルタイムアプリケーションの分類又は検出タスクを実行し得る。
【0025】
遺伝モデル104は、入力されたシードデータ点に基づきデータ点の母集団を生成するように母集団生成部106を制御するよう構成され得る適切なロジック、回路構成、インターフェイス、及び/又はコードを有してよい。追加的に、又は代替的に、遺伝モデル104は、プロセッサ、(例えば、1つ以上の動作を実行する又はその実行を制御する)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアにより実装されてよい。いくつかの他の事例では、遺伝モデル104は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【0026】
遺伝モデル104は、制限なしに、変異(mutation)演算子又は交叉(crossover)演算子を含んでよい。母集団生成部106は、DNN110を訓練するための複数のエポックにおいて、シードデータ点に対する変異演算子又は交叉演算子の適用に基づいて、データ点の母集団を生成するよう構成され得る適切なロジック、回路構成、インターフェイス、及び/又はコードを有してよい。追加的に、又は代替的に、母集団生成部106は、プロセッサ、(例えば、1つ以上の動作を実行する又はその実行を制御する)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアにより実装されてよい。いくつかの他の事例では、母集団生成部106は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【0027】
いくつかの実施形態で、遺伝モデル104又は母集団生成部106は、様々なタイプのデータ点(例えば、画像、スピーチ、テキスト)についての種々の実際的なバリエーションの複数の予め定義された範囲の変換値を記憶するよう構成されてよい。遺伝モデル104又は母集団生成部106は、複数の変換されたデータ点を母集団として生成するように、実際的なバリエーションの対応する予め定義された範囲から変換値をランダムに選択するよう更に構成されてよい。予め定義された範囲及び母集団の遺伝的生成の詳細は、例えば、
図3乃至5で、詳細に記載され得る。
【0028】
適合性評価部108は、母集団生成部106によって生成されたデータ点の母集団の中で最良適合データ点(すなわち、最適な変換されたデータ点又はバリエーション)を決定するよう構成され得る適切なロジック、回路構成、インターフェイス、及び/又はコードを有してよい。追加的に、又は代替的に、適合性評価部108は、プロセッサ、(例えば、1つ以上の動作を実行する又はその実行を制御する)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアにより実装されてよい。いくつかの他の事例では、適合性評価部108は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【0029】
いくつかの実施形態で、適合性評価部108は、生成された母集団の中で最も不可逆のデータ点を最良適合データ点として決定するよう更に構成されてよい。他の実施形態では、適合性評価部108は、母集団生成部106によって生成されたデータ点の母集団の中で最良適合データ点を決定するために、DNN110において最良の構造的ニューラルネットワークカバレッジを有するデータ点を決定するよう構成されてもよい。最も不可逆のデータ点及び最良の構造的ニューラルネットワークカバレッジを決定することの詳細は、例えば、
図3で、詳細に記載される。
図1では、母集団生成部106及び適合性評価部108は分離されているが、いくつかの実施形態では、本開示の適用範囲からの逸脱なしに、母集団生成部106及び適合性評価部108は、遺伝モデル104内で単一のデバイスとして一体化されてもよい。
【0030】
ディープニューラルネットワーク(DNN)110は、特定のリアルタイムアプリケーションのための出力結果を生成するように、入力されたデータ点を分類又は認識するよう構成され得る適切なロジック、回路構成、インターフェイス、及び/又はコードを有してよい。例えば、訓練されたDNNは、入力された画像において種々のオブジェクトを認識することができ、入力された画像内のオブジェクトごとに一意のラベルを供給することができる。一意のラベルは、異なる生物(例えば、人間、動物、植物)又は無生物エンティティ(例えば、車両、建物、コンピュータ、本、など)に対応してよい。他の例では、音声認識のアプリケーションに関連した訓練されたDNN110は、オーディオサンプルのソース(発話者)を識別するように種々の入力オーディオサンプルを認識し得る。DNN110は、プロセッサ、(例えば、1つ以上の動作を実行する又はその実行を制御する)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアにより実装されてよい。いくつかの他の事例では、DNN110は、コード、プログラム、又はソフトウェア命令の組であってよい。DNN110は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【0031】
いくつかの実施形態で、DNN110は、入力されたデータ点の認識のための複数の認識レイヤ(図示せず。)に対応してよい。このとき、夫々の連続的なレイヤは、前のレイヤの出力を入力として使用してよい。各認識レイヤは、複数のニューロンに関連付けられてよく、複数のニューロンの夫々は、複数の重みに更に関連付けられてよい。訓練中、DNN110は、入力されたデータ点及びDNN110の出力結果(例えば、グラウンドトゥルース)に基づき重みを調整するよう構成されてよい。DNN110の例には、制限なしに、回帰型ニューラルネットワーク(Recurrent Neural Network,RNN)、人工ニューラルネットワーク(Artificial Neural Network,ANN)、畳み込みニューラルネットワーク(Convolutional Neural Network,CNN)、CNN-回帰型ニューラル(CNN-RNN)、R-CNN、Fast R-CNN、Faster R-CNN、長短期記憶(Long Short Term Memory,LSTM)ネットワークに基づくRNN、CNN+RNN、LSTM+ANN、ゲート付き回帰型ユニット(Gated Recurrent Unit,GRU)に基づくRNN、全結合(fully connected)ニューラルネットワーク、CTC(Connectionist Temporal Classification)に基づくRNN、ディープベイジアン(deep Bayesian)ニューラルネットワーク、敵対的生成ネットワーク(Generative Adversarial Network,GAN)、及び/又はそのようなネットワークの組み合わせがある。
【0032】
データベース112は、DNN110を訓練するために電子デバイス102によって使用される訓練データセットを記憶するよう構成され得る適切なロジック、インターフェイス、及び/又はコードを有してよい。データベース112は、訓練データセットを含むリレーショナルデータベース又は非リレーショナルデータベースであってよい。また、いくつかの場合に、データベース112は、クラウドサーバのようなサーバに記憶されてもよく、あるいは、電子デバイス102にキャッシュ及び記憶されてもよい。データベース112のサーバは、訓練データセットを供給するリクエストを電子デバイス102から通信ネットワーク116を介して受け取るよう構成されてよい。それに応えて、データベース112のサーバは、受け取られたリクエストに基づいて訓練データセットを読み出して電子デバイス102へ通信ネットワーク116を介して供給するよう構成されてよい。いくつかの実施形態で、データベース112は、電子デバイス102によって生成された最良適合データ点及びデータ点の母集団を受信及び記憶するよう構成されてもよい。いくつかの実施形態で、データベース112は、特定のリアルタイムアプリケーションのための訓練されたDNNを記憶するよう構成されてもよい。追加的に、又は代替的に、データベース112は、プロセッサ、(例えば、1つ以上の動作を実行する又はその実行を制御する)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアにより実装されてよい。いくつかの他の事例では、データベース112は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【0033】
ユーザエンドデバイス114は、DNN110が訓練される特定の分類タスクが実行され得るリアルタイムアプリケーションを記憶するよう構成され得る適切なロジック、回路構成、インターフェイス、及び/又はコードを有してよい。いくつかの実施形態で、ユーザエンドデバイス114は、電子デバイス102によって遺伝学的に生成されたデータ点の最良適合の変換されたデータ点又は実際的なバリエーションに基づき訓練され得るDNN110を展開してよい。ユーザエンドデバイス114は、展開されたDNN110を利用して、リアルタイムアプリケーションの分類又は検出タスクを実行してよい。例えば、ユーザエンドデバイス114は、内蔵されたカメラから入力画像を受け取ることができ、ユーザエンドデバイス114で展開された訓練されたDNN110に基づいて入力画像に対して画像分類又は認識を実行することができる電子デバイスであってよい。他の例では、ユーザエンドデバイス114は、周囲からリアルタイム画像を受け取り、内蔵の訓練されたDNN110を通じて、画像において捕捉された種々のオブジェクトを検出することができる自律走行車であってよい。他の例では、ユーザエンドデバイス114は、種々のスピーチデータサンプルに対して訓練されたDNN110によって実行される音声認識に基づきユーザ認証を行うことができる音声セキュリティシステムであってよい。上記の例は、本開示に対する制限と解釈されるべきではなく、DNN110は、簡潔さのために言及されていない多くの可能な用途のために訓練されてよいことが留意されるべきである。ユーザエンドデバイス114の例には、制限なしに、モバイルデバイス、デスクトップコンピュータ、ラップトップ、コンピュータワークステーション、コンピューティングデバイス、メインフレームマシン、クラウドサーバのようなサーバ、及び一群のサーバがある。
【0034】
通信ネットワーク116は、通信媒体を含んでよく、それを通じて、電子デバイス102は、データベース112を記憶し得るサーバ及びユーザエンドデバイス114と通信し得る。通信ネットワーク116の例には、制限なしに、インターネット、クラウドネットワーク、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、及び/又はメトロポリタンエリアネットワーク(MAN)がある。環境100内の様々なデバイスは、様々な有線及び無線通信プロトコルに従って、通信ネットワーク116へ接続するよう構成されてよい。かような有線及び無線通信プロトコルの例には、制限なしに、伝送制御プロトコル及びインターネットプロトコル(Transmission Control Protocol and Internet Protocol,TCP/IP)、ユーザデータグラムプロトコル(User Datagram Protocol,UDP)、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol,HTTP)、ファイル転送プロトコル(File Transfer Protocol,FTP)、ZigBee(登録商標)、EDGE、IEEE802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE802.11s、IEEE802.11g、マルチホップ通信、無線アクセスポイント(AP)、デバイス間(device-to-device)通信、セルラー通信プロトコル、及び/又はBluetooth(登録商標)(BT)通信プロトコル、あるいは、それらの組み合わせがある。
【0035】
本開示の適用範囲から逸脱することなしに、
図1に対して変更、追加、又は削除が行われてよい。例えば、環境100は、本開示で図示及び記載されているものよりも多い又は少ない要素を含んでよい。例えば、いくつかの実施形態で、環境100は、電子デバイス102を含むが、データベース112及びユーザエンドデバイス114を含まなくてもよい。その上、いくつかの実施形態で、データベース112及びユーザエンドデバイス114の夫々の機能は、本開示の適用範囲からの逸脱なしに、電子デバイス102に組み込まれてよい。
【0036】
図2は、本開示で記載される少なくとも1つの実施形態に従って配置される、遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおけるデータ拡張のためのシステムの例のブロック図である。
図2は、
図1からの要素との関連で説明される。
図2を参照して、例となるシステム202のブロック
図200が示されている。例となるシステム202は、電子デバイス102、遺伝モデル104、適合性評価部108、及びDNN110を含んでよい。電子デバイス102は、プロセッサ204、メモリ206、永続性データストレージ208、入出力(I/O)デバイス210、及びネットワークインターフェイス212を含んでよい。
【0037】
プロセッサ204は、電子デバイス102によって実行される種々の動作に関連したプログラム命令を実行するよう構成され得る適切なロジック、回路構成、及び/又はインターフェイスを有してよい。例えば、動作のいくつかは、複数のデータ点を含む訓練データセットの受け取り、データ点の母集団の生成、各エポックにおける最良適合データ点の決定、及びDNN110の訓練を含む。プロセッサ204は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む任意の適切な特別目的又は汎用のコンピュータ、コンピューティングエンティティ、又はプロセッシングデバイスを含んでよく、任意の適用可能なコンピュータ可読記憶媒体に記憶されている命令を実行するよう構成されてよい。例えば、プロセッサ204は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは、プログラム命令を解釈及び/若しくは実行するよう並びに/又はデータを処理するよう構成された任意の他のデジタル又はアナログ回路構成を含んでよい。
図2には単一のプロセッサとして表されているが、プロセッサ204は、本開示で記載される電子デバイス102の任意数の動作を個別的に又は集合的に実行するか又はその実行を指示するよう構成された任意数のプロセッサを含んでよい。更には、1つ以上のプロセッサが、異なるサーバのような、1以上の異なる電子デバイスに存在してもよい。
【0038】
いくつかの実施形態で、プロセッサ204は、メモリ206及び/又は永続性データストレージ208に記憶されているプログラム命令を解釈及び/若しくは実行するよう並びに/又は記憶されているデータを処理するよう構成されてよい。いくつかの実施形態で、プロセッサ204は、データストレージ208からプログラム命令をフェッチし、プログラム命令をメモリ206にロードしてよい。プログラム命令がメモリ206内にロードされた後、プロセッサ204はプログラム命令を実行してよい。プロセッサ204の例のいくつかは、GPU、CPU、RISCプロセッサ、ASICプロセッサ、CISCプロセッサ、コプロセッサ、及び/又はそれらの組み合わせであってよい。
【0039】
メモリ206は、プロセッサ204によって実行可能なプログラム命令を記憶するよう構成され得る適切なロジック、回路構成、及び/又はインターフェイスを有してよい。特定の実施形態で、メモリ206は、オペレーティングシステム及び関連するアプリケーション固有情報を記憶するよう構成されてよい。メモリ206は、コンピュータ実行可能な命令又はデータ構造を運ぶか又は記憶しているコンピュータ可読記憶媒体を含んでよい。かようなコンピュータ可読記憶媒体は、プロセッサ204のような汎用又は特別目的のコンピュータによってアクセスされ得る任意の利用可能な媒体を含んでよい。一例として、制限なしに、かようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能なプログラム可能リードオンリーメモリ(EEPROM)、コンパクトディスク・リードオンリーメモリ(CD-ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、あるいは、コンピュータ実行可能な命令又はデータ構造の形で特定のプログラムコードを搬送又は記憶するために使用され得且つ汎用又は特別目的のコンピュータによってアクセスされ得る任意の他の記憶媒体を含む有形な又は非一時的なコンピュータ可読記憶媒体を含んでよい。上記のものの組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれ得る。コンピュータ実行可能命令は、例えば、プロセッサ204に、電子デバイス102に関連した特定の動作又は動作群を実行させるよう構成された命令及びデータを含んでよい。
【0040】
永続性データストレージ208は、プロセッサ204によって実行可能なプログラム命令、オペレーティングシステム、並びに/又はログ及びアプリケーション固有データベースのようなアプリケーションを記憶するよう構成され得る適切なロジック、回路構成、及び/又はインターフェイスを有してよい。永続性データストレージ208は、コンピュータ実行可能な命令又はデータ構造を運ぶか又は記憶しているコンピュータ可読記憶媒体を含んでよい。かようなコンピュータ可読記憶媒体は、プロセッサ204のような汎用又は特別目的のコンピュータによってアクセスされ得る任意の利用可能な媒体を含んでよい。
【0041】
一例として、制限なしに、かようなコンピュータ可読記憶媒体は、コンパクトディスク・リードオンリーメモリ(CD-ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス(例えば、ハードディスクドライブ(HDD))、フラッシュメモリデバイス(例えば、ソリッドステートドライブ(SSD)、セキュアデジタル(SD)カード、他のソリッドステートメモリデバイス)、あるいは、コンピュータ実行可能な命令又はデータ構造の形で特定のプログラムコードを搬送又は記憶するために使用され得且つ汎用又は特別目的のコンピュータによってアクセスされ得る任意の他の記憶媒体を含む有形な又は非一時的なコンピュータ可読記憶媒体を含んでよい。上記のものの組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれ得る。コンピュータ実行可能命令は、例えば、プロセッサ204に、電子デバイス102に関連した特定の動作又は動作群を実行させるよう構成された命令及びデータを含んでよい。
【0042】
いくつかの実施形態で、メモリ206、永続性データストレージ208、又はそれらの組み合わせのいずれかが、ソフトウェア命令として遺伝モデル104、適合性評価部108、及びDNN110を記憶してよい。プロセッサ204は、遺伝モデル104、適合性評価部108、及びDNN110に関するソフトウェア命令をフェッチして、開示される電子デバイス102の種々の動作を実行してよい。いくつかの実施形態で、メモリ206、永続性データストレージ208、又はそれらの組み合わせのいずれかが、訓練される訓練データセットを記憶してよい。いくつかの実施形態で、種々のデータ点(すなわち、画像、オーディオ、テキスト、など)の実際的なバリエーション及び夫々の実際的なバリエーションについての変換値の種々の予め定義された範囲は、メモリ206、永続性データストレージ208、又はそれらの組み合わせのいずれかに記憶されてよい。
【0043】
I/Oデバイス210は、ユーザ入力を受けるよう構成され得る適切なロジック、回路構成、インターフェイス、及び/又はコードを有してよい。I/Oデバイス210は、ユーザ入力に応答して出力を供給するよう更に構成されてよい。例えば、I/Oデバイス210は、ユーザからユーザ入力として手書きテキストを受け取ってよく、受け取られたユーザ入力は、DNN110を訓練するために使用されても、又は訓練されたDNN110に基づき認識されてもよい。
【0044】
I/Oデバイス210は、プロセッサ204、及びネットワークインターフェイス212のような他のコンポーネントと通信するよう構成され得る様々な入力及び出力デバイスを含んでよい。入力デバイスの例には、制限なしに、タッチスクリーン、キーボード、マウス、ジョイスティック、及び/又はマイクロホンがある。出力デバイスの例には、制限なしに、ディスプレイ及びスピーカがある。
【0045】
ネットワークインターフェイス212は、通信ネットワーク116を介した、電子デバイス102と、データベース112と、ユーザエンドデバイス114との間の通信を確立するよう構成され得る適切なロジック、回路構成、インターフェイス、及び/又はコードを有してよい。ネットワークインターフェイス212は、通信ネットワーク116を介した電子デバイス102の有線又は無線通信をサポートするように様々な既知の技術の使用によって実装されてよい。ネットワークインターフェイス212は、制限なしに、アンテナ、無線周波数(RF)トランシーバ、1つ以上の増幅器、チューナ、1つ以上の発振器、デジタル信号プロセッサ、コーダ-デコーダ(CODEC)チップセット、加入者識別モデル(Subscriber Identity Module,SIM)カード、及び/又はローカルバッファを含んでよい。
【0046】
ネットワークインターフェイス212は、インターネット、イントラネット、並びに/又は無線ネットワーク、例えば、セルラーネットワーク、無線ローカルエリアネットワーク(LAN)及び/若しくはメトロポリタンエリアネットワーク(MAN)のようなネットワークと無線通信を介して通信してよい。無線通信は、GSM(登録商標)(Global System for Mobile Communications)、EDGE(Enhanced Data GSM Environment)、広帯域符号分割多重アクセス(Wideband Code Division Multiple Access,W-CDMA)、ロングタームエボリューション(Long Term Evolution,LTE)、符号分割多重アクセス(CDMA)、時分割多重アクセス(Time Division Multiple Access,TDMA)、Bluetooth、ワイヤレスフィデリティ(Wi-Fi)(例えば、IEEEa、IEEE802.11b、IEEE802.11g及び/又はIEEE802.11n)、ボイスオーバーインターネットプロトコル(Voice over Internet Protocol,VoIP)、ライトフィデリティ(Li-Fi)、あるいはWi-MAXのような、複数の通信規格、プロトコル及び技術のいずれかを使用してよい。
【0047】
本開示の適用範囲から逸脱することなしに、例となるシステム202に対して変更、追加、又は削除が行われてよい。例えば、いくつかの実施形態で、例となるシステム202は、簡潔さのために明示的には図示又は記載されていないことがある任意数の他のコンポーネントを含んでもよい。
【0048】
図3は、本開示で記載される少なくとも1つの実施形態に従って、遺伝モデルに基づきディープニューラルネットワーク(DNN)を訓練することにおけるデータ拡張のための方法の例のフローチャートである。
図3は、
図1及び
図2からの要素との関連で説明される。
図3を参照して、フローチャート300が示されている。フローチャート300で表されている方法は、302から開始してよく、任意の適切なシステム、装置、又はデバイスによって、例えば、
図1の例となる電子デバイス102、又は
図2の例となるシステム202によって、実行されてよい。例えば、電子デバイス102、遺伝モデル104、母集団生成部106、適合性評価部108、及びDNN110の中の1つ以上が、方法300に関連した動作の中の1つ以上を実行してよい。たとえ別個のブロックとして表されているとしても、方法300のブロックの1つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは削除されてもよい。
【0049】
ブロック302で、訓練データセットで保持されている複数のデータ点から、第1データ点がシードデータ点として選択されてよい。訓練データセット又は複数のデータ点は、リアルタイムアプリケーションに関連付けられてよい。例えば、複数のデータ点は、制限なしに、画像、オーディオ/スピーチサンプル、テキスト文字、ソフトウェア命令、又は制限なしに、電気生体信号、動きデータ、若しくは深さデータのような他の形態のデジタル信号を含んでよい。リアルタイムアプリケーションの例には、制限なしに、画像認識アプリケーション、画像分類アプリケーション、音声認識アプリケーション、テキスト認識アプリケーション、マルウェア検出アプリケーション、自律走行車アプリケーション、異常検出アプリケーション、機械翻訳アプリケーション、又はデジタル信号/データからのパターン認識アプリケーションがある。
【0050】
いくつかの実施形態で、プロセッサ204は、メモリ206、永続性データストレージ208、又はデータベース112のいずれか又は組み合わせに記憶され得る訓練データセット内の複数のデータ点から第1データ点(例えば、画像)を選択するよう構成されてよい。プロセッサ204は、第1データ点及び遺伝モデル104によって遺伝学的に生成されたその実際的なバリエーションに対してDNN110を訓練するために、第1データ点を選択してよい。
【0051】
ブロック304で、選択されたシードデータ点に対して、遺伝モデルが適用されてよい。1つ以上の実施形態で、プロセッサ204は、選択されたシードデータ点に対して遺伝モデルを適用するように遺伝モデル104を制御するよう構成されてよい。遺伝モデル104は、選択されたシードデータ点に対して(遺伝モデルの部分としての)変異遺伝演算又は交叉遺伝演算のいずれか一方又は組み合わせを適用するよう構成されてよい。いくつかの実施形態で、遺伝モデル104は、複数の実際的なバリエーションに関連した変換ベクトル(Tc)を、選択されたシードデータ点に対し適用するよう構成されてよい。複数の実際的なバリエーションは、リアルタイムでシードデータ点のタイプに対応してよい。
【0052】
種々のタイプのデータ点についての実際的なバリエーションの例は、次のように、表1で与えられている:
【表1】
【0053】
いくつかの実施形態で、第1シードデータ点に適用される変換ベクトル(Tc)は、1つの変換に対応してよい。遺伝モデル104は、変換ベクトル(Tc)をシードデータ点に適用して、変換されたデータ点を生成するよう構成されてよい。変換ベクトル(Tc)は、複数の変換値を含んでよく、変換ベクトル(Tc)の各変換値は整数値であり、訓練されるデータ点のタイプに関連した複数の実際的なバリエーションの中のある実際的なバリエーションに対応してよい。いくつかの実施形態で、各変換値は、対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。データ点としての画像に関連した実際的なバリエーションについての予め定義された範囲は、次のように、表2で与えられている:
【表2】
【0054】
表2で与えられている変換値の予め定義された範囲は、単なる一例に過ぎない。しかし、異なったタイプのデータ点についての異なった実際的なバリエーションは、本開示の適用範囲から逸脱することなしに、様々なリアルタイムアプリケーションのための異なった所定範囲を有してよい。(スピーチ又はテキストのような)他のタイプのデータ点についての予め定義された範囲は、簡潔さのために本開示からは省略されている。
【0055】
例えば、変換ベクトル(Tc)の第1変換値は、画像の回転動作に対応してよい。同様に、変換ベクトル(Tc)の第2変換値、第3変換値、第4変換値、第5変換値、第6変換値、及び第7変換値は夫々、画像に対する水平移動/シフト動作、垂直移動/シフト動作、剪断動作、ズーム動作、輝度変更動作、及びコントラスト変更動作に対応してよい。
【0056】
例えば、第1変換値が“+1”である場合に、遺伝モデル104は、予め定義された方向(例えば、時計回り方向)に“1”度だけシードデータ点(例えば、画像)を回転させるよう構成されてよい。他の例では、変換ベクトル(Tc)の第2変換値が“+2”である場合に、遺伝モデル104は、予め定義された方向(例えば、右)に“2”ピクセルだけシードデータ点(例えば、シード画像)を水平移動させるよう構成されてよい。実施形態において、変換ベクトル(Tc)のサイズは、変換ベクトル(Tc)の対応する変換値に基づき、選択されたデータ点に対して実行される動作の数であってよい。
【0057】
いくつかの実施形態で、遺伝モデル104は、選択されたシードデータ点(例えば、画像)に変換ベクトル(Tc)の各変換値を適用して、変換されたデータ点を生成するよう構成されてよい。例えば、変換ベクトル(Tc)が[2,1,0,0,0,-2,0]を示す場合に、次いで、遺伝モデル104は、予め定義された回転方向に“2”度だけシード画像を回転させ、予め定義された平行移動方向に“1”ピクセルだけシード画像を水平移動させ、2輝度値(例えば、“2”nits)だけ各ピクセルの輝度を下げて、変換された画像、すなわち、変換されたデータ点を生成し得る。このように、変換ベクトル(Tc)の適用は、データ点に対する1つ以上の実際的なバリエーション動作の実行であってよい。変換ベクトル(Tc)によって定義される1つ以上の動作のこのような実行は、変換されたデータ点を生成するようにデータ点に適用される1つの変換に対応してよい。複数のバリエーション動作の実行は、複合変換と呼ばれ得る。
【0058】
いくつかの実施形態で、遺伝モデル104は、変換ベクトル(Tc)をデータ点に適用する前にランダムに変換ベクトル(Tc)の変換値を生成するよう構成されてよい。選択されたシードデータ点に対する、ランダムに生成された変換ベクトル(Tc)の適用は、遺伝モデル104の変異遺伝演算又は交叉遺伝演算と呼ばれ得る。なお、交叉遺伝演算における変換ベクトル(Tc)は、複数の変換ベクトルの変換値の間の予め定義されたクロスオーバーに基づき生成されてよい。遺伝モデル104の交叉演算の詳細は、例えば、
図5A~5Bで、詳細に記載される。このようにして、遺伝モデル104は、選択されたシードデータ点の(遺伝的突然変異体としての)変換されたデータ点を生成する。
【0059】
ブロック306で、データ点の母集団が生成されてよい。いくつかの実施形態で、プロセッサ204は、データ点の母集団を生成するように遺伝モデル104又は母集団生成部106を制御するよう構成されてよい。データ点の母集団は、選択されたシードデータ点に対して複数の変換ベクトルを適用することに基づき生成された複数の変換されたデータ点を含んでよい。選択されたシードデータ点に対して複数の変換ベクトルを適用することに基づく複数の変換されたデータ点の生成は、例えば、
図5A~5Bで、詳細に記載される。いくつかの実施形態で、生成された母集団の中の複数のデータ点の数、又は生成された母集団のサイズは、予め定義されてよい。
【0060】
いくつかの実施形態で、選択されたシードデータ点に適用される各変換ベクトルは、複数の変換されたデータ点に含まれるべき1つの変換されたデータ点の生成前に、ランダムに生成されてよい。夫々の生成された変換ベクトル(Tc)の各変換値は、(例えば、データ点として画像についての)表2で言及された予め定義された範囲内にあってよい。いくつかの実施形態で、複数の変換されたデータ点のその後の生成中に、変換ベクトル(Tc)は、全体の又は絶対的な変換値が実際的なバリエーションに対応する予め定義された範囲の中に依然としてあるように、生成されてよい。例えば、第1の変換されたデータ点の生成の時点に、シード画像が5°だけ回転される場合に、それから、第2の変換されたデータ点の生成の時点に、回転のための変換値は、全体の又は絶対的な回転が実際的なバリエーションとしての回転の変換値の予め定義された範囲の中に依然としてあることができるように、ランダムに生成されてよい。シードデータ点として例となる画像についてのデータ点の母集団は、一例として、
図4に表されている。
【0061】
ブロック308で、生成されたデータ点の母集団から、最良適合(best-fit)データ点が決定されてよい。いくつかの実施形態で、プロセッサ204は、生成されたデータ点の母集団の中の各データ点に対する適合度関数(fitness function)の適用に基づいて、生成されたデータ点の母集団から最良適合データ点を決定するように、遺伝モデル104の適合性評価部108を制御するよう構成されてよい。いくつかの実施形態で、適合性評価部108は、生成されたデータ点の母集団の中で最も不可逆の(most lossy)データ点を最良適合データ点として決定するよう構成されてよい。最も不可逆のデータ点を決定するために、適合性評価部108は、生成された母集団の中の各データ点をDNN110へ入力してよい。
【0062】
適合性評価部108は、DNN110へ入力される各データ点について出力値(例えば、出力確率値)を計算するよう更に構成されてもよい。いくつかの実施形態で、適合性評価部108は、DNN110へ入力される各データ点について、DNN110から出力値を抽出し又は読み出してよい。適合性評価部108は、DNN110へ入力される各データ点について、DNN110の計算された出力値からの誤差値を計算するよう更に構成されてもよい。例えば、特定の入力データ点についてのDNN110の出力値が“0.2”である場合に、誤差値は(例えば、出力確率値として)“0.8”であってよい。このように、適合性評価部108は、生成されたデータ点の母集団のサイズに基づき、複数の誤差値を計算し得る。
【0063】
適合性評価部108は、計算された複数の誤差値に基づき、生成された母集団の中の最も不可逆のデータ点を計算するよう更に構成されてもよい。いくつかの実施形態で、適合性評価部108は、生成された母集団の中の全てのデータ点に関連した全ての誤差値の中で最も高い誤差値(最も低い出力値)をDNN110が供給するデータ点を、最も不可逆のデータ点と見なしてよい。
【0064】
適合性評価部108は、生成されたデータ点の母集団の中の最も不可逆のデータ点として最良適合データ点を見なすよう構成されてよい。最良適合データ点は、DNN110において最悪の出力値又は確率出力値を生成した変換されたデータ点に対応してよい。いくつかの実施形態で、適合性評価部108は、生成された母集団の各データ点がDNN110の入力であるときにDNN110の構造的ニューラルネットワークカバレッジ(例えば、ニューロンカバレッジ)を決定してよい。入力されたデータ点に対する構造的ニューラルネットワークカバレッジは、DNN110におけるニューロンの総数に対するアクティブにされたニューロンの一意の数の比であってよい。適合性評価部108は、生成された母集団の中の各データ点について構造的ニューラルネットワークカバレッジを決定してよい。いくつかの実施形態で、適合性評価部108は、DNN110へ入力された全てのデータ点について決定された全ての構造的ニューラルネットワークカバレッジの中で構造的ニューラルネットワークカバレッジが最も高い、生成された母集団の中のあるデータ点を、最良適合データ点と見なしてよい。構造的ニューラルネットワークカバレッジに基づき決定された最良適合データ点は、一度訓練されたDNN110によって正確に認識され得るデータ点であってよい。このように、プロセッサ204は、生成された母集団の中の最良適合データ点を、最も不可逆のデータ点として、又は最も高い構造的ニューラルネットワークカバレッジにより、決定するように、適合性評価部108を制御するよう構成されてよい。決定された最良適合データ点は、DNN110を訓練するために使用される訓練データに対する実際のデータ拡張のために使用されてよい。
【0065】
ブロック310で、決定された最良適合データ点に基づき、DNN110に対して訓練動作が実行されてよい。いくつかの実施形態で、プロセッサ204は、生成された母集団の中の決定された最良適合データ点をDNN110へ入力してよい。DNN110は、決定された最良適合データ点に対して訓練されてよい。最良適合データ点(すなわち、シードデータ点の最も不可逆の変換されたバリエーション又は最良ニューロンカバレッジの変換されたバリエーションとしてのデータ点)に対する訓練は、訓練されたDNN110の精度を高め得る。DNN110の訓練は、例えば、
図6で、詳細に記載される。
【0066】
ブロック312で、DNN110を訓練する予め定義された数のエポックが完了されているかどうかが決定されてよい。いくつかの実施形態で、プロセッサ204は、DNN110を訓練する予め定義された数のエポックが完了されているかどうかを決定するよう構成されてよい。予め定義された数のエポックが完了されている場合に、制御はブロック316へ移動する。そうでない場合には、制御はブロック314へ移動する。
【0067】
ブロック314で、生成された母集団の中の決定された最良適合データ点は、訓練データセット内の第1データ点の訓練の次のエポックのためのシードデータ点として再選択されてよい。いくつかの実施形態で、プロセッサ204は、次のエポックのためのシードデータ点として最良適合データ点(すなわち、現在のエポックで決定されたデータ点)を再選択するよう構成されてよい。制御はブロック304へ移動する。
【0068】
1つ以上の実施形態で、プロセッサ204は、DNN110が訓練データセットの第1データ点及び第1データ点の様々な実際的なバリエーションに関連した種々の変換されたデータ点に対して訓練されるように、予め定義された数のエポックについて、ブロック304からブロック314までの動作を繰り返し実行するよう構成されてよい。上記の特徴のように、開示される電子デバイス102又はプロセッサ204は、1つのエポックにおいてシードデータ点の最良適合の変換されたデータ点(すなわち、最も不可逆であるか、又は最良のニューロンカバレッジを有し得るデータ点)を識別することができ、更には、DNN100を訓練する先行のエポックで識別された最良適合データ点に基づき後続のエポックにおいて他の最良適合データ点を識別することに焦点を当て得る。複数のエポックにおける全ての識別された最良適合データ点は、データ拡張に基づいたDNN110の訓練のために使用されてよい。よって、DNN110は、予め定義された数のエポックにおいて、訓練データセット内の特定のデータ点のいくつかの最悪又は最良のバリエーションのいずれか(又は両方)に対して訓練されてよい。これは、第1データ点及びそのいくつかのバリエーションについての正確な分類値(例えば、尤度値)を認識及び/又は出力するようにDNN110の精度を高め得る。
【0069】
ブロック316で、訓練データセット内の第1データ点について、訓練されたDNN110が取得され得る。1つ以上の実施形態で、プロセッサ204は、訓練データセット内の複数のデータ点に対してDNN110を訓練するようにブロック302から316の特徴を実行するよう構成されてよい。制御は終了に移動してよい。
【0070】
フローチャート300は、302、304、306、308、310、312、314、及び316のような別個の動作として表されているが、特定の実施形態では、かような別個の動作は更に、開示される実施形態の本質から外れることなしに、特定の実施に応じて、更なる動作に分けられても、より少ない動作へとまとめられても、あるいは削除されてもよい。
【0071】
図4は、本開示で記載される少なくとも1つの実施形態に従って配置される、遺伝モデルに基づき生成された変換されたデータ点を表すシナリオを例示する。
図4は、
図1、
図2、及び
図3からの要素との関連で説明される。
図4を参照して、訓練データセット402が示されている。訓練データセット402は、メモリ206、永続性データストレージ208、又はデータベース112のいずれか又は組み合わせで保持されてよい。訓練データセット402は第1データ点404を含んでよく、このデータ点に基づきDNN110は訓練される必要があり得る。
図4において、画像データ(すなわち、猫の画像)としての第1データ点404は、単に一例に過ぎない。なお、訓練データセット402は、第1データ点404を含む複数のデータ点を含んでよく、オーディオデータ、テキストデータ、又は他のデジタル信号のような、他のタイプのデータ点を含んでもよい。
【0072】
図4には、遺伝モデル104も示されている。
図3で記載されるように、プロセッサ204は、データ点の母集団を生成するためのシードデータ点としての第1データ点に対する変換ベクトルの適用に基づきデータ点の母集団を生成するように、遺伝モデル104又は母集団生成部106を制御するよう構成されてよい。
図4には、
図3及び
図5で記載されるように遺伝モデル104によって生成されたデータ点の母集団406が示されている。データ点の母集団406は、第1データ点404(すなわち、シードデータ点)と、複数の変換されたデータ点408とを含んでよい。
【0073】
複数の変換されたデータ点408は、シードデータ点としての第1データ点404の(遺伝学的に生成された)実際的なバリエーションであってよい。複数の変換されたデータ点408は、制限なしに、第1の変換されたデータ点408A、第2変換されたデータ点408B、第3の変換されたデータ点408C、及びN番目の変換されたデータ点408Nを含んでよい。ここで、Nは、データ点の母集団の予め定義されたサイズであってよい。例えば、第1の変換されたデータ点408Aは、回転された画像(例えば、第1データ点404の対応する変換値によって定義された特定の角度だけ回転されている。)であってよい。第2変換されたデータ点408Bは、水平移動された画像(例えば、第1データ点404の対応する変換値によって定義された特定のピクセルだけ水平方向にシフトされている。)であってよい。例えば、第3の変換されたデータ点408Cは、第1データ点404の反転画像であってよい。N番目の変換されたデータ点408Nは、ズームされた画像(例えば、第1データ点の対応する変換値に基づきズームされている。)であってよい。
【0074】
図5A及び
図5Bは∪敵に、本開示で記載される少なくとも1つの実施形態に従って、遺伝モデルの変異遺伝演算又は交叉遺伝演算に基づきデータ点の母集団を生成する方法の例のフローチャートを表す。
図5A及び
図5Bは、
図1、
図2、
図3、及び
図4からの要素との関連で説明される。
図5A及び
図5Bを参照して、フローチャート500が示されている。フローチャート500で表されている方法は、502から開始してよく、任意の適切なシステム、装置、又はデバイスによって、例えば、
図1の例となる電子デバイス102、又は
図2の例となるシステム202によって、実行されてよい。例えば、電子デバイス102、遺伝モデル104、母集団生成部106、適合性評価部108、及びDNN110の中の1つ以上が、方法500に関連した動作の中の1つ以上を実行してよい。たとえ別個のブロックとして表されているとしても、方法500のブロックの1つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは削除されてもよい。
【0075】
ブロック502で、データ点の母集団の生成のためのシードデータ点として、データ点が受け取られてよい。いくつかの実施形態で、プロセッサ204は、データ点の母集団の生成のためのシードデータ点としてデータ点を受け取るよう構成されてよい。いくつかの実施形態で、データ点は、
図3及び
図4で記載されるように、訓練データセットから第1データ点として受け取られてよい。他の実施形態では、データ点は、先行のエポックからシードデータ点として受け取られてもよい。かような場合に、データ点は、
図3で記載されるように、DNNを訓練する先行のエポックからシードデータ点として選択された最良適合データ点であってよい。プロセッサ204は、例えば、
図3のブロック304で詳細に記載されるように、シードデータ点に対して遺伝モデル104を適用することによってデータ点の母集団を生成するようにシードデータ点としてデータ点を受け取るよう構成されてよい。
【0076】
ブロック504で、データ点の母集団の現在のサイズが、“0”と設定されてよい。いくつかの実施形態で、プロセッサ204は、母集団の生成を開始する前に、母集団の現在のサイズを0に設定するよう構成されてよい。
【0077】
ブロック506で、ランダム関数から乱数を生成するように、ランダム関数が実行されてよい。いくつかの実施形態で、プロセッサ204は、乱数(例えば、0から1の間で変化する確率値)を生成するように1つ以上のランダム関数を実行するよう構成されてよい。
【0078】
ブロック508で、生成された乱数が(例として)“0.5”以上であるかどうかが決定されてよい。いくつかの実施形態で、プロセッサ204は、生成された乱数が“0.5”以上であるかどうかを決定するよう構成されてよい。生成された乱数が“0.5”よりも小さい場合に、制御はブロック514へ移動する。そうでない場合には、制御はブロック510へ移動する。乱数の決定に基づき、プロセッサ204は、ブロック502で受け取られた選択されたシードデータ点に対してどの特定の遺伝演算が適用されるべきであるかを決定するよう構成されてよい。例えば、乱数が“0.5”よりも小さいときには、次いで、プロセッサ204は、ブロック514から522で記載される交叉遺伝演算を実行してよい。他の場合に、生成された乱数が“0.5”以上であるときには、次いで、プロセッサ204は、ブロック510から512で記載されるように、選択されたシードデータ点に対して変異遺伝演算を実行してよい。
【0079】
ブロック508での決定のために考えられている乱数の値は、単に一例に過ぎないことが留意され得る。特定の状況、又はリアルタイムアプリケーションでは、本開示の適用範囲から逸脱することなしに、乱数の値は決定のために変化してよい。
【0080】
ブロック510で、変換ベクトル(Tc)がランダムに生成されてよい。変換ベクトル(Tc)は、種々のタイプのデータ点について表1で記載されるように、複数の実際的なバリエーションと関連付けられてよい。いくつかの実施形態で、プロセッサ204は、選択されたシードデータ点の複数の実際的なバリエーションについて変換ベクトル(Tc)をランダムに生成するように遺伝モデル104を制御するよう構成されてよい。変換ベクトル(Tc)は、複数の変換値を含んでよく、変換ベクトル(Tc)の各変換値は、整数値であり、複数の実際的なバリエーションの中のある実際的なバリエーションに対応してよい。生成された変換ベクトル(Tc)の各変換値は、例えば、データ点としての画像についての表2で、及び
図3で(例えば、ブロック304で)記載されるように、対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。
【0081】
ブロック512で、変換されたデータ点を生成するために、生成された変換ベクトル(Tc)がシードデータ点に対して適用されてよい。いくつかの実施形態で、プロセッサ204は、生成された変換ベクトル(Tc)をシードデータ点に適用して、変換されたデータ点を生成するように、遺伝モデル104を制御するよう構成されてよい。プロセッサ204又は遺伝モデル104は、生成された変換ベクトル(Tc)を適用して、変換されたデータ点を生成するように、(実際的なバリエーションに関する)1つ以上の演算をシードデータ点に対して実行するよう構成されてよい。1つ以上の演算は、変異遺伝演算について
図3で(例えば、ブロック304で)例として記載されるように、夫々の実際的なバリエーションについて変換ベクトル(Tc)に含まれるランダムに生成された変換値ごとに実行される。制御はブロック524へ移動する。
【0082】
ブロック514で、第1変換ベクトル(Tc’)が、シードデータ点について取り出されてよい。いくつかの実施形態で、プロセッサ204は、シードデータ点のための第1変換ベクトル(Tc’)を取り出すように遺伝モデル104を制御するよう構成されてよい。シードデータ点は、訓練データセットから受け取られた最初の(すなわち、元の)データ点、又は
図3のブロック314で記載されるように、先行のエポックから再選択されたシードデータ点(すなわち、最良適合データ点)であってよい。
【0083】
第1変換ベクトル(Tc’)は、データ点が画像であると考えると、表2で言及されるように、対応する実際的なバリエーションについて予め定義された値の範囲から取り出されてよい。いくつかの実施形態で、プロセッサ204又は遺伝モデル104は、第1変換ベクトル(Tc’)の各変換値をランダムに生成してよい。このとき、各変換値は、データ点が画像であると考えると、表2の対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。いくつかの実施形態で、プロセッサ204、遺伝モデル104、又は母集団生成部106のいずれかが、例えば、
図3のブロック306で詳細に記載されるように、各変換値の絶対値が表2の予め定義された値の範囲内に依然としてあることができるように、先行のエポックにおける母集団についての生成された変換値に基づき、現在のエポックについての変換値を生成してよい。
【0084】
ブロック516で、先行のエポックから、第2の最良適合データ点が決定されてよい。いくつかの実施形態で、プロセッサ204は、先行のエポックの母集団の中で第2の最良適合データ点又は変換されたデータ点を決定するよう構成されてよい。いくつかの実施形態で、プロセッサ204は、適合性評価部108から第2の最良適合データ点を受け取ってよい。第2の最良適合データ点は、DNN110へ入力されるときに、先行のエポックの母集団の中で2番目に低い出力値又は2番目に高い誤差値を供給するデータ点であってよい。他の実施形態で、第2の最良適合データ点は、DNN110へ入力されるときに、先行のエポックにおける母集団について決定された全ての構造的ニューラルネットワークカバレッジの中で2番目に高い構造的ニューラルネットワークカバレッジを示し得るデータ点であってよい。
【0085】
ブロック518で、決定された第2の最良適合データ点について、第2変換ベクトル(Tc”)が取り出されてよい。いくつかの実施形態で、プロセッサ204は、先行のエポックの母集団から第2の最良適合データ点のための第2変換ベクトル(Tc”)を取り出すように遺伝モデル104を制御するよう構成されてよい。いくつかの実施形態で、プロセッサ204又は遺伝モデル104は、第2変換ベクトル(Tc”)の各変換値をランダムに生成してよい。このとき、各変換値は、データ点が画像であると考えると、表2の対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。いくつかの実施形態で、プロセッサ204又は遺伝モデル104は、例えば、
図3のブロック306で詳細に記載されるように、各変換値の絶対値が表2の予め定義された値の範囲内に依然としてあることができるように、先行のエポックにおける母集団についての生成された変換値に基づき、現在のエポックにおける第2の最良適合データ点についての変換値を生成してよい。
【0086】
ブロック520で、第1の組の変換値が第1変換ベクトル(Tc’)から選択されてよく、第2の組の変換値が第2変換ベクトル(Tc”)から選択されてよい。いくつかの実施形態で、プロセッサ204は、第1変換ベクトル(Tc’)から第1の組の変換値を選択し、第2変換ベクトル(Tc”)から第2の組の変換値を選択して、変換ベクトル(Tc)を構成するように、遺伝モデル104を制御してよい。
【0087】
データ点としての画像に関する実際的なバリエーションについての第1変換ベクトル(Tc’)の例は、次のように、表3で与えられている:
【表3】
【0088】
データ点としての画像に関する実際的なバリエーションについての第2変換ベクトル(Tc”)の例は、次のように、表4で与えられている:
【表4】
【0089】
データ点としての画像に関する実際的なバリエーションについての構成された変換ベクトル(Tc)の例は、次のように、表5で与えられている:
【表5】
【0090】
表3及び表4に示されるように、第1変換ベクトル(Tc’)及び第2変換ベクトル(Tc”)の全体サイズは同じである(例えば、7)。いくつかの実施形態で、プロセッサ204又は遺伝モデル104は、変換ベクトル(Tc)を構成するように、第1変換ベクトル(Tc’)から第1の組の変換値を(例えば、表5中のR1、T11、T21、及びS1として)選択し、第2変換ベクトル(Tc”)から第2の組の変換値を(例えば、表5中のZ2、B2、及びC2として)選択するよう構成されてよい。構成された変換ベクトル(Tc)は、表5に示されるように、変換値(例えば、R1、T11、T21、S1、Z2、B2、及びC2)を含んでよい。
【0091】
いくつかの実施形態で、第1の組の変換値の第1の個数(又は第1のサイズ)と、第2の組の変換値の第2の個数(又は第2のサイズ)とは、変換ベクトル(Tc)を構成するように異なってもよい。例えば、表5のように、第1の個数は4であり、第2の個数は3である。第1サイズと第2サイズとの全体サイズは、第1変換ベクトル(Tc’)又は第2変換ベクトル(Tc”)の実サイズと等しくてよい。他の実施形態では、第1の組の変換値の第1の個数(又は第1のサイズ)と、第2の組の変換値の第2の個数(又は第2のサイズ)とは、特定のタイプのデータ点(例えば、スピーチ若しくはテキスト)又は特定のタイプのリアルタイムアプリケーションに適用可能な実際的なバリエーションの数に応じて同じであってよい。
【0092】
ブロック522で、構成された変換ベクトル(Tc)が、変換されたデータ点を生成するために、シードデータ点に対して適用されてよい。いくつかの実施形態で、プロセッサ204は、
図3で(例えば、ブロック304で)詳細に記載されるように、構成された変換ベクトル(Tc)をシードデータ点(すなわち、ブロック502で受け取られたデータ点)に適用して、変換されたデータ点を生成するように、遺伝モデル104を制御するよう構成されてよい。
【0093】
いくつかの実施形態で、第1変換ベクトル(Tc’)の取り出しと、第2変換ベクトル(Tc”)の取り出しと、変換ベクトル(Tc)を構成するための第1の組の変換値及び第2の組の変換値の選択と、構成された変換ベクトル(Tc)に基づく変換されたデータ点の生成とは、
図4に示される遺伝モデル104の交叉遺伝演算に対応してよい。
【0094】
ブロック524で、シードデータ点の生成された変換されたデータ点が、予め定義された変換基準を満たすかどうかが検証されてよい。いくつかの実施形態で、プロセッサ204は、生成された変換されたデータ点が予め定義された変換基準を満たすかどうかを検証するよう構成されてよい。例えば、プロセッサ204は、生成された変換されたデータ点も、ブロック502で受け取られたシードデータ点と同様に実際的であるかどうかを、検証してよい。生成された変換されたデータ点が予め定義された変換基準を満たさない場合に、プロセッサ204は、変換されたデータ点を捨ててよく、制御をブロック506へ渡して、変異遺伝演算(すなわち、ブロック510から512)又は交叉遺伝演算(ブロック514から522)のいずれかに基づき他の変換されたデータ点を生成する。そうでない場合には、制御はブロック526へ移る。
【0095】
ブロック526で、検証された変換されたデータ点が、現在のエポックの母集団に加えられてよい。いくつかの実施形態で、プロセッサ204は、(ブロック524で検証された)変換されたデータ点を現在のエポックのデータ点の母集団に加えてよい。プロセッサ204は、母集団の現在のサイズを1インスタンスだけ増大させるよう更に構成されてよい。
【0096】
ブロック528で、データ点の母集団の現在のサイズが、データ点の母集団の予め定義されたサイズよりも小さいかどうかが決定されてよい。予め定義されたサイズは、遺伝学的に生成されたデータ点の母集団の中で最良適合データ点を識別する前に母集団に加えられる必要があり得る変換されたデータ点の数を示してよい。現在のサイズが母集団の予め定義されたサイズよりも小さい場合に、制御はブロック506へ移り、母集団の他の変換されたデータ点が生成される。そうでない場合には、制御はブロック530へ移る。
【0097】
ブロック530で、データ点の母集団が生成され得る。データ点の母集団は、母集団の現在のサイズが現在のエポックの母集団の予め定義されたサイズに達するまでブロック506からブロック528までの動作を繰り返し実行することによって生成される複数の変換されたデータ点を含んでよい。いくつかの実施形態で、生成されたデータ点の母集団はまた、複数の変換されたデータ点とともに、(ブロック502で受け取られた)シードデータ点も含んでよい。生成されたデータ点の母集団は、遺伝モデル104の変異遺伝演算に基づき生成された第1の組の変換されたデータ点を含んでよく、遺伝モデル104の交叉遺伝演算に基づき生成された第2の組の変換されたデータ点を含んでよい。いくつかの実施形態で、母集団の中の第1の組及び第2の組の変換されたデータ点の個数は、ブロック506で実行されるランダム関数に依存する。いくつかの実施形態で、ブロック506から528の繰り返しプロセスごとに、生成される変換ベクトル(Tc)は異なる可能性があるが、変換ベクトル(Tc)の絶対的な変換値は、例えば、
図3のブロック306で記載されるように、複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にあることができる。
【0098】
制御は終了へ移る。フローチャート500は、502、504、506、508、510、512、514、516、518、520、522、524、526、528、及び530のような別個の動作として表されているが、特定の実施形態では、かような別個の動作は更に、開示される実施形態の本質から外れることなしに、特定の実施に応じて、更なる動作に分けられても、より少ない動作へとまとめられても、あるいは削除されてもよい。
【0099】
図6は、本開示で記載される少なくとも1つの実施形態に従って、ディープニューラルネットワーク(DNN)の訓練動作を実行する方法の例のフローチャートである。
図6は、
図1、
図2、
図3、
図4、及び
図5A~5Bからの要素との関連で説明される。
図6を参照して、フローチャート600が示されている。フローチャート600で表されている方法は、602から開始してよく、任意の適切なシステム、装置、又はデバイスによって、例えば、
図1の例となる電子デバイス102、又は
図2の例となるシステム202によって、実行されてよい。例えば、電子デバイス102及びDNN110の1つ以上が、方法600に関連した動作の中の1つ以上を実行してよい。たとえ別個のブロックとして表されているとしても、方法600のブロックの1つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは削除されてもよい。
【0100】
ブロック602で、DNN100の訓練のために、最良適合データ点が適用されてよい。いくつかの実施形態で、プロセッサ204は、DNN110の訓練のために最良適合データ点を適用するよう構成されてよい。最良適合データ点は、例えば、
図3で詳細に記載されるように、訓練データセットから選択され得る第1データ点に関して、エポックごとに、生成された母集団から決定されてよい。いくつかの実施形態で、DNN110は、DNN110の実出力を生成するようDNN110に対して最良適合データ点を適用してよい。
【0101】
ブロック604で、DNN110に対する適用された最良適合データ点に基づくDNN110の実出力と、期待される出力との間で、誤差値が計算されてよい。期待される出力は、第1データ点がDNN110によって正確に認識(又は分類)される場合のDNN110の出力(例えば、確率出力値)であってよい。最良適合データ点は、DNN110において最良の構造的ニューラルネットワークカバレッジをもたらす最も不可逆のデータ点であることができる変換されたデータ点であってよい。いくつかの実施形態で、プロセッサ204は、DNN110に対する適用された最良適合データ点に基づくDNN110の実出力と、第1データ点(すなわち、シードデータ点)の期待される出力との間の誤差値を計算するよう構成されてよい。
【0102】
ブロック606で、DNN110の複数のレイヤの各ニューロンに関連した複数の重みが、計算された誤差値に基づき更新されてよい。いくつかの実施形態で、プロセッサ204は、DNN110の複数のレイヤの各ニューロンに関連した複数の重みを更新するようDNN110を制御してよい。DNN110は、DNN110が、適用された最良適合データ点について、第1データ点のそれと実質的に類似した期待される出力を供給するか、あるいは、DNN110が、訓練データセット内の第1データ点として認識されるように最良適合データ点(すなわち、変換されたデータ点)に対して完全に訓練され得るまで、複数の重みを続けて更新してよい、
【0103】
制御は終了へ移る。フローチャート600は、602、604、及び606のような別個の動作として表されているが、特定の実施形態では、かような別個の動作は更に、開示される実施形態の本質から外れることなしに、特定の実施に応じて、更なる動作に分けられても、より少ない動作へとまとめられても、あるいは削除されてもよい。
【0104】
いくつかの実施形態で、開示される電子デバイス102は、方法300、500、及び600で説明された上記の動作に基づき、訓練データセット内の各データ点についてDNN110を訓練してよい。訓練データセット内のデータ点の様々な遺伝的突然変異体に対して一度訓練されたDNN110は、有効なデータ拡張を提供し得るのみならず、特定の従来の解決法と比較して、データ点の種々のバリエーションの認識又は分類において精度を高めることもできる。
【0105】
従来の方法と比較して、(例えば、データ点として画像に対する回転、平行移動、及び剪断のような3つの実際的なバリエーションのための)開示される遺伝学的に制御されたデータ拡張方法によって訓練されたDNNについて観測される、例となる実験値は、次のように、表6で与えられている。
【表6】
【0106】
表6から、遺伝モデルを使用する開示されたデータ拡張方法に基づき訓練されたDNNの精度は、グリッド攻撃下で、従来方法により訓練されたDNNによって示される精度と比較して、約5%高い精度を示し得ることが観測され得る。表6で与えられているデータは、単に実験データと考えられてよく、本開示を制限するものと解釈され得ないことが留意されるべきである。
【0107】
本開示は、DNNを訓練するデータ拡張レジームのために訓練データの適切なバリエーションの確率論的探索を実行するための遺伝モデルの使用について記載しているが、いくつかの実施形態で、制限なしに、焼きなまし法(simulated annealing)、粒子群最適化法(particle swarm optimization)、及びタブー探索(tabu search)のような他のメタヒューリスティック法が、本開示の適用範囲からの逸脱なしに、実施されてもよい。
【0108】
本開示の様々な実施形態は、実行されることに応答してシステム(例えば、例となるシステム202)に動作を実行させる命令を記憶するよう構成された1つ以上の非一時的なコンピュータ可読記憶媒体を提供してもよい。動作は、リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することを含んでよい。動作は、リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することを更に含んでよい。第1動作の組の実行は、選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成することを含んでよい。データ点の母集団は、選択されたシードデータ点と、選択されたシードデータ点の複数の変換されたデータ点とを含んでよい。第1動作の組の実行は、生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、生成されたデータ点の母集団の中で最良適合データ点を決定することを更に含んでよい。第1動作の組の実行は、決定された最良適合データ点に基づきDNNに対して訓練動作を実行することと、決定された最良適合データ点をシードデータ点として再選択することとを更に含んでよい。動作は、再選択されたシード点に基づき複数のエポックについて第1動作の組を繰り返し実行することによって、訓練されたDNNを取得することを更に含んでよい。
【0109】
本開示で使用されるように、「モジュール」又は「コンポーネント」との語は、モジュール若しくはコンポーネントの動作を実行するよう構成された特定のハードウェア実施、及び/又はコンピューティングシステムの汎用のハードウェア(例えば、コンピュータ可読媒体、プロセッシングデバイス、など)によって記憶及び/又は実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンを指し得る。いくつかの実施形態で、本開示で記載される種々のコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステムで(例えば、別個のスレッドとして)実行されるオブジェクト又はプロセスとして実施されてもよい。本開示で記載されるシステム及び方法の一部は、(汎用のハードウェアによって記憶及び/又は実行される)ソフトウェアにおいて実施されるものとして概して記載されているが、特定のハードウェア実施又はソフトウェアと特定のハードウェア実施との組み合わせも可能であり企図される。本明細書中、「コンピューティングエンティティ」は、本開示で先に定義されている任意のコンピューティングシステム、又はコンピューティングシステムで実行される任意のモジュール若しくはモジュールの組み合わせであってよい。
【0110】
本開示で、特に添付の特許請求の範囲(例えば、添付の特許請求の本文)で使用される語は、一般的に、“非限定的な(open)”用語として意図されている(例えば、語「含んでいる(including)」は、“~を含んでいるが、~に制限されない”との意に解釈されるべきであり、語「備えている(having)」は、「少なくとも~を備えている」との意に解釈されるべきであり、語「含む(includes)」は、“~を含むが、~に制限されない”との意に解釈されるべきである、等。)。
【0111】
更に、導入されたクレーム記載(introduced claim recitation)において特定の数が意図される場合、そのような意図は当該クレーム中に明確に記載され、そのような記載がない場合は、そのような意図も存在しない。例えば、理解を促すために、後続の添付された特許請求の範囲では、「少なくとも1つの(at least one)」及び「1以上の(one or more)」といった導入句を使用し、クレーム記載を導入することがある。しかし、このような句を使用するからといって、「a」又は「an」といった不定冠詞によりクレーム記載を導入した場合に、たとえ同一のクレーム内に、「1つ以上の」又は「少なくとも1つの」といった導入句と「a」又は「an」といった不定冠詞との両方が含まれるとしても、当該導入されたクレーム記載を含む特定のクレームが、当該記載事項を1しか含まない例に限定されるということが示唆されると解釈されるべきではない(例えば、「a」及び/又は「an」は、「少なくとも1つの」又は「1つ以上の」を意味すると解釈されるべきである。)。定冠詞を使用してクレーム記載を導入する場合にも同様のことが当てはまる。
【0112】
更には、導入されたクレーム記載において特定の数が明示されている場合であっても、そのような記載は、通常、少なくとも記載された数を意味するように解釈されるべきであることは、当業者には理解されるであろう(例えば、他に修飾語のない、単なる「2つの記載事項」という記載がある場合、この記載は、少なくとも2つの記載事項、又は2つ以上の記載事項を意味する。)。更に、「A、B及びC等のうち少なくとも1つ」又は「A、B及びC等のうちの1つ以上」に類する表記が使用される場合、一般的に、そのような構造は、Aのみ、Bのみ、Cのみ、AとBの両方、AとCの両方、BとCの両方、及び/又はAとBとCの全て、等を含むよう意図される。
【0113】
更に、2つ以上の選択可能な用語を表す如何なる離接語及び/又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの1つ、それらの用語のうちのいずれか、あるいは、それらの用語の両方を含む可能性を意図すると理解されるべきである。例えば、「A又はB」という句は、「A又はB」、あるいは、「A及びB」の可能性を含むことが理解されるべきである。
【0114】
ここで挙げられている全ての例及び条件付き言語は、当該技術の促進に本発明者によって寄与される概念及び本発明を読者が理解するのを助ける教育上の目的を意図され、そのような具体的に挙げられている例及び条件に制限されないと解釈されるべきである。本開示の実施形態が詳細に記載されてきたが、様々な変更、置換、及び代替が、本開示の主旨及び適用範囲から逸脱することなしに行われてよい。
【0115】
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することであり、該第1動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記DNNに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第1動作の組を実行することと、
前記再選択されたシード点に基づき複数のエポックについて前記第1動作の組を繰り返し実行することによって、前記第1データ点に対する訓練されたDNNを取得することと
を有する方法。
(付記2)
前記DNNを訓練するための前記複数のエポックの数は、予め定義される、
付記1に記載の方法。
(付記3)
前記選択されたシードデータ点に対する前記遺伝モデルの適用は、
前記データ点の母集団の中の前記複数の変換されたデータ点を生成するための第2動作の組を実行することであり、該第2動作の組を実行することは、
ランダム関数を実行して乱数を生成することと、
前記生成された乱数に基づき変異遺伝演算又は交叉遺伝演算のうちの一方を実行することと
を有する、前記第2動作の組を実行することと、
前記データ点の母集団の予め定義されたサイズについて前記第2動作の組を繰り返し実行することに基づき、前記選択されたシードデータ点の前記複数の変換されたデータ点を生成することと
を更に有する、
付記1に記載の方法。
(付記4)
前記変異遺伝演算の実行は、
前記選択されたシードデータ点の複数の実際的なバリエーションに関連した変換ベクトルを生成し、該変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記選択されたシードデータ点に対して前記生成された変換ベクトルを適用することと、
前記選択されたシードデータ点に対する前記適用された変換ベクトルに基づき、変換されたデータ点を生成することと、
予め定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
付記3に記載の方法。
(付記5)
前記複数の実際的なバリエーションに関連した前記変換ベクトルは、前記DNNを訓練するための前記複数のエポックの夫々についてランダムに生成される、
付記4に記載の方法。
(付記6)
前記交叉遺伝演算の実行は、
前記第1データ点に関して前記選択されたシードデータ点の複数の実際的なバリエーションに関連した第1変換ベクトルを取り出し、該第1変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記複数のエポックの中の前のエポックからの前記生成されたデータ点の母集団の中で第2の最良適合データ点を決定することと、
前記決定された第2の最良適合データ点の前記複数の実際的なバリエーションに関連した第2変換ベクトルを取り出し、該第2変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された前記範囲内にある、ことと、
前記第1変換ベクトルからの第1組の変換値と、前記第2変換ベクトルからの第2組の変換値とを選択して、変換ベクトルを構成することと、
前記選択されたシードデータ点に対して前記構成された変換ベクトルを適用して、変換されたデータ点を生成することと、
前もって定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
付記3に記載の方法。
(付記7)
前記選択された第1組の変換値の第1の数と、前記選択された第2組の変換値の第2の数とは、前記変換ベクトルを構成するように同じである、
付記6に記載の方法。
(付記8)
前記選択された第1組の変換値の第1の数と、前記選択された第2組の変換値の第2の数とは、前記変換ベクトルを構成するように異なる、
付記6に記載の方法。
(付記9)
前記複数のデータ点は、画像データ、オーディオデータ、又はテキストデータの中の1つに対応する、
付記1に記載の方法。
(付記10)
前記リアルタイムアプリケーションは、画像分類、音声認識、テキスト認識の中の1つを有する、
付記1に記載の方法。
(付記11)
前記画像分類としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、回転バリエーション、水平移動バリエーション、垂直移動バリエーション、剪断バリエーション、ズームバリエーション、輝度バリエーション、コントラストバリエーション、フリップバリエーション、シャープネスバリエーション、又は色バリエーションの中の1つを有する、
付記10に記載の方法。
(付記12)
前記音声認識としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、発話速度バリエーション、ラウドネスバリエーション、周囲雑音タイプバリエーション、テンポバリエーション、ピッチバリエーション、トーンバリエーション、抑揚バリエーション、声質バリエーション、音声バリエーション、又は発音バリエーションの中の1つを有する、
付記10に記載の方法。
(付記13)
前記テキスト認識として前記リアルタイムアプリケーションの複数の実際的なバリエーションは、フォントサイズバリエーション、フォントタイプバリエーション、回転バリエーション、フォント色バリエーション、背景色バリエーション、又はテクスチャバリエーションの中の1つを有する、
付記10に記載の方法。
(付記14)
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中で最も不可逆のデータ点を決定することと、
前記決定された最も不可逆のデータ点に基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
付記1に記載の方法。
(付記15)
前記生成されたデータ点の母集団の中の各データ点について前記DNNの出力確率値を計算することと、
前記生成されたデータ点の母集団の中の各データ点についての前記計算された出力確率値に基づき、前記生成されたの中で前記最も不可逆のデータ点を決定することと
を更に有する付記14に記載の方法。
(付記16)
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中の各データ点について前記DNNの構造的ニューラルネットワークカバレッジを決定することと、
前記生成されたデータ点の母集団の中の各データ点についての前記決定された構造的ニューラルネットワークカバレッジに基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
付記1に記載の方法。
(付記17)
前記訓練動作の実行は、
前記生成されたデータ点の母集団の中の前記決定された最良適合データ点を前記DNNに対して適用して該DNNの実出力を生成することと、
前記DNNに対する前記適用された最良適合データ点に基づく前記DNNの前記実出力と期待される出力との間の誤差値を計算することと、
前記計算された誤差値に基づき、前記DNNの複数のレイヤの各ニューロンについて割り当てられた複数の重みを更新することと
を更に有する、
付記1に記載の方法。
(付記18)
実行されることに応答して、システムに、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することであり、該第1動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記DNNに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第1動作の組を実行することと、
前記再選択されたシード点に基づき複数のエポックについて前記第1動作の組を繰り返し実行することによって、前記第1データ点に対する訓練されたDNNを取得することと
を有する動作を実行させる命令を記憶するよう構成された1つ以上の非一時的なコンピュータ可読記憶媒体。
(付記19)
前記DNNを訓練するための前記複数のエポックの数は、予め定義される、
付記18に記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
(付記20)
ディープニューラルネットワーク(DNN)と、
前記DNNと結合されたプロセッサと
を有し、
前記プロセッサは、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第1データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク(DNN)を訓練するための第1動作の組を実行することであり、該第1動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記DNNの訓練動作のために該DNNへ前記決定された最良適合データ点を供給することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第1動作の組を実行することと、
前記再選択されたシード点に基づき前記DNNの訓練の複数のエポックについて前記第1動作の組を繰り返し実行して、前記第1データ点に対する訓練されたDNNを取得することと
を実行するよう構成される、
システム。
【符号の説明】
【0116】
100 環境
102 電子デバイス
104 遺伝モデル
106 母集団生成部
108 適合性評価部
110 ディープニューラルネットワーク(DNN)
112 データベース
114 ユーザエンドデバイス
116 通信ネットワーク
202 システム
204 プロセッサ
206 メモリ
208 永続性データストレージ
210 I/Oデバイス
212 ネットワークインターフェイス
402 訓練データセット
404 第1データ点(シードデータ点)
406 データ点の母集団
408 変換されたデータ点