본문 바로가기

Study/Deep learning

단층 퍼셉트론(Single-layer Perceptron)이란? - 1

퍼셉트론(Perceptron)은 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 고안한 고대 화석같은 알고리즘입니다. 

 

퍼셉트론은 신경망(딥러닝)의 기원이 되는 알고리즘으로, 퍼셉트론의 구조를 알면 신경망과 딥러닝으로 나아가는데 중요한 아이디어를 얻을 수 있습니다. 

 

✅ 단층 퍼셉트론이란?

단층 퍼셉트론(또는 단순 퍼셉트론, Single-layer Perceptron)은 다수의 신호를 입력 받아, 하나의 신호를 출력합니다. 

여기서 말하는 신호란 전류나 강물처럼 흐름이 있는 것을 상상하면 좋습니다. 

전류가 전선을 타고 흐르는 전자를 내보내듯, 퍼셉트론 신호도 흐름을 만들고 정보를 앞으로 전달합니다. 

 

다만 실제 전류와 달리 퍼셉트론 신호는 '흐른다/안 흐른다 (1 or 0)'의 두 가지 값을 가질 수 있습니다. 

본 내용에서는 1을 '신호가 흐른다' 0을 '신호가 흐르지 않는다' 라는 의미로 사용하겠습니다.

 

입력이 2개인 퍼셉트론

 

위 그림은 입력으로 2개의 신호를 받은 퍼셉트론의 예입니다. 

x₁과 x₂는 입력 신호, y출력 신호, w₁과 w₂는 가중치(weight)를 뜻합니다. 

그림의 원을 뉴런(neuron) 혹슨 노드(node)라고 부릅니다.

 

입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해집니다. (wx₁, wx₂)

뉴런에서 보내온 신호의 총 합이 정해진 한계를 넘어설 때만 1을 출력합니다. (이를 '뉴런을 활성화한다'라고 표현하기도 합니다)

그 한계를 임계값(threshold)라 하며, θ (theta)로 나타냅니다. 

이러한 퍼셉트론의 동작을 수식으로 나타내면 아래와 같습니다.

 

퍼셉트론은 복수의 입력 신호에 각각에 고유한 가중치를 부여합니다. 

가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로 작용합니다. 

즉, 가중치가 클수록 해당 신호가 그만큼 더 중요함을 뜻합니다.

 

✅ 단순한 논리 회로

이렇게 단 퍼셉트론의 이론에 대해 이해했다면, 이를 이용한 간단한 문제를 살펴보겠습니다. 

논리 회로를 알아보는 첫걸음으로 AND, NAND(not AND), OR 게이트를 사용하겠습니다. 

이 회로는 입력이 둘이고 출력이 하나입니다. 

아래 그림과 같은 입력 신호와 출력 신호의 대응 표를 진리표라고 합니다. 

각 게이트에 대한 설명은 다들 잘 알고 계실테니, 간단하게 설명하겠습니다. 

  • AND 게이트: 두 입력이 모두 1일 때만 1을 출력

  • NAND 게이트: AND 게이트의 출력을 뒤집은 값을 출력

  • OR 게이트: 입력 신호 중 하나 이상이 1이면 1을 출력


✅ 퍼셉트론 구현하기

위 논리 회로를 파이썬으로 구현해보겠습니다. 

다음은 x₁과 x₂를 인수로 받는 AND 함수입니다. 

def AND(x1, x2):
    w1, w2, theta = 0.5, 0.5, 0.7
    tmp = x1*w1 + x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1

 

매개변수 w₁, w₂, theta는 함수 안에서 초기화하고, 가중치를 곱한 입력의 총합이 임계값을 넘으면 1을 반환하고 그 외에는 0을 반환합니다. 

함수의 출력은 다음과 같습니다. 

 


 

 

앞에서 구현한 AND 게이트는 직관적이고 알기 쉽지만, 가중치와 편향을 도입하는 방법은 도입되지 않은 상태입니다. 

다음 글에서 가중치와 편향을 도입하는 방법을 알아봅시다. 

 

2025.04.26 - [Study/Deep learning] - 단층 퍼셉트론(Single-layer Perceptron)이란? - 2

 

단층 퍼셉트론(Single-layer Perceptron)이란? - 2

이전 글에서 단 퍼셉트론의 정의와 개념에 대한 설명을 보고 오셨으면, 가중치와 편향에 대해 설명하겠습니다. 2025.04.26 - [Study/Deep learning] - 단층 퍼셉트론(Single-layer Perceptron)이란? - 1 단순 퍼셉

binarylog.tistory.com