2017-04-19 25 views
0

私は2つのネットワークを持っていると仮定します。最初のネットワークは2 Mのパラメータを持ち、2番目のネットワークは0.4 Mのパラメータを持っています。 1つのイメージ入力に対して、2番目のネットワーク(deploy.prototxtを使用)のテスト時間が最初のネットワークよりも速いと言うことができますか?メトリック(#depth、#parameter ....)は推論時間にどのような影響を及ぼしますか?推論時間はパラメータの数に依存しますか?

答えて

0

もちろん、より大きなネットワーク(複雑なネットワーク)では、最後のレイヤ(出力)に到達するために入力をすべてのネットワークに伝播する必要があるため、入力を評価するのに時間がかかります。したがって、それはパラメータの数に比例する、すなわち、深度、1つの層当たりのニューロンの数および各2つの層の間の連結のタイプに相関することは通常である。

1

必ずしもそのことを伝えることはできません。 0.4Mのパラメータネットワークはほとんどが畳み込みレイヤで構成され、2Mのパラメータネットワークは完全に接続されたレイヤで構成されているとします。その後、第1のものはより長い順路を取る。だから、それは深さ、パラメータ、操作の数などを含む多くのものに依存します。一般に、それは乗算の数に依存すると言うことができます。

+0

パラメータは学習可能なパラメータを意味します。たとえば、resnetとvggのネットワーク – KimHee

+0

@キム私は学習可能なパラメータも意味しています。あなたの言いたいことは何ですか? – lnman

+0

はい、論文arxiv.org/abs/1608.06993の図3では、このスキームはより少ないパラメータを示しています。どちらが速いのでしょうか? – KimHee

1

パラメータの数はネットのテスト時間に影響しますが、それだけではありません。また、学習されたフィルタ/重みが適用されるデータ/機能のサイズも考慮する必要があります。例えば

、2つの簡単なCONV-ネットを考慮してください。
- ネットAは、単一の7×7フィルタ
を持っている - ネットBは、単一の3x3フィルタ

を持っていることは、ネットBがありながらネットAは49個のパラメータを持っていることは明らかです唯一の9.
しかし、ネットAへの入力は150x150イメージであり、ネットBへの入力は1500x1500イメージです。
明らかに、これらの設定では、ネットBは入力の処理に時間がかかります。

多くの場合、ディープネットは完全に接続されたレイヤーとコンバージョンレイヤーを混在させるため、「同じサイズの入力」のフロップ数を比較することが困難/不可能になります。

ところで、それはまだ開いている問題は、compute the number of FLOPS required for a netに機能を追加するカフェです。

+0

ありがとうございますが、公正な比較のために、同じ入力ディメンションを考慮する必要があります。ここでのパラメータは学習可能なパラメータのみです – KimHee

+0

常に「公正」な比較を行うことはできません。例えば、ResNetsは通常、比較的少ないパラメータしか持たないが、非常に深く、入力/フィーチャサイズが非常に大きい。他方、VGGネットは、TONSのパラメータを有するが、入力/フィーチャのサイズが比較的小さい、十分に繋がった大きな層を有する。したがって、パラメータの数だけからFLOPSを決めることはできません。 – Shai

+0

OK、https://arxiv.org/abs/1608.06993に関する1件の論文を見つけました。図3において、このスキームはより少ないパラメータを示す。どちらが速いのでしょうか? – KimHee

関連する問題