IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7404924自動データ水増しにおけるトレーニング時間の短縮
<>
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図1
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図2
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図3
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図4
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図5
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図6
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図7
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図8
  • 特許-自動データ水増しにおけるトレーニング時間の短縮 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】自動データ水増しにおけるトレーニング時間の短縮
(51)【国際特許分類】
   G06N 3/08 20230101AFI20231219BHJP
   G06N 3/04 20230101ALI20231219BHJP
   G06T 7/00 20170101ALI20231219BHJP
【FI】
G06N3/08
G06N3/04
G06T7/00 350C
【請求項の数】 20
(21)【出願番号】P 2020027425
(22)【出願日】2020-02-20
(65)【公開番号】P2020184311
(43)【公開日】2020-11-12
【審査請求日】2022-11-17
(31)【優先権主張番号】16/399399
(32)【優先日】2019-04-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】サハ・リポン ケイ
(72)【発明者】
【氏名】ガオ・シアン
(72)【発明者】
【氏名】プラサド・ムクル アール
(72)【発明者】
【氏名】ゴーシュ・インドラディープ
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2016-161823(JP,A)
【文献】特表2018-513399(JP,A)
【文献】米国特許出願公開第2019/0266418(US,A1)
【文献】特開平06-083795(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/04
G06N 20/00
G06T 7/00
G10L 15/16
G10L 17/18
G10L 25/30
(57)【特許請求の範囲】
【請求項1】
深層ニューラルネットワークモデルを取得するステップと、
第1トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第1トレーニングデータ点及び第2トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第1精度に基づき、前記第1トレーニングデータ点の第1ロバストネス値を決定するステップと、
前記第2トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第2精度に基づき、前記第2トレーニングデータ点の第2ロバストネス値を決定するステップと、
前記第1ロバストネス値がロバストネス閾を満たすことに応答して、前記第1トレーニングエポックの間に前記第1トレーニングデータ点の変異による前記第1トレーニングデータ点の水増しを省略するステップと、
前記第2ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第1トレーニングエポックの間に前記第2トレーニングデータ点の1つ以上の変異により前記第2トレーニングデータ点を水増しするステップと、
前記第1トレーニングエポックの間に、前記第1トレーニングデータ点及び前記水増しした第2トレーニングデータ点で、前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
【請求項2】
前記第1ロバストネス値を決定するステップは、
前記第1トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第1トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第1ロバストネス値として、前記第1トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記第1トレーニングデータ点の前記複数の変異を取得するステップは、前記第1トレーニングデータ点の1つ以上のランダム変異を取得するステップを含む、請求項2に記載の方法。
【請求項4】
前記第1ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第1トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第1ロバストネス値として、前記1つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項1に記載の方法。
【請求項5】
前記第1ロバストネス値を決定するステップは、前記第1トレーニングデータ点の複数の変異に基づく、請求項1に記載の方法。
【請求項6】
前記第1トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの1つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第1トレーニングデータ点の回転、前記第1トレーニングデータ点の平行移動、前記第1トレーニングデータ点のせん断、前記第1トレーニングデータ点のズーム、前記第1トレーニングデータ点の輝度の変化、前記第1トレーニングデータ点のコントラストの変化、を含む、請求項5に記載の方法。
【請求項7】
前記第1トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの1つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第1トレーニングデータ点の速度に基づく会話の摂動、前記第1トレーニングデータ点への背景雑音の追加、及び前記第1トレーニングデータ点のテンポに基づく摂動、を含む、請求項5に記載の方法。
【請求項8】
1つ以上の命令を記憶し、該命令は、少なくとも1つのシステムにより実行されることに応答して、前記少なくとも1つのシステムに請求項1に記載の方法を実行させる、少なくとも1つの非一時的コンピュータ可読媒体。
【請求項9】
深層ニューラルネットワークモデルを取得するステップと、
第1トレーニングエポックの間に、前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第1トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第1精度に基づき、前記第1トレーニングデータ点の第1ロバストネス値を決定するステップと、
前記第1ロバストネス値がロバストネス閾を満たすことに応答して、前記第1トレーニングエポックの間、及び前記第1トレーニングエポックの後の1つ以上の第2トレーニングエポックの間に、前記第1トレーニングデータ点の変異による前記第1トレーニングデータ点の水増しを省略するステップと、
前記第1トレーニングエポックの間に前記第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記1つ以上の第2トレーニングエポックの間に前記第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記1つ以上の第2トレーニングエポックの後の第3トレーニングエポックの間に、前記トレーニングデータ点の母集団から、前記第1トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第2精度に基づき、前記第1トレーニングデータ点の第2ロバストネス値を決定するステップと、
前記第2ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第3トレーニングエポックの間に、前記第1トレーニングデータ点の1つ以上の変異により前記第1トレーニングデータ点を水増しするステップと、
前記第3トレーニングエポックの間に、前記水増しした第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
【請求項10】
前記第1ロバストネス値を決定するステップは、
前記第1トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第1トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第1ロバストネス値として、前記第1トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項9に記載の方法。
【請求項11】
前記第1トレーニングデータ点の前記複数の変異を取得するステップは、前記第1トレーニングデータ点の1つ以上のランダム変異を取得するステップを含む、請求項10に記載の方法。
【請求項12】
前記第1ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第1トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第1ロバストネス値として、前記1つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項9に記載の方法。
【請求項13】
前記第1ロバストネス値を決定するステップは、前記第1トレーニングデータ点の複数の変異に基づく、請求項9に記載の方法。
【請求項14】
前記第1トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの1つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第1トレーニングデータ点の回転、前記第1トレーニングデータ点の平行移動、前記第1トレーニングデータ点のせん断、前記第1トレーニングデータ点のズーム、前記第1トレーニングデータ点の輝度の変化、前記第1トレーニングデータ点のコントラストの変化、を含む、請求項13に記載の方法。
【請求項15】
前記第1トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの1つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第1トレーニングデータ点の速度に基づく会話の摂動、前記第1トレーニングデータ点への背景雑音の追加、及び前記第1トレーニングデータ点のテンポに基づく摂動、を含む、請求項13に記載の方法。
【請求項16】
1つ以上の命令を記憶し、該命令は、少なくとも1つのシステムにより実行されることに応答して、前記少なくとも1つのシステムに請求項9に記載の方法を実行させる、少なくとも1つの非一時的コンピュータ可読媒体。
【請求項17】
深層ニューラルネットワークモデルを取得するステップと、
第1トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から第1トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点に関する前記深層ニューラルネットワークモデルの第1精度に基づき、前記第1トレーニングデータ点の第1ロバストネス値を決定するステップと、
前記第1ロバストネス値がロバストネス閾を満たすことに応答して、前記第1トレーニングエポックの間に前記第1トレーニングデータ点の変異による前記第1トレーニングデータ点の水増しを省略するステップと、
前記第1トレーニングエポックの間に前記第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
【請求項18】
前記第1ロバストネス値を決定するステップは、
前記第1トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第1トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第1ロバストネス値として、前記第1トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項17に記載の方法。
【請求項19】
前記第1ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第1トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第1ロバストネス値として、前記1つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、請求項17に記載の方法。
【請求項20】
1つ以上の命令を記憶し、該命令は、少なくとも1つのシステムにより実行されることに応答して、前記少なくとも1つのシステムに請求項17に記載の方法を実行させる、少なくとも1つの非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示に記載の実施形態は、深層ニューラルネットワーク、並びに、そのトレーニング時間を短縮するシステム及び方法に関する。
【背景技術】
【0002】
深層ニューラルネットワーク(Deep Neural Network:DNN)は、益々多様な用途で使用されている。しかしながら、DNNは入力におけるノイズの影響を受けやすいことがある。より具体的には、DNNの入力に注入された僅かな量のノイズでも、結果として、高精度と考えられるDNNが不正確な予測を返してしまうことがある。ノイズに直面したDNNの精度を向上するためのトレーニングデータセットの水増し(augmenting)は、DNNをトレーニングするために要する時間を増大してしまうことがある。
【0003】
本開示で請求される主題は、上述のような欠点を解決する実施形態や上述のような環境でのみ機能する実施形態に限定されない。むしろ、この背景技術は、単に、本開示に記載される複数の実施形態が実施される技術分野の一例を説明するために提供される。
【発明の概要】
【0004】
方法は、深層ニューラルネットワークモデルを取得するステップと、第1トレーニングエポックの間に深層ニューラルネットワークモデルのための第1トレーニングデータ点及び第2トレーニングデータ点を取得するステップと、を含み得る。方法は、第1トレーニングデータ点の第1ロバストネス値、及び第2トレーニングデータ点の第2ロバストネス値を決定するステップを含み得る。方法は、第1ロバストネス値がロバストネス閾を満たすことに応答して、第1トレーニングデータ点の水増しを省略するステップと、第2ロバストネス値がロバストネス閾を満たさないことに応答して、第2トレーニングデータ点を水増しするステップと、を更に含み得る。方法は、また、第1トレーニングエポックの間に、第1トレーニングデータ点及び増大した第2トレーニングデータ点で、深層ニューラルネットワークモデルをトレーニングするステップを含み得る。
【0005】
実施形態の目的及び利点が理解され、少なくとも特に特許請求の範囲で指摘された要素、特徴及び組合せを用いて達成されるだろう。
【0006】
上述の全体的説明及び以下の詳細な説明の両方は、例示及び説明のためであり、本発明の範囲を限定しない。
【図面の簡単な説明】
【0007】
例示的な実施形態は、添付の図面を用いて、更なる特異性及び詳細事項と共に記載され説明される。
【0008】
図1】深層ニューラルネットワーク(DNN)モデルのトレーニング時間の短縮に関連する例示的な環境を示す図である。
【0009】
図2】DNNモデルのロバストネスと精度との間の相違の概念的説明である。
【0010】
図3】DNNモデルのトレーニング時間の短縮の図である。
【0011】
図4】DNNモデルのトレーニング時間の短縮を説明する表である。
【0012】
図5】トレーニングデータ点のロバストネスを決定する第1の例示的な方法のフローチャートである。
【0013】
図6】トレーニングデータ点のロバストネスを決定する第2の例示的な方法のフローチャートである。
【0014】
図7】DNNをトレーニングする例示的な方法のフローチャートである。
【0015】
図8】DNNのトレーニング時間を短縮する例示的な方法のフローチャートである。
【0016】
図9】DNNモデルのロバストネスを評価するよう構成され得る例示的なコンピューティングシステムを示す。
【発明を実施するための形態】
【0017】
本開示に記載の幾つかの実施形態は、深層ニューラルネットワーク(Deep Neural Network:DNN)のロバストネスを測定する方法及びシステムに関する。DNNは、人工の神経ネットワーク(artificial neural network:ANN)であり、通常、入力層、出力層、及び入力層と出力層との間の複数の層と、を含む。入力層と出力層との間の層の数が増えるほど、ニューラルネットワークの深さが増し、ニューラルネットワークの性能が向上する。
【0018】
DNNは、画像、オーディオ、テキスト、又は他のデータを含み得る入力を受信してよく、入力の分類に関する予測、又は入力に基づき期待される動作に関する予測を実行してよい。例えば、入力が画像であるとき、DNNの可能な出力は、画像の分類(例えば、「犬の」画像、「猫の」画像、「人の」画像、等のような)、又は期待される動作(例えば、入力が停車ランプでの赤色光であると決定されると、車両を停止するような)を含んでよい。代替として、入力がオーディオであるとき、DNNの可能な出力は、オーディオの分類(例えば、オーディオの中の言葉の識別、オーディオのソースの識別(例えば、特定の動物又は特定の人物)、オーディオの中で表現された感情の識別)を含んでよい。DNNのトレーニングの部分として、ラベル付けされた入力のセット、つまり対応する出力と一緒に入力のセットが提供されてよい。その結果、DNNは、多くの異なる入力を識別し分類することを学習し得る。
【0019】
DNNは、線形関係又は非線形関係かに関わらず、入力を出力に変えるための特定の数学的操作を見出し得る。ネットワークは、各出力の確率を計算する層を通じて移動する。各数学的操作は、したがって、層と見なされ、複雑なDNNは多くの層を有し、したがって「深層」ネットワークと呼ばれる。
【0020】
深層ニューラルネットワーク(Deep Neural Network:DNN)は、益々多様な用途で使用されている。応用分野の少数の例は、自動運転、医療診断、マルウェア検出、画像認識、視覚芸術処理、自然言語処理、薬物発見及び毒物学、提案システム、モバイル広告、画像復元、詐欺検出、を含む。非常に広範な異なる技術分野におけるDNNの最近の普及及び明確な有用性にも拘わらず、幾つかの例では、DNNは、入力におけるノイズに対して脆弱であり得る。入力におけるノイズは、不正確な予測及び誤った出力を生じ得る。DNNの正常な動作では、少量のノイズは、出力における小さな摂動しか生じない。例えば、オブジェクト認識システムが淡い色のセーターをおむつと間違える。しかし、他の例では、これらの不正確な予測は、深刻な誤りを生じ得る。例えば、自律自動車がスクールバスをダチョウと間違えてしまう。
【0021】
このようなノイズに対してより回復力があり且つより少ない不正確な予測しか生じないDNNを生成するために、DNNを機能不能にし又は許容できないほど不正確にさせ得る不正確な予測を生じるサンプル入力を見付ける改良された能力を有する、改良された敵対的テストシステムが開示される。このようなサンプル入力を見付けることの1つの利点は、DNNの信頼性を成功裏に測る能力であり得る。別の利点は、DNNを「再トレーニングする」又は改善するために不正確な予測を生じるサンプル入力を使用する能力であり得る。その結果、不正確な予測が修正される。
【0022】
DNNのノイズに対する脆弱性を改善するために、DNNをトレーニングするために使用されるトレーニングデータ点は、トレーニングデータ点の変異により水増しされてよい。例えば、トレーニングデータ点の自然変異体、例えば画像の回転が、トレーニングセットに追加されて、入力を分類するDNNの能力を向上させてよい。変異により水増しされたトレーニングデータ点の処理は、DNNの精度を向上し得る。データ水増しは、各トレーニングデータ点をトレーニングデータ点のランダムな変異により水増しするステップを含み得る。これは、結果として、DNNのトレーニング時間の僅かな増大と一緒に、DNNの精度の僅かな改善をもたらし得る。代替として、各トレーニングデータ点の多数の変異が、トレーニングデータに追加されて、トレーニングデータを水増ししてよい。しかしながら、トレーニングデータの更なる水増しの追加は、遅いことがあり、時間的にDNNの精度を向上しない場合がある。
【0023】
正しい出力をトレーニングデータ点の変異から提供させることに関してロバストであると決定されたトレーニングデータ点を識別することは、DNNにおける犠牲を縮小しながら、DNNのトレーニング時間の増大を軽減し得る。例えば、幾つかのDNN及び幾つかのトレーニングデータ点について、DNNは、トレーニングデータ点でDNNをトレーニングすることなく、トレーニングデータ点の変異を精確に分類し得る。このシナリオでは、トレーニングデータ点の変異でトレーニングデータセットを水増しすることは、DNNの精度を改善せず、DNNのトレーニング時間を増大し得る。DNNがトレーニングデータ点の変異を正しく分類したときに、トレーニングデータ点をロバストであると識別することにより、特定のトレーニングデータ点のみが水増しでき、DNNは精度の向上及びトレーニング時間の短縮の両方を有し得る。
【0024】
本開示の実施形態を、添付の図面を参照して以下に説明する。
【0025】
図1は、本開示に記載の少なくとも1つの実施形態に従い構成される、DNNモデルのトレーニング時間の短縮に関連する例示的な環境100を示す図である。環境100は、深層ニューラルネットワークモデル120、トレーニングデータ130、DNN構成モジュール110、及びトレーニング済みDNNモデル180を含んでよい。DNN構成モジュール110は、トレーニングモジュール140、変異モジュール150、ロバストネスモジュール160、及び水増しモジュール170を含む。
【0026】
幾つかの実施形態では、深層ニューラルネットワークモデル120は、入力層、出力層、及び入力層と出力層との間の複数の層を含んでよい。各層は、入力を出力に変換するための数学的操作に対応してよい。トレーニングデータ130のようなトレーニングデータは、層が入力データを出力データに正確に変換することを可能にしてよい。
【0027】
幾つかの実施形態では、トレーニングデータ130は、複数のトレーニングデータ点を含んでよい。トレーニングデータ点の各々は、分類されるべきアイテム、及びアイテムの正しい分類を含んでよい。例えば、幾つかの実施形態では、深層ニューラルネットワークモデル130は、画像分類モデルであってよい。上述の及び他の実施形態では、トレーニングデータ130は、複数の画像を含んでよく、各画像は分類に関連付けられてよい。例えば、動物の画像は「動物」として分類されてよく、一方で、他の画像は「非動物」として分類されてよい。代替として又は追加で、幾つかの実施形態では、特定種類の動物の画像は異なる方法で分類されてよい。例えば、猫の画像は「猫」として分類されてよく、一方で、犬の画像は「犬」として分類されてよい。代替として又は追加で、他の分類が可能である。例えば、分類は、「自動車」、「自転車」、「人」、「建物」、又は任意の他の分類を含んでよい。
【0028】
幾つかの実施形態では、深層ニューラルネットワークモデル130は、オーディオ分類モデルであってよい。上述の及び他の実施形態では、トレーニングデータ130は、複数のオーディオファイルを含んでよく、各オーディオファイルは分類に関連付けられてよい。例えば、オーディオファイルは人間の会話を含んでよい。上述の及び他の実施形態では、分類は、幸せ、悲しい、不満、怒り、驚き、及び/又は困惑のような、人間の会話の話者の感情を含んでよい。代替として又は追加で、幾つかの実施形態では、分類は、会話に含まれる特定の単語、会話に含まれる話題、又は会話の他の特徴を含んでよい。
【0029】
幾つかの実施形態では、トレーニング済みDNNモデル180は、トレーニングデータ130及び/又は他のデータでトレーニングされた後の、深層ニューラルネットワークモデル120を含んでよい。上述の及び他の実施形態では、トレーニング済みDNNモデル180は、ニューラルネットワーク120、テストデータ130、及び水増しされたトレーニングデータに基づき決定された、適切なモデルパラメータ及び数学的操作を含んでよい。
【0030】
幾つかの実施形態では、DNN構成モジュール110は、コンピューティングシステムに1つ以上のトレーニング済みDNNモデルを生成するための1つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加で又は代替として、DNN構成モジュール110は、プロセッサ、(例えば、1つ以上の動作を実行する又はその実行を制御する)マイクロプロセッサ、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装されてよい。幾つかの他の例では、DNN構成モジュール110は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、DNN構成モジュール110により実行されるとして記載される動作は、DNN構成モジュール110がシステムに実行するよう指示し得る動作を含み得る。
【0031】
幾つかの実施形態では、DNN構成モジュール110は、深層ニューラルネットワークモデル120及びトレーニングデータ130を取得するよう、及びトレーニング済みDNNモデル180を生成するよう構成されてよい。上述の及び他の実施形態では、DNN構成モジュール110は、トレーニングモジュール140、変異モジュール150、ロバストネスモジュール160、及び水増しモジュール170を含んでよい。DNN構成モジュール110は、トレーニングモジュール140、変異モジュール150、ロバストネスモジュール160、及び水増しモジュール170の動作を指示し、トレーニングデータ130のトレーニングデータ点を選択的に水増しして、トレーニング済みDNNモデル180を生成してよい。上述の及び他の実施形態では、トレーニングデータ130の幾つかのトレーニングデータ点は、ロバストであると決定されてよく、トレーニングデータ点の変異により水増しされなくてよい。上述の及び他の実施形態では、トレーニングデータ130の幾つかのトレーニングデータ点は、ロバストではないと決定されてよく、トレーニングデータ点の変異により水増しされてよい。深層ニューラルネットワークモデル120をトレーニングデータ130及び水増ししたトレーニングデータによりトレーニングした後に、DNN構成モジュール110は、トレーニング済みDNNモデル180を生成してよい。
【0032】
幾つかの実施形態では、変異モジュール150は、コンピューティングシステムに、トレーニングデータの1つ以上の変異を生成するための1つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、変異モジュール150は、プロセッサ、(例えば、1つ以上の操作を実行する又はその実行を制御する)マイクロプロセッサ、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装されてよい。幾つかの他の例では、変異モジュール150は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、変異モジュール150により実行されるとして記載される動作は、変異モジュール150がシステムに実行するよう指示し得る動作を有してよい。
【0033】
幾つかの実施形態では、変異モジュール150は、トレーニングデータ130の複数の変異を生成してよい。例えば、幾つかの実施形態では、変異モジュール150は、トレーニングデータ130の中の各トレーニングデータ点の変異をランダムに生成してよい。トレーニングデータ130が、例えば画像及び/又はビデオのような視覚的データを含むとき、変異モジュール150は、トレーニングデータ130の視覚的変異を生成してよい。視覚的変異は、トレーニングデータの回転(例えば、トレーニングデータ点の時計方向の1°の回転)、トレーニングデータの平行移動(例えば、トレーニングデータ点の右への5ピクセルのシフト)、トレーニングデータのせん断(shearing)(例えば、別の部分に対するトレーニングデータ点の一部分のシフト)、トレーニングデータのズーム(例えば、トレーニングデータ点の一部の拡大)、第1トレーニングデータ点の輝度の変化(例えば、トレーニングデータ点の部分及び/又は全部を明るくする)、第1トレーニングデータ点のコントラストの変化(例えば、トレーニングデータ点の部分間の色変化を低減する)、及び/又はトレーニングデータ点の他の変異を含んでよい。
【0034】
トレーニングデータ130が、例えば音響、会話、及び/又は音楽のような聴覚的データを含むとき、変異モジュール150は、トレーニングデータ130の聴覚的変異を生成してよい。聴覚的変異は、トレーニングデータの中の速度に基づく会話の摂動、トレーニングデータへの背景雑音の追加、トレーニングデータのテンポに基づく摂動、及び/又はトレーニングデータ点の他の変異を含んでよい。
【0035】
幾つかの実施形態では、変異モジュール150は、トレーニングデータの中の各データ点の複数の変異を生成してよい。例えば、幾つかの実施形態では、変異モジュール150は、トレーニングデータの回転、せん断、ズーム、輝度の変化、及びコントラストの変化をランダムに生成してよい。
【0036】
幾つかの実施形態では、ロバストネスモジュール160は、コンピューティングシステムに、トレーニングデータのロバストネスを決定するための1つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、ロバストネスモジュール160は、プロセッサ、(例えば、1つ以上の操作を実行する又はその実行を制御する)マイクロプロセッサ、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装されてよい。幾つかの他の例では、ロバストネスモジュール160は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、ロバストネスモジュール160により実行されるとして記載される動作は、ロバストネスモジュール160がシステムに実行するよう指示し得る動作を有してよい。
【0037】
幾つかの実施形態では、ロバストネスモジュール160は、トレーニングデータ130の中の各データ点のロバストネス値を決定し、ロバストネス値をロバストネス閾と比較するよう構成されてよい。上述の及び他の実施形態では、「ロバストネス」は、深層ニューラルネットワークモデル120が変異モジュール150により生成されたトレーニングデータ130の変異を正しく分類する能力を表してよい。例えば、幾つかの実施形態では、ロバストネスモジュール160は、データ点のロバストネス値を、深層ニューラルネットワークモデルにより正しく分類されたデータ点の変異の数として決定してよい。例えば、幾つかの実施形態では、ロバストネス閾は85であってよく、変異モジュール150は、トレーニングデータ点の100個の変異を生成してよく、該100個の変異をロバストネスモジュール160に提供してよい。ロバストネスモジュール160は、深層ニューラルネットワークモデル120に変異を提供してよい。深層ニューラルネットワークモデル120は、変異のうちの87個を正しく分類し得る。ロバストネスモジュール160は、トレーニングデータ点のロバストネス値が87であると決定してよく、ロバストネス値がロバストネス閾を超えるので、ロバストネスモジュール160はトレーニングデータ点がロバストであると決定してよい。
【0038】
代替として又は追加で、幾つかの実施形態では、ロバストモジュール160は、データ点のロバストネス値を、トレーニングデータ点の各変異の損失として決定してよい。上述の及び他の実施形態では、ロバストネスモジュール160は、深層ニューラルネットワークモデル120が変異を正しく分類する信頼度に基づき、該変異の損失を決定してよい。例えば、深層ニューラルネットワークモデル120は、84%の信頼度で変異を正しく分類し得る。変異の損失は、100%-84%=16%であると決定されてよい。上述の及び他の実施形態では、ロバストネスモジュール160は、データ点のロバストネス値が、トレーニングデータ点の変異に関連付けられた損失のうちの最大損失であると決定してよい。幾つかの実施形態では、ロバストネス閾は15%であってよい。ロバストネスモジュール160は、トレーニングデータ点のロバストネス値が16%であると決定してよく、ロバストネス値がロバストネス閾を超えるので、ロバストネスモジュール160はトレーニングデータ点がロバストではないと決定してよい。
【0039】
幾つかの実施形態では、ロバストネスモジュール160は、トレーニングデータ点がロバストであると決定された後の特定数のエポックの間、トレーニングデータ点のロバストネスを決定しなくてよい。例えば、ロバストネスモジュール160は、ロバストネスモジュール160がトレーニングデータ点をロバストであると決定した後の、次の2つのエポックの間、全てのトレーニングエポックの間、又は任意の他の間隔で、トレーニングデータ点のロバストネスを決定しなくてよい。更なる例として、幾つかの実施形態では、ロバストネスモジュール160は、4番目のエポックの間、トレーニングデータ点がロバストであると決定してよい。トレーニングデータ点は4番目のトレーニングエポックの間にロバストであると決定されたので、ロバストネスモジュール160は、続く5番目のエポックの間、トレーニングデータ点のロバストネスを決定しなくてよい。
【0040】
幾つかの実施形態では、水増しモジュール170は、コンピューティングシステムに、トレーニングデータの1つ以上の変異によりトレーニングデータを水増しするための1つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、水増しモジュール170は、プロセッサ、(例えば、1つ以上の操作を実行する又はその実行を制御する)マイクロプロセッサ、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装されてよい。幾つかの他の例では、水増しモジュール170は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、水増しモジュール170により実行されるとして記載される動作は、水増しモジュール170がシステムに実行するよう指示し得る動作を有してよい。
【0041】
幾つかの実施形態では、水増しモジュール170は、トレーニングデータ130のトレーニングデータ点を、トレーニングデータ点の1つ以上の変異により水増ししてよい。幾つかの実施形態では、水増しモジュール170は、ロバストネスモジュール160によりロバストであると決定されたトレーニングデータ点を水増ししてよく、ロバストネスモジュール160によりロバストではないと決定されたトレーニングデータ点を水増ししなくてよい。上述の及び他の実施形態では、水増しモジュール170は、変異モジュール150により生成されロバストネスモジュール160によりトレーニングデータ点がロバストであると決定するために使用された、変異のセットによりトレーニングデータ点を水増ししてよい。例えば、幾つかの実施形態では、変異モジュール150は、50、100、1000、又は任意の数の変異をロバストネスモジュール160のために生成してよい。上述の及び他の実施形態では、水増しモジュール170は、トレーニングデータ点の1、2、5、又は別の個数の変異によりロバストではないと決定されたトレーニングデータ点を水増ししてよい。
【0042】
幾つかの実施形態では、トレーニングモジュール140は、コンピューティングシステムに、トレーニングデータ及び水増しされたトレーニングデータを用いて、深層ニューラルネットワークモデル120をトレーニングするための1つ以上の動作を実行させるよう構成されるコード及びルーチンを含んでよい。追加又は代替として、トレーニングモジュール140は、プロセッサ、(例えば、1つ以上の操作を実行する又はその実行を制御する)マイクロプロセッサ、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装されてよい。幾つかの他の例では、トレーニングモジュール140は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。本開示では、トレーニングモジュール140により実行されるとして記載される動作は、トレーニングモジュール140がシステムに実行するよう指示し得る動作を有してよい。
【0043】
幾つかの実施形態では、トレーニングモジュール140は、トレーニングデータ130及び水増しモジュール170からの水増しされたトレーニングデータを用いて、深層ニューラルネットワークモデル120をトレーニングしてよい。例えば、トレーニングモジュール140は、トレーニングデータ130及び水増しされたトレーニングデータで、複数のトレーニングエポックに渡り、深層ニューラルネットワークモデル120を繰り返しトレーニングしてよい。各トレーニングエポックの間、トレーニングモジュール140は、トレーニングデータ130及び水増ししたトレーニングデータに渡り順伝播及び逆伝播を実行して、適切なモデルパラメータを決定してよい。上述の及び他の実施形態では、トレーニングモジュール140は、トレーニングデータ130及び水増ししたトレーニングデータに渡る相互エントロピー損失関数(cross-entropy loss function)を最小化するアルゴリズムを用いて、深層ニューラルネットワークモデル120をトレーニングしてよい。幾つかの実施形態では、トレーニングデータ130の一部は、幾つかのトレーニングエポックの間、水増しされなくてよい。例えば、幾つかのトレーニングエポックの間、トレーニングデータ130の1つ以上のトレーニングデータ点は、ロバストネスモジュール160によりロバストであると決定されてよい。トレーニングデータ点がロバストであると決定されたので、水増しモジュール170はトレーニングデータ点を水増ししなくてよい。トレーニングモジュール140は、次に、水増しのないトレーニングデータ点を用いて、深層ニューラルネットワークモデル120をトレーニングしてよい。トレーニングモジュール140が複数のトレーニングエポックに渡る深層ニューラルネットワークモデル120のトレーニングを完了した後に、結果は、トレーニング済みDNNモデル180であってよい。
【0044】
環境100の動作の説明は次の通りである。DNN構成モジュール110は、深層ニューラルネットワークモデル120及び深層ニューラルネットワークモデル120のためのトレーニングデータ130を取得してよい。DNNは、深層ニューラルネットワークモデル120及びトレーニングデータ130を、トレーニングモジュール140、変異モジュール150、ロバストネスモジュール160、及び水増しモジュール170に提供してよい。第1トレーニングエポックの間、トレーニングモジュール140は、深層ニューラルネットワークモデル120をトレーニングデータ130でトレーニングして、モデルパラメータを生成してよい。後続のトレーニングエポックの間、変異モジュール150は、ロバストネスモジュール160にトレーニングデータ130を提供してよく、ロバストネスモジュール160は、トレーニングデータ130の各トレーニングデータ点がロバストであるか又はロバストではないかを決定してよい。トレーニングデータ130のトレーニングデータ点がロバストではないと決定されたことに応答して、水増しモジュール170は、該トレーニングデータ点の1つ以上の変異により、該トレーニングデータ点を水増ししてよい。トレーニングモジュール140は、次に、トレーニングデータ130及び任意の水増しされたトレーニングデータ点を用いて、深層ニューラルネットワークモデル120をトレーニングしてよい。トレーニングモジュール140が深層ニューラルネットワークモデル120をトレーニングした後に、トレーニング済みDNNモデル180が生成されてよい。
【0045】
幾つかの実施形態では、変異モジュール150は、前のトレーニングエポックでロバストであると決定されたトレーニングデータ点の変異を生成しないよう構成されてよい。上述の及び他の実施形態では、ロバストネスモジュール160は、同様に、前のトレーニングエポックでロバストであると決定されたトレーニングデータ点のロバストネスを決定しないよう構成されてよい。この方法では、環境100は、水増しがトレーニングされた深層ニューラルネットワークモデル120の精度を向上する可能性がより高いとき、水増しのためのトレーニングデータ点を優先的に選択してよい。開示された方法で、水増しのための特定のトレーニングデータ点を選択することにより、深層ニューラルネットワークモデル120をトレーニングするための時間が短縮され得、深層ニューラルネットワークモデル120の使用効率を向上し、同時にトレーニングされた深層ニューラルネットワークモデル120の精度を維持し及び/又は改善する。
【0046】
本開示の範囲から逸脱することなく図1に対し変更、追加又は省略が行われてよい。例えば、環境100は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。さらに、別個に記載したが、幾つかの実施形態では、トレーニングモジュール140、変異モジュール150、ロバストネスモジュール160、及び水増しモジュール170のうちの2つ以上は、同じシステムの部分であり、又は記載されたものと異なる方法で分割されてよい。本記載における上述の及び他の要素の間の描写は、限定的ではなく、本開示において使用される概念及び原理の理解及び説明を助けることを意味する。代替として又は追加で、幾つかの実施形態では、DNN構成モジュール110、変異モジュール150、ロバストネスモジュール160、水増しモジュール170、及びトレーニングモジュール140のうちの1つ以上は、異なるシステムに渡り分散されてよい。上述の及び他の実施形態では、環境100はネットワークを含んでよく、DNN構成モジュール110、変異モジュール150、ロバストネスモジュール160、水増しモジュール170、及びトレーニングモジュール140のうちの1つ以上は、ネットワークを介して通信可能に結合されてよい。
【0047】
図2は、ロバストネスの概念的説明である。図2に示すように、第1クラス210及び第2クラス220について、深層ニューラルネットワークモデル(例えば、図1の深層ニューラルネットワークモデル120)は、第1予測クラス230及び第2予測クラス240を含む予測クラスのペアを生成してよい。これらの予測クラスは、第1クラス210及び第2クラス220の一連の結果を正確に予測する、深層ニューラルネットワークモデル120による試みである。典型的に、深層ニューラルネットワークモデルは、一連のトレーニングデータ点251a~251cを利用することにより、第1予測クラス230及び第2予測クラス240を生み出す。通常、深層ニューラルネットワークモデルの精度は、敵対インスタンス又は誤判別を最小化する能力に基づく。例えば、点270a~270eは、第1予測クラス230及び第2予測クラス240が、それぞれ第1クラス210及び第2クラス220の範囲を正確に予測しなかった領域内に見られる。
【0048】
トレーニングデータ点251a~251cは深層ニューラルネットワークモデルを発展させるために使用されるので、深層ニューラルネットワークモデルは、該トレーニングデータ点251a~251cの近く又はそれらへの所定の距離範囲内にある点において非常に正確であることが期待される。この図では、これらのトレーニングデータ点251a~251cまでの所定の距離範囲内にある領域は、トレーニングデータ点251a~251cの領域250a~250cとして参照される。現実には、しかしながら、ときに、深層ニューラルネットワークモデルはトレーニングデータ点の領域内で失敗することがある。例えば、図2に示す概念では、トレーニングデータ点290の正確さにも拘わらず、深層ニューラルネットワークモデルは、トレーニングデータ点290の領域295内にある点280a~280bの結果を不正確に予測することがある。
【0049】
水増しは、深層ニューラルネットワークモデルの精度を、トレーニングデータ点251a~251cの近く又は該点までの所定の距離範囲内にある点において改善し得る。幾つかの実施形態では、トレーニングデータ点251a~251cまでの所定の距離範囲内にある点は、トレーニングデータ点の変異であってよい。例えば、幾つかの実施形態では、点280a~280bは、トレーニングデータ点290の変異であってよい。上述の及び他の実施形態では、DNN構成モジュール、例えば図1のDNN構成モジュール110は、変異280a~280bのうちの1つ以上により、トレーニングデータ点290を水増しするよう構成されてよい。上述の及び他の実施形態では、トレーニングデータ点290を変異280a~280bのうちの1つ以上により水増しすることは、深層ニューラルネットワークモデルが変異280a~280bの結果を正しく予測することを助け得る。したがって、トレーニングデータ点をトレーニングデータ点の変異で水増しすることは、図2に示した問題を改善し得る。
【0050】
図3は、DNNモデルのトレーニング時間の短縮の図である。図300は、第1トレーニングエポック310aと、第1トレーニングエポック310aの直後に生じる第2トレーニングエポック310bと、第2トレーニングエポック310bの後の少なくとも1つのトレーニングエポックにおいて生じる第3トレーニングエポック310cと、に分けられてよい。図300は、第1トレーニングデータ点330a及び第2トレーニングデータ点330bも含んでよい。第1トレーニングエポック310aの間、図1の変異モジュール150のような変異モジュール350は、第1トレーニングデータ点330aの複数の変異355a、及び第2トレーニングデータ点330bの複数の変異355bを生成してよい。図1のロバストネスモジュール160のようなロバストネスモジュール360は、第1トレーニングデータ点330a及び第2トレーニングデータ点330bがロバストであるか否かを、図1を参照して上述した又は図5及び6を参照して後述するのと同様の方法で決定してよい。ロバストネスモジュール360は、第1トレーニングエポック310aの間に第1トレーニングデータ点330aがロバストではないと決定してよく、第1トレーニングエポック310aの間に第2トレーニングデータ点330bがロバストであると決定してよい。第1トレーニングデータ点330aはロバストではないと決定されたので、図1の水増しモジュール170のような水増しモジュールは、複数の変異335aから第1トレーニングデータ点330aの変異を選択してよく、第1トレーニングデータ点330aを変異370aで水増ししてよい。第2トレーニングデータ点330bがロバストであると決定されたので、水増しモジュールは第2トレーニングデータ点330bの変異を選択しなくてよい。
【0051】
第2トレーニングエポック310bの間、変異モジュール350は、第1トレーニングデータ点330aの複数の変異355aを生成してよい。幾つかの実施形態では、第2トレーニングエポック310bの間に生成された、第1トレーニングデータ点330aの複数の変異355aは、第1トレーニングエポック310aの間に生成された複数のトレーニング変異355aと異なってよい。代替として、幾つかの実施形態では、変異モジュール350は、第1トレーニングエポック310a及び第2トレーニングエポック310bの両方の間に、同じ複数の変異355aを生成してよい。幾つかの実施形態では、変異モジュール350は、第2トレーニングエポック310bの間に、第2トレーニングデータ点330bの変異を生成しなくてよい。なぜなら、ロバストネスモジュール360が、第1トレーニングエポック310aの間に、第2トレーニングデータ点330bがロバストであると決定したからである。幾つかの実施形態では、ロバストネスモジュール360は、第2トレーニングエポック310bの間に、第1トレーニングデータ点330aがロバストではないと決定してよい。第1トレーニングデータ点330aはロバストではないと決定されたので、水増しモジュールは、複数の変異335aから第1トレーニングデータ点330aの変異を選択してよく、第1トレーニングデータ点330aを変異370aで水増ししてよい。幾つかの実施形態では、水増しモジュールは、第2トレーニングエポック310bにおいて、第1トレーニングエポック310aの間に選択されたのと異なる、第1トレーニングデータ点330aの変異370aを選択して、第1トレーニングデータ点330aを水増ししてよい。代替として、幾つかの実施形態では、水増しモジュールは、第2トレーニングエポック310b及び第1トレーニングエポック310aにおいて、第1トレーニングデータ点330aの同じ変異370aを選択してよい。
【0052】
第3トレーニングエポック310cの間、変異モジュール350は、第1トレーニングデータ点330aの複数の変異355a、及び第2トレーニングデータ点330bの複数の変異355bを生成してよい。幾つかの実施形態では、第3トレーニングエポック310cの間に生成された、第1トレーニングデータ点330aの複数の変異355aは、第1トレーニングエポック310a及び/又は第2トレーニングエポック310bの間に生成された複数のトレーニング変異355aと異なってよい。代替として、幾つかの実施形態では、変異モジュール350は、第1トレーニングエポック310a、第2トレーニングエポック310b、及び第3トレーニングエポック310cの間に、同じ複数の変異355aを生成してよい。幾つかの実施形態では、第3トレーニングエポック310cの間に生成された、第2トレーニングデータ点330bの複数の変異355bは、第1トレーニングエポック310aの間に生成された複数のトレーニング変異355bと異なってよい。代替として、幾つかの実施形態では、変異モジュール350は、第1トレーニングエポック310a及び第3トレーニングエポック310cの両方の間に、同じ複数の変異355bを生成してよい。
【0053】
幾つかの実施形態では、ロバストネスモジュール360は、第3トレーニングエポック310cの間に、第1トレーニングデータ点330a及び第23トレーニングデータ点330bがロバストではないと決定してよい。第1トレーニングデータ点330aはロバストではないと決定されたので、水増しモジュールは、複数の変異335aから第1トレーニングデータ点330aの変異を選択してよく、第1トレーニングデータ点330aを変異370aで水増ししてよい。幾つかの実施形態では、水増しモジュールは、第3トレーニングエポック310cにおいて、第1トレーニングエポック310a及び/又は第2トレーニングエポック310bの間に選択されたのと異なる、第1トレーニングデータ点330aの変異370aを選択して、第1トレーニングデータ点330aを水増ししてよい。代替として、幾つかの実施形態では、水増しモジュールは、第1トレーニングエポック310a、第2トレーニングエポック310b及び第3トレーニングエポック310cにおいて、第1トレーニングデータ点330aの同じ変異370aを選択してよい。第2トレーニングデータ点330bはロバストではないと決定されたので、水増しモジュールは、複数の変異335bから第2トレーニングデータ点330bの変異を選択してよく、第2トレーニングデータ点330bを変異370bで水増ししてよい。
【0054】
本開示の範囲から逸脱することなく図3に対し変更、追加又は省略が行われてよい。例えば、図300は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【0055】
図4は、DNNモデルのトレーニング時間の短縮を説明する表400である。図4に示すように、深層ニューラルネットワークモデルのトレーニングは、30個のトレーニングエポック、410a、410b、410c、410d、410e、410f、410g、410n(集合的にトレーニングエポック410)の期間の間に生じてよい。深層ニューラルネットワークモデルのためのトレーニングデータは、n個のトレーニングデータ点、430a、430b、430c、430d、430n(集合的にトレーニングデータ点430)を含んでよい。表400に示すように、最初のトレーニングエポック410aを除いて、各トレーニングエポックの間に、トレーニングデータ点430の各々は、トレーニングデータ点430の変異により水増しされてよい(表中に「A」として示される)。例えば、第2トレーニングエポック410bの間、トレーニングデータ点430a、430b、430d、及び430nは、ロバストではないと決定されてよく、水増しされてよい。トレーニングデータ点430cは、ロバストであると決定されてよく、水増しされなくてよい。連続するトレーニングエポック410の間に、トレーニングデータ点430は、トレーニングデータ点430がロバストではないと決定されると、水増しされてよい。幾つかの実施形態では、特定のトレーニングデータ点430のロバストネスは、特定のトレーニングデータ点430がロバストであると決定された後の多数のトレーニングエポック410の間、決定されなくてよい。例えば、表400に示すように、トレーニングデータ点430cのロバストネスは、トレーニングエポック410c、410d、及び410eの間、決定されなくてよい。なぜなら、トレーニングデータ点430cは、トレーニングエポック410bの間にロバストであると決定されたからである。同様に、トレーニングデータ点430nのロバストネスは、トレーニングエポック410d、410e、及び410fの間、決定されなくてよい。なぜなら、トレーニングデータ点430nは、トレーニングエポック410cの間にロバストであると決定されたからである。
【0056】
本開示の範囲から逸脱することなく図4に対し変更、追加又は省略が行われてよい。例えば、表400は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【0057】
図5は、トレーニングデータ点がロバストであるか否かを決定する第1の例示的な方法500のフローチャートである。ブロック510で、トレーニングデータ点及び該トレーニングデータ点のクラスが取得されてよい。幾つかの実施形態では、クラスは、トレーニングデータ点のカテゴリを含んでよい。例えば、トレーニングデータ点が画像であるとき、クラスは、「猫」、「犬」、「人」、「自動車」、又は他の説明のような画像の説明を含んでよい。
【0058】
ブロック520で、予測クラス閾が取得されてよい。幾つかの実施形態では、予測クラス閾は、深層ニューラルネットワークモデルにより正しく分類されたトレーニングデータ点の変異の数であってよい。ブロック530で、トレーニングデータ点の複数の変異が取得されてよい。上述の及び他の実施形態では、変異は、トレーニングデータ点の種類に依存して、視覚的変異及び/又は聴覚的変異を含んでよい。視覚的変異は、トレーニングデータの回転、トレーニングデータの平行移動、トレーニングデータのせん断、トレーニングデータのズーム、第1トレーニングデータ点の輝度の変化、第1トレーニングデータ点のコントラストの変化、及び/又はトレーニングデータ点の他の変異を含み得る。聴覚的変異は、トレーニングデータの中の速度に基づく会話の摂動、トレーニングデータへの背景雑音の追加、トレーニングデータのテンポに基づく摂動、及び/又はトレーニングデータ点の他の変異を含んでよい。
【0059】
ブロック540で、各変異に関して、予測クラス決定が実行されてよい。幾つかの実施形態では、予測クラス決定は、各変異が入力として提供されるとき、深層ニューラルネットワークモデルのクラス予測を決定するステップを含んでよい。ブロック550で、予測クラス決定の一致したクラスの数が決定されてよい。例えば、予測クラス決定のうちの50個が、トレーニングデータ点のクラスと一致してよい。
【0060】
決定ブロック560で、方法500は、一致したクラスの数が予測クラス閾を超えるか否かを決定してよい。一致したクラスの数が予測クラス閾を超えたことに応答して(決定ブロック560で「Yes」)、方法500は、ブロック570に進んでよく、トレーニングデータ点はロバストであると決定される。一致したクラスの数が予測クラス閾を超えないことに応答して(決定ブロック560で「No」)、方法500は、ブロック580に進んでよく、トレーニングデータ点はロバストではないと決定される。方法500は、ブロック570及び580の後に、ブロック510に戻ってよい。
【0061】
本開示の範囲から逸脱することなく図5に対し変更、追加又は省略が行われてよい。例えば、方法500は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【0062】
図6は、トレーニングデータ点がロバストであるか否かを決定する第2の例示的な方法600のフローチャートである。ブロック610で、トレーニングデータ点及び該トレーニングデータ点のクラスが取得されてよい。幾つかの実施形態では、クラスは、トレーニングデータ点のカテゴリを含んでよい。例えば、トレーニングデータ点が画像であるとき、クラスは、「猫」、「犬」、「人」、「自動車」、又は他の説明のような画像の説明を含んでよい。
【0063】
ブロック620で、損失閾が取得されてよい。ブロック630で、トレーニングデータ点の複数の変異が取得されてよい。上述の及び他の実施形態では、変異は、視覚的変異及び/又は聴覚的変異を含んでよい。視覚的変異は、トレーニングデータの回転、トレーニングデータの平行移動、トレーニングデータのせん断、トレーニングデータのズーム、第1トレーニングデータ点の輝度の変化、第1トレーニングデータ点のコントラストの変化、及び/又はトレーニングデータ点の他の変異を含み得る。聴覚的変異は、トレーニングデータの中の速度に基づく会話の摂動、トレーニングデータへの背景雑音の追加、トレーニングデータのテンポに基づく摂動、及び/又はトレーニングデータ点の他の変異を含んでよい。
【0064】
ブロック640で、各変異に関して、損失決定が実行されてよい。幾つかの実施形態では、損失決定は、各変異が入力として提供されるとき、深層ニューラルネットワークモデルの損失を決定するステップを含んでよい。各損失は、変異の予測クラスがトレーニングデータ点のクラスと一致する予測確率に基づき決定されてよい。ブロック650で、決定された損失のうちの最大損失が識別されてよい。
【0065】
決定ブロック660で、方法600は、最大損失が損失閾より小さいか否かを決定してよい。最大損失が損失閾より小さいことに応答して(決定ブロック660で「Yes」)、方法600は、ブロック670に進んでよく、トレーニングデータ点はロバストであると決定される。最大損失が損失閾以上であることに応答して(決定ブロック560で「No」)、方法600は、ブロック680に進んでよく、トレーニングデータ点はロバストではないと決定される。方法600は、ブロック670及び680の後に、ブロック610に戻ってよい。
【0066】
本開示の範囲から逸脱することなく図6に対し変更、追加又は省略が行われてよい。例えば、方法600は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【0067】
図7は、深層ニューラルネットワークモデルをトレーニングする例示的な方法700のフローチャートである。方法700は、ブロック705で開始してよく、深層ニューラルネットワークモデルが取得されてよい。ブロック710で、方法700は、トレーニングエポックを開始するステップを含んでよい。ブロック715で、トレーニングデータ点が取得されてよい。決定ブロック720で、方法700は、前のk個のトレーニングエポックのうちの1つにおいて、トレーニングデータ点がロバストであると決定されたか否かを決定するステップを含んでよい。幾つかの実施形態では、「k」は任意の整数を表してよい。例えば、幾つかの実施形態では、kは0、1、2、5、又は任意の他の数であってよい。代替として、幾つかの実施形態では、方法700は、前のトレーニングエポックにおいて、トレーニングデータ点がロバストであると決定されたか否かを決定するステップを含んでよい。
【0068】
前のk個のトレーニングエポックのうちの1つにおいて、トレーニングデータ点がロバストであると決定されたことに応答して(決定ブロック720で「Yes」)、方法700は、ブロック735に進んでよい。前のk個のトレーニングエポックのうちの1つにおいて、トレーニングデータ点がロバストではないと決定されたことに応答して(決定ブロック720で「No」)、方法700は、ブロック725に進んでよい。ブロック725で、方法700は、トレーニングデータ点がロバストであるか否かを決定するステップを含んでよい。幾つかの実施形態では、方法700は、図5及び/又は6を参照して上述したのと同様の方法を用いて、トレーニングデータ点がロバストであるか否かを決定してよい。代替として、幾つかの実施形態では、方法700は、トレーニングデータ点がロバストであるか否かを決定するために異なる方法を用いてよい。トレーニングデータ点がロバストであると決定されたことに応答して(決定ブロック725で「Yes」)、方法700は、ブロック735に進んでよい。トレーニングデータ点がロバストではないと決定されたことに応答して(決定ブロック725で「No」)、方法700は、ブロック730に進んでよい。
【0069】
ブロック735で、トレーニングデータ点は、トレーニングデータ点の1つ以上の変異により水増しされてよい。ブロック740で、深層ニューラルネットワークモデルは、水増しされたトレーニングデータ点を用いてトレーニングされてよい。ブロック735で、深層ニューラルネットワークモデルは、トレーニングデータ点を用いてトレーニングされてよい。ブロック735又はブロック740の後に、方法700はブロック745に進み得る。深層ニューラルネットワークモデルのトレーニングは、トレーニングデータ点及び/又は水増しされたトレーニングデータ点に渡る順伝播及び逆伝播を含んでよい。幾つかの実施形態では、深層ニューラルネットワークモデルは、トレーニングデータに渡り相互エントロピー関数を最小化するアルゴリズムを用いてトレーニングされてよい。
【0070】
決定ブロック745で、方法700は、更なるトレーニングデータ点があるか否かを決定してよい。更なるトレーニングデータ点が存在することに応答して(決定ブロック745で「Yes」)、方法700は、ブロック715に戻ってよい。更なるトレーニングデータ点が存在しないことに応答して(決定ブロック745で「No」)、方法715は、ブロック750に進んでよい。決定ブロック750で、方法700は、更なるトレーニングエポックがあるか否かを決定してよい。更なるトレーニングエポックが存在することに応答して(決定ブロック750で「Yes」)、方法700は、ブロック710に戻ってよい。更なるトレーニングエポックが存在しないことに応答して(決定ブロック750で「No」)、方法700は、ブロック755に進んでよい。ブロック755で、深層ニューラルネットワークモデルのトレーニングが完了してよい。
【0071】
本開示の範囲から逸脱することなく図7に対し変更、追加又は省略が行われてよい。例えば、方法700は、本開示で示され説明されたものより多くの又は少ない要素を有してよい。
【0072】
図8は、深層ニューラルネットワークモデルのトレーニング時間を短縮する例示的な方法のフローチャートである。方法800は、本開示に記載の少なくとも1つの実施形態に従い構成されてよい。方法800は、幾つかの実施形態では、図1及び9の環境100及び/又はコンピュータシステム902のようなシステム及び/又は環境によりそれぞれ全部又は部分的に実行されてよい。上述の及び他の実施形態では、方法800は、1つ以上の非一時的コンピュータ可読媒体に格納された命令の実行に基づき実行されてよい。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されてよい。
【0073】
方法800は、ブロック810で開始してよく、深層ニューラルネットワークモデルが取得されてよい。ブロック820で、第1トレーニングデータ点及び第2トレーニングデータ点が、第1トレーニングエポックの間に、深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から取得されてよい。ブロック830で、第1トレーニングデータ点の第1ロバストネス値が、第1トレーニングデータ点の変異に関する深層ニューラルネットワークモデルの第1精度に基づき決定されてよい。幾つかの実施形態では、深層ニューラルネットワークモデルは、予測クラス決定に基づき、損失決定に基づき、及び/又は別の決定に基づき、第1トレーニングデータ点の変異に関して正確であることを決定されてよい。
【0074】
幾つかの実施形態では、第1ロバストネス値は、予測クラス決定に基づき決定されてよい。上述の及び他の実施形態では、第1トレーニングデータ点のクラスが取得されてよい。クラスは、第1トレーニングデータ点のカテゴリであってよい。上述の及び他の実施形態では、トレーニングデータ点の複数の変異が取得されてよい。予測クラス決定は、複数の変異のうちの、それぞれの変異に関して実行されてよい。予測クラス決定は、それぞれの変異が提供されると、深層ニューラルネットワークモデルのそれぞれのクラス予測を決定するステップを含んでよい。その結果、複数の変異に関して、複数のクラス予測が取得される。上述の及び他の実施形態では、第1ロバストネス値は、第1トレーニングデータ点の取得したクラスに一致する、複数の予測のうちの一致するクラスの数として決定されてよい。
【0075】
幾つかの実施形態では、第1ロバストネス値は、損失決定に基づき決定されてよい。上述の及び他の実施形態では、第1トレーニングデータ点のクラスが取得されてよい。クラスは、第1トレーニングデータ点のカテゴリであってよい。上述の及び他の実施形態では、トレーニングデータ点の複数の変異が取得されてよい。損失決定は、複数の変異のうちの、それぞれの変異に関して実行されてよい。損失決定は、それぞれの変異の予測クラスが第1トレーニングデータ点のクラスと一致する予測確率に基づき決定されてよい。上述の及び他の実施形態では、第1ロバストネス値は、1つ以上の損失のうちの最大損失として決定されてよい。
【0076】
ブロック840で、第2トレーニングデータ点の第2ロバストネス値が、第2トレーニングデータ点の変異に関する深層ニューラルネットワークモデルの第2精度に基づき決定されてよい。ブロック850で、第1ロバストネス値がロバストネス閾を満たすことに応答して、方法800は、第1トレーニングエポックの間に、第1トレーニングデータ点の変異により第1トレーニングデータ点の水増しを省略するステップを含んでよい。幾つかの実施形態では、ロバストネス閾は予測クラス閾を含んでよい。代替として又は追加で、幾つかの実施形態では、ロバストネス閾は損失閾を含んでよい。
【0077】
ブロック860で、第2ロバストネス値がロバストネス閾を満たさないことに応答して、第2トレーニングデータ点は、第1トレーニングエポックの間に、第2トレーニングデータ点の1つ以上の変異により水増しされてよい。ブロック870で、深層ニューラルネットワークモデルは、第1トレーニングエポックの間に、第1トレーニングデータ点及び水増しした第2トレーニングデータ点で、トレーニングされてよい。
【0078】
当業者は、本願明細書に開示された上述の及び他の処理、動作、及び方法について、実行される機能及び/又は工程が異なる順序で実施されてよいことを理解するだろう。さらに、概略の機能及び動作は、単に例として提供され、幾つかの機能及び動作は、開示の実施形態の本質から逸脱することなく、任意であり、より少ない機能及び動作に組み合わされ、又は追加機能及び動作に拡張されてよい。幾つかの実施形態では、方法800は、追加のブロック又はより少ないブロックを含んでよい。例えば、幾つかの実施形態では、方法800は、第2トレーニングデータ点及び関連するブロックを含まなくてよい。
【0079】
代替として又は追加で、幾つかの実施形態では、方法800は、第1トレーニングエポックの後の1つ以上の第2トレーニングエポックの間に、第1トレーニングデータ点で、深層ニューラルネットワークモデルをトレーニングするステップを含んでよい。上述の及び他の実施形態では、方法800は、さらに、1つ以上の第2トレーニングエポックの後の第3トレーニングエポックの間に、トレーニングデータ点の母集団から第1トレーニングデータ点を取得するステップを含んでよい。上述の及び他の実施形態では、方法800は、さらに、第1トレーニングデータ点の変異に関する深層ニューラルネットワークモデルの第3精度に基づき、第1トレーニングデータ点の第3ロバストネス値を決定するステップを含んでよい。上述の及び他の実施形態では、方法800は、さらに、第3ロバストネス値がロバストネス閾を満たさないことに応答して、第3トレーニングエポックの間に、第1トレーニングデータ点の1つ以上の変異により第1トレーニングデータ点の水増しを省略するステップを含んでよい。上述の及び他の実施形態では、方法800は、さらに、第3トレーニングエポックの間に、水増しした第1トレーニングデータ点で深層ニューラルネットワークモデルをトレーニングするステップを含んでよい。
【0080】
図9は、本開示の特定の少なくとも一実施形態による例示的なコンピューティングシステム902のブロック図を示す。コンピューティングシステム902は、水増しモジュール(例えば、図1の水増しモジュール170)と関連する1つ以上の動作を実施し又は指示するよう構成されてよい。コンピューティングシステム902は、プロセッサ950、メモリ952、及びデータ記憶954を含んでよい。プロセッサ950、メモリ952、及びデータ記憶装置954は、通信可能に結合されてよい。
【0081】
概して、プロセッサ950は、任意の適切な特定用途向け又は汎用コンピュータ、コンピューティングエンティティ、又は種々のコンピュータハードウェア若しくはソフトウェアモジュールを有してよく、任意の適切なコンピュータ可読媒体に格納された命令を実行するよう構成され得る処理装置を用いて実施されてよい。例えば、プロセッサ950は、マイクロプロセッサ、マイクロコントローラ、デジタシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又はプログラム命令を解釈し及び/若しくは実行し並びに/又はデータを処理するよう構成された任意の他のデジタル若しくはアナログ回路を有してよい。図9には単一のプロセッサを示したが、プロセッサ950は、本開示で説明される任意の数の操作を個々に又は共同で実行する又は実行を指示するよう構成される任意の数のプロセッサを有してよい。さらに、プロセッサのうちの1つ以上は、異なるサーバのような1つ以上の異なる電子装置に存在してよい。
【0082】
幾つかの実施形態では、プロセッサ950は、プログラム命令を解釈し及び/又は実行し、及び/又はメモリ952、データ記憶954又はメモリ952及びデータ記憶装置954に格納されたデータを処理してよい。幾つかの実施形態では、プロセッサ950は、データ記憶装置954からプログラム命令をフェッチし、該プログラム命令をメモリ952にロードしてよい。プログラム命令がメモリ952にロードされた後、プロセッサ950は該プログラム命令を実行してよい。
【0083】
例えば、幾つかの実施形態では、DNN構成モジュールは、プログラム命令としてデータ記憶装置954に含まれてよい。プロセッサ950は、データ記憶装置954からDNN構成モジュールのプログラム命令をフェッチしてよく、DNN構成モジュールのプログラム命令をメモリ952にロードしてよい。DNN構成モジュールのプログラム命令がメモリ952にロードされた後、プロセッサ950は、コンピューティングシステムが命令により指示されるようにDNN構成モジュールと関連する動作を実施できるように、プログラム命令を実行してよい。
【0084】
メモリ952及びデータ記憶装置954は、コンピュータ実行可能命令又はデータ構造を伝える又は格納しているコンピュータ可読記憶媒体を含み得る。このようなコンピュータ可読媒体は、プロセッサ950のような汎用又は特定目的コンピュータによりアクセスできる任意の利用可能な媒体を含み得る。例として且つ限定ではなく、このようなコンピュータ可読媒体は、RAM(Random Access Memory)、ROM(Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、CD-ROM(Compact Disc Read-Only Memory)又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ装置(例えば、固体メモリ素子)を含む有形又は非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で特定のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の記憶媒体を有し得る。上述の組合せも、コンピュータ可読記憶媒体の範囲に包含され得る。コンピュータ実行可能命令は、例えば、プロセッサ950に特定の工程又は工程のグループを実行させるよう構成される命令及びデータを含み得る。
【0085】
本開示の範囲から逸脱することなくコンピューティングシステム902に対し変更、追加又は省略が行われてよい。例えば、幾つかの実施形態では、コンピューティングシステム902は、明示的に示され又は記載されてない任意の数の他のコンポーネントを有してよい。
【0086】
理解され得るように、水増しによる利益を得る深層ニューラルネットワークモデル120のトレーニングデータ点を識別することは、既存の深層ニューラルネットワークモデル120を改善する又は深層ニューラルネットワークモデル120のトレーニング時間を短縮するための手段として使用されてよい。したがって、本願明細書に記載のシステム及び方法は、深層ニューラルネットワークモデルの品質を向上しながら、トレーニングし及び幾つかの場合にはトレーニング時間を短縮する能力を提供し、より正確な機械学習を提供する。
【0087】
上述のように、本開示で記載した実施形態は、以下に更に詳細に議論するように、種々のコンピュータハードウェア又はソフトウェアモジュールを備えた特定用途又は汎用コンピュータ(例えば、図9のプロセッサ950)の使用を含み得る。さらに、上述のように、本開示に記載の実施形態は、コンピュータ実行可能命令又はデータ構造を伝える又はそれを格納されたコンピュータ可読媒体(例えば、図9のメモリ952又はデータ記憶装置954)を用いて実施されてよい。
【0088】
本開示で用いられるように、用語「モジュール」又は「コンポーネント」は、モジュール若しくはコンポーネントのアクションを実行するよう構成される特定ハードウェア実装、及び/又はコンピューティングシステムの汎用ハードウェア(例えばコンピュータ可読媒体、処理装置、等)に格納され及び/又はそれらにより実行され得るソフトウェアオブジェクト又はソフトウェアルーチンを表してよい。幾つかの実施形態では、本開示に記載されたのと異なるコンポーネント、モジュール、エンジン及びサービスは、(例えば、別個のスレッドとして)コンピューティングシステムで実行されるオブジェクト又は処理として実施されてよい。本開示に記載のシステム及び方法の幾つかは概して(汎用ハードウェアに格納される及び/又はそれにより実行される)ソフトウェアで実装されるように記載されたが、専用ハードウェアの実装又はソフトウェアと専用ハードウェアの組み合わせの実装も可能であり考えられる。この説明では、「コンピュータエンティティ」は、本開示で先に定められたようにコンピューティングシステム、又はコンピューティングシステムで実行されるモジュール若しくはモジュールの組合せであってよい。
【0089】
本開示で及び特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本体)で使用される用語は、概して、広義の(open)用語と考えられる(例えば、用語「含む(including)」は「含むが、限定されない」と解釈されるべきであり、用語「有する(having)」は「少なくとも有する」と解釈されるべきであり、用語「含む(includes)」は「含むが、限定されない」と解釈されるべきである)。
【0090】
さらに、特定数の導入された請求項の引用が意図される場合、このような意図は、請求項の中に明示的に示され、このような引用が存在しない場合はこのような意図が存在しない。例えば、理解の助けとして、以下の添付の特許請求の範囲は、請求項の引用を導入するために、「少なくとも1つの」及び「1又は複数の」をいう前置語句の使用を含み得る。しかしながら、このような語句の使用は、同じ請求項が前置語句「1又は複数」又は「少なくとも1つの」及び「a又はan」のような不定冠詞を含むときでも、不定冠詞「a、an」による請求項引用の導入がこのような導入された請求項引用を含む任意の特定の請求項をこのような引用を1つだけ含む実施形態に限定することを示すと考えられてはならない(例えば、「a」及び/又は「an」は「少なくとも1つの」又は「1又は複数の」を意味すると解釈されるべきである)。同様のことは、請求項引用を導入するために使用される定冠詞の使用についても該当する。
【0091】
さらに、特定数の導入された請求項引用が明示的に引用される場合、当業者は、このような引用が少なくとも引用された番号を意味することと解釈されるべきであることを認識するだろう(例えば、「2つの引用」はそのままで、他の変更が無ければ、少なくとも2つの引用、又は2以上の引用を意味する)。さらに、「A、B、C、等のうちの少なくとも1つ」又は「A、B、C、等のうちの1又は複数」に類似する慣例が用いられる例では、通常、このような構成は、Aのみ、Bのみ、Cのみ、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、又はA、B、Cを一緒に、等を含むと意図される。
【0092】
さらに、2以上の代替用語を表す任意の離接語又は語句は、説明、請求項、又は図面の中であるかに係わらず、用語のうちの1つ、用語のうちのいずれか、又は両方の用語を含む可能性を包含すると理解されるべきである。例えば、語句「A又はB」は、「A」又は「B」又は「A及びB」の可能性を含むと理解されるべきである。
【0093】
本開示に記載された全ての例及び条件文は、教育上の目的で、読者が本開示の原理及び発明者により考案された概念を理解するのを助け、技術を促進させるためであり、これらの特に記載された例及び条件に限定されないものと考えられるべきである。本開示の実施形態が詳細に記載されたが、種々の変更、置換及び修正が本開示の精神及び範囲から逸脱することなく行われ得る。
【0094】
以上の実施形態に加えて、更に以下の付記を開示する。
(付記1) 深層ニューラルネットワークモデルを取得するステップと、
第1トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第1トレーニングデータ点及び第2トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第1精度に基づき、前記第1トレーニングデータ点の第1ロバストネス値を決定するステップと、
前記第2トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第2精度に基づき、前記第2トレーニングデータ点の第2ロバストネス値を決定するステップと、
前記第1ロバストネス値がロバストネス閾を満たすことに応答して、前記第1トレーニングエポックの間に前記第1トレーニングデータ点の変異による前記第1トレーニングデータ点の水増しを省略するステップと、
前記第2ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第1トレーニングエポックの間に前記第2トレーニングデータ点の1つ以上の変異により前記第2トレーニングデータ点を水増しするステップと、
前記第1トレーニングエポックの間に、前記第1トレーニングデータ点及び前記水増しした第2トレーニングデータ点で、前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
(付記2) 前記第1ロバストネス値を決定するステップは、
前記第1トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第1トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第1ロバストネス値として、前記第1トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記1に記載の方法。
(付記3) 前記第1トレーニングデータ点の前記複数の変異を取得するステップは、前記第1トレーニングデータ点の1つ以上のランダム変異を取得するステップを含む、付記2に記載の方法。
(付記4) 前記第1ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第1トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第1ロバストネス値として、前記1つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記1に記載の方法。
(付記5) 前記第1ロバストネス値を決定するステップは、前記第1トレーニングデータ点の複数の変異に基づく、付記1に記載の方法。
(付記6) 前記第1トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの1つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第1トレーニングデータ点の回転、前記第1トレーニングデータ点の平行移動、前記第1トレーニングデータ点のせん断、前記第1トレーニングデータ点のズーム、前記第1トレーニングデータ点の輝度の変化、前記第1トレーニングデータ点のコントラストの変化、を含む、付記5に記載の方法。
(付記7) 前記第1トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの1つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第1トレーニングデータ点の速度に基づく会話の摂動、前記第1トレーニングデータ点への背景雑音の追加、及び前記第1トレーニングデータ点のテンポに基づく摂動、を含む、付記5に記載の方法。
(付記8) 1つ以上の命令を記憶し、該命令は、少なくとも1つのシステムにより実行されることに応答して、前記少なくとも1つのシステムに付記1に記載の方法を実行させる、少なくとも1つの非一時的コンピュータ可読媒体。
(付記9) 深層ニューラルネットワークモデルを取得するステップと、
第1トレーニングエポックの間に、前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から、第1トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第1精度に基づき、前記第1トレーニングデータ点の第1ロバストネス値を決定するステップと、
前記第1ロバストネス値がロバストネス閾を満たすことに応答して、前記第1トレーニングエポックの間、及び前記第1トレーニングエポックの後の1つ以上の第2トレーニングエポックの間に、前記第1トレーニングデータ点の変異による前記第1トレーニングデータ点の水増しを省略するステップと、
前記第1トレーニングエポックの間に前記第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記1つ以上の第2トレーニングエポックの間に前記第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
前記1つ以上の第2トレーニングエポックの後の第3トレーニングエポックの間に、前記トレーニングデータ点の母集団から、前記第1トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点の変異に関する前記深層ニューラルネットワークモデルの第2精度に基づき、前記第1トレーニングデータ点の第2ロバストネス値を決定するステップと、
前記第2ロバストネス値が前記ロバストネス閾を満たさないことに応答して、前記第3トレーニングエポックの間に、前記第1トレーニングデータ点の1つ以上の変異により前記第1トレーニングデータ点を水増しするステップと、
前記第3トレーニングエポックの間に、前記水増しした第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
(付記10) 前記第1ロバストネス値を決定するステップは、
前記第1トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第1トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第1ロバストネス値として、前記第1トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記9に記載の方法。
(付記11) 前記第1トレーニングデータ点の前記複数の変異を取得するステップは、前記第1トレーニングデータ点の1つ以上のランダム変異を取得するステップを含む、付記10に記載の方法。
(付記12) 前記第1ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第1トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第1ロバストネス値として、前記1つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記9に記載の方法。
(付記13) 前記第1ロバストネス値を決定するステップは、前記第1トレーニングデータ点の複数の変異に基づく、付記9に記載の方法。
(付記14) 前記第1トレーニングデータ点の前記複数の変異は、複数の視覚的変異種類のうちの1つ以上の視覚的変異種類を含み、前記複数の視覚的変異種類は、前記第1トレーニングデータ点の回転、前記第1トレーニングデータ点の平行移動、前記第1トレーニングデータ点のせん断、前記第1トレーニングデータ点のズーム、前記第1トレーニングデータ点の輝度の変化、前記第1トレーニングデータ点のコントラストの変化、を含む、付記13に記載の方法。
(付記15) 前記第1トレーニングデータ点の前記複数の変異は、複数の聴覚的変異種類のうちの1つ以上の聴覚的変異種類を含み、前記複数の聴覚的変異種類は、前記第1トレーニングデータ点の速度に基づく会話の摂動、前記第1トレーニングデータ点への背景雑音の追加、及び前記第1トレーニングデータ点のテンポに基づく摂動、を含む、付記13に記載の方法。
(付記16) 1つ以上の命令を記憶し、該命令は、少なくとも1つのシステムにより実行されることに応答して、前記少なくとも1つのシステムに付記9に記載の方法を実行させる、少なくとも1つの非一時的コンピュータ可読媒体。
(付記17) 深層ニューラルネットワークモデルを取得するステップと、
第1トレーニングエポックの間に前記深層ニューラルネットワークモデルのためのトレーニングデータ点の母集団から第1トレーニングデータ点を取得するステップと、
前記第1トレーニングデータ点に関する前記深層ニューラルネットワークモデルの第1精度に基づき、前記第1トレーニングデータ点の第1ロバストネス値を決定するステップと、
前記第1ロバストネス値がロバストネス閾を満たすことに応答して、前記第1トレーニングエポックの間に前記第1トレーニングデータ点の変異による前記第1トレーニングデータ点の水増しを省略するステップと、
前記第1トレーニングエポックの間に前記第1トレーニングデータ点で前記深層ニューラルネットワークモデルをトレーニングするステップと、
を含む方法。
(付記18) 前記第1ロバストネス値を決定するステップは、
前記第1トレーニングデータ点のクラスを取得するステップであって、前記クラスは、前記第1トレーニングデータ点のカテゴリである、ステップと、
前記ロバストネス閾として、予測クラス閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、予測クラス決定を実行するステップであって、前記予測クラス決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれのクラス予測を決定し、その結果、前記複数の変異に関して複数のクラス予測が取得される、ステップと、
前記第1ロバストネス値として、前記第1トレーニングデータ点についての前記取得したクラスと一致する、前記複数のクラス予測のうちの一致するクラスの数を決定するステップと、
前記一致するクラスの数が前記予測クラス閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記一致するクラスの数が前記予測クラス閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記17に記載の方法。
(付記19) 前記第1ロバストネス値を決定するステップは、
前記ロバストネス閾として、損失閾を取得するステップと、
前記第1トレーニングデータ点の複数の変異を取得するステップと、
前記複数の変異のうちのそれぞれの変異に関し、損失決定を実行するステップであって、前記損失決定は、それぞれの変異が提供されると、前記深層ニューラルネットワークモデルのそれぞれの損失を決定し、その結果、前記複数の変異に関して複数の損失が取得され、前記複数の損失のうちの各損失は、前記それぞれの変異の予測クラスが前記第1トレーニングデータ点のクラスと一致する予測確率に基づき決定される、ステップと、
前記第1ロバストネス値として、前記1つ以上の損失のうちの最大損失を識別するステップと、
前記最大損失が前記損失閾を満たすことに応答して、前記第1トレーニングデータ点がロバストであると決定するステップであって、前記第1トレーニングデータ点の水増しを省略するステップは、前記最大損失が前記損失閾を満たすことに応答して前記第1トレーニングデータ点がロバストであると決定することに応答する、ステップと、
を含む、付記17に記載の方法。
(付記20) 1つ以上の命令を記憶し、該命令は、少なくとも1つのシステムにより実行されることに応答して、前記少なくとも1つのシステムに付記17に記載の方法を実行させる、少なくとも1つの非一時的コンピュータ可読媒体。
【符号の説明】
【0095】
100 環境
110 DNN構成モジュール
120 深層ニューラルネットワークモデル
130 トレーニングデータ
140 トレーニングモジュール
150 変異モジュール
160 ロバストネスモジュール
170 水増しモジュール
180 トレーニング済みDNNモデル
図1
図2
図3
図4
図5
図6
図7
図8
図9