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

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

▶ グーグル インコーポレイテッドの特許一覧

特表2024-506544トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法
<>
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図1A
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図1B
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図1C
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図2A
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図2B
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図3
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図4
  • 特表-トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-14
(54)【発明の名称】トレーニング速度を最適化するための機械学習型モデル向けの漸進学習のためのシステムおよび方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240206BHJP
   G06N 3/0464 20230101ALI20240206BHJP
【FI】
G06N20/00
G06N3/0464
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023546106
(86)(22)【出願日】2021-12-29
(85)【翻訳文提出日】2023-09-27
(86)【国際出願番号】 US2021065448
(87)【国際公開番号】W WO2022169521
(87)【国際公開日】2022-08-11
(31)【優先権主張番号】63/145,830
(32)【優先日】2021-02-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ミンシン・タン
(72)【発明者】
【氏名】クォク・ヴィー・レ
(57)【要約】
本開示のシステムおよび方法は、効率的機械学習型モデルトレーニングのためのコンピュータ実装方法を含み得る。方法は、機械学習型モデル向けの複数のトレーニングサンプルを取得するステップを含み得る。方法は、1つまたは複数の第1のトレーニング反復に対して、1つまたは複数の正則化技法の相対的効果を制御するように構成された第1の正則化規模に少なくとも部分的に基づいて、複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第1のトレーニングサンプルを使って、機械学習型モデルをトレーニングするステップを含み得る。方法は、1つまたは複数の第2のトレーニング反復に対して、第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第2のトレーニングサンプルを使って、機械学習型モデルをトレーニングするステップを含み得る。
【特許請求の範囲】
【請求項1】
効率的機械学習型モデルトレーニングのためのコンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、機械学習型モデル向けの複数のトレーニングサンプルを取得するステップと、
1つまたは複数の第1のトレーニング反復に対して、
前記コンピューティングシステムによって、1つまたは複数の正則化技法の相対的効果を制御するように構成された第1の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第1のトレーニングサンプルを使って、前記機械学習型モデルをトレーニングするステップと、
1つまたは複数の第2のトレーニング反復に対して、
前記コンピューティングシステムによって、前記第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第2のトレーニングサンプルを使って、前記機械学習型モデルをトレーニングするステップとを含む、コンピュータ実装方法。
【請求項2】
機械学習型モデル向けの前記複数のトレーニングサンプルを取得するステップは、前記コンピューティングシステムによって、前記1つまたは複数の第1のトレーニングサンプル向けの第1のサンプル複雑さを判断するステップをさらに含み、
前記1つまたは複数のそれぞれの第2のトレーニングサンプルを使って前記機械学習型モデルをトレーニングするのに先立って、前記方法は、前記コンピューティングシステムによって、前記1つまたは複数の第2のトレーニングサンプル向けの第2のサンプル複雑さを判断するステップを含み、前記第2のサンプル複雑さは前記第1のサンプル複雑さよりも大きい、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記複数のトレーニングサンプルは、それぞれの複数のトレーニング画像を含み、
前記1つまたは複数の第2のトレーニングサンプル向けの前記第2のサンプル複雑さを判断するステップは、前記コンピューティングシステムによって、1つまたは複数の第2のトレーニング画像のサイズを調節するステップを含み、前記1つまたは複数の第2のトレーニング画像の前記サイズは、1つまたは複数の第1のトレーニング画像のサイズよりも大きい、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記機械学習型モデル用の前記複数のトレーニングサンプルを取得するのに先立って、
機械学習型モデル探索アーキテクチャを使う前記コンピューティングシステムによって、1つまたは複数のそれぞれのパラメータについての1つまたは複数の第1の値を含む初期機械学習型モデルを生成するステップと、
前記コンピューティングシステムによって、前記初期機械学習型モデルの第1のトレーニング速度を判断するステップと、
前記機械学習型モデル探索アーキテクチャを使う前記コンピューティングシステムによって、前記機械学習型モデルを生成するステップであって、前記機械学習型モデルは、前記1つまたは複数のそれぞれのパラメータについての1つまたは複数の第2の値を含み、前記1つまたは複数の第2の値のうちの少なくとも1つは、前記1つまたは複数の第1の値とは異なる、ステップとを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記コンピューティングシステムによって、前記機械学習型モデルの第2のトレーニング速度を判断するステップをさらに含み、前記第2のトレーニング速度は前記第1のトレーニング速度よりも大きい、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記機械学習型モデルは複数のシーケンシャルモデル段階を含み、各モデル段階は1つまたは複数のレイヤを含み、第1のモデル段階は、前記複数のモデル段階のうちの第2のモデル段階よりも少ないレイヤを含む、請求項4または5に記載のコンピュータ実装方法。
【請求項7】
前記1つまたは複数の正則化技法は、
前記コンピューティングシステムによって、前記機械学習型モデルの少なくとも1つのレイヤのモデルチャネルの数を調節すること、または
前記コンピューティングシステムによって、前記複数のトレーニングサンプルの1つまたは複数のトレーニングサンプルの少なくとも1つの特性を調節することのうちの少なくとも1つを含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
前記第2の正則化規模は、前記1つまたは複数の第1のトレーニング反復からの1つまたは複数のそれぞれのトレーニング出力に少なくとも部分的に基づく、請求項1に記載のコンピュータ実装方法。
【請求項9】
最適化されたトレーニング速度をもつモデルの判断のためのコンピューティングシステムであって、
1つまたは複数のプロセッサと、
コンピュータ可読命令を記憶する1つまたは複数の有形非一時的コンピュータ可読媒体とを備え、前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実施させ、前記動作は、
定義されたモデル探索空間から第1の機械学習型モデルを生成することであって、前記定義されたモデル探索空間は1つまたは複数の探索可能パラメータを含み、前記第1の機械学習型モデルは、前記1つまたは複数の探索可能パラメータについての1つまたは複数の第1の値を含む、ことと、
前記第1の機械学習型モデルに対してモデルトレーニングプロセスを実施して、第1のトレーニング速度を記述する第1のトレーニングデータを取得することと、
前記第1のトレーニングデータに少なくとも部分的に基づいて、前記定義されたモデル探索空間から第2の機械学習型モデルを生成することであって、前記第2の機械学習型モデルは、前記1つまたは複数の探索可能パラメータについての1つまたは複数の第2の値を含み、前記1つまたは複数の第2の値のうちの少なくとも1つは、前記1つまたは複数の第1の値とは異なる、ことと、
前記第2の機械学習型モデルに対して前記モデルトレーニングプロセスを実施して、第2のトレーニング速度を記述する第2のトレーニングデータを取得することであって、前記第2のトレーニング速度は前記第1のトレーニング速度よりも速い、こととを含む、コンピューティングシステム。
【請求項10】
前記定義されたモデル探索空間の複数のモデルレイヤは、
畳み込みレイヤ、または
融合畳み込みレイヤのうちの少なくとも1つを含む、請求項9に記載のコンピューティングシステム。
【請求項11】
前記第2の機械学習型モデルは複数のシーケンシャルモデル段階を含み、各モデル段階は1つまたは複数のモデルレイヤを含み、第1のモデル段階は、前記複数のモデル段階のうちの第2のモデル段階よりも少ないモデルレイヤを含む、請求項9または10に記載のコンピューティングシステム。
【請求項12】
前記第1のトレーニングデータは、第1のトレーニング正確さをさらに記述し、前記第2のトレーニングデータは、前記第1のトレーニング正確さよりも大きい第2のトレーニング正確さをさらに記述する、請求項9から11のいずれか一項に記載のコンピューティングシステム。
【請求項13】
前記定義されたモデル探索空間から前記第2の機械学習型モデルを生成することは、前記第1のトレーニング正確さにさらに少なくとも部分的に基づく、請求項12に記載のコンピューティングシステム。
【請求項14】
前記第1の機械学習型モデルに対してモデルトレーニングプロセスを実施することは、
前記第1の機械学習型モデル用の複数のトレーニングサンプルを取得することと、
1つまたは複数の第1のトレーニング反復に対して、
1つまたは複数の正則化技法の相対的効果を制御するように構成された第1の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第1のトレーニングサンプルを使って、前記第1の機械学習型モデルをトレーニングすることと、
1つまたは複数の第2のトレーニング反復に対して、
前記第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第2のトレーニングサンプルを使って、前記第1の機械学習型モデルをトレーニングすることとを含む、請求項9から13のいずれか一項に記載のコンピューティングシステム。
【請求項15】
前記複数のトレーニングサンプルは、それぞれの複数のトレーニング画像を含み、
前記1つまたは複数の第2のトレーニングサンプル向けの第2のサンプル複雑さを判断することは、1つまたは複数の第2のトレーニング画像のサイズを調節することを含み、前記1つまたは複数の第2のトレーニング画像の前記サイズは、1つまたは複数の第1のトレーニング画像のサイズよりも大きい、請求項14に記載のコンピューティングシステム。
【請求項16】
前記複数のトレーニングサンプルは、それぞれの複数のトレーニング画像を含み、
前記1つまたは複数の第2のトレーニングサンプル向けの前記第2のサンプル複雑さを判断することは、1つまたは複数の第2のトレーニング画像のサイズを調節することを含み、前記1つまたは複数の第2のトレーニング画像の前記サイズは、1つまたは複数の第1のトレーニング画像のサイズよりも大きい、請求項15に記載のコンピューティングシステム。
【請求項17】
前記1つまたは複数のパラメータのうちの少なくとも1つは、モデルレイヤのタイプまたは機械学習型モデルに含まれるモデルレイヤの数のうちの1つまたは複数を制御するように構成される、請求項9から16のいずれか一項に記載のコンピューティングシステム。
【請求項18】
前記動作は、前記第2の機械学習型モデルを出力として提供することをさらに含む、請求項9から17のいずれか一項に記載のコンピューティングシステム。
【請求項19】
前記定義されたモデル探索空間から前記第2の機械学習型モデルを生成することは、前記第2の機械学習型モデルのための複数のシーケンシャル処理段階を判断することをさらに含み、前記複数のシーケンシャル処理段階の各々は、1つまたは複数のモデルレイヤに関連付けられ、前記複数の処理段階のうちの第2の処理段階に関連付けられたモデルレイヤの数は、前記複数の処理段階の第1の処理段階に関連付けられたモデルレイヤの数よりも大きい、請求項9から18のいずれか一項に記載のコンピューティングシステム。
【請求項20】
1つまたは複数の有形非一時的コンピュータ可読媒体であって、
複数のFused-MBConv段階の第1のシーケンス、および
複数のMBConv段階の第2のシーケンスであって、前記複数のMBConv段階の前記第2のシーケンスは、前記複数のFused-MBConv段階の前記第1のシーケンスに続く、複数のMBConv段階の第2のシーケンスを含む機械学習型モデルと、
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実施させるコンピュータ可読命令とを記憶し、前記動作は、
モデル入力を取得することと、
前記モデル入力を前記機械学習型モデルで処理して、モデル出力を生成することとを含む、1つまたは複数の有形非一時的コンピュータ可読媒体。
【請求項21】
前記複数のFused-MBConv段階は、3つのFused-MBConv段階からなる、請求項20に記載の1つまたは複数の有形非一時的コンピュータ可読媒体。
【請求項22】
前記3つのFused-MBConv段階は、2、4、および4つのレイヤをそれぞれ有する第1、第2、および第3のFused-MBConv段階を含む、請求項21に記載の1つまたは複数の有形非一時的コンピュータ可読媒体。
【請求項23】
前記3つのFused-MBConv段階は、24、48、および64個のチャネルをそれぞれ有する第1、第2、および第3のFused-MBConv段階を含む、請求項21または22に記載の1つまたは複数の有形非一時的コンピュータ可読媒体。
【請求項24】
前記3つのFused-MBConv段階は、3×3カーネルを各々が有する第1、第2、および第3のFused-MBConv段階を含む、請求項21から23のいずれか一項に記載の1つまたは複数の有形非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、米国仮特許出願第63/145,830号に対する優先権およびその利益を主張する。米国仮特許出願第63/145,830号は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は概して、機械学習型モデルの漸進学習に関する。より詳細には、本開示は、トレーニング速度を最適化するための、機械学習型モデルのトレーニング中の正則化の漸進調節に関する。
【背景技術】
【0003】
機械学習における最近の進歩は、機械学習型モデル(たとえば、ニューラルネットワークなど)と、それらをトレーニングするのに使われるデータの両方のサイズおよび複雑さを実質的に増大させた。例として、最先端の深層学習モデルのトレーニングはときには、一度に何週間も、数千のグラフィックス処理ユニットの使用を必要とする場合があり、したがって、法外に高額な計算コストを呈する。他のネットワークは、迅速にトレーニングをし得るが、多数のパラメータに関してコストのかかるオーバーヘッドを伴う場合がある。したがって、トレーニング速度およびパラメータ効率を増す方法であれば、他のタスク用に、計算リソースの利用可能性を実質的に増大させるであろう。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Tan, M.およびLe, Q. V. EfficientNet: Rethinking model scaling for convolutional neural networks. ICML、2019a
【非特許文献2】Gupta, S.およびTan, M. EfficientNet-EdgeTPU: Creating accelerator-optimized neural networks with automl. https://ai.googleblog.com/2019/08/efficientnetedgetpu-creating.html、2019
【非特許文献3】Sandlerら、Mobilenetv2: Inverted residuals and linear bottlenecks. CVPR、2018
【非特許文献4】Tanら、Mnasnet: Platform-aware neural architecture search for mobile. CVPR、2019
【非特許文献5】Srivastavaら、Dropout: a simple way to prevent neural networks from overfitting、The Journal of Machine Learning Research、15(1):1929~1958、2014
【非特許文献6】Cubukら、Randaugment: Practical automated data augmentation with a reduced search space. ECCV、2020
【非特許文献7】Zhangら、Mixup: Beyond empirical risk minimization. ICLR、2018
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施形態の態様および利点は、以下の説明において部分的に記載されるか、または説明から知ることができるか、または実施形態の実施を通して知ることができる。
【0006】
本開示の1つの例示的態様は、効率的機械学習型モデルトレーニングのためのコンピュータ実装方法を対象とする。方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、機械学習型モデル向けの複数のトレーニングサンプルを取得するステップを含み得る。方法は、1つまたは複数の第1のトレーニング反復に対して、コンピューティングシステムによって、1つまたは複数の正則化技法の相対的効果を制御するように構成された第1の正則化規模に少なくとも部分的に基づいて、複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第1のトレーニングサンプルを使って、機械学習型モデルをトレーニングするステップを含み得る。方法は、1つまたは複数の第2のトレーニング反復に対して、コンピューティングシステムによって、第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第2のトレーニングサンプルを使って、機械学習型モデルをトレーニングするステップを含み得る。
【0007】
本開示の別の例示的態様は、最適化されたトレーニング速度をもつモデルの判断のためのコンピューティングシステムを対象とする。コンピューティングシステムは、1つまたは複数のプロセッサを含み得る。コンピューティングシステムは、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実施させるコンピュータ可読命令を記憶する1つまたは複数の有形非一時的コンピュータ可読媒体を含み得る。動作は、定義されたモデル探索空間から第1の機械学習型モデルを生成することを含んでよく、定義されたモデル探索空間は1つまたは複数の探索可能パラメータを含み、第1の機械学習型モデルは、1つまたは複数の探索可能パラメータについての1つまたは複数の第1の値を含む。動作は、第1の機械学習型モデルに対してモデルトレーニングプロセスを実施して、第1のトレーニング速度を記述する第1のトレーニングデータを取得することを含み得る。動作は、第1のトレーニングデータに少なくとも部分的に基づいて、定義されたモデル探索空間から第2の機械学習型モデルを生成することを含んでよく、第2の機械学習型モデルは、1つまたは複数の探索可能パラメータについての1つまたは複数の第2の値を含み、1つまたは複数の第2の値のうちの少なくとも1つは、1つまたは複数の第1の値とは異なる。動作は、第2の機械学習型モデルに対してモデルトレーニングプロセスを実施して、第2のトレーニング速度を記述する第2のトレーニングデータを取得することを含んでよく、第2のトレーニング速度は第1のトレーニング速度よりも速い。
【0008】
本開示の別の例示的態様は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実施させるコンピュータ可読命令を記憶する1つまたは複数の有形非一時的コンピュータ可読媒体を対象とする。動作は、定義されたモデル探索空間から第1の機械学習型モデルを生成することを含んでよく、定義されたモデル探索空間は1つまたは複数の探索可能パラメータを含み、第1の機械学習型モデルは、1つまたは複数の探索可能パラメータについての1つまたは複数の第1の値を含む。動作は、第1の機械学習型モデルに対してモデルトレーニングプロセスを実施して、第1のトレーニング速度を記述する第1のトレーニングデータを取得することを含み得る。動作は、第1のトレーニングデータに少なくとも部分的に基づいて、定義されたモデル探索空間から第2の機械学習型モデルを生成することを含んでよく、第2の機械学習型モデルは、1つまたは複数の探索可能パラメータについての1つまたは複数の第2の値を含み、1つまたは複数の第2の値のうちの少なくとも1つは、1つまたは複数の第1の値とは異なり、第2の機械学習型モデルは複数のシーケンシャルモデル段階を含み、各モデル段階は1つまたは複数のモデルレイヤを含み、第1のモデル段階は、複数のモデル段階のうちの第2のモデル段階よりも少ないモデルレイヤを含む。動作は、第2の機械学習型モデルに対してモデルトレーニングプロセスを実施して、第2のトレーニング速度を記述する第2のトレーニングデータを取得することを含んでよく、第2のトレーニング速度は第1のトレーニング速度よりも速い。
【0009】
別の例示的態様は、1つまたは複数の有形非一時的コンピュータ可読媒体を対象とし、このコンピュータ可読媒体は、複数のFused-MBConv段階の第1のシーケンス、および複数のMBConv段階の第2のシーケンスであって、複数のMBConv段階の第2のシーケンスは、複数のFused-MBConv段階の第1のシーケンスに続く、複数のMBConv段階の第2のシーケンスを含む機械学習型モデルと、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実施させるコンピュータ可読命令とを記憶し、動作は、モデル入力を取得することと、モデル入力を機械学習型モデルで処理して、モデル出力を生成することとを含む。いくつかの実装形態では、複数のFused-MBConv段階は、3つのFused-MBConv段階からなる。いくつかの実装形態では、3つのFused-MBConv段階は、2、4、および4つのレイヤをそれぞれ有する第1、第2、および第3のFused-MBConv段階を含む。いくつかの実装形態では、3つのFused-MBConv段階は、24、48、および64個のチャネルをそれぞれ有する第1、第2、および第3のFused-MBConv段階を含む。いくつかの実装形態では、3つのFused-MBConv段階は、3×3カーネルを各々が有する第1、第2、および第3のFused-MBConv段階を含む。
【0010】
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
【0011】
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照すると、よりよく理解されよう。本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本開示の例示的な実施形態を示し、この説明とともに、関連する原理について説明するために役立つ。
【0012】
当業者を対象とする実施形態の詳細な説明が本明細書に記載され、本明細書は添付の図を参照する。
【図面の簡単な説明】
【0013】
図1A】本開示の例示的実施形態による、漸進正則化を使ってモデルトレーニングを実施する例示的コンピューティングシステムのブロック図である。
図1B】本開示の例示的実施形態による、漸進正則化を使ってモデルトレーニングを実施する例示的コンピューティングデバイスのブロック図である。
図1C】本開示の例示的実施形態による、最適化されたトレーニング速度をもつ機械学習型モデルの生成を実施する例示的コンピューティングデバイスのブロック図である。
図2A】本開示の例示的実施形態によるFused-MBConvおよびMBConvアーキテクチャを示す図である。
図2B】本開示の例示的実施形態による、トレーニング速度を高めるためのアーキテクチャ探索技法を通して生成された例示的機械学習型モデルのブロック図である。
図3】本開示の例示的実施形態による、トレーニング速度および正確さを高めるための例示的ニューラルアーキテクチャ探索手法のグラフィカル図である。
図4】最適化されたトレーニング速度をもつ機械学習型モデルの生成のための例示的方法のデータフロー図である。
図5】本開示の例示的実施形態による、漸進正則化を使ってモデルトレーニングを実施するための例示的方法のフローチャート図である。
【発明を実施するための形態】
【0014】
複数の図にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別するものである。
【0015】
概要
概して、本開示は、機械学習型モデルの漸進学習を対象とする。より詳細には、本開示は、トレーニング速度を最適化するための、機械学習型モデルのトレーニング中の正則化の漸進調節に関する。例として、複数のトレーニングサンプル(たとえば、トレーニング画像、トレーニングデータセットなど)を、機械学習型モデル(たとえば、畳み込みニューラルネットワーク、深層学習ネットワークなど)用に取得することができる。1つまたは複数のトレーニング反復に対して、機械学習型モデルは、第1の正則化規模に基づいて、これらのトレーニングサンプルのうちの1つまたは複数を使ってトレーニングされ得る。第1の正則化規模は、1つまたは複数の正則化技法(たとえば、モデルドロップアウト、トレーニングデータ増補など)の相対的効果を制御するように構成され得る。1つまたは複数の第2のトレーニング反復に対して、モデルは、第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいてトレーニングされ得る。さらに、いくつかの実装形態では、トレーニングサンプルの複雑さ(たとえば、画像サイズ、データセットサイズなど)は、実質的に同様に、漸進的に増大され得る。比較的弱いレベルの正則化およびデータ複雑さでモデルを最初にトレーニングし、次いで、両方のパラメータを漸進的に増大させることによって、本開示のシステムおよび方法は、比較的早期のトレーニング反復中に要する計算リソースを実質的に削減し、したがって、モデルの正確さを増すとともに、モデルをトレーニングする全体的速度を同時に増大させる。
【0016】
機械学習型モデルのトレーニング効率をさらに増すために、モデルのアーキテクチャは、トレーニング効率を高めるアーキテクチャ探索(たとえば、ニューラルアーキテクチャ探索など)に基づいて選択され得る。例として、1つまたは複数のパラメータを含む第1の機械学習型モデルを、定義されたモデル探索空間から生成することができる。より具体的には、第1の機械学習型モデルは、1つまたは複数のパラメータについての1つまたは複数の値を含み得る。第1のトレーニング速度を記述するトレーニングデータを取得するために、モデルトレーニングプロセス(たとえば、前述した漸進正則化など)が、第1の機械学習型モデルに適用されてよい。第1のトレーニングデータに少なくとも部分的に基づいて、1つまたは複数の第1の値とは異なる1つまたは複数の第2の値を含む第2の機械学習型モデルを、定義されたモデル探索空間から生成することができる。第2のトレーニングデータを取得するために、モデルトレーニングプロセスが、第2の機械学習型モデルに対して実施されてよい。第2のトレーニングデータは、第1のトレーニング速度よりも速い第2のトレーニング速度を記述し得る。そのようにして、トレーニング速度に関して最適化するためにアーキテクチャ探索技法が使用されてよく、したがって、機械学習型モデルの全体的トレーニング速度を大幅に増大させる。
【0017】
いくつかの実装形態では、トレーニングデータの複雑さは、トレーニング中に、正則化規模に従って漸進的に増大され得る。例として、第1の複雑さ(たとえば、画像サイズなど)が、トレーニング画像の第1のセット用に判断され得る(たとえば、280×280ピクセルなど)。トレーニング画像の第1のセットは、機械学習型モデルを第1の正則化規模でトレーニングするために、トレーニングプロセスにおいて使われ得る。第1の複雑さよりも大きい第2の複雑さが、第1のものよりも大きい第2の正則化規模に従って、トレーニング画像の第2のセット用に判断され得る(たとえば、1080×720ピクセルなど)。トレーニング画像の第2のセットは、第2の正則化規模に基づいて機械学習型モデルをトレーニングするために、トレーニングプロセスにおいて使われ得る。そのようにして、正確さとトレーニング効率の両方(たとえば、速度、トレーニングエポックの数など)が、実質的に増大され得る。
【0018】
いくつかの実装形態では、トレーニングの複雑さは、トレーニングサンプルを処理することに関連付けられた問題点を表すか、またはそうでなければ記述し得る。例として、トレーニングサンプルは画像データであってよい。画像データのトレーニングの複雑さを増すことは、画像データの1つまたは複数の特性を増補すること(たとえば、解像度を増すこと、画像データの色を増大すること、画像特徴の数を増やすこと、画像にノイズを加えること、画像を回転すること、画像を第2の画像で増補することなど)を含み得る。別の例として、トレーニングサンプルが多角形メッシュである場合、多角形メッシュのトレーニングの複雑さを増すことは、含まれる多角形の数を増やすことを含み得る。したがって、トレーニングサンプルのトレーニングの複雑さの調節は、それぞれの機械学習型モデルによるトレーニングサンプルの処理に関連付けられた問題点を調節するどのやり方でも遂行されてよいことが、広く理解されるべきである。
【0019】
いくつかの実装形態では、本開示のモデルは、注意ベースのモデルであるか、またはそうでなければ注意ベースのモデルを含み得る。例として、本開示のモデルは、1つもしくは複数の自己注意機構、および/または1つもしくは複数の注意レベルレイヤを含み得る。たとえば、本開示のモデルは、トランスフォーマモデルであるか、またはそうでなければトランスフォーマモデルを含み得る。いくつかの実装形態では、正則化技法は、これらのモデルにおける注意スコープの増補を含み得る。たとえば、正則化技法が、完全自己注意レイヤを何らかの方式(たとえば、注意の重みの調節、注意アーキテクチャの修正、レイヤの注意ヘッドの間で注意が判断されるスコープの修正、など)で増補し得る。
【0020】
本明細書に記載するシステムおよび方法は、いくつかの技術的効果および利益を提供する。一例として、トレーニング中に正則化の規模を漸進的に増すことによって、本開示のシステムおよび方法は、全体的複雑さと、モデルをトレーニングするのに要する計算リソースとを、たとえば、継続規模の正則化を使用する以前のトレーニング技法と比較して、実質的に削減することができる(たとえば、より少ない処理能力、より少ないメモリ使用、より少ない電力消費など)。したがって、提案する技法は、より少ない計算リソースを使う、機械学習モデルのより効率的なトレーニングを可能にすることができる。
【0021】
さらに、トレーニング速度および効率のために最適化されたアーキテクチャをもつモデルを生成することによって、本開示のシステムおよび方法は、モデルトレーニングのために要する全体的時間および計算リソースをさらに削減することができる。たとえば、セグメントごとに複雑さ(たとえば、レイヤの数など)が増大するセグメント化機械学習型モデルを生成するために、アーキテクチャ探索技法を活用することによって、本開示のシステムおよび方法は、トレーニング中に漸進正則化の効力をさらに強めることができ、したがって、計算リソース要件をより一層低減させる。
【0022】
別の例示的な技術的効果および利益として、トレーニングの複雑さ(たとえば、トレーニングデータのサイズ、トレーニングデータの正しい処理の相対的「問題点」など)の漸進調節は概して、トレーニング速度を増すことが知られている。ただし、これは、モデル正確さの低減にもつながり得る。トレーニングの正則化を、対応する方式で漸進的に増大することによって、漸進的なトレーニングの複雑さからのトレーニング速度の増大を強化することができるとともに、モデル正確さのいかなる低減も緩和する。したがって、トレーニング中のモデルの漸進正則化は、トレーニング速度を増すための他の方法を強化することができるとともに、それらの方法からの正確さのいかなる低減も実質的に削減するか、またはなくす。
【0023】
別の例示的な技術的効果および利益として、メタ学習(たとえば、ニューラルアーキテクチャ探索など)技法はしばしば、機械学習型モデルを生成するときに「早期打ち切り」技法を使用する。たとえば、メタ学習技法は、トレーニング反復の初期結果に基づいて、トレーニング反復の周期に対する早期停止を実装し得る。漸進正則化技法を使用することによって、トレーニング周期における比較的早期のトレーニング反復は、計算コストが比較的低い。早期トレーニング反復に関連付けられた全体的計算コストを削減することによって、本開示のシステムおよび方法は、メタ学習技法における早期打ち切りに関連付けられた悪影響(たとえば、浪費される計算リソースなど)を実質的に削減することができる。
【0024】
したがって、本開示の例示的態様は、以前のモデルよりも速いトレーニング速度および優れたパラメータ効率を有する、新たな系統の畳み込みネットワークを対象とする。これらのモデルを開発するために、本明細書に記載する例示的システムは、トレーニング認識ニューラルアーキテクチャ探索およびスケーリングの組合せを、トレーニング速度およびパラメータ効率を合わせて最適化するために使うことができる。モデルは、Fused-MBConvなどの新たなオプションで拡充された探索空間から探索された。実験は、本明細書において提案されるモデルが、最先端のモデルよりもはるかに速くトレーニングをするとともに、最大で6.8倍小さいことを示す。
【0025】
さらに、モデルのトレーニングは、トレーニング中に画像サイズを漸進的に増すことによってさらに高速化され得る。ただし、これはしばしば、正確さの低下を引き起こす。この正確さの低下を補償するために、本開示は、たとえば、画像サイズに加え、正則化(たとえばデータ増補)を適応的に調節する漸進学習の改良型方法を提案する。
【0026】
より具体的には、トレーニング効率が、最近では大きな関心を集めている。たとえば、NFNetは、コストのかかるバッチ正規化を除くことによってトレーニング効率を向上することを目指し、いくつかの最近の研究は、畳み込みネットワーク(ConvNet)に注意レイヤを加えることによってトレーニング速度を向上することを重視し、ビジョントランスフォーマは、トランスフォーマブロックを使うことによって、大規模データセットにおけるトレーニング効率を向上する。
【0027】
ただし、これらの方法はしばしば、大きいパラメータサイズでは、コストのかかるオーバーヘッドを伴う。対照的に、本開示は、トレーニング認識ニューラルアーキテクチャ探索(NAS)とスケーリングの組合せを、トレーニング速度とパラメータ効率の両方を向上するのに使う。EfficientNet(Tan, M.およびLe, Q. V. EfficientNet: Rethinking model scaling for convolutional neural networks. ICML、2019a参照)として知られる、いくつかのモデルのパラメータ効率を仮定して、本開示は、EfficientNetにおけるトレーニングボトルネックを体系的に検討する。これらの検討は、EfficientNetにおいて、(1)非常に大きい画像サイズのトレーニングが遅いこと、(2)早期レイヤにおいて、深度単位畳み込みが遅いこと、(3)あらゆる段階を等しくスケールアップすることが準最適であることを示す。
【0028】
これらの観察に基づいて、本開示は、Fused-MBConvなどの追加動作で拡充された探索空間を提供する。本開示は、モデル正確さ、トレーニング速度、およびパラメータサイズを合わせて最適化するために、トレーニング認識NASおよびスケーリングも適用する。その結果生じるネットワークは、EfficientNetV2と呼ばれ得るが、従来モデルよりも最大で4倍速くトレーニングをするとともに、パラメータサイズは最大で6.8倍小さい。
【0029】
いくつかの例示的実装形態では、トレーニングは、トレーニング中に画像サイズを漸進的に増大することによって、さらに高速化することができる。多くの以前の研究は、より小さい画像サイズをトレーニングで使っているが、すべての画像サイズ向けに同じ正則化を保持し、正確さの低下を引き起こしている。したがって、異なる画像サイズ向けに同じ正則化を保持するのは理想的ではなく、同じネットワークの場合、小さい画像サイズは小さいネットワーク容量につながり、したがって、弱い正則化を要し、その逆も真であり、大きい画像サイズは、過剰適合に対抗するために、より強い正則化を要する。
【0030】
この洞察に基づいて、本開示は、漸進学習の改良型方法を提案し、早期トレーニングエポックにおいて、ネットワークは、小さい画像サイズならびに弱い正則化(たとえば、ドロップアウトおよびデータ増補)でトレーニングされてよく、次いで、画像サイズは徐々に増大されてよく、より強い正則化が加えられてよい。この手法は、正確さの低下を引き起こすことなく、トレーニングを高速化することができる。
【0031】
改良型漸進学習を用いて、提案するEfficientNetV2の例示的実装形態は、ImageNet、CIFAR-10、CIFAR-100、Cars、およびFlowersデータセットに対して強力な結果を達成する。ImageNetでは、EfficientNet V2は、85.7%という最高の正確さを達成するとともに、以前のモデルよりも、3倍~9倍速くトレーニングをし、最大で6.8倍小さい。EfficientNetV2および漸進学習はまた、より大きいデータセットでモデルをトレーニングするのをより簡単にする。たとえば、ImageNet21kは、ImageNet ILSVRC2012よりも約10倍大きいが、EfficientNetV2は、32個のTPUv3コアという適度の計算リソースを使って、トレーニングを2日以内に終えることができる。公開されているImageNet21kで事前トレーニングすることによって、EfficientNetV2は、ImageNet ILSVRC2012において87.3%という最高の正確さを達成し、最新のViT-L/16を2.0%の正確さでしのぐとともに、5倍~11倍速くトレーニングをする。
【0032】
したがって、本開示は、EfficientNetV2、新たな系統の、より小さく、より速いモデルという進歩を提供する。我々のトレーニング認識NASおよびスケーリングによって分かったように、EfficientNetV2は、トレーニング速度とパラメータ効率の両方において以前のモデルをしのぐ。漸進学習の改良型方法は、画像サイズとともに正則化を適応的に調節する。この方法は、トレーニングを高速化し、同時に正確さを向上する。提案する手法は、従来技術よりも、最大で11倍速いトレーニング速度および最大で6.8倍優れたパラメータ効率を、ImageNet、CIFAR、Cars、およびFlowersデータセットで実証する。
【0033】
例示的EfficientNetV2アーキテクチャ設計
このセクションでは、EfficientNetのトレーニングボトルネックについて検討し、提案されるトレーニング認識NASおよびスケーリング、ならびにEfficientNetV2モデルを紹介する。
【0034】
EfficientNetの概観
EfficientNetは、FLOPsおよびパラメータ効率のために最適化される系統のモデルである。これは、NASを活用して、正確さおよびFLOPsにおける、より優れたトレードオフを有するベースラインEfficientNet-B0を探索する。ベースラインモデルは次いで、モデル系統B1~B7を取得するように、複合スケーリング戦略でスケールアップされる。最近の研究は、トレーニングまたは推論速度での大きい利得を主張しているが、しばしば、パラメータおよびFLOPs効率ではEfficientNetよりも悪い。本開示は、パラメータ効率を保ったままトレーニング速度を向上する。
【0035】
トレーニング効率の理解
本セクションは、EfficientNet(これ以降、EfficientNetV1と呼ぶ)のトレーニングボトルネック、およびトレーニング速度を向上するためのいくつかの簡易技法について記載する。非常に大きい画像サイズでのトレーニングは遅く、以前の研究によって指摘されているように、EfficientNetV1の大きい画像サイズの結果、メモリ使用が多大になる。GPU/TPUにおける総メモリは固定なので、これらのモデルは概して、より小さいバッチサイズでトレーニングされ、これにより、トレーニングが徹底的に低速化する。簡単な向上は、推論用よりも小さい画像サイズをトレーニング用に使うことによって、FixResを適用することである。より小さい画像サイズは、より少ない計算につながり、大きいバッチサイズを可能にし、したがって、トレーニング速度を最大で2.2倍向上する。より小さい画像サイズをトレーニングに使うことは、わずかにより優れた正確さにもつながる。いくつかの実装形態では、トレーニングの後、どのレイヤも微調整されない。深度単位畳み込みは、早期レイヤにおいては遅いが、後の段階では効果的であり、EfficientNetV1の別のトレーニングボトルネックは、広範囲の深度単位畳み込みに由来する。深度単位畳み込みは、通常の畳み込みよりも少ないパラメータおよびFLOPsを有するが、しばしば、進歩的なアクセラレータを十分に使用することができない。最近、Fused-MBConvが、モバイルまたはサーバアクセラレータをより良好に使用するのに使われている。Fused-MBConvは、Gupta, S.およびTan, M. EfficientNet-EdgeTPU: Creating accelerator-optimized neural networks with automl. https://ai.googleblog.com/2019/08/efficientnetedgetpu-creating.html、2019に記載されている。Fused-MBConvは、MBConvにおける深度単位conv3×3および拡張conv1×1を、単一の通常conv3×3で置き換える。MBConvは、Sandlerら、Mobilenetv2: Inverted residuals and linear bottlenecks. CVPR、2018ならびにTan, M.およびLe, Q. V. EfficientNet: Rethinking model scaling for convolutional neural networks. ICML、2019aに記載されている。Fused-MBConvおよびMBConvアーキテクチャは、図2Aに示される。
【0036】
これらの2つのビルディングブロックを体系的に比較するために、例示的実験では、EfficientNet-B4におけるオリジナルMBConvをFused-MBConvで徐々に置き換えた。早期段階1~3において適用されると、Fused-MBConvは、パラメータおよびFLOPsにおける小さいオーバーヘッドでトレーニング速度を向上することができるが、すべてのブロックをFused-MBConvで置き換えた場合(段階1~7)は、パラメータおよびFLOPsを大幅に増大させるとともに、トレーニングも低速化させる。これらの2つのビルディングブロック、すなわちMBConvとFused-MBConvの正しい組合せを見つけることは簡単でなく、最良の組合せを自動探索するためのニューラルアーキテクチャ探索の使用を通して、本開示によって解決される問題である。あらゆる段階を等しくスケールアップすることは準最適であり、EfficientNetV1が、単純な複合スケーリング規則を使ってすべての段階を等しくスケールアップする。たとえば、深度係数が2であるとき、ネットワーク中のすべての段階が、レイヤの数を倍にする。ただし、これらの段階は、トレーニング速度およびパラメータ効率に対して等しく寄与するわけではない。本開示の例示的実装形態は、より多くのレイヤを後の段階に徐々に加えるために、不均一スケーリング戦略を使う。さらに、v1 EfficientNetは、画像サイズを積極的にスケールアップし、大きいメモリ消費および遅いトレーニングにつながる。この問題に対処するために、本開示の例示的実装形態は、スケーリング規則をわずかに修正し、最大画像サイズを、より小さい値に制限する。
【0037】
例示的トレーニング認識NASおよびスケーリング
本開示の例示的実装形態は、トレーニング速度を向上するための複数の設計選択肢を提供する。それらの選択肢の最良の組合せを探索するために、このセクションでは、トレーニング認識NASを提案する。NAS探索、すなわち、本開示によって提案される例示的トレーニング認識NASフレームワークは、進歩的なアクセラレータにおいて、正確さ、パラメータ効率、およびトレーニング効率を合わせて最適化することを目指す。具体的には、NASは、そのバックボーンとして、EfficientNetを使う。探索空間は、Tanら、Mnasnet: Platform-aware neural architecture search for mobile. CVPR、2019と同様の、段階ベースの因数分解空間であってよいが、これは、畳み込み動作タイプ{MBConv,Fused-MBConv}、レイヤの数、カーネルサイズ{3×3,5×5}、拡張比{1,4,6}のための設計選択肢からなる。一方、探索空間サイズは任意選択で、(1)プーリングスキップオプションなど、不必要な探索オプションを、オリジナルEfficientNetでは使われることがないので取り除くこと、(2)バックボーンからの同じチャネルサイズを、オリジナルEfficientNetにおいてすでに探索されているので再利用することによって、低減することができる。探索空間はより小さいので、探索プロセスは、EfficientNet-B4と匹敵するサイズを有するはるかに大きいネットワークにおいて、強化学習または単にランダムな探索を適用することができる。具体的には、例示的探索手法は、最大で1000個のモデルをサンプリングし、トレーニング用の低減された画像サイズで、各モデルを約10エポックだけトレーニングすることができる。例示的探索報酬は、モデル正確さA、正規化トレーニングステップ時間S、およびパラメータサイズPを、単純な加重積A・Sw・Pvを使って組み合わせることができ、ここで、w=-0.07およびv=-0.05は、トレードオフを釣り合わせるために経験により判断される。
【0038】
以下の表は、探索されるモデルEfficientNetV2-Sのための一例示的アーキテクチャを示す。EfficientNetバックボーンと比較して、提案する探索されるEfficientNetV2は、いくつかの主要な差異を有する。(1)第1の違いは、EfficientNetV2が、MBConvと新たに追加されたFused-MBConvの両方を、早期レイヤにおいて広範囲に使うことである。(2)第2に、より小さい拡張比は、より少ないメモリアクセスオーバーヘッドを有する傾向があるので、EfficientNetV2は、MBConv用に、より小さい拡張比を好む。(3)第3に、EfficientNetV2は、より小さい3×3カーネルサイズを好むが、これは、より小さいカーネルサイズから生じた、削減された受容フィールドを補償するためにより多くのレイヤを加える。(4)最後に、EfficientNetV2は、おそらく大きいパラメータサイズおよびメモリアクセスオーバーヘッドのせいで、オリジナルEfficientNetにおける最後のストライド1段階を完全に削除する。
【0039】
【表1】
【0040】
別の例示的アーキテクチャを、以下の表に示す。
【0041】
【表2】
【0042】
EfficientNetV2スケーリング:いくつかの例示的実装形態は、EfficientNetV1に記述されるのと同様の複合スケーリングを使ってEfficientNetV2-M/Lを取得するように、EfficientNetV2-Sをスケールアップすることができ、いくつかの追加最適化が行われ、すなわち、(1)非常に大きい画像はしばしば、コストのかかるメモリおよびトレーニング速度オーバーヘッドにつながるので、最大推論画像サイズを480に制限することができ、(2)ヒューリスティックとして、大幅なランタイムオーバーヘッドを加えることなくネットワーク容量を増大するために、より多くのレイヤが、後の段階(たとえば、段階5および6)に徐々に加えられ得る。
【0043】
例示的漸進学習手法
例示的誘導
前のセクションにおいて論じたように、画像サイズは、トレーニング効率において重要な役割を果たす。FixResに加え、多くの他の研究が、トレーニング中に画像サイズを動的に変えるが、しばしば、正確さの低下を引き起こす。この正確さの低下は、不均衡な正則化による見込みがあり、異なる画像サイズでトレーニングするとき、正則化強度をそれに従って(以前の研究でのように、固定された正則化を使うのではなく)調節することも、やはり最良である。実際、大きいモデルは、過剰適合に対抗するために、より強い正則化を要することが一般的であり、たとえば、EfficientNet-B7は、B0よりも大きいドロップアウトおよび強いデータ増補を使う。本開示は、同じネットワークに対してであっても、より小さい画像サイズがより小さいネットワーク容量につながり、したがって、より弱い正則化を必要とし、逆も真であり、より大きい画像サイズが、より大きい容量でのより多くの計算につながり、したがって、過剰適合に対してより脆弱であることを示唆する。
【0044】
適応的正則化を用いる例示的漸進学習
改良型漸進学習を用いる一例示的トレーニングプロセスは以下の通りであり、すなわち、早期トレーニングエポックにおいて、ネットワークは、より小さい画像および弱い正則化でトレーニングされ、そうすることによって、ネットワークは、簡易表現を容易に、速く学習することができる。次いで、画像サイズは徐々に増大され得るが、より強い正則化を加えることによって、学習もより困難にされる。
【0045】
形式上、全体トレーニングが、N個の合計ステップを有し、目標画像サイズは、正則化規模
【0046】
【数1】
【0047】
のリストをもつSeであると仮定し、ここでkは、ドロップアウトレートまたはミックスアップレート値などの正則化のタイプを表す。いくつかの例示的実装形態は、トレーニングをM個の段階に分割し、各段階1≦i≦Mについて、モデルは、画像サイズSiおよび正則化規模
【0048】
【数2】
【0049】
でトレーニングされ得る。最後の段階Mは、ターゲットである画像サイズSeおよび正則化Φeを使うことになる。簡単のために、いくつかの例示的実装形態は、初期画像サイズS0および正則化Φ0をヒューリスティックに選び、次いで、線形補間を使って、各段階についての値を判断する。一例示的アルゴリズムを以下に挙げる。各段階の最初において、ネットワークは、前の段階からすべての重みを継承する。重み(たとえば、位置埋込み)が入力長に依存し得るトランスフォーマとは異なり、ConvNet重みは画像サイズに依存せず、したがって、容易に継承され得る。
【0050】
適応的正則化を用いる漸進学習のための例示的アルゴリズム:
入力:初期画像サイズS0および正則化
【0051】
【数3】
【0052】

入力:最終画像サイズSeおよび正則化
【0053】
【数4】
【0054】

入力:総トレーニングステップ数Nおよび段階M。
for i=0 to M-1 do
画像サイズ:
【0055】
【数5】
【0056】
正則化:
【0057】
【数6】
【0058】
モデルを、
【0059】
【数7】
【0060】
個のステップだけ、SiおよびRiでトレーニングする。
end for
【0061】
提案する漸進学習の例示的実装形態は概して、どの既存の正則化とも互換性がある。例として、以下のタイプの正則化が、本明細書に記載するように漸進的に適応され得る。
【0062】
ドロップアウト:チャネルをランダムにドロップすることによって相互適応を削減するネットワークレベル正則化。漸進学習が、ドロップアウトレートγを調節するように適用され得る。ドロップアウトは、Srivastavaら、Dropout: a simple way to prevent neural networks from overfitting、The Journal of Machine Learning Research、15(1):1929~1958、2014に記載されている。
【0063】
RandAugment:調節可能規模εでの画像単位データ増補。漸進学習が、規模を調節するように適用され得る。RandAugmentは、Cubukら、Randaugment: Practical automated data augmentation with a reduced search space. ECCV、2020に記載されている。
【0064】
ミックスアップ:交差画像データ増補。ラベル(xi,yi)および(xj,yj)をもつ2つの画像が与えられると、それらを、ミックスアップ比λと組み合わせ、すなわち、
【0065】
【数8】
【0066】
および
【0067】
【数9】
【0068】
となる。漸進学習が、トレーニング中にミックスアップ比λを調節するように適用され得る。ミックスアップは、Zhangら、Mixup: Beyond empirical risk minimization. ICLR、2018に記載されている。
【0069】
例示的デバイスおよびシステム
図1Aは、本開示の例示的実施形態による、漸進正則化を使ってモデルトレーニングを実施する例示的コンピューティングシステム100のブロック図を示す。システム100は、ネットワーク180を介して通信可能に結合されている、ユーザコンピューティングデバイス102、サーバコンピューティングシステム130、およびトレーニング用コンピューティングシステム150を含む。
【0070】
ユーザコンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲーム機もしくはコントローラ、装着可能コンピューティングデバイス、埋込み型コンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、どのタイプのコンピューティングデバイスであってもよい。
【0071】
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112およびメモリ114を含む。1つまたは複数のプロセッサ112は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ114は、データ116と、ユーザコンピューティングデバイス102に動作を実施させるようにプロセッサ112によって実行される命令118とを記憶することができる。
【0072】
いくつかの実装形態では、ユーザコンピューティングデバイス102は、1つまたは複数の機械学習型モデル120を記憶するか、または含むことができる。たとえば、機械学習型モデル120は、ニューラルネットワーク(たとえば、深層ニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習型モデルなど、様々な機械学習型モデルであってよく、またはそうでなければ、それらの機械学習型モデルを含んでよい。ニューラルネットワークは、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク(たとえば、長短期メモリ回帰型ニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形のニューラルネットワークを含み得る。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、変圧器モデル)を含み得る。
【0073】
いくつかの実装形態では、1つまたは複数の機械学習型モデル120は、ネットワーク180を介してサーバコンピューティングシステム130から受信され、ユーザコンピューティングデバイスメモリ114内に記憶され、次いで、1つまたは複数のプロセッサ112によって使われ、またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス102は、単一の機械学習型モデル120の複数の並列インスタンスを(たとえば、モデルの複数のインスタンスにわたる並列漸進正則化トレーニング用に)実装することができる。
【0074】
追加または代替として、1つまたは複数の機械学習型モデル140は、クライアント-サーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130に含まれ、またはそうでなければ、サーバコンピューティングシステム130によって記憶され、実装され得る。たとえば、機械学習型モデル140は、ウェブサービス(たとえば、分類サービス、予測サービスなど)の一部分として、サーバコンピューティングシステム140によって実装され得る。したがって、1つまたは複数のモデル120が、ユーザコンピューティングデバイス102において記憶され、実装されてよく、かつ/または1つもしくは複数のモデル140が、サーバコンピューティングシステム130において記憶され、実装されてよい。
【0075】
ユーザコンピューティングデバイス102は、ユーザ入力を受信する1つまたは複数のユーザ入力構成要素122を含むこともできる。たとえば、ユーザ入力構成要素122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感な、タッチ感応構成要素(たとえば、タッチ感応表示画面またはタッチパッド)であってよい。タッチ感応構成要素は、仮想キーボードを実装するのに役立つことができる。他の例示的なユーザ入力構成要素は、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を提供することができる他の手段を含む。
【0076】
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132およびメモリ134を含む。1つまたは複数のプロセッサ132は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ134は、データ136と、サーバコンピューティングシステム130に動作を実施させるようにプロセッサ132によって実行される命令138とを記憶することができる。
【0077】
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、サーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
【0078】
上述したように、サーバコンピューティングシステム130は、1つまたは複数の機械学習型モデル140を記憶することができ、またはそうでなければ、機械学習型モデル140を含むことができる。たとえば、モデル140は、様々な機械学習型モデルであってよく、または、そうでなければそれらを含んでよい。例示的機械学習型モデルは、ニューラルネットワークまたは他のマルチレイヤ非線形モデルを含む。例示的ニューラルネットワークは、フィードフォワードニューラルネットワーク、深層ニューラルネットワーク、回帰型ニューラルネットワーク、および畳み込みニューラルネットワークを含む。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、変圧器モデル)を含み得る。
【0079】
ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に結合されるトレーニング用コンピューティングシステム150との対話により、モデル120および/または140をトレーニングすることができる。トレーニング用コンピューティングシステム150は、サーバコンピューティングシステム130とは別個であってよく、またはサーバコンピューティングシステム130の一部分であってよい。
【0080】
トレーニング用コンピューティングシステム150は、1つまたは複数のプロセッサ152およびメモリ154を含む。1つまたは複数のプロセッサ152は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ154は、データ156と、トレーニング用コンピューティングシステム150に動作を実施させるようにプロセッサ152によって実行される命令158とを記憶することができる。いくつかの実装形態では、トレーニング用コンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つまたは複数のサーバコンピューティングデバイスによって実装される。
【0081】
トレーニング用コンピューティングシステム150は、ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130において記憶された機械学習型モデル120および/または140を、たとえば、誤差逆伝搬など、様々なトレーニングまたは学習技法を使ってトレーニングするモデル訓練器160を含み得る。たとえば、損失関数は、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新するために、モデルを通して逆伝搬され得る。平均2乗誤差、尤度損失、交差エントロピー損失、ヒンジ損失、および/または様々な他の損失関数など、様々な損失関数が使用され得る。勾配降下技法は、いくつかのトレーニング反復に対してパラメータを反復的に更新するために使用され得る。
【0082】
いくつかの実装形態では、誤差逆伝搬を実施することは、時間をかけて短縮逆伝搬を実施することを含み得る。モデル訓練器160は、トレーニングされるモデルの汎化能力を向上するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実施することができる。
【0083】
特に、モデル訓練器160は、トレーニングデータ162のセットに基づいて、機械学習型モデル120および/または140をトレーニングすることができる。例として、トレーニングデータ162は、機械学習型モデル(たとえば、モデル120、モデル140など)向けの複数のトレーニングサンプル(たとえば、トレーニング画像、トレーニングデータセットなど)を含み得る。1つまたは複数のトレーニング反復に対して、機械学習型モデル120/140は、第1の正則化規模に基づいて、これらのトレーニングサンプル162のうちの1つまたは複数を使って(たとえば、モデル訓練器160を使って)トレーニングされ得る。第1の正則化規模は、1つまたは複数の正則化技法(たとえば、モデルドロップアウト、トレーニングデータ増補など)の相対的効果を制御するために、モデル訓練器160用に構成されてよい。1つまたは複数の第2のトレーニング反復に対して、モデル120/140は、第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、モデル訓練器160によってトレーニングされ得る。さらに、いくつかの実装形態では、トレーニングサンプル162の複雑さ(たとえば、画像サイズ、データセットサイズなど)が、実質的に同様に(たとえば、モデル訓練器160を使って)漸進的に増大され得る。トレーニング反復の数にわたって正則化規模を漸進的に増大することによって、モデル120/140の正確さが増大され得るとともに、モデル120/140の全体的トレーニング効率を同時に増大させる。
【0084】
いくつかの実装形態では、ユーザが同意を与えている場合、トレーニング例はユーザコンピューティングデバイス102によって与えられてよい。したがって、そのような実装形態では、ユーザコンピューティングデバイス102に提供されるモデル120は、ユーザコンピューティングデバイス102から受信されるユーザ固有データに対してトレーニング用コンピューティングシステム150によってトレーニングされ得る。いくつかの事例では、このプロセスは、モデルの個別化と呼ばれ得る。
【0085】
モデル訓練器160は、所望の機能性を提供するのに使用されるコンピュータ論理を含む。モデル訓練器160は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。たとえば、いくつかの実装形態では、モデル訓練器160は、記憶デバイス上に記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実装形態では、モデル訓練器160は、RAM、ハードディスクまたは光学もしくは磁気媒体などの有形コンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。
【0086】
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど、どのタイプの通信ネットワークであってもよく、任意の数のワイヤードまたはワイヤレスリンクを含み得る。概して、ネットワーク180を介した通信は、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使って、どのタイプのワイヤードおよび/またはワイヤレス接続を介しても搬送することができる。
【0087】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、画像データであってよい。機械学習型モデルは、画像データを処理して、出力を生成し得る。例として、機械学習型モデルは、画像データを処理して、画像認識出力(たとえば、画像データの認識、画像データの潜在性埋込み、画像データの符号化表現、画像データのハッシュなど)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像分類出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像データ変更出力(たとえば、画像データの改変など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、符号化画像データ出力(たとえば、画像データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、アップスケールされた画像データ出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、予測出力を生成し得る。
【0088】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、テキストまたは自然言語データであってよい。機械学習型モデルは、テキストまたは自然言語データを処理して、出力を生成し得る。例として、機械学習型モデルは、自然言語データを処理して、言語符号化出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、潜在性テキスト埋込み出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、変換出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、テキストセグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、意味論的意図出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、アップスケールされたテキストまたは自然言語出力(たとえば、入力テキストまたは自然言語よりも高品質であるテキストまたは自然言語データ、など)を生成することができる。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、予測出力を生成し得る。
【0089】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、音声データであってよい。機械学習型モデルは、音声データを処理して、出力を生成し得る。例として、機械学習型モデルは、音声データを処理して、音声認識出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、音声変換出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、潜在性埋込み出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、符号化音声出力(たとえば、音声データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、アップスケーリングされた音声出力(たとえば、入力音声データよりも高品質の音声データなど)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、テキスト表現出力(たとえば、入力音声データのテキスト表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、予測出力を生成し得る。
【0090】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、潜在性符号化データ(たとえば、入力の潜在性空間表現など)であってよい。機械学習型モデルは、潜在性符号化データを処理して、出力を生成し得る。例として、機械学習型モデルは、潜在性符号化データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、再構築出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、探索出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、再クラスタ化出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、予測出力を生成し得る。
【0091】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、統計データであってよい。統計データは、何らかの他のデータソースから計算および/もしくは算出されたデータであるか、これを表すか、またはそうでなければこれを含むことができる。機械学習型モデルは、統計データを処理して、出力を生成し得る。例として、機械学習型モデルは、統計データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、分類出力を生成し得る。別の例として、機械学習済みモデルは、統計データを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、診断出力を生成し得る。
【0092】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、センサーデータであってよい。機械学習型モデルは、センサーデータを処理して、出力を生成し得る。例として、機械学習型モデルは、センサーデータを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、診断出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、検出出力を生成し得る。
【0093】
いくつかの場合には、機械学習型モデルは、信頼できる、および/または効率的な送信もしくは記憶(および/または対応する復号)のために入力データを符号化することを含むタスクを実施するように構成することができる。たとえば、タスクは、オーディオ圧縮タスクであってよい。入力はオーディオデータを含んでよく、出力は圧縮オーディオデータを含んでよい。別の例では、入力は視覚データ(たとえば、1つまたは複数の画像またはビデオ)を含み、出力は圧縮視覚データを含み、タスクは視覚データ圧縮タスクである。別の例では、タスクは、入力データ(たとえば、入力オーディオまたは視覚データ)用の埋込みを生成することを含んでよい。
【0094】
いくつかの場合には、入力は視覚データを含み、タスクはコンピュータビジョンタスクである。いくつかの場合には、入力は、1つまたは複数の画像用のピクセルデータを含み、タスクは画像処理タスクである。たとえば、画像処理タスクは画像分類であってよく、ここで、出力はスコアのセットであり、各スコアは、異なるオブジェクトクラスに対応し、オブジェクトクラスに属するオブジェクトを1つまたは複数の画像が示す見込みを表す。画像処理タスクはオブジェクト検出であってよく、ここで、画像処理出力は、1つまたは複数の画像の中の1つまたは複数の領域と、各領域について、対象のオブジェクトを領域が示す見込みとを識別する。別の例として、画像処理タスクは画像セグメンテーションであってよく、ここで、画像処理出力は、1つまたは複数の画像の中の各ピクセルについて、カテゴリの所定のセット中の各カテゴリについてのそれぞれの見込みを定義する。たとえば、カテゴリのセットは前景および背景であってよい。別の例として、カテゴリのセットはオブジェクトクラスであってよい。別の例として、画像処理タスクは深度推定であってよく、ここで、画像処理出力は、1つまたは複数の画像中の各ピクセルについて、それぞれの深度値を定義する。別の例として、画像処理タスクは動き推定であってよく、ここで、ネットワーク入力は複数の画像を含み、画像処理出力は、入力画像のうちの1つの、各ピクセルについて、ネットワーク入力における画像の間のピクセルにおいて示されるシーンの動きを定義する。
【0095】
いくつかの場合には、入力は、発話を表現するオーディオデータを含み、タスクは音声認識タスクである。出力は、発話にマップされるテキスト出力を含んでよい。いくつかの場合には、タスクは、入力データを暗号化または解読することを含む。いくつかの場合には、タスクは、分岐予測またはメモリアドレス変換などのマイクロプロセッサ実施タスクを含む。
【0096】
図1Aは、本開示を実装するのに使うことができる1つの例示的コンピューティングシステムを示す。他のコンピューティングシステムが使われてもよい。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデル訓練器160およびトレーニングデータセット162を含み得る。そのような実装形態では、モデル120は、ユーザコンピューティングデバイス102においてローカルにトレーニングされることと使われることの両方が可能である。そのような実装形態のうちのいくつかでは、ユーザコンピューティングデバイス102は、ユーザ固有データに基づいてモデル120を個別化するために、モデル訓練器160を実装することができる。
【0097】
図1Bは、本開示の例示的実施形態による、漸進正則化を使ってモデルトレーニングを実施する例示的コンピューティングデバイス10のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0098】
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習型モデルを含む。たとえば、各アプリケーションは、機械学習型モデルを含み得る。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
【0099】
図1Bに示すように、各アプリケーションは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使って、各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使われるAPIは、そのアプリケーションに固有である。
【0100】
図1Cは、本開示の例示的実施形態による、最適化されたトレーニング速度をもつ機械学習型モデルの生成を実施する例示的コンピューティングデバイス50のブロック図を示す。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0101】
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信する。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使って、中央インテリジェンスレイヤ(およびその中に記憶されるモデル)と通信することができる。
【0102】
中央インテリジェンスレイヤは、いくつかの機械学習型モデルを含む。たとえば、図1Cに示すように、それぞれの機械学習型モデルが、各アプリケーションに与えられ、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが、単一の機械学習型モデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションすべてに単一モデルを提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス50のオペレーティングシステムに含まれるか、またはそうでなければ、オペレーティングシステムによって実装される。
【0103】
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス50向けのデータの集中型リポジトリであってよい。図1Cに示すように、中央デバイスデータレイヤは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使って、各デバイス構成要素と通信することができる。
【0104】
例示的モデル配置
図2Bは、本開示の例示的実施形態による、トレーニング速度を高めるためのアーキテクチャ探索技法を通して生成された例示的機械学習型モデル202のブロック図を示す。いくつかの実装形態では、機械学習型モデル202は、入力データ204(たとえば、画像データ、統計的データ、ビデオデータなど)のセットを受信し、入力データ204の受信の結果として、出力データ210を与えるようにトレーニングされる。より具体的には、機械学習型モデル202は複数の段階を含み得る。機械学習型モデル202は、第1のモデル段階206および第2のモデル段階208を含み得る。
【0105】
より具体的には、機械学習型モデル202は、トレーニング速度を高めるように構成されるニューラルアーキテクチャ探索方法を使って生成され得る。例として、モデルは、2つの段階(たとえば、第1のモデル段階206、第2のモデル段階208など)を含み得る。第1のモデル段階206は、2つのモデルレイヤ206Aおよび206B(たとえば、畳み込みレイヤ、融合畳み込みレイヤなど)を含み得る。第2のモデル段階208は、3つのレイヤ208A~208Cを含み得る。
【0106】
より具体的には、機械学習型モデル202のアーキテクチャは、漸進的に増大する正則化規模(たとえば、正則化技法がモデル202のトレーニングに影響する程度、など)を使ってモデルトレーニングを容易にするように構成され得る。例として、機械学習型モデル202は、第1のモデル段階206に含まれるレイヤ(たとえば、206A、206Bなど)の数に対応する初期正則化規模を使ってトレーニングされ得る。正則化規模は、第2のモデル段階208に含まれるレイヤ(たとえば、208A、208B、208Cなど)の数に対応する、初期規模よりも大きい第2の規模まで増大し得る。そのようにして、モデル202のアーキテクチャは、特定の規模の正則化に対応する数のレイヤを各々が含む複数の段階を含むことができ、したがって、トレーニング中に漸進正則化の効力を増大させる。
【0107】
図3は、本開示の例示的実施形態による、トレーニング速度および正確さを高めるための例示的ニューラルアーキテクチャ探索手法のグラフィカル図300を示す。より具体的には、トレーニングコントローラ302が、訓練器304において実装されるべき正則化の規模を判断することができる。たとえば、コントローラ302は、いくつかの反復にわたって、訓練器304によって実装されるトレーニングプロセス(たとえば、トレーニングデータの変更、モデルドロップアウトなど)を漸進的に正則化することができる。訓練器304は、コントローラ302によって示される正則化規模で、いくつかの反復に対して機械学習型モデル306をトレーニングすることができる。
【0108】
初期数のトレーニング反復の後、マルチリワード目的関数308は、機械学習型モデル306の正確さおよびトレーニング時間(たとえば、訓練器304などによって報告される)を評価することができる。この評価に基づいて、マルチリワード目的関数308は、コントローラ302にフィードバックを与えてよく、コントローラ302は続いて、機械学習型モデル306の追加トレーニング反復に対して、正則化の規模を調節することができる。
【0109】
例として、コントローラ302は、複数のトレーニングサンプルを取得することができ、トレーニングサンプルを訓練器304に与えることができる。次に、コントローラ302は、1つまたは複数の正則化技法の相対的効果(たとえば、モデルドロップアウト、トレーニングデータ増補など)を制御するように構成される訓練器304における実装のための正則化の初期規模を判断することができる。たとえば、コントローラは、トレーニングのための比較的弱い規模の正則化を判断し、次いで、時間とともに正則化を漸進的に増大し得る。いくつかの実装形態では、コントローラ302は、正則化の規模に対応する、トレーニングサンプルの初期複雑さも判断し得る。例として、コントローラ302は、比較的弱いレベルの正則化に対応する、比較的弱いレベルのトレーニングサンプル複雑さを判断し得る。たとえば、トレーニングサンプルが画像データを含む場合、コントローラは、複雑さの全体的レベルを低減するために、画像を(たとえば、800×600から80×60へ、など)ダウンスケールしてよい。
【0110】
訓練器304は、1つまたは複数の初期トレーニング反復に対してコントローラ302によって判断された正則化規模に少なくとも部分的に基づいて、機械学習型モデル306をトレーニングすることができる。1つまたは複数の初期トレーニング反復の後、訓練器304は、マルチリワード目的関数308を使って、評価のためのモデル正確さデータおよびトレーニング速度データを提供することができる。いくつかの実装形態では、マルチリワード目的関数308は、トレーニング速度と正確さの両方に報いるように構成されてよく、そうすることによって、トレーニング速度が増大されるとともに、特定の、閾レベルの正確さが保たれる。
【0111】
この評価に基づいて、フィードバックがコントローラ302に与えられ得る。フィードバックに依存して、コントローラ302は次いで、訓練器304における正則化規模と、トレーニングサンプルの複雑さとを漸進的に増大することができる。コントローラ302は次いで、モデルトレーニング中に、訓練器304によって実装される正則化およびサンプル複雑さを漸進的に増大することができる。したがって、比較的弱い正則化および複雑さで始めることによって、訓練器304は、静的レベルの正則化およびサンプル複雑さを使って可能であるよりも実質的に速く機械学習型モデル306をトレーニングすることができ、したがって、トレーニング速度を増し、関連付けられた計算リソースコストを実質的に減少させる。
【0112】
図4は、最適化されたトレーニング速度をもつ機械学習型モデルの生成のための例示的方法のデータフロー図400を示す。より具体的には、モデル探索アーキテクチャ402(たとえば、ニューラル探索アーキテクチャなど)は、定義されたモデル探索空間402Aを含むか、またはそうでなければそれにアクセスし得る。定義されたモデル探索空間402Aは、1つまたは複数の探索可能パラメータ(たとえば、レイヤの数、レイヤのタイプ(たとえば、畳み込みレイヤ、融合畳み込みレイヤ、融合MB-CONVレイヤなど)、学習レート、ハイパーパラメータ、レイヤサイズ、チャネルサイズ、カーネルサイズなど)であるか、またはそうでなければそれらを含み得る。定義されたモデル探索空間402Aの1つまたは複数の探索可能パラメータは、機械学習型モデル(たとえば、404、410など)のどの特定の態様または実装形態も規定するか、またはそうでなければ制御し得ることが、広く理解されるべきである。
【0113】
定義されたモデル探索空間402Aに基づいて、モデル探索アーキテクチャ402は、第1の機械学習型モデル404を生成することができる。第1の機械学習型モデル404は、1つまたは複数の探索可能パラメータについての1つまたは複数の値を含み得る。第1の機械学習型モデル404は次いで、第1のトレーニングデータを取得するように、モデルトレーニングプロセス406を使ってトレーニングされ得る。第1のトレーニングデータは、第1の機械学習型モデル404に対して実施されるトレーニングプロセス406のための第1のトレーニング速度(たとえば、トレーニングに要する時間の量など)を記述することができる。
【0114】
第1のトレーニングデータ408は、モデル探索アーキテクチャ402に与えられてよい。第1のトレーニングデータ408に基づいて、モデル探索アーキテクチャは、定義されたモデル探索空間402Aから第2の機械学習型モデル410を生成することができる。第2の機械学習型モデル410は、第1の機械学習型モデル404の1つまたは複数の値とは異なる、1つまたは複数のそれぞれの探索可能パラメータについての1つまたは複数の値を含み得る。例として、探索可能パラメータ用の第1の機械学習型モデル404の1つの値が、第1の機械学習型モデル404において第1のタイプのレイヤ(たとえば、標準畳み込みレイヤなど)が使われると規定し得る。第2の機械学習型モデルは、そうではなく、第2の機械学習型モデル410において異なるタイプのレイヤ(たとえば、融合畳み込みレイヤなど)が使われると規定する、同じパラメータについての値を含み得る。
【0115】
第2の機械学習型モデル410は、第2のトレーニングデータ412を取得するように、同じモデルトレーニングプロセス406を使ってトレーニングされ得る。第2のトレーニングデータ412は、第1のトレーニングデータ408によって記述される第1のトレーニング速度よりも速い第2のトレーニング速度を記述することができる。そのようにして、モデル探索アーキテクチャは、定義されたモデル探索空間402Aをサンプリングすることによって、ますます速いトレーニング速度をもつ機械学習型モデルを繰り返し生成することができ、したがって、最適トレーニング速度特性をもつ機械学習型モデル(たとえば、第2の機械学習型モデル410など)を生成する。
【0116】
図5は、本開示の例示的な実施形態に従って実施する例示的な方法のフローチャート図を示す。図5は、説明および考察のために、具体的順序で実施されるステップを示すが、本開示の方法は、具体的に示す順序または並びには限定されない。方法500の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略され、並べ替えられ、組み合わされ、かつ/または適応されてもよい。
【0117】
502において、コンピューティングシステムは、機械学習型モデル向けの複数のトレーニングサンプルを取得することができる。より具体的には、コンピューティングシステムは、1つまたは複数のタスク向けに機械学習型モデルをトレーニングするのに使用することができる、一定の複雑さの複数のトレーニングサンプル(たとえば、画像データ、データセットデータなど)を取得することができる。
【0118】
504において、コンピューティングシステムは、1つまたは複数の第1のトレーニング反復に対して、第1の正則化規模に少なくとも部分的に基づいて、機械学習型モデルをトレーニングすることができる。より具体的には、1つまたは複数の第1のトレーニング反復に対して、コンピューティングシステムは、1つまたは複数の正則化技法の相対的効果を制御するように構成された第1の正則化規模に少なくとも部分的に基づいて、複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第1のトレーニングサンプルを使って、機械学習型モデルをトレーニングすることができる。
【0119】
506において、コンピューティングシステムは、1つまたは複数の第2のトレーニング反復に対して、第2の正則化規模に少なくとも部分的に基づいて、機械学習型モデルをトレーニングすることができる。より具体的には、コンピューティングシステムは、1つまたは複数の第2のトレーニング反復に対して、第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第2のトレーニングサンプルを使って、機械学習型モデルをトレーニングすることができる。
【0120】
追加の開示
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびに取られるアクション、およびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有の柔軟性は、構成要素の間でのタスクおよび機能の多種多様な可能な構成、組合せ、および分割を可能にする。たとえば、本明細書で説明するプロセスは、単一のデバイスもしくは構成要素、または組合せにおいて働く複数のデバイスもしくは構成要素を使用して実装され得る。データベースおよびアプリケーションは、単一のシステム上で実装されるか、または複数のシステムにわたって分散され得る。分散構成要素は、順次または並行して動作することができる。
【0121】
本主題は、その様々な特定の例示的な実施形態に関して詳細に説明されてきたが、各例は、本開示の限定ではなく、説明として与えられる。当業者は、上記を理解すると、そのような実施形態の改変、変形、および均等物を容易に作り出すことができる。したがって、本開示は、当業者に容易に明らかになるように、本主題に対するそのような変更、変形、および/または追加の包含を排除しない。たとえば、ある実施形態の一部として例示または説明する特徴は、またさらなる実施形態を生じるために、別の実施形態とともに使用され得る。したがって、本開示がそのような改変、変形、および均等物をカバーすることが意図されている。
【符号の説明】
【0122】
10 コンピューティングデバイス
50 コンピューティングデバイス
100 コンピューティングシステム
102 ユーザコンピューティングデバイス
112 プロセッサ
114 メモリ、コンピューティングデバイスメモリ
120 モデル、機械学習型モデル
122 ユーザ入力構成要素
130 サーバコンピューティングシステム
132 プロセッサ
134 メモリ
140 モデル、機械学習型モデル
150 トレーニング用コンピューティングシステム
152 プロセッサ
154 メモリ
160 モデル訓練器
180 ネットワーク
202 機械学習型モデル
302 トレーニングコントローラ
304 訓練器
306 機械学習型モデル
402 モデル探索アーキテクチャ
404 機械学習型モデル
410 機械学習型モデル
図1A
図1B
図1C
図2A
図2B
図3
図4
図5
【手続補正書】
【提出日】2023-09-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
効率的機械学習型モデルトレーニングのためのコンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、機械学習型モデル向けの複数のトレーニングサンプルを取得するステップと、
1つまたは複数の第1のトレーニング反復に対して、
前記コンピューティングシステムによって、1つまたは複数の正則化技法の相対的効果を制御するように構成された第1の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第1のトレーニングサンプルを使って、前記機械学習型モデルをトレーニングするステップと、
1つまたは複数の第2のトレーニング反復に対して、
前記コンピューティングシステムによって、前記第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第2のトレーニングサンプルを使って、前記機械学習型モデルをトレーニングするステップとを含む、コンピュータ実装方法。
【請求項2】
機械学習型モデル向けの前記複数のトレーニングサンプルを取得するステップは、前記コンピューティングシステムによって、前記1つまたは複数の第1のトレーニングサンプル向けの第1のサンプル複雑さを判断するステップをさらに含み、
前記1つまたは複数のそれぞれの第2のトレーニングサンプルを使って前記機械学習型モデルをトレーニングするのに先立って、前記方法は、前記コンピューティングシステムによって、前記1つまたは複数の第2のトレーニングサンプル向けの第2のサンプル複雑さを判断するステップを含み、前記第2のサンプル複雑さは前記第1のサンプル複雑さよりも大きい、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記複数のトレーニングサンプルは、それぞれの複数のトレーニング画像を含み、
前記1つまたは複数の第2のトレーニングサンプル向けの前記第2のサンプル複雑さを判断するステップは、前記コンピューティングシステムによって、1つまたは複数の第2のトレーニング画像のサイズを調節するステップを含み、前記1つまたは複数の第2のトレーニング画像の前記サイズは、1つまたは複数の第1のトレーニング画像のサイズよりも大きい、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記機械学習型モデル用の前記複数のトレーニングサンプルを取得するのに先立って、
機械学習型モデル探索アーキテクチャを使う前記コンピューティングシステムによって、1つまたは複数のそれぞれのパラメータについての1つまたは複数の第1の値を含む初期機械学習型モデルを生成するステップと、
前記コンピューティングシステムによって、前記初期機械学習型モデルの第1のトレーニング速度を判断するステップと、
前記機械学習型モデル探索アーキテクチャを使う前記コンピューティングシステムによって、前記機械学習型モデルを生成するステップであって、前記機械学習型モデルは、前記1つまたは複数のそれぞれのパラメータについての1つまたは複数の第2の値を含み、前記1つまたは複数の第2の値のうちの少なくとも1つは、前記1つまたは複数の第1の値とは異なる、ステップとを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記コンピューティングシステムによって、前記機械学習型モデルの第2のトレーニング速度を判断するステップをさらに含み、前記第2のトレーニング速度は前記第1のトレーニング速度よりも大きい、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記機械学習型モデルは複数のシーケンシャルモデル段階を含み、各モデル段階は1つまたは複数のレイヤを含み、第1のモデル段階は、前記複数のシーケンシャルモデル段階のうちの第2のモデル段階よりも少ないレイヤを含む、請求項4または5に記載のコンピュータ実装方法。
【請求項7】
前記1つまたは複数の正則化技法は、
前記コンピューティングシステムによって、前記機械学習型モデルの少なくとも1つのレイヤのモデルチャネルの数を調節すること、または
前記コンピューティングシステムによって、前記複数のトレーニングサンプルの1つまたは複数のトレーニングサンプルの少なくとも1つの特性を調節することのうちの少なくとも1つを含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
前記第2の正則化規模は、前記1つまたは複数の第1のトレーニング反復からの1つまたは複数のそれぞれのトレーニング出力に少なくとも部分的に基づく、請求項1に記載のコンピュータ実装方法。
【請求項9】
最適化されたトレーニング速度をもつモデルの判断のためのコンピューティングシステムであって、
1つまたは複数のプロセッサと、
コンピュータ可読命令を記憶する1つまたは複数のコンピュータ可読記憶媒体とを備え、前記コンピュータ可読命令は、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実施させ、前記動作は、
定義されたモデル探索空間から第1の機械学習型モデルを生成することであって、前記定義されたモデル探索空間は1つまたは複数の探索可能パラメータを含み、前記第1の機械学習型モデルは、前記1つまたは複数の探索可能パラメータについての1つまたは複数の第1の値を含む、ことと、
前記第1の機械学習型モデルに対してモデルトレーニングプロセスを実施して、第1のトレーニング速度を記述する第1のトレーニングデータを取得することと、
前記第1のトレーニングデータに少なくとも部分的に基づいて、前記定義されたモデル探索空間から第2の機械学習型モデルを生成することであって、前記第2の機械学習型モデルは、前記1つまたは複数の探索可能パラメータについての1つまたは複数の第2の値を含み、前記1つまたは複数の第2の値のうちの少なくとも1つは、前記1つまたは複数の第1の値とは異なる、ことと、
前記第2の機械学習型モデルに対して前記モデルトレーニングプロセスを実施して、第2のトレーニング速度を記述する第2のトレーニングデータを取得することであって、前記第2のトレーニング速度は前記第1のトレーニング速度よりも速い、こととを含む、コンピューティングシステム。
【請求項10】
前記定義されたモデル探索空間の複数のモデルレイヤは、
畳み込みレイヤ、または
融合畳み込みレイヤのうちの少なくとも1つを含む、請求項9に記載のコンピューティングシステム。
【請求項11】
前記第2の機械学習型モデルは複数のシーケンシャルモデル段階を含み、各モデル段階は1つまたは複数のモデルレイヤを含み、第1のモデル段階は、前記複数のシーケンシャルモデル段階のうちの第2のモデル段階よりも少ないモデルレイヤを含む、請求項9または10に記載のコンピューティングシステム。
【請求項12】
前記第1のトレーニングデータは、第1のトレーニング正確さをさらに記述し、前記第2のトレーニングデータは、前記第1のトレーニング正確さよりも大きい第2のトレーニング正確さをさらに記述する、請求項9から11のいずれか一項に記載のコンピューティングシステム。
【請求項13】
前記定義されたモデル探索空間から前記第2の機械学習型モデルを生成することは、前記第1のトレーニング正確さにさらに少なくとも部分的に基づく、請求項12に記載のコンピューティングシステム。
【請求項14】
前記第1の機械学習型モデルに対してモデルトレーニングプロセスを実施することは、
前記第1の機械学習型モデル用の複数のトレーニングサンプルを取得することと、
1つまたは複数の第1のトレーニング反復に対して、
1つまたは複数の正則化技法の相対的効果を制御するように構成された第1の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第1のトレーニングサンプルを使って、前記第1の機械学習型モデルをトレーニングすることと、
1つまたは複数の第2のトレーニング反復に対して、
前記第1の正則化規模よりも大きい第2の正則化規模に少なくとも部分的に基づいて、前記複数のトレーニングサンプルのうちの1つまたは複数のそれぞれの第2のトレーニングサンプルを使って、前記第1の機械学習型モデルをトレーニングすることとを含む、請求項9から13のいずれか一項に記載のコンピューティングシステム。
【請求項15】
前記複数のトレーニングサンプルは、それぞれの複数のトレーニング画像を含み、
前記1つまたは複数の第2のトレーニングサンプル向けの第2のサンプル複雑さを判断することは、1つまたは複数の第2のトレーニング画像のサイズを調節することを含み、前記1つまたは複数の第2のトレーニング画像の前記サイズは、1つまたは複数の第1のトレーニング画像のサイズよりも大きい、請求項14に記載のコンピューティングシステム。
【請求項16】
前記複数のトレーニングサンプルは、それぞれの複数のトレーニング画像を含み、
前記1つまたは複数の第2のトレーニングサンプル向けの前記第2のサンプル複雑さを判断することは、1つまたは複数の第2のトレーニング画像のサイズを調節することを含み、前記1つまたは複数の第2のトレーニング画像の前記サイズは、1つまたは複数の第1のトレーニング画像のサイズよりも大きい、請求項15に記載のコンピューティングシステム。
【請求項17】
前記1つまたは複数のパラメータのうちの少なくとも1つは、モデルレイヤのタイプまたは機械学習型モデルに含まれるモデルレイヤの数のうちの1つまたは複数を制御するように構成される、請求項9から16のいずれか一項に記載のコンピューティングシステム。
【請求項18】
前記動作は、前記第2の機械学習型モデルを出力として提供することをさらに含む、請求項9から17のいずれか一項に記載のコンピューティングシステム。
【請求項19】
前記定義されたモデル探索空間から前記第2の機械学習型モデルを生成することは、前記第2の機械学習型モデルのための複数のシーケンシャル処理段階を判断することをさらに含み、前記複数のシーケンシャル処理段階の各々は、1つまたは複数のモデルレイヤに関連付けられ、前記複数のシーケンシャル処理段階のうちの第2の処理段階に関連付けられたモデルレイヤの数は、前記複数のシーケンシャル処理段階の第1の処理段階に関連付けられたモデルレイヤの数よりも大きい、請求項9から18のいずれか一項に記載のコンピューティングシステム。
【請求項20】
1つまたは複数のコンピュータ可読記憶媒体であって、
複数のFused-MBConv段階の第1のシーケンス、および
複数のMBConv段階の第2のシーケンスであって、前記複数のMBConv段階の前記第2のシーケンスは、前記複数のFused-MBConv段階の前記第1のシーケンスに続く、複数のMBConv段階の第2のシーケンスを含む機械学習型モデルと、
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実施させるコンピュータ可読命令とを記憶し、前記動作は、
モデル入力を取得することと、
前記モデル入力を前記機械学習型モデルで処理して、モデル出力を生成することとを含む、1つまたは複数のコンピュータ可読記憶媒体。
【請求項21】
前記複数のFused-MBConv段階は、3つのFused-MBConv段階からなる、請求項20に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項22】
前記3つのFused-MBConv段階は、2、4、および4つのレイヤをそれぞれ有する第1、第2、および第3のFused-MBConv段階を含む、請求項21に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項23】
前記3つのFused-MBConv段階は、24、48、および64個のチャネルをそれぞれ有する第1、第2、および第3のFused-MBConv段階を含む、請求項21または22に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項24】
前記3つのFused-MBConv段階は、3×3カーネルを各々が有する第1、第2、および第3のFused-MBConv段階を含む、請求項21から23のいずれか一項に記載の1つまたは複数のコンピュータ可読記憶媒体。
【国際調査報告】