본문 바로가기

Python/딥러닝

다층 퍼셉트론과 은닉층, 그리고 순전파란?

728x90

딥러닝의 기본 구조인 퍼셉트론은 간단한 문제를 해결하는 데에는 충분하지만, 현실 세계의 데이터는 훨씬 더 복잡합니다. 단순한 직선 하나로 데이터를 분류하기 어려운 상황에서는 보다 정교한 모델이 필요합니다. 이때 등장하는 개념이 바로 은닉층과 다층 퍼셉트론입니다.

 

단층 퍼셉트론의 한계

단층 퍼셉트론은 입력층과 출력층만으로 구성된 구조로, 선형적인 데이터를 처리하는 데 적합합니다. 아래 그림처럼 선 하나로 구분 가능한 경우에는 단층 퍼셉트론으로도 분류가 가능합니다.

하지만 대부분의 데이터는 그렇게 단순하지 않습니다. 다음과 같은 경우처럼 직선으로는 데이터를 정확히 나누기 어려운 비선형 구조가 많습니다.

이러한 문제를 해결하기 위해 퍼셉트론 구조에 은닉층이 추가된 형태가 등장했습니다.

 

다층 퍼셉트론과 은닉층의 역할

다층 퍼셉트론은 입력층과 출력층 사이에 하나 이상의 은닉층을 추가한 신경망 구조입니다. 은닉층은 입력값을 중간에서 변환하며, 복잡한 패턴이나 특징을 학습하는 데 핵심적인 역할을 합니다.

은닉층이 없는 구조를 단층 퍼셉트론이라고 하며, 은닉층이 하나 이상 포함되면 다층 퍼셉트론이라고 합니다. 은닉층이 많아질수록 더욱 깊은 구조가 되며, 이러한 구조를 심층 신경망이라고 부릅니다.

 

복잡한 결정 경계를 만들어내는 구조

은닉층을 추가하면 직선만으로는 구분할 수 없는 데이터를 곡선이나 다층 구조를 통해 정교하게 분류할 수 있습니다. 실제로 다층 퍼셉트론은 단층 퍼셉트론보다 훨씬 복잡한 결정 경계를 만들어낼 수 있습니다.

 

순전파의 개념

다층 퍼셉트론에서는 입력값이 각 층을 지나며 계산을 거쳐 출력값으로 전달됩니다. 이 과정을 순전파라고 합니다.
각 층의 노드는 이전 층에서 전달받은 값을 바탕으로 가중치를 적용하고, 활성화 함수를 통해 새로운 값을 만들어 다음 층으로 넘깁니다.

이렇게 계산된 최종 출력값은 예측값으로 사용되며, 실제값과 비교하여 손실을 계산합니다. 이 손실값은 추후 역전파 단계에서 학습을 위한 기준으로 사용됩니다.

 

활성화 함수와 비선형성

신경망이 단순한 계산 이상의 능력을 가지려면 비선형성을 포함해야 합니다. 이를 위해 각 층에서는 활성화 함수를 사용합니다.

대표적인 비선형 활성화 함수에는 시그모이드, 렐루, tanh 등이 있으며, 이들은 단순한 선형 계산만으로는 표현할 수 없는 다양한 데이터 구조를 학습할 수 있게 도와줍니다.
만약 모든 층에 선형 함수만 사용한다면, 아무리 층을 많이 쌓아도 결과적으로 하나의 선형 함수와 동일한 결과만 얻게 됩니다.

728x90