AI, Deep Learning Basics/Basic

[기초] 딥러닝 성능 높이기: 층을 깊게 하는 것에 대하여

정확도를 높일 수 있는 방법

  1. 데이터 확장Data augmentation
    • 이미지 회전/세로 이동 등의 미세한 변화
    • 이미지 일부를 잘라내는 crop나 좌우를 뒤집는 flip
    • 밝기 등의 외형 변화나 확대 축소 등의 스케일 변화
  2. 층을 깊게 하기

'층을 깊게 하는 것'의 중요성

  1. 신경망의 매개변수가 줄어든다.
    • 층을 깊게 한 신경망은 깊지 않은 경우보다 적은 매개변수로 같은 (혹은 그 이상) 수준의 표현력 달성
    • 매개변수를 줄여 넓은 수용영역 소화: ex. 5x5 합성곱 연산 vs. 3x3 합성곱 연산을 2회 반복
  2. 학습해야 할 문제를 계층적으로 분해
    • 각 층이 학습 해야 할 문제를 더 단순한 문제로 대체
    • 정보를 계층적으로 전달 가능

'층을 깊게 하는 것'의 영향력

: single layer를 추가하는 것에 대한 파라미터 추가

  • Single linear layer
    • before node: k 개, after node = l 개: then parameter (k+1)*l
  • CNN layer: On one layer kernel size = k, channel=3: parameter k*k*3+1
    • with 10 layer with kxk filter, then 10*(k*k*3+1)