全結合層とは?仕組み・パラメータ数・活用方法を解説

全結合層(Fully Connected Layer、Dense Layer)とは、入力のすべての要素を出力のすべてのユニットへ接続し、重み付き和とバイアスから新しい表現を作るニューラルネットワークの層です。PyTorchのLinearは、y=xWT+bというアフィン変換を実装します。

画像・文章・表形式データの特徴を分類や回帰の出力へ変換するほか、畳み込みやRNNの後段、埋め込みの投影にも使われます。入力次元、出力次元、パラメータ数、過学習、形状変換を理解して設計することが重要です。

全結合層は重み行列とバイアスで特徴を変換します

入力ベクトルxへ重み行列Wを掛け、バイアスbを加えて出力yを得ます。各出力ユニットは入力全体を参照します。出力の後へReLU、GELU、sigmoid、softmaxなどの活性化を置くと、非線形な関数を表現できます。全結合層だけを重ねても線形変換へまとめられるため、非線形層や正規化と組み合わせます。

入力・出力の次元が層の形状を決めます

入力特徴がD、出力ユニットがHなら、重みは概ねH×D、バイアスはH個です。入力次元を誤ると行列積ができません。画像の特徴マップをFlattenする、系列の各時刻へ適用するなど、前後の形状を明示します。

全結合層は分類・回帰・投影の出力に使います

  • 分類ヘッド:クラス数の出力を作り、softmaxなどで確率化する。
  • 回帰ヘッド:予測値の数だけ出力し、目的に合う損失を使う。
  • 特徴投影:高次元特徴を低次元の埋め込みへ変換する。
  • 融合:画像・表・テキストなど複数特徴を連結して処理する。
  • 出力制約:sigmoidやsoftplusで値域や非負性を表す。

パラメータ数と正則化を管理します

入力・出力次元を大きくすると表現力とパラメータ数が増えます。データが少ないと過学習しやすいため、隠れユニット、層数、Dropout、重み減衰、早期終了を比較します。バイアスの有無や初期化も保存し、再現性を確保します。

全結合層は入力全体を接続するため、高解像度画像をFlattenして直接入れるとパラメータが急増します。畳み込み、プーリング、低次元埋め込みで特徴を圧縮し、必要な部分だけ全結合へ渡します。

設計は形状・出力・評価を先に決めます

  • 特徴量を定義する:入力の意味、スケール、欠損、カテゴリ表現を決める。
  • テンソル形状を確認する:Flatten、系列、バッチ次元をテストする。
  • 出力と損失を合わせる:分類・回帰・確率・値域を明示する。
  • 容量を比較する:ユニット数、層数、正則化をベースラインと比べる。
  • 推論負荷を見る:パラメータ、メモリ、レイテンシを測る。

精度と運用コストの両方を評価します

適切な損失・精度指標に加え、入力分布が変わったときの性能、パラメータ数、推論時間、メモリを測ります。訓練・検証・テストを分け、特徴量の前処理やカテゴリ辞書を学習データへ限定します。出力の確率校正や極端値も確認します。

全結合層で起きやすい失敗と対策

Flatten後の次元を誤る

各層の形状を小さな入力で確認し、画像サイズや系列長の変化をテストします。

パラメータ過多で過学習する

層・ユニットを減らし、正則化、データ拡張、ベースラインとの比較を行います。

出力と活性化・損失が合わない

値域とラベル形式を確認し、softmaxやsigmoidを二重に適用しないようにします。

全結合層は入力全体を組み合わせる基本層です

全結合層は重み行列とバイアスで入力を変換し、分類・回帰・特徴投影のヘッドに使われます。非線形活性化、正規化、正則化と組み合わせ、前後の形状を管理します。

入力・出力次元、パラメータ数、データ分割、出力と損失の整合、推論コストを比較し、必要な表現力と運用性のバランスで設計します。

よくある質問(FAQ)

ここでは、全結合層についてよくある疑問に回答します。

Q. 全結合層とは何ですか?

入力のすべての要素を出力ユニットへ接続し、重み付き和とバイアスで特徴を変換する層です。

Q. 線形層と同じですか?

一般にはアフィン変換を行うLinear/Dense層を指します。活性化関数は別に置くことが多いです。

Q. パラメータ数はどう決まりますか?

入力次元×出力次元に、バイアスを使う場合は出力次元を加えた数が目安です。

Q. 過学習を防ぐ方法はありますか?

ユニット削減、Dropout、重み減衰、早期終了、データ拡張、ベースライン比較を行います。

Q. 画像にも使えますか?

使えますが、高解像度画像を直接Flattenすると大規模になるため、畳み込みなどで特徴を圧縮してから使います。

参考資料

会社紹介

株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。

・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>

執筆者プロフィール
張田谷凌央
張田谷凌央

株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。