퍼셉트론 (Perceptron): 인공신경망의 기초 단위
퍼셉트론의 개념과 역사
퍼셉트론(Perceptron)은 인공신경망의 기초를 이루는 모델로, 1958년 프랭크 로젠블랫(Frank Rosenblatt)에 의해 개발되었다. 퍼셉트론은 생물학적 뉴런의 작동 원리를 모방한 단순한 선형 분류기로, 주어진 입력 데이터를 바탕으로 두 개의 클래스로 분류하는 역할을 한다. 퍼셉트론은 고정된 구조와 가중치를 사용하여 입력 벡터를 처리하고, 이를 통해 간단한 의사결정을 수행할 수 있다.
퍼셉트론의 수학적 모델
퍼셉트론은 수학적으로 다음과 같은 구성 요소로 이루어진다:
입력 벡터: $ x = [x_1, x_2, ..., x_n] $은 n개의 입력값을 가진 벡터이다.
가중치 벡터: $ w = [w_1, w_2, ..., w_n] $은 각 입력값에 대응하는 가중치를 가진 벡터이다.
편향 (bias): $ b $는 퍼셉트론의 출력에 영향을 미치는 추가적인 상수이다.
활성화 함수: 퍼셉트론의 활성화 함수는 입력과 가중치의 선형 결합 결과를 이진 출력으로 변환하는 역할을 한다.
퍼셉트론의 출력은 다음과 같은 식으로 표현된다:
여기서 $ f $는 활성화 함수로, 퍼셉트론의 경우 단순한 계단 함수(step function)가 사용된다. 이 함수는 입력값의 가중 합이 일정한 임계값(보통 0)을 초과하면 1을, 그렇지 않으면 0을 출력한다.
퍼셉트론의 학습 알고리즘
퍼셉트론은 지도학습(supervised learning) 알고리즘으로, 주어진 데이터에 대해 올바른 출력을 생성할 수 있도록 가중치와 편향을 조정한다. 학습 과정은 다음과 같은 단계로 이루어진다:
초기화: 가중치 $ w $와 편향 $ b $를 임의의 작은 값으로 초기화한다.
출력 계산: 각 학습 데이터에 대해 퍼셉트론의 출력을 계산한다.
오류 계산: 예측된 출력 $ \hat{y} $와 실제 레이블 $ y $ 간의 오류를 계산한다.
가중치 업데이트: 오류를 기반으로 가중치와 편향을 업데이트한다. 학습률 $ \eta $는 가중치 변경의 크기를 조절하는 하이퍼파라미터이다.
반복: 오류가 사라지거나 허용 가능한 수준으로 감소할 때까지 2~4단계를 반복한다.
퍼셉트론의 한계
퍼셉트론은 단순한 선형 분류 문제를 해결하는 데 적합하지만, XOR 문제와 같은 비선형 분류 문제에서는 실패한다. 이는 퍼셉트론이 선형적으로 분리 가능한 문제만 해결할 수 있기 때문이다. 이러한 한계로 인해 다층 퍼셉트론(Multi-layer Perceptron, MLP)과 같은 보다 복잡한 인공신경망 구조가 개발되었다.
관련 자료:
Rosenblatt, F. (1958). The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. Psychological Review.
Haykin, S. (1994). Neural Networks: A Comprehensive Foundation. Prentice Hall.
Minsky, M., & Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. MIT Press.
Last updated