퍼셉트론의 개념
: 뉴런은 자극이 역치를 넘으면 다음 뉴런으로 신호를 전달한다. 퍼셉트론도 이 뉴런과 비슷한 개념으로 우리가 설정한 활성화 함수에 의해 입력값을 계산하여 일정수준을 넘으면 참, 넘지 못하면 거짓을 내보내는 회로이다. 이렇게 퍼셉트론을 서로 조합하여 만든 것이 인공신경망(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 게이트를 구분할 수 있는 다층퍼셉트론을 만들 것이다.
'코딩 독학 > 모두의딥러닝' 카테고리의 다른 글
[모두의딥러닝] 5장. 로지스틱회귀 (Logistic regression) (0) | 2020.09.29 |
---|---|
모두의 딥러닝 4장. 오차수정하기: 경사하강법 (0) | 2020.09.29 |
[모두의딥러닝] 3장. 선형회귀 (Logistic regression) (0) | 2020.09.29 |
댓글