수학/딥러닝 이론

[딥러닝] 신경망의 층을 깊게 하는 것의 중요성

AI 꿈나무 2020. 10. 8. 22:59
반응형

사이토고키의 <밑바닥부터 시작하는 딥러닝>을 공부하고 정리해보았습니다.

 


층을 깊게 하는 것의 중요성

 층을 깊게 하는 것의 중요성은 ILSVRC로 대표되는 대규모 이미지 인식 대회의 결과에서 파악할 수 있습니다.

 이 대회에서 최근 상위를 차지한 기법 대부분은 딥러닝 기반이며, 그 경향은 신경망을 더 깊게 만드는 방향으로 가고 있습니다.

 

 층의 깊이에 비례해 정확도가 좋아지는 것입니다.

 

 층을 깊게 할 때의 이점은 다음과 같습니다.

 

1. 신경망의 매개변수 수가 줄어듭니다.

 층을 깊게 한 신경망은 깊지 않은 경우보다 적은 매개변수로 같은(혹은 그 이상) 수준의 표현력을 달성할 수 있습니다.

 

 합성곱 연산에서의 필터 크기에 주목해 생각해보면 쉽게 이해할 수 있습니다.

 

 예를 보겠습니다.

 

 아래 그림은 5X5 필터로 구성된 합성곱 계층입니다.

 

5 X 5 합성곱 연산의 예

 

 여기에서 주목할 점은 출력 데이터의 각 노드가 입력 데이터의 어느 영역으로부터 계산되었느냐는 것입니다.

 

 위 그림에서는 각각의 출력 노드는 입력 데이터의 5 X 5 크기 영역에서 계산됩니다.

 

 이어서 3 X 3의 합성곱 연산을 2회 반복하는 경우를 생각해보겠습니다.

 

3 X 3의 합성곱 계층을 2회 반복한 예

 

 이 경우 출력 노드 하나는 중간 데이터의 3 X 3 영역에서 계산됩니다.

 

 그럼 중간 데이터의 3 X 3 영역은 그전 입력 데이터의 어느 영역에서 계산 될까요?

 

 위 그림을 보면 5 X 5 크기의 영역에서 계산되어 나오는 것을 알 수 있습니다.

 

 즉, 위 그림의 출력 데이터는 입력 데이터의 5 X 5 영역을 보고 계산하게 됩니다.

 

 5 X 5의 합성곱 연산 1회는 3 X 3의 합성곱 연산을 2회 수행하여 대체할 수 있습니다.

 

 게다가 전자의 매개변수 수가 25개(5 X 5)인 반면, 후자는 총 18개(2 X 3 X 3)이며, 매개변수 수는 층을 반복할수록 적어집니다.

 

 그리고 그 개수의 차이는 층이 깊어질수록 커집니다.

 

 예를 들어 3 X 3의 합성곱 연산을 3회 반복하면 매개변수는 모두 27개가 되지만, 같은 크기의 영역을 1회의 합성곱 연산을 하기 위해서는 7 X 7 크기의 필터, 즉 매개변수 49개가 필요합니다.

 

2. 학습의 효율성

 학습의 효율성도 층을 깊게 하는 것의 이점이비다.

 

 층을 깊게 함으로써 학습 데이터의 양을 줄여 학습을 고속으로 수행할 수 있습니다.

 

 

[딥러닝] 합성곱 신경망(CNN) - CNN 시각화 하기

사이토고키의 <밑바닥부터 시작하는 딥러닝>을 공부하고 정리해보았습니다. 을 공부하고 정리해보았습니다. 을 공부하고 정리해보았습니다. 을 공부하고 정리해보았습니다. 을 공부하고 정리��

deep-learning-study.tistory.com

 

 위 포스팅에서 CNN의 합성곱 계층이 정보를 계층적으로 추출하고 있음을 배웠습니다.

 

 앞단의 합성곱 계층에서는 에지 등의 단순한 패턴에 뉴런이 반응하고 층이 깊어지면서 텍스처와 사물의 일부와 같이 점차 더 복잡한 것에 반응한다는 것을 배웠습니다.

 

 신경망을 깊게 하면 학습해야 할 문제를 계층적으로 분해할 수 있습니다.

 예를 들어 처음 층은 에지 학습에 전념하여 적은 학습 데이터로 효율적으로 학습할 수 있습니다.

 개가 등장하는 이미지보다 에지를 포함한 이미지는 많고, 에지의 패턴은 개라는 패턴보다 구조가 훨씬 간단하기 때문입니다.

 

3. 정보를 계층적으로 전달

 층을 깊게 하면 정보를 계층적으로 전달할 수 있다는 점도 중요합니다.

 예를 들어 에지를 추출한 층의 다음 층은 에지 정보를 쓸 수 있고, 더 고도의 패턴을 효과적으로 학습하리라 기대할 수 있습니다.

 

 즉, 층을 깊이 함으로써 각 층이 학습해야 할 문제를 '풀기 쉬운 단순한 문제'로 분해할 수 있어 효율적으로 학습하리라 기대할 수 있습니다.

 

반응형