퍼셉트론(Perceptron)은 인공 신경망의 가장 기본적인 단위로, 하나의 뉴런을 모형화한 것이다. 퍼셉트론은 1957년 Frank Rosenblatt에 의해 처음 제안되었으며, 이진 분류 문제를 해결하는 데 사용된다. 퍼셉트론의 기본 개념과 작동 원리는 다음과 같다.
퍼셉트론의 구조
- 입력층(Input Layer):
- 여러 개의 입력 값 x1,x2,…,xn으로 구성됩니다. 각 입력 값은 뉴런에 연결된다.
- 가중치(Weights):
- 각 입력 값에는 가중치 w1,w2,…,wn가 부여됩니다. 가중치는 입력 값의 중요도를 나타내며 학습 과정에서 조정된다.
- 편향(Bias):
- 뉴런의 출력 값을 조정하는 데 사용되는 추가적인 매개변수 b이다. 편향은 뉴런이 활성화될 기준을 설정하는 역할을 한다.
- 활성화 함수(Activation Function):
- 뉴런의 총 입력 값을 기반으로 출력 값을 결정하는 함수이다. 퍼셉트론에서는 일반적으로 단위 계단 함수(Unit Step Function)가 사용된다.
퍼셉트론의 작동 원리
- 총 입력 값 계산:
- 각 입력 값과 그에 해당하는 가중치를 곱한 후, 모든 곱셈 결과를 합산하고 편향 값을 더한다.
- 총 입력 값 z는 다음과 같이 계산된다: z=∑i=1..n wixi+b
- 활성화 함수 적용:
- 총 입력 값 zzz를 활성화 함수에 입력하여 출력 값을 결정한다. 퍼셉트론에서는 단위 계단 함수를 사용하여 출력이 0 또는 1이 되도록 한다
- output={1 if z≥0, 0 if z<0}
퍼셉트론의 학습 과정
퍼셉트론은 주어진 데이터를 기반으로 가중치와 편향을 조정하여 학습한다. 학습 과정은 다음과 같다:
- 초기화:
- 가중치와 편향을 임의의 작은 값으로 초기화한다.
- 입력 데이터 반복:
- 각 입력 데이터에 대해 다음 단계를 수행한다:
- 총 입력 값을 계산하고, 활성화 함수를 통해 출력 값을 도출한다.
- 출력 값과 실제 레이블(정답)을 비교하여 오류를 계산한다.
error=실제 레이블−출력 값 - 오류를 바탕으로 가중치와 편향을 업데이트한다. 학습률(learning rate) η를 사용하여 업데이트의 크기를 조절한다.
wi=wi+η×error×xi
b=b+η×error
- 각 입력 데이터에 대해 다음 단계를 수행한다:
- 반복:
- 오류가 줄어들 때까지 또는 일정한 에포크(epoch)가 지나갈 때까지 위 과정을 반복한다.
퍼셉트론의 한계
퍼셉트론은 단순한 구조 덕분에 이진 분류 문제를 해결할 수 있지만, 선형적으로 구분되지 않는 문제(예: XOR 문제)를 해결할 수 없었다. 이러한 한계를 극복하기 위해 다층 퍼셉트론(MLP, Multi-Layer Perceptron)과 같은 복잡한 신경망 구조가 개발되었다. MLP는 여러 개의 퍼셉트론 층을 쌓아 복잡한 비선형 문제도 해결할 수 있다.
'컴퓨터공학 > NN' 카테고리의 다른 글
Forward-Forward Algorithm (0) | 2024.08.16 |
---|---|
역전파(Backpropagation) (0) | 2024.08.15 |
CNN/RNN/Transformer 특징 장단점 비교하기 (0) | 2024.08.10 |
다층 퍼셉트론(MLP, Multi-Layer Perceptron) (0) | 2024.08.06 |
NN(Neural Network)이란 (0) | 2024.08.05 |