ディープラーニングの心臓部!Dense層(全結合層)が情報を整理する仕組みを徹底解説
こんにちは。ゆうせいです。
AIのモデル構造を見ていると、必ずと言っていいほど登場するのが「Dense層」です。
カタカナで書くと難しそうですが、実はニューラルネットワークの中で「情報の統合」を一手に引き受ける、とっても働き者なパーツなんですよ。
みなさんは、バラバラのパズルのピースを組み合わせて、一つの絵を完成させたことはありますか?Dense層の役割は、まさにその「組み立て」にあります。
Dense層(全結合層)とは何者か?
Dense(デンス)という言葉には「密集した」という意味があります。
日本語では「全結合層(ぜんけつごうそう)」と呼ばれますが、その名の通り、前の層にあるすべての要素と、次の層にあるすべての要素が「ベタ貼り」状態でつながっている層のことです。
専門用語の解説:全結合(ぜんけつごう)
全結合とは、前の階層のメンバー全員が、次の階層のメンバー全員と握手をしているような状態を指します。
例えば、画像認識AIの場合を考えてみましょう。
前の層で「丸い形がある」「赤い色がある」「ヘタがついている」といった個別の特徴が見つかったとします。Dense層は、これらすべての情報を一度に受け取り、「赤くて丸くてヘタがあるなら、これはリンゴだ!」と最終的な判断を下すための「まとめ役」を担っているのです。
Dense層が計算している中身をのぞいてみよう
Dense層では、具体的に何が行われているのでしょうか?
ここでは、入力されたデータに対して「重み(おもみ)」を掛け合わせるという計算をしています。
専門用語の解説:重み(Weight)
重みとは、その情報の「重要度」を表す数字です。
例えば、果物を見分けるときに「色」という情報は重要ですが、「背景に雲があるか」という情報はあまり関係ありませんよね。AIは学習を通じて、重要な情報には大きな数字を、関係ない情報には に近い数字を掛けるように自分を調整していきます。
数式で表すと、出力 は以下のようになります。
出力
入力
重み
バイアス
ここで出てくる「バイアス 」は、結果を微調整するための「下駄を履かせる」ような数値だと考えてください。この
と
を最適に調整することが、AIの学習そのものなのです。
Dense層のメリットとデメリット
非常に強力なDense層ですが、万能というわけではありません。
メリット
- 全体の情報を把握できる:すべてのデータを網羅的に見るため、複雑なパターンの組み合わせを理解する能力が高いです。
- 汎用性が高い:画像、音声、テキストなど、どんな種類のデータでも最後の「分類」ステップで活躍します。
デメリット
- パラメータが膨大になる:全員が全員とつながるため、層が深くなると計算量が爆発的に増えてしまいます。
- 位置関係に弱い:例えば、画像の右上に「目」があるか左下にあるかといった、情報の配置場所を考慮するのが苦手です(これを補うのがCNNなどの他の層です)。
Dense層を使いこなすためのヒント
学習をスムーズに進めるために、以下のポイントを意識してみましょう。
- 最後の層のユニット数:分類したい種類の数に合わせます(3種類の果物ならユニット数は
)。
- 活性化関数のセット:Dense層の直後には、情報を整理するための「活性化関数(ReLUやSoftmax)」をセットで使うのがお約束です。
次の学習へのステップ
Dense層が「情報を一つにまとめて判断を下す場所」だということが伝わりましたか?
AIのモデルは、このDense層を何枚も重ねることで、より高度な判断ができるようになっていきます。
次にステップアップするなら、以下のことを調べてみるのがおすすめです。
- Dense層の前に置かれることが多い「Flatten(フラットゥン)層」の役割を調べてみる。
- 実際にプログラムで
layers.Dense(units=64)のように数字を変えて、精度がどう変わるか試してみる。
もし、Dense層を何層くらい重ねるのがベストなのか気になったら、いつでも聞いてくださいね!
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール


