본문 바로가기
딥러닝

CNN 층은 깊을수록 좋을까?

by 데이널 2024. 3. 5.

신경망의 층의 깊이도 하나의 하이퍼파라미터로 우리가 선택해야 할 숙제입니다. 일반적으로 층(Layer)을 깊게 쌓을수록 이점이 있다고 알고 있는데 그 확실한 이점은 논의된 것이 별로 없었습니다. 이 글에서는 CNN에서 깊은 층의 이점과 표현력에 대한 관계를 살펴보도록 하겠습니다. 

 

 

CNN에서 깊은 층은 어떤 이점이 있을까?

1. 표현력 향상: 복작한 패턴 인식

Layer를 깊게 쌓으면 모델이 데이터의 저수준 특징뿐만 아니라 고수준 특징도 추출할 수 있습니다. 처음 몇 개의 layer는 간단한 특징을 추출하고, 점차적으로 더 복잡하고 추상적인 특징을 학습합니다. 그래서 깊은 layer는 데이터의 복잡한 패턴과 구조를 인식할 수 있습니다. 

 

깊은 Layer는 데이터를 더욱 계층화된 방식으로 표현할 수 있습니다. 여기서 계층적이란 말은 아래에서 다루겠습니다. 각 Layer는 이전 Layer의 출력을 입력으로 받아 새로운 표현을 생성하므로 모델은 점차적으로 데이터의 추상적인 표현을 학습합니다. 이는 이미지, 음성 또는 텍스트와 같은 다양한 유형의 데이터에 대해 더 나은 성능을 제공할 수 있습니다.


2. 일반화 능력 향상 및 노이즈 감소

깊은 layer를 가진 모델은 일반화 능력이 향상될 수 있습니다. 이는 훈련 데이터뿐만 아니라 새로운 데이터에 대해서도 더 잘 작동할 수 있음을 의미합니다. 흔히 표현력과 일반화는 반대라고 생각하는 사람들이 많습니다. 어느 정도 층이 깊으면 표현력도 향상되면서 일반회 성능도 보장될 수 있습니다. 

 

깊은 layer를 사용하면 노이즈에 대한 강건성이 향상될 수 있습니다. 이는 모델이 데이터의 미묘한 특징을 추출하고 불필요한 정보를 필터링하기 때문에 가능합니다.


3. 모델 성능 향상: 적은 파라미터 수

모델의 Layer가 적을수록 훈련 속도는 빨라지는 원리는 파마미터의 수가 적기 때문입니다. 그렇다면 파라미터 수는 줄이면서 깊은 layer를 가진 모델은 더 나은 성능을 달성할 수 있다는 이야기죠. 

 

예를 들어, 층을 깊게 한 CNN 신경망은 깊지 않은 경우보다 적은 매개변수로 더 나은 수준의 표현력을 달성할 수 있는데요.  5*5의 합성곱 연산은 3*3의 합성곱 2번으로 대체 가능합니다. 전자의 매개변수가 25개(5*5)인 반면 후자는 총 18개(2*3*3)이며 매개변수의 수는 층을 반복할수록 적어집니다. 


이런 방식으로 층을 깊게 함으로써 학습 데이터의 양을 줄여 학습을 고속으로 수행할 수 있습니다. 이는 더 효율적인 모델 학습과 예측을 가능하게 합니다.

 

층 깊이에 따른 파라미터 변화
층 깊이에 따른 파라미터 변화

 

깊은 층과 표현력 관계

 

층을 거듭하다 보면 역시 기울기 소멸에 대한 이슈가 수면위로 떠오릅니다. 이때 ReLU 등의 활성화 함수를 합성곱 계층 사이에 끼움으로써 표현력을 개선할 수 있습니다. 활성화 함수가 신경망에 비선형성을 부여하여 더 복잡한 표현이 가능합니다. 


학습해야 할 문제를 계층적으로 분해하여 더 단순한 문제로 대체할 수 있습니다. 

  • 얕은 신경망 : ‘소’를 인식하는 문제에서 소의 특징을 ‘한 번에’ 이해해야 함
  • 깊은 신경망 : 처음 층은 에지 학습에 전념하여 효율적 학습 가능, 에지의 패턴은 '소'라는 패턴보다 구조가 훨씬 단순함

위 내용처럼 계층적으로 분해된 정보를 전달할 수 있습니다. 에지를 추출한 층의 다음 층은 에지 정보를 쓸 수 있고, 더 고도의 패턴을 효과적으로 학습 가능하다고 할 수 있습니다.