全結合層(Affine層)

全結合層とは、入力を共通にした複数の人工ニューロンの入力から活性化関数の入力までのことです。活性化関数は含みません。

例えば、以下は、x_[1]]~x_[5]]の入力を共通にした3個の人工ニューロンですが、x_[1]]~x_[5]]からバイアスb_[i]]も含めた総和までが全結合層です。よって、以下は、5入力3出力の全結合層と活性化関数の層を接続したものです。

上記から分かるように、5入力3出力の全結合層の重み付けパラメーターの数は5×3=15個、バイアスの数は3個です。そして、全結合層の出力を受ける活性化関数の数は、全結合層の出力数と同じ3個です。

よって、m入力n出力の全結合層の重み付けパラメーターの数はm×n個、バイアスの数はn個、その全結合層の出力と繋がる活性化関数の数はn個です。

全結合層の行列表現

上記の5入力3出力の全結合層を行列で表現すると以下になります。

上記の行列は、W_[[35]] X+Bと表現できます。W_[35]]は3行5列の行列、XBは列ベクトルです。

全結合層の単純表現

冒頭で示した5入力3出力の全結合層と活性化関数の層の図は、一般的には、以下のように単純化します。

直感的には、○が活性化関数、線と○の接合部が総和です。図では表現されていませんが、もちろんバイアスもあります。

発展例として、5入力3出力の全結合層と活性化関数の層の後段に3入力3出力の全結合層を接続すると以下になります。

全結合層の意味

全結合層は、同じ入力に対して、複数の人工ニューロンが繋がっています。脳神経のネットワークも同じ入力に対して、複数のニューロンが繋がっています。ただし、脳神経のネットワークの場合は、全結合はしていません。

ニューラルネットワークにおける全結合は、前段と後段の人工ニューロンの神経の繋がり方をすべて網羅します。のちに、重み付けパラメーターの調整によって、それらの繋がり方の強度が調整されます。

このように、全結合層は、前後の人工ニューロンを全結合することにより、柔軟にあらゆる神経の繋がり方を表現することができます。

なお、全結合層の人工ニューロンの数は、多ければ多いほど、表現力が増します。

全結合層のパラメーター調整

前提として、全結合層は、ニューラルネットワークの構成要素の一つです。全結合層の重み付けとバイアスのパラメーターの調整は、ニューラルネットワークの他の構成要素も使って行うため、ここでは説明を省略します。

アフィン変換との関係

全結合層の計算式がアフィン変換と同じであるため、Affine層(アフィン層)とも呼ばれますが、アフィン変換を行っている訳ではありません。よって、アフィン変換を理解する必要はありません。