부트캠프/구름ICT AI

태태개발일지 - 구름톤 ICT 퍼셉트론

태태코 2025. 6. 13. 22:28
반응형

 

딥러닝

 

퍼셉트론: 뇌를 구성하는 신경 세포 뉴련의 동작과 유사하다.

 

출처: 위키피디아

 

뇌에서 뉴런은 신경물질을 전달한다. 이를 유사하게 구현한게 퍼셉트론이다.

출처: 위키피디아

 

 

입력값과 가중치의 값을 곱하여, 그 값을 1과 0으로 구분하는 것이다.

가중치가 높으면 높을 수 록 그 정보는 중요하다는 뜻이다.

 

출처: 위키피디아

바이어스 또한 더하고, 시그모이드나 소프트맥스 함수로, 활성화함수를 통해 출력을 해준다.

 

 컴퓨터는 두 개의 값 0과 1을 입력해 하나의 값을 출력하는 회로가 모여 만들어지는데, 이 회로를 게이트(gate)라고 부릅니다. 초기 형태의 인공 신경망인 단층 퍼셉트론은 간단한 XOR 게이트조차도 구현할 수 없는 부족한 인공 신경망이라는 지적을 받았다.

 

def AND_gate(x1, x2):
    w1 = 0.5
    w2 = 0.5
    b = -0.7
    result = x1*w1 + x2*w2 + b
    if result <= 0:
        return 0
    else:
        return 1


def OR_gate(x1, x2):
    w1 = 0.6
    w2 = 0.6
    b = -0.5
    result = x1*w1 + x2*w2 + b
    if result <= 0:
        return 0
    else:
        return 1
        
        
def NAND_gate(x1, x2):
    w1 = -0.5
    w2 = -0.5
    b = 0.7
    result = x1*w1 + x2*w2 + b
    if result <= 0:
        return 0
    else:
        return 1

 

 

위에를 보면 단일 퍼셉트론으로 가중치와 바이어스를 조절하여 AND OR NAND를 모두 구현할 수 있지만, 아무리 가중치와 바이어스를 조절해도 XOR 게이트는 구현할 수 없다는 것을 알 수 있다.

출처: 위키피디아

 

 

이 부분을 해결하기위해 다중퍼셉트론이 등장했다.

 

입력층과 출력층 사이에 은닉층을 두는 것이다.

은닉층에 NAND와 OR을 구현해 놓으면, XOR 게이트를 만들 수 있다는 것이다.

출처: 위키피디아

 

입력*가중+B를 활성화함수로 거치고, 그것을 다시 가중치랑 곱하여 활성화함수를 거치는것. 이것을 순전파라고한다.

 

하지만 우리는 loss를 구해야한다. 손실함수를 통해 loss를 구해야하는데, 순전파를 하다보면 전에 값을 구해야한다.

 

이를 역전파를 통해 해결하는 것이다.

 

출처: 위키피디아

 

다음과 같은 방법으로 체이닝 기법을 사용하면, 미분의 값, 즉 역전파를 알 수 있다.

 

위에서는 다음과 같이 시그모이드 함수를 사용했으니, 시그모이드함수를 미분해서 구하는 것을 보여주겠다.

 

 

반응형