본문 바로가기
About Machine Learning

다양한 CNN 모델의 특성 (ResNet, U-Net, ... etc ... )

by 용스토리랜드 2023. 5. 6.

다양한 CNN 모델들은 특정 문제나 도메인에 적합한 성능을 내기 위해 고안되었습니다. 대표적인 CNN 모델들의 특성을 간략하게 소개하겠습니다.

LeNet
LeNet은 최초로 널리 알려진 CNN 구조 중 하나로, 손글씨 숫자 인식을 위해 개발되었습니다. 이 모델은 합성곱 층(Convolutional Layer), 풀링 층(Pooling Layer), 완전 연결 층(Fully Connected Layer)의 조합으로 구성되어 있습니다.

AlexNet
AlexNet은 2012년 ImageNet 대회에서 우승하며 딥러닝의 성능을 널리 알리게 된 모델입니다. LeNet과 비슷한 구조를 가지고 있지만, 더 깊고 넓은 네트워크와 ReLU 활성화 함수, 드롭아웃(Dropout) 등의 기법을 도입하였습니다.

VGGNet
VGGNet은 작은 크기의 커널을 사용한 깊은 신경망 구조로, 연속된 합성곱 층을 통해 점진적으로 추상화를 수행합니다. VGGNet은 16개 또는 19개의 층으로 구성된 버전이 널리 사용되며, 구조의 단순함과 높은 성능으로 인기가 많습니다.

GoogLeNet(Inception)
GoogLeNet은 인셉션(Inception) 모듈이라는 새로운 구조를 도입한 모델입니다. 인셉션 모듈은 여러 크기의 커널을 동시에 사용하고 결과를 합치는 방식으로, 다양한 크기의 정보를 동시에 추출할 수 있습니다. 이 모델은 깊이와 너비를 효율적으로 확장하여 연산량을 줄이면서 높은 성능을 달성합니다.

ResNet
ResNet은 잔차 연결(Residual Connection)이라는 기법을 도입하여 깊은 신경망의 학습 문제를 해결한 모델입니다. 잔차 연결은 이전 층의 출력을 현재 층의 출력에 더하는 방식으로, 기울기 소실(Gradient Vanishing) 문제를 완화하고 더 깊은 네트워크를 학습할 수 있게 합니다. 이 모델은 100개 이상의 층을 가진 구조도 효과적으로 학습할 수 있습니다.

U-Net
U-Net은 의료 영상 분야에서 널리 사용되는 세그멘테이션(Seg테이션)을 위한 모델입니다. U-Net은 인코더와 디코더로 구성된 U자 형태의 네트워크를 가지고 있습니다. 인코더는 합성곱과 풀링 층을 통해 고차원의 특성을 추출하며, 디코더는 업샘플링(Up-sampling) 층을 통해 공간 정보를 복원합니다. 또한, 인코더와 디코더 사이에 스킵 연결(Skip Connection)을 사용하여 저차원 정보와 고차원 정보를 결합하고, 세부적인 경계 정보를 유지하면서 세그멘테이션을 수행할 수 있습니다.

MobileNet
MobileNet은 경량화된 모델로, 모바일이나 임베디드 시스템에서도 사용 가능한 고성능 신경망입니다. MobileNet은 깊이별 합성곱(Depthwise Convolution)과 포인트별 합성곱(Pointwise Convolution)을 결합한 구조를 사용하여, 계산량과 모델 크기를 크게 줄이면서도 높은 성능을 유지합니다.

EfficientNet
EfficientNet은 차원별로 최적화된 모델을 찾는 방법을 사용하여, 네트워크의 깊이, 너비, 해상도를 조절하는 것이 성능과 효율성에 어떤 영향을 미치는지 연구한 결과를 바탕으로 개발된 모델입니다. EfficientNet은 균형잡힌 확장 방식을 통해 높은 성능과 효율성을 동시에 달성합니다.

 

R-CNN (Regions with CNN features)
R-CNN은 객체 탐지를 위한 초기 CNN 기반 모델로, Selective Search 알고리즘을 사용해 이미지에서 물체 후보 영역(Region Proposal)을 추출한 후, 각 영역에 대해 CNN을 적용하여 특성을 추출하고 분류합니다. R-CNN은 성능은 높지만, 속도가 느리다는 단점이 있습니다.

Fast R-CNN
Fast R-CNN은 R-CNN의 속도 문제를 개선한 모델입니다. 이 모델은 이미지 전체를 한 번에 CNN에 적용하여 특성 맵(Feature Map)을 추출하고, RoI(RoI Pooling) 방식을 사용해 후보 영역별로 특성을 정규화합니다. 이를 통해 R-CNN보다 훨씬 빠른 객체 탐지 성능을 달성합니다.

Faster R-CNN
Faster R-CNN은 Fast R-CNN에서 Region Proposal Network(RPN)를 도입하여 물체 후보 영역 추출 과정을 CNN 기반으로 변경한 모델입니다. 이로 인해 더 빠른 속도와 함께 높은 성능을 달성할 수 있습니다.

YOLO (You Only Look Once)
YOLO는 이미지를 그리드로 나누고, 각 그리드 셀에서 바운딩 박스와 클래스 확률을 동시에 예측하는 신경망 구조입니다. YOLO는 객체 탐지를 한 번의 순방향 계산으로 처리하기 때문에 매우 빠른 속도를 보여주며, 실시간 객체 탐지에 적합합니다.

SSD (Single Shot MultiBox Detector)
SSD는 YOLO와 비슷하게 객체 탐지를 한 번의 순방향 계산으로 수행하는 모델입니다. SSD는 다양한 크기의 기본 박스(Prior Box)를 사용하여 물체의 크기에 따른 성능 저하를 줄입니다. 속도와 성능 면에서 YOLO와 비슷한 특성을 가지고 있습니다.

Mask R-CNN
Mask R-CNN은 Faster R-CNN을 기반으로 하며, 객체 탐지와 함께 인스턴스 세그멘테이션(Instance Segmentation)을 수행할 수 있는 모델입니다. 이 모델은 RoIAlign 방식을 사용하여 후보 영역별로 특성을 정확하게 추출하고, 별도의 마스크 분류 브랜치를 추가하여 각 객체에 대한 픽셀 수준의 마스크를 예측합니다. 이로 인해 객체 탐지와 인스턴스 세그멘테이션을 동시에 높은 성능으로 수행할 수 있습니다.

DeepLab
DeepLab은 이미지의 픽셀 수준에서 객체를 분리하는 세마틱 세그멘테이션(Semantic Segmentation)을 위한 모델입니다. DeepLab은 공간 피라미드 풀링(Spatial Pyramid Pooling) 방식과 atrous 컨볼루션을 사용하여 다양한 크기의 객체를 효과적으로 분리할 수 있습니다. 또한, CRF(Conditional Random Field)를 후처리 단계에서 사용하여 세분화된 경계를 개선합니다.

PSPNet (Pyramid Scene Parsing Network)
PSPNet은 DeepLab과 유사하게 세마틱 세그멘테이션을 수행하는 모델로, 피라미드 풀링 방식을 사용하여 이미지의 여러 스케일에서 특성을 추출합니다. 이로 인해 다양한 크기와 비율의 객체를 잘 분리할 수 있습니다. PSPNet은 고해상도 이미지에서도 성능이 잘 유지되며, 다양한 씬 파싱 문제에 적용 가능합니다.


이와 같이 다양한 CNN 모델들은 특정 도메인이나 문제에 대해 특화된 성능을 제공하기 위해 개발되었습니다. 실제 문제를 해결할 때에는 데이터의 특성과 목적에 맞게 적절한 모델을 선택하거나, 기존 모델을 변형하여 사용하는 것이 중요합니다.

반응형