Perceptron
이번 글에서는 딥러닝의 가장 기본적인 구성 요소 중 하나인 퍼셉트론에 대해 알아본다. 퍼셉트론은 여러 입력을 받아 각 입력의 중요도를 반영해 계산한 뒤, 일정 기준을 넘는지에 따라 0 또는 1을 출력하는 간단한 인공 뉴런 모델이다.
퍼셉트론은 AND, OR, NAND 같은 논리 게이트를 표현할 수 있다. 또한 단층 퍼셉트론의 한계를 이해하면, 왜 여러 층을 쌓은 신경망이 필요한지도 알 수 있다.
1. 입력이 2개인 가장 기본적인 퍼셉트론
입력이 두 개인 퍼셉트론을 생각하자. 입력을 , 각각의 가중치를 , 임계값을 라고 하자.
퍼셉트론은 먼저 입력의 가중합을 계산한다.
그 후 이 값이 임계값보다 큰지 확인하여 출력을 결정한다.
여기서 는 퍼셉트론의 출력이다. 가중합이 임계값을 넘으면 뉴런이 활성화되었다고 보고 1을 출력하며, 그렇지 않으면 0을 출력한다.
2. 가중치의 의미와 역할
가중치 는 각 입력이 출력에 미치는 영향의 크기를 나타낸다.
- 가중치가 클수록 해당 입력은 출력 결정에 더 큰 영향을 준다.
- 가중치가 양수이면 입력이 커질수록 출력이 1이 되기 쉬워진다.
- 가중치가 음수이면 입력이 커질수록 출력이 1이 되기 어려워진다.
예를 들어 라면, 일반적으로 이 보다 출력에 더 큰 영향을 준다고 볼 수 있다.
3. 뉴런의 활성화를 결정하는 임계값
임계값 는 뉴런이 활성화되기 위해 필요한 기준값이다.
- 임계값이 높으면 더 큰 가중합이 필요하다.
- 임계값이 낮으면 비교적 작은 가중합으로도 뉴런이 활성화된다.
임계값 대신 bias를 사용하는 표현도 자주 쓴다. 라고 두면 퍼셉트론은 다음과 같이 표현할 수 있다.
이때 를 bias라고 한다. bias는 뉴런이 활성화되는 기준을 조절하는 역할을 한다.
4. AND 게이트
AND 게이트는 두 입력이 모두 1일 때만 1을 출력한다.
| 출력 | ||
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
예를 들어 다음과 같이 설정할 수 있다.
입력이 둘 다 1일 때만 가중합이 이 되어 임계값 을 넘는다.
5. OR 게이트
OR 게이트는 두 입력 중 하나 이상이 1이면 1을 출력한다.
| 출력 | ||
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
예를 들어 다음과 같이 설정할 수 있다.
입력 중 하나만 1이어도 가중합은 가 되어 임계값을 넘는다.
6. NAND 게이트
NAND 게이트는 AND 게이트의 결과를 반전한 것이다. 두 입력이 모두 1일 때만 0을 출력한다.
| 출력 | ||
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
예를 들어 다음과 같이 설정할 수 있다.
두 입력이 모두 1일 때는 가중합이 이므로 임계값을 넘지 못해 0을 출력한다. 나머지 경우에는 1을 출력한다.
7. 단층 퍼셉트론의 한계
단층 퍼셉트론은 입력 공간을 하나의 직선으로 나눌 수 있는 문제만 표현할 수 있다. 이를 선형 분리 가능하다고 한다.
AND, OR, NAND 게이트는 출력이 0인 경우와 1인 경우를 직선 하나로 나눌 수 있으므로 단층 퍼셉트론으로 구현할 수 있다.
하지만 XOR 게이트는 단층 퍼셉트론으로 구현할 수 없다.
| XOR 출력 | ||
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
XOR에서는 출력이 1인 두 점과 출력이 0인 두 점이 대각선 방향으로 놓인다. 따라서 하나의 직선만으로는 두 그룹을 구분할 수 없다. 이것이 단층 퍼셉트론의 핵심적인 한계이다.
8. 다층 퍼셉트론으로 XOR 게이트 구현하기
XOR은 은닉층을 추가한 다층 퍼셉트론으로 구현할 수 있다.
핵심은 OR 게이트와 NAND 게이트의 출력을 마지막 AND 게이트에 전달하는 것이다.
구조를 간단히 나타내면 다음과 같다.
입력층 은닉층 출력층
x₁ ───┬──→ OR ────┐
│ ├──→ AND ───→ XOR
x₂ ───┴──→ NAND ──┘동작을 확인해보자.
| OR | NAND | 최종 AND, 즉 XOR | ||
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 |
이처럼 은닉층에서 여러 퍼셉트론의 결과를 만들고, 출력층에서 이를 다시 조합하면 단층 퍼셉트론으로는 표현할 수 없던 XOR 같은 비선형 문제도 해결할 수 있다.
9. 정리
퍼셉트론은 입력의 가중합과 임계값을 이용해 0 또는 1을 출력하는 가장 기본적인 인공 뉴런이다.
- 가중치는 각 입력의 중요도와 영향 방향을 결정한다.
- 임계값 또는 bias는 뉴런의 활성화 기준을 조절한다.
- AND, OR, NAND는 단층 퍼셉트론으로 구현할 수 있다.
- 단층 퍼셉트론은 선형 분리 가능한 문제만 표현할 수 있다.
- XOR처럼 선형 분리가 불가능한 문제는 은닉층을 가진 다층 퍼셉트론으로 구현할 수 있다.
다층 퍼셉트론은 단순한 논리 게이트의 조합을 넘어, 복잡한 패턴을 학습하는 현대 딥러닝 모델의 출발점이 된다.