(57)【要約】【課題】遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおけるデータ拡張のための方法等を提供する。【解決手段】実施形態の一態様に従って、動作は、訓練データセットから第１データ点をシードデータ点として選択することを含んでよい。動作は、シードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成することを更に含んでよい。データ点の母集団は、シードデータ点と、シードデータ点の複数の変換されたデータ点とを含んでよい。動作は、生成されたデータ点の母集団に対する適合度関数の適用に基づき、生成されたデータ点の母集団の中で最良適合データ点を決定することを更に含んでよい。動作は、決定された最良適合データ点に基づきＤＮＮに対して訓練動作を実行することを更に含んでよい。動作は、決定された最良適合データ点に基づくＤＮＮに対する訓練動作に基づき、第１データ点についての訓練されたＤＮＮを取得することを更に含んでよい。【選択図】図３
2020187734.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することであり、該第１動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記ＤＮＮに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第１動作の組を実行することと、
前記再選択されたシード点に基づき複数のエポックについて前記第１動作の組を繰り返し実行することによって、前記第１データ点に対する訓練されたＤＮＮを取得することと
を有する方法。
【請求項２】
前記ＤＮＮを訓練するための前記複数のエポックの数は、予め定義される、
請求項１に記載の方法。
【請求項３】
前記選択されたシードデータ点に対する前記遺伝モデルの適用は、
前記データ点の母集団の中の前記複数の変換されたデータ点を生成するための第２動作の組を実行することであり、該第２動作の組を実行することは、
ランダム関数を実行して乱数を生成することと、
前記生成された乱数に基づき変異遺伝演算又は交叉遺伝演算のうちの一方を実行することと
を有する、前記第２動作の組を実行することと、
前記データ点の母集団の予め定義されたサイズについて前記第２動作の組を繰り返し実行することに基づき、前記選択されたシードデータ点の前記複数の変換されたデータ点を生成することと
を更に有する、
請求項１に記載の方法。
【請求項４】
前記変異遺伝演算の実行は、
前記選択されたシードデータ点の複数の実際的なバリエーションに関連した変換ベクトルを生成し、該変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記選択されたシードデータ点に対して前記生成された変換ベクトルを適用することと、
前記選択されたシードデータ点に対する前記適用された変換ベクトルに基づき、変換されたデータ点を生成することと、
予め定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
請求項３に記載の方法。
【請求項５】
前記複数の実際的なバリエーションに関連した前記変換ベクトルは、前記ＤＮＮを訓練するための前記複数のエポックの夫々についてランダムに生成される、
請求項４に記載の方法。
【請求項６】
前記交叉遺伝演算の実行は、
前記第１データ点に関して前記選択されたシードデータ点の複数の実際的なバリエーションに関連した第１変換ベクトルを取り出し、該第１変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記複数のエポックの中の前のエポックからの前記生成されたデータ点の母集団の中で第２の最良適合データ点を決定することと、
前記決定された第２の最良適合データ点の前記複数の実際的なバリエーションに関連した第２変換ベクトルを取り出し、該第２変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された前記範囲内にある、ことと、
前記第１変換ベクトルからの第１組の変換値と、前記第２変換ベクトルからの第２組の変換値とを選択して、変換ベクトルを構成することと、
前記選択されたシードデータ点に対して前記構成された変換ベクトルを適用して、変換されたデータ点を生成することと、
前もって定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
請求項３に記載の方法。
【請求項７】
前記選択された第１組の変換値の第１の数と、前記選択された第２組の変換値の第２の数とは、前記変換ベクトルを構成するように同じである、
請求項６に記載の方法。
【請求項８】
前記選択された第１組の変換値の第１の数と、前記選択された第２組の変換値の第２の数とは、前記変換ベクトルを構成するように異なる、
請求項６に記載の方法。
【請求項９】
前記複数のデータ点は、画像データ、オーディオデータ、又はテキストデータの中の１つに対応する、
請求項１に記載の方法。
【請求項１０】
前記リアルタイムアプリケーションは、画像分類、音声認識、テキスト認識の中の１つを有する、
請求項１に記載の方法。
【請求項１１】
前記画像分類としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、回転バリエーション、水平移動バリエーション、垂直移動バリエーション、剪断バリエーション、ズームバリエーション、輝度バリエーション、コントラストバリエーション、フリップバリエーション、シャープネスバリエーション、又は色バリエーションの中の１つを有する、
請求項１０に記載の方法。
【請求項１２】
前記音声認識としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、発話速度バリエーション、ラウドネスバリエーション、周囲雑音タイプバリエーション、テンポバリエーション、ピッチバリエーション、トーンバリエーション、抑揚バリエーション、声質バリエーション、音声バリエーション、又は発音バリエーションの中の１つを有する、
請求項１０に記載の方法。
【請求項１３】
前記テキスト認識として前記リアルタイムアプリケーションの複数の実際的なバリエーションは、フォントサイズバリエーション、フォントタイプバリエーション、回転バリエーション、フォント色バリエーション、背景色バリエーション、又はテクスチャバリエーションの中の１つを有する、
請求項１０に記載の方法。
【請求項１４】
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中で最も不可逆のデータ点を決定することと、
前記決定された最も不可逆のデータ点に基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
請求項１に記載の方法。
【請求項１５】
前記生成されたデータ点の母集団の中の各データ点について前記ＤＮＮの出力確率値を計算することと、
前記生成されたデータ点の母集団の中の各データ点についての前記計算された出力確率値に基づき、前記生成されたの中で前記最も不可逆のデータ点を決定することと
を更に有する請求項１４に記載の方法。
【請求項１６】
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中の各データ点について前記ＤＮＮの構造的ニューラルネットワークカバレッジを決定することと、
前記生成されたデータ点の母集団の中の各データ点についての前記決定された構造的ニューラルネットワークカバレッジに基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
請求項１に記載の方法。
【請求項１７】
前記訓練動作の実行は、
前記生成されたデータ点の母集団の中の前記決定された最良適合データ点を前記ＤＮＮに対して適用して該ＤＮＮの実出力を生成することと、
前記ＤＮＮに対する前記適用された最良適合データ点に基づく前記ＤＮＮの前記実出力と期待される出力との間の誤差値を計算することと、
前記計算された誤差値に基づき、前記ＤＮＮの複数のレイヤの各ニューロンについて割り当てられた複数の重みを更新することと
を更に有する、
請求項１に記載の方法。
【請求項１８】
実行されることに応答して、システムに、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することであり、該第１動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記ＤＮＮに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第１動作の組を実行することと、
前記再選択されたシード点に基づき複数のエポックについて前記第１動作の組を繰り返し実行することによって、前記第１データ点に対する訓練されたＤＮＮを取得することと
を有する動作を実行させる命令を記憶するよう構成された１つ以上の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記ＤＮＮを訓練するための前記複数のエポックの数は、予め定義される、
請求項１８に記載の１つ以上の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
ディープニューラルネットワーク（ＤＮＮ）と、
前記ＤＮＮと結合されたプロセッサと
を有し、
前記プロセッサは、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することであり、該第１動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記ＤＮＮの訓練動作のために該ＤＮＮへ前記決定された最良適合データ点を供給することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第１動作の組を実行することと、
前記再選択されたシード点に基づき前記ＤＮＮの訓練の複数のエポックについて前記第１動作の組を繰り返し実行して、前記第１データ点に対する訓練されたＤＮＮを取得することと
を実行するよう構成される、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示で議論される実施形態は、遺伝モデルに基づきディープニューラルネットワーク（Deep  Neural  Network，ＤＮＮ）を訓練することにおけるデータ拡張（data  augmentation）に関する。
【背景技術】
【０００２】
ニューラルネットワークの分野における近年の進歩は、ディープニューラルネットワーク（ＤＮＮ）を訓練するための様々な技術の開発をもたらしてきた。訓練されたＤＮＮは、様々な分類タスクのために種々の用途で利用され得る。例えば、訓練されたＤＮＮは、異なるデータ点（すなわち、画像）を分類又は検出するために使用されることがある。通常、分類又は検出タスクの精度を高めるために、ＤＮＮは、異なるデータ点及び各データ点に関連した様々な実際的なバリエーション（例えば、回転、スケーリング、ズーム、など）により拡張及び訓練される必要がある。ある従来システムでは、システムは、データ点の限られた数のランダムバリエーションにより訓練された。このことは、全ての起こり得るバリエーションについて分類タスクを実行するそれらの精度に影響を及ぼした。他の従来システムでは、全ての起こり得るバリエーションについての訓練が実行されたが、かような状況での訓練時間は、訓練データセットのサイズの実質的増大により大幅に増えた。訓練時間制約は更に、システム又は開発者が多くのバリエーションを適用することを制限する。よって、ＤＮＮが効率的に訓練され得るようにデータ拡張のための多数の実際的なバリエーションを供給可能であるとともに、様々な分類又は検出適用のための精度を改善可能である進化したシステムが望まれ得る。
【０００３】
本開示で請求される対象は、上述されたような環境でしか動作しない実施形態又は上述されたようなあらゆる欠点を解消する実施形態に制限されない。むしろ、この背景は、本開示で記載されるいくつかの実施形態が実施され得る技術分野の一例を説明するためにのみ設けられている。
【発明の概要】
【０００４】
実施形態の一態様によれば、動作は、リアルタイムアプリケーションに関連し得る複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することを含んでよい。動作は、リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することを更に含んでよい。第１動作の組の実行は、選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成することを含んでよい。データ点の母集団は、選択されたシードデータ点と、選択されたシードデータ点の複数の変換されたデータ点とを含んでよい。第１動作の組の実行は、生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、生成されたデータ点の母集団の中で最良適合データ点を決定することを更に含んでよい。第１動作の組の実行は、決定された最良適合データ点に基づきＤＮＮに対して訓練動作を実行することと、決定された最良適合データ点をシードデータ点として再選択することとを更に含んでよい。動作は、再選択されたシード点に基づき複数のエポックについて第１動作の組を繰り返し実行することによって、訓練されたＤＮＮを取得することを更に含んでよい。
【０００５】
実施形態の目的及び利点は、少なくとも、特許請求の範囲で特に指し示されている要素、特徴、及び組み合わせによって、実現及び達成される。
【０００６】
上記の概要及び下記の詳細な説明はいずれも、例として与えられており、請求される発明を説明するためのものであって、限定するものではない。
【０００７】
添付の図面を使用して、更なる特定及び詳細をもって、例となる実施形態が記載及び説明される。
【図面の簡単な説明】
【０００８】
【図１】遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおけるデータ拡張に関連した環境の例を表す図である。
【図２】遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおけるデータ拡張のためのシステムの例のブロック図である。
【図３】遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおけるデータ拡張のための方法の例のフローチャートである。
【図４】遺伝モデルに基づき生成された変換されたデータ点を表すシナリオを例示する。
【図５Ａ】遺伝モデルの変異遺伝演算及び交叉遺伝演算に基づきデータ点の母集団を生成する方法の例のフローチャートを表す。
【図５Ｂ】遺伝モデルの変異遺伝演算及び交叉遺伝演算に基づきデータ点の母集団を生成する方法の例のフローチャートを表す。
【図６】ディープニューラルネットワーク（ＤＮＮ）の訓練動作を実行する方法の例のフローチャートである。
【０００９】
全ての図は、本開示で記載される少なくとも１つの実施形態に従う。
【発明を実施するための形態】
【００１０】
本開示で記載されるいくつかの実施形態は、遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおける有効なデータ拡張のための方法及びシステムに関係がある。本開示における遺伝モデル（genetic  model）は、一連のエポック（epochs）にわたる訓練データの実際的且つ最適なバリエーション（すなわち、最良適合バリエーション）の識別を達成する。訓練データのこのような実際的且つ最適なバリエーションは、ＤＮＮを効率的に訓練するための一連のエポックにおける訓練データにより再び拡張される。本開示では、遺伝モデルに基づく訓練データの実際的なバリエーションの識別は、ＤＮＮの効率的な訓練時間を達成し、更には、様々な分類タスクのための訓練されたＤＮＮの正確さを改善する。
【００１１】
本開示の１つ以上の実施形態に従って、ディープラーニングの技術分野は、コンピューティングシステムが、ディープニューラルネットワーク（ＤＮＮ）を訓練するための遺伝モデルに基づき有効なデータ拡張を達成することができるように、コンピューティングシステムを構成することによって、改善され得る。遺伝モデルに基づいたデータ拡張は、訓練データセットの適切且つ最適なバリエーションの識別を提供し得る。これに基づき、訓練されたＤＮＮは、従来のＤＮＮに基づいた分類システムと比較して、改善された精度での分類を提供する。
【００１２】
システムは、ＤＮＮを訓練するための訓練データ点を受け取るよう構成されてよい。訓練データ点の例には、制限なしに、画像データ、スピーチデータ、オーディオデータ、テキストデータ、又は他の形態のデジタル信号がある。システムは、ＤＮＮを訓練する特定のエポックについて、受け取られた訓練データ点に対する遺伝モデルの適用に基づき、データ点の母集団を生成するよう更に構成されてよい。データ点の母集団は、遺伝学的に生成された（すなわち、受け取られた訓練データ点の）異なった実際的なバリエーションを含んでよい。例えば、画像データについての実際的なバリエーションには、制限なしに、回転、平行移動、剪断、ズーム、輝度、又はコントラストがある。種々のタイプのデータ点についての実際的なバリエーションの種々の例は、表１で言及される。
【００１３】
その上、いくつかの実施形態で、システムは、母集団の中の生成された実際的なバリエーションから最良の又は最適なバリエーションを決定し、特定のエポックにおいて、決定された最良のバリエーションに対してＤＮＮの訓練を制御するよう更に構成されてよい。システムは、決定された最良バリエーションを、ＤＮＮの訓練の次のエポックのための新たな訓練データ点として選択するよう更に構成されてよい。このようにして、元の訓練データ点は、次に続くエポックにおいてＤＮＮを訓練するためのその遺伝的突然変異体により置換される。
【００１４】
システムは、新しい訓練データ点（すなわち、ＤＮＮを訓練する最後のエポックで決定された訓練データの最良のバリエーション）に対する遺伝モデルの適用に基づき、データ点の新しい母集団を決定するよう更に構成されてよい。同様に、システムは、各エポックにおいてＤＮＮを訓練するために、新たに生成された母集団から最良のバリエーションを決定し、決定された最良のバリエーションを（遺伝的突然変異体として）考慮して、次のエポックにおける他の母集団を生成するよう更に構成されてよい。システムは、訓練データ点の遺伝学的に生成された最良のバリエーションに基づくＤＮＮの訓練において、予め定義された数のエポックについて、上記の動作を実行するよう構成されてよい。このようにして、各エポックにおける最良の、実際的な、及び／又は最適なバリエーションを遺伝学的に生成し、生成された最良のバリエーションを、ＤＮＮを訓練し、更には、次のエポックにおける母集団（又は最良のバリエーション）を生成するために使用することに基づき、開示されるシステムは、データ分類の精度が改善されたＤＮＮのよりロバストな訓練を提供する。更に、最良の且つ実際的なバリエーションに基づきＤＮＮを訓練するための予めのエポックにより、開示されるシステムの訓練時間も、実質的に制御される。
【００１５】
添付の図面を参照して、本開示の実施形態を説明する。
【００１６】
図１は、本開示で記載される少なくとも１つの実施形態に従って配置される、遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおけるデータ拡張に関連した環境の例を表す図である。図１を参照して、環境１００が示されている。環境１００は、電子デバイス１０２を含んでよい。電子デバイス１０２は、遺伝モデル１０４を含んでよく、遺伝モデル１０４は更に、母集団生成部１０６及び適合性評価部１０８を含む。電子デバイス１０２は、ディープニューラルネットワーク（ＤＮＮ）１１０を更に含んでよい。環境１００は、データベース１１２、ユーザエンドデバイス１１４、及び通信ネットワーク１１６を更に含んでよい。電子デバイス１０２、データベース１１２、及びユーザエンドデバイス１１４は、通信ネットワーク１１６を介して互いに通信上結合されてよい。
【００１７】
電子デバイス１０２の例には、制限なしに、モバイルデバイス、デスクトップコンピュータ、ラップトップ、コンピュータワークステーション、訓練デバイス、コンピューティングデバイス、メインフレームマシン、クラウドサーバのようなサーバ、及び一群のサーバがある。１つ以上の実施形態で、電子デバイス１０２は、ユーザエンド端末デバイスと、ユーザエンド端末デバイスへ通信上結合されたサーバとを含んでよい。ユーザエンド端末デバイスの例には、制限なしに、モバイルデバイス、デスクトップコンピュータ、ラップトップ、及びコンピュータワークステーションがある。
【００１８】
電子デバイス１０２は、ディープニューラルネットワーク（ＤＮＮ）を訓練するための遺伝モデルに基づくデータ拡張のための１つ以上の動作を実行するよう構成され得る適切なロジック、回路構成、及びインターフェイスを有してよい。電子デバイス１０２は、プロセッサ、（例えば、１つ以上の動作を実行する又はその実行を制御する）マイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアにより実装されてよい。いくつかの他の事例では、電子デバイス１０２は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【００１９】
１つ以上の実施形態で、電子デバイス１０２は、ＤＮＮ１１０を訓練するための訓練データセットを受け取るよう構成されてよい。電子デバイス１０２は、訓練データセットをデータベース１１２から通信ネットワーク１１６を介して受け取るよう構成されてよい。いくつかの実施形態で、電子デバイス１０２は、電子デバイス１０２のメモリ（図１に図示せず。）に訓練データセットを記憶するよう構成されてよい。訓練データセットは、複数のデータ点を含んでよい。データ点の夫々は、制限なしに、画像データ、オーディオデータ、スピーチデータ、又はテキストデータに対応してよい。訓練データセットは、制限なしに、特定の分類タスクを実行し得るリアルタイムアプリケーションと対応してよい。リアルタイムアプリケーションの例には、制限なしに、画像認識又は分類、音声認識、テキスト認識、マルウェア検出、異常検出、機械翻訳、制限なしに生体電気信号、動きデータ、及び深さデータのような種々のデジタル信号からのパターン認識がある。
【００２０】
電子デバイス１０２は、訓練されたＤＮＮ１１０が分類タスクを正確に実行し得るように、訓練データによりＤＮＮ１１０を訓練するよう構成されてよい。例えば、電子デバイス１０２は、（訓練データセットとしての）種々の画像と、各画像の種々のバリエーションとによりＤＮＮ１１０を訓練してよく、それにより、訓練されたＤＮＮ１１０は、各入力画像又はそのバリエーションを正確に分類又は検出し得る。
【００２１】
かような及び他の実施形態で、電子デバイス１０２は、予め定義された数のエポックについてＤＮＮ１１０を訓練するよう構成されてよい。例えば、予め定義されたエポック数は、制限なしに、３０又は５０であってよい。電子デバイス１０２は、訓練データセット内の各データ点について、予め定義されたエポック数だけＤＮＮ１１０を訓練するよう構成されてよい。いくつかの実施形態で、予め定義されたエポック数は、データ点又はリアルタイムアプリケーションに依存してよい。
【００２２】
電子デバイス１０２は、訓練データセット内の複数のデータ点からシードデータ点としてあるデータ点を選択するよう構成されてよい。電子デバイス１０２は、ＤＮＮ１１０を訓練する特定のエポックにおいて、選択されたシードデータ点に対して遺伝モデルを適用することに基づいて、データ点の母集団を生成するように、母集団生成部１０６を制御するよう更に構成されてよい。生成された母集団は、選択されたシードデータ点と、（シードデータ点のバリエーションとしての）複数の変換されたデータ点とを含んでよい。例えば、画像データ点の場合に、変換されたデータ点は、制限なしに、回転された画像、平行移動された画像、ズームされた画像、又は剪断された画像を含んでよい。変換されたデータ点の夫々は、特定のバリエーションについて予め定義された変換値の範囲内にあってよい。変換されたデータ点の詳細は、例えば、図３、図４、及び図５で、詳細に記載される。いくつかの実施形態で、電子デバイス１０２は、進化的アプローチに従ってデータ点の母集団を生成するように、遺伝モデル１０４を制御してよい。このとき、データ点の次の生成／母集団は、データ点の前の生成／母集団におけるデータ点の適合性に基づき選択される最良適合データ点から取得される。
【００２３】
電子デバイス１０２は、データ点の母集団の中の各データ点について適合度関数を評価することに基づいて、生成されたデータ点の母集団の中で最良適合データ点を決定するように、遺伝モデル１０４の適合性評価部１０８を制御するよう更に構成されてよい。最良適合データ点は、生成されたデータ点の母集団の中で最適な又は最良の変換されたデータ点（又はバリエーション）であってよい。
【００２４】
いくつかの実施形態で、電子デバイス１０２は、特定のエポックにおいて、決定された最良適合データ点について、ＤＮＮ１１０の訓練を制御するよう更に構成されてよい。電子デバイス１０２は、決定された最良適合データ点（すなわち、現在のエポックにおいて決定されたシードデータ点の最適なバリエーション）を、ＤＮＮ１１０を訓練する次のエポックのための新しいシードデータ点として再選択するよう更に構成されてよい。電子デバイス１０２は、訓練されたＤＮＮを取得するために、予め定義された数のエポックについて、再選択されたシード点に基づきデータ点の母集団を遺伝学的に生成することと、母集団から最良適合データ点を決定することと、決定された最良適合データ点に基づきＤＮＮ１１０の訓練を制御することとを繰り返し実行してよい。訓練されたＤＮＮは、訓練データセットの実際的なバリエーションに関連した最適な且つ最良適合の変換されたデータ点により訓練されることで、改善された精度でリアルタイムアプリケーションの分類又は検出タスクを実行し得る。
【００２５】
遺伝モデル１０４は、入力されたシードデータ点に基づきデータ点の母集団を生成するように母集団生成部１０６を制御するよう構成され得る適切なロジック、回路構成、インターフェイス、及び／又はコードを有してよい。追加的に、又は代替的に、遺伝モデル１０４は、プロセッサ、（例えば、１つ以上の動作を実行する又はその実行を制御する）マイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアにより実装されてよい。いくつかの他の事例では、遺伝モデル１０４は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【００２６】
遺伝モデル１０４は、制限なしに、変異（mutation）演算子又は交叉（crossover）演算子を含んでよい。母集団生成部１０６は、ＤＮＮ１１０を訓練するための複数のエポックにおいて、シードデータ点に対する変異演算子又は交叉演算子の適用に基づいて、データ点の母集団を生成するよう構成され得る適切なロジック、回路構成、インターフェイス、及び／又はコードを有してよい。追加的に、又は代替的に、母集団生成部１０６は、プロセッサ、（例えば、１つ以上の動作を実行する又はその実行を制御する）マイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアにより実装されてよい。いくつかの他の事例では、母集団生成部１０６は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【００２７】
いくつかの実施形態で、遺伝モデル１０４又は母集団生成部１０６は、様々なタイプのデータ点（例えば、画像、スピーチ、テキスト）についての種々の実際的なバリエーションの複数の予め定義された範囲の変換値を記憶するよう構成されてよい。遺伝モデル１０４又は母集団生成部１０６は、複数の変換されたデータ点を母集団として生成するように、実際的なバリエーションの対応する予め定義された範囲から変換値をランダムに選択するよう更に構成されてよい。予め定義された範囲及び母集団の遺伝的生成の詳細は、例えば、図３乃至５で、詳細に記載され得る。
【００２８】
適合性評価部１０８は、母集団生成部１０６によって生成されたデータ点の母集団の中で最良適合データ点（すなわち、最適な変換されたデータ点又はバリエーション）を決定するよう構成され得る適切なロジック、回路構成、インターフェイス、及び／又はコードを有してよい。追加的に、又は代替的に、適合性評価部１０８は、プロセッサ、（例えば、１つ以上の動作を実行する又はその実行を制御する）マイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアにより実装されてよい。いくつかの他の事例では、適合性評価部１０８は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【００２９】
いくつかの実施形態で、適合性評価部１０８は、生成された母集団の中で最も不可逆のデータ点を最良適合データ点として決定するよう更に構成されてよい。他の実施形態では、適合性評価部１０８は、母集団生成部１０６によって生成されたデータ点の母集団の中で最良適合データ点を決定するために、ＤＮＮ１１０において最良の構造的ニューラルネットワークカバレッジを有するデータ点を決定するよう構成されてもよい。最も不可逆のデータ点及び最良の構造的ニューラルネットワークカバレッジを決定することの詳細は、例えば、図３で、詳細に記載される。図１では、母集団生成部１０６及び適合性評価部１０８は分離されているが、いくつかの実施形態では、本開示の適用範囲からの逸脱なしに、母集団生成部１０６及び適合性評価部１０８は、遺伝モデル１０４内で単一のデバイスとして一体化されてもよい。
【００３０】
ディープニューラルネットワーク（ＤＮＮ）１１０は、特定のリアルタイムアプリケーションのための出力結果を生成するように、入力されたデータ点を分類又は認識するよう構成され得る適切なロジック、回路構成、インターフェイス、及び／又はコードを有してよい。例えば、訓練されたＤＮＮは、入力された画像において種々のオブジェクトを認識することができ、入力された画像内のオブジェクトごとに一意のラベルを供給することができる。一意のラベルは、異なる生物（例えば、人間、動物、植物）又は無生物エンティティ（例えば、車両、建物、コンピュータ、本、など）に対応してよい。他の例では、音声認識のアプリケーションに関連した訓練されたＤＮＮ１１０は、オーディオサンプルのソース（発話者）を識別するように種々の入力オーディオサンプルを認識し得る。ＤＮＮ１１０は、プロセッサ、（例えば、１つ以上の動作を実行する又はその実行を制御する）マイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアにより実装されてよい。いくつかの他の事例では、ＤＮＮ１１０は、コード、プログラム、又はソフトウェア命令の組であってよい。ＤＮＮ１１０は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【００３１】
いくつかの実施形態で、ＤＮＮ１１０は、入力されたデータ点の認識のための複数の認識レイヤ（図示せず。）に対応してよい。このとき、夫々の連続的なレイヤは、前のレイヤの出力を入力として使用してよい。各認識レイヤは、複数のニューロンに関連付けられてよく、複数のニューロンの夫々は、複数の重みに更に関連付けられてよい。訓練中、ＤＮＮ１１０は、入力されたデータ点及びＤＮＮ１１０の出力結果（例えば、グラウンドトゥルース）に基づき重みを調整するよう構成されてよい。ＤＮＮ１１０の例には、制限なしに、回帰型ニューラルネットワーク（Recurrent  Neural  Network，ＲＮＮ）、人工ニューラルネットワーク（Artificial  Neural  Network，ＡＮＮ）、畳み込みニューラルネットワーク（Convolutional  Neural  Network，ＣＮＮ）、ＣＮＮ−回帰型ニューラル（ＣＮＮ−ＲＮＮ）、Ｒ−ＣＮＮ、Ｆａｓｔ  Ｒ−ＣＮＮ、Ｆａｓｔｅｒ  Ｒ−ＣＮＮ、長短期記憶（Long  Short  Term  Memory，ＬＳＴＭ）ネットワークに基づくＲＮＮ、ＣＮＮ＋ＲＮＮ、ＬＳＴＭ＋ＡＮＮ、ゲート付き回帰型ユニット（Gated  Recurrent  Unit，ＧＲＵ）に基づくＲＮＮ、全結合（fully  connected）ニューラルネットワーク、ＣＴＣ（Connectionist  Temporal  Classification）に基づくＲＮＮ、ディープベイジアン（deep  Bayesian）ニューラルネットワーク、敵対的生成ネットワーク（Generative  Adversarial  Network，ＧＡＮ）、及び／又はそのようなネットワークの組み合わせがある。
【００３２】
データベース１１２は、ＤＮＮ１１０を訓練するために電子デバイス１０２によって使用される訓練データセットを記憶するよう構成され得る適切なロジック、インターフェイス、及び／又はコードを有してよい。データベース１１２は、訓練データセットを含むリレーショナルデータベース又は非リレーショナルデータベースであってよい。また、いくつかの場合に、データベース１１２は、クラウドサーバのようなサーバに記憶されてもよく、あるいは、電子デバイス１０２にキャッシュ及び記憶されてもよい。データベース１１２のサーバは、訓練データセットを供給するリクエストを電子デバイス１０２から通信ネットワーク１１６を介して受け取るよう構成されてよい。それに応えて、データベース１１２のサーバは、受け取られたリクエストに基づいて訓練データセットを読み出して電子デバイス１０２へ通信ネットワーク１１６を介して供給するよう構成されてよい。いくつかの実施形態で、データベース１１２は、電子デバイス１０２によって生成された最良適合データ点及びデータ点の母集団を受信及び記憶するよう構成されてもよい。いくつかの実施形態で、データベース１１２は、特定のリアルタイムアプリケーションのための訓練されたＤＮＮを記憶するよう構成されてもよい。追加的に、又は代替的に、データベース１１２は、プロセッサ、（例えば、１つ以上の動作を実行する又はその実行を制御する）マイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアにより実装されてよい。いくつかの他の事例では、データベース１１２は、ハードウェアとソフトウェアとの組み合わせにより実装されてもよい。
【００３３】
ユーザエンドデバイス１１４は、ＤＮＮ１１０が訓練される特定の分類タスクが実行され得るリアルタイムアプリケーションを記憶するよう構成され得る適切なロジック、回路構成、インターフェイス、及び／又はコードを有してよい。いくつかの実施形態で、ユーザエンドデバイス１１４は、電子デバイス１０２によって遺伝学的に生成されたデータ点の最良適合の変換されたデータ点又は実際的なバリエーションに基づき訓練され得るＤＮＮ１１０を展開してよい。ユーザエンドデバイス１１４は、展開されたＤＮＮ１１０を利用して、リアルタイムアプリケーションの分類又は検出タスクを実行してよい。例えば、ユーザエンドデバイス１１４は、内蔵されたカメラから入力画像を受け取ることができ、ユーザエンドデバイス１１４で展開された訓練されたＤＮＮ１１０に基づいて入力画像に対して画像分類又は認識を実行することができる電子デバイスであってよい。他の例では、ユーザエンドデバイス１１４は、周囲からリアルタイム画像を受け取り、内蔵の訓練されたＤＮＮ１１０を通じて、画像において捕捉された種々のオブジェクトを検出することができる自律走行車であってよい。他の例では、ユーザエンドデバイス１１４は、種々のスピーチデータサンプルに対して訓練されたＤＮＮ１１０によって実行される音声認識に基づきユーザ認証を行うことができる音声セキュリティシステムであってよい。上記の例は、本開示に対する制限と解釈されるべきではなく、ＤＮＮ１１０は、簡潔さのために言及されていない多くの可能な用途のために訓練されてよいことが留意されるべきである。ユーザエンドデバイス１１４の例には、制限なしに、モバイルデバイス、デスクトップコンピュータ、ラップトップ、コンピュータワークステーション、コンピューティングデバイス、メインフレームマシン、クラウドサーバのようなサーバ、及び一群のサーバがある。
【００３４】
通信ネットワーク１１６は、通信媒体を含んでよく、それを通じて、電子デバイス１０２は、データベース１１２を記憶し得るサーバ及びユーザエンドデバイス１１４と通信し得る。通信ネットワーク１１６の例には、制限なしに、インターネット、クラウドネットワーク、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）ネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、及び／又はメトロポリタンエリアネットワーク（ＭＡＮ）がある。環境１００内の様々なデバイスは、様々な有線及び無線通信プロトコルに従って、通信ネットワーク１１６へ接続するよう構成されてよい。かような有線及び無線通信プロトコルの例には、制限なしに、伝送制御プロトコル及びインターネットプロトコル（Transmission  Control  Protocol  and  Internet  Protocol，ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（User  Datagram  Protocol，ＵＤＰ）、ハイパーテキスト転送プロトコル（Hypertext  Transfer  Protocol，ＨＴＴＰ）、ファイル転送プロトコル（File  Transfer  Protocol，ＦＴＰ）、ＺｉｇＢｅｅ（登録商標）、ＥＤＧＥ、ＩＥＥＥ８０２．１１、ライトフィデリティ（Ｌｉ−Ｆｉ）、８０２．１６、ＩＥＥＥ８０２．１１ｓ、ＩＥＥＥ８０２．１１ｇ、マルチホップ通信、無線アクセスポイント（ＡＰ）、デバイス間（device-to-device）通信、セルラー通信プロトコル、及び／又はＢｌｕｅｔｏｏｔｈ（登録商標）（ＢＴ）通信プロトコル、あるいは、それらの組み合わせがある。
【００３５】
本開示の適用範囲から逸脱することなしに、図１に対して変更、追加、又は削除が行われてよい。例えば、環境１００は、本開示で図示及び記載されているものよりも多い又は少ない要素を含んでよい。例えば、いくつかの実施形態で、環境１００は、電子デバイス１０２を含むが、データベース１１２及びユーザエンドデバイス１１４を含まなくてもよい。その上、いくつかの実施形態で、データベース１１２及びユーザエンドデバイス１１４の夫々の機能は、本開示の適用範囲からの逸脱なしに、電子デバイス１０２に組み込まれてよい。
【００３６】
図２は、本開示で記載される少なくとも１つの実施形態に従って配置される、遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおけるデータ拡張のためのシステムの例のブロック図である。図２は、図１からの要素との関連で説明される。図２を参照して、例となるシステム２０２のブロック図２００が示されている。例となるシステム２０２は、電子デバイス１０２、遺伝モデル１０４、適合性評価部１０８、及びＤＮＮ１１０を含んでよい。電子デバイス１０２は、プロセッサ２０４、メモリ２０６、永続性データストレージ２０８、入出力（Ｉ／Ｏ）デバイス２１０、及びネットワークインターフェイス２１２を含んでよい。
【００３７】
プロセッサ２０４は、電子デバイス１０２によって実行される種々の動作に関連したプログラム命令を実行するよう構成され得る適切なロジック、回路構成、及び／又はインターフェイスを有してよい。例えば、動作のいくつかは、複数のデータ点を含む訓練データセットの受け取り、データ点の母集団の生成、各エポックにおける最良適合データ点の決定、及びＤＮＮ１１０の訓練を含む。プロセッサ２０４は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む任意の適切な特別目的又は汎用のコンピュータ、コンピューティングエンティティ、又はプロセッシングデバイスを含んでよく、任意の適用可能なコンピュータ可読記憶媒体に記憶されている命令を実行するよう構成されてよい。例えば、プロセッサ２０４は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは、プログラム命令を解釈及び／若しくは実行するよう並びに／又はデータを処理するよう構成された任意の他のデジタル又はアナログ回路構成を含んでよい。図２には単一のプロセッサとして表されているが、プロセッサ２０４は、本開示で記載される電子デバイス１０２の任意数の動作を個別的に又は集合的に実行するか又はその実行を指示するよう構成された任意数のプロセッサを含んでよい。更には、１つ以上のプロセッサが、異なるサーバのような、１以上の異なる電子デバイスに存在してもよい。
【００３８】
いくつかの実施形態で、プロセッサ２０４は、メモリ２０６及び／又は永続性データストレージ２０８に記憶されているプログラム命令を解釈及び／若しくは実行するよう並びに／又は記憶されているデータを処理するよう構成されてよい。いくつかの実施形態で、プロセッサ２０４は、データストレージ２０８からプログラム命令をフェッチし、プログラム命令をメモリ２０６にロードしてよい。プログラム命令がメモリ２０６内にロードされた後、プロセッサ２０４はプログラム命令を実行してよい。プロセッサ２０４の例のいくつかは、ＧＰＵ、ＣＰＵ、ＲＩＳＣプロセッサ、ＡＳＩＣプロセッサ、ＣＩＳＣプロセッサ、コプロセッサ、及び／又はそれらの組み合わせであってよい。
【００３９】
メモリ２０６は、プロセッサ２０４によって実行可能なプログラム命令を記憶するよう構成され得る適切なロジック、回路構成、及び／又はインターフェイスを有してよい。特定の実施形態で、メモリ２０６は、オペレーティングシステム及び関連するアプリケーション固有情報を記憶するよう構成されてよい。メモリ２０６は、コンピュータ実行可能な命令又はデータ構造を運ぶか又は記憶しているコンピュータ可読記憶媒体を含んでよい。かようなコンピュータ可読記憶媒体は、プロセッサ２０４のような汎用又は特別目的のコンピュータによってアクセスされ得る任意の利用可能な媒体を含んでよい。一例として、制限なしに、かようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的消去可能なプログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、コンパクトディスク・リードオンリーメモリ（ＣＤ−ＲＯＭ）若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）、あるいは、コンピュータ実行可能な命令又はデータ構造の形で特定のプログラムコードを搬送又は記憶するために使用され得且つ汎用又は特別目的のコンピュータによってアクセスされ得る任意の他の記憶媒体を含む有形な又は非一時的なコンピュータ可読記憶媒体を含んでよい。上記のものの組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれ得る。コンピュータ実行可能命令は、例えば、プロセッサ２０４に、電子デバイス１０２に関連した特定の動作又は動作群を実行させるよう構成された命令及びデータを含んでよい。
【００４０】
永続性データストレージ２０８は、プロセッサ２０４によって実行可能なプログラム命令、オペレーティングシステム、並びに／又はログ及びアプリケーション固有データベースのようなアプリケーションを記憶するよう構成され得る適切なロジック、回路構成、及び／又はインターフェイスを有してよい。永続性データストレージ２０８は、コンピュータ実行可能な命令又はデータ構造を運ぶか又は記憶しているコンピュータ可読記憶媒体を含んでよい。かようなコンピュータ可読記憶媒体は、プロセッサ２０４のような汎用又は特別目的のコンピュータによってアクセスされ得る任意の利用可能な媒体を含んでよい。
【００４１】
一例として、制限なしに、かようなコンピュータ可読記憶媒体は、コンパクトディスク・リードオンリーメモリ（ＣＤ−ＲＯＭ）若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス（例えば、ハードディスクドライブ（ＨＤＤ））、フラッシュメモリデバイス（例えば、ソリッドステートドライブ（ＳＳＤ）、セキュアデジタル（ＳＤ）カード、他のソリッドステートメモリデバイス）、あるいは、コンピュータ実行可能な命令又はデータ構造の形で特定のプログラムコードを搬送又は記憶するために使用され得且つ汎用又は特別目的のコンピュータによってアクセスされ得る任意の他の記憶媒体を含む有形な又は非一時的なコンピュータ可読記憶媒体を含んでよい。上記のものの組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれ得る。コンピュータ実行可能命令は、例えば、プロセッサ２０４に、電子デバイス１０２に関連した特定の動作又は動作群を実行させるよう構成された命令及びデータを含んでよい。
【００４２】
いくつかの実施形態で、メモリ２０６、永続性データストレージ２０８、又はそれらの組み合わせのいずれかが、ソフトウェア命令として遺伝モデル１０４、適合性評価部１０８、及びＤＮＮ１１０を記憶してよい。プロセッサ２０４は、遺伝モデル１０４、適合性評価部１０８、及びＤＮＮ１１０に関するソフトウェア命令をフェッチして、開示される電子デバイス１０２の種々の動作を実行してよい。いくつかの実施形態で、メモリ２０６、永続性データストレージ２０８、又はそれらの組み合わせのいずれかが、訓練される訓練データセットを記憶してよい。いくつかの実施形態で、種々のデータ点（すなわち、画像、オーディオ、テキスト、など）の実際的なバリエーション及び夫々の実際的なバリエーションについての変換値の種々の予め定義された範囲は、メモリ２０６、永続性データストレージ２０８、又はそれらの組み合わせのいずれかに記憶されてよい。
【００４３】
Ｉ／Ｏデバイス２１０は、ユーザ入力を受けるよう構成され得る適切なロジック、回路構成、インターフェイス、及び／又はコードを有してよい。Ｉ／Ｏデバイス２１０は、ユーザ入力に応答して出力を供給するよう更に構成されてよい。例えば、Ｉ／Ｏデバイス２１０は、ユーザからユーザ入力として手書きテキストを受け取ってよく、受け取られたユーザ入力は、ＤＮＮ１１０を訓練するために使用されても、又は訓練されたＤＮＮ１１０に基づき認識されてもよい。
【００４４】
Ｉ／Ｏデバイス２１０は、プロセッサ２０４、及びネットワークインターフェイス２１２のような他のコンポーネントと通信するよう構成され得る様々な入力及び出力デバイスを含んでよい。入力デバイスの例には、制限なしに、タッチスクリーン、キーボード、マウス、ジョイスティック、及び／又はマイクロホンがある。出力デバイスの例には、制限なしに、ディスプレイ及びスピーカがある。
【００４５】
ネットワークインターフェイス２１２は、通信ネットワーク１１６を介した、電子デバイス１０２と、データベース１１２と、ユーザエンドデバイス１１４との間の通信を確立するよう構成され得る適切なロジック、回路構成、インターフェイス、及び／又はコードを有してよい。ネットワークインターフェイス２１２は、通信ネットワーク１１６を介した電子デバイス１０２の有線又は無線通信をサポートするように様々な既知の技術の使用によって実装されてよい。ネットワークインターフェイス２１２は、制限なしに、アンテナ、無線周波数（ＲＦ）トランシーバ、１つ以上の増幅器、チューナ、１つ以上の発振器、デジタル信号プロセッサ、コーダ−デコーダ（ＣＯＤＥＣ）チップセット、加入者識別モデル（Subscriber  Identity  Module，ＳＩＭ）カード、及び／又はローカルバッファを含んでよい。
【００４６】
ネットワークインターフェイス２１２は、インターネット、イントラネット、並びに／又は無線ネットワーク、例えば、セルラーネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）及び／若しくはメトロポリタンエリアネットワーク（ＭＡＮ）のようなネットワークと無線通信を介して通信してよい。無線通信は、ＧＳＭ(登録商標)（Global  System  for  Mobile  Communications）、ＥＤＧＥ（Enhanced  Data  GSM  Environment）、広帯域符号分割多重アクセス（Wideband  Code  Division  Multiple  Access，Ｗ−ＣＤＭＡ）、ロングタームエボリューション（Long  Term  Evolution，ＬＴＥ）、符号分割多重アクセス（ＣＤＭＡ）、時分割多重アクセス（Time  Division  Multiple  Access，ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）（例えば、ＩＥＥＥａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ及び／又はＩＥＥＥ８０２．１１ｎ）、ボイスオーバーインターネットプロトコル（Voice  over  Internet  Protocol，ＶｏＩＰ）、ライトフィデリティ（Ｌｉ−Ｆｉ）、あるいはＷｉ−ＭＡＸのような、複数の通信規格、プロトコル及び技術のいずれかを使用してよい。
【００４７】
本開示の適用範囲から逸脱することなしに、例となるシステム２０２に対して変更、追加、又は削除が行われてよい。例えば、いくつかの実施形態で、例となるシステム２０２は、簡潔さのために明示的には図示又は記載されていないことがある任意数の他のコンポーネントを含んでもよい。
【００４８】
図３は、本開示で記載される少なくとも１つの実施形態に従って、遺伝モデルに基づきディープニューラルネットワーク（ＤＮＮ）を訓練することにおけるデータ拡張のための方法の例のフローチャートである。図３は、図１及び図２からの要素との関連で説明される。図３を参照して、フローチャート３００が示されている。フローチャート３００で表されている方法は、３０２から開始してよく、任意の適切なシステム、装置、又はデバイスによって、例えば、図１の例となる電子デバイス１０２、又は図２の例となるシステム２０２によって、実行されてよい。例えば、電子デバイス１０２、遺伝モデル１０４、母集団生成部１０６、適合性評価部１０８、及びＤＮＮ１１０の中の１つ以上が、方法３００に関連した動作の中の１つ以上を実行してよい。たとえ別個のブロックとして表されているとしても、方法３００のブロックの１つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは削除されてもよい。
【００４９】
ブロック３０２で、訓練データセットで保持されている複数のデータ点から、第１データ点がシードデータ点として選択されてよい。訓練データセット又は複数のデータ点は、リアルタイムアプリケーションに関連付けられてよい。例えば、複数のデータ点は、制限なしに、画像、オーディオ／スピーチサンプル、テキスト文字、ソフトウェア命令、又は制限なしに、電気生体信号、動きデータ、若しくは深さデータのような他の形態のデジタル信号を含んでよい。リアルタイムアプリケーションの例には、制限なしに、画像認識アプリケーション、画像分類アプリケーション、音声認識アプリケーション、テキスト認識アプリケーション、マルウェア検出アプリケーション、自律走行車アプリケーション、異常検出アプリケーション、機械翻訳アプリケーション、又はデジタル信号／データからのパターン認識アプリケーションがある。
【００５０】
いくつかの実施形態で、プロセッサ２０４は、メモリ２０６、永続性データストレージ２０８、又はデータベース１１２のいずれか又は組み合わせに記憶され得る訓練データセット内の複数のデータ点から第１データ点（例えば、画像）を選択するよう構成されてよい。プロセッサ２０４は、第１データ点及び遺伝モデル１０４によって遺伝学的に生成されたその実際的なバリエーションに対してＤＮＮ１１０を訓練するために、第１データ点を選択してよい。
【００５１】
ブロック３０４で、選択されたシードデータ点に対して、遺伝モデルが適用されてよい。１つ以上の実施形態で、プロセッサ２０４は、選択されたシードデータ点に対して遺伝モデルを適用するように遺伝モデル１０４を制御するよう構成されてよい。遺伝モデル１０４は、選択されたシードデータ点に対して（遺伝モデルの部分としての）変異遺伝演算又は交叉遺伝演算のいずれか一方又は組み合わせを適用するよう構成されてよい。いくつかの実施形態で、遺伝モデル１０４は、複数の実際的なバリエーションに関連した変換ベクトル（Ｔｃ）を、選択されたシードデータ点に対し適用するよう構成されてよい。複数の実際的なバリエーションは、リアルタイムでシードデータ点のタイプに対応してよい。
【００５２】
種々のタイプのデータ点についての実際的なバリエーションの例は、次のように、表１で与えられている：
【表１】
2020187734.tif 000003
【００５３】
いくつかの実施形態で、第１シードデータ点に適用される変換ベクトル（Ｔｃ）は、１つの変換に対応してよい。遺伝モデル１０４は、変換ベクトル（Ｔｃ）をシードデータ点に適用して、変換されたデータ点を生成するよう構成されてよい。変換ベクトル（Ｔｃ）は、複数の変換値を含んでよく、変換ベクトル（Ｔｃ）の各変換値は整数値であり、訓練されるデータ点のタイプに関連した複数の実際的なバリエーションの中のある実際的なバリエーションに対応してよい。いくつかの実施形態で、各変換値は、対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。データ点としての画像に関連した実際的なバリエーションについての予め定義された範囲は、次のように、表２で与えられている：
【表２】
2020187734.tif 000004
【００５４】
表２で与えられている変換値の予め定義された範囲は、単なる一例に過ぎない。しかし、異なったタイプのデータ点についての異なった実際的なバリエーションは、本開示の適用範囲から逸脱することなしに、様々なリアルタイムアプリケーションのための異なった所定範囲を有してよい。（スピーチ又はテキストのような）他のタイプのデータ点についての予め定義された範囲は、簡潔さのために本開示からは省略されている。
【００５５】
例えば、変換ベクトル（Ｔｃ）の第１変換値は、画像の回転動作に対応してよい。同様に、変換ベクトル（Ｔｃ）の第２変換値、第３変換値、第４変換値、第５変換値、第６変換値、及び第７変換値は夫々、画像に対する水平移動／シフト動作、垂直移動／シフト動作、剪断動作、ズーム動作、輝度変更動作、及びコントラスト変更動作に対応してよい。
【００５６】
例えば、第１変換値が“＋１”である場合に、遺伝モデル１０４は、予め定義された方向（例えば、時計回り方向）に“１”度だけシードデータ点（例えば、画像）を回転させるよう構成されてよい。他の例では、変換ベクトル（Ｔｃ）の第２変換値が“＋２”である場合に、遺伝モデル１０４は、予め定義された方向（例えば、右）に“２”ピクセルだけシードデータ点（例えば、シード画像）を水平移動させるよう構成されてよい。実施形態において、変換ベクトル（Ｔｃ）のサイズは、変換ベクトル（Ｔｃ）の対応する変換値に基づき、選択されたデータ点に対して実行される動作の数であってよい。
【００５７】
いくつかの実施形態で、遺伝モデル１０４は、選択されたシードデータ点（例えば、画像）に変換ベクトル（Ｔｃ）の各変換値を適用して、変換されたデータ点を生成するよう構成されてよい。例えば、変換ベクトル（Ｔｃ）が［２，１，０，０，０，−２，０］を示す場合に、次いで、遺伝モデル１０４は、予め定義された回転方向に“２”度だけシード画像を回転させ、予め定義された平行移動方向に“１”ピクセルだけシード画像を水平移動させ、２輝度値（例えば、“２”ｎｉｔｓ）だけ各ピクセルの輝度を下げて、変換された画像、すなわち、変換されたデータ点を生成し得る。このように、変換ベクトル（Ｔｃ）の適用は、データ点に対する１つ以上の実際的なバリエーション動作の実行であってよい。変換ベクトル（Ｔｃ）によって定義される１つ以上の動作のこのような実行は、変換されたデータ点を生成するようにデータ点に適用される１つの変換に対応してよい。複数のバリエーション動作の実行は、複合変換と呼ばれ得る。
【００５８】
いくつかの実施形態で、遺伝モデル１０４は、変換ベクトル（Ｔｃ）をデータ点に適用する前にランダムに変換ベクトル（Ｔｃ）の変換値を生成するよう構成されてよい。選択されたシードデータ点に対する、ランダムに生成された変換ベクトル（Ｔｃ）の適用は、遺伝モデル１０４の変異遺伝演算又は交叉遺伝演算と呼ばれ得る。なお、交叉遺伝演算における変換ベクトル（Ｔｃ）は、複数の変換ベクトルの変換値の間の予め定義されたクロスオーバーに基づき生成されてよい。遺伝モデル１０４の交叉演算の詳細は、例えば、図５Ａ〜５Ｂで、詳細に記載される。このようにして、遺伝モデル１０４は、選択されたシードデータ点の（遺伝的突然変異体としての）変換されたデータ点を生成する。
【００５９】
ブロック３０６で、データ点の母集団が生成されてよい。いくつかの実施形態で、プロセッサ２０４は、データ点の母集団を生成するように遺伝モデル１０４又は母集団生成部１０６を制御するよう構成されてよい。データ点の母集団は、選択されたシードデータ点に対して複数の変換ベクトルを適用することに基づき生成された複数の変換されたデータ点を含んでよい。選択されたシードデータ点に対して複数の変換ベクトルを適用することに基づく複数の変換されたデータ点の生成は、例えば、図５Ａ〜５Ｂで、詳細に記載される。いくつかの実施形態で、生成された母集団の中の複数のデータ点の数、又は生成された母集団のサイズは、予め定義されてよい。
【００６０】
いくつかの実施形態で、選択されたシードデータ点に適用される各変換ベクトルは、複数の変換されたデータ点に含まれるべき１つの変換されたデータ点の生成前に、ランダムに生成されてよい。夫々の生成された変換ベクトル（Ｔｃ）の各変換値は、（例えば、データ点として画像についての）表２で言及された予め定義された範囲内にあってよい。いくつかの実施形態で、複数の変換されたデータ点のその後の生成中に、変換ベクトル（Ｔｃ）は、全体の又は絶対的な変換値が実際的なバリエーションに対応する予め定義された範囲の中に依然としてあるように、生成されてよい。例えば、第１の変換されたデータ点の生成の時点に、シード画像が５°だけ回転される場合に、それから、第２の変換されたデータ点の生成の時点に、回転のための変換値は、全体の又は絶対的な回転が実際的なバリエーションとしての回転の変換値の予め定義された範囲の中に依然としてあることができるように、ランダムに生成されてよい。シードデータ点として例となる画像についてのデータ点の母集団は、一例として、図４に表されている。
【００６１】
ブロック３０８で、生成されたデータ点の母集団から、最良適合（best-fit）データ点が決定されてよい。いくつかの実施形態で、プロセッサ２０４は、生成されたデータ点の母集団の中の各データ点に対する適合度関数（fitness  function）の適用に基づいて、生成されたデータ点の母集団から最良適合データ点を決定するように、遺伝モデル１０４の適合性評価部１０８を制御するよう構成されてよい。いくつかの実施形態で、適合性評価部１０８は、生成されたデータ点の母集団の中で最も不可逆の（most  lossy）データ点を最良適合データ点として決定するよう構成されてよい。最も不可逆のデータ点を決定するために、適合性評価部１０８は、生成された母集団の中の各データ点をＤＮＮ１１０へ入力してよい。
【００６２】
適合性評価部１０８は、ＤＮＮ１１０へ入力される各データ点について出力値（例えば、出力確率値）を計算するよう更に構成されてもよい。いくつかの実施形態で、適合性評価部１０８は、ＤＮＮ１１０へ入力される各データ点について、ＤＮＮ１１０から出力値を抽出し又は読み出してよい。適合性評価部１０８は、ＤＮＮ１１０へ入力される各データ点について、ＤＮＮ１１０の計算された出力値からの誤差値を計算するよう更に構成されてもよい。例えば、特定の入力データ点についてのＤＮＮ１１０の出力値が“０．２”である場合に、誤差値は（例えば、出力確率値として）“０．８”であってよい。このように、適合性評価部１０８は、生成されたデータ点の母集団のサイズに基づき、複数の誤差値を計算し得る。
【００６３】
適合性評価部１０８は、計算された複数の誤差値に基づき、生成された母集団の中の最も不可逆のデータ点を計算するよう更に構成されてもよい。いくつかの実施形態で、適合性評価部１０８は、生成された母集団の中の全てのデータ点に関連した全ての誤差値の中で最も高い誤差値（最も低い出力値）をＤＮＮ１１０が供給するデータ点を、最も不可逆のデータ点と見なしてよい。
【００６４】
適合性評価部１０８は、生成されたデータ点の母集団の中の最も不可逆のデータ点として最良適合データ点を見なすよう構成されてよい。最良適合データ点は、ＤＮＮ１１０において最悪の出力値又は確率出力値を生成した変換されたデータ点に対応してよい。いくつかの実施形態で、適合性評価部１０８は、生成された母集団の各データ点がＤＮＮ１１０の入力であるときにＤＮＮ１１０の構造的ニューラルネットワークカバレッジ（例えば、ニューロンカバレッジ）を決定してよい。入力されたデータ点に対する構造的ニューラルネットワークカバレッジは、ＤＮＮ１１０におけるニューロンの総数に対するアクティブにされたニューロンの一意の数の比であってよい。適合性評価部１０８は、生成された母集団の中の各データ点について構造的ニューラルネットワークカバレッジを決定してよい。いくつかの実施形態で、適合性評価部１０８は、ＤＮＮ１１０へ入力された全てのデータ点について決定された全ての構造的ニューラルネットワークカバレッジの中で構造的ニューラルネットワークカバレッジが最も高い、生成された母集団の中のあるデータ点を、最良適合データ点と見なしてよい。構造的ニューラルネットワークカバレッジに基づき決定された最良適合データ点は、一度訓練されたＤＮＮ１１０によって正確に認識され得るデータ点であってよい。このように、プロセッサ２０４は、生成された母集団の中の最良適合データ点を、最も不可逆のデータ点として、又は最も高い構造的ニューラルネットワークカバレッジにより、決定するように、適合性評価部１０８を制御するよう構成されてよい。決定された最良適合データ点は、ＤＮＮ１１０を訓練するために使用される訓練データに対する実際のデータ拡張のために使用されてよい。
【００６５】
ブロック３１０で、決定された最良適合データ点に基づき、ＤＮＮ１１０に対して訓練動作が実行されてよい。いくつかの実施形態で、プロセッサ２０４は、生成された母集団の中の決定された最良適合データ点をＤＮＮ１１０へ入力してよい。ＤＮＮ１１０は、決定された最良適合データ点に対して訓練されてよい。最良適合データ点（すなわち、シードデータ点の最も不可逆の変換されたバリエーション又は最良ニューロンカバレッジの変換されたバリエーションとしてのデータ点）に対する訓練は、訓練されたＤＮＮ１１０の精度を高め得る。ＤＮＮ１１０の訓練は、例えば、図６で、詳細に記載される。
【００６６】
ブロック３１２で、ＤＮＮ１１０を訓練する予め定義された数のエポックが完了されているかどうかが決定されてよい。いくつかの実施形態で、プロセッサ２０４は、ＤＮＮ１１０を訓練する予め定義された数のエポックが完了されているかどうかを決定するよう構成されてよい。予め定義された数のエポックが完了されている場合に、制御はブロック３１６へ移動する。そうでない場合には、制御はブロック３１４へ移動する。
【００６７】
ブロック３１４で、生成された母集団の中の決定された最良適合データ点は、訓練データセット内の第１データ点の訓練の次のエポックのためのシードデータ点として再選択されてよい。いくつかの実施形態で、プロセッサ２０４は、次のエポックのためのシードデータ点として最良適合データ点（すなわち、現在のエポックで決定されたデータ点）を再選択するよう構成されてよい。制御はブロック３０４へ移動する。
【００６８】
１つ以上の実施形態で、プロセッサ２０４は、ＤＮＮ１１０が訓練データセットの第１データ点及び第１データ点の様々な実際的なバリエーションに関連した種々の変換されたデータ点に対して訓練されるように、予め定義された数のエポックについて、ブロック３０４からブロック３１４までの動作を繰り返し実行するよう構成されてよい。上記の特徴のように、開示される電子デバイス１０２又はプロセッサ２０４は、１つのエポックにおいてシードデータ点の最良適合の変換されたデータ点（すなわち、最も不可逆であるか、又は最良のニューロンカバレッジを有し得るデータ点）を識別することができ、更には、ＤＮＮ１００を訓練する先行のエポックで識別された最良適合データ点に基づき後続のエポックにおいて他の最良適合データ点を識別することに焦点を当て得る。複数のエポックにおける全ての識別された最良適合データ点は、データ拡張に基づいたＤＮＮ１１０の訓練のために使用されてよい。よって、ＤＮＮ１１０は、予め定義された数のエポックにおいて、訓練データセット内の特定のデータ点のいくつかの最悪又は最良のバリエーションのいずれか（又は両方）に対して訓練されてよい。これは、第１データ点及びそのいくつかのバリエーションについての正確な分類値（例えば、尤度値）を認識及び／又は出力するようにＤＮＮ１１０の精度を高め得る。
【００６９】
ブロック３１６で、訓練データセット内の第１データ点について、訓練されたＤＮＮ１１０が取得され得る。１つ以上の実施形態で、プロセッサ２０４は、訓練データセット内の複数のデータ点に対してＤＮＮ１１０を訓練するようにブロック３０２から３１６の特徴を実行するよう構成されてよい。制御は終了に移動してよい。
【００７０】
フローチャート３００は、３０２、３０４、３０６、３０８、３１０、３１２、３１４、及び３１６のような別個の動作として表されているが、特定の実施形態では、かような別個の動作は更に、開示される実施形態の本質から外れることなしに、特定の実施に応じて、更なる動作に分けられても、より少ない動作へとまとめられても、あるいは削除されてもよい。
【００７１】
図４は、本開示で記載される少なくとも１つの実施形態に従って配置される、遺伝モデルに基づき生成された変換されたデータ点を表すシナリオを例示する。図４は、図１、図２、及び図３からの要素との関連で説明される。図４を参照して、訓練データセット４０２が示されている。訓練データセット４０２は、メモリ２０６、永続性データストレージ２０８、又はデータベース１１２のいずれか又は組み合わせで保持されてよい。訓練データセット４０２は第１データ点４０４を含んでよく、このデータ点に基づきＤＮＮ１１０は訓練される必要があり得る。図４において、画像データ（すなわち、猫の画像）としての第１データ点４０４は、単に一例に過ぎない。なお、訓練データセット４０２は、第１データ点４０４を含む複数のデータ点を含んでよく、オーディオデータ、テキストデータ、又は他のデジタル信号のような、他のタイプのデータ点を含んでもよい。
【００７２】
図４には、遺伝モデル１０４も示されている。図３で記載されるように、プロセッサ２０４は、データ点の母集団を生成するためのシードデータ点としての第１データ点に対する変換ベクトルの適用に基づきデータ点の母集団を生成するように、遺伝モデル１０４又は母集団生成部１０６を制御するよう構成されてよい。図４には、図３及び図５で記載されるように遺伝モデル１０４によって生成されたデータ点の母集団４０６が示されている。データ点の母集団４０６は、第１データ点４０４（すなわち、シードデータ点）と、複数の変換されたデータ点４０８とを含んでよい。
【００７３】
複数の変換されたデータ点４０８は、シードデータ点としての第１データ点４０４の（遺伝学的に生成された）実際的なバリエーションであってよい。複数の変換されたデータ点４０８は、制限なしに、第１の変換されたデータ点４０８Ａ、第２変換されたデータ点４０８Ｂ、第３の変換されたデータ点４０８Ｃ、及びＮ番目の変換されたデータ点４０８Ｎを含んでよい。ここで、Ｎは、データ点の母集団の予め定義されたサイズであってよい。例えば、第１の変換されたデータ点４０８Ａは、回転された画像（例えば、第１データ点４０４の対応する変換値によって定義された特定の角度だけ回転されている。）であってよい。第２変換されたデータ点４０８Ｂは、水平移動された画像（例えば、第１データ点４０４の対応する変換値によって定義された特定のピクセルだけ水平方向にシフトされている。）であってよい。例えば、第３の変換されたデータ点４０８Ｃは、第１データ点４０４の反転画像であってよい。Ｎ番目の変換されたデータ点４０８Ｎは、ズームされた画像（例えば、第１データ点の対応する変換値に基づきズームされている。）であってよい。
【００７４】
図５Ａ及び図５Ｂは∪敵に、本開示で記載される少なくとも１つの実施形態に従って、遺伝モデルの変異遺伝演算又は交叉遺伝演算に基づきデータ点の母集団を生成する方法の例のフローチャートを表す。図５Ａ及び図５Ｂは、図１、図２、図３、及び図４からの要素との関連で説明される。図５Ａ及び図５Ｂを参照して、フローチャート５００が示されている。フローチャート５００で表されている方法は、５０２から開始してよく、任意の適切なシステム、装置、又はデバイスによって、例えば、図１の例となる電子デバイス１０２、又は図２の例となるシステム２０２によって、実行されてよい。例えば、電子デバイス１０２、遺伝モデル１０４、母集団生成部１０６、適合性評価部１０８、及びＤＮＮ１１０の中の１つ以上が、方法５００に関連した動作の中の１つ以上を実行してよい。たとえ別個のブロックとして表されているとしても、方法５００のブロックの１つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは削除されてもよい。
【００７５】
ブロック５０２で、データ点の母集団の生成のためのシードデータ点として、データ点が受け取られてよい。いくつかの実施形態で、プロセッサ２０４は、データ点の母集団の生成のためのシードデータ点としてデータ点を受け取るよう構成されてよい。いくつかの実施形態で、データ点は、図３及び図４で記載されるように、訓練データセットから第１データ点として受け取られてよい。他の実施形態では、データ点は、先行のエポックからシードデータ点として受け取られてもよい。かような場合に、データ点は、図３で記載されるように、ＤＮＮを訓練する先行のエポックからシードデータ点として選択された最良適合データ点であってよい。プロセッサ２０４は、例えば、図３のブロック３０４で詳細に記載されるように、シードデータ点に対して遺伝モデル１０４を適用することによってデータ点の母集団を生成するようにシードデータ点としてデータ点を受け取るよう構成されてよい。
【００７６】
ブロック５０４で、データ点の母集団の現在のサイズが、“０”と設定されてよい。いくつかの実施形態で、プロセッサ２０４は、母集団の生成を開始する前に、母集団の現在のサイズを０に設定するよう構成されてよい。
【００７７】
ブロック５０６で、ランダム関数から乱数を生成するように、ランダム関数が実行されてよい。いくつかの実施形態で、プロセッサ２０４は、乱数（例えば、０から１の間で変化する確率値）を生成するように１つ以上のランダム関数を実行するよう構成されてよい。
【００７８】
ブロック５０８で、生成された乱数が（例として）“０．５”以上であるかどうかが決定されてよい。いくつかの実施形態で、プロセッサ２０４は、生成された乱数が“０．５”以上であるかどうかを決定するよう構成されてよい。生成された乱数が“０．５”よりも小さい場合に、制御はブロック５１４へ移動する。そうでない場合には、制御はブロック５１０へ移動する。乱数の決定に基づき、プロセッサ２０４は、ブロック５０２で受け取られた選択されたシードデータ点に対してどの特定の遺伝演算が適用されるべきであるかを決定するよう構成されてよい。例えば、乱数が“０．５”よりも小さいときには、次いで、プロセッサ２０４は、ブロック５１４から５２２で記載される交叉遺伝演算を実行してよい。他の場合に、生成された乱数が“０．５”以上であるときには、次いで、プロセッサ２０４は、ブロック５１０から５１２で記載されるように、選択されたシードデータ点に対して変異遺伝演算を実行してよい。
【００７９】
ブロック５０８での決定のために考えられている乱数の値は、単に一例に過ぎないことが留意され得る。特定の状況、又はリアルタイムアプリケーションでは、本開示の適用範囲から逸脱することなしに、乱数の値は決定のために変化してよい。
【００８０】
ブロック５１０で、変換ベクトル（Ｔｃ）がランダムに生成されてよい。変換ベクトル（Ｔｃ）は、種々のタイプのデータ点について表１で記載されるように、複数の実際的なバリエーションと関連付けられてよい。いくつかの実施形態で、プロセッサ２０４は、選択されたシードデータ点の複数の実際的なバリエーションについて変換ベクトル（Ｔｃ）をランダムに生成するように遺伝モデル１０４を制御するよう構成されてよい。変換ベクトル（Ｔｃ）は、複数の変換値を含んでよく、変換ベクトル（Ｔｃ）の各変換値は、整数値であり、複数の実際的なバリエーションの中のある実際的なバリエーションに対応してよい。生成された変換ベクトル（Ｔｃ）の各変換値は、例えば、データ点としての画像についての表２で、及び図３で（例えば、ブロック３０４で）記載されるように、対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。
【００８１】
ブロック５１２で、変換されたデータ点を生成するために、生成された変換ベクトル（Ｔｃ）がシードデータ点に対して適用されてよい。いくつかの実施形態で、プロセッサ２０４は、生成された変換ベクトル（Ｔｃ）をシードデータ点に適用して、変換されたデータ点を生成するように、遺伝モデル１０４を制御するよう構成されてよい。プロセッサ２０４又は遺伝モデル１０４は、生成された変換ベクトル（Ｔｃ）を適用して、変換されたデータ点を生成するように、（実際的なバリエーションに関する）１つ以上の演算をシードデータ点に対して実行するよう構成されてよい。１つ以上の演算は、変異遺伝演算について図３で（例えば、ブロック３０４で）例として記載されるように、夫々の実際的なバリエーションについて変換ベクトル（Ｔｃ）に含まれるランダムに生成された変換値ごとに実行される。制御はブロック５２４へ移動する。
【００８２】
ブロック５１４で、第１変換ベクトル（Ｔｃ’）が、シードデータ点について取り出されてよい。いくつかの実施形態で、プロセッサ２０４は、シードデータ点のための第１変換ベクトル（Ｔｃ’）を取り出すように遺伝モデル１０４を制御するよう構成されてよい。シードデータ点は、訓練データセットから受け取られた最初の（すなわち、元の）データ点、又は図３のブロック３１４で記載されるように、先行のエポックから再選択されたシードデータ点（すなわち、最良適合データ点）であってよい。
【００８３】
第１変換ベクトル（Ｔｃ’）は、データ点が画像であると考えると、表２で言及されるように、対応する実際的なバリエーションについて予め定義された値の範囲から取り出されてよい。いくつかの実施形態で、プロセッサ２０４又は遺伝モデル１０４は、第１変換ベクトル（Ｔｃ’）の各変換値をランダムに生成してよい。このとき、各変換値は、データ点が画像であると考えると、表２の対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。いくつかの実施形態で、プロセッサ２０４、遺伝モデル１０４、又は母集団生成部１０６のいずれかが、例えば、図３のブロック３０６で詳細に記載されるように、各変換値の絶対値が表２の予め定義された値の範囲内に依然としてあることができるように、先行のエポックにおける母集団についての生成された変換値に基づき、現在のエポックについての変換値を生成してよい。
【００８４】
ブロック５１６で、先行のエポックから、第２の最良適合データ点が決定されてよい。いくつかの実施形態で、プロセッサ２０４は、先行のエポックの母集団の中で第２の最良適合データ点又は変換されたデータ点を決定するよう構成されてよい。いくつかの実施形態で、プロセッサ２０４は、適合性評価部１０８から第２の最良適合データ点を受け取ってよい。第２の最良適合データ点は、ＤＮＮ１１０へ入力されるときに、先行のエポックの母集団の中で２番目に低い出力値又は２番目に高い誤差値を供給するデータ点であってよい。他の実施形態で、第２の最良適合データ点は、ＤＮＮ１１０へ入力されるときに、先行のエポックにおける母集団について決定された全ての構造的ニューラルネットワークカバレッジの中で２番目に高い構造的ニューラルネットワークカバレッジを示し得るデータ点であってよい。
【００８５】
ブロック５１８で、決定された第２の最良適合データ点について、第２変換ベクトル（Ｔｃ”）が取り出されてよい。いくつかの実施形態で、プロセッサ２０４は、先行のエポックの母集団から第２の最良適合データ点のための第２変換ベクトル（Ｔｃ”）を取り出すように遺伝モデル１０４を制御するよう構成されてよい。いくつかの実施形態で、プロセッサ２０４又は遺伝モデル１０４は、第２変換ベクトル（Ｔｃ”）の各変換値をランダムに生成してよい。このとき、各変換値は、データ点が画像であると考えると、表２の対応する実際的なバリエーションについて予め定義された値の範囲内にあってよい。いくつかの実施形態で、プロセッサ２０４又は遺伝モデル１０４は、例えば、図３のブロック３０６で詳細に記載されるように、各変換値の絶対値が表２の予め定義された値の範囲内に依然としてあることができるように、先行のエポックにおける母集団についての生成された変換値に基づき、現在のエポックにおける第２の最良適合データ点についての変換値を生成してよい。
【００８６】
ブロック５２０で、第１の組の変換値が第１変換ベクトル（Ｔｃ’）から選択されてよく、第２の組の変換値が第２変換ベクトル（Ｔｃ”）から選択されてよい。いくつかの実施形態で、プロセッサ２０４は、第１変換ベクトル（Ｔｃ’）から第１の組の変換値を選択し、第２変換ベクトル（Ｔｃ”）から第２の組の変換値を選択して、変換ベクトル（Ｔｃ）を構成するように、遺伝モデル１０４を制御してよい。
【００８７】
データ点としての画像に関する実際的なバリエーションについての第１変換ベクトル（Ｔｃ’）の例は、次のように、表３で与えられている：
【表３】
2020187734.tif 000005
【００８８】
データ点としての画像に関する実際的なバリエーションについての第２変換ベクトル（Ｔｃ”）の例は、次のように、表４で与えられている：
【表４】
2020187734.tif 000006
【００８９】
データ点としての画像に関する実際的なバリエーションについての構成された変換ベクトル（Ｔｃ）の例は、次のように、表５で与えられている：
【表５】
2020187734.tif 000007
【００９０】
表３及び表４に示されるように、第１変換ベクトル（Ｔｃ’）及び第２変換ベクトル（Ｔｃ”）の全体サイズは同じである（例えば、７）。いくつかの実施形態で、プロセッサ２０４又は遺伝モデル１０４は、変換ベクトル（Ｔｃ）を構成するように、第１変換ベクトル（Ｔｃ’）から第１の組の変換値を（例えば、表５中のＲ１、Ｔ１１、Ｔ２１、及びＳ１として）選択し、第２変換ベクトル（Ｔｃ”）から第２の組の変換値を（例えば、表５中のＺ２、Ｂ２、及びＣ２として）選択するよう構成されてよい。構成された変換ベクトル（Ｔｃ）は、表５に示されるように、変換値（例えば、Ｒ１、Ｔ１１、Ｔ２１、Ｓ１、Ｚ２、Ｂ２、及びＣ２）を含んでよい。
【００９１】
いくつかの実施形態で、第１の組の変換値の第１の個数（又は第１のサイズ）と、第２の組の変換値の第２の個数（又は第２のサイズ）とは、変換ベクトル（Ｔｃ）を構成するように異なってもよい。例えば、表５のように、第１の個数は４であり、第２の個数は３である。第１サイズと第２サイズとの全体サイズは、第１変換ベクトル（Ｔｃ’）又は第２変換ベクトル（Ｔｃ”）の実サイズと等しくてよい。他の実施形態では、第１の組の変換値の第１の個数（又は第１のサイズ）と、第２の組の変換値の第２の個数（又は第２のサイズ）とは、特定のタイプのデータ点（例えば、スピーチ若しくはテキスト）又は特定のタイプのリアルタイムアプリケーションに適用可能な実際的なバリエーションの数に応じて同じであってよい。
【００９２】
ブロック５２２で、構成された変換ベクトル（Ｔｃ）が、変換されたデータ点を生成するために、シードデータ点に対して適用されてよい。いくつかの実施形態で、プロセッサ２０４は、図３で（例えば、ブロック３０４で）詳細に記載されるように、構成された変換ベクトル（Ｔｃ）をシードデータ点（すなわち、ブロック５０２で受け取られたデータ点）に適用して、変換されたデータ点を生成するように、遺伝モデル１０４を制御するよう構成されてよい。
【００９３】
いくつかの実施形態で、第１変換ベクトル（Ｔｃ’）の取り出しと、第２変換ベクトル（Ｔｃ”）の取り出しと、変換ベクトル（Ｔｃ）を構成するための第１の組の変換値及び第２の組の変換値の選択と、構成された変換ベクトル（Ｔｃ）に基づく変換されたデータ点の生成とは、図４に示される遺伝モデル１０４の交叉遺伝演算に対応してよい。
【００９４】
ブロック５２４で、シードデータ点の生成された変換されたデータ点が、予め定義された変換基準を満たすかどうかが検証されてよい。いくつかの実施形態で、プロセッサ２０４は、生成された変換されたデータ点が予め定義された変換基準を満たすかどうかを検証するよう構成されてよい。例えば、プロセッサ２０４は、生成された変換されたデータ点も、ブロック５０２で受け取られたシードデータ点と同様に実際的であるかどうかを、検証してよい。生成された変換されたデータ点が予め定義された変換基準を満たさない場合に、プロセッサ２０４は、変換されたデータ点を捨ててよく、制御をブロック５０６へ渡して、変異遺伝演算（すなわち、ブロック５１０から５１２）又は交叉遺伝演算（ブロック５１４から５２２）のいずれかに基づき他の変換されたデータ点を生成する。そうでない場合には、制御はブロック５２６へ移る。
【００９５】
ブロック５２６で、検証された変換されたデータ点が、現在のエポックの母集団に加えられてよい。いくつかの実施形態で、プロセッサ２０４は、（ブロック５２４で検証された）変換されたデータ点を現在のエポックのデータ点の母集団に加えてよい。プロセッサ２０４は、母集団の現在のサイズを１インスタンスだけ増大させるよう更に構成されてよい。
【００９６】
ブロック５２８で、データ点の母集団の現在のサイズが、データ点の母集団の予め定義されたサイズよりも小さいかどうかが決定されてよい。予め定義されたサイズは、遺伝学的に生成されたデータ点の母集団の中で最良適合データ点を識別する前に母集団に加えられる必要があり得る変換されたデータ点の数を示してよい。現在のサイズが母集団の予め定義されたサイズよりも小さい場合に、制御はブロック５０６へ移り、母集団の他の変換されたデータ点が生成される。そうでない場合には、制御はブロック５３０へ移る。
【００９７】
ブロック５３０で、データ点の母集団が生成され得る。データ点の母集団は、母集団の現在のサイズが現在のエポックの母集団の予め定義されたサイズに達するまでブロック５０６からブロック５２８までの動作を繰り返し実行することによって生成される複数の変換されたデータ点を含んでよい。いくつかの実施形態で、生成されたデータ点の母集団はまた、複数の変換されたデータ点とともに、（ブロック５０２で受け取られた）シードデータ点も含んでよい。生成されたデータ点の母集団は、遺伝モデル１０４の変異遺伝演算に基づき生成された第１の組の変換されたデータ点を含んでよく、遺伝モデル１０４の交叉遺伝演算に基づき生成された第２の組の変換されたデータ点を含んでよい。いくつかの実施形態で、母集団の中の第１の組及び第２の組の変換されたデータ点の個数は、ブロック５０６で実行されるランダム関数に依存する。いくつかの実施形態で、ブロック５０６から５２８の繰り返しプロセスごとに、生成される変換ベクトル（Ｔｃ）は異なる可能性があるが、変換ベクトル（Ｔｃ）の絶対的な変換値は、例えば、図３のブロック３０６で記載されるように、複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にあることができる。
【００９８】
制御は終了へ移る。フローチャート５００は、５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８、５２０、５２２、５２４、５２６、５２８、及び５３０のような別個の動作として表されているが、特定の実施形態では、かような別個の動作は更に、開示される実施形態の本質から外れることなしに、特定の実施に応じて、更なる動作に分けられても、より少ない動作へとまとめられても、あるいは削除されてもよい。
【００９９】
図６は、本開示で記載される少なくとも１つの実施形態に従って、ディープニューラルネットワーク（ＤＮＮ）の訓練動作を実行する方法の例のフローチャートである。図６は、図１、図２、図３、図４、及び図５Ａ〜５Ｂからの要素との関連で説明される。図６を参照して、フローチャート６００が示されている。フローチャート６００で表されている方法は、６０２から開始してよく、任意の適切なシステム、装置、又はデバイスによって、例えば、図１の例となる電子デバイス１０２、又は図２の例となるシステム２０２によって、実行されてよい。例えば、電子デバイス１０２及びＤＮＮ１１０の１つ以上が、方法６００に関連した動作の中の１つ以上を実行してよい。たとえ別個のブロックとして表されているとしても、方法６００のブロックの１つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは削除されてもよい。
【０１００】
ブロック６０２で、ＤＮＮ１００の訓練のために、最良適合データ点が適用されてよい。いくつかの実施形態で、プロセッサ２０４は、ＤＮＮ１１０の訓練のために最良適合データ点を適用するよう構成されてよい。最良適合データ点は、例えば、図３で詳細に記載されるように、訓練データセットから選択され得る第１データ点に関して、エポックごとに、生成された母集団から決定されてよい。いくつかの実施形態で、ＤＮＮ１１０は、ＤＮＮ１１０の実出力を生成するようＤＮＮ１１０に対して最良適合データ点を適用してよい。
【０１０１】
ブロック６０４で、ＤＮＮ１１０に対する適用された最良適合データ点に基づくＤＮＮ１１０の実出力と、期待される出力との間で、誤差値が計算されてよい。期待される出力は、第１データ点がＤＮＮ１１０によって正確に認識（又は分類）される場合のＤＮＮ１１０の出力（例えば、確率出力値）であってよい。最良適合データ点は、ＤＮＮ１１０において最良の構造的ニューラルネットワークカバレッジをもたらす最も不可逆のデータ点であることができる変換されたデータ点であってよい。いくつかの実施形態で、プロセッサ２０４は、ＤＮＮ１１０に対する適用された最良適合データ点に基づくＤＮＮ１１０の実出力と、第１データ点（すなわち、シードデータ点）の期待される出力との間の誤差値を計算するよう構成されてよい。
【０１０２】
ブロック６０６で、ＤＮＮ１１０の複数のレイヤの各ニューロンに関連した複数の重みが、計算された誤差値に基づき更新されてよい。いくつかの実施形態で、プロセッサ２０４は、ＤＮＮ１１０の複数のレイヤの各ニューロンに関連した複数の重みを更新するようＤＮＮ１１０を制御してよい。ＤＮＮ１１０は、ＤＮＮ１１０が、適用された最良適合データ点について、第１データ点のそれと実質的に類似した期待される出力を供給するか、あるいは、ＤＮＮ１１０が、訓練データセット内の第１データ点として認識されるように最良適合データ点（すなわち、変換されたデータ点）に対して完全に訓練され得るまで、複数の重みを続けて更新してよい、
【０１０３】
制御は終了へ移る。フローチャート６００は、６０２、６０４、及び６０６のような別個の動作として表されているが、特定の実施形態では、かような別個の動作は更に、開示される実施形態の本質から外れることなしに、特定の実施に応じて、更なる動作に分けられても、より少ない動作へとまとめられても、あるいは削除されてもよい。
【０１０４】
いくつかの実施形態で、開示される電子デバイス１０２は、方法３００、５００、及び６００で説明された上記の動作に基づき、訓練データセット内の各データ点についてＤＮＮ１１０を訓練してよい。訓練データセット内のデータ点の様々な遺伝的突然変異体に対して一度訓練されたＤＮＮ１１０は、有効なデータ拡張を提供し得るのみならず、特定の従来の解決法と比較して、データ点の種々のバリエーションの認識又は分類において精度を高めることもできる。
【０１０５】
従来の方法と比較して、（例えば、データ点として画像に対する回転、平行移動、及び剪断のような３つの実際的なバリエーションのための）開示される遺伝学的に制御されたデータ拡張方法によって訓練されたＤＮＮについて観測される、例となる実験値は、次のように、表６で与えられている。
【表６】
2020187734.tif 000008
【０１０６】
表６から、遺伝モデルを使用する開示されたデータ拡張方法に基づき訓練されたＤＮＮの精度は、グリッド攻撃下で、従来方法により訓練されたＤＮＮによって示される精度と比較して、約５％高い精度を示し得ることが観測され得る。表６で与えられているデータは、単に実験データと考えられてよく、本開示を制限するものと解釈され得ないことが留意されるべきである。
【０１０７】
本開示は、ＤＮＮを訓練するデータ拡張レジームのために訓練データの適切なバリエーションの確率論的探索を実行するための遺伝モデルの使用について記載しているが、いくつかの実施形態で、制限なしに、焼きなまし法（simulated  annealing）、粒子群最適化法（particle  swarm  optimization）、及びタブー探索（tabu  search）のような他のメタヒューリスティック法が、本開示の適用範囲からの逸脱なしに、実施されてもよい。
【０１０８】
本開示の様々な実施形態は、実行されることに応答してシステム（例えば、例となるシステム２０２）に動作を実行させる命令を記憶するよう構成された１つ以上の非一時的なコンピュータ可読記憶媒体を提供してもよい。動作は、リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することを含んでよい。動作は、リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することを更に含んでよい。第１動作の組の実行は、選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成することを含んでよい。データ点の母集団は、選択されたシードデータ点と、選択されたシードデータ点の複数の変換されたデータ点とを含んでよい。第１動作の組の実行は、生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、生成されたデータ点の母集団の中で最良適合データ点を決定することを更に含んでよい。第１動作の組の実行は、決定された最良適合データ点に基づきＤＮＮに対して訓練動作を実行することと、決定された最良適合データ点をシードデータ点として再選択することとを更に含んでよい。動作は、再選択されたシード点に基づき複数のエポックについて第１動作の組を繰り返し実行することによって、訓練されたＤＮＮを取得することを更に含んでよい。
【０１０９】
本開示で使用されるように、「モジュール」又は「コンポーネント」との語は、モジュール若しくはコンポーネントの動作を実行するよう構成された特定のハードウェア実施、及び／又はコンピューティングシステムの汎用のハードウェア（例えば、コンピュータ可読媒体、プロセッシングデバイス、など）によって記憶及び／又は実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンを指し得る。いくつかの実施形態で、本開示で記載される種々のコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステムで（例えば、別個のスレッドとして）実行されるオブジェクト又はプロセスとして実施されてもよい。本開示で記載されるシステム及び方法の一部は、（汎用のハードウェアによって記憶及び／又は実行される）ソフトウェアにおいて実施されるものとして概して記載されているが、特定のハードウェア実施又はソフトウェアと特定のハードウェア実施との組み合わせも可能であり企図される。本明細書中、「コンピューティングエンティティ」は、本開示で先に定義されている任意のコンピューティングシステム、又はコンピューティングシステムで実行される任意のモジュール若しくはモジュールの組み合わせであってよい。
【０１１０】
本開示で、特に添付の特許請求の範囲（例えば、添付の特許請求の本文）で使用される語は、一般的に、“非限定的な（open）”用語として意図されている（例えば、語「含んでいる（including）」は、“〜を含んでいるが、〜に制限されない”との意に解釈されるべきであり、語「備えている（having）」は、「少なくとも〜を備えている」との意に解釈されるべきであり、語「含む（includes）」は、“〜を含むが、〜に制限されない”との意に解釈されるべきである、等。）。
【０１１１】
更に、導入されたクレーム記載（introduced  claim  recitation）において特定の数が意図される場合、そのような意図は当該クレーム中に明確に記載され、そのような記載がない場合は、そのような意図も存在しない。例えば、理解を促すために、後続の添付された特許請求の範囲では、「少なくとも１つの（at  least  one）」及び「１以上の（one  or  more）」といった導入句を使用し、クレーム記載を導入することがある。しかし、このような句を使用するからといって、「a」又は「an」といった不定冠詞によりクレーム記載を導入した場合に、たとえ同一のクレーム内に、「１つ以上の」又は「少なくとも１つの」といった導入句と「a」又は「an」といった不定冠詞との両方が含まれるとしても、当該導入されたクレーム記載を含む特定のクレームが、当該記載事項を１しか含まない例に限定されるということが示唆されると解釈されるべきではない（例えば、「a」及び／又は「an」は、「少なくとも１つの」又は「１つ以上の」を意味すると解釈されるべきである。）。定冠詞を使用してクレーム記載を導入する場合にも同様のことが当てはまる。
【０１１２】
更には、導入されたクレーム記載において特定の数が明示されている場合であっても、そのような記載は、通常、少なくとも記載された数を意味するように解釈されるべきであることは、当業者には理解されるであろう（例えば、他に修飾語のない、単なる「２つの記載事項」という記載がある場合、この記載は、少なくとも２つの記載事項、又は２つ以上の記載事項を意味する。）。更に、「Ａ、Ｂ及びＣ等のうち少なくとも１つ」又は「Ａ、Ｂ及びＣ等のうちの１つ以上」に類する表記が使用される場合、一般的に、そのような構造は、Ａのみ、Ｂのみ、Ｃのみ、ＡとＢの両方、ＡとＣの両方、ＢとＣの両方、及び／又はＡとＢとＣの全て、等を含むよう意図される。
【０１１３】
更に、２つ以上の選択可能な用語を表す如何なる離接語及び／又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの１つ、それらの用語のうちのいずれか、あるいは、それらの用語の両方を含む可能性を意図すると理解されるべきである。例えば、「Ａ又はＢ」という句は、「Ａ又はＢ」、あるいは、「Ａ及びＢ」の可能性を含むことが理解されるべきである。
【０１１４】
ここで挙げられている全ての例及び条件付き言語は、当該技術の促進に本発明者によって寄与される概念及び本発明を読者が理解するのを助ける教育上の目的を意図され、そのような具体的に挙げられている例及び条件に制限されないと解釈されるべきである。本開示の実施形態が詳細に記載されてきたが、様々な変更、置換、及び代替が、本開示の主旨及び適用範囲から逸脱することなしに行われてよい。
【０１１５】
上記の実施形態に加えて、以下の付記を開示する。
（付記１）
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することであり、該第１動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記ＤＮＮに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第１動作の組を実行することと、
前記再選択されたシード点に基づき複数のエポックについて前記第１動作の組を繰り返し実行することによって、前記第１データ点に対する訓練されたＤＮＮを取得することと
を有する方法。
（付記２）
前記ＤＮＮを訓練するための前記複数のエポックの数は、予め定義される、
付記１に記載の方法。
（付記３）
前記選択されたシードデータ点に対する前記遺伝モデルの適用は、
前記データ点の母集団の中の前記複数の変換されたデータ点を生成するための第２動作の組を実行することであり、該第２動作の組を実行することは、
ランダム関数を実行して乱数を生成することと、
前記生成された乱数に基づき変異遺伝演算又は交叉遺伝演算のうちの一方を実行することと
を有する、前記第２動作の組を実行することと、
前記データ点の母集団の予め定義されたサイズについて前記第２動作の組を繰り返し実行することに基づき、前記選択されたシードデータ点の前記複数の変換されたデータ点を生成することと
を更に有する、
付記１に記載の方法。
（付記４）
前記変異遺伝演算の実行は、
前記選択されたシードデータ点の複数の実際的なバリエーションに関連した変換ベクトルを生成し、該変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記選択されたシードデータ点に対して前記生成された変換ベクトルを適用することと、
前記選択されたシードデータ点に対する前記適用された変換ベクトルに基づき、変換されたデータ点を生成することと、
予め定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
付記３に記載の方法。
（付記５）
前記複数の実際的なバリエーションに関連した前記変換ベクトルは、前記ＤＮＮを訓練するための前記複数のエポックの夫々についてランダムに生成される、
付記４に記載の方法。
（付記６）
前記交叉遺伝演算の実行は、
前記第１データ点に関して前記選択されたシードデータ点の複数の実際的なバリエーションに関連した第１変換ベクトルを取り出し、該第１変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された範囲内にある、ことと、
前記複数のエポックの中の前のエポックからの前記生成されたデータ点の母集団の中で第２の最良適合データ点を決定することと、
前記決定された第２の最良適合データ点の前記複数の実際的なバリエーションに関連した第２変換ベクトルを取り出し、該第２変換ベクトルにおける各変換値は、前記複数の実際的なバリエーションの中の対応する実際的なバリエーションについて予め定義された前記範囲内にある、ことと、
前記第１変換ベクトルからの第１組の変換値と、前記第２変換ベクトルからの第２組の変換値とを選択して、変換ベクトルを構成することと、
前記選択されたシードデータ点に対して前記構成された変換ベクトルを適用して、変換されたデータ点を生成することと、
前もって定義された変換基準に基づき、前記生成された変換されたデータ点を検証することと、
前記検証に基づき、前記変換されたデータ点を前記データ点の母集団に加えることと
を更に有する、
付記３に記載の方法。
（付記７）
前記選択された第１組の変換値の第１の数と、前記選択された第２組の変換値の第２の数とは、前記変換ベクトルを構成するように同じである、
付記６に記載の方法。
（付記８）
前記選択された第１組の変換値の第１の数と、前記選択された第２組の変換値の第２の数とは、前記変換ベクトルを構成するように異なる、
付記６に記載の方法。
（付記９）
前記複数のデータ点は、画像データ、オーディオデータ、又はテキストデータの中の１つに対応する、
付記１に記載の方法。
（付記１０）
前記リアルタイムアプリケーションは、画像分類、音声認識、テキスト認識の中の１つを有する、
付記１に記載の方法。
（付記１１）
前記画像分類としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、回転バリエーション、水平移動バリエーション、垂直移動バリエーション、剪断バリエーション、ズームバリエーション、輝度バリエーション、コントラストバリエーション、フリップバリエーション、シャープネスバリエーション、又は色バリエーションの中の１つを有する、
付記１０に記載の方法。
（付記１２）
前記音声認識としての前記リアルタイムアプリケーションの複数の実際的なバリエーションは、発話速度バリエーション、ラウドネスバリエーション、周囲雑音タイプバリエーション、テンポバリエーション、ピッチバリエーション、トーンバリエーション、抑揚バリエーション、声質バリエーション、音声バリエーション、又は発音バリエーションの中の１つを有する、
付記１０に記載の方法。
（付記１３）
前記テキスト認識として前記リアルタイムアプリケーションの複数の実際的なバリエーションは、フォントサイズバリエーション、フォントタイプバリエーション、回転バリエーション、フォント色バリエーション、背景色バリエーション、又はテクスチャバリエーションの中の１つを有する、
付記１０に記載の方法。
（付記１４）
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中で最も不可逆のデータ点を決定することと、
前記決定された最も不可逆のデータ点に基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
付記１に記載の方法。
（付記１５）
前記生成されたデータ点の母集団の中の各データ点について前記ＤＮＮの出力確率値を計算することと、
前記生成されたデータ点の母集団の中の各データ点についての前記計算された出力確率値に基づき、前記生成されたの中で前記最も不可逆のデータ点を決定することと
を更に有する付記１４に記載の方法。
（付記１６）
前記適合度関数を評価することは、
前記生成されたデータ点の母集団の中の各データ点について前記ＤＮＮの構造的ニューラルネットワークカバレッジを決定することと、
前記生成されたデータ点の母集団の中の各データ点についての前記決定された構造的ニューラルネットワークカバレッジに基づき、前記生成されたデータ点の母集団の中で前記最良適合データ点を決定することと
を更に有する、
付記１に記載の方法。
（付記１７）
前記訓練動作の実行は、
前記生成されたデータ点の母集団の中の前記決定された最良適合データ点を前記ＤＮＮに対して適用して該ＤＮＮの実出力を生成することと、
前記ＤＮＮに対する前記適用された最良適合データ点に基づく前記ＤＮＮの前記実出力と期待される出力との間の誤差値を計算することと、
前記計算された誤差値に基づき、前記ＤＮＮの複数のレイヤの各ニューロンについて割り当てられた複数の重みを更新することと
を更に有する、
付記１に記載の方法。
（付記１８）
実行されることに応答して、システムに、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することであり、該第１動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記決定された最良適合データ点に基づき、前記ＤＮＮに対して訓練動作を実行することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第１動作の組を実行することと、
前記再選択されたシード点に基づき複数のエポックについて前記第１動作の組を繰り返し実行することによって、前記第１データ点に対する訓練されたＤＮＮを取得することと
を有する動作を実行させる命令を記憶するよう構成された１つ以上の非一時的なコンピュータ可読記憶媒体。
（付記１９）
前記ＤＮＮを訓練するための前記複数のエポックの数は、予め定義される、
付記１８に記載の１つ以上の非一時的なコンピュータ可読記憶媒体。
（付記２０）
ディープニューラルネットワーク（ＤＮＮ）と、
前記ＤＮＮと結合されたプロセッサと
を有し、
前記プロセッサは、
リアルタイムアプリケーションに関連する複数のデータ点の訓練データセットから第１データ点をシードデータ点として選択することと、
前記リアルタイムアプリケーションの特定の分類タスクのためにディープニューラルネットワーク（ＤＮＮ）を訓練するための第１動作の組を実行することであり、該第１動作の組を実行することは、
前記選択されたシードデータ点に対する遺伝モデルの適用によってデータ点の母集団を生成し、該データ点の母集団は、前記選択されたシードデータ点と、該選択されたシードデータ点の複数の変換されたデータ点とを有する、ことと、
前記生成されたデータ点の母集団の中の各データ点に対する適合度関数の適用に基づき、前記生成されたデータ点の母集団の中で最良適合データ点を決定することと、
前記ＤＮＮの訓練動作のために該ＤＮＮへ前記決定された最良適合データ点を供給することと、
前記決定された最良適合データ点を前記シードデータ点として再選択することと
を有する、前記第１動作の組を実行することと、
前記再選択されたシード点に基づき前記ＤＮＮの訓練の複数のエポックについて前記第１動作の組を繰り返し実行して、前記第１データ点に対する訓練されたＤＮＮを取得することと
を実行するよう構成される、
システム。
【符号の説明】
【０１１６】
１００  環境
１０２  電子デバイス
１０４  遺伝モデル
１０６  母集団生成部
１０８  適合性評価部
１１０  ディープニューラルネットワーク（ＤＮＮ）
１１２  データベース
１１４  ユーザエンドデバイス
１１６  通信ネットワーク
２０２  システム
２０４  プロセッサ
２０６  メモリ
２０８  永続性データストレージ
２１０  Ｉ／Ｏデバイス
２１２  ネットワークインターフェイス
４０２  訓練データセット
４０４  第１データ点（シードデータ点）
４０６  データ点の母集団
４０８  変換されたデータ点
【図１】
2020187734.tif 000009
【図２】
2020187734.tif 000010
【図３】
2020187734.tif 000011
【図４】
2020187734.tif 000012
【図５Ａ】
2020187734.tif 000013
【図５Ｂ】
2020187734.tif 000014
【図６】
2020187734.tif 000015