以下の例は、deeplearning.aiの講義から抜粋したもので、結果は要素ごとの積(または「要素ごとの乗算」)の合計であることを示しています。赤い数字はフィルターの重みを表しています。
ただし、ほとんどのリソースでは、使用されているのはドット積であるとしています。
「…ニューロンの出力をとして表すことができます。ここで、はバイアス項です。つまり、bがバイアス項である場合、y = f(x * w)によって出力を計算できます。つまり、入力と重みのベクトルのドット積を実行し、バイアス項を追加してロジットを生成し、変換関数を適用することにより、出力を計算できます。」
ブドゥマ、ニキル; ロカスシオ、ニコラス。ディープラーニングの基礎:次世代のマシンインテリジェンスアルゴリズムの設計(p。8)。O'Reilly Media。キンドル版。
「5 * 5 * 3フィルターを取り、それを画像全体にスライドさせ、途中でフィルターと入力画像のチャンクの間の内積を取得します。取得されたすべての内積について、結果はスカラーです。」
「各ニューロンはいくつかの入力を受け取り、ドット積を実行し、オプションで非線形性に従います。」
http://cs231n.github.io/convolutional-networks/
「畳み込みの結果は、1つの大きな行列乗算np.dot(W_row、X_col)を実行することと同等になり、すべてのフィルターとすべての受容野の位置の間の内積を評価します。」
http://cs231n.github.io/convolutional-networks/
ただし、matricsのドット積の計算方法を調べたところ、ドット積は要素ごとの乗算の合計と同じではないようです。実際に使用される演算(要素ごとの乗算またはドット積?)と主な違いは何ですか?
Hadamard product
選択した領域とたたみ込みカーネルの間の合計だと思います。