ResNet이 소실 기울기 문제를 해결하여 딥러닝에 혁명을 일으키고, 이미지 분석, NLP 등을 위한 초심층 네트워크를 가능하게 하는 방법을 알아보세요.
일반적으로 ResNet으로 알려진 Residual Networks는 심층 학습 분야에 지대한 영향을 미친 획기적인 유형의 신경망(NN) 아키텍처입니다. Kaiming He 등이 2015년 논문 "Deep Residual Learning for Image Recognition"에서 소개한 ResNet은 수백 또는 수천 개의 레이어를 가진 매우 심층적인 신경망을 효과적으로 학습할 수 있게 했습니다. 이는 매우 심층적인 네트워크를 괴롭히는 gradient 소실 문제를 완화하는 간단하면서도 강력한 개념인 "skip connection"이 있는 "residual block"을 도입하여 달성되었습니다.
ResNet의 핵심 혁신은 skip connection 또는 shortcut의 사용입니다. 기존의 Convolutional Neural Network (CNN)에서 각 레이어는 출력을 다음 레이어로 직접 순서대로 공급합니다. 네트워크가 깊어짐에 따라 네트워크가 학습하고 훈련 중에 기울기가 다시 전파되는 것이 점점 더 어려워집니다. 이로 인해 레이어를 더 추가하면 실제로 모델의 성능이 저하되는 상황이 발생할 수 있습니다.
ResNet은 레이어(또는 레이어 블록)의 입력을 해당 출력에 추가할 수 있도록 하여 이 문제를 해결합니다. 이 skip connection은 gradient가 통과할 수 있는 대체 경로를 생성하여 매우 심층적인 네트워크도 효과적으로 학습할 수 있도록 보장합니다. 이 구조를 통해 네트워크는 residual function(본질적으로 레이어는 전체 변환이 아닌 입력으로부터의 변경 또는 잔차만 학습하면 됨)을 학습할 수 있습니다. 레이어가 유용하지 않은 경우 네트워크는 가중치를 0으로 구동하여 쉽게 무시하도록 학습할 수 있으므로 skip connection을 통해 identity mapping을 전달할 수 있습니다.
ResNet의 강력한 특징 추출 기능은 많은 복잡한 컴퓨터 비전 작업에서 백본으로 널리 사용됩니다.
ResNet 아키텍처는 PyTorch 및 TensorFlow와 같은 주요 딥 러닝 프레임워크에서 널리 구현됩니다. 대규모 ImageNet 데이터 세트에서 학습된 사전 학습된 모델은 torchvision과 같은 라이브러리를 통해 쉽게 사용할 수 있으며, 이를 통해 사용자 지정 애플리케이션을 위한 효과적인 전이 학습이 가능합니다. Ultralytics HUB와 같은 플랫폼을 통해 사용자는 ResNet 기반 모델을 포함한 다양한 아키텍처를 활용하여 특정 요구 사항에 맞는 사용자 지정 모델을 학습할 수 있습니다. ResNet은 강력한 성능 기준을 설정했지만 이후 더 나은 효율성을 제공하기 위해 EfficientNet과 같은 새로운 아키텍처가 개발되었습니다. CNN에 대한 더 많은 교육 리소스는 Stanford의 CS231n 과정 또는 DeepLearning.AI와 같은 제공업체의 과정을 통해 찾을 수 있습니다.