全結合層とは?意味・仕組み・活用例をわかりやすく解説

全結合層とは?ニューラルネットワークの仕組みを初心者向けに解説

AIの初心者

「全結合層」って何ですか?ニューラルネットワークの説明でよく出てきますが、役割がつかめません。

AI専門家

簡単に言うと、前の層で得られた特徴をまとめ、最終的な判断につなげる層です。猫の画像なら、耳の形、目、ヒゲ、輪郭などの情報を組み合わせて「猫らしい」と判断する材料を作ります。

AIの初心者

全部の特徴をつなぐなら、計算量もかなり多くなりそうですね。

AI専門家

その通りです。表現力が高い一方で、パラメータ数や過学習には注意が必要です。だから、使いどころと対策をセットで理解することが大切です。

全結合層とは。

全結合層とは、ニューラルネットワークにおいて、前の層のすべてのノードと次の層のすべてのノードを接続する層です。英語では Fully Connected Layer や Dense Layer と呼ばれ、画像認識、分類、回帰などで、抽出済みの特徴をまとめて判断する場面によく使われます。

全結合層の全体像

全結合層とは

全結合層は、前の層にある全ノードと、次の層にある全ノードがそれぞれ接続された層です。たとえば前の層に5個、次の層に3個のノードがあれば、5×3の接続が作られます。それぞれの接続には「重み」と呼ばれる数値があり、どの入力をどれだけ強く次の層へ伝えるかを決めます。

この「すべてをつなぐ」という構造により、全結合層は複数の特徴の組み合わせを扱いやすくなります。画像認識で考えると、畳み込み層が「耳の形」「目の位置」「ヒゲのような線」といった特徴を見つけ、全結合層がそれらをまとめて「猫」「犬」「ウサギ」などの判断につなげるイメージです。

ただし、全結合層だけで画像全体を処理するのは効率的ではありません。画像の画素をそのまま入力するとノード数が非常に多くなり、接続数も一気に増えるからです。そのため、画像認識では先に畳み込み層やプーリング層で特徴を抽出し、最後の判断部分で全結合層を使う構成がよく見られます。

全結合層の仕組みを計算の流れで見る

\(\)

特徴マップから全結合層へ渡す流れ

全結合層では、入力された数値に重みを掛け、必要に応じてバイアスを足し、活性化関数を通して次の層へ出力します。式で表すと、基本形は y = Wx + b です。ここで x は入力、W は重み、b はバイアス、y は出力を表します。

初心者が押さえるべき点は、数式そのものよりも、全結合層が「入力特徴の組み合わせ方」を学習する層だということです。同じ入力でも、重みが変われば重要視される特徴が変わります。猫画像の分類なら、あるノードは耳の形を強く見たり、別のノードは目や輪郭の組み合わせを強く見たりします。

CNNでは、畳み込み層が作った特徴マップをそのまま全結合層に入れるのではなく、多くの場合は一次元のベクトルに変換します。この処理は「平坦化」や Flatten と呼ばれます。特徴マップを横に並べた数値の列として扱い、その列を全結合層に渡すことで、全体的な判断に使える形へ変換します。

学習で重みが調整される仕組み

全結合層の重みとバイアス

全結合層の学習では、各接続の重みと各ノードのバイアスが調整されます。最初は重みが適切ではないため、予測結果は正解からずれます。そこで、損失関数によって誤差を測り、誤差が小さくなる方向へ重みを少しずつ更新します。

この更新は、ニューラルネットワーク全体で行われる誤差逆伝播法と最適化アルゴリズムによって進みます。初心者向けに言えば、間違えた原因を後ろの層から前の層へたどり、各接続の強さを調整していく作業です。学習を繰り返すほど、重要な特徴を強く使い、不要な特徴の影響を弱めるようになります。

全結合層は、特徴の組み合わせを覚える力が強い一方で、覚えすぎにも注意が必要です。学習データだけに合わせすぎると、未知のデータで性能が落ちます。これが過学習です。

CNNではどこで使われるか

CNNにおける畳み込み層と全結合層の関係

畳み込みニューラルネットワーク、つまりCNNでは、前半に畳み込み層やプーリング層を置き、後半に全結合層を置く構成がよく使われてきました。畳み込み層は画像の一部を小さな窓で見ながら、エッジ、模様、部品のような局所的な特徴を抽出します。プーリング層は、その特徴を要約して計算量を減らします。

一方、全結合層は局所的な特徴だけを見るのではなく、それらをまとめて判断します。耳の形だけならウサギにも見えるかもしれませんが、目の位置、ヒゲ、顔の輪郭、体の模様などを合わせれば、より妥当な分類ができます。畳み込み層が特徴を集め、全結合層が特徴を統合すると考えると理解しやすいでしょう。

近年のモデルでは、全結合層を大きくしすぎる代わりに Global Average Pooling などを使い、パラメータ数を減らす設計も増えています。つまり、全結合層は重要な基本要素ですが、常に多く置けばよいわけではありません。モデルの目的、データ量、計算資源に合わせて使い方を調整します。

出力層との関係

出力層は、ニューラルネットワークが最終的な予測を出す部分です。画像分類なら「猫である確率」「犬である確率」のような値を出し、回帰なら価格や温度などの連続値を出します。全結合層は、この出力層の直前に置かれ、出力層が扱いやすい形に情報を整理する役割を持ちます。

全結合層と出力層は同じように見えることがあります。実装上は、最後の全結合層がそのまま出力層として使われる場合もあります。ただし役割で見ると、全結合層は特徴を組み合わせて高次の表現を作る層、出力層はその表現を目的の答えに変換する層です。

主な役割 初心者向けの見方
畳み込み層 局所的な特徴を抽出する 画像の一部分から模様や形を見つける
プーリング層 特徴を要約し、計算量を減らす 重要な特徴を残して情報を圧縮する
全結合層 特徴を組み合わせて判断材料を作る 集めた手がかりを総合して考える
出力層 最終的な予測値を出す 答えや確率として表示できる形にする

全結合層のメリットと課題

全結合層の過学習と対策

全結合層の大きなメリットは、表現力の高さです。すべての入力とすべての出力が接続されるため、複数の特徴の組み合わせを柔軟に扱えます。分類問題、回帰問題、特徴量を入力する一般的なニューラルネットワークなど、幅広い場面で使えます。

一方で、課題も明確です。第一に、パラメータ数が増えやすいことです。入力が1,000個、出力ノードが100個なら、重みだけで100,000個あります。ここにバイアスも加わります。入力が大きくなるほど、学習時間、メモリ使用量、推論コストが増えます。

第二に、過学習が起きやすいことです。パラメータが多いモデルは、学習データの細かな癖まで覚えられます。しかし、目的は学習データを丸暗記することではなく、未知のデータにも対応できることです。そのため、全結合層を大きくしすぎない、データを増やす、ドロップアウトを使う、正則化を入れるといった対策が重要になります。

観点 内容 対策・補足
メリット 特徴の組み合わせを柔軟に表現できる 分類や回帰の最終判断に使いやすい
課題 パラメータ数が増えやすい 層を小さくする、特徴量を圧縮する
課題 過学習しやすい ドロップアウト、正則化、データ拡張を検討する
設計上の注意 画像をそのまま入れると非効率になりやすい CNNやPoolingで特徴を抽出してから使う

関連する層・手法との違い

全結合層を理解するには、似た言葉との違いを整理しておくと便利です。畳み込み層は、画像の近い範囲にある情報を局所的に見る層です。全結合層は、入力された特徴を全体的に組み合わせる層です。プーリング層は、特徴を要約してサイズを小さくする層であり、判断そのものよりも圧縮の役割が強くなります。

ドロップアウトは層の種類ではなく、学習中に一部のノードを一時的に無効化する手法です。全結合層と一緒に使われることが多く、特定のノードや接続に頼りすぎるのを防ぎます。正則化も同じく、重みが極端に大きくなりすぎないように制約をかけ、汎化性能を高めるための手法です。

実務や学習で全結合層を見るときは、「何個の入力を受け取り、何個の出力を作るのか」「パラメータ数はいくつか」「過学習対策はあるか」を確認すると、設計の意図が読み取りやすくなります。

まとめ

全結合層とは、前の層のすべてのノードと次の層のすべてのノードを接続し、特徴を組み合わせて判断につなげるニューラルネットワークの重要な層です。画像認識では、畳み込み層やプーリング層で抽出された特徴を受け取り、出力層へ渡す前の判断材料を作ります。

強力な表現力を持つ一方で、パラメータ数が増えやすく、過学習も起きやすい点には注意が必要です。全結合層を理解する際は、重み、バイアス、入力次元、出力次元、ドロップアウトや正則化といった関連概念をあわせて見ると、ニューラルネットワーク全体の仕組みがつかみやすくなります。

更新履歴

日付 内容
2025年2月1日 初回公開
2026年4月30日 全結合層の定義、計算の流れ、CNNでの役割、重みの学習、過学習対策、関連層との違いを初心者向けに再構成

Weeybleの最新イベント

イベント一覧

イベント情報を読み込んでいます。

この記事の内容に興味を持った方へ

コワーキングスペース秋葉原Weeybleでは、AI、Web開発、クラウド、セキュリティなど、エンジニア向けの勉強会やもくもく会を開催しています。

もくもく作業したい方、技術について話したい方、これから学びたい方も歓迎です。

「もくもく会って何?」「初めて参加しても大丈夫?」という方は、もくもく会とは?意味や参加方法をわかりやすく解説の記事もあわせてご覧ください。

生成AI・AIエージェント開発のご相談

AWS Bedrockを活用したAI開発支援

業務システム自動化・エージェント開発に対応

PoC・技術検証・研究開発フェーズからご相談いただけます

アルゴリズム