e4exp / paper_manager_abstract

0 stars 0 forks source link

Non-deep Networks #687

Open e4exp opened 2 years ago

e4exp commented 2 years ago

深さは、ディープニューラルネットワークの特徴です。 しかし、深さが増すということは、より多くの逐次的な計算が必要となり、レイテンシーも高くなります。 では、「非深層」ニューラルネットワークを構築することは可能なのでしょうか。 我々は、それが可能であることを示します。 そのためには、層を重ねるのではなく、並列サブネットワークを使用します。 これにより、高い性能を維持しながら深さを効果的に減らすことができます。 並列サブネットワークを利用することで、わずか12の深さのネットワークで、ImageNetで80%以上、CIFAR10で96%以上、CIFAR100で81%以上のトップ1精度を達成できることを初めて示しました。 また、バックボーンの深さが12のネットワークが、MS-COCOにおいて48%のAPを達成できることも示しています。 また、我々のデザインのスケーリングルールを分析し、ネットワークの深さを変えずに性能を向上させる方法を示しました。 最後に、非深度ネットワークを用いて低レイテンシーの認識システムを構築する方法について、概念実証を行いました。 コードはこちらのhttpsのURLから入手できます。

https://github.com/imankgoyal/NonDeepNetworks

e4exp commented 2 years ago

image

1 はじめに

ディープニューラルネットワーク(DNN)は,機械学習,コンピュータビジョン,自然言語処理などの分野に革命をもたらした。 その名が示すように、DNNの主な特徴は「深い」ことである。 これは、入力ニューロンから出力ニューロンまでの最長の経路の長さとして定義できる。 ニューラルネットワークは、多くの場合、層が直線的に連なったもの、つまり、グループ内の接続がないニューロンのグループとして記述される。 このような場合、ネットワークの深さはその層の数である。 深さはネットワークの表現能力を高め、ますます抽象的な特徴を学習するのに役立つため、大きな深さは高パフォーマンスのネットワークに不可欠な要素であると一般に認められています(He et al. 実際、ResNetsが成功している主な理由の1つは、1000もの層を持つ非常に深いネットワークをトレーニングできることです(He et al.2016a)。 このように、最先端の性能は、大きな深さを持つモデルを学習することで達成されるようになってきており、「深い」と認定されるものは、深層学習の初期の頃の「2層以上」から、現在のモデルで日常的に使用されている「数十から数百の層」へと変化してきている。

例えば、図1に示すように、ImageNetなどの競争力のあるベンチマークでは、30層以上の非常に深いモデル(He et al.2016a; Huang et al.2017; Tan & Le, 2019)が主流であり、30層未満のモデルは大幅にパフォーマンスが低下しています。 レイヤー数が20未満の最も性能の高いモデルのトップ1精度はわずか75.2で、単一の画像クロップで評価した場合に30以上のレイヤーで達成できる精度よりも大幅に低い(He et al.

しかし、大きな深度は常に必要なのでしょうか? 大きな深度には欠点がないわけではないので、この質問は問いかける価値がある。 深いネットワークは、より多くの逐次処理と高いレイテンシーをもたらします。 並列化が難しく、高速な応答を必要とするアプリケーションには適していません。

本論文では、「非深度」のニューラルネットワーク、特に層数が約10層のネットワークで高性能を実現できるかどうかを研究しました。 その結果、これまでの常識に反して、実際に可能であることがわかりました。 私たちは、非深層型でありながら、深層型のネットワークと比較して競争力のある性能を発揮するネットワークデザインを提案します。 このアーキテクチャをParNet(Parallel Networks)と呼んでいます。 我々は、わずか12の深さを持つ分類ネットワークが、ImageNetでは80%、CIFAR10では96%、CIFAR100では81%を超える精度を達成できることを初めて示しました。 また、バックボーンの深さが低い(12)検出ネットワークが、MS-COCOで48%のAPを達成できることも示しています。

ParNetのパラメータ数は、図1に示すように、最先端のモデルと同程度であることに注意してください。 ParNetの設計上の重要なポイントは、並列サブネットワークの使用です。 順番にレイヤーを並べるのではなく、パラレルサブネットワークでレイヤーを並べます。 この設計は、サブネットワーク間の接続が最初と最後以外にないという意味で、「恥ずかしいほど並列」です。 これにより、高精度を維持しながらネットワークの深さを減らすことができます。 なお、この並列構造は、層内のニューロンの数を増やしてネットワークを広げることとは異なります。ParNetは、深さを大きくする必要があるかどうかという科学的な疑問を解決するだけでなく、実用的な利点もあります。 ParNetは並列部分構造を持っているため、複数のプロセッサで効率的に並列化することができます。 ParNetは効果的に並列化することができ、速度と精度の両方の面でResNetsを上回ることがわかりました。 これは、処理装置間の通信によって余分な待ち時間が発生するにもかかわらず、達成されたことになります。 これは、将来的には、通信の待ち時間をさらに短縮するために特殊なハードウェアを使用すれば、ParNetのようなアーキテクチャを使用して、非常に高速な認識システムを構築できる可能性があることを示しています。 また、ParNetのスケーリングルールについても研究しています。 具体的には、奥行きを一定に保ったまま、幅、解像度、分岐数を増やすことで、ParNetを効果的に拡張できることを示しています。 その結果、ParNetの性能は飽和せず、計算量を増やすことで向上することが分かりました。 これは、計算量をさらに増やすことで、小さな深さ(∼10)と低いレイテンシを維持しながら、さらに高い性能を達成できることを示唆しています。

要約すると、我々の貢献は以下の通りです。

e4exp commented 2 years ago

image

3 方法

このセクションでは、深さがはるかに少ないにもかかわらず、競争力のあるベンチマークで高い性能を達成しているネットワーク・アーキテクチャである ParNet の開発と分析を行います。 ParNetは、異なる解像度で特徴を処理する並列部分構造で構成されています。 これらの並列部分構造をストリームと呼んでいます。 異なるストリームからの特徴は、ネットワークの後段で融合され、その融合された特徴が下流のタスクに使用される。 図2aは、ParNetの概要を示しています。

3.1 PARNET BLOCK

ParNetでは、VGGスタイルのブロックを利用しています(Simonyan & Zisserman, 2015)。 非深層ネットワークが高い性能を達成できるかどうかを確認するために、経験的にVGGスタイルのブロックがResNetスタイルのブロックよりも適していることがわかっています(表8)。 一般的に、VGGスタイルのネットワークのトレーニングは、ResNet対応のものよりも難しい(He et al.2016a)。 しかし、最近の研究では、「構造的な再パラメータ化」技術を用いれば、このようなブロックを用いたネットワークのトレーニングが容易になることが示されている(Ding et al.、2021)。 学習時には、3×3の畳み込みブロックに複数のブランチを使用します。 トレーニングが終わると、複数のブランチを1つの3×3コンボリューションに融合させることができる。 その結果、3×3ブロックと非線形性のみで構成されるプレーンなネットワークができあがります。 このように、ブロックの再パラメータ化や融合を行うことで、推論時の待ち時間を短縮することができます。 初期のブロックデザインをRep-VGG(Ding et al.、2021)から拝借し、我々の非ディープアーキテクチャに適したものに変更しました。 3×3の畳み込みしかない非ディープネットワークの課題は、受容野がかなり限られていることです。 これに対処するために、我々はSqueeze-and-Excitation(SE)デザインをベースにしたSkipSqueeze-Excitation(SSE)レイヤーを構築します(Hu et al. バニラSqueeze-and-Excitationは、ネットワークの深さを増加させるため、我々の目的には適していません。 したがって、我々はスキップ接続と並行して適用され、単一の完全に接続された層を使用するSkip-Squeeze-Excitationデザインを使用します。 このデザインは、パフォーマンスの向上に役立つことがわかりました(表7)。

図2bは、スキップ・スクイーズ・エキサイテーション・モジュールを採用したRep-VGGブロックの模式図です。 このブロックをRepVGG-SSEと呼んでいます。 特にImageNetのような大規模なデータセットでは、非深層ネットワークが十分な非線形性を持たず、表現力が制限されてしまうことが懸念されます。 そこで、ReLUの活性化をSiLUに置き換えます(Ramachandran et al., 2017)。

3.2 DOWNSAMPLING AND FUSION BLOCK

入力と出力が同じサイズであるRepVGG-SSEブロックとは別に、ParNetにはDownsamplingブロックとFusionブロックがあります。 Downsamplingブロックは、マルチスケール処理を可能にするために解像度を下げて幅を広げ、Fusionブロックは、複数の解像度の情報を結合します。 Downsamplingブロックでは、スキップ接続は行わず、代わりに畳み込み層と平行して単層のSEモジュールを追加しています。 さらに、1×1の畳み込みブランチに2Dアベレージプーリングを追加している。 FusionブロックはDownsamplingブロックと似ていますが、Concatenation層が1つ増えています。 連結のため、Fusionブロックへの入力は、Downsamplingブロックの2倍のチャンネル数になります。 そのため、パラメータ数を減らすために、グループ2のコンボリューションを使用します。 ダウンサンプリング・ブロックとフュージョン・ブロックの模式図は、付録の図A1を参照してください。

3.3 ネットワーク・アーキテクチャー

図2aは、ImageNetデータセットに使用されているParNetモデルの概略図です。 初期層は、一連のダウンサンプリング・ブロックで構成されています。 ダウンサンプリング・ブロック2、3、4の出力は、それぞれストリーム1、2、3に供給されます。 経験的に、与えられたパラメータ・バジェットに対して最適なストリーム数は3であることがわかっています(表10)。 各ストリームは、異なる解像度で特徴量を処理する一連のRepVGG-SSEブロックで構成されています。 異なるストリームから得られた特徴は、Fusionブロックで連結して融合されます。 最後に、出力は深度11のダウンサンプリングブロックに渡されます。 RepVGG(Ding et al., 2021)と同様に、最後のダウンサンプリング層に大きな幅を使用します。 付録の表A1には、ImageNet実験で使用されているスケーリングされたParNetモデルの完全な仕様が記載されています。 CIFARでは、画像の解像度が低く、ネットワーク・アーキテクチャもImageNetのものとは若干異なります。 まず、深さ1と2のDownsamplingブロックをRepVGGSSEブロックに置き換えます。 最後の層のパラメータ数を減らすために、幅の大きい最後のDownsamplingブロックを、幅の狭い1×1の畳み込み層に置き換えます。 また、各ストリームから1つのブロックを削除し、深度3のブロックを追加することで、パラメータ数を削減しています。

3.4 SCALING PARNET

ニューラルネットワークでは、ネットワークサイズをスケールアップすることで、より高い精度が得られることが確認されています。 先行研究(Tan & Le, 2019)では、幅、解像度、深さをスケールアップしています。 CIFAR10とCIFAR100では,解像度を32,ストリーム数を3にしてネットワークの幅を大きくし,ImageNetでは,3つの次元をすべて変化させて実験を行った(図3)。

3.5 パラレルアーキテクチャの実用上の利点

現在の5nmリソグラフィプロセスは,シリコン結晶格子の0.5nmサイズに近づいており,これ以上プロセッサの周波数を上げる余地は限られています。 つまり、ニューラルネットワークの推論を高速化するには、計算の並列化が必要となる。 単一のモノリシックGPUの性能の伸びも鈍化している(Arunkumar et al.、2017)。 従来のフォトリソグラフィで実現可能な最大ダイサイズは、約800mm2でプラトーすると予想されている(Arunkumar et al. 全体として、プロセッサの周波数だけでなく、ダイサイズやプロセッサあたりのトランジスタ数にもプラトーが予想されます。 この問題を解決するために、GPUを1つのパッケージにある別々の基本モジュールに分割することが提案されています。 これらの基本モジュールは、大型ダイ上の単一モノリシックGPUよりも製造が容易である。 大型のダイは製造上の不具合が多く、結果的に歩留まりが悪くなる(Kannan et al.、2015)。 最近の研究では、インターポーザー上のMulti-Chip-Module GPU(MCM-GPU)が提案されており、これは実装可能な最大のモノリシックGPUよりも高速である。 大型のダイを中型のダイに置き換えることで、シリコンコストの低減、シリコン歩留まりの大幅な向上、コスト面での優位性が期待されています(Arunkumar et al.、2017)。 複数のチップが1つのパッケージにまとめられ、1つのインターポーザーに配置されたとしても、チップのリソグラフィサイズがインターポーザーのリソグラフィサイズよりも小さいため、チップ間のデータ転送速度は1つのチップ内のデータ転送速度よりも小さくなります。 そのため、このようなチップデザインでは、限られたデータを交換し、できるだけ長く独立して実行できるような並列ブランチを持つパーティション化されたアルゴリズムが好まれます。 これらの要因により、非深度並列構造は、特に明日のハードウェアで高速な推論を実現するのに有利です。

image