Tech Trail

What is ResNet-50? 본문

AI/Computer Vision

What is ResNet-50?

_밍지_ 2024. 3. 29. 18:00
728x90
반응형
SMALL

스마트폰이 사진에서 애완 동물을 즉시 인식하거나 소셜 미디어 피드에 이전에 좋아했던 것과 유사한 이미지가 표시될 때 화면 뒤에서 무슨 일이 일어나는지 궁금해 한 적이 있나요?

 

이 현상의 상당 부분은 딥러닝 아키텍처에 있습니다. 이러한 아키텍처 중 하나를 ResNet-50이라고 합니다. ResNet-50은 영상 분류에 탁월한 Convolutional Neural Network (CNN)입니다. 이건 마치 사진을 나누고, 그 안에 있는 물체와 장면을 식별하고, 그에 따라 분류할 수 있는 고도로 훈련된 이미지 분석가와 같습니다.

 

이번 게시물에서는 ResNet-50의 내부 작동 방식을 자세히 살펴보고 이미지 분류 및 컴퓨터 비전 분야에 어떻게 영향을 끼쳤는지 살펴봅니다.

 

What is ResNet-50?

 

ResNet-50은 심층 신경망 훈련과 관련된 문제를 해결하기 위해 설계된 일련의 모델인 ResNet(Residual Networks) 제품군에 속하는 CNN 아키텍처입니다. Microsoft Research Asia의 연구원들이 개발한 ResNet-50은 이미지 분류 작업의 뎁스와 효율성으로 유명합니다. ResNet 아키텍처는 ResNet-18, ResNet-32 등과 같은 다양한 깊이로 제공되며 ResNet-50은 중간 크기의 변형입니다.

 

ResNet-50은 2015년에 출시되었지만 이미지 분류 역사에서 주목할 만한 모델로 남아 있습니다.

 

ResNet and Residual Blocks

 

ResNet이 해결한 주요 문제는 심층 신경망의 성능 저하 문제였습니다. 네트워크가 심층화될수록 정확도는 포화 상태가 되고 빠르게 저하됩니다. 이러한 성능 저하 현상은 과적합으로 인한 것이 아니라 훈련 과정 최적화의 어려움 때문입니다.

 

Training error (left) and test error (right) on CIFAR-10 with 20-layer and 56-layer “plain” networks. The deeper network has higher training error, and thus test error.

 

ResNet은 skip connections을 통해 정보를 직접 전달할 수 있는 Residual Blocks(잔차 블록)을 사용하여 이 문제를 해결하여 vanishing gradient problem(그래디언트 소실 문제)를 완화했습니다.

 

ResNet-50에서 사용되는 Residual BlocksBottleneck Residual Block이라고 합니다. 이 블록에는 다음과 같은 아키텍처가 있습니다.

 

 

다음은 Residual Blocks 내의 구성 요소에 대한 분석입니다.

 

ReLU Activation: ReLU(Rectified Linear Unit) 활성화 함수는 각 convolutional layer와  batch normalization layers(배치 정규화 계층) 이후에 적용됩니다. ReLU는 양수 값만 통과하도록 허용하여 신경망에 비선형성을 도입하는데, 이는 신경망이 데이터에서 복잡한 패턴을 학습하는 데 필수적입니다.

 

Bottleneck Convolution Layers: 이 블록은 3개의 convolutional layer로 구성되며, 각 convolutional layerbatch normalization와 ReLU activation를 갖습니다.

  • 첫 번째 convolutional layer은 1x1의 필터 크기를 사용하며 입력 데이터의 채널 개수를 줄일 수 있습니다. 이러한 차원 축소는 너무 많은 정보를 희생하지 않고 데이터를 압축하고 계산 효율성을 개선하는 데 도움이 됩니다.
  • 두 번째 convolutional layer은 3x3의 필터 크기를 사용하여 데이터에서 공간 특징을 추출할 수 있습니다.
  • 세 번째 convolutional layer은 다시 1x1의 필터 크기를 사용하여 출력값이 바로 가기 연결에 추가되기 전의 원래 채널 개수를 복원합니다.

Skip Connection: standard residual block에서와 마찬가지로 핵심 요소는 shortcut connection입니다. 이를 통해 변경되지 않은 입력을 convolutional layer의 출력에 직접 추가할 수 있습니다. 이 우회 연결은 convolutional layer이 특정 블록의 추가 특징을 학습하는 데 어려움을 겪는 경우에도 이전 계층의 필수 정보가 보존되고 네트워크를 통해 전파되도록 합니다.

 

ResNet-50은 특징 추출을 위한 convolutional layer과 정보 흐름을 보존하는 shortcut connection을 결합하고 bottleneck layer을 도입하여 차원을 줄임으로써 bottleneck residual blocks을 통해 소실 그래디언트 문제를 효과적으로 해결하고, 심층 신경망을 훈련시키고, 영상 분류 작업에서 높은 정확도를 달성할 수 있습니다.

 

Stacking the Blocks: Building ResNet-50

 

ResNet-50은 50개의 bottleneck residual blocksstacked manner(적층형)으로 통합합니다. 신경망의 초기 계층은 residual blocks에 의해 추가 처리를 거치기 전에 영상을 전처리하는 기존의 convolutional layerspooling layers을 특징으로 합니다. 궁극적으로, 구조의 정점에 위치한 fully connected layers는 정제된 데이터를 활용하여 이미지를 정밀하게 분류합니다.

 

ResNet Architectures. Building blocks are shown in brackets with the number of blocks stacked. ResNet-50 architecture is highlighted.

 

bottleneck residual blocksshortcut connections의 전략적 통합을 통해 ResNet-50은 vanishing gradient issue(그래디언트 소실 문제)를 완화하여 이미지 분류를 위한 보다 강력한 모델을 생성할 수 있습니다. 이 아키텍처 접근 방식은 컴퓨터 비전 분야에서 주목할 만한 발전의 문을 열었습니다.

 

ResNet Performance

 

이 섹션에서는 일반 신경망과 비교한 ResNet-20, -32, -44, -56 및 -110 성능을 보여줍니다.

 

Comparison between plain neural networks and ResNets.

 

점선은 훈련 오류를 나타내고 굵은 선은 CIFAR-10의 테스트 오류를 나타냅니다. 왼쪽 차트는 일반 신경망을 사용한 훈련 및 테스트 오차를 보여줍니다. plain-110의 오차는 60%보다 높으며 표시되지 않습니다. 오른쪽 차트는 ResNet을 사용한 학습 및 테스트 오류를 보여줍니다.

 

본질적으로 차트는 신경망에서 skip connections을 사용할 때의 이점을 보여줍니다. 그래디언트 소실 문제를 완화함으로써 skip connections는 영상 분류 작업에서 더 높은 정확도를 달성할 수 있는 더 깊은 신경망을 허용합니다.

 

Conclusion

 

Residual Networks는 특히 컴퓨터 비전 애플리케이션 영역에서 deep convolutional neural networks에 대한 훈련 방법론을 재구성한 중요한 돌파구였습니다.

 

skip connectionsresidual blocks의 사용을 특징으로 하는 이 접근 방식은 이러한 네트워크를 훈련하는 방식을 변화시켰을 뿐만 아니라 보다 정교하고 효율적인 모델의 개발을 촉진했습니다.

 

50개의 bottleneck residual blocks을 갖춘 ResNet-50은 기울기 소실과 관련된 문제를 극복하는 데 탁월한 능력을 입증하여 더 깊은 신경망을 성공적으로 훈련할 수 있습니다.

 

 

 

 

Petru Potrimba. (Mar 13, 2024). What is ResNet-50?

728x90
반응형
LIST