Dense Connection(DenseNet)

Dense Connection / DenseNet

Dense Connectionとは

Dense Connection(密結合接続)は、2017年にHuangらが提案したDenseNet(Densely Connected Convolutional Network)の核心技術です。各層の出力をそれ以降のすべての層の入力として結合する構造で、ネットワーク内の特徴の再利用を最大限に促進します。ResNetのSkip Connectionをさらに発展させた概念と言えます。

DenseNetの構造

DenseNetでは、あるブロック内の各層が先行するすべての層からの特徴マップをチャネル方向に連結して入力として受け取ります。L層のDenseBlockには、L(L+1)/2個の接続が存在します。各層の出力チャネル数(成長率、Growth Rate kで制御)は比較的小さく設定され、チャネルの連結により情報が蓄積されていきます。

DenseNetの利点

Dense Connectionにより、勾配がすべての先行層に直接伝播するため、深いネットワークでも効率的な学習が可能です。また、特徴の再利用によりパラメータ効率が高く、ResNetと同等の性能をより少ないパラメータで達成できます。各層が独自の新しい特徴を少量ずつ追加する「集合知」的なアプローチが特徴です。

DenseNetの課題と発展

Dense Connectionの課題はメモリ使用量の増大です。すべての先行層の特徴マップを保持する必要があるため、GPUメモリの消費が大きくなります。メモリ効率を改善したMemory-Efficient DenseNetや、CSPNet(Cross Stage Partial Network)などの発展形が提案されています。YOLOv4などの物体検出モデルでもDense Connection的な設計が採用されています。