본문 바로가기
코딩 독학/모두의딥러닝

[모두의딥러닝] 6장. 퍼셉트론

by 효니루 2020. 9. 30.

퍼셉트론의 개념

: 뉴런은 자극이 역치를 넘으면 다음 뉴런으로 신호를 전달한다. 퍼셉트론도 이 뉴런과 비슷한 개념으로 우리가 설정한 활성화 함수에 의해 입력값을 계산하여 일정수준을 넘으면 참, 넘지 못하면 거짓을 내보내는 회로이다. 이렇게 퍼셉트론을 서로 조합하여 만든 것이 인공신경망(Artificial Neural Network)이다.

 

입력값으로 x0 ~ xn 을 넣으면, 가중합을 구하고 해당 가중합을 활성함수에 넣어 값이 임곗값보다 크면 y =1(참), 작으면 y=0 (거짓) 으로 출력하게 된다.

 

y = w1x1 + w2x2 ... +wnxn  + b  → 가중합(weighted sum)

      w : 가중치(weight),   b : 바이어스(bias)

 

활성함수  :  binary classification에서 사용한 시그모이드함수 같은것

                예로 0.5를 넘으면 참, 안 넘으면 거짓으로 판별한다.

 

 


다층퍼셉트론

: 퍼셉트론은 기본적으로 평면에 선을 쫙 그어서 그것을 기준으로 참/거짓을 판단해준다는 것인데, 그렇게는 정확히 구분하기 힘든 경우가 있다. 이를 해결하기 위해 퍼셉트론을 여러겹 쌓는 다층퍼셉트론이 나왔다. 

퍼셉트론을 노드라고 하고, 하나의 노드 안에서는 각각의 (w, b) 를 가지고 활성함수계산을 통해 출력값을 구한다. 이 출력값이 다시 입력값이 되어 다음 층으로 보내지고, 중간에 쌓인 층은 은닉층이라고 부른다.

 

실습

x축이 x1, y축이 x2 값이고, 해당 평면에 +와 -가 분포되어 있다. +면 출력값 y를 1로, -면 0으로 표현하게 되는데, 가장 오른쪽의 경우 직선을 그어서 구분할 수가 없다. 이것을 XOR (exclusive OR) 문제라고 한다.

OR 게이트 : x1, x2 둘다 1일때 결괏값이 1로 출력

AND 게이트 : x1, x2 둘중 하나라도 1이면 결괏값이 1

XOR 게이트 : x1, x2 둘중 하나만 1이여야 결괏값이 1

NAND 게이트 : x1, x2 둘중 하나라도 1이 아니면 결괏값이 1

 

XOR 게이트 문제를 해결하기 위해 다층퍼셉트론을 쌓을 것이다. 이 때 사용하는 가중치와 바이어스의 조합은 무수히 많고 이를 수정해나가는 방법으로 오차역전파가 있지만, 일단 여기서는 기본 게이트들을 조합하여 XOR 게이트를 구분할 수 있는 다층퍼셉트론을 만들 것이다.

 

 

댓글