본문 바로가기
개발/AI

[AI] ResNet 요약정리

by 꾀돌이 개발자 2024. 9. 1.
반응형

 

ResNet 요약정리

 

 

목차

     

    서론

    - ResNet은 딥러닝 모델이 깊어질수록 발생하는 기울기 소실 문제를 해결하기 위해 개발되었습니다.

    - ResNet은 2015년 마이크로소프트 리서치 아시아(Microsoft Research Asia)의 연구원들에 의해 개발되었습니다.

     

    ResNet의 개념

    - 잔차 학습(Residual Learning)

    • 기존 학습은 입력으로부터 목표 출력을 계산(예측)할 수 있도록 학습합니다.
    • 잔차 학습은 입력과 목표 출력의 차이, 즉 잔차(residual)를 계산(예측)할 수 있도록 학습합니다.
    • 입력 x, 목표 출력 H(x), 잔차 F(x) 라고 할 때,

    기존 학습: x -> H(x), H(x)를 학습함

    잔차 학습: x + F(x) = H(x), F(x)를 학습하여 H(x)를 구함

     

    - 스킵 연결(Skip Connection)

    • 스킵 연결은 입력을 다음 레이어로 그대로 전달하는 방식입니다.
    • 위 잔차 학습 수식에서 입력 x를 "신경망에서 계산된 F(x)"에 더하는 부분에 해당합니다.

     

    - 잔차 블록(Residual Block)

    • 잔차 블록은 스킵 연결을 포함하는 작은 네트워크 구성 요소입니다.
    • 입력을 여러 레이어를 통해 처리한 결과와 더해준 뒤, 다음 레이어로 전달되는 구조입니다.
    • 각 잔차 블록은 두 개 이상의 컨볼루션 레이어로 이루어져 있습니다.

     

    ResNet의 간단한 구조 예

    - 초기 층(Initial Layers)

    • Conv Layer
    • Max Pooling Layer

     

    - 잔차 블록 (Residual Blocks)

    • Conv Layer 1
    • Batch Normalization
    • ReLU Activation
    • Conv Layer 2
    • Skip Connection

     

    - 종결 층(Final Layers)

    • Global Average Pooling
    • Fully Connected Layer
    • Softmax Layer

     

    ResNet -50 예시

    - 초기 Conv 레이어(1개의 레이어)

    - 여러 잔차 블록들(16개 블록, 총 48개의 Conv 레이어)

    - Fully Connected 레이어 (1개의 레이어)

     

    ResNet의 행렬 연산

    - 예시로 입력 이미지의 크기가 224×224 픽셀이고, RGB 채널을 가진 3채널 이미지를 사용한다고 가정하겠습니다.

    • 입력 이미지: (224×224×3)

     

    - 초기 층(Initial Layers)

    • Conv Layer
      1. 입력: (224×224×3)
      2. 필터 크기: 7×7×3, 필터 수: 64, 스트라이드: 2, 패딩: 3
      3. 출력: (112×112×64)
    • Max Pooling Layer
      1. 입력: (112×112×64)
      2. 필터 크기: 3×3, 필터 수: 1, 스트라이드: 2, 패딩: 1
      3. 출력: (56×56×64)

     

    - 잔차 블록 (Residual Blocks)

    • Conv Layer 1
      1. 입력: (56×56×64)
      2. 필터 크기: 3×3×64, 필터 수: 64, 스트라이드: 1, 패딩: 1
      3. 출력: (56×56×64)
    • Batch Normalization
      1. 크기 변화는 없음
    • ReLU Activation
      1. 크기 변화는 없음
    • Conv Layer 2
      1. 입력: (56×56×64)
      2. 필터 크기: 3×3x64, 필터 수: 64 스트라이드: 1, 패딩: 1
      3. 출력: (56×56×64)
    • Skip Connection
      1. 크기 변화는 없음

     

    - 종결 층(Final Layers)

    • Global Average Pooling
      1. 입력: (7×7×512) * 여러 잔차 블록을 통과하여 입력 크기가 (7×7×512)가 되었다고 가정함
      2. 출력: (512) * 각 채널에 대해 평균을 계산하여, 채널별로 하나의 값만 저장합니다.
    • Fully Connected Layer
      1. 입력: (512)
      2. 출력: (num_classes)
    • Softmax Layer
      1. 입력 및 출력: (num_classes)

     

    반응형