인공신경망(ANN, Artificial Neural Network)은 인간의 뇌를 모델화한 것을 의미한다.
퍼셉트론은 인공 신경망의 구성요소로, 입력(x)을 일련의 과정(활성화 함수, σ)를 거쳐 결과(y)를 출력하는 역할을 한다.
1. 단층 퍼셉트론
- 목표: Input(X)에 대한 Output(y)을 가장 잘 예측하는 Weight(w)를 찾는 것.
(1) 입력이 2개인 단층 퍼셉트론

이 퍼셉트론은 입력이 x1,x2 2개 뿐이며, Layer가 입력층을 제외하고 1개 뿐이므로, 단층 퍼셉트론이라고 한다.
Layer와 y(출력) 사이에 있는것을 ActivationFunction(활성화 함수)라고 한다.

ActivationFunction=x1∗w1+x2∗w2+b
이 퍼셉트론은 ActivationFunction(활성화 함수)를 통과한 값이 DecisionBoundary(θ) 보다 크면 1, 아니면 0 으로 예측한다.
이를 수식으로 작성하면 아래와 같다.
y={1,(ifx1∗w1+x2∗w2+b>θ)0,(otherwise)
(2) 입력이 n개인 단층 퍼셉트론

이 퍼셉트론은 입력이 x1,...,xn n개 이고, Layer가 입력층을 제외하고 1개 뿐이므로, 입력이 n개인 단층 퍼셉트론 이라고 한다.
ActivationFunction=i=1∑n(xi∗wi)+b
위와 동일하게 ActivationFunction(활성화 함수)를 통과한 값이 DecisionBoundary(θ) 보다 크면 1, 아니면 0 으로 예측한다.
이를 수식으로 작성하면 아래와 같다.
y=⎩⎪⎪⎨⎪⎪⎧1,(ifi=1∑n(xi∗wi)+b>θ)0,(otherwise)
(3) 단층 퍼셉트론의 한계
And/OR | 퍼셉트론 | 비고 |
---|
 |  | 하나의 직선으로 분류 가능 |
X1, X2 모두 1이여야 1이 되는 AND연산과 X1, X2 중 하나라도 1이면 1이 되는 OR 연산은
위에서 봤던 ActivationFunction(하나의 직선)을 사용한 단층 퍼셉트론으로 분류가 가능하다.
XOR | 퍼셉트론 | 비고 |
---|
 |  | 하나의 직선으로 분류 불가능 |
하지만 X1, X2 값이 동일하면 0이고 X1, X2 의 값이 서로 다르면 1이 되는 XOR 연산은
위에서 봤던 ActivationFunction(하나의 직선)을 사용한 단층 퍼셉트론으로는 분류가 어렵다.
XOR연산의 경우에는 최소 두개의 직선을 사용하거나, 곡선이 필요하다.
그래서 아래의 MLP가 등장했다.
2. MLP(Multi-Layer Percetron)
- Fully-Connected Layer 또는 Dense Layer 라고도 한다.
- 목표: Input(X)에 대한 Output(y)을 가장 잘 예측하는 Weight(w)를 찾는 것.

h1=σ(W1TX+b1)
h2=σ(W2Th1+b2)
h3=σ(W3Th2+b3)
여기서 X는 입력값(x)의 행렬, W는 가중치(w)의 행렬, σ는 활성화 함수를 의미한다.
MLP에서 활성화 함수는 위의 XOR 문제를 해결할 수 있도록 곡선으로 생긴 DecisionBoundary를 만든다. 따라서 조금 더 복잡한 분류 문제를 해결할 수 있다.
MLP에서 활성화 함수는 어떻게 생겼고, W는 어떻게 찾을 수 있을까?