본문 바로가기
[ 딥러닝 ]

딥러닝의 심층 표현이 중요한 이유

by 불주먹고양이 2023. 6. 5.

딥러닝은 층을 깊게 한 심층 신경망이다.

딥러닝을 구현하면서 생기는 고민 중 하나인, '어느 정도의 깊이로 층을 구성해야 할까'에 대한 내용을 정리해보려 한다.

 

 

1. 매개변수의 개수를 줄일 수 있다.

층을 깊게 만든 신경망은 얕게 만든 신경망보다 적은 매개변수로 같거나 더 높은 수준의 표현력을 가질 수 있다.

 

예를 들어서 5 x 5 필터 하나로 신경망을 구현한다고 하면,

5 x 5 = 25, 25개의 매개변수가 필요하다.

 

하지만 3 x 3 필터 2개로도 신경망을 구현했을 때, 동일한 출력 데이터의 크기를 만들 수 있다.

이때 필요한 매개변수 개수는 3 x 3 x 2 = 18, 18개이다.

3 x 3 필터 두 개의 연산에서 보면, 중간 데이터의 3 x 3 영역이 입력 데이터의 5 x 5 크기의 영역에서 계산되고 있다.

즉, 출력 데이터는 입력 데이터의 5 x 5 영역을 보고 계산한다는 것이다.

 

 

이를 '넓은 수용 영역 소화가 가능하다'고 한다. 

수용 영역 (receptive field)는 출력 Layer의 뉴런 하나에 영향을 미치는 입력 뉴런들의 공간 크기를 의미한다.

 

출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sogangori&logNo=220952339643

왼쪽의 입력 Layer의 중앙에 있는 진한색의 공간이 수용 공간이다.

수용 공간의 크기는 얼마나 많은 문맥 정보를 사용하는가와 비례한다. 

 

적은 매개변수로 많은 문맥 정보를 사용할 수 있다는 것이 깊은 신경망의 장점이라고 볼 수 있다.

 

 

 

2. 학습의 효율성

(1) 학습의 속도 증가

층을 깊게 만들면 학습 데이터의 양을 줄여서 학습을 고속으로 수행할 수 있다.

 

 

(2) 계층적 학습이 가능해짐

앞쪽의 계층에서는 에지 (Edge)나 덩어리 (Blob)만을 특징으로 파악한다면, 이후의 계층에서는 더 구체적인 패턴을 인식하고 복잡한 이해를 할 수 있다.

 

얕은 신경망으로 구성을 한다면 신경망이 한번에 특징을 이해해야 할 것이다.

하지만 깊은 신경망으로는 계층적 학습이 가능하여 단순한 패턴 인식부터 복잡한 학습까지 계층적으로 효율적이게 학습할 수 있다.

 

 

 

3. 정보의 계층적 전달

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

 

층을 깊게 만듦으로써 각 층이 학습해야 할 문제를 풀기 쉬운 단순한 문제로 분해하여 학습할 수 있다는 점이 깊은 신경망의 이점이다.

 


 

최근에는 빅데이터 (학습 데이터의 증가), 컴퓨터 연산 능력의 발전으로 더 깊은 층의 신경망도 학습할 수 있는 환경이 마련되고 있다.

 

물론 층이 무조건 깊다고 해서 더 높은 정확도를 보장하는 것은 아니지만,

대규모 일반 사물 인식과 같은 복잡한 문제에서는 층을 깊게 함으로써 정확도를 크게 끌어올릴 수 있다.