5-1-1 全結合層とは何か

ディープラーニングには、いろいろな「層」があります。
その中でも、全結合層はとても基本的な層です。
名前のとおり、全結合層では、前の層のニューロンと、次の層のニューロンがすべてつながっています

少しイメージしてみましょう。
前の教室に3人、次の教室に2人の生徒がいるとします。
全結合層では、前の教室の3人それぞれが、次の教室の2人全員に情報を送ります。

つまり、

1人目 → Aさん、Bさん

2人目 → Aさん、Bさん

3人目 → Aさん、Bさん

というふうに、全員が全員につながるのです。
これが「全結合」という名前の意味です。

全結合層の役割は、前の層から受け取った情報をまとめて、次の層へ渡すことです。

前の層には、

・形の情報
・色の情報
・特徴の情報

など、いろいろな情報が入っているかもしれません。
全結合層は、それらを受け取って、「この情報は少し大事そう」「この情報はあまり重要ではないかもしれない」と重みづけしながら計算し、次の判断へつなげていきます
つまり全結合層は、集まった情報を総合して判断する場所とも言えます。

全結合層は、ニューラルネットワークのもっとも基本的なつなぎ方です。
以前見たパーセプトロンや多層パーセプトロンも、基本的にはこの全結合の考え方に基づいています。
つまり、

前の層の情報を受け取り
重みをかけて計算し
次の層へ渡す

という流れの土台にあるのが、全結合層です。

ディープラーニングには、畳み込み層やAttentionのような発展的な仕組みもありますが、その前にまず理解しておきたい基本の部品が、この全結合層なのです。

全結合層のよいところは、すべての情報をまとめて扱えることです。
どの入力も、次の層のどのニューロンにも届くので、情報を広く使うことができます。
その一方で、つながりが多いということは、計算するための重みもたくさん必要になる、ということでもあります。

たとえば、

前の層に100個のニューロン
次の層に50個のニューロン

があれば、

100 × 50 = 5000

ものつながりが生まれます。
つまり全結合層は、便利だけれど少し「重い」層でもあるのです。

next ▶ 重みと線形関数