신경망의 층의 깊이도 하나의 하이퍼파라미터로 우리가 선택해야 할 숙제입니다. 일반적으로 층(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 등의 활성화 함수를 합성곱 계층 사이에 끼움으로써 표현력을 개선할 수 있습니다. 활성화 함수가 신경망에 비선형성을 부여하여 더 복잡한 표현이 가능합니다.
학습해야 할 문제를 계층적으로 분해하여 더 단순한 문제로 대체할 수 있습니다.
- 얕은 신경망 : ‘소’를 인식하는 문제에서 소의 특징을 ‘한 번에’ 이해해야 함
- 깊은 신경망 : 처음 층은 에지 학습에 전념하여 효율적 학습 가능, 에지의 패턴은 '소'라는 패턴보다 구조가 훨씬 단순함
위 내용처럼 계층적으로 분해된 정보를 전달할 수 있습니다. 에지를 추출한 층의 다음 층은 에지 정보를 쓸 수 있고, 더 고도의 패턴을 효과적으로 학습 가능하다고 할 수 있습니다.
'딥러닝' 카테고리의 다른 글
인셉션(Inception) 특징: 1x1 Conv, Auxiliary classifier (0) | 2024.03.07 |
---|---|
GoogleNet의 인셉션(Inception) 블럭을 뜯어보자 (1) | 2024.03.06 |
이미지 데이터 증강(Data Augmentation) 방법 (0) | 2024.03.04 |
CNN 모델 종류: LeNet, AlexNet, VGG, GoogleNet 비교 (0) | 2024.02.29 |
CNN의 발전 방향 및 생각해 볼 문제 (0) | 2024.02.28 |