DenseNet(밀집 연결 컨벌루션 네트워크)은 주로 이미지 인식 및 컴퓨터 비전 작업에 사용되는 인공 신경망의 한 유형입니다. 이는 2017년 논문 "Densely Connected Convolutional Networks"에서 Gao Huang, Zhuang Liu, Laurens van der Maaten, Kilian Q. Weinberger에 의해 제안되었습니다. 이 아키텍처는 밀집 연결성으로 특징지어집니다. 밀집 블록 내에서 각 레이어는 모든 이전 레이어의 특징 맵을 입력으로 받고 자체 출력을 모든 후속 레이어에 전달합니다. 이 설계는 레이어가 순차적으로 연결되는 전통적인 컨벌루션 네트워크와 블록의 입력을 출력에 더하는 스킵 연결을 사용하는 잔차 네트워크(ResNet)와 대조됩니다.
DenseNet의 핵심 아이디어는 레이어 간 정보 흐름을 최대화하여 심층 네트워크의 기울기 소실 문제를 완화하는 것입니다. 특징 맵을 더하는 대신 연결함으로써 DenseNet은 특징 재사용을 촉진하고, 매개변수 수를 줄이며, 훈련 중 강력한 기울기 흐름을 장려합니다. 이 아키텍처는 이미지 분류, 분할, 객체 탐지와 같은 작업에서 널리 채택되었으며, 이후 네트워크 설계에 영향을 미쳤습니다.
아키텍처
DenseNet은 여러 개의 밀집 블록으로 구성되며, 각 블록에는 여러 레이어가 포함됩니다. 밀집 블록 내에서 각 레이어는 배치 정규화, 정류 선형 유닛(ReLU) 활성화, 3x3 컨벌루션을 수행합니다. 각 레이어의 출력은 블록 내 모든 이전 레이어의 입력과 연결되어 밀집 연결 패턴을 만듭니다. 블록에 \(L\)개의 레이어가 있으면 총 연결 수는 \(L(L+1)/2\)입니다.
밀집 블록 사이에는 공간 차원과 특징 맵 수를 줄이기 위해 전이 레이어가 사용됩니다. 전이 레이어는 배치 정규화, 1x1 컨벌루션, 2x2 평균 풀링 연산으로 구성됩니다. 종종 0.5로 설정되는 압축 계수는 전이 후 유지되는 특징 맵 수를 제어합니다.
성장률 \(k\)는 각 레이어가 생성하는 새 특징 맵 수를 결정합니다. 예를 들어, \(k=32\)인 경우 각 레이어는 집합 입력에 32개의 특징 맵을 추가합니다. 이 매개변수는 모델 용량과 계산 비용의 균형을 조정합니다. 일반적인 DenseNet 변형에는 DenseNet-121, DenseNet-169, DenseNet-201, DenseNet-264가 있으며, 숫자는 총 레이어 수를 나타냅니다.
수학
밀집 블록에서 \(x_0\)를 블록의 입력이라고 합시다. 레이어 \(\ell\)의 입력은 모든 이전 레이어 출력의 연결입니다: \([x_0, x_1, \dots, x_{\ell-1}]\). 레이어는 복합 함수 \(H_\ell\)(배치 정규화, ReLU, 컨벌루션 포함)을 계산하고 \(x_\ell = H_\ell([x_0, x_1, \dots, x_{\ell-1}])\)을 생성합니다. 이 연결 연산은 덧셈을 사용하는 잔차 연결과의 주요 차이점입니다.
밀집 연결성은 각 레이어가 손실 함수의 기울기에 직접 접근할 수 있게 하여 기울기 소실 문제를 완화합니다. 저자들은 이 아키텍처가 정규화 효과를 가지며 작은 데이터셋에서 과적합을 줄인다는 것을 보여주었습니다.
훈련 및 최적화
DenseNet은 모멘텀을 사용한 확률적 경사 하강법이나 Adam과 같은 표준 딥러닝 기법을 사용하여 훈련됩니다. 네트워크는 일반화를 개선하기 위해 데이터 증강(예: 무작위 자르기, 뒤집기, 색상 지터)을 자주 사용합니다. 배치 정규화는 각 활성화 전에 적용되어 훈련을 안정화하고 더 높은 학습률을 허용합니다.
ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 2017에서 DenseNet은 DenseNet-201의 top-5 오류율 5.11%로 최첨단 결과를 달성하여 ResNet과 같은 이전 아키텍처를 능가했습니다. 이 모델은 또한 매개변수 효율성을 보여주었으며, 유사한 정확도를 달성하는 데 비교 가능한 ResNet보다 더 적은 매개변수가 필요했습니다.
응용 및 영향
DenseNet은 이미지 분류 외에도 의료 이미지 분할, 원격 감지, 비디오 분석 등 다양한 분야에 적용되었습니다. 그 설계 원리는 이중 경로 네트워크(DPN) 및 다중 스케일 밀집 네트워크와 같은 다른 아키텍처에 영감을 주었습니다. 밀집 연결성의 개념은 트랜스포머 모델에서도 탐구되었지만, 지배적인 접근 방식은 여전히 잔차 연결입니다.
이 아키텍처는 PyTorch 및 TensorFlow와 같은 인기 있는 딥러닝 프레임워크에서 사용할 수 있으며, 객체 탐지 및 분할 모델의 백본으로 자주 사용됩니다. 그 성공은 ResNet 및 U-Net과 함께 점점 더 깊고 효율적인 컨벌루션 네트워크를 설계하는 광범위한 추세에 기여했습니다.
한계 및 확장
강점에도 불구하고 DenseNet은 특징 맵 연결로 인해 중간 저장 요구 사항이 증가하여 메모리 집약적일 수 있습니다. 연구자들은 DenseNet-BC(병목 및 압축) 및 3D 데이터용 부분 다양체 희소 컨벌루션 네트워크와 같은 변형을 제안하여 이 문제를 해결했습니다. 이 아키텍처는 또한 EfficientNet과 같은 일부 최신 설계에 비해 추론 속도가 느린 경향이 있습니다.
전반적으로 DenseNet은 컴퓨터 비전의 기초 아키텍처로 남아 있으며, 특징 재사용과 기울기 흐름을 위한 밀집 연결성의 이점을 보여줍니다. 그 아이디어는 특히 매개변수 효율성과 정확성이 중요한 시나리오에서 현대 네트워크 설계에 계속 영향을 미치고 있습니다.