(57)【要約】      （修正有）【課題】深層ニューラルネットワーク（ＤＮＮ）並びにそのトレーニング時間を短縮するシステム及び方法を提供する。【解決手段】DNNをトレーニングす方法において、深層ニューラルネットワークモデルを取得し、第１トレーニングエポックの間に深層ニューラルネットワークモデルのための第１トレーニングデータ点及び第２トレーニングデータ点を取得し、第１トレーニングデータ点の第１ロバストネス値、及び第２トレーニングデータ点の第２ロバストネス値を決定し、第１ロバストネス値がロバストネス閾を満たすことに応答して、第１トレーニングデータ点の水増しを省略し、第２ロバストネス値がロバストネス閾を満たさないことに応答して、第２トレーニングデータ点を水増しし、第１トレーニングエポックの間に、第１トレーニングデータ点及び水増しした第２トレーニングデータ点で、深層ニューラルネットワークモデルをトレーニングする。【選択図】図７
2020184311.tif 000002
【特許請求の範囲】
【請求項１】
深層ニューラルネットワークモデルを取得するステップと、
第１トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第１トレーニングデータ点及び第２トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第１精度に基づき、前記第１トレーニングデータ点の第１ロバストネス値を決定するステップと、
前記第２トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第２精度に基づき、前記第２トレーニングデータ点の第２ロバストネス値を決定するステップと、
前記第１ロバストネス値がロバストネス閾を満たすことに応答して、前記第１トレーニングエポックの間に前記第１トレーニングデータ点の変異による前記第１トレーニングデータ点の水増しを省略するステップと、
前記第２ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第１トレーニングエポックの間に前記第２トレーニングデータ点の１つ以上の変異により前記第２トレーニングデータ点を水増しするステップと、
前記第１トレーニングエポックの間に、前記第１トレーニングデータ点及び前記水増しした第２トレーニングデータ点で、前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
【請求項２】
前記第１ロバストネス値を決定するステップは、
前記第１トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第１トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第１ロバストネス値として、前記第１トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記第１トレーニングデータ点の前記複数の変異を取得するステップは、前記第１トレーニングデータ点の１つ以上のランダム変異を取得するステップを含む、請求項２に記載の方法。
【請求項４】
前記第１ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第１トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第１ロバストネス値として、前記１つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項１に記載の方法。
【請求項５】
前記第１ロバストネス値を決定するステップは、前記第１トレーニングデータ点の複数の変異に基づく、請求項１に記載の方法。
【請求項６】
前記第１トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの１つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第１トレーニングデータ点の回転、前記第１トレーニングデータ点の平行移動、前記第１トレーニングデータ点のせん断、前記第１トレーニングデータ点のズーム、前記第１トレーニングデータ点の輝度の変化、前記第１トレーニングデータ点のコントラストの変化、を含む、請求項５に記載の方法。
【請求項７】
前記第１トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの１つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第１トレーニングデータ点の速度に基づく会話の摂動、前記第１トレーニングデータ点への背景雑音の追加、及び前記第１トレーニングデータ点のテンポに基づく摂動、を含む、請求項５に記載の方法。
【請求項８】
１つ以上の命令を記憶し、該命令は、少なくとも１つのシステムにより実行されることに応答して、前記少なくとも１つのシステムに請求項１に記載の方法を実行させる、少なくとも１つの非一時的コンピュータ可読媒体。
【請求項９】
深層ニューラルネットワークモデルを取得するステップと、
第１トレーニングエポックの間に、前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第１トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第１精度に基づき、前記第１トレーニングデータ点の第１ロバストネス値を決定するステップと、
前記第１ロバストネス値がロバストネス閾を満たすことに応答して、前記第１トレーニングエポックの間、及び前記第１トレーニングエポックの後の１つ以上の第２トレーニングエポックの間に、前記第１トレーニングデータ点の変異による前記第１トレーニングデータ点の水増しを省略するステップと、
前記第１トレーニングエポックの間に前記第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記１つ以上の第２トレーニングエポックの間に前記第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記１つ以上の第２トレーニングエポックの後の第３トレーニングエポックの間に、前記トレーニングデータ点の母集団から、前記第１トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第２精度に基づき、前記第１トレーニングデータ点の第２ロバストネス値を決定するステップと、
前記第２ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第３トレーニングエポックの間に、前記第１トレーニングデータ点の１つ以上の変異により前記第１トレーニングデータ点を水増しするステップと、
前記第３トレーニングエポックの間に、前記水増しした第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
【請求項１０】
前記第１ロバストネス値を決定するステップは、
前記第１トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第１トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第１ロバストネス値として、前記第１トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項９に記載の方法。
【請求項１１】
前記第１トレーニングデータ点の前記複数の変異を取得するステップは、前記第１トレーニングデータ点の１つ以上のランダム変異を取得するステップを含む、請求項１０に記載の方法。
【請求項１２】
前記第１ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第１トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第１ロバストネス値として、前記１つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項９に記載の方法。
【請求項１３】
前記第１ロバストネス値を決定するステップは、前記第１トレーニングデータ点の複数の変異に基づく、請求項９に記載の方法。
【請求項１４】
前記第１トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの１つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第１トレーニングデータ点の回転、前記第１トレーニングデータ点の平行移動、前記第１トレーニングデータ点のせん断、前記第１トレーニングデータ点のズーム、前記第１トレーニングデータ点の輝度の変化、前記第１トレーニングデータ点のコントラストの変化、を含む、請求項１３に記載の方法。
【請求項１５】
前記第１トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの１つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第１トレーニングデータ点の速度に基づく会話の摂動、前記第１トレーニングデータ点への背景雑音の追加、及び前記第１トレーニングデータ点のテンポに基づく摂動、を含む、請求項１３に記載の方法。
【請求項１６】
１つ以上の命令を記憶し、該命令は、少なくとも１つのシステムにより実行されることに応答して、前記少なくとも１つのシステムに請求項９に記載の方法を実行させる、少なくとも１つの非一時的コンピュータ可読媒体。
【請求項１７】
深層ニューラルネットワークモデルを取得するステップと、
第１トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から第１トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点に関する前記深層ニューラルネットワークモデルの第１精度に基づき、前記第１トレーニングデータ点の第１ロバストネス値を決定するステップと、
前記第１ロバストネス値がロバストネス閾を満たすことに応答して、前記第１トレーニングエポックの間に前記第１トレーニングデータ点の変異による前記第１トレーニングデータ点の水増しを省略するステップと、
前記第１トレーニングエポックの間に前記第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
【請求項１８】
前記第１ロバストネス値を決定するステップは、
前記第１トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第１トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第１ロバストネス値として、前記第１トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項１７に記載の方法。
【請求項１９】
前記第１ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第１トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第１ロバストネス値として、前記１つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項１７に記載の方法。
【請求項２０】
１つ以上の命令を記憶し、該命令は、少なくとも１つのシステムにより実行されることに応答して、前記少なくとも１つのシステムに請求項１７に記載の方法を実行させる、少なくとも１つの非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示に記載の実施形態は、深層ニューラルネットワーク、並びに、そのトレーニング時間を短縮するシステム及び方法に関する。
【背景技術】
【０００２】
深層ニューラルネットワーク（Deep  Neural  Network：DNN）は、益々多様な用途で使用されている。しかしながら、DNNは入力におけるノイズの影響を受けやすいことがある。より具体的には、DNNの入力に注入された僅かな量のノイズでも、結果として、高精度と考えられるDNNが不正確な予測を返してしまうことがある。ノイズに直面したDNNの精度を向上するためのトレーニングデータセットの水増し（augmenting）は、DNNをトレーニングするために要する時間を増大してしまうことがある。
【０００３】
本開示で請求される主題は、上述のような欠点を解決する実施形態や上述のような環境でのみ機能する実施形態に限定されない。むしろ、この背景技術は、単に、本開示に記載される複数の実施形態が実施される技術分野の一例を説明するために提供される。
【発明の概要】
【０００４】
方法は、深層ニューラルネットワークモデルを取得するステップと、第１トレーニングエポックの間に深層ニューラルネットワークモデルのための第１トレーニングデータ点及び第２トレーニングデータ点を取得するステップと、を含み得る。方法は、第１トレーニングデータ点の第１ロバストネス値、及び第２トレーニングデータ点の第２ロバストネス値を決定するステップを含み得る。方法は、第１ロバストネス値がロバストネス閾を満たすことに応答して、第１トレーニングデータ点の水増しを省略するステップと、第２ロバストネス値がロバストネス閾を満たさないことに応答して、第２トレーニングデータ点を水増しするステップと、を更に含み得る。方法は、また、第１トレーニングエポックの間に、第１トレーニングデータ点及び増大した第２トレーニングデータ点で、深層ニューラルネットワークモデルをトレーニングするステップを含み得る。
【０００５】
実施形態の目的及び利点が理解され、少なくとも特に特許請求の範囲で指摘された要素、特徴及び組合せを用いて達成されるだろう。
【０００６】
上述の全体的説明及び以下の詳細な説明の両方は、例示及び説明のためであり、本発明の範囲を限定しない。
【図面の簡単な説明】
【０００７】
例示的な実施形態は、添付の図面を用いて、更なる特異性及び詳細事項と共に記載され説明される。
【０００８】
【図１】深層ニューラルネットワーク（DNN）モデルのトレーニング時間の短縮に関連する例示的な環境を示す図である。
【０００９】
【図２】DNNモデルのロバストネスと精度との間の相違の概念的説明である。
【００１０】
【図３】DNNモデルのトレーニング時間の短縮の図である。
【００１１】
【図４】DNNモデルのトレーニング時間の短縮を説明する表である。
【００１２】
【図５】トレーニングデータ点のロバストネスを決定する第１の例示的な方法のフローチャートである。
【００１３】
【図６】トレーニングデータ点のロバストネスを決定する第２の例示的な方法のフローチャートである。
【００１４】
【図７】DNNをトレーニングする例示的な方法のフローチャートである。
【００１５】
【図８】DNNのトレーニング時間を短縮する例示的な方法のフローチャートである。
【００１６】
【図９】DNNモデルのロバストネスを評価するよう構成され得る例示的なコンピューティングシステムを示す。
【発明を実施するための形態】
【００１７】
本開示に記載の幾つかの実施形態は、深層ニューラルネットワーク（Deep  Neural  Network：DNN）のロバストネスを測定する方法及びシステムに関する。DNNは、人工の神経ネットワーク（artificial  neural  network：ANN）であり、通常、入力層、出力層、及び入力層と出力層との間の複数の層と、を含む。入力層と出力層との間の層の数が増えるほど、ニューラルネットワークの深さが増し、ニューラルネットワークの性能が向上する。
【００１８】
DNNは、画像、オーディオ、テキスト、又は他のデータを含み得る入力を受信してよく、入力の分類に関する予測、又は入力に基づき期待される動作に関する予測を実行してよい。例えば、入力が画像であるとき、DNNの可能な出力は、画像の分類（例えば、「犬の」画像、「猫の」画像、「人の」画像、等のような）、又は期待される動作（例えば、入力が停車ランプでの赤色光であると決定されると、車両を停止するような）を含んでよい。代替として、入力がオーディオであるとき、DNNの可能な出力は、オーディオの分類（例えば、オーディオの中の言葉の識別、オーディオのソースの識別（例えば、特定の動物又は特定の人物）、オーディオの中で表現された感情の識別）を含んでよい。DNNのトレーニングの部分として、ラベル付けされた入力のセット、つまり対応する出力と一緒に入力のセットが提供されてよい。その結果、DNNは、多くの異なる入力を識別し分類することを学習し得る。
【００１９】
DNNは、線形関係又は非線形関係かに関わらず、入力を出力に変えるための特定の数学的操作を見出し得る。ネットワークは、各出力の確率を計算する層を通じて移動する。各数学的操作は、したがって、層と見なされ、複雑なDNNは多くの層を有し、したがって「深層」ネットワークと呼ばれる。
【００２０】
深層ニューラルネットワーク（Deep  Neural  Network：DNN）は、益々多様な用途で使用されている。応用分野の少数の例は、自動運転、医療診断、マルウェア検出、画像認識、視覚芸術処理、自然言語処理、薬物発見及び毒物学、提案システム、モバイル広告、画像復元、詐欺検出、を含む。非常に広範な異なる技術分野におけるDNNの最近の普及及び明確な有用性にも拘わらず、幾つかの例では、DNNは、入力におけるノイズに対して脆弱であり得る。入力におけるノイズは、不正確な予測及び誤った出力を生じ得る。DNNの正常な動作では、少量のノイズは、出力における小さな摂動しか生じない。例えば、オブジェクト認識システムが淡い色のセーターをおむつと間違える。しかし、他の例では、これらの不正確な予測は、深刻な誤りを生じ得る。例えば、自律自動車がスクールバスをダチョウと間違えてしまう。
【００２１】
このようなノイズに対してより回復力があり且つより少ない不正確な予測しか生じないDNNを生成するために、DNNを機能不能にし又は許容できないほど不正確にさせ得る不正確な予測を生じるサンプル入力を見付ける改良された能力を有する、改良された敵対的テストシステムが開示される。このようなサンプル入力を見付けることの１つの利点は、DNNの信頼性を成功裏に測る能力であり得る。別の利点は、DNNを「再トレーニングする」又は改善するために不正確な予測を生じるサンプル入力を使用する能力であり得る。その結果、不正確な予測が修正される。
【００２２】
DNNのノイズに対する脆弱性を改善するために、DNNをトレーニングするために使用されるトレーニングデータ点は、トレーニングデータ点の変異により水増しされてよい。例えば、トレーニングデータ点の自然変異体、例えば画像の回転が、トレーニングセットに追加されて、入力を分類するDNNの能力を向上させてよい。変異により水増しされたトレーニングデータ点の処理は、DNNの精度を向上し得る。データ水増しは、各トレーニングデータ点をトレーニングデータ点のランダムな変異により水増しするステップを含み得る。これは、結果として、DNNのトレーニング時間の僅かな増大と一緒に、DNNの精度の僅かな改善をもたらし得る。代替として、各トレーニングデータ点の多数の変異が、トレーニングデータに追加されて、トレーニングデータを水増ししてよい。しかしながら、トレーニングデータの更なる水増しの追加は、遅いことがあり、時間的にDNNの精度を向上しない場合がある。
【００２３】
正しい出力をトレーニングデータ点の変異から提供させることに関してロバストであると決定されたトレーニングデータ点を識別することは、DNNにおける犠牲を縮小しながら、DNNのトレーニング時間の増大を軽減し得る。例えば、幾つかのDNN及び幾つかのトレーニングデータ点について、DNNは、トレーニングデータ点でDNNをトレーニングすることなく、トレーニングデータ点の変異を精確に分類し得る。このシナリオでは、トレーニングデータ点の変異でトレーニングデータセットを水増しすることは、DNNの精度を改善せず、DNNのトレーニング時間を増大し得る。DNNがトレーニングデータ点の変異を正しく分類したときに、トレーニングデータ点をロバストであると識別することにより、特定のトレーニングデータ点のみが水増しでき、DNNは精度の向上及びトレーニング時間の短縮の両方を有し得る。
【００２４】
本開示の実施形態を、添付の図面を参照して以下に説明する。
【００２５】
図１は、本開示に記載の少なくとも１つの実施形態に従い構成される、DNNモデルのトレーニング時間の短縮に関連する例示的な環境１００を示す図である。環境１００は、深層ニューラルネットワークモデル１２０、トレーニングデータ１３０、DNN構成モジュール１１０、及びトレーニング済みDNNモデル１８０を含んでよい。DNN構成モジュール１１０は、トレーニングモジュール１４０、変異モジュール１５０、ロバストネスモジュール１６０、及び水増しモジュール１７０を含む。
【００２６】
幾つかの実施形態では、深層ニューラルネットワークモデル１２０は、入力層、出力層、及び入力層と出力層との間の複数の層を含んでよい。各層は、入力を出力に変換するための数学的操作に対応してよい。トレーニングデータ１３０のようなトレーニングデータは、層が入力データを出力データに正確に変換することを可能にしてよい。
【００２７】
幾つかの実施形態では、トレーニングデータ１３０は、複数のトレーニングデータ点を含んでよい。トレーニングデータ点の各々は、分類されるべきアイテム、及びアイテムの正しい分類を含んでよい。例えば、幾つかの実施形態では、深層ニューラルネットワークモデル１３０は、画像分類モデルであってよい。上述の及び他の実施形態では、トレーニングデータ１３０は、複数の画像を含んでよく、各画像は分類に関連付けられてよい。例えば、動物の画像は「動物」として分類されてよく、一方で、他の画像は「非動物」として分類されてよい。代替として又は追加で、幾つかの実施形態では、特定種類の動物の画像は異なる方法で分類されてよい。例えば、猫の画像は「猫」として分類されてよく、一方で、犬の画像は「犬」として分類されてよい。代替として又は追加で、他の分類が可能である。例えば、分類は、「自動車」、「自転車」、「人」、「建物」、又は任意の他の分類を含んでよい。
【００２８】
幾つかの実施形態では、深層ニューラルネットワークモデル１３０は、オーディオ分類モデルであってよい。上述の及び他の実施形態では、トレーニングデータ１３０は、複数のオーディオファイルを含んでよく、各オーディオファイルは分類に関連付けられてよい。例えば、オーディオファイルは人間の会話を含んでよい。上述の及び他の実施形態では、分類は、幸せ、悲しい、不満、怒り、驚き、及び／又は困惑のような、人間の会話の話者の感情を含んでよい。代替として又は追加で、幾つかの実施形態では、分類は、会話に含まれる特定の単語、会話に含まれる話題、又は会話の他の特徴を含んでよい。
【００２９】
幾つかの実施形態では、トレーニング済みDNNモデル１８０は、トレーニングデータ１３０及び／又は他のデータでトレーニングされた後の、深層ニューラルネットワークモデル１２０を含んでよい。上述の及び他の実施形態では、トレーニング済みDNNモデル１８０は、ニューラルネットワーク１２０、テストデータ１３０、及び水増しされたトレーニングデータに基づき決定された、適切なモデルパラメータ及び数学的操作を含んでよい。
【００３０】
幾つかの実施形態では、DNN構成モジュール１１０は、コンピューティングシステムに１つ以上のトレーニング済みDNNモデルを生成するための１つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加で又は代替として、DNN構成モジュール１１０は、プロセッサ、（例えば、１つ以上の動作を実行する又はその実行を制御する）マイクロプロセッサ、FPGA（field−programmable  gate  array）又はASIC（application−specific  integrated  circuit）を含むハードウェアを用いて実装されてよい。幾つかの他の例では、DNN構成モジュール１１０は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、DNN構成モジュール１１０により実行されるとして記載される動作は、DNN構成モジュール１１０がシステムに実行するよう指示し得る動作を含み得る。
【００３１】
幾つかの実施形態では、DNN構成モジュール１１０は、深層ニューラルネットワークモデル１２０及びトレーニングデータ１３０を取得するよう、及びトレーニング済みDNNモデル１８０を生成するよう構成されてよい。上述の及び他の実施形態では、DNN構成モジュール１１０は、トレーニングモジュール１４０、変異モジュール１５０、ロバストネスモジュール１６０、及び水増しモジュール１７０を含んでよい。DNN構成モジュール１１０は、トレーニングモジュール１４０、変異モジュール１５０、ロバストネスモジュール１６０、及び水増しモジュール１７０の動作を指示し、トレーニングデータ１３０のトレーニングデータ点を選択的に水増しして、トレーニング済みDNNモデル１８０を生成してよい。上述の及び他の実施形態では、トレーニングデータ１３０の幾つかのトレーニングデータ点は、ロバストであると決定されてよく、トレーニングデータ点の変異により水増しされなくてよい。上述の及び他の実施形態では、トレーニングデータ１３０の幾つかのトレーニングデータ点は、ロバストではないと決定されてよく、トレーニングデータ点の変異により水増しされてよい。深層ニューラルネットワークモデル１２０をトレーニングデータ１３０及び水増ししたトレーニングデータによりトレーニングした後に、DNN構成モジュール１１０は、トレーニング済みDNNモデル１８０を生成してよい。
【００３２】
幾つかの実施形態では、変異モジュール１５０は、コンピューティングシステムに、トレーニングデータの１つ以上の変異を生成するための１つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、変異モジュール１５０は、プロセッサ、（例えば、１つ以上の操作を実行する又はその実行を制御する）マイクロプロセッサ、FPGA（field−programmable  gate  array）又はASIC（application−specific  integrated  circuit）を含むハードウェアを用いて実装されてよい。幾つかの他の例では、変異モジュール１５０は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、変異モジュール１５０により実行されるとして記載される動作は、変異モジュール１５０がシステムに実行するよう指示し得る動作を有してよい。
【００３３】
幾つかの実施形態では、変異モジュール１５０は、トレーニングデータ１３０の複数の変異を生成してよい。例えば、幾つかの実施形態では、変異モジュール１５０は、トレーニングデータ１３０の中の各トレーニングデータ点の変異をランダムに生成してよい。トレーニングデータ１３０が、例えば画像及び／又はビデオのような視覚的データを含むとき、変異モジュール１５０は、トレーニングデータ１３０の視覚的変異を生成してよい。視覚的変異は、トレーニングデータの回転（例えば、トレーニングデータ点の時計方向の１°の回転）、トレーニングデータの平行移動（例えば、トレーニングデータ点の右への５ピクセルのシフト）、トレーニングデータのせん断（shearing）（例えば、別の部分に対するトレーニングデータ点の一部分のシフト）、トレーニングデータのズーム（例えば、トレーニングデータ点の一部の拡大）、第１トレーニングデータ点の輝度の変化（例えば、トレーニングデータ点の部分及び／又は全部を明るくする）、第１トレーニングデータ点のコントラストの変化（例えば、トレーニングデータ点の部分間の色変化を低減する）、及び／又はトレーニングデータ点の他の変異を含んでよい。
【００３４】
トレーニングデータ１３０が、例えば音響、会話、及び／又は音楽のような聴覚的データを含むとき、変異モジュール１５０は、トレーニングデータ１３０の聴覚的変異を生成してよい。聴覚的変異は、トレーニングデータの中の速度に基づく会話の摂動、トレーニングデータへの背景雑音の追加、トレーニングデータのテンポに基づく摂動、及び／又はトレーニングデータ点の他の変異を含んでよい。
【００３５】
幾つかの実施形態では、変異モジュール１５０は、トレーニングデータの中の各データ点の複数の変異を生成してよい。例えば、幾つかの実施形態では、変異モジュール１５０は、トレーニングデータの回転、せん断、ズーム、輝度の変化、及びコントラストの変化をランダムに生成してよい。
【００３６】
幾つかの実施形態では、ロバストネスモジュール１６０は、コンピューティングシステムに、トレーニングデータのロバストネスを決定するための１つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、ロバストネスモジュール１６０は、プロセッサ、（例えば、１つ以上の操作を実行する又はその実行を制御する）マイクロプロセッサ、FPGA（field−programmable  gate  array）又はASIC（application−specific  integrated  circuit）を含むハードウェアを用いて実装されてよい。幾つかの他の例では、ロバストネスモジュール１６０は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、ロバストネスモジュール１６０により実行されるとして記載される動作は、ロバストネスモジュール１６０がシステムに実行するよう指示し得る動作を有してよい。
【００３７】
幾つかの実施形態では、ロバストネスモジュール１６０は、トレーニングデータ１３０の中の各データ点のロバストネス値を決定し、ロバストネス値をロバストネス閾と比較するよう構成されてよい。上述の及び他の実施形態では、「ロバストネス」は、深層ニューラルネットワークモデル１２０が変異モジュール１５０により生成されたトレーニングデータ１３０の変異を正しく分類する能力を表してよい。例えば、幾つかの実施形態では、ロバストネスモジュール１６０は、データ点のロバストネス値を、深層ニューラルネットワークモデルにより正しく分類されたデータ点の変異の数として決定してよい。例えば、幾つかの実施形態では、ロバストネス閾は８５であってよく、変異モジュール１５０は、トレーニングデータ点の１００個の変異を生成してよく、該１００個の変異をロバストネスモジュール１６０に提供してよい。ロバストネスモジュール１６０は、深層ニューラルネットワークモデル１２０に変異を提供してよい。深層ニューラルネットワークモデル１２０は、変異のうちの８７個を正しく分類し得る。ロバストネスモジュール１６０は、トレーニングデータ点のロバストネス値が８７であると決定してよく、ロバストネス値がロバストネス閾を超えるので、ロバストネスモジュール１６０はトレーニングデータ点がロバストであると決定してよい。
【００３８】
代替として又は追加で、幾つかの実施形態では、ロバストモジュール１６０は、データ点のロバストネス値を、トレーニングデータ点の各変異の損失として決定してよい。上述の及び他の実施形態では、ロバストネスモジュール１６０は、深層ニューラルネットワークモデル１２０が変異を正しく分類する信頼度に基づき、該変異の損失を決定してよい。例えば、深層ニューラルネットワークモデル１２０は、８４％の信頼度で変異を正しく分類し得る。変異の損失は、１００％−８４％＝１６％であると決定されてよい。上述の及び他の実施形態では、ロバストネスモジュール１６０は、データ点のロバストネス値が、トレーニングデータ点の変異に関連付けられた損失のうちの最大損失であると決定してよい。幾つかの実施形態では、ロバストネス閾は１５％であってよい。ロバストネスモジュール１６０は、トレーニングデータ点のロバストネス値が１６％であると決定してよく、ロバストネス値がロバストネス閾を超えるので、ロバストネスモジュール１６０はトレーニングデータ点がロバストではないと決定してよい。
【００３９】
幾つかの実施形態では、ロバストネスモジュール１６０は、トレーニングデータ点がロバストであると決定された後の特定数のエポックの間、トレーニングデータ点のロバストネスを決定しなくてよい。例えば、ロバストネスモジュール１６０は、ロバストネスモジュール１６０がトレーニングデータ点をロバストであると決定した後の、次の２つのエポックの間、全てのトレーニングエポックの間、又は任意の他の間隔で、トレーニングデータ点のロバストネスを決定しなくてよい。更なる例として、幾つかの実施形態では、ロバストネスモジュール１６０は、４番目のエポックの間、トレーニングデータ点がロバストであると決定してよい。トレーニングデータ点は４番目のトレーニングエポックの間にロバストであると決定されたので、ロバストネスモジュール１６０は、続く５番目のエポックの間、トレーニングデータ点のロバストネスを決定しなくてよい。
【００４０】
幾つかの実施形態では、水増しモジュール１７０は、コンピューティングシステムに、トレーニングデータの１つ以上の変異によりトレーニングデータを水増しするための１つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、水増しモジュール１７０は、プロセッサ、（例えば、１つ以上の操作を実行する又はその実行を制御する）マイクロプロセッサ、FPGA（field−programmable  gate  array）又はASIC（application−specific  integrated  circuit）を含むハードウェアを用いて実装されてよい。幾つかの他の例では、水増しモジュール１７０は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、水増しモジュール１７０により実行されるとして記載される動作は、水増しモジュール１７０がシステムに実行するよう指示し得る動作を有してよい。
【００４１】
幾つかの実施形態では、水増しモジュール１７０は、トレーニングデータ１３０のトレーニングデータ点を、トレーニングデータ点の１つ以上の変異により水増ししてよい。幾つかの実施形態では、水増しモジュール１７０は、ロバストネスモジュール１６０によりロバストであると決定されたトレーニングデータ点を水増ししてよく、ロバストネスモジュール１６０によりロバストではないと決定されたトレーニングデータ点を水増ししなくてよい。上述の及び他の実施形態では、水増しモジュール１７０は、変異モジュール１５０により生成されロバストネスモジュール１６０によりトレーニングデータ点がロバストであると決定するために使用された、変異のセットによりトレーニングデータ点を水増ししてよい。例えば、幾つかの実施形態では、変異モジュール１５０は、５０、１００、１０００、又は任意の数の変異をロバストネスモジュール１６０のために生成してよい。上述の及び他の実施形態では、水増しモジュール１７０は、トレーニングデータ点の１、２、５、又は別の個数の変異によりロバストではないと決定されたトレーニングデータ点を水増ししてよい。
【００４２】
幾つかの実施形態では、トレーニングモジュール１４０は、コンピューティングシステムに、トレーニングデータ及び水増しされたトレーニングデータを用いて、深層ニューラルネットワークモデル１２０をトレーニングするための１つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、トレーニングモジュール１４０は、プロセッサ、（例えば、１つ以上の操作を実行する又はその実行を制御する）マイクロプロセッサ、FPGA（field−programmable  gate  array）又はASIC（application−specific  integrated  circuit）を含むハードウェアを用いて実装されてよい。幾つかの他の例では、トレーニングモジュール１４０は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、トレーニングモジュール１４０により実行されるとして記載される動作は、トレーニングモジュール１４０がシステムに実行するよう指示し得る動作を有してよい。
【００４３】
幾つかの実施形態では、トレーニングモジュール１４０は、トレーニングデータ１３０及び水増しモジュール１７０からの水増しされたトレーニングデータを用いて、深層ニューラルネットワークモデル１２０をトレーニングしてよい。例えば、トレーニングモジュール１４０は、トレーニングデータ１３０及び水増しされたトレーニングデータで、複数のトレーニングエポックに渡り、深層ニューラルネットワークモデル１２０を繰り返しトレーニングしてよい。各トレーニングエポックの間、トレーニングモジュール１４０は、トレーニングデータ１３０及び水増ししたトレーニングデータに渡り順伝播及び逆伝播を実行して、適切なモデルパラメータを決定してよい。上述の及び他の実施形態では、トレーニングモジュール１４０は、トレーニングデータ１３０及び水増ししたトレーニングデータに渡る相互エントロピー損失関数（cross−entropy  loss  function）を最小化するアルゴリズムを用いて、深層ニューラルネットワークモデル１２０をトレーニングしてよい。幾つかの実施形態では、トレーニングデータ１３０の一部は、幾つかのトレーニングエポックの間、水増しされなくてよい。例えば、幾つかのトレーニングエポックの間、トレーニングデータ１３０の１つ以上のトレーニングデータ点は、ロバストネスモジュール１６０によりロバストであると決定されてよい。トレーニングデータ点がロバストであると決定されたので、水増しモジュール１７０はトレーニングデータ点を水増ししなくてよい。トレーニングモジュール１４０は、次に、水増しのないトレーニングデータ点を用いて、深層ニューラルネットワークモデル１２０をトレーニングしてよい。トレーニングモジュール１４０が複数のトレーニングエポックに渡る深層ニューラルネットワークモデル１２０のトレーニングを完了した後に、結果は、トレーニング済みDNNモデル１８０であってよい。
【００４４】
環境１００の動作の説明は次の通りである。DNN構成モジュール１１０は、深層ニューラルネットワークモデル１２０及び深層ニューラルネットワークモデル１２０のためのトレーニングデータ１３０を取得してよい。DNNは、深層ニューラルネットワークモデル１２０及びトレーニングデータ１３０を、トレーニングモジュール１４０、変異モジュール１５０、ロバストネスモジュール１６０、及び水増しモジュール１７０に提供してよい。第１トレーニングエポックの間、トレーニングモジュール１４０は、深層ニューラルネットワークモデル１２０をトレーニングデータ１３０でトレーニングして、モデルパラメータを生成してよい。後続のトレーニングエポックの間、変異モジュール１５０は、ロバストネスモジュール１６０にトレーニングデータ１３０を提供してよく、ロバストネスモジュール１６０は、トレーニングデータ１３０の各トレーニングデータ点がロバストであるか又はロバストではないかを決定してよい。トレーニングデータ１３０のトレーニングデータ点がロバストではないと決定されたことに応答して、水増しモジュール１７０は、該トレーニングデータ点の１つ以上の変異により、該トレーニングデータ点を水増ししてよい。トレーニングモジュール１４０は、次に、トレーニングデータ１３０及び任意の水増しされたトレーニングデータ点を用いて、深層ニューラルネットワークモデル１２０をトレーニングしてよい。トレーニングモジュール１４０が深層ニューラルネットワークモデル１２０をトレーニングした後に、トレーニング済みDNNモデル１８０が生成されてよい。
【００４５】
幾つかの実施形態では、変異モジュール１５０は、前のトレーニングエポックでロバストであると決定されたトレーニングデータ点の変異を生成しないよう構成されてよい。上述の及び他の実施形態では、ロバストネスモジュール１６０は、同様に、前のトレーニングエポックでロバストであると決定されたトレーニングデータ点のロバストネスを決定しないよう構成されてよい。この方法では、環境１００は、水増しがトレーニングされた深層ニューラルネットワークモデル１２０の精度を向上する可能性がより高いとき、水増しのためのトレーニングデータ点を優先的に選択してよい。開示された方法で、水増しのための特定のトレーニングデータ点を選択することにより、深層ニューラルネットワークモデル１２０をトレーニングするための時間が短縮され得、深層ニューラルネットワークモデル１２０の使用効率を向上し、同時にトレーニングされた深層ニューラルネットワークモデル１２０の精度を維持し及び／又は改善する。
【００４６】
本開示の範囲から逸脱することなく図１に対し変更、追加又は省略が行われてよい。例えば、環境１００は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。さらに、別個に記載したが、幾つかの実施形態では、トレーニングモジュール１４０、変異モジュール１５０、ロバストネスモジュール１６０、及び水増しモジュール１７０のうちの２つ以上は、同じシステムの部分であり、又は記載されたものと異なる方法で分割されてよい。本記載における上述の及び他の要素の間の描写は、限定的ではなく、本開示において使用される概念及び原理の理解及び説明を助けることを意味する。代替として又は追加で、幾つかの実施形態では、DNN構成モジュール１１０、変異モジュール１５０、ロバストネスモジュール１６０、水増しモジュール１７０、及びトレーニングモジュール１４０のうちの１つ以上は、異なるシステムに渡り分散されてよい。上述の及び他の実施形態では、環境１００はネットワークを含んでよく、DNN構成モジュール１１０、変異モジュール１５０、ロバストネスモジュール１６０、水増しモジュール１７０、及びトレーニングモジュール１４０のうちの１つ以上は、ネットワークを介して通信可能に結合されてよい。
【００４７】
図２は、ロバストネスの概念的説明である。図２に示すように、第１クラス２１０及び第２クラス２２０について、深層ニューラルネットワークモデル（例えば、図１の深層ニューラルネットワークモデル１２０）は、第１予測クラス２３０及び第２予測クラス２４０を含む予測クラスのペアを生成してよい。これらの予測クラスは、第１クラス２１０及び第２クラス２２０の一連の結果を正確に予測する、深層ニューラルネットワークモデル１２０による試みである。典型的に、深層ニューラルネットワークモデルは、一連のトレーニングデータ点２５１ａ〜２５１ｃを利用することにより、第１予測クラス２３０及び第２予測クラス２４０を生み出す。通常、深層ニューラルネットワークモデルの精度は、敵対インスタンス又は誤判別を最小化する能力に基づく。例えば、点２７０ａ〜２７０ｅは、第１予測クラス２３０及び第２予測クラス２４０が、それぞれ第１クラス２１０及び第２クラス２２０の範囲を正確に予測しなかった領域内に見られる。
【００４８】
トレーニングデータ点２５１ａ〜２５１ｃは深層ニューラルネットワークモデルを発展させるために使用されるので、深層ニューラルネットワークモデルは、該トレーニングデータ点２５１ａ〜２５１ｃの近く又はそれらへの所定の距離範囲内にある点において非常に正確であることが期待される。この図では、これらのトレーニングデータ点２５１ａ〜２５１ｃまでの所定の距離範囲内にある領域は、トレーニングデータ点２５１ａ〜２５１ｃの領域２５０ａ〜２５０ｃとして参照される。現実には、しかしながら、ときに、深層ニューラルネットワークモデルはトレーニングデータ点の領域内で失敗することがある。例えば、図２に示す概念では、トレーニングデータ点２９０の正確さにも拘わらず、深層ニューラルネットワークモデルは、トレーニングデータ点２９０の領域２９５内にある点２８０ａ〜２８０ｂの結果を不正確に予測することがある。
【００４９】
水増しは、深層ニューラルネットワークモデルの精度を、トレーニングデータ点２５１ａ〜２５１ｃの近く又は該点までの所定の距離範囲内にある点において改善し得る。幾つかの実施形態では、トレーニングデータ点２５１ａ〜２５１ｃまでの所定の距離範囲内にある点は、トレーニングデータ点の変異であってよい。例えば、幾つかの実施形態では、点２８０ａ〜２８０ｂは、トレーニングデータ点２９０の変異であってよい。上述の及び他の実施形態では、DNN構成モジュール、例えば図１のDNN構成モジュール１１０は、変異２８０ａ〜２８０ｂのうちの１つ以上により、トレーニングデータ点２９０を水増しするよう構成されてよい。上述の及び他の実施形態では、トレーニングデータ点２９０を変異２８０ａ〜２８０ｂのうちの１つ以上により水増しすることは、深層ニューラルネットワークモデルが変異２８０ａ〜２８０ｂの結果を正しく予測することを助け得る。したがって、トレーニングデータ点をトレーニングデータ点の変異で水増しすることは、図２に示した問題を改善し得る。
【００５０】
図３は、DNNモデルのトレーニング時間の短縮の図である。図３００は、第１トレーニングエポック３１０ａと、第１トレーニングエポック３１０ａの直後に生じる第２トレーニングエポック３１０ｂと、第２トレーニングエポック３１０ｂの後の少なくとも１つのトレーニングエポックにおいて生じる第３トレーニングエポック３１０ｃと、に分けられてよい。図３００は、第１トレーニングデータ点３３０ａ及び第２トレーニングデータ点３３０ｂも含んでよい。第１トレーニングエポック３１０ａの間、図１の変異モジュール１５０のような変異モジュール３５０は、第１トレーニングデータ点３３０ａの複数の変異３５５ａ、及び第２トレーニングデータ点３３０ｂの複数の変異３５５ｂを生成してよい。図１のロバストネスモジュール１６０のようなロバストネスモジュール３６０は、第１トレーニングデータ点３３０ａ及び第２トレーニングデータ点３３０ｂがロバストであるか否かを、図１を参照して上述した又は図５及び６を参照して後述するのと同様の方法で決定してよい。ロバストネスモジュール３６０は、第１トレーニングエポック３１０ａの間に第１トレーニングデータ点３３０ａがロバストではないと決定してよく、第１トレーニングエポック３１０ａの間に第２トレーニングデータ点３３０ｂがロバストであると決定してよい。第１トレーニングデータ点３３０ａはロバストではないと決定されたので、図１の水増しモジュール１７０のような水増しモジュールは、複数の変異３３５ａから第１トレーニングデータ点３３０ａの変異を選択してよく、第１トレーニングデータ点３３０ａを変異３７０ａで水増ししてよい。第２トレーニングデータ点３３０ｂがロバストであると決定されたので、水増しモジュールは第２トレーニングデータ点３３０ｂの変異を選択しなくてよい。
【００５１】
第２トレーニングエポック３１０ｂの間、変異モジュール３５０は、第１トレーニングデータ点３３０ａの複数の変異３５５ａを生成してよい。幾つかの実施形態では、第２トレーニングエポック３１０ｂの間に生成された、第１トレーニングデータ点３３０ａの複数の変異３５５ａは、第１トレーニングエポック３１０ａの間に生成された複数のトレーニング変異３５５ａと異なってよい。代替として、幾つかの実施形態では、変異モジュール３５０は、第１トレーニングエポック３１０ａ及び第２トレーニングエポック３１０ｂの両方の間に、同じ複数の変異３５５ａを生成してよい。幾つかの実施形態では、変異モジュール３５０は、第２トレーニングエポック３１０ｂの間に、第２トレーニングデータ点３３０ｂの変異を生成しなくてよい。なぜなら、ロバストネスモジュール３６０が、第１トレーニングエポック３１０ａの間に、第２トレーニングデータ点３３０ｂがロバストであると決定したからである。幾つかの実施形態では、ロバストネスモジュール３６０は、第２トレーニングエポック３１０ｂの間に、第１トレーニングデータ点３３０ａがロバストではないと決定してよい。第１トレーニングデータ点３３０ａはロバストではないと決定されたので、水増しモジュールは、複数の変異３３５ａから第１トレーニングデータ点３３０ａの変異を選択してよく、第１トレーニングデータ点３３０ａを変異３７０ａで水増ししてよい。幾つかの実施形態では、水増しモジュールは、第２トレーニングエポック３１０ｂにおいて、第１トレーニングエポック３１０ａの間に選択されたのと異なる、第１トレーニングデータ点３３０ａの変異３７０ａを選択して、第１トレーニングデータ点３３０ａを水増ししてよい。代替として、幾つかの実施形態では、水増しモジュールは、第２トレーニングエポック３１０ｂ及び第１トレーニングエポック３１０ａにおいて、第１トレーニングデータ点３３０ａの同じ変異３７０ａを選択してよい。
【００５２】
第３トレーニングエポック３１０ｃの間、変異モジュール３５０は、第１トレーニングデータ点３３０ａの複数の変異３５５ａ、及び第２トレーニングデータ点３３０ｂの複数の変異３５５ｂを生成してよい。幾つかの実施形態では、第３トレーニングエポック３１０ｃの間に生成された、第１トレーニングデータ点３３０ａの複数の変異３５５ａは、第１トレーニングエポック３１０ａ及び／又は第２トレーニングエポック３１０ｂの間に生成された複数のトレーニング変異３５５ａと異なってよい。代替として、幾つかの実施形態では、変異モジュール３５０は、第１トレーニングエポック３１０ａ、第２トレーニングエポック３１０ｂ、及び第３トレーニングエポック３１０ｃの間に、同じ複数の変異３５５ａを生成してよい。幾つかの実施形態では、第３トレーニングエポック３１０ｃの間に生成された、第２トレーニングデータ点３３０ｂの複数の変異３５５ｂは、第１トレーニングエポック３１０ａの間に生成された複数のトレーニング変異３５５ｂと異なってよい。代替として、幾つかの実施形態では、変異モジュール３５０は、第１トレーニングエポック３１０ａ及び第３トレーニングエポック３１０ｃの両方の間に、同じ複数の変異３５５ｂを生成してよい。
【００５３】
幾つかの実施形態では、ロバストネスモジュール３６０は、第３トレーニングエポック３１０ｃの間に、第１トレーニングデータ点３３０ａ及び第２３トレーニングデータ点３３０ｂがロバストではないと決定してよい。第１トレーニングデータ点３３０ａはロバストではないと決定されたので、水増しモジュールは、複数の変異３３５ａから第１トレーニングデータ点３３０ａの変異を選択してよく、第１トレーニングデータ点３３０ａを変異３７０ａで水増ししてよい。幾つかの実施形態では、水増しモジュールは、第３トレーニングエポック３１０ｃにおいて、第１トレーニングエポック３１０ａ及び／又は第２トレーニングエポック３１０ｂの間に選択されたのと異なる、第１トレーニングデータ点３３０ａの変異３７０ａを選択して、第１トレーニングデータ点３３０ａを水増ししてよい。代替として、幾つかの実施形態では、水増しモジュールは、第１トレーニングエポック３１０ａ、第２トレーニングエポック３１０ｂ及び第３トレーニングエポック３１０ｃにおいて、第１トレーニングデータ点３３０ａの同じ変異３７０ａを選択してよい。第２トレーニングデータ点３３０ｂはロバストではないと決定されたので、水増しモジュールは、複数の変異３３５ｂから第２トレーニングデータ点３３０ｂの変異を選択してよく、第２トレーニングデータ点３３０ｂを変異３７０ｂで水増ししてよい。
【００５４】
本開示の範囲から逸脱することなく図３に対し変更、追加又は省略が行われてよい。例えば、図３００は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【００５５】
図４は、DNNモデルのトレーニング時間の短縮を説明する表４００である。図４に示すように、深層ニューラルネットワークモデルのトレーニングは、３０個のトレーニングエポック、４１０ａ、４１０ｂ、４１０ｃ、４１０ｄ、４１０ｅ、４１０ｆ、４１０ｇ、４１０ｎ（集合的にトレーニングエポック４１０）の期間の間に生じてよい。深層ニューラルネットワークモデルのためのトレーニングデータは、ｎ個のトレーニングデータ点、４３０ａ、４３０ｂ、４３０ｃ、４３０ｄ、４３０ｎ（集合的にトレーニングデータ点４３０）を含んでよい。表４００に示すように、最初のトレーニングエポック４１０ａを除いて、各トレーニングエポックの間に、トレーニングデータ点４３０の各々は、トレーニングデータ点４３０の変異により水増しされてよい（表中に「Ａ」として示される）。例えば、第２トレーニングエポック４１０ｂの間、トレーニングデータ点４３０ａ、４３０ｂ、４３０ｄ、及び４３０ｎは、ロバストではないと決定されてよく、水増しされてよい。トレーニングデータ点４３０ｃは、ロバストであると決定されてよく、水増しされなくてよい。連続するトレーニングエポック４１０の間に、トレーニングデータ点４３０は、トレーニングデータ点４３０がロバストではないと決定されると、水増しされてよい。幾つかの実施形態では、特定のトレーニングデータ点４３０のロバストネスは、特定のトレーニングデータ点４３０がロバストであると決定された後の多数のトレーニングエポック４１０の間、決定されなくてよい。例えば、表４００に示すように、トレーニングデータ点４３０ｃのロバストネスは、トレーニングエポック４１０ｃ、４１０ｄ、及び４１０ｅの間、決定されなくてよい。なぜなら、トレーニングデータ点４３０ｃは、トレーニングエポック４１０ｂの間にロバストであると決定されたからである。同様に、トレーニングデータ点４３０ｎのロバストネスは、トレーニングエポック４１０ｄ、４１０ｅ、及び４１０ｆの間、決定されなくてよい。なぜなら、トレーニングデータ点４３０ｎは、トレーニングエポック４１０ｃの間にロバストであると決定されたからである。
【００５６】
本開示の範囲から逸脱することなく図４に対し変更、追加又は省略が行われてよい。例えば、表４００は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【００５７】
図５は、トレーニングデータ点がロバストであるか否かを決定する第１の例示的な方法５００のフローチャートである。ブロック５１０で、トレーニングデータ点及び該トレーニングデータ点のクラスが取得されてよい。幾つかの実施形態では、クラスは、トレーニングデータ点のカテゴリを含んでよい。例えば、トレーニングデータ点が画像であるとき、クラスは、「猫」、「犬」、「人」、「自動車」、又は他の説明のような画像の説明を含んでよい。
【００５８】
ブロック５２０で、予測クラス閾が取得されてよい。幾つかの実施形態では、予測クラス閾は、深層ニューラルネットワークモデルにより正しく分類されたトレーニングデータ点の変異の数であってよい。ブロック５３０で、トレーニングデータ点の複数の変異が取得されてよい。上述の及び他の実施形態では、変異は、トレーニングデータ点の種類に依存して、視覚的変異及び／又は聴覚的変異を含んでよい。視覚的変異は、トレーニングデータの回転、トレーニングデータの平行移動、トレーニングデータのせん断、トレーニングデータのズーム、第１トレーニングデータ点の輝度の変化、第１トレーニングデータ点のコントラストの変化、及び／又はトレーニングデータ点の他の変異を含み得る。聴覚的変異は、トレーニングデータの中の速度に基づく会話の摂動、トレーニングデータへの背景雑音の追加、トレーニングデータのテンポに基づく摂動、及び／又はトレーニングデータ点の他の変異を含んでよい。
【００５９】
ブロック５４０で、各変異に関して、予測クラス決定が実行されてよい。幾つかの実施形態では、予測クラス決定は、各変異が入力として提供されるとき、深層ニューラルネットワークモデルのクラス予測を決定するステップを含んでよい。ブロック５５０で、予測クラス決定の一致したクラスの数が決定されてよい。例えば、予測クラス決定のうちの５０個が、トレーニングデータ点のクラスと一致してよい。
【００６０】
決定ブロック５６０で、方法５００は、一致したクラスの数が予測クラス閾を超えるか否かを決定してよい。一致したクラスの数が予測クラス閾を超えたことに応答して（決定ブロック５６０で「Ｙｅｓ」）、方法５００は、ブロック５７０に進んでよく、トレーニングデータ点はロバストであると決定される。一致したクラスの数が予測クラス閾を超えないことに応答して（決定ブロック５６０で「Ｎｏ」）、方法５００は、ブロック５８０に進んでよく、トレーニングデータ点はロバストではないと決定される。方法５００は、ブロック５７０及び５８０の後に、ブロック５１０に戻ってよい。
【００６１】
本開示の範囲から逸脱することなく図５に対し変更、追加又は省略が行われてよい。例えば、方法５００は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【００６２】
図６は、トレーニングデータ点がロバストであるか否かを決定する第２の例示的な方法６００のフローチャートである。ブロック６１０で、トレーニングデータ点及び該トレーニングデータ点のクラスが取得されてよい。幾つかの実施形態では、クラスは、トレーニングデータ点のカテゴリを含んでよい。例えば、トレーニングデータ点が画像であるとき、クラスは、「猫」、「犬」、「人」、「自動車」、又は他の説明のような画像の説明を含んでよい。
【００６３】
ブロック６２０で、損失閾が取得されてよい。ブロック６３０で、トレーニングデータ点の複数の変異が取得されてよい。上述の及び他の実施形態では、変異は、視覚的変異及び／又は聴覚的変異を含んでよい。視覚的変異は、トレーニングデータの回転、トレーニングデータの平行移動、トレーニングデータのせん断、トレーニングデータのズーム、第１トレーニングデータ点の輝度の変化、第１トレーニングデータ点のコントラストの変化、及び／又はトレーニングデータ点の他の変異を含み得る。聴覚的変異は、トレーニングデータの中の速度に基づく会話の摂動、トレーニングデータへの背景雑音の追加、トレーニングデータのテンポに基づく摂動、及び／又はトレーニングデータ点の他の変異を含んでよい。
【００６４】
ブロック６４０で、各変異に関して、損失決定が実行されてよい。幾つかの実施形態では、損失決定は、各変異が入力として提供されるとき、深層ニューラルネットワークモデルの損失を決定するステップを含んでよい。各損失は、変異の予測クラスがトレーニングデータ点のクラスと一致する予測確率に基づき決定されてよい。ブロック６５０で、決定された損失のうちの最大損失が識別されてよい。
【００６５】
決定ブロック６６０で、方法６００は、最大損失が損失閾より小さいか否かを決定してよい。最大損失が損失閾より小さいことに応答して（決定ブロック６６０で「Ｙｅｓ」）、方法６００は、ブロック６７０に進んでよく、トレーニングデータ点はロバストであると決定される。最大損失が損失閾以上であることに応答して（決定ブロック５６０で「Ｎｏ」）、方法６００は、ブロック６８０に進んでよく、トレーニングデータ点はロバストではないと決定される。方法６００は、ブロック６７０及び６８０の後に、ブロック６１０に戻ってよい。
【００６６】
本開示の範囲から逸脱することなく図６に対し変更、追加又は省略が行われてよい。例えば、方法６００は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【００６７】
図７は、深層ニューラルネットワークモデルをトレーニングする例示的な方法７００のフローチャートである。方法７００は、ブロック７０５で開始してよく、深層ニューラルネットワークモデルが取得されてよい。ブロック７１０で、方法７００は、トレーニングエポックを開始するステップを含んでよい。ブロック７１５で、トレーニングデータ点が取得されてよい。決定ブロック７２０で、方法７００は、前のｋ個のトレーニングエポックのうちの１つにおいて、トレーニングデータ点がロバストであると決定されたか否かを決定するステップを含んでよい。幾つかの実施形態では、「ｋ」は任意の整数を表してよい。例えば、幾つかの実施形態では、ｋは０、１、２、５、又は任意の他の数であってよい。代替として、幾つかの実施形態では、方法７００は、前のトレーニングエポックにおいて、トレーニングデータ点がロバストであると決定されたか否かを決定するステップを含んでよい。
【００６８】
前のｋ個のトレーニングエポックのうちの１つにおいて、トレーニングデータ点がロバストであると決定されたことに応答して（決定ブロック７２０で「Ｙｅｓ」）、方法７００は、ブロック７３５に進んでよい。前のｋ個のトレーニングエポックのうちの１つにおいて、トレーニングデータ点がロバストではないと決定されたことに応答して（決定ブロック７２０で「Ｎｏ」）、方法７００は、ブロック７２５に進んでよい。ブロック７２５で、方法７００は、トレーニングデータ点がロバストであるか否かを決定するステップを含んでよい。幾つかの実施形態では、方法７００は、図５及び／又は６を参照して上述したのと同様の方法を用いて、トレーニングデータ点がロバストであるか否かを決定してよい。代替として、幾つかの実施形態では、方法７００は、トレーニングデータ点がロバストであるか否かを決定するために異なる方法を用いてよい。トレーニングデータ点がロバストであると決定されたことに応答して（決定ブロック７２５で「Ｙｅｓ」）、方法７００は、ブロック７３５に進んでよい。トレーニングデータ点がロバストではないと決定されたことに応答して（決定ブロック７２５で「Ｎｏ」）、方法７００は、ブロック７３０に進んでよい。
【００６９】
ブロック７３５で、トレーニングデータ点は、トレーニングデータ点の１つ以上の変異により水増しされてよい。ブロック７４０で、深層ニューラルネットワークモデルは、水増しされたトレーニングデータ点を用いてトレーニングされてよい。ブロック７３５で、深層ニューラルネットワークモデルは、トレーニングデータ点を用いてトレーニングされてよい。ブロック７３５又はブロック７４０の後に、方法７００はブロック７４５に進み得る。深層ニューラルネットワークモデルのトレーニングは、トレーニングデータ点及び／又は水増しされたトレーニングデータ点に渡る順伝播及び逆伝播を含んでよい。幾つかの実施形態では、深層ニューラルネットワークモデルは、トレーニングデータに渡り相互エントロピー関数を最小化するアルゴリズムを用いてトレーニングされてよい。
【００７０】
決定ブロック７４５で、方法７００は、更なるトレーニングデータ点があるか否かを決定してよい。更なるトレーニングデータ点が存在することに応答して（決定ブロック７４５で「Ｙｅｓ」）、方法７００は、ブロック７１５に戻ってよい。更なるトレーニングデータ点が存在しないことに応答して（決定ブロック７４５で「Ｎｏ」）、方法７１５は、ブロック７５０に進んでよい。決定ブロック７５０で、方法７００は、更なるトレーニングエポックがあるか否かを決定してよい。更なるトレーニングエポックが存在することに応答して（決定ブロック７５０で「Ｙｅｓ」）、方法７００は、ブロック７１０に戻ってよい。更なるトレーニングエポックが存在しないことに応答して（決定ブロック７５０で「Ｎｏ」）、方法７００は、ブロック７５５に進んでよい。ブロック７５５で、深層ニューラルネットワークモデルのトレーニングが完了してよい。
【００７１】
本開示の範囲から逸脱することなく図７に対し変更、追加又は省略が行われてよい。例えば、方法７００は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【００７２】
図８は、深層ニューラルネットワークモデルのトレーニング時間を短縮する例示的な方法のフローチャートである。方法８００は、本開示に記載の少なくとも１つの実施形態に従い構成されてよい。方法８００は、幾つかの実施形態では、図１及び９の環境１００及び／又はコンピュータシステム９０２のようなシステム及び／又は環境によりそれぞれ全部又は部分的に実行されてよい。上述の及び他の実施形態では、方法８００は、１つ以上の非一時的コンピュータ可読媒体に格納された命令の実行に基づき実行されてよい。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されてよい。
【００７３】
方法８００は、ブロック８１０で開始してよく、深層ニューラルネットワークモデルが取得されてよい。ブロック８２０で、第１トレーニングデータ点及び第２トレーニングデータ点が、第１トレーニングエポックの間に、深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から取得されてよい。ブロック８３０で、第１トレーニングデータ点の第１ロバストネス値が、第１トレーニングデータ点の変異に関する深層ニューラルネットワークモデルの第１精度に基づき決定されてよい。幾つかの実施形態では、深層ニューラルネットワークモデルは、予測クラス決定に基づき、損失決定に基づき、及び／又は別の決定に基づき、第１トレーニングデータ点の変異に関して正確であることを決定されてよい。
【００７４】
幾つかの実施形態では、第１ロバストネス値は、予測クラス決定に基づき決定されてよい。上述の及び他の実施形態では、第１トレーニングデータ点のクラスが取得されてよい。クラスは、第１トレーニングデータ点のカテゴリであってよい。上述の及び他の実施形態では、トレーニングデータ点の複数の変異が取得されてよい。予測クラス決定は、複数の変異のうちの、それぞれの変異に関して実行されてよい。予測クラス決定は、それぞれの変異が提供されると、深層ニューラルネットワークモデルのそれぞれのクラス予測を決定するステップを含んでよい。その結果、複数の変異に関して、複数のクラス予測が取得される。上述の及び他の実施形態では、第１ロバストネス値は、第１トレーニングデータ点の取得したクラスに一致する、複数の予測のうちの一致するクラスの数として決定されてよい。
【００７５】
幾つかの実施形態では、第１ロバストネス値は、損失決定に基づき決定されてよい。上述の及び他の実施形態では、第１トレーニングデータ点のクラスが取得されてよい。クラスは、第１トレーニングデータ点のカテゴリであってよい。上述の及び他の実施形態では、トレーニングデータ点の複数の変異が取得されてよい。損失決定は、複数の変異のうちの、それぞれの変異に関して実行されてよい。損失決定は、それぞれの変異の予測クラスが第１トレーニングデータ点のクラスと一致する予測確率に基づき決定されてよい。上述の及び他の実施形態では、第１ロバストネス値は、１つ以上の損失のうちの最大損失として決定されてよい。
【００７６】
ブロック８４０で、第２トレーニングデータ点の第２ロバストネス値が、第２トレーニングデータ点の変異に関する深層ニューラルネットワークモデルの第２精度に基づき決定されてよい。ブロック８５０で、第１ロバストネス値がロバストネス閾を満たすことに応答して、方法８００は、第１トレーニングエポックの間に、第１トレーニングデータ点の変異により第１トレーニングデータ点の水増しを省略するステップを含んでよい。幾つかの実施形態では、ロバストネス閾は予測クラス閾を含んでよい。代替として又は追加で、幾つかの実施形態では、ロバストネス閾は損失閾を含んでよい。
【００７７】
ブロック８６０で、第２ロバストネス値がロバストネス閾を満たさないことに応答して、第２トレーニングデータ点は、第１トレーニングエポックの間に、第２トレーニングデータ点の１つ以上の変異により水増しされてよい。ブロック８７０で、深層ニューラルネットワークモデルは、第１トレーニングエポックの間に、第１トレーニングデータ点及び水増しした第２トレーニングデータ点で、トレーニングされてよい。
【００７８】
当業者は、本願明細書に開示された上述の及び他の処理、動作、及び方法について、実行される機能及び／又は工程が異なる順序で実施されてよいことを理解するだろう。さらに、概略の機能及び動作は、単に例として提供され、幾つかの機能及び動作は、開示の実施形態の本質から逸脱することなく、任意であり、より少ない機能及び動作に組み合わされ、又は追加機能及び動作に拡張されてよい。幾つかの実施形態では、方法８００は、追加のブロック又はより少ないブロックを含んでよい。例えば、幾つかの実施形態では、方法８００は、第２トレーニングデータ点及び関連するブロックを含まなくてよい。
【００７９】
代替として又は追加で、幾つかの実施形態では、方法８００は、第１トレーニングエポックの後の１つ以上の第２トレーニングエポックの間に、第１トレーニングデータ点で、深層ニューラルネットワークモデルをトレーニングするステップを含んでよい。上述の及び他の実施形態では、方法８００は、さらに、１つ以上の第２トレーニングエポックの後の第３トレーニングエポックの間に、トレーニングデータ点の母集団から第１トレーニングデータ点を取得するステップを含んでよい。上述の及び他の実施形態では、方法８００は、さらに、第１トレーニングデータ点の変異に関する深層ニューラルネットワークモデルの第３精度に基づき、第１トレーニングデータ点の第３ロバストネス値を決定するステップを含んでよい。上述の及び他の実施形態では、方法８００は、さらに、第３ロバストネス値がロバストネス閾を満たさないことに応答して、第３トレーニングエポックの間に、第１トレーニングデータ点の１つ以上の変異により第１トレーニングデータ点の水増しを省略するステップを含んでよい。上述の及び他の実施形態では、方法８００は、さらに、第３トレーニングエポックの間に、水増しした第１トレーニングデータ点で深層ニューラルネットワークモデルをトレーニングするステップを含んでよい。
【００８０】
図９は、本開示の特定の少なくとも一実施形態による例示的なコンピューティングシステム９０２のブロック図を示す。コンピューティングシステム９０２は、水増しモジュール（例えば、図１の水増しモジュール１７０）と関連する１つ以上の動作を実施し又は指示するよう構成されてよい。コンピューティングシステム９０２は、プロセッサ９５０、メモリ９５２、及びデータ記憶９５４を含んでよい。プロセッサ９５０、メモリ９５２、及びデータ記憶装置９５４は、通信可能に結合されてよい。
【００８１】
概して、プロセッサ９５０は、任意の適切な特定用途向け又は汎用コンピュータ、コンピューティングエンティティ、又は種々のコンピュータハードウェア若しくはソフトウェアモジュールを有してよく、任意の適切なコンピュータ可読媒体に格納された命令を実行するよう構成され得る処理装置を用いて実施されてよい。例えば、プロセッサ９５０は、マイクロプロセッサ、マイクロコントローラ、デジタシグナルプロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）又はプログラム命令を解釈し及び／若しくは実行し並びに／又はデータを処理するよう構成された任意の他のデジタル若しくはアナログ回路を有してよい。図９には単一のプロセッサを示したが、プロセッサ９５０は、本開示で説明される任意の数の操作を個々に又は共同で実行する又は実行を指示するよう構成される任意の数のプロセッサを有してよい。さらに、プロセッサのうちの１つ以上は、異なるサーバのような１つ以上の異なる電子装置に存在してよい。
【００８２】
幾つかの実施形態では、プロセッサ９５０は、プログラム命令を解釈し及び／又は実行し、及び／又はメモリ９５２、データ記憶９５４又はメモリ９５２及びデータ記憶装置９５４に格納されたデータを処理してよい。幾つかの実施形態では、プロセッサ９５０は、データ記憶装置９５４からプログラム命令をフェッチし、該プログラム命令をメモリ９５２にロードしてよい。プログラム命令がメモリ９５２にロードされた後、プロセッサ９５０は該プログラム命令を実行してよい。
【００８３】
例えば、幾つかの実施形態では、DNN構成モジュールは、プログラム命令としてデータ記憶装置９５４に含まれてよい。プロセッサ９５０は、データ記憶装置９５４からDNN構成モジュールのプログラム命令をフェッチしてよく、DNN構成モジュールのプログラム命令をメモリ９５２にロードしてよい。DNN構成モジュールのプログラム命令がメモリ９５２にロードされた後、プロセッサ９５０は、コンピューティングシステムが命令により指示されるようにDNN構成モジュールと関連する動作を実施できるように、プログラム命令を実行してよい。
【００８４】
メモリ９５２及びデータ記憶装置９５４は、コンピュータ実行可能命令又はデータ構造を伝える又は格納しているコンピュータ可読記憶媒体を含み得る。このようなコンピュータ可読媒体は、プロセッサ９５０のような汎用又は特定目的コンピュータによりアクセスできる任意の利用可能な媒体を含み得る。例として且つ限定ではなく、このようなコンピュータ可読媒体は、RAM（Random  Access  Memory）、ROM（Read−Only  Memory）、EEPROM（Electrically  Erasable  Programmable  Read−Only  Memory）、CD−ROM（Compact  Disc  Read−Only  Memory）又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ装置（例えば、固体メモリ素子）を含む有形又は非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で特定のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の記憶媒体を有し得る。上述の組合せも、コンピュータ可読記憶媒体の範囲に包含され得る。コンピュータ実行可能命令は、例えば、プロセッサ９５０に特定の工程又は工程のグループを実行させるよう構成される命令及びデータを含み得る。
【００８５】
本開示の範囲から逸脱することなくコンピューティングシステム９０２に対し変更、追加又は省略が行われてよい。例えば、幾つかの実施形態では、コンピューティングシステム９０２は、明示的に示され又は記載されてない任意の数の他のコンポーネントを有してよい。
【００８６】
理解され得るように、水増しによる利益を得る深層ニューラルネットワークモデル１２０のトレーニングデータ点を識別することは、既存の深層ニューラルネットワークモデル１２０を改善する又は深層ニューラルネットワークモデル１２０のトレーニング時間を短縮するための手段として使用されてよい。したがって、本願明細書に記載のシステム及び方法は、深層ニューラルネットワークモデルの品質を向上しながら、トレーニングし及び幾つかの場合にはトレーニング時間を短縮する能力を提供し、より正確な機械学習を提供する。
【００８７】
上述のように、本開示で記載した実施形態は、以下に更に詳細に議論するように、種々のコンピュータハードウェア又はソフトウェアモジュールを備えた特定用途又は汎用コンピュータ（例えば、図９のプロセッサ９５０）の使用を含み得る。さらに、上述のように、本開示に記載の実施形態は、コンピュータ実行可能命令又はデータ構造を伝える又はそれを格納されたコンピュータ可読媒体（例えば、図９のメモリ９５２又はデータ記憶装置９５４）を用いて実施されてよい。
【００８８】
本開示で用いられるように、用語「モジュール」又は「コンポーネント」は、モジュール若しくはコンポーネントのアクションを実行するよう構成される特定ハードウェア実装、及び／又はコンピューティングシステムの汎用ハードウェア（例えばコンピュータ可読媒体、処理装置、等）に格納され及び／又はそれらにより実行され得るソフトウェアオブジェクト又はソフトウェアルーチンを表してよい。幾つかの実施形態では、本開示に記載されたのと異なるコンポーネント、モジュール、エンジン及びサービスは、（例えば、別個のスレッドとして）コンピューティングシステムで実行されるオブジェクト又は処理として実施されてよい。本開示に記載のシステム及び方法の幾つかは概して（汎用ハードウェアに格納される及び／又はそれにより実行される）ソフトウェアで実装されるように記載されたが、専用ハードウェアの実装又はソフトウェアと専用ハードウェアの組み合わせの実装も可能であり考えられる。この説明では、「コンピュータエンティティ」は、本開示で先に定められたようにコンピューティングシステム、又はコンピューティングシステムで実行されるモジュール若しくはモジュールの組合せであってよい。
【００８９】
本開示で及び特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体）で使用される用語は、概して、広義の（open）用語と考えられる（例えば、用語「含む（including）」は「含むが、限定されない」と解釈されるべきであり、用語「有する（having）」は「少なくとも有する」と解釈されるべきであり、用語「含む（includes）」は「含むが、限定されない」と解釈されるべきである）。
【００９０】
さらに、特定数の導入された請求項の引用が意図される場合、このような意図は、請求項の中に明示的に示され、このような引用が存在しない場合はこのような意図が存在しない。例えば、理解の助けとして、以下の添付の特許請求の範囲は、請求項の引用を導入するために、「少なくとも１つの」及び「１又は複数の」をいう前置語句の使用を含み得る。しかしながら、このような語句の使用は、同じ請求項が前置語句「１又は複数」又は「少なくとも１つの」及び「ａ又はａｎ」のような不定冠詞を含むときでも、不定冠詞「ａ、ａｎ」による請求項引用の導入がこのような導入された請求項引用を含む任意の特定の請求項をこのような引用を１つだけ含む実施形態に限定することを示すと考えられてはならない（例えば、「ａ」及び／又は「ａｎ」は「少なくとも１つの」又は「１又は複数の」を意味すると解釈されるべきである）。同様のことは、請求項引用を導入するために使用される定冠詞の使用についても該当する。
【００９１】
さらに、特定数の導入された請求項引用が明示的に引用される場合、当業者は、このような引用が少なくとも引用された番号を意味することと解釈されるべきであることを認識するだろう（例えば、「２つの引用」はそのままで、他の変更が無ければ、少なくとも２つの引用、又は２以上の引用を意味する）。さらに、「Ａ、Ｂ、Ｃ、等のうちの少なくとも１つ」又は「Ａ、Ｂ、Ｃ、等のうちの１又は複数」に類似する慣例が用いられる例では、通常、このような構成は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢを一緒に、Ａ及びＣを一緒に、Ｂ及びＣを一緒に、又はＡ、Ｂ、Ｃを一緒に、等を含むと意図される。
【００９２】
さらに、２以上の代替用語を表す任意の離接語又は語句は、説明、請求項、又は図面の中であるかに係わらず、用語のうちの１つ、用語のうちのいずれか、又は両方の用語を含む可能性を包含すると理解されるべきである。例えば、語句「Ａ又はＢ」は、「Ａ」又は「Ｂ」又は「Ａ及びＢ」の可能性を含むと理解されるべきである。
【００９３】
本開示に記載された全ての例及び条件文は、教育上の目的で、読者が本開示の原理及び発明者により考案された概念を理解するのを助け、技術を促進させるためであり、これらの特に記載された例及び条件に限定されないものと考えられるべきである。本開示の実施形態が詳細に記載されたが、種々の変更、置換及び修正が本開示の精神及び範囲から逸脱することなく行われ得る。
【００９４】
以上の実施形態に加えて、更に以下の付記を開示する。
（付記１）  深層ニューラルネットワークモデルを取得するステップと、
第１トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第１トレーニングデータ点及び第２トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第１精度に基づき、前記第１トレーニングデータ点の第１ロバストネス値を決定するステップと、
前記第２トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第２精度に基づき、前記第２トレーニングデータ点の第２ロバストネス値を決定するステップと、
前記第１ロバストネス値がロバストネス閾を満たすことに応答して、前記第１トレーニングエポックの間に前記第１トレーニングデータ点の変異による前記第１トレーニングデータ点の水増しを省略するステップと、
前記第２ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第１トレーニングエポックの間に前記第２トレーニングデータ点の１つ以上の変異により前記第２トレーニングデータ点を水増しするステップと、
前記第１トレーニングエポックの間に、前記第１トレーニングデータ点及び前記水増しした第２トレーニングデータ点で、前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
（付記２）  前記第１ロバストネス値を決定するステップは、
前記第１トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第１トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第１ロバストネス値として、前記第１トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記１に記載の方法。
（付記３）  前記第１トレーニングデータ点の前記複数の変異を取得するステップは、前記第１トレーニングデータ点の１つ以上のランダム変異を取得するステップを含む、付記２に記載の方法。
（付記４）  前記第１ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第１トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第１ロバストネス値として、前記１つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記１に記載の方法。
（付記５）  前記第１ロバストネス値を決定するステップは、前記第１トレーニングデータ点の複数の変異に基づく、付記１に記載の方法。
（付記６）  前記第１トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの１つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第１トレーニングデータ点の回転、前記第１トレーニングデータ点の平行移動、前記第１トレーニングデータ点のせん断、前記第１トレーニングデータ点のズーム、前記第１トレーニングデータ点の輝度の変化、前記第１トレーニングデータ点のコントラストの変化、を含む、付記５に記載の方法。
（付記７）  前記第１トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの１つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第１トレーニングデータ点の速度に基づく会話の摂動、前記第１トレーニングデータ点への背景雑音の追加、及び前記第１トレーニングデータ点のテンポに基づく摂動、を含む、付記５に記載の方法。
（付記８）  １つ以上の命令を記憶し、該命令は、少なくとも１つのシステムにより実行されることに応答して、前記少なくとも１つのシステムに付記１に記載の方法を実行させる、少なくとも１つの非一時的コンピュータ可読媒体。
（付記９）  深層ニューラルネットワークモデルを取得するステップと、
第１トレーニングエポックの間に、前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第１トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第１精度に基づき、前記第１トレーニングデータ点の第１ロバストネス値を決定するステップと、
前記第１ロバストネス値がロバストネス閾を満たすことに応答して、前記第１トレーニングエポックの間、及び前記第１トレーニングエポックの後の１つ以上の第２トレーニングエポックの間に、前記第１トレーニングデータ点の変異による前記第１トレーニングデータ点の水増しを省略するステップと、
前記第１トレーニングエポックの間に前記第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記１つ以上の第２トレーニングエポックの間に前記第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記１つ以上の第２トレーニングエポックの後の第３トレーニングエポックの間に、前記トレーニングデータ点の母集団から、前記第１トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第２精度に基づき、前記第１トレーニングデータ点の第２ロバストネス値を決定するステップと、
前記第２ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第３トレーニングエポックの間に、前記第１トレーニングデータ点の１つ以上の変異により前記第１トレーニングデータ点を水増しするステップと、
前記第３トレーニングエポックの間に、前記水増しした第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
（付記１０）  前記第１ロバストネス値を決定するステップは、
前記第１トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第１トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第１ロバストネス値として、前記第１トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記９に記載の方法。
（付記１１）  前記第１トレーニングデータ点の前記複数の変異を取得するステップは、前記第１トレーニングデータ点の１つ以上のランダム変異を取得するステップを含む、付記１０に記載の方法。
（付記１２）  前記第１ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第１トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第１ロバストネス値として、前記１つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記９に記載の方法。
（付記１３）  前記第１ロバストネス値を決定するステップは、前記第１トレーニングデータ点の複数の変異に基づく、付記９に記載の方法。
（付記１４）  前記第１トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの１つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第１トレーニングデータ点の回転、前記第１トレーニングデータ点の平行移動、前記第１トレーニングデータ点のせん断、前記第１トレーニングデータ点のズーム、前記第１トレーニングデータ点の輝度の変化、前記第１トレーニングデータ点のコントラストの変化、を含む、付記１３に記載の方法。
（付記１５）  前記第１トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの１つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第１トレーニングデータ点の速度に基づく会話の摂動、前記第１トレーニングデータ点への背景雑音の追加、及び前記第１トレーニングデータ点のテンポに基づく摂動、を含む、付記１３に記載の方法。
（付記１６）  １つ以上の命令を記憶し、該命令は、少なくとも１つのシステムにより実行されることに応答して、前記少なくとも１つのシステムに付記９に記載の方法を実行させる、少なくとも１つの非一時的コンピュータ可読媒体。
（付記１７）  深層ニューラルネットワークモデルを取得するステップと、
第１トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から第１トレーニングデータ点を取得するステップと、
前記第１トレーニングデータ点に関する前記深層ニューラルネットワークモデルの第１精度に基づき、前記第１トレーニングデータ点の第１ロバストネス値を決定するステップと、
前記第１ロバストネス値がロバストネス閾を満たすことに応答して、前記第１トレーニングエポックの間に前記第１トレーニングデータ点の変異による前記第１トレーニングデータ点の水増しを省略するステップと、
前記第１トレーニングエポックの間に前記第１トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
（付記１８）  前記第１ロバストネス値を決定するステップは、
前記第１トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第１トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第１ロバストネス値として、前記第１トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記１７に記載の方法。
（付記１９）  前記第１ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第１トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第１トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第１ロバストネス値として、前記１つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第１トレーニングデータ点がロバストであると決定するステップであって、前記第１トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第１トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記１７に記載の方法。
（付記２０）  １つ以上の命令を記憶し、該命令は、少なくとも１つのシステムにより実行されることに応答して、前記少なくとも１つのシステムに付記１７に記載の方法を実行させる、少なくとも１つの非一時的コンピュータ可読媒体。
【符号の説明】
【００９５】
１００  環境
１１０  DNN構成モジュール
１２０  深層ニューラルネットワークモデル
１３０  トレーニングデータ
１４０  トレーニングモジュール
１５０  変異モジュール
１６０  ロバストネスモジュール
１７０  水増しモジュール
１８０  トレーニング済みDNNモデル
【図１】
2020184311.tif 000003
【図２】
2020184311.tif 000004
【図３】
2020184311.tif 000005
【図４】
2020184311.tif 000006
【図５】
2020184311.tif 000007
【図６】
2020184311.tif 000008
【図７】
2020184311.tif 000009
【図８】
2020184311.tif 000010
【図９】
2020184311.tif 000011