Beyond ResNets

원준식·2022년 10월 16일
0

부스트캠프 ai tech 4주차에 배운 내용을 정리하는 글입니다.

3주차 내용과 이어지는 내용입니다.(https://velog.io/@jswon/Modern-Convolutional-Neural-Networks)




  1. DenseNet
    1. dense block에서는 각 layer의 모든 output이 채널 축으로 concatenate됨

  1. SENet
  • Squeeze(FsqF_{sq}): global average pooling(H와 W를 각각 1로 만듦)을 통해 각 채널의 공간 정보를 없애고 분포를 구함
  • Excitation(FexF_{ex}): W라는 fc layer를 통해 채널 간 연관성을 찾기(각각의 attention score를 구하는 것임 → 색깔별로 나온 벡터) = reweighting
  • 이렇게 나온 weight과 입력 값을 합쳐서 rescaling 함(FscaleF_{scale}): 중요도가 떨어지는 것은 닫아버리고 중요도가 높은 것은 더욱 강하게 만들기

  1. EfficientNet
  • 왼쪽 그림의 (b), (c), (d)를 잘 섞어보자
  • 오른쪽 그림의 의미
    - x축(FLOPS, FLoating point Operations Per Second): computational complexity
    - 검정 점선: 사람이 설계한 모델
    - 파란 점선: 컴퓨터가 설계한 모델
    - compound scaling을 사용했더니 훨씬 더 좋은 성능을 보임

4. Deformable(변형 가능한) convolution
  • 예시) 자동차 같은 것은 형태가 고정되어 있음. 그런데 사람은 팔, 다리 등 deformable 한 부분들이 존재 → 이런 부분들을 고려하기 위해 제안됨
  • weight는 정해져 있고 그 weight들을 2d offset map에 따라 shape을 변형함


지금까지 배운 이러한 모델들은 feature map을 만드는 CNN backbone으로 사용됨

→ 이렇게 나온 feature map을 이용해 다양한 target task를 수행할 수 있는 것임(classification, classification + regression, segmantation 등등…)

0개의 댓글