CNNトレーニングでより多くの時間を消費するレイヤーはどれですか?コンボリューションレイヤーとFCレイヤー


11

畳み込みニューラルネットワークでは、どのレイヤーがトレーニングで最大の時間を消費しますか?畳み込みレイヤーまたは完全に接続されたレイヤー?これを理解するには、AlexNetアーキテクチャを使用できます。研修過程の時間分解を見てみたい。相対的な時間の比較が欲しいので、一定のGPU構成をとることができます。

回答:


11

注:これらの計算は推測で行ったので、いくつかのエラーが入り込んでいる可能性があります。修正できるように、そのようなエラーを通知してください。

一般に、どのCNNでも、トレーニングの最大時間は、完全に接続されたレイヤーでのエラーの逆伝播に費やされます(画像サイズによって異なります)。また、最大メモリもそれらによって占有されます。VGG Netパラメータに関するスタンフォードのスライドは次のとおりです。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

完全に接続されたレイヤーがパラメーターの約90%に寄与していることがわかります。したがって、最大メモリはそれらによって占有されます。

(333)(333)224224224224(333)6422422464224224(333)87106

56562565656(33256)56562565656(33256)1850106

stride=1

channelsoutput(pixelOutputheightpixelOutputwidth)(filterheightfilterwidthchannelsinput)

高速GPUのおかげで、これらの膨大な計算を簡単に処理できます。しかし、FCレイヤーでは、行列全体を読み込む必要があるため、一般に畳み込みレイヤーの場合にはないメモリの問題が発生するため、畳み込みレイヤーのトレーニングは依然として簡単です。また、これらはすべて、CPUのRAMではなく、GPUメモリ自体にロードする必要があります。

AlexNetのパラメーターチャートもここにあります。

ここに画像の説明を入力してください

そして、さまざまなCNNアーキテクチャのパフォーマンス比較を次に示します。

ここに画像の説明を入力してください

スタンフォード大学のCS231n Lecture 9をチェックして、CNNアーキテクチャの隅々をよりよく理解することをお勧めします。


4

CNNには畳み込み演算が含まれていますが、DNNはトレーニングに建設的発散を使用しています。CNNはBig O表記の点でより複雑です。

参考のため:

1)CNN時間の複雑さ
https://arxiv.org/pdf/1412.1710.pdf

2)完全に接続されたレイヤー/ディープニューラルネットワーク(DNN)/マルチレイヤーパーセプトロン(MLP) https://www.researchgate.net/post/What_is_the_time_complexity_of_Multilayer_Perceptron_MLP_and_other_neural_networks

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.