ImageNetの深層学習を24分間で達成した論文を読む

ランニングできず 英語:英語でOpenpose予測モデルを発表

(1) ImageNetの深層学習を24分間で達成した論文を読む

[1709.05011v1] ImageNet Training in 24 Minutes

 以前なら1ヶ月ぐらいかかったImageNetの深層学習が24分で済ませたという衝撃的なタイトルです。

 しかし詳細に読むと実現したのは144時間(6日)  →  24分(360倍)でした。

 これらは次の工夫によって達成されています。 

  ・LARS(Layer-wise Adaptive Rate Scaling)というロジックでバッチサイズを拡大

  ・Intelの高価な計算機の導入

  ・59%程度の識別精度で達成

   高い識別精度を追求すると今でも半月かかるそうです。

 AlexNetとResNet-50の2種類の深層学習モデルで成果報告されています。

f:id:mabonki0725:20170921211800p:plain

  上表で明らかな様に繰返回数(epoch)と精度(Accuracy)は不変ですが、Batchサイズと

Hardwareの改善によって計算が速くなっています。しかし計算機は1億円しています。

 一般に深層学習は下図の様に並列に動作させます。各workerの深層学習の重みの修正毎にMasterは全workerの修正値を読取り再び調整済み重みを全workerに反映しています。そのためバッチサイズを大きくしてworkerを少なくできるとトラフィックが格段に少なくなるので高速化ができます。   

     f:id:mabonki0725:20170921215733p:plain

 

 この論文の寄与はバッチサイズを大きくしても精度が落ちないのはLARSロジックを開発したことです。

 ImageNetでは下表の様に層によっては重み{||w||}_2と重みの改善幅{||\Delta w||}_2の比率が異なるので、学習率\etaを一律にする必要がなく、比率が高い層は刻みが小さいので\etaを大きくすることができます。          

       f:id:mabonki0725:20170921213105p:plain

 この特性に注目して次のLARS(Layer-wise Adaptive Rate Scaling)調整を事前学習時に実施しておくと、ImageNetの本番の深層学習時にバッチサイズを512 → 32Kまで増すことが出来、24分間の深層学習を達成したとのことです。

            1) \eta = \gamma \cdot \alpha     ※学習率の拡大

            2) \alpha = l \cdot \frac{ {||w||}_2}{{||\Delta w||}_2 + \beta {|| \Delta w||}_2}

            3) \Delta w = \Delta w + \beta w

            4)  a = \mu a + \eta \Delta w

            5)  w = w -a

            ここで  

     l \ \beta \ \mu \ \gammaは調整係数

 

 

 

 

 

  ・