반응형
여러 층의 NN을 구현하다보니 문득 궁금해졌다. Layer수를 늘리는 것과 각 Layer에서 Neuron의 수를 늘리는 것, 그 차이는 어떻게 나는 것일까? 당연한 결론부터 말하자면, 두 Hyperparameter는 모두 고차원의 학습을 한다는 것이다. 자세한 비교는 다음과 같다.
레이어 수 증가
- 특성 학습 수준: 깊은 네트워크는 데이터의 고수준 특성을 학습할 수 있음.
- 학습 복잡도: 더 많은 레이어는 학습이 어려워질 수 있고, 기울기 소실/폭발 문제를 일으킬 수 있음.
- 계산 비용: 레이어 수가 많아지면 계산량이 증가하여 훈련 시간이 길어지고 메모리 사용량이 늘어남.
뉴런 수 증가
- 모델 용량: 각 레이어에서 더 많은 뉴런은 더 많은 특성과 패턴을 학습할 수 있게 함.
- 과적합 위험: 뉴런 수가 많아지면 과적합 위험이 증가할 수 있음.
- 계산 비용: 뉴런 수가 많아지면 각 레이어의 계산량이 증가하여 훈련 시간과 메모리 사용량이 늘어남.
핵심 차이
- 레이어 수는 모델의 깊이를 의미하며, 더 복잡한 고수준 특성을 학습하는 데 중요합니다.
- 뉴런 수는 각 레이어의 폭을 의미하며, 더 많은 패턴을 세밀하게 학습하는 데 중요합니다.
따라서, 레이어 수를 늘리는 것은 모델의 깊이를 증가시키고, 뉴런 수를 늘리는 것은 각 레이어의 표현 능력을 향상시키는 차이가 있습니다.
즉, 인간의 추론영역 또는 그것을 뛰어 넘는 학습 그리고 그러한 성능을 원한다면 레이어를 늘리고, 입력데이터의 세밀한 패턴분석이 중요하다면 뉴런수를 늘려야한다는 것이다. 그렇기 때문에 레이어 수를 늘리는 경우, 이미지 분류, 자연어 처리 등과 같은 심층 학습에 사용된다.
반응형
'AI' 카테고리의 다른 글
[NLP] 워드 임베딩은 왜 기계 번역에 불리한가? (4) | 2024.07.22 |
---|---|
[CNN] Convolution과 Pooling은 실질적으로 무엇을 의미하는가? (0) | 2024.07.16 |
[AI] Kaggle 타이타닉 문제에서 NN이 Random Forest보다 안 좋을까? (0) | 2024.07.11 |
[CNN] CNN에서 kernel과 filter의 차이는 무엇인가? (0) | 2024.07.11 |
[AI] Model이 Linear하다는 건 무슨 의미인가? (2) | 2024.07.11 |