JP6788019B2 - 非一貫性確率的勾配降下を使用した深層ニューラルネットワークのトレーニングの高速化 - Google Patents

非一貫性確率的勾配降下を使用した深層ニューラルネットワークのトレーニングの高速化 Download PDF

Info

Publication number
JP6788019B2
JP6788019B2 JP2018540057A JP2018540057A JP6788019B2 JP 6788019 B2 JP6788019 B2 JP 6788019B2 JP 2018540057 A JP2018540057 A JP 2018540057A JP 2018540057 A JP2018540057 A JP 2018540057A JP 6788019 B2 JP6788019 B2 JP 6788019B2
Authority
JP
Japan
Prior art keywords
training
batch
loss
isgd
batches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018540057A
Other languages
English (en)
Other versions
JP2019509550A (ja
Inventor
リンナン ワン、
リンナン ワン、
イ ヤン、
イ ヤン、
レンチャン ミン、
レンチャン ミン、
スリマット チャクラッダー、
スリマット チャクラッダー、
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of JP2019509550A publication Critical patent/JP2019509550A/ja
Application granted granted Critical
Publication of JP6788019B2 publication Critical patent/JP6788019B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Description

関連出願の相互参照
本出願は、本明細書において詳細に記載されているかのように、参照によって包含される、2016年2月5日に出願された米国特許仮出願第62/291,554号の恩恵を請求する。
本開示は、概して、畳み込みニューラルネットワークおよび畳み込みニューラルネットワークで構成されるシステムに関する。より具体的には、本開示は、非一貫性確率的勾配降下を採用して畳み込みニューラルネットワークをトレーニングする、改善された方法に関する。
周知のように、大規模なニューラルネットワークは、自然言語処理、ビデオ動作分析、意思決定システム、および薬物設計を含む、多数の技術分野において広範囲に適用可能であるということが分かっている。ニューラルネットワークの性能にとって特に重要なことは、トレーニングである。
しかし、非線形性で満たされた大規模なニューラルネットワークのトレーニングが困難であるということは有名である。例えば、10億個のパラメータを有するネットワークのトレーニングを完了するには、10,000個の中央処理装置(CPU:central processing unit)コアを使用して数日かかることがある。
この重要性および困難さを考えると、ニューラルネットワークのトレーニングの効率を改善するシステムおよび方法は、従来技術にとって望ましい追加となる。
従来技術における改善が、非一貫性確率的勾配降下(ISGD:inconsistent stochastic gradient descent)アルゴリズムを使用して畳み込みニューラルネットワークをトレーニングする手法を対象にする本開示の態様に従って行われる。ISGDアルゴリズムによって使用されるトレーニングバッチのトレーニングの労力は、特定のトレーニングバッチに対して決定された損失に従って動的に調整され、2つの下位状態(十分にトレーニングされているか、または十分にトレーニングされていない)に分類される。
従来技術のトレーニング方法とは際立って対照的に、ISGDアルゴリズムは、十分にトレーニングされているバッチに対する反復を減らしながら、十分にトレーニングされていないバッチに対する反復を増やす。その結果、ISGDは、従来技術の方法よりも非常に速く収束し、精度を改善し、大きいバッチサイズをサポートする。
本開示のさらに完全な理解が、次の添付の図面を参照することによって実現されてよい。
図1は、本開示の態様に従う、ニューラルネットワークのトレーニング方式を示す概略ブロック図である。 図2は、本開示の態様に従う、バッチに対するトレーニングおよび学習パラメータの更新を示す概略ブロック図である。 図3は、本開示の態様に従う、アルゴリズム1(非一貫性確率的勾配降下手法)の疑似コードのリストである。 図4は、本開示の態様に従う、アルゴリズム2(十分にトレーニングされていないバッチを高速化するために、保守的な下位問題(conservative subproblem)を解く方法)の疑似コードのリストである。 図5は、本開示の態様に従う、本開示の方法が動作してよいコンピュータシステムの例の概略ブロック図である。 図6Aは、本開示の態様に従う、2つの制御された実験における、10個の単一クラスのバッチおよびiidバッチの損失トレース(loss traces)のプロットであって、単一クラスのバッチを示す(biはCIFAR−10の各カテゴリからのランダムに取得された100個の画像である)図である。 図6Bは、本開示の態様に従う、2つの制御された実験における、10個の単一クラスのバッチおよびiidバッチの損失トレース(loss traces)のプロットであって、独立同一分布(iid:independent identically distributed)バッチを示す図である。 図7は、本開示の態様に従う、CIFAR−10に対するネットワークのトレーニングの損失分布を示すプロットであり、損失が、エポック別に配置されていることを説明する図である。 図8は、本開示の態様に従う、リアルタイムでの十分にトレーニングされていないバッチの識別を示すプロットである。 図9は、本開示の態様に従う、ISGDにおけるデータの並列化を示す概略ブロック図である。 図10は、本開示の態様に従う、異なるバッチサイズでの、2つのシステム構成の下での予測トレーニング時間を示すグラフである。 図11Aは、本開示の態様に従う、CIFARに対するトレーニングを示すプロットであって、ISGDの損失分布をエポック別に示す。 図11Bは、本開示の態様に従う、CIFARに対するトレーニングを示すプロットであって、SGDの損失分布をエポック別に示す。 図11Cは、本開示の態様に従う、CIFARに対するトレーニングを示すプロットであって、バッチの損失分布のSTDを示す。 図11Dは、本開示の態様に従う、CIFARに対するトレーニングを示すプロットであって、20個のバッチの平均損失を示す。 図11Eは、本開示の態様に従う、CIFARに対するトレーニングを示すプロットであって、検証精度を示す。 図12Aは、本開示の態様に従う、検証精度およびトレーニング損失(training loss)を示すプロットであって、MNISTテストの精度を示す。 図12Bは、本開示の態様に従う、検証精度およびトレーニング損失(training loss)を示すプロットであって、CIFARテストの精度を示す。 図12Cは、本開示の態様に従う、検証精度およびトレーニング損失(training loss)を示すプロットであって、ImageNetのTOP 5精度(Top 5 accuracy)を示す。 図12Dは、本開示の態様に従う、検証精度およびトレーニング損失(training loss)を示すプロットであって、MNISTのトレーニング誤差を示す。 図12Eは、本開示の態様に従う、検証精度およびトレーニング損失(training loss)を示すプロットであって、CIFARのトレーニング誤差を示す。 図12Fは、本開示の態様に従う、検証精度およびトレーニング損失(training loss)を示すプロットであって、ImageNetのトレーニング誤差を示す。 図13Aは、本開示の態様に従う、合計トレーニング時間に対するバッチサイズの影響を示すプロットであって、MNISTを示す。 図13Bは、本開示の態様に従う、合計トレーニング時間に対するバッチサイズの影響を示すプロットであって、CIFARを示す。 図13Cは、本開示の態様に従う、合計トレーニング時間に対するバッチサイズの影響を示すプロットであって、ImageNetを示す。 図14Aは、本開示の態様に従う、Nesterovの加速勾配降下を使用してトレーニングされた、ImageNetに対する検証精度およびトレーニング損失の進行を示すプロットであって、ImageNetのトレーニング誤差を示す。 図14Bは、本開示の態様に従う、Nesterovの加速勾配降下を使用してトレーニングされた、ImageNetに対する検証精度およびトレーニング損失の進行を示すプロットであって、ImageNetのTOP 1精度(top 1 accuracy)を示す。 図15は、複数の異なるシナリオに関してISGDの性能を示す表である。
これらの図および詳細な説明によって、実施形態例についてさらに完全に説明する。ただし、本開示に従う実施形態は、さまざまな形態で具現化されてよく、図面および詳細な説明において説明された特定の実施形態または例示的実施形態に限定されない。
以下では、単に、本開示の原理について説明する。したがって、本明細書において明示的に説明されていたり、示されていたりしないが、本開示の原理を具現化する、本開示の思想および範囲に含まれるさまざまな構成を、当業者が考案できるであろうということが、理解されるであろう。
さらに、本明細書において挙げられたすべての例および条件付き言語は、本開示の原理および本発明者によって従来技術の改善に対して貢献された概念を理解することにおいて読者を支援するために、主に教育のみを目的としていることが明確に意図されており、そのような具体的に挙げられた例および条件に限定されないと解釈されるべきである。
また、本開示の原理、態様、および実施形態、ならびそれらの特定の例を列挙する本明細書におけるすべての記述は、それらと構造的に同等のものおよび機能的に同等のものの両方を包含するよう意図されている。加えて、そのような同等のものが、現在知られている同等のものと、将来開発される同等のもの(すなわち、構造に関わらず同じ機能を実行する、開発される任意の要素)の両方を含むことが意図されている。
したがって、例えば、本明細書におけるすべてのブロック図が、本開示の原理を具現化する回路の例の概念図を表しているということが、当業者によって理解されるであろう。同様に、任意のフローチャート、フロー図、遷移状態図、疑似コードなどがさまざまなプロセスを表し、これらが、コンピュータ可読媒体内で実質的に表されてよく、そのためコンピュータまたはプロセッサが明示的に示されているかどうかに関わらず、コンピュータまたはプロセッサによって実行されてよいということが、理解されるであろう。
「プロセッサ」というラベルの付いたすべての機能ブロックを含む、図面に示されているさまざまな要素の機能は、専用ハードウェア、および適切なソフトウェアと共にソフトウェアを実行できるハードウェアを使用することによって、提供されてよい。機能は、プロセッサによって提供される場合、単一の専用プロセッサによって提供されるか、単一の共有プロセッサによって提供されるか、または一部が共有されてよい複数の個別のプロセッサによって、提供されてよい。さらに、「プロセッサ」または「コントローラ」という用語の明示的使用は、ソフトウェアを実行できるハードウェアのことを排他的に指していると解釈されるべきではなく、デジタル信号プロセッサ(DSP:digital signal processor)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、ソフトウェアを格納するための読み取り専用メモリ(ROM:read−only memory)、ランダムアクセスメモリ(RAM:random access memory)、および不揮発性ストレージを暗黙的に含んでよいが、これらに限定されない。その他の、従来および/またはカスタムのハードウェアが含まれてもよい。
ソフトウェアモジュール(または、ソフトウェアであることが暗示される、単にモジュール)は、本明細書では、プロセスのステップおよび/またはテキストの説明の実行を示すフローチャートの要素またはその他の要素の任意の組み合わせとして表されてよい。そのようなモジュールは、明示的または暗黙的に示されているハードウェアによって実行されてよい。
本明細書において特に明示的に規定されない限り、図面を構成する各図は、正確な縮尺率ではない。
さらに背景の目的で、テラフロップス(TFLOPs:tera−floating−point−operations−per−second)を実現する計算技術が、ニューラルネットワークの開発およびその適用を著しく加速したということに留意する。具体的には、前述したように、大規模なニューラルネットワークが、自然言語処理、ビデオ動作分析、意思決定システム、および創薬に関連するシステムを大幅に改善した。しかし、そのような改善および適用可能性にもかかわらず、非線形性で満たされた大規模なニューラルネットワークをトレーニングすることは、依然として非常に困難である。例えば、10億個のパラメータを有するネットワークのトレーニングを完了するには、10,000個のCPUコアを使用して最大で数日かかる。このような計算の課題は、従来技術において広く使用されている勾配に基づくトレーニング方法の効率を改善することの重要性を浮き彫りにした。
当業者によって容易に理解されるように、ニューラルネットワークのトレーニングは、有限なトレーニングセットに対して、定義された目的関数(intended function)を近似するための最適なパラメータを検索する、最適化問題の一種である。トレーニングの注目するべき側面は、豊富なネットワークパラメータによって定義された広大な解超空間(solution hyperspace)である。例として、最近のImageNetコンテストでは、畳み込みニューラルネットワークのパラメータサイズnが10に増加する例が見られた。このような規模の最適化問題を解くことは、必要な109x109のサイズのヘッシアン行列が現在のコンピュータアーキテクチャによって取り組まれるには大きすぎるため、二次最適化手法(second order optimization methods)にとっては法外に難しい。そのため、大規模なニューラルネットワークをトレーニングするために、一次の勾配降下(first order gradient descent)が広く使用されている。
当業者によってさらに理解されるように、標準的な一次の完全な勾配降下(GD:Gradient Descent)は、データセット全体を使用して勾配を計算する。完全な傾斜降下の好ましい線形収束率(O(ρk),ρ<1)にもかかわらず、反復における計算は、データセットのサイズと共に線形に増加する。そのため、この手法は、莫大な量のラベル付きデータを使用してトレーニングされるニューラルネットワークには適していない。
この問題に対処するために、トレーニング例の間に大量の冗長性が存在するという観察から、確率的勾配降下(SGD:Stochastic Gradient Descent)手法が開発された。SGDは、ランダムなサンプルのバッチを使用してデータセットを近似することによって動作し、バッチから計算された確率的勾配を使用してモデルを更新する。SGDの収束率
Figure 0006788019
(ここで、bはバッチサイズ)は、GDよりも遅いが、SGDは、ある期間内に、GDよりも非常に高速にモデルを更新する(すなわち、kが大きい)。そのため実際には、SGDでは、GDと比べて高速な収束が観察できる。特に、SGDは、良好なシステム利用率と高速な勾配の更新との間の「スイートスポット」にヒットする。したがって、SGDは、大規模なニューラルネットワークをトレーニングするための一般的で効果的な方法になった。
SGDにおける1つの重要な動作は、データセットからランダムなバッチを取得することである。そのような動作は数学的に単純であるように思えるが、それにもかかわらず、例えばImageNetのデータセットなどの大規模なデータセットに対して実行することは、簡単ではない。当業者によって容易に理解されるように、最先端の技術的近似は、固定サイクル疑似ランダム(FCPR:Fixed Cycle Pseudo Random)サンプリング(本明細書において後で定義される)であり、このサンプリングは、リング、例えば、d0→d→d2→d0→d1→...(ここで、diはバッチを示す)のように、事前に並べ替えられたデータセットから、バッチを取得する。
この場合、1つのバッチが1つのエポックにおいて正確に1回ネットワークを更新するため、各バッチは同じトレーニングの相互作用を受ける。この技術的単純化によって、バッチがネットワークに反復的に流れ込むことができるようになり、これが統計学におけるランダムサンプリングとは異なっているということに注意されたい。一方、トレーニングでは、勾配の分散がバッチを差別化するということ、および損失の大きいバッチからの勾配の更新が、損失の小さいバッチよりも大きく寄与するということが知られている。
本明細書では、バッチ間でトレーニングの労力を再バランス調整するための、非一貫性確率的勾配降下(ISGD)と呼ぶ手法を開示する。この非一貫性には、バッチでの不均一な勾配の更新が反映される。ISGDは、バッチのトレーニングの状態を、関連する損失によって測定する。ISGDは、任意の反復tで、反復[t−nb,t]における損失をトレースする。ここで、nbはデータセット内の個別のバッチの数である。これらの損失は、トレーニング時に、十分にトレーニングされていないバッチを識別するための動的上側しきい値(dynamic upper threshold)の作成に役立つ。あるバッチの損失がしきい値を超えた場合、ISGDは、現在のバッチの損失と平均値の間の相違を最小限に抑えるという新しい下位問題を解くことによって、このバッチに対するトレーニングを加速する。この下位問題は、パラメータの変化を抑制することによってオーバーシュートを回避するために、保守的な制約も含んでいる。
この下位問題の1つの重要な側面は、現在のネットワークのパラメータに近接した状態に留まりながら、十分にトレーニングされていないバッチに対する追加の勾配の更新を可能にするということである。経験的実験は、ISGDが、特に最終段階において、さまざまな主流のデータセットおよびネットワークに対して、ベースライン手法であるSGDよりも非常に良い実行結果をもたらすということを示している。
実用上の検討のために、他のシステム要因を考慮して、収束率に対するバッチサイズの影響についても調査する。バッチサイズを大きくすると、収束が早まるが、反復における計算が線形に増加する。単一のノードのトレーニングを含むシナリオでは、頻繁な勾配の更新を保証するために、小さいバッチが好ましい。複数のノードのトレーニングを含むシナリオでは、反復ごとに、ノード間の重い同期処理が伴う。勾配の更新が多いほど、同期処理のコストが高くなる。この場合、適度な大きさのバッチによって、全体的な通信を減らし、システムの飽和および利用可能な並列性も改善する。
ここで図1を参照すると、本開示の態様に従って、方法の概要を示す概略ブロック図が示されている。前述したように、繰り返す価値がある。SGDは、CNNのトレーニングに広く使用されている。SGDでは、データセット全体がバッチのセットに分割される。SGDは、すべてのバッチを同様に扱い、各バッチをエポック内で反復的にトレーニングする。特に、個々のバッチをトレーニングするコストは、サンプリングバイアス、画像の本質的相違などに(部分的に)起因して、全く異なる。したがって、SGDは非常に非効率的である。
際立って対照的に、本出願の非一貫性確率的勾配降下(ISGD)手法は、バッチのトレーニングの反復回数を動的に変更する。ISGDでは、バッチが2つの状態(十分にトレーニングされているか、または十分にトレーニングされていない)に分類される。その後、ISGDは、十分にトレーニングされているバッチに対する反復を減らしながら、十分にトレーニングされていないバッチに対する反復を増やす。
特に、ISGDは、SGDよりも非常に早く収束する。さらに、ISGDは、十分にトレーニングされていないバッチに対してより多くのトレーニングを適用するため、精度を向上させる。最後に、ISGDは大きいバッチサイズをサポートし、このことは、下で示すように、マルチGPUシステムで非常に役立つ。
再び図1を参照すると、ブロック101で、トレーニング対象の画像データおよびネットワークが入力されていることが観察できる。トレーニングエポックの最大数が指定された後、ブロック102および103で、このトレーニングエポックの最大数が完了する。
この時点で、本明細書ではいくつかの用語が使用されているため、それらの用語を定義することは有益である。知られており、本明細書において使用されているように、エポックは、すべてのトレーニング例の1つのフォワードパスおよび1つのバックワードパスである。バッチサイズは、1つのフォワードパス/バックワードパスにおけるトレーニング例の数である。バッチサイズが大きいほど、多くのメモリが必要になる。最後に、反復はパスであり、反復回数はパスの数である。各パスは、[バッチサイズ]の数の例を使用する。明確にするために、1つのパスは1つのフォワードパスおよび1つのバックワードパスである。フォワードパスおよびバックワードパスは、独立してカウントされない。
トレーニングが進行するにつれて、トレーニングがバッチに適用され、適切な学習パラメータが更新される。完了時に、別のバッチが取得され、トレーニングがそのバッチにも適用される。このプロセスが、処理対象のバッチがなくなるまで継続する。
ブロック103で、学習したパラメータが、テストデータを使用してテストされ、このプロセス全体が、エポックの数が最大値に達するまで繰り返される。ブロック104で、トレーニング後に、出力パラメータが出力される。
図1は、本開示によるCNNトレーニングの概要を示しているが、図2は、図1に示された、ブロック102の動作をさらに詳細に示している概略ブロック図である。引き続き図2を参照すると、ブロック201で、トレーニングデータのバッチが入力されていることが観察できる。ブロック202で、フォワードおよびバックワードトレーニングが、入力トレーニングバッチに適用される。ブロック203で損失が決定され、損失値がしきい値を超えた場合、または最大反復回数が最大数よりも多い場合、このバッチに対するトレーニングが続行される(ブロック202)。損失値がしきい値よりも小さいか、または反復回数が最大数よりも少ない場合、引き続き、図1(ブロック103/102)のプロセス全体に戻る。
この時点で、ISGDが、損失情報に基づいて十分にトレーニングされていないバッチを識別した後に、十分にトレーニングされていないバッチに対してさらにトレーニングを適用することができ、すべてのバッチが同様のトレーニング速度を示すように、十分にトレーニングされていないバッチが十分にトレーニングされているバッチに追随できるようにするということに、注目するべきである。
図3は、本開示の態様に従う、アルゴリズム1(非一貫性確率的勾配降下手法)の疑似コードのリストであり、図4は、アルゴリズム2(十分にトレーニングされていないバッチを高速化するために、保守的な下位問題を解く方法)の疑似コードのリストである。当業者によって容易に理解されるように、本開示に従う方法の一部としてのそのようなアルゴリズムは、有利なことに、マルチプロセッサを(有利に)含む、さまざまなコンピューティングシステムのいずれかで実行されるようにプログラムされてよい。図5は、本開示の方法が動作してよいコンピュータシステムの例の概略ブロック図である。
直ちに理解されるように、そのようなコンピュータシステムは、別のシステムに統合されてよく、個別の要素あるいは1つまたは複数の統合されたコンポーネントを介して実装されてもよい。コンピュータシステムは、例えば、複数のオペレーティングシステムのうちのいずれかを実行するコンピュータを備えてよい。本開示の前述の方法は、記憶したプログラム制御命令として、コンピュータシステム500上に実装されてよい。
コンピュータシステム500は、プロセッサ510、メモリ520、ストレージデバイス530、および入出力構造540を含む。1つまたは複数のバス550は、通常、コンポーネント510、520、530、および540を相互接続する。プロセッサ510は、シングルコアまたはマルチコアであってよい。加えて、システムは、複数のコア、アクセラレータなどを含む複数のプロセッサを含んでよい。さらに、期待される並列性をいっそう向上させるために、そのような複数のコアの大規模なシステムであるマルチプロセッサシステム500が構築されてよい。
プロセッサ510は、本開示の実施形態が図面のうちの1つまたは複数に記載されたステップを構成する、命令を実行する。そのような命令は、メモリ520またはストレージデバイス530に格納されてよい。1つまたは複数の入出力デバイスを使用して、データおよび/または情報が受信され、出力されてよい。
メモリ520は、データを格納してよく、揮発性メモリまたは不揮発性メモリなどのコンピュータ可読媒体であってよい。ストレージデバイス530は、例えば前述の方法を含むシステム500用のストレージを提供してよい。さまざまな態様では、ストレージデバイス530は、磁気、光、またはその他の記録技術を採用する、フラッシュメモリデバイス、ディスクドライブ、光ディスクデバイス、またはテープデバイスであってよい。
入出力構造540は、システム500が通信可能に接続された他のシステム/構造に対する入出力動作を提供してよい。
関連研究
ニューラルネットワークのトレーニング用に「通常の」SGDを改良するためのさまざまなアプローチが提案されている。したがって、従来技術のアプローチを説明しながら、本出願の非一貫性トレーニング手法がそれらの従来技術の既存の手法と根本的にどのように異なっているかについて、さらに説明する。
周知のように、SGDにおける確率的サンプリングは、収束率の低下を示す勾配の分散を導入する。よって、研究者は、さまざまな分散減少手法をSGDに適用し、収束率を改善することを試みてきた。
確率的分散減少勾配(SVRG:Variance Reduced Gradient)は、ネットワークの履歴パラメータおよび勾配を維持し、更新ルールの分散を明示的に減らすが、SVRGは、非凸ニューラルネットワーク(non−convex neural network)の微調整に対してのみ十分に機能する。他のアプローチは、SGDで制御変量を調査し、さらに他のアプローチは、重要度サンプリングを調査した。しかし、これらの分散減少手法は、中間変数を格納するために巨大なRAM空間を消費するため、大規模なニューラルネットワークではほとんど使用されていない。
これらの従来技術のアプローチとは際立って対照的に、ISGD(本開示の対象である)は、勾配の分散の悪影響に適応し、補助変数を構築しない。その結果、有利なことに、ISGDは従来技術の分散減少手法よりも非常にメモリ効率が高く、実用的である。
モーメンタムは、SGDを強化するための、広く認識されている発見的解決法である。SGDは、勾配が、最適に向かう谷沿いではなく、常に谷の反対側を指すため、狭い谷の間で振動する。その結果、モーメンタムが飛び回る傾向があり、収束が遅れることにつながる。モーメンタムは、勾配を反対の符号と組み合わせることによって、曲率の大きい方向での振動を減衰させ、予め蓄積された勾配と一致する方向に向かって速度を増す。当業者は、Nesterovの加速勾配降下の更新ルールがモーメンタムに類似しているが、速度を増すためのわずかに異なる更新メカニズムによって、重要な動作の違いが得られるということを理解するであろう。モーメンタムは、蓄積した勾配に現在の勾配を加えた方向に進む。これに対して、Nesterovの加速勾配降下は、予め蓄積した勾配に沿って進み、そして、補正を行う前に勾配を測定する。これによって、更新での高速な降下を防ぎ、それによって応答性を向上させる。
有利なことに、ISGDは、バッチに対するトレーニング動態(training dynamics)を考慮するという点において、これらのアプローチとは根本的に異なっている。ISGDは、バッチ間でトレーニングの労力をリバランスするが、モーメンタムおよびNesterovの加速勾配降下は、前述の曲率の「トリック」を利用する。したがって、さらに有利なことに、非一貫性トレーニングは、両方の手法との互換性があるということが期待される。
Adagradは、学習率をパラメータに適応させる手法であり、低頻度のパラメータに対しては大きい更新を実行し、高頻度のパラメータに対しては小さい更新を実行する。Adagradは、分母において勾配の二乗を累積し、これが学習率を大幅に縮小する。その後、この問題を解決するために、RMSpropおよびAdadeltaが開発された。これらの適応学習率のアプローチは、トレーニングの堅牢性を向上させるために、パラメータの更新頻度に関してパラメータ更新の範囲を調整するが、ISGDは、トレーニングの効率を改善するために、損失に関してバッチの勾配の更新の頻度を調整する。この観点から、ISGDは、適応学習率のアプローチとは著しく異なっている。
本開示によって当業者に容易に明らかになるように、本開示に従う非一貫性トレーニングは、損失の小さいバッチよりも、損失の大きいバッチに、より多くのトレーニングの労力を割く。1つの動機となる合理性は、損失の小さいバッチからの勾配の更新が、損失の大きいバッチよりも寄与が小さいということである。同様に、Simo−Serra他は、困難なトレーニングペア(すなわち、これらのペアは大きい損失をもたらす)をネットワークに意図的に供給することによって、記述子を深層学習するために、Siameseネットワークのトレーニングにおいて、類似するアイデアを採用した。このような手法は、性能を改善するための効果的な方法であることが証明されている。この手法は、ネットワークに供給する困難なペアを手動で選択するが、ISGDは、トレーニング時に困難なバッチを自動的に識別する。加えて、ISGDの困難なバッチを加速するメカニズムは、Simo−Serraの手法とは著しく異なっている。ISGDは、バッチの損失を減らすために、困難なバッチに対する下位最適化問題を解き、有利なことに、急激なパラメータの変化を防ぐが、Simo−Serraの手法は、単により頻繁にバッチを供給する。あるバッチでオーバーシュートすることは他のバッチでの不一致につながるため、パラメータの変化を抑制することが重要であるということに注意する。したがって、当業者によって理解されるように、本開示に従うISGD手法は、バッチごとのトレーニング動態を考慮する最初のニューラルネットワーク解法であり、したがって、さまざまな現実世界のデータセットおよびモデルに対して、驚くべき性能の向上を示した。
問題の説明
このセクションでは、不均一なバッチごとのトレーニング動態を示す。SGDの収束率の分析に基づいて、勾配の更新の寄与がバッチ間で変化するということを、理論的に証明する。画像の本質的相違およびサンプリングバイアスが、現象に対する高水準の要因であるということも仮定し、この仮定が、2つの制御された実験によって検証される。理論と実験の両方が、バッチの勾配の更新の寄与が異なるという結論を裏付ける。
その後、SGDで採用されている固定サイクル疑似ランダムサンプリングが、この問題を扱うには非効率的であるということを示す。具体的には、すべてのバッチに対する、バッチの状態に関わらず一貫した勾配の更新は、特にトレーニングの終盤において無駄が多く、損失の大きいバッチを加速するために損失の小さいバッチに対する勾配の更新が使用されている可能性がある。
CNNトレーニングの要約
次の最適化問題として、CNNトレーニングを定式化する。Ψを、ウェイトベクトルwを関数パラメータとして含む損失関数とし、この損失関数は、画像のバッチdを入力として受け取る。CNNトレーニングの目的は、次の最適化問題に対する解を見つけることである。
Figure 0006788019
第2の項はウェイト減衰(Weight Decay)であり、λはウェイトの寄与を調整するためのパラメータである(通常は、約10-4)。ウェイト減衰の目的は、ウェイトベクトルの静的ノイズおよび無関係な成分が抑制されるように、大きいパラメータにペナルティを与えることである。
CNNの標準的なトレーニングの反復は、フォワードおよびバックワードパスで構成される。フォワードパスからは、現在の予測と真実との間の相違を測定する損失が得られる。バックワードパスは勾配を計算し、負の勾配は、最も急な下降方向を指し示す。傾斜降下は、次のようにwを更新する。
Figure 0006788019
データセット全体に対して勾配を評価することは、特にImageNetなどの大きいデータセットの場合、極めて高コストである。この問題を解決するために、ランダムに取得された小さいサンプルdtを使用してデータセット全体を近似する、ミニバッチSGDが提案されている。ミニバッチSGDの利点は、勾配計算での小さいサンプルの評価の効率であるが、欠点は、収束を遅くする確率的勾配である。
ここで、サンプル空間Ωを定義する。Ψw(dt)が、確率空間(Ω,Σ,P)に対して定義されたランダム変数である場合、新しい目的関数は次のようになる。
Figure 0006788019
Figure 0006788019
次式が成り立つ。
Figure 0006788019
クロスエントロピー誤差を使用したトレーニング状態の測定
バッチのトレーニング状態を反映するために、損失を使用する。畳み込みニューラルネットワークは、Rn→Rの関数であり、この関数の最後の層は、真の予測確率
Figure 0006788019
と推定された予測確率
Figure 0006788019
との間のクロスエントロピーを計算するsoftmax損失関数である。反復tでのバッチのsoftmax損失関数の定義は、次のとおりである。
Figure 0006788019
クロスエントロピーによって生成された損失は、バッチのトレーニング状態の信頼できる指標になる。バッチdtが与えられた場合、クロスエントロピー
Figure 0006788019
は、推定された確率と真実の間の相違を測定する。画像分類タスクにおいて、真実
Figure 0006788019
は正規化された可能性ベクトル(possibility vector)であり、ほとんどがゼロを含んでおり、1つのスカラーのみが1に設定されている。ベクトルのインデックスは、物体カテゴリに対応する。例えば、
Figure 0006788019
は、物体がカテゴリ2に属していることを示している(インデックスは0から開始する)。ニューラルネットワークは、正規化された推定確率
Figure 0006788019
を生成し、
Figure 0006788019
内のゼロが
Figure 0006788019
内の不正な予測を相殺するため、損失関数は、正しい予測を行う範囲のみを獲得する。
Figure 0006788019
Figure 0006788019
に近い場合、損失関数からは、小さい値が得られる。
Figure 0006788019
Figure 0006788019
から遠い場合、損失関数からは、大きい値が得られる。したがって、バッチの損失を使用して、そのバッチに対するモデルのトレーニング状態を評価する。直感的に、大きい損失は、バッチに対してネットワークによって行われるほとんどの予測が偽であり、このバッチに対する追加トレーニングが必要であることを示している。
動機:バッチの不均一なトレーニング動態
勾配の分散は、バッチごとのトレーニングの変動の発生源になる。母集団を近似するためにランダムなサンプルを使用する利点は、反復における計算が大幅に少ないことであり、欠点は、ノイズの多い勾配である。このセクションでは、収束率が反復によって測定されることに注意されたい。反復ごとにトレーニング動態を分析するために、次のリャプノフプロセス(Lyapunov process)を定義する必要がある。
Figure 0006788019
Figure 0006788019
VAR{▽Ψw(dt)}を減らすと、収束率が改善される。方程式8の期待値から、1回の反復の精度で平均収束率が得られる。
Figure 0006788019
方程式9の分析を簡略化するために、次を暗示するΨw(dt)での凸性を仮定する。
Figure 0006788019
ここで、E{▽Ψw(dt)}はE{▽Ψw(d)}のバイアスされていない推定である。したがって、1回の反復の寄与を最大化することは、VAR{▽Ψw(dt)}の最小化に縮小される。この方向は、十分に対処されている。
反復の寄与(ht+1−ht)は、dtに関して変化する。方程式8に従って、ht+1−htの分散は次のようになる。
Figure 0006788019
この方程式は、VAR{ht+1−ht}≠0を示しており、勾配の更新の寄与が不均一であることを暗示している。この方程式内の係数▽Ψw(dt2および▽Ψw(dt)の決定がdtを条件としており、ht+1−htとdtの間の相関関係を示唆しているということに気付くことは興味深い。この独自の洞察は、dtにおけるどの要因が収束率ht+1−htに影響を与えるか、およびトレーニングにおける負荷バランシング問題に対処する方法を理解しようとする動機を与える。▽Ψw(dt)での分散減少に向けた研究は多数存在するが、この方向を調査している研究は少ない。次に、バッチの損失を使用して、そのバッチに対するモデルのトレーニング状態を測定する。図6は、トレーニング時の10個のバッチの損失トレースを示している。各バッチの損失が異なる比率で低下していることが観察できる。したがって、経験的観察および方程式12は、次の結論を下すことを促している。
バッチの勾配の更新の寄与は、不均一である。
この結論は、図6のバッチの特有のトレーニング動態も説明している。方程式12は、dtが本請求にとって極めて重要であることを示唆している。dtがVAR{ht+1−ht}にどのような影響を与えるかを理解するために、一連の経験的評価を行い、現象を説明するために、サンプリングバイアスおよび画像の本質的相違という2つの高水準の要因を提案する。これら2つの用語の定義は、次のとおりである。
サンプリングバイアス。サンプリングバイアスとは、対象とする母集団のうちの一部の要素が、他の要素よりも含まれる可能性が低くなるような方法でサンプルが収集される、バイアスである。
画像の本質的相違。画像の本質的相違は、同じ部分母集団からの複数の画像がピクセルにおいても異なっていることを示す。例えば、カテゴリ「猫」は、白猫の画像または黒猫の画像を含むことができる。黒猫および白猫は、猫の部分母集団に属することができるが、ピクセルにおいては異なっている。
サンプリングバイアスは、バッチに対するトレーニングの変動を説明するための第1の要因である。2種類のサンプリングバイアスを検討する。第1に、PlacesまたはImageNetなどの既存のデータセットは、一様ではない数の画像を各カテゴリに含んでいる。その結果、支配的な部分母集団がバッチにおいて選択される可能性が、他の部分母集団よりも高い。第2に、データセットに対する不十分な混ぜ合わせが部分母集団のクラスターにつながることがある。SGDが不十分に並べ替えられたデータセットから画像を連続的に取得して、ランダムに選択されたバッチを形成した場合、ある部分母集団が含まれる可能性が、他の部分母集団よりも高くなる。どちらの場合も、サンプリングバイアスの定義に従っている。例えば、[1,1,1,0,2,3]から1をサンプリングする可能性は、他の値よりも高い。本請求を裏付けるために、CIFAR−10内の排他的な画像カテゴリからランダムに取得された10個の単一クラスのバッチを合成した。
CIFAR−10が独立した10の画像カテゴリを含んでいることに注意する。各バッチは、一意のCIFAR−10カテゴリを表し、各バッチが1つの部分母集団のみを含んでいるため、サンプリングバイアスで高度に汚染されている。図6(A)は、10個の単一クラスのバッチの損失トレースを示している。10個のバッチの損失が独立して低下していることは明らかである。具体的には、黄色のバッチからの勾配の更新は、紫色のバッチよりも効果的である。したがって、これらの結果は、サンプリングバイアスおよびバッチごとのトレーニングの変動に関する本請求を正当化する。
画像の本質的相違は、バッチに対するトレーニングの変動を説明するための第2の要因である。この点を実証するために、10個の独立同一分布バッチに対して制御された実験を行う。1つのバッチは1000個の画像を含み、各バッチは、カテゴリ0からランダムに取得された100個の画像、カテゴリ1からランダムに取得された100個の画像、...、カテゴリ9からランダムに取得された100個の画像を含む。順序付けの影響の可能性を排除するために、この順序はバッチ間で固定されている。この場合、各バッチは、CIFAR−10内の10の部分母集団からの同じ数の画像を含んでおり、各バッチ間の違いはピクセルのみである。したがって、これらのバッチを、独立同一分布と見なす。ネットワークは、サンプリングバイアスで使用されたネットワークと同じである。図6(B)は、10個のiidバッチの損失トレースを示している。トレーニングを通じて強い相関関係が持続しているが、それでも、iidバッチの損失が別々の比率で低下していることは明らかである。特に、エポック400において、バッチ4(緑色)の損失は約0.5であるが、バッチ3(紫色)の損失は約1.3である。これらのバッチがiidであり、元のデータセットとほぼ同一であるはずであるということに注意されたい。しかし、各バッチ間の勾配の更新の不均一な寄与を示すトレーニングの変動がまだ存在している。
SGDでの一貫したトレーニングの問題
SGDは、データセット全体から均一にバッチを取得するという重要な動作に依存する。これは、数学的にはシンプルであるが、システムの実装においては簡単ではない。ImageNet(例えば、ILSVRC2012)は、1431167個の256x256の高解像度RGB画像を含んでおり、合計サイズが約256GBになる。ランダムなバッチを256GBのバイナリファイルから均一に取得することは、TLBミスまたはランダムなディスクI/O動作などの、大きなオーバーヘッドを伴う。加えて、プロセッサとディスクの間の大きな速度差が、さらに問題を悪化させる。CaffeまたはTorchなどの既存の深層学習フレームワークは、データセット全体を、次のように、バッチにスライスする前に事前に並べ替えることによって、問題を軽減する:Permute{d}→d={d0,d1,...,dn-1,dn}=Ω。トレーニング中に、各反復で、並べ替えられたデータセットΩから、d0→d1→,...,→dnという順にバッチを取得し、dnの後に、先頭のd0から取得を再開するというように、定円のバッチ取得パターンを形成する。このサンプリング方法を、定円疑似ランダムサンプリング(Fixed Circle Pseudo Random Sampling)と呼ぶ。その後、これらのランダムな読み取りは、ディスク上の連続的読み取りに縮小される。したがって、FCPRサンプリングがSGDによって広く採用されている。nをデータセットのサイズとし、nをバッチサイズとする。サンプル空間のサイズはnd/nbであり、反復jに割り当てられているバッチはdtであり、ここで、
Figure 0006788019
である。
任意の反復において、モデルは、バッチがt+1エポック,...,t+nエポックという反復でモデルに流れ込むため、常に固定バッチを期待する。バッチのトレーニングが、それ自体に対する勾配の更新によって支配される場合、このバッチの損失は、t,t+1*エポック,t+2*エポック,...,t+n*エポックという反復で主に縮小される。バッチの勾配の更新からの寄与が異なっているため、反復的なバッチ取得パターンは、バッチの特有のトレーニング速度を助長する。しかし、SGDにおけるFCPRサンプリングは、バッチを全く同じように扱う。
FCPRサンプリングの問題は、バッチに対する、モデルのトレーニング状態に関わらず一貫した勾配の更新である。損失の大きいバッチと同程度の頻度で損失の小さいバッチを更新することは、非効率的である。図6(B)は、黄色のバッチがエポック1600の後に完全にトレーニングされており、一方、青色のバッチがエポック2100まで完全にトレーニングされないことを示している。エポック[1600,2100]の間、黄色のバッチは、ほとんどの時間、完全にトレーニングされたままであり、このバッチに対する不要なトレーニングの反復を示している。加えて、バッチの勾配の更新の寄与が異なることも検証する。したがって、バッチに対するモデルのトレーニング状態に関してトレーニングの反復を調整することによって、SGDの効率を改善する。
非一貫性確率的勾配降下
このセクションでは、本開示に従って、有利なことに、バッチトのレーニング状態に関してトレーニングの労力を再バランス調整する、非一貫性確率的勾配降下を提示する。この非一貫性には、バッチでの不均一な勾配の更新が反映される。第1の課題は、トレーニング中に、遅いバッチまたは十分にトレーニングされていないバッチを動的に識別する方法である。十分にトレーニングされていないバッチを動的に識別するために、トレーニングを確率的プロセスとしてモデル化し、上方管理限界を適用する。第2の課題は、十分にトレーニングされていないバッチを加速する方法である。バッチに対して解くべき新しい最適化を提案する。この最適化の目的は、急激なパラメータの変化を伴わずにトレーニングを加速することである。実用上の検討のために、収束率、システムの飽和、および同期コストに対するISGDのバッチサイズの影響も調査する。
十分にトレーニングされていないバッチの識別
ISGDは、トレーニングを、バッチの平均損失をゆっくりと減らす確率的プロセスとしてモデル化する。エポック内のバッチの損失では、正規分布を仮定する。その理由は次のとおりである。(1)SGDは、収束するために小さい学習率(lr)を要求し、lrは通常、10-1未満である。lrはステップ長を決定し、正規化された勾配がステップの方向を決定する。小さい値のlrは、勾配の更新によって行われる寄与を制限するために、トレーニングプロセスは、損失を局所最適に向かって徐々に減らすことになる。(2)各バッチは元のデータセットを表し、トレーニング内のバッチ間には強い相関関係が存在する。これは、バッチの損失が、任意の反復において平均から大きく異ならないということを暗示している。図7は、CIFAR−10に対するネットワークのトレーニングの損失分布を示しており、損失がエポック別に配置されている。この図から、エポック内の損失で正規分布を仮定することは、正当である。したがって、次のように結論を下す。
トレーニングは、ネットワークが収束するまで損失の平均をゆっくりと減少させる確率的プロセスである。
3σ管理限界は、統計的プロセスにおける異常を監視するための効果的な方法である。バッチの平均損失を減少させるプロセスとしてトレーニングを扱うため、ISGDは、上方管理限界を利用して、損失の大きい異常なバッチをリアルタイムで動的に識別する。ISGDは、上方管理限界を取得するために、トレーニング中に、2つの重要な記述統計量(実行中の平均損失
Figure 0006788019
および実行中の標準偏差
Figure 0006788019
)を計算する。ISGDは、[t−nb,t]における反復によって生成された損失を格納するためのキューを維持し、ここで、nbはサンプル空間のサイズ(またはエポック内のバッチの数)である。このキューは、
Figure 0006788019
および
Figure 0006788019
を得るために前のエポック内の損失情報を追跡する移動ウィンドウとして機能する。
Figure 0006788019
キュー長がnbに固定されており、バッチの損失が浮動小数点数であるため、
Figure 0006788019
および
Figure 0006788019
ならびにキューのメモリコストの計算は、任意の反復tにおいてO(1)になる。したがって、ISGDは、ネットワークパラメータと同じサイズの中間変数を必要とする分散減少のアプローチよりも、非常にメモリ効率が高い。
Figure 0006788019
および
Figure 0006788019
を使用して、上方管理限界は次のようになる。
Figure 0006788019
この場合、3σ管理限界を採用する。
Figure 0006788019
の前の乗数は、新しいバッチの調査と、現在のバッチの利用との間において、重要な役割を果たす。詳細な説明については、下のアルゴリズム1の説明を参照されたい。現在の反復tの損失は、次のとおりである。
Figure 0006788019
tを、十分にトレーニングされていないバッチと見なす。
図8は、十分にトレーニングされていないバッチをリアルタイムで識別するためのISGD手法の例を示している。青色の線はバッチの損失であり、黄色の線は、実行中の平均
Figure 0006788019
である。緑色の線は上方管理限界であり、赤色の点は十分にトレーニングされていないと見なされる外れ値である。AlexNetを使用して、ImageNetに対して実験が行われ、ISGDが、提案されたアプローチを使用して、トレーニングにおいて損失の大きいバッチを正常に識別するということが明らかになる。
非一貫性トレーニング
前述したように、本開示に従うトレーニングモデルの中心概念は、損失の小さいバッチよりも多くの反復を、損失の大きいバッチに費やすということである。ISGDにおけるバッチ取得パターンは、FCPRサンプリングに類似しているが、次のような重要な違いがある。バッチが十分にトレーニングされていないとして識別された後に、ISGDはこのバッチにとどまって、トレーニングを加速するための新しい下位最適化問題を解き、このバッチは、下位問題内で追加トレーニングの反復を受ける。この場合、ISGDは、FCPRサンプリングのシステム効率を損なわずに、バッチ間でトレーニングの労力を調整する。新しい下位問題は次のとおりである。
Figure 0006788019
Figure 0006788019
limit、wt-1、およびdtが定数であることに注意されたい。方程式17を正確に解くことは、計算および通信の著しいオーバーヘッドを招き、この方程式の効果を損なう。実際には、早期に停止して、新しい下位問題(方程式17)に対する解を近似する。これによって、最適解の周辺に停滞することに膨大な検索時間が浪費されるのを防ぐ。加速効果を達成するには、数回の反復(例えば、5回)で十分である。したがって、早期の停止によって解を近似することを推奨する。
図3に示されたアルゴリズム1は、ISGDの基本手順を示している。バッチのレーニング状態が損失によって測定されるため、ISGDは、損失が管理限界
Figure 0006788019
(行20)よりも大きい場合、バッチを十分にトレーニングされていないとして識別する。厳しい限界は、より頻繁に方程式17をトリガーする。それによって、バッチの利用が増加するが、一定の時間内でのネットワークに対するバッチの調査が減少することも引き起こす。したがって、厳しい限界も望ましくない。実際には、ソフトマージン(2または3
Figure 0006788019
)が好ましく、このマージンは、プロセスにおける異常を検出するために、統計的プロセス制御においても広く適用されている。特定の問題に従って、ユーザがこのマージンを調整することを推奨する。ISGDは、平均損失
Figure 0006788019
がO(1)で計算されるように、エポック内の損失を動的に追跡するための損失キューを採用する(行17)。この損失キューは、前のエポック内の反復を追跡し、この損失キューの長さは1つのエポックの長さに等しい。同様に、O(1)後に
Figure 0006788019
を計算する(行18)。第1のエポックが信頼できる限界を構築するまで(行22のiter>nの条件)、アルゴリズム2を開始しない。
図4に示されたアルゴリズム2は、十分にトレーニングされていないバッチに対して保守的な下位問題を解くための手順の概要を示している。保守的な下位問題は、急激なウェイトの変化を伴わずに、十分にトレーニングされていないバッチを加速する。行7の更新方程式は、方程式18に対応する。具体的には、
Figure 0006788019
は、十分にトレーニングされていないバッチのトレーニングを加速するために
Figure 0006788019
Figure 0006788019
は、大幅なウェイトの変化を抑制する
Figure 0006788019
Figure 0006788019
は一定の学習率である。
ニューラルネットワークのトレーニングでは、収束を保証するために、学習率を徐々に減らす必要がある。トレーニングの反復回数に関して学習率を減らすことが、一般的な戦術である。ISGDの一貫しない反復回数は、学習率を誘導するための新しい方法を必要とする。代わりに、ISGDは、データセットの平均損失に関して学習率を減らす。平均損失は、モデルのトレーニング状態を直接反映するため、反復回数よりも適切であるが、データセットの平均損失の計算は、高コストである。方程式13の平均損失は、データセットの最後のスキャン(つまり、あるエポック内の損失)から得られるため、データセットの平均損失を近似している。したがって、この平均損失(アルゴリズム1の行19)を使用して、学習率を誘導する。
他のSGDの変形への拡張
非一貫性トレーニングを他のSGDの変形へ拡張するのは、簡単である。例えば、モーメンタムは次の式を使用してウェイトを更新する。
Figure 0006788019
Nesterovの加速勾配降下は、次の更新ルールに従う。
Figure 0006788019
非一貫性トレーニングをこれらのSGDの変形に導入するには、それぞれ方程式19および方程式20に従って、アルゴリズム1の行21を変更するだけでよい。アルゴリズム2は同じままである。
並列ISGD
ISGDは、broadcast、reduce、およびallreduceなどのMPIスタイルのコレクティブを使用して、分散システムまたはマルチGPUシステム上で拡大される。アルゴリズム1およびアルゴリズム2はすでに、それらの内部でコレクティブによって明示された並列バージョンである。
図9は、ISGD内のデータ並列化方式を示している。ここで、n個のコンピューティングノードが存在し、それぞれがクラスター内のGPUまたはサーバであると仮定する。各ノードは、モデルの複製を含んでいる。ノードは、サブバッチと呼ばれる、元のバッチの独立した一部を取得する。その後、すべてのノードは、割り当てられたサブバッチを使用して劣勾配および副損失を同時に計算する。この計算が完了した後に、アルゴリズムは、全体的な勾配および損失を取得するために、劣勾配および副損失をマスターノードにまとめる(アルゴリズム1の行10〜12)。その後、マスターノードは、ネットワークのウェイトを更新し(アルゴリズム3の行21)、最新のウェイトをブロードキャストする(アルゴリズム3の行9)。したがって、ISGDは、MPIスタイルのコレクティブを採用することによって、システム構成からアルゴリズムを分離する。MPIは業界および学界の標準であるため、ISGDは、さまざまな異種分散システムに対する移植性が高い。
バッチサイズおよび収束速度
バッチサイズは、ISGDの並列性にとって重要な要因である。バッチに対する動作は独立しているため、巨大な計算能力を持つシステム上でISGDを拡大する場合、十分に大きいバッチが好ましい。ただし、手に負えないほど大きいバッチサイズは、制限された計算予算の下では、収束率に悪影響を与える。現在の収束率の分析は、単に性能測定基準として反復回数を使用するが、反復が高速なアルゴリズムのほうが、低速なアルゴリズムよりも時間がかかることがあるという事実を考慮できない。したがって、時間領域において収束率を分析するのが、実用的である。
ここで、システムの最大処理能力が1秒当たりC1個の画像であり、同期にかかる時間がC2秒であると仮定する。ネットワークのコストは、ネットワークパラメータのサイズのみによって決まるため、一定である。勾配の更新にかかるコストは、基本的に次のようになる。
Figure 0006788019
ここで、nbはバッチサイズである。一定の時間tが与えられた場合、勾配の更新の回数は次のようになる。
Figure 0006788019
T回の勾配の更新の後に、損失が次式によって抑制される。
Figure 0006788019
ここで、方程式23における等価性を仮定して、方程式22を代入する。それによって方程式24が得られ、方程式24は、損失Ψ、時間t、ならびにシステム構成C1およびC2に影響を与える。
Figure 0006788019
図10は、異なるバッチサイズnb∈(0,3000)での、方程式24によって計算された2つのシステム構成における予測トレーニング時間を示している。Ψを固定することによって、方程式は、異なるバッチにおける合計トレーニング時間を近似する。この図は、第1のシステムおよび第2のシステムの最適なバッチサイズが、それぞれ500および1000であることを示している。この場合、システムが高速であるほど、大きいバッチが必要になる。これらのシステムの性能は、その後、両方とも低下している。その結果、最適なバッチサイズは、システム構成とアルゴリズムの収束との間のトレードオフになる。
実験
このセクションでは、モーメンタムおよびNesterovなどのSGDの変形と比較して、MNIST、CIFAR−10、およびImageNetを含む、広く認識されたさまざまなデータセットに対する非一貫性トレーニングの性能を示す。MNISTは、60000個の、0〜9の範囲の手書きの数字を含んでいる。CIFAR−10は、10のクラスに分類された60000個の32x32 RGB画像を含んでいる。ILSVRC 2012 ImageNetは、1000の物体カテゴリを描写する1431167個の256x256 RGB画像を含んでいる。LeNet、Caffe CIFAR−10 Quick、およびAlexNetを使用して、MNIST、CIFAR−10、およびImageNetに対してそれぞれトレーニングする。ネットワークの複雑さは、データセットのサイズに比例する。したがって、これらのベンチマークは、小規模、中規模、および大規模のCNNトレーニングをカバーする。
4つのNVIDIA Maxwell TITAN Xを含むマルチGPUシステム上で実験を行う。CUDAバージョンは7.5であり、コンパイラはGCC 4.8.4である。マシンは、64GBのRAMおよび1TBのSSDを備えている。CPUはXeon E5 4655 v3である。CaffeはcuDNNバージョン4を使用して構築される。GPUマシンは、ベンチマークの実施中に、我々によって排他的に所有された。
MNIST、CIFAR、およびImageNetに対してISGDおよびSGDを使用したトレーニングから、平均のTOP精度(top accuracy)および時間が報告された。IMPは、SGDに対するISGDの改善を表している。10回の実行からデータが収集され、ISGDは、3つのデータセットに対して一貫してSGDよりも高い性能を示した。
Figure 0006788019
Figure 0006788019
非一貫性トレーニングの定性的評価
このセクションは、非一貫性トレーニングの影響を定性的に評価することを目的にしている。非一貫性トレーニングの目的は、損失の大きいバッチが損失の小さいバッチよりも多くのトレーニングを受けるように、バッチ間でトレーニングの労力をリバランスすることである。非一貫性トレーニングの影響を定性的に評価するために、損失分布、平均損失、バッチの損失分布の標準偏差の進行、および検証精度を調べる。CIFAR−10データセットに対してCaffe CIFAR−10 Quickネットワークを使用するトレーニングを設定する。バッチサイズが2500に設定され、20個の独立したバッチが得られる。図11(A)および図11(B)は、トレーニングでの20個のバッチの損失分布を提示している。解法がバッチをエポック内で1回だけ調べるため、エポック内に損失を配置する。
非一貫性トレーニングには、次のメリットがある。(1)ISGDは、トレーニングの改善により、SGDよりも高速に収束する。データセット内のバッチの平均損失によって収束率を測定し、この方法は、方程式3におけるトレーニングの定義に従っている。図11(D)の平均損失データは、ISGDがSGDよりも高速に収束していることを示している。SGDとは対照的に、7000回を超える反復後のISGDの平均損失がより低くなっている。
図11(D)は、テスト9(図11(E))の後にISGDの精度が良くなっていることを示している。図11(E)におけるISGDの検証精度もSGDを上回っており、このことは図11(D)のデータと一致しており、図11(D)では、トレーニングでのISGDの平均損失がSGDの平均損失を下回っている。これらは、非一貫性トレーニングの収束の優位性を正当化する。(2)ISGDは、トレーニングの進行において、損失の小さいバッチとのトレーニングの差を縮小するために、損失の大きいバッチを動的に加速する。したがって、バッチのトレーニング状態の変動は、SGDによってトレーニングされたバッチのトレーニング状態の変動よりも小さい。バッチの損失を使用してバッチのトレーニング状態を測定するということ、およびバッチのトレーニング状態の変動がバッチの損失分布の標準偏差によって測定されるということに注意されたい。
図11(C)は、非一貫性トレーニングがバッチ間のトレーニングの変動を軽減することに成功していることを示している。反復数∈[1000,6000]の場合、ISGDのバッチの損失分布のSTDは、SGDよりも非常に低い。この結果は、図11(A)および図11(B)の損失分布とも一致しており、SGDの損失分布が、エポック数∈[50,300]においてISGDよりも非常に広くなっている。
性能評価
ISGDとSGDの間の各比較の設定は、単一の要因の実験になるように(すなわち、非一貫性トレーニングが唯一の違いになるように)、慎重に行われた。SGDの一部のパラメータはトレーニングの性能に大きな影響を与えるため、それらのパラメータに異なる値を設定することは、実験の信頼性を損なう。したがって、SGDおよびISGDのパラメータが各比較において同じであることを保証する。検討される第1のパラメータは、学習率である。MNISTテストは0.01という一定の学習率を採用し、CIFARテストは0.001という一定の学習率を採用する。どちらのケースも、Caffeにおいて定義されている解法と一致している。学習率を縮小せずにネットワークにおいて十分な精度(CIFARでは75%、MNISTでは99%)が得られるため、Caffeは、これらの2つのケースで学習率を固定する。AlexNetはlrを縮小する必要があるため、その学習率には、平均損失
Figure 0006788019
の場合はlr=0.015、[1.2,2.0)内の
Figure 0006788019
の場合はlr=0.0015、および[0,1.2)内の
Figure 0006788019
の場合はlr=0.00015、という3つの可能性がある。バッチサイズも、CIFAR、MNIST、およびImageNetでの各比較で同じである。4つのGPUを完全に飽和させるために、大きいバッチを採用する。ウェイト減衰およびモーメンタムなどの他のパラメータについても、すべてのテストを通じて同じである。
ISGDは、すべてのテストにおいて一貫してSGDよりも高い性能を示しており、非一貫性トレーニングの有効性を明らかに示している。両方の手法がモーメンタムの項を組み込んでいることに注意されたい。ISGD反復は一貫していないため、MNISTテストでは2秒おき、CIFARテストでは6秒おき、およびImageNetテストでは900秒おきにテストする(テスト時間を除外してトレーニング時間のみをカウントする)。水平方向の破線は目標精度を表し、合計トレーニング時間は、0から開始して、検証精度が破線を一貫して超える時点までである。ImageNetテストでは、ISGDは、SGDよりも14.94%速い収束を示している。SGDは、81%のTOP 5精度に達するのに21.4時間かかるが、ISGDは18.2時間かかる(図13(C))。CIFARテストでは、ISGDは、SGDよりも23.57%速い収束を示している。CIFAR−10に対して報告されたCIFAR−QuickネットワークのTOP精度は75%である。306秒後に、SGDのテスト精度は75%を安定して超えるが、ISGDは234秒しかかからない(図12(B))。最後に、ISGDは、MNISTデータセットに対して、SGDよりも28.57%速い収束を示している。SGDは99%のTOP精度に達するのに56秒かかるが、ISGDは40秒しかかからない。トレーニングは基本的に確率的プロセスであるため、性能は変化することがある。各テストケースを10回繰り返し、その性能データを表1に示す。この結果も、非一貫性トレーニングの収束の優位性を指示している。
ISGDの性能の優位性を説明するために、やはりトレーニングデータセットを使用してテストする。一方、ImageNetの256GBのトレーニングセットは、テストされるには大きすぎるため、アルゴリズム3において
Figure 0006788019
を使用して、トレーニング誤差を近似する。図12(D)、図12(E)、および図12(F)は、ISGDのトレーニング誤差がSGDを一貫して下回っていることを示している。この結果は、非一貫性トレーニングの効果を示しており、図12(A)、図12(B)、および図12(C)におけるISGDの良い検証精度も説明している。
非一貫性トレーニングは、Nesterovの加速勾配降下とも互換性がある。図14(A)および14(B)は、Nesterovの加速勾配降下を使用してトレーニングされた、ImageNetに対する検証精度およびトレーニング損失の進行を示している。非一貫性トレーニングは、標準的なNesterov手法に勝っている。58%のTOP 1精度をしきい値として設定した場合、非一貫性トレーニングは、しきい値を超えるために65回のテストを実行するが、標準的なトレーニングは75回のテストを実行する。2つの連続するテストの時間間隔が固定されていることに注意されたい。したがって、非一貫性トレーニングは、13.4%の性能向上を示している。この互換性は、我々の期待を下回っている。Nesterov手法は、曲率情報を考慮することによって収束を加速するが、ISGDはバッチ間でトレーニングをリバランスする。
マルチGPUでのバッチサイズに関する時間領域の収束率
図13(A)〜13(C)は、MNIST、CIFAR、およびImageNetデータセットに対する、異なるバッチサイズでの収束速度を示している。これらの図は、次の結論を反映している。(1)マルチGPUのトレーニングでは、十分に大きいバッチが必要である。単一GPUは計算tcomptのみを伴うが、マルチGPUのトレーニングは、同期のための追加項tcommを伴う。単一GPUのトレーニングの場合、頻繁な勾配の更新を保証するために、小さいバッチサイズが好ましい。マルチGPUのトレーニングでは、同期のコストが、勾配の更新の回数と共に線形に増加する。バッチサイズを増やすと収束率が改善され、それによって、反復回数および同期回数が減る。加えて、システムの利用率および飽和も改善される。結果として、図13(A)〜13(C)に示されているように、マルチGPUのトレーニングには、中程度のバッチサイズが好ましい。(2)手に負えないほど大きいバッチサイズは、収束速度を低下させる。計算がバッチサイズと共に線形に増加するため、大きいバッチサイズは、制限された時間内での勾配の更新の回数を減らす。バッチサイズが3000、10000、3400に設定された場合の収束速度の低下が、図13(A)、図13(B)、および図13(C)においてそれぞれ観察できる。
要約
本開示では、バッチのトレーニング状態に関してトレーニングの労力を動的に調整するための非一貫性トレーニングについて説明した。ISGDは、トレーニングを確率的プロセスとしてモデル化し、確率的プロセス制御において、損失の大きいバッチをリアルタイムで識別するための手法を利用する。その後、ISGDは、十分にトレーニングされていないバッチに対するトレーニングを加速するための新しい下位問題を解く。さまざまなデータセットおよびモデルに対する多数の実験が、非一貫性トレーニングの有望な性能を示している。
以上で、いくつかの具体的な例を使用して本開示を提示したが、当業者は、我々の教示がそのように限定されないということを認識するであろう。したがって、本開示は、添付された特許請求の範囲によってのみ限定されるべきである。

Claims (2)

  1. 少なくとも1つのコンピューティングデバイスによって、非一貫性確率的勾配降下(ISGD)アルゴリズムでトレーニングデータセットを使用して畳み込みニューラルネットワーク(CNN)をトレーニングすることを含み、
    前記ISGDアルゴリズムはトレーニングデータの非一貫性を扱い、
    前記トレーニングが、前記ISGDアルゴリズムをある反復回数実行することを含む、方法であって、
    前記コンピューティングデバイスが複数のプロセッサを含み、前記方法が、前記少なくとも1つのコンピューティングデバイスによって、前記非一貫性確率的勾配降下アルゴリズムの任意の計算の少なくとも一部を前記複数のプロセッサ上で並列化することをさらに含み、
    前記トレーニングデータの非一貫性を扱うことが、
    トレーニングデータのバッチを使用して前記CNNがトレーニングされ、損失の決定に基づいて、前記バッチが十分にトレーニングされていない状態または十分にトレーニングされている状態として分類され、
    十分にトレーニングされていないとして分類されたバッチが、前記バッチの決定された損失が既定のしきい値を下回るか、または既定の反復回数に達するまで、継続的にトレーニングされ、
    前記継続されるトレーニングが、次の問題
    Figure 0006788019
    によって定義され、φ が前記ネットワーク内のウェイトパラメータに関する前記ISGDの最適化問題の関数の表記であり、nが前記ネットワーク内のウェイトパラメータの数であり、
    Figure 0006788019
    はウェイトベクトルwを含む損失関数であり、dは画像のバッチであり、εは急激なパラメータの変化を防ぐための制約を調整する第2の項のパラメータであり、limit、Wt-1およびdが定数であり、第1の項が現在の十分にトレーニングされていないバッチdの前記損失と管理限界の間の差を最小化することを含む、方法。
  2. 少なくとも1つのコンピューティングデバイスによって、非一貫性確率的勾配降下(ISGD)アルゴリズムでトレーニングデータセットを使用して畳み込みニューラルネットワーク(CNN)をトレーニングすることを含み、
    前記ISGDアルゴリズムはトレーニングデータの非一貫性を扱い、
    前記トレーニングが、前記ISGDアルゴリズムをある反復回数実行することを含む、方法であって、
    前記コンピューティングデバイスが複数のプロセッサを含み、前記方法が、前記少なくとも1つのコンピューティングデバイスによって、前記非一貫性確率的勾配降下アルゴリズムの任意の計算の少なくとも一部を前記複数のプロセッサ上で並列化することをさらに含み、
    前記トレーニングデータの非一貫性を扱うことが:
    トレーニングデータのバッチを使用して前記CNNがトレーニングされ、損失の決定に基づいて、前記バッチが十分にトレーニングされていない状態または十分にトレーニングされている状態として分類され、
    前記損失が
    Figure 0006788019
    によって定義された管理限界よりも大きい場合に、バッチが十分にトレーニングされていないとして分類され、
    Figure 0006788019
    が移動平均損失を示し、
    Figure 0006788019
    がトレーニング期間の移動標準偏差を示し、
    前記十分にトレーニングされていないバッチにおいて、次の問題
    Figure 0006788019
    を解くことを含み、φ が前記ネットワーク内のウェイトパラメータに関する前記ISGDの最適化問題の関数の表記であり、n が前記ネットワーク内のウェイトパラメータの数であり、
    Figure 0006788019
    はウェイトベクトルwを含む損失関数であり、d は画像のバッチであり、εは急激なパラメータの変化を防ぐための制約を調整する第2の項のパラメータであり、limit、W t-1 およびd が定数であり、第1の項が現在の十分にトレーニングされていないバッチd の前記損失と管理限界の間の差を最小化することを含む、方法。
JP2018540057A 2016-02-05 2017-02-06 非一貫性確率的勾配降下を使用した深層ニューラルネットワークのトレーニングの高速化 Active JP6788019B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662291554P 2016-02-05 2016-02-05
US62/291,554 2016-02-05
US15/423,360 US10572800B2 (en) 2016-02-05 2017-02-02 Accelerating deep neural network training with inconsistent stochastic gradient descent
US15/423,360 2017-02-02
PCT/US2017/016637 WO2017136802A1 (en) 2016-02-05 2017-02-06 Accelerating deep neural network training with inconsistent stochastic gradient descent

Publications (2)

Publication Number Publication Date
JP2019509550A JP2019509550A (ja) 2019-04-04
JP6788019B2 true JP6788019B2 (ja) 2020-11-18

Family

ID=59496441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018540057A Active JP6788019B2 (ja) 2016-02-05 2017-02-06 非一貫性確率的勾配降下を使用した深層ニューラルネットワークのトレーニングの高速化

Country Status (4)

Country Link
US (1) US10572800B2 (ja)
JP (1) JP6788019B2 (ja)
DE (1) DE112017000670T5 (ja)
WO (1) WO2017136802A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018018451A (ja) * 2016-07-29 2018-02-01 富士通株式会社 機械学習方法、機械学習プログラム及び情報処理装置
US10963783B2 (en) * 2017-02-19 2021-03-30 Intel Corporation Technologies for optimized machine learning training
CN117709426A (zh) * 2017-02-24 2024-03-15 渊慧科技有限公司 训练机器学习模型的方法、系统和计算机存储介质
US11580361B2 (en) * 2017-04-24 2023-02-14 Intel Corporation Neural network training mechanism
CN107316083B (zh) * 2017-07-04 2021-05-25 北京百度网讯科技有限公司 用于更新深度学习模型的方法和装置
WO2019029785A1 (en) * 2017-08-07 2019-02-14 Renesas Electronics Corporation MATERIAL CIRCUIT
JP2019080232A (ja) * 2017-10-26 2019-05-23 株式会社Preferred Networks 勾配圧縮装置、勾配圧縮方法及びプログラム
EP3616134A1 (en) * 2017-10-27 2020-03-04 Google LLC Systems and methods for improved optimization of machine-learned models
CN108171318B (zh) * 2017-11-30 2022-05-27 河南大学 一种基于模拟退火—高斯函数的卷积神经网络集成方法
CN107945134B (zh) * 2017-11-30 2020-10-09 北京小米移动软件有限公司 图像处理方法及装置
US20200311604A1 (en) * 2017-12-22 2020-10-01 Koninklijke Philips N.V. Accelerated data access for training
US11244243B2 (en) * 2018-01-19 2022-02-08 Hypernet Labs, Inc. Coordinated learning using distributed average consensus
US10878482B2 (en) 2018-01-19 2020-12-29 Hypernet Labs, Inc. Decentralized recommendations using distributed average consensus
US10884795B2 (en) 2018-04-26 2021-01-05 International Business Machines Corporation Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster
US11120333B2 (en) 2018-04-30 2021-09-14 International Business Machines Corporation Optimization of model generation in deep learning neural networks using smarter gradient descent calibration
CN109034373B (zh) * 2018-07-02 2021-12-21 鼎视智慧(北京)科技有限公司 卷积神经网络的并行处理器及处理方法
CN110766152B (zh) * 2018-07-27 2023-08-04 富士通株式会社 用于训练深度神经网络的方法和装置
US11816575B2 (en) 2018-09-07 2023-11-14 International Business Machines Corporation Verifiable deep learning training service
US11853391B1 (en) * 2018-09-24 2023-12-26 Amazon Technologies, Inc. Distributed model training
CN111104767B (zh) * 2018-10-10 2021-10-01 北京大学 一种针对fpga的变精度随机梯度下降的结构及设计方法
JP6946255B2 (ja) * 2018-11-13 2021-10-06 株式会社東芝 学習装置、推定装置、学習方法およびプログラム
JP7283065B2 (ja) * 2018-12-07 2023-05-30 日本電信電話株式会社 推定装置、最適化装置、推定方法、最適化方法、及びプログラム
US11200438B2 (en) * 2018-12-07 2021-12-14 Dus Operating Inc. Sequential training method for heterogeneous convolutional neural network
EP3894907B1 (en) * 2018-12-11 2024-01-24 ExxonMobil Technology and Engineering Company Machine learning-augmented geophysical inversion
CN109737955A (zh) * 2018-12-14 2019-05-10 南京理工大学 一种海浪补偿系统的姿态预测方法
CN111598113A (zh) * 2019-02-20 2020-08-28 富士通株式会社 模型优化方法、数据识别方法和数据识别装置
CN109978177B (zh) * 2019-03-19 2023-06-23 腾讯科技(深圳)有限公司 模型训练方法、业务处理方法、装置及相关设备
US11093862B2 (en) 2019-03-21 2021-08-17 International Business Machines Corporation Locality aware data loading for machine learning
US10956357B2 (en) 2019-04-01 2021-03-23 International Business Machines Corporation Method for flexible, fast all-reduce on arbitrary tree topology
CN110378480B (zh) * 2019-06-14 2022-09-27 平安科技(深圳)有限公司 模型训练方法、装置及计算机可读存储介质
CN110378307B (zh) * 2019-07-25 2022-05-03 广西科技大学 基于深度学习的纹理图像方向场估计方法
US20210089899A1 (en) * 2019-09-19 2021-03-25 Lucinity ehf Federated learning system and method for detecting financial crime behavior across participating entities
US11640552B2 (en) * 2019-10-01 2023-05-02 International Business Machines Corporation Two stage training to obtain a best deep learning model with efficient use of computing resources
CN111027668B (zh) * 2019-12-05 2023-04-07 深圳牛图科技有限公司 一种基于贪婪算法的神经网络自荐方法
CN111209815B (zh) * 2019-12-28 2023-08-22 杭州电子科技大学 一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法
CN111160531B (zh) * 2019-12-30 2023-09-22 北京迈格威科技有限公司 神经网络模型的分布式训练方法、装置及电子设备
US11410083B2 (en) 2020-01-07 2022-08-09 International Business Machines Corporation Determining operating range of hyperparameters
CN111507530B (zh) * 2020-04-17 2022-05-31 集美大学 基于分数阶动量梯度下降的rbf神经网络船舶交通流预测方法
US11475304B2 (en) 2020-05-12 2022-10-18 International Business Machines Corporation Variational gradient flow
CN111860585A (zh) * 2020-06-11 2020-10-30 南京简凡科技有限公司 一种基于超声影像人工智能算法的脂肪肝自动检测方法
CN111967035B (zh) * 2020-10-23 2021-04-27 支付宝(杭州)信息技术有限公司 模型训练方法、装置和电子设备
CN113469341A (zh) * 2021-07-07 2021-10-01 河海大学 一种基于版本差异的流水线并行训练节点权重分配方法
WO2023087451A1 (zh) * 2021-11-19 2023-05-25 山东大学 基于观测数据自编码的多尺度无监督地震波速反演方法
CN114724009B (zh) * 2022-04-26 2022-09-27 北京拙河科技有限公司 一种基于改进的深度学习网络的图像识别方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05159086A (ja) * 1991-12-03 1993-06-25 Nippon Telegr & Teleph Corp <Ntt> ニューラルネットワークの学習方式
US9443141B2 (en) * 2008-06-02 2016-09-13 New York University Method, system, and computer-accessible medium for classification of at least one ICTAL state
US20140156231A1 (en) * 2012-11-30 2014-06-05 Xerox Corporation Probabilistic relational data analysis
US9508347B2 (en) * 2013-07-10 2016-11-29 Tencent Technology (Shenzhen) Company Limited Method and device for parallel processing in model training
US10373047B2 (en) * 2014-02-28 2019-08-06 Educational Testing Service Deep convolutional neural networks for automated scoring of constructed responses
US10540587B2 (en) * 2014-04-11 2020-01-21 Google Llc Parallelizing the training of convolutional neural networks
US10540606B2 (en) 2014-06-30 2020-01-21 Amazon Technologies, Inc. Consistent filtering of machine learning data
US20170213150A1 (en) * 2016-01-25 2017-07-27 Osaro, Inc. Reinforcement learning using a partitioned input state space

Also Published As

Publication number Publication date
DE112017000670T5 (de) 2018-10-25
WO2017136802A1 (en) 2017-08-10
JP2019509550A (ja) 2019-04-04
US10572800B2 (en) 2020-02-25
US20170228645A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
JP6788019B2 (ja) 非一貫性確率的勾配降下を使用した深層ニューラルネットワークのトレーニングの高速化
Wang et al. Accelerating deep neural network training with inconsistent stochastic gradient descent
Coleman et al. Analysis of dawnbench, a time-to-accuracy machine learning performance benchmark
Addanki et al. Placeto: Learning generalizable device placement algorithms for distributed machine learning
US11651259B2 (en) Neural architecture search for convolutional neural networks
US11531861B2 (en) Neural architecture search with factorized hierarchical search space
Kunin et al. Neural mechanics: Symmetry and broken conservation laws in deep learning dynamics
Herbst et al. Sequential Monte Carlo sampling for DSGE models
US11461637B2 (en) Real-time resource usage reduction in artificial neural networks
CN108170529A (zh) 一种基于长短期记忆网络的云数据中心负载预测方法
Kim et al. Minimizing GPU kernel launch overhead in deep learning inference on mobile GPUs
JP6187977B2 (ja) 解析装置、解析方法及びプログラム
Lattuada et al. Performance prediction of deep learning applications training in GPU as a service systems
US20210312278A1 (en) Method and apparatus with incremental learning moddel
Li et al. An experimental study on deep learning based on different hardware configurations
CN107038244A (zh) 一种数据挖掘方法和装置、一种可读介质和存储控制器
WO2022105348A1 (zh) 神经网络的训练方法和装置
JP2020003860A (ja) 学習システム、処理装置、処理方法、およびプログラム
CN112488319B (zh) 一种具有自适应配置生成器的调参方法和系统
US11710301B2 (en) Apparatus for Q-learning for continuous actions with cross-entropy guided policies and method thereof
Moon et al. Parallel data-local training for optimizing word2vec embeddings for word and graph embeddings
Li et al. Kernel learning by unconstrained optimization
Wang et al. Anthropomorphic diagnosis of runtime hidden behaviors in OpenMP multi-threaded applications
Hodak et al. Performance implications of big data in scalable deep learning: on the importance of bandwidth and caching
Haderbache et al. Acceleration of Structural Analysis Simulations using CNN-based Auto-Tuning of Solver Tolerance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201029

R150 Certificate of patent or registration of utility model

Ref document number: 6788019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350