퍼셉트론(Perceptron)은 여러 개의 신호를 받아 하나의 신호로 출력하는 간단한 알고리즘입니다.
예로 들어, 누군가 당신을 때릴 때 어디를 맞느냐에 따라 소리가 나올 수도 있고 나오지 않을 수도 있습니다.
맞는 부위가 여러 개라면 (여러 개의 입력 신호), "악!" 소리가 나는 것 (0:소리 안남, 1:"악!") 을 출력신호로 이해할 수 있습니다. 퍼셉트론은 이러한 개념을 기반으로 설계되며, 다음과 같은 수식으로 표현할 수 있습니다.
퍼셉트론의 구조
아래 그림은 퍼셉트론의 구조를 나타냅니다.
- x1: 입력 신호
- w1: 가중치
- θ : 편향 (Threshold)
퍼셉트론의 출력 는 다음의 식으로 계산됩니다.
입력 신호에 가중치를 곱해 모두 더한 값이 편향 θ보다 크면 y=을 출력하고, 그렇지 않으면 y을 출력합니다.
퍼셉트론으로 논리 회로 구현하기
퍼셉트론을 활용하면 간단한 논리 회로를 설계할 수 있습니다.
예를 들어 AND 게이트를 구현해보겠습니다.
AND 게이트란?
AND 게이트는 입력 신호 x1과 x2가 모두 1일 때만 출력이 1이 되는 논리 회로입니다.
다음은 AND 게이트의 진리표입니다.
x1 | x2 | y |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
AND 게이트 구현
위의 퍼셉트론 식을 기반으로 가중치 w1와 편향 θ를 설정하면 AND 게이트를 구현할 수 있습니다.
예를 들어, 다음과 같은 값을 설정해봅시다.
- w1=0.5
- w2=0.5
- θ=0.6
이 경우, 입력 신호를 계산해보면 다음과 같은 결과가 나옵니다:
- w1x1 + w2x2 ≤ θ일 때 y = 0
- w1x1 + w2x2일 때 y =
따라서 x1과 x2가 모두 1일 때만 출력 신호 y가 1이 되어 AND 게이트의 조건을 만족합니다.
OR/NAND 게이트도 구현 가능
마찬가지로, 가중치와 편향 값을 조정하여 OR 게이트나 NAND 게이트도 설계할 수 있습니다.
결론
퍼셉트론은 단순하지만 강력한 알고리즘으로, 논리 회로를 구현할 수 있는 기본적인 도구입니다.
오늘날 딥러닝의 근간이 되는 신경망 모델도 퍼셉트론의 아이디어에서 시작되었다고 볼 수 있습니다.
'프로그래밍 > 머신러닝&딥러닝' 카테고리의 다른 글
Epoch, batch, iteration (0) | 2024.03.24 |
---|---|
(용어 정리) Data Annotation(Labeling) (0) | 2022.03.07 |
(용어 정리) Precision, Recall and Accuracy (0) | 2022.02.22 |