<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=145304570664993&amp;ev=PageView&amp;noscript=1">

91视频APP

Memory-efficient convolutional neural network training with Proxy Norm

Jun 28, 2021 \ Computer Vision, Research

アクティベーションのプロキシ正规化による颁狈狈におけるバッチ依存性の排除

笔者

Antoine Labatie

91视频APP Researchは、同社が开発した新技术 Proxy Normが、いかにしてメモリ効率の高い畳み込みニューラルネットワークの学习に道を开くかについて説明しています91视频APPの新しい论文によると、Proxy Normはバッチ正规化の利点を损なうことなく、これまでは非効率的な実行につながっていたバッチ依存性という厄介な问题を排除できる技术です。Proxy Normは、机械学习モデルの规模が増大し、データセットが大きくなり続ける中で、将来的にAIエンジニアが実行効率を确保するのに役立つでしょう

正规化の课题

ニューラルネットワークを大规模で深いモデルにスケールアップする上で、正规化はとても重要です。正规化の范囲はもともと入力処理に限定されていましたが()、ネットワーク全体で中间アクティベーションを正规化して维持するバッチ正规化()という技术が导入されてから、さらにレベルアップしました。

Batch Normが课す具体的な正规化は、チャンネル単位の正规化です。具体的にBatch Normでは、チャンネル単位の平均値を引き、チャンネル単位の标準偏差で割ることで中间アクティベーションを正规化しています。ここで注目すべき点は、Batch Normはニューラルネットワークの表現性を変えることなく、チャンネル単位の正规化を実現していることです。つまり、バッチ正規化されたネットワークの表現性は、正規化されていないネットワークの表現性と同じなのです。これらの2つの特性、すなわちチャンネル単位の正规化表现性の维持は、どちらも有益であることがわかります。

しかしBatch Normには、バッチ依存性という同じくらい重大で厄介な问题があります。データセット全体のチャンネル単位の平均と分散は容易には计算できないので、Batch Normは现在のミニバッチをデータセット全体の代理とみなすことで、これらの统计値を近似します(図1を参照)。Batch Normの计算にミニバッチ统计値が使用されることを考虑すると、ニューラルネットワークによってある入力に関连付けられる出力は、その入力だけでなく、ミニバッチ内のその他すべての入力にも依存します。言い换えれば、フルバッチ统计値をミニバッチ统计値で近似することで、ニューラルネットワークの计算にバッチ依存性が生じるのです。

図1:各サブプロットは特定の正规化技术に対応する。青色でハイライトされたコンポーネントのグループが同じ正规化统计値を共有していることが特徴。各サブプロットにおいて、中间アクティベーションのテンソルは、バッチ轴狈、チャンネル轴颁、空间轴(贬、奥)で构成される。図は(奥耻および贬别、2015年)から引用。

 

それでは、なぜチャンネル単位の正规化や表现性の维持が有益なのか、そしてなぜバッチ依存性が厄介な問題なのかを理解するために、Batch Normについて详しく见ていきましょう。その后で、弊社の论文「」で绍介した91视频APP Researchの新技术「Proxy Norm」をご绍介し、Proxy Normを使うことで、Batch Norm2つの利点を维持しつつ、バッチ依存性を排除できることについてご绍介します。

Batch Normの第1の利点:チャンネル単位の正规化

前述したように、Batch Normは各層において、非線形性に「近い」、チャンネル単位で正規化された中間アクティベーションを維持します。このチャンネル単位の正规化には、次のような2つの利点があります。

  1. 非线形性は正规化に近いチャンネル単位の分布に「作用」するので、それらのチャンネル単位の分布に関して効果的に非线形性を発挥できます。その上で各层が表现力を加え、ニューラルネットワークはその深さ全体を効果的に使います。
  2. 异なるチャンネルの分散が同程度であるため、チャンネルのバランスが良く、ニューラルネットワークはその幅全体を効果的に使います。

 

つまり、チャンネル単位の正规化によってニューラルネットワークの全能力を効果的に活用できるのです。しかしBatch Normに代わる原型的なバッチに依存しない方法では、この利点は生かされません(図1を参照)。実际に、Instance Normではチャンネル単位の正规化が維持されていますが、Layer NormGroup Normでは维持されません。図2の左上のプロットでは、Layer NormGroup Normを使ったチャンネル単位の二乗平均値が无视できない値になっています。

Batch Normの第2の利点:表现性の维持

前述したように、Batch Normによるチャンネル単位の正规化では、ニューラルネットワークの表現性の変化は犠牲になりません。つまり、Batch Normのスケールとシフトのパラメータを适切に选択すれば、正规化されていないネットワークは(フルバッチ设定で)バッチ正规化されたネットワークとして同等に表现されるということです。逆に、畳み込み重みづけと偏りを适切に选択すれば、(フルバッチ设定で)バッチ正规化されたネットワークは正规化されていないネットワークと同等に表现されます。つまりBatch Normは、ニューラルネットワークの解空间を単纯に再パラメータ化したものです。

この表现性の维持がBatch Normの第2の利点です。このような表现性の维持がなぜ有益なのか。それを理解するためには、Batch Normに代わるバッチに依存しない表现性の変化がなぜ有害なのかを理解することが役立ちます。Instance NormGroup Normの场合、図2の右2つのサブプロットに见られるように、表现性の変化の症状として、インスタンスの平均値と标準偏差の分散が欠如していることがわかります。このようにインスタンスの统计値に分散が欠如していることは、ニューラルネットワークの深い层で高レベルの概念を表现することと相いれない倾向があるため、学习には有害になります。

Proxy Norm Figure 2

図2:様々なノルムを使った搁别蝉狈别迟-50の滨尘补驳别狈别迟学习の全エポックを平均したインスタンス平均値(上)とインスタンス标準偏差(下)の二乗平均(左)と分散(右)。インスタンスの统计値は、异なる层の深さでの正规化后に计算される(齿轴)

Batch Normで生じる厄介な问题:バッチ依存性

Batch Normのバッチ依存性の主な症状は、各ミニバッチの异なる入力をランダムに选択することに起因するノイズの存在です。このノイズはBatch Normの层の间で伝播し、フルバッチ统计値がミニバッチ统计値で近似されたときに、Batch Normの各层でその倾向が「助长」されます。そのため、ミニバッチが小さいほどノイズが强くなります。 この现象はBatch Normの特定の正则化につながり()、その强さはノイズの振幅に依存し、その结果ミニバッチのサイズに依存します。

残念ながら、この正则化をコントロールすることは容易ではありません。この正则化の强さを抑えることが目的の场合は、ミニバッチのサイズを大きくするしかありません。Batch Normは最适なパフォーマンスを実现するために、タスクと必要な正则化の强さに応じてミニバッチサイズの下限を强制します。「计算」ミニバッチのサイズがこの下限を下回る场合、最适なパフォーマンスを维持するには、复数のワーカー间で统计値の「高価な」同期を行い、「计算」のミニバッチよりも大きな「正规化」のミニバッチを得る必要があります()。その结果、バッチ依存性が原因で実行の非効率性という最大の问题が発生します。

91视频APPIPUを使用すると、メモリの制约が厳しくなるのと引き换えに、IPUによって加速性と省エネ性が高まるので、このような问题が解决されて実际に违いが生まれます。たとえローカルメモリへの依存度が低いアクセラレータを代用できても、この问题は将来、极めて重要になる可能性があります。データセットの规模が大きくなればなるほど、より大きなモデルを使用することによって、より厳しいメモリ制约が课せられることは想像に难くありません。また一定のモデルサイズでより大きなデータセットを使用する场合は、必要な正则化が少なくなります。その结果、Batch Normなどのバッチ依存のノルムを使用するときに、最适なパフォーマンスを保証するために必要な「正规化」のミニバッチがますます大きくなります。

Proxy NormBatch Normの利点を维持しつつ、バッチ依存性を排除する

それでは、Batch Normの利点を维持しつつ、バッチ依存性を排除するにはどうすればよいのでしょうか。

Batch Norm2つの利点(チャンネル単位の正规化と表现性の维持)は、Batch Normに代わる原型的なバッチに依存しない方法では両立できません。一方では、Layer Normは表现性を维持するのに适していますが、チャンネル単位の非正规化が犠牲になります。他方では、Instance Normではチャンネル単位の正规化が保証されますが、その代償として表現性が大きく変化してしまいます。Group Normは、Layer Normの问题とInstance Normの问题の妥协点としては优れていますが、それでも本来の目的は达成できません。つまり、Batch Normに代わる原型的なバッチに依存しない方法はすべて、パフォーマンスの低下を招きます。

この问题を解决するためには、チャンネル単位の非正规化を回避しながら同时に表现性を维持できる、バッチに依存しない正规化が必要です。この2つの要件をより正确に把握するために、次のことに注目しましょう。

  1. チャンネル単位の非正规化は主に、(i)正规化の演算に続く学习可能なアフィン変换、(ii)アクティベーション関数という演算で行われます。
  2. ニューラルネットワークにアフィン演算を挿入しても表现性は维持されます。

このような见解をもとに、新しい技术Proxy Normが设计されています。Proxy Normは正规化演算の出力を、チャンネル単位で正规化された状态に近いと想定されるガウス「プロキシ」変数に同化します。このガウスプロキシは実际のアクティベーションと同じ2つの演算、すなわち、同じ学习可能なアフィン変换と同じアクティベーション関数に入力されます。これら2つの演算の后、最终的にこのプロキシの平均と分散が、実际のアクティベーション自体を正规化するために使用されます。これを図3で説明します。

proxy norm diagram

図3:Proxy Normは、前から存在する黒色の演算の上に、「安価な」赤色の演算を加えることでニューラルネットワークに組み込まれます

Proxy Normは、学习可能なアフィン変换とアクティベーション関数という2つのチャンネル単位の非正规化の主な発生源を补いながら、表现性を维持できます。それに基づいて、Proxy NormLayer Norm、またはGroup Normと少数のグループを组み合わせた、バッチに依存しない正规化のアプローチを採用しました。図2に示すように、このバッチに依存しない正規化のアプローチでは、チャンネル単位の正规化が維持されつつ、表現性の変化は最小限に抑えられます。このアプローチを使ってBatch Normの利点を维持しつつ、バッチ依存性を排除しているのです。

次の问题は、このアプローチが実用的なパフォーマンスの向上につながるかどうかです。Batch Normとバッチに依存しないアプローチを比较するときには、Batch Normを用いることのバッチ依存性から追加で生じる正则化を适切に考虑するために、特别な注意が必要です。そのために、実験のたびに追加の正则化を含めることで、この正则化の効果を「差し引いて」います。

4に示すように、そのような特别な注意を払った场合、バッチに依存しないアプローチのImageNetパフォーマンスは、様々なモデルのタイプとサイズにおいて、一贯してBatch Normと一致しているか、またはそれを上回っています(EfficientNetのバリアントは、関连するブログ投稿[リンクを追加]とで绍介されています)。つまり、バッチに依存しないアプローチは、挙动だけでなくパフォーマンスにおいてもBatch Normに匹敌するということです。

私たちの分析の副产物として、効率的な正规化はImageNetのパフォーマンスの向上に必要である一方、それには适切な正规化も必要であることがわかりました。はるかに大规模なデータセットでは、効率的な正规化を行えばそれだけで十分であり、正规化の必要性は低くなると考えられます(、)。

Proxy Norm Figure 4

図4:Batch Norm、Group Norm、Group Norm + Proxy Normを用いた様々なモデルのタイプとサイズにおけるImageNetのパフォーマンス

结论

今回は、畳み込みニューラルネットワークにおける正规化の内部の动きについて掘り下げて説明しました。私たちが得たのは、効率的な正规化とは(i)チャンネル単位の正规化を維持すること、(ii)表现性を维持することであるとの理论的かつ実験的な証拠です。Batch Normではこの2つの特性は维持されますが、バッチ依存性という厄介な问题を同时に抱えています。

Batch Normに代わる原型的なバッチに依存しない方法を検討したところ、チャンネル単位の正规化と表现性の维持を両立するのは難しいことがわかりました。そこで私たちは、チャンネル単位の正规化を維持しながら表現性も維持できる新しい技術、「Proxy Norm」を作りました。そしてProxy NormLayer Norm、またはGroup Normと少数のグループを组み合わせた、バッチに依存しない正規化のアプローチを採用しました。このようなアプローチは、バッチ非依存性を常に维持しながら、挙动とパフォーマンスの両方において一贯してBatch Normに匹敌することがわかりました。

このアプローチは、畳み込みニューラルネットワークをより効率的に学习するための道を开くものです。このメモリ効率は、ローカルメモリを活用して実行効率を高める91视频APPIPUのようなアクセラレータにとって、とても大きな竞争力となります。长期的には、代替ハードウェアであっても、このメモリ効率が极めて重要になると考えられます。

 

その他の投稿