EfficientNet関数合成またはアダマール

Sep 17 2020

EfficientNetの論文の3ページには、方程式があります。$$\mathcal{N} = \bigodot_{i=1...s} \mathcal{F}_{i}^{L_i} \big(X_{\langle H_i, W_i, C_i \rangle}\big)$$ どこ $\mathcal{N}$ コンバージョンネットとそれぞれ $\mathcal{F}_i^{L_i}$ それは $i$長さのある第3段階のレイヤー演算子 $L_i$。

私が理解していないのは、これは何ですか $\odot$この方程式では?著者はアダマール積を参照していますか、それとも関数の合成を参照していますか?彼は以前にそれを述べました$\mathcal{N} = \mathcal{F}_k \odot ... \odot \mathcal{F}_1 (X_1)$、ここで、kはネットの深さです。だから私はそれが意味すると思いました$\odot$単なる関数合成です。しかし、EfficientNetにはスキップ接続があります。kerasの実装ではlayers.merge.Multiply()、それが使用するので、入力データを意味することもできます$X$ 変換された $\mathcal{F}(X)$、および $\odot$ 多分アダマール積を意味します。

誰かが答えを知っていますか?ありがとう。

回答

BenjiAlbert Sep 17 2020 at 01:57

それはおそらく繰り返される機能構成を表しています。

主な理由:

  1. この方程式の前の著者の言い回しは、「構成されたレイヤーのリスト」です。
  2. アダマール積は異なるサイズの層に適用できませんでしたが、関数合成はもちろん適用できます。
  3. はい、EfficientNetにはスキップ接続がありますが、「レイヤー」と「ステージ」を区別して関数の合成を検証しようとしていると思います。彼らは言った "$F_i^{L_i}$ レイヤーを示します $F_i$ 繰り返される $L_i$ ステージの時間 $i$"。また、"各ステージのすべてのレイヤーが同じアーキテクチャを共有していることも説明しています。したがって、スキップ接続を関数合成の形で配置していると思いますが、混乱を招きます。スキップ接続されたレイヤーの(しばしば)繰り返されるアーキテクチャをコンパクトに表現する方法だと思います。