Fully-Connected Layer
컨볼루션 레이어나 풀링 레이어와 달리, FC 레이어의 각 뉴런은 이런 레이어의 모든 뉴런과 연결되어 있습니다.
전자의 두 레이어는 일반적으로 입력 이미지에서 공간적 Feature를 추출하는 데 사용됩니다.
이렇게 추출된 특징들은 FC 레이어로 전달되어, 고차원의 특징을 학습하고 집계하는 데 사용됩니다.
주로 FC레이어가 마지막에 있는 이유는 보통 분류 문제에서 Class의 확률을 출력하는 데 사용되기 때문입니다.
이는 Softmax 함수와 함께 사용되어 각 클래스에 대한 확률 분포를 제공해줍니다.
fc 레이어는 모델의 학습 가능한 매개변수의 대부분을 차지하기 때문에 복잡한 패턴과 관계를 학습할 수 있는 것입니다.
다양한 네트워크 구조를 보면 항상 FC 레이어는 여러 개씩 붙어있는 것을 볼 수 있습니다.
이유가 뭘까요?
먼저 여러 FC 레이어를 쌓으면, 신경망은 점점 더 복잡하고 고차원의 특징을 학습할 수 있게 됩니다.
초기의 fc 레이어는 비교적 간단한 Feature를, 마지막 레이어는 더 Complex한 Feature를 학습하게 됩니다.
그리고 각 fc 레이어 후에 ReLU와 같은 비선형 활성화 함수를 추가하면, 모델은 더 복잡한 함수를 근사할 수 있게 됩니다. 여러 레이어를 통해 이러한 비선형성이 누적되면, 신경망은 더 복잡한 Decision Boundary를 생성할 수 있습니다.
마지막으로 더 많은 레이어와 뉴런은 모델의 용량(capacity)을 증가시켜, 더 많은 정보와 패턴을 학습을 할 수 있게 합니다. 물론 과다하게 레이어를 추가할 경우 Overfitting의 위험이 있습니다.
결론적으로, 여러 fc 레이러를 포함하는 것은 모델이 더 복잡하고 다양한 특징과 패턴을 학습하는 데 도움을 준다는 점이 핵심입니다.
댓글