DenseNetは、すべての前層から特徴マップを受け取る——層と層の間を密(Dense)に結ぶ——CNNアーキテクチャです。ResNetが「入力を足し合わせて残差を学ぶ」飛び石だったのに対し、DenseNetは「浅い層の特徴をそのまま結合して再利用する」——本記事はブロック数の暗記ではなく、「特徴の受け渡し方」という設計の違いに焦点を当てます。
深くすると何が起きるか
AlexNet以降、CNNは層を深くして表現力を上げてきました。しかし単純に積み上げるだけでは、勾配が届きにくい・冗長な特徴を再学習するといった問題が出ます(G-237)。
ResNetはスキップ結合で入力を後段に足し、残差を学びやすくしました(G-235、G-322)。DenseNetは別の答え——前の層の特徴を捨てずに次へ渡す——を提示します。
密結合の直感
DenseNetのDense Connectivityは次のルールです。
第 l 層は、第 1 層から第 l−1 層までのすべての特徴マップを入力として受け取る。
- 畳み込み・正規化 — 受け取った特徴を処理
- 結合(concatenate) — 新しい特徴を既存のチャネル列に追加
- 次層へ — より多くの手がかりを持った状態で深くなる
ResNetの「足し算(+)」ではなく「チャネル方向の結合」——この接続の型がDenseNetの識別子です。試験では「密結合」「特徴の再利用」がキーワードになります。
ResNetとの対比
| ResNet | DenseNet | |
|---|---|---|
| 接続 | スキップ結合(ショートカット) | 全前層からの密結合 |
| 演算 | 入力を出力に加算(残差) | 特徴マップを結合(concat) |
| 狙い | 深くても勾配が伝わる(G-278) | 浅い特徴を深層まで再利用 |
| 試験 | G-235 / G-322 / G-303 | CNNの密結合アーキテクチャ |
どちらも「深いCNNを学習可能にする」系譜ですが、ResNet=DenseNetとは答えません。接続の意味——残差 vs 密結合——を一言で言い分けられると得点源になります。
特徴再利用のメリット
| 効果 | 試験向けの説明 |
|---|---|
| パラメータ効率 | 浅い層の特徴を再学習せず、少ないフィルタで深くできる |
| 勾配の流れ | ショートパスが多く、深層でも学習信号が届きやすい(G-237の文脈) |
| 多スケール特徴 | 低次(エッジ)から高次まで、層ごとに参照可能 |
DenseNetはバッチ正規化やドロップアウトと組み合わせて使われることもありますが、試験の核心はCNNの接続設計としての位置づけです。
試験で押さえるポイント
- 定義 — 層間を密結合し、特徴マップを再利用するCNN
- 対比 — ResNet=残差の加算、DenseNet=全前層からの結合
- タスク — 画像認識(分類・特徴抽出)。物体検出モデル名そのものではない
- すり替え回避 — BERT・GAN・LLMではない
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| DenseNet=ResNet | 密結合・結合 vs 残差・加算 |
| DenseNet=CNN全体の別名 | CNNの一アーキテクチャ。AlexNet等と並ぶ設計名 |
| DenseNet=BERT | 画像CNN vs NLPエンコーダ(G-323) |
| DenseNet=DETR | 畳み込み密結合 vs Transformer検出 |
| 密結合=データ拡張 | ネットワーク構造の話。CutMix等とは無関係 |
よくある質問
DenseNetは何をするアーキテクチャですか?
画像認識向けのCNN設計で、各層がそれ以前のすべての層から特徴マップを受け取り、チャネル方向に結合(concatenate)して処理する密結合構造が特徴です。浅い層の特徴を深い層まで再利用し、パラメータ効率と学習の安定化を狙います。
DenseNetとResNetは同じですか?
同じではありません。ResNetはスキップ結合で入力を出力に足し合わせ残差を学習しやすくします(G-235、G-322)。DenseNetは以前の全層の特徴を結合して受け渡す密結合です。どちらも深いCNNの学習を助けますが、接続の仕方が異なります。
DenseNetはBERTですか?
いいえ。DenseNetは画像認識向けのCNNアーキテクチャ、BERTは自然言語処理向けのTransformerエンコーダです。ドメインも構造も異なります(G-323)。