논문명
저자(소속) ()
학회/년도 IROS 2015, 논문
키워드
데이터셋(센서)/모델
관련연구
참고
코드

Deep residual learning for image recognition, https://arxiv.org/abs/1512.03385

ILSVRC 2015년 대회에서 우승을 한 구조로 마이크로소프트의 Kaiming He 등에 의해서 개발이 되었다.

기존 DNN(Deep Neural Network)보다 layer 수가 훨씬 많은 Deeper NN에 대한 학습(training)을

쉽게 할 수 있도록 해주는 residual framework 개념을 도입했다.

1. 개요

1.1 깊은 망의 문제점

  • Vanishing/Exploding Gradient 문제 : batch normalization, 파라미터의 초기값 설정 방법을 쓰지만 여전히 일정 수 이상 깊어 지면 문제점

  • 파라미터 수 증가 : 오버피팅,

  • 에러 증가 (층이 깊어질 수록 모 error가 누적된다)

[참고] 깊이에 따른 기술
  • 5층 이상 : ReLU 함수 도입
  • 10층 이상 : 학습 파라미터들의 초기화 전략, 배치 정규화
  • 30 층 이상과 100 층 이상 : 몇 개의 층을 건너뛰는 연결을 만드는 방법(잔차넷)

1.2 Residual Learning

참고 : 홍정모 교수 블로그, Donghyun, SNU강의자료_29P

100 layer 이상으로 깊게 하면서, 깊이에 따른 학습 효과를 얻을 수 있는 방법

Identity shortcut 연결의 장점

  • 깊은 망도 쉽게 최적화가 가능하다.
  • 늘어난 깊이로 인해 정확도를 개선할 수 있다.

2. 구조

망을 설계하면서 VGGNet의 설계 철학을 많이 이용

  • 가능한 convolutional layer는 3x3 kernel을 가지도록 함

  • Feature-map의 크기가 절반으로 작아지는 경우는 연산량의 균형을 맞추기 위해 필터의 수를 두 배로 늘린다.

    • Feature-map의 크기를 줄일 때는 pooling 대신에 stride의 크기를 “2”로
  • 복잡도(연산량)를 줄이기 위해 max-pooling(1곳 제외), hidden fc, dropout 등을 사용하지 않았다

  • 매 2개의 convolutional layer마다 shortcut connection이 연결되도록 하였다.

2.1 Deeper Bottleneck Architecture

Bottleneck적용 (residual function을 1x1, 3x3, 1x1로 구성)

  • 처음 1x1 convolution은 dimension을 줄이기 위한 목적
    • NIN(Network-in-Network)이나 GoogLeNet의 Inception 구조에서 살펴본 것처럼
  • 3x3 convolution을 수행 한 후,
  • 마지막 1x1 convolution은 다시 dimension을 확대

목적: 결과적으로 3x3 convolution 2개를 곧바로 연결시킨 구조에 비해 연산량을 절감시킬 수 있게 된다.

Bottleneck 명명이유 : 차원을 줄였다가 뒤에서 차원을 늘리는 모습이 병목처럼 보이기 때문

3. 특징

  • ResNet에서는 image detection/localization의 성능을 위해, Faster R-CNN 방법을 적용

4. 학습/테스트

results matching ""

    No results matching ""