Perceptron이란?
인공신경망의 초기형태로 DL을 하기 위해선 필수 개념이다.
1957년 Frank Rosenblatt이 고안한 AI의 Programming과 Learning 중 Learning의 개념을 처음 도입한 알고리즘이다.
사람의 뉴런과 동작이 유사하며, 다수의 입력으로부터 하나의 결과를 내보낸다. 즉, n개의 입력값으로 출력값을 내보낸다.
Neuron(뉴런)이란?
Dendrites를 통해 정보가 들어오며 이 정보가 일정값 이상 축적되면 신호를 보낸다.
즉, 신호의 양이 적을 때는 신호를 보내지 않지만 임계값(threshold)를 넘어서면 다음 뉴런으로 신호를 보낸다.
뉴런이 다음 뉴런으로 신호를 보내는 것을 activate 한다. 즉, 활성화한다라고 한다.
Neuron과 Perceptron
perceptron은 neuron을 모방한 것이므로 공통점과 차이점을 가지고 있다. 먼저 공통점을 알아보자.
neuron은 정보가 들어오면 해당 정보들을 합산하여 다음 neuron으로 신호를 보낸다. perceptron도 neuron과 비슷하게 n개의 입력값의 정보들을 합산하여 output으로 출력한다.
하지만 neuron과 perceptron은 차이점도 있다.
neuron은 정보가 threshold를 넘어서면 신호를 보내지만 perceptron은 threshold와 상관없이 들어온 모든 정보를 항상 합산해서 무조건 output을 낸다.
perceptron의 output은 input을 합산한 것이므로 input의 정보를 가지고 있게 된다.
하지만 무차별적으로 전부 합산해버리면 정작 output에 필요한 필수 정보의 영향이 축소될 수 있다.
그러므로 무조건 합산하는 것이 아닌 적당한 weight(가중치)를 곱해준 후 합산하며 bias(편향)을 더해주면 좀 더 좋은 정보를 가진 output을 출력할 수 있다.

perceptron은 activation function이라는 과정을 거치며, 실제 neuron의 activate을 모방한 것이다.
가중치를 곱한 후 합산을 한다면 output은 기하급수적으로 값이 커질 수 있다. 그러므로 activation function을 활용해 0~1 사이의 값만 가지게 된다. 이것이 neuron과의 차이점 중 하나이다.
위 공식, 아래의 그림과 같이 output 즉, 예측값을 추출할 수 있다.

Single Layer Perceptron의 한계
logic gate(논리회로)는 논리적인 연산을 수행한다. Perceptron은 AND gate, OR gate 등 간단한 논리회로를 구현할 수 있다. 적당한 threshold를 기준으로 0과 1로 판단하면 임계값에 의해 결과 값이 나눠지게 된다. 임계값을 기준으로 선을 그어 나눌 수 있다.

하지만 Single-Layer Perceptron의 경우 XOR gate는 아래 그림과 같이 임계값 선 1개로 표현할 수 없다. 그래서 non-linear인 경우 Single-Layer Perceptron은 상당한 제약이 생기게 된다.

위 문제를 해결하기 위해 나온 것이 Multi-Layer Perceptron이다. 여러 개의 line을 사용해 non-linear로 표현하는 것이 가능하다. Multi-Layer의 경우 hidden layer가 존재한다. hidden layer가 많을수록 더 세밀하고 정교한 작업이 가능하다.
반대로 Multi-Layer Perceptron의 단점은 weight를 계산할 수 없다는 것이다. Single-Layer의 경우 오차를 계산하여 가중치에 반영하는 것이 가능하다. 하지만 Multi-Layer의 경우 오차를 계산하지만 hidden layer가 있으므로 계산된 오차를 정확하게 어느 곳에 어떻게 반영해야하는지 알기 쉽지 않다.
1980년대 중반 힌튼 교수가 BackPropagation 즉, 역전파 알고리즘을 고안해 이 문제를 해결했다. 역전파 알고리즘은 각 weight를 컴퓨터가 효율적으로 학습할 수 있도록 해주었다.
Multi-Layer Perceptron
딥러닝의 가장 기본 모형이다. Feed Forward 방식 즉, 순전파이다. 순전파란 input에서 시작해 여러 layer를 거쳐 output을 내는 과정을 한방향으로만 진행하는 것을 말한다.
Perceptron의 구조는 Parallel하게 놓여있기도하고, 여러 Layer로 쌓여있기도 하다. 여러 Layer로 쌓인 경우, hidden layer나 output layer의 node들은 즉, Perceptron들은 activation function을 사용하고 있다.
역전파, 순전파 등등 각 개념에 대해서는 추후 강의에서 배울 수 있을 것이다.
참고
https://www.youtube.com/watch?v=XXBdN7NOij8&list=PLvbUC2Zh5oJvByu9KL82bswYT2IKf0K1M&index=2
'Study > ML&DL' 카테고리의 다른 글
[오승상 딥러닝 강의] 3. DNN forward pass (0) | 2025.05.10 |
---|---|
[오승상 딥러닝 강의] 1. introduction (0) | 2025.03.06 |