딥러닝

딥러닝 1 - 퍼셉트론(Perceptron)

Awakke 2022. 2. 9. 12:00


1. 퍼셉트론

먼저 인공신경망 (Artificial Neural Network)은

동물의 신경망을 모방하여 만든 학습 알고리즘 입니다.

 

그리고 퍼셉트론 (Perceptron)은

인공신경망의 한 종류이며 가장 간단한 형태로 신경망을 수학적으로 모델링 한 것입니다.


x1, x2 - 들어오는 신호, 값

w1, w2 - 가중치(웨이트)

θ - 임계값

 

y={0w1x1+w2x2θ1w1x1+w2x2>θ

 

위 식으로 간단하게 퍼셉트론을 표현 할 수 있으며

웨이트(가중치) 크면(작으면) 들어오는 값을 크게(작게) 만듭니다.

 

이후 신호와 웨이트의 두 값이 설정한 임계값이 넘으면 값을 전달합니다. (y=1)


2. 논리 게이트

 

위 퍼셉트론으로 논리게이트를 설계 할 수 있습니다.


2-1. AND 게이트

AND 게이트 진리표
x1 x2 y
0 0 0
0 1 0
1 0 0
1 1 1

y = 1(이진법), True

y = 0(이진법), False

 

진리표를 간단히 해석한다면 x1과 x2의 값이 1일 때만 1을 출력하는 게이트 입니다.


위 진리표를 바탕으로

w1 = 0.5, w2 = 0.5, θ = 0.7

가 된다면 AND게이트를 구현 할 수 있습니다.

 


EX1)  [x1=1, x2=1][1×0.5+1×0.5=1>0.7(θ)][y=1]

$$ EX2) \  \ [x_{1}=1, \ x_{2}=0]  \longrightarrow  [1 \times 0.5 + 0 \times 0.5 = 0.5<0.7( \theta )]  \longrightarrow  [y=0 ] $$


위 식을 좌표로 쉽게 표현하기 위해 식을 정리합니다.

0.5x1+0.5x2>0.7

=x11.4+x21.4>1

 

이후 좌표로 표현하여 y의 값의 영역을 그릴 수 있습니다.

 


2-2. OR 게이트

OR 게이트 진리표
x1 x2 y
0 0 0
0 1 1
1 0 1
1 1 1

y = 1(이진법), True

y = 0(이진법), False

 

x1과 x2의 값이 0일 때만 0을 출력하는 게이트 입니다.


위 진리표를 바탕으로

w1 = 0.5, w2 = 0.5, θ = 0.2

가 된다면 OR 게이트를 구현 할 수 있습니다.

 


$$ EX1) \  \ [x_{1}=1, \ x_{2}=1]  \longrightarrow  [1 \times 0.5 + 1 \times 0.5 = 1>0.2( \theta )]  \longrightarrow  [y=1 ] $$

$$ EX2) \  \ [x_{1}=0, \ x_{2}=0]  \longrightarrow  [0 \times 0.5 + 0 \times 0.5 = 0<0.2( \theta )]  \longrightarrow  [y=0 ] $$


위 식을 좌표로 쉽게 표현하기 위해 식을 정리합니다.

$$ 0.5x_{1} + 0.5x_{2} >0.2 $$

$$ = \frac{x_{1}}{0.4}+\frac{x_{2}}{0.4} >1 $$

 

이후 좌표로 표현하여 y의 값의 영역을 그릴 수 있습니다.


2-3. XOR 게이트

XOR 게이트 진리표
x1 x2 y
0 0 0
0 1 1
1 0 1
1 1 0

y = 1(이진법), True

y = 0(이진법), False

 

x1과 x2의 값이 다를 때만 1을 출력하는 게이트 입니다.


XOR 게이트는 타 논리 게이트와 다르게 단층 퍼셉트론으로 구현할 수 없어

단층 퍼셉트론의 한계를 보여주는 예입니다.