- 퍼셉트론 이란
- 다수의 신호를 받아 하나의 신호를 출력합니다.
- 퍼셉트론에서의 신호는 1 또는 0 값만 가질 수 있습니다.
- 신경망 ( 딥러닝 ) 의 기원이 되는 알고리즘
- 입력이 2개인 퍼셉트론
- 여기서 x1,x2 는 입력이고, w1,w2는 가중치, y는 출력 입니다.
- 원에 해당되는 것은 뉴런 이라고 불립니다. (혹은 노드 라고 불립니다.)
- 입력신호가 뉴런에 보내질땐 각각의 가중치가 곱해집니다.
- 가중치란 전기신호에서 저항 정도로 생각하면 되지만 저항과는 반대로 가중치 값이 클수록 큰값을 흘립니다.
- 뉴런에서 전해져 온 신호의 총 합이 임계값을 넘을 때만 1을 출력합니다.
- AND,NAND,OR게이트 실습
- 퍼셉트론을 활용한 간단한 문제 해결
- 퍼셉트론에서 위의 3가지 게이트는 모두 구조가 동일합니다.
- 세가지 게이트에서 다른것은 "매개변수(가중치,임계값) 값"
- 게이트를 구현하기에 앞서 B라는 편향을 도입하였습니다. " 뉴런이 얼마나 쉽게 활성화 하느냐를 조정하는 변수 "
- 이를 이용해 각 게이트를 구현하였습니다.
- 퍼셉트론의 한계
- 퍼셉트론은 XOR을 구현할 수 없습니다. 이는 인공지능의 암흑기가 찾아온 이유이기도 합니다.
- XOR이란 두개의 입력이 같으면 0 다르면 1을 출력하는 게이트 입니다.
- 옆의 그림에서 보듯, 하나의 직선으로 '동그라미'와 '세모' 를 나눌 수 없기 때문에 한계가 온 것입니다.
- 이처럼 곡선으로 나눌 순 있겠지만
- 퍼셉트론은 직선 하나로 나눈 영역만 표현할 수 있다는 한계를 가지고 있기 때문입니다.
- 다층 퍼셉트론
- 퍼셉트론은 다층으로 쌓을 수 있습니다.
- 우선 다층 퍼셉트론을 사용하여 XOR을 구현한 코드를 살펴보겠습니다.
자 여기서 이제 이것이 어떤 원리로 구현된 코드인지 살펴보겠습니다.
- 우선 XOR을 구현하기 위한 게이트(퍼셉트론)의 조합을 살펴보면
- X1 과 X2 를 입력으로 받는 NAND 게이트 와 OR 게이트
- 그리고 그 각각의 출력값을 입력으로 받는 AND 게이트의 조합으로 XOR을 구현할 수 있습니다. 이를 진리표로 살펴보면
S1 은 NAND의 출력 , S2는 OR의 출력 값이고 이를 입력으로 받은 AND게이트를 통과한 Y값의 결과 입니다.
이를 퍼셉트론으로 표현하면
이와 같이 표현할 수 있습니다. 그래서 위의 코드는 이를 바탕으로 작성하였습니다.
이처럼 2층이상으로 표현되는 퍼셉트론을 "다층 퍼셉트론"이라 부릅니다.
이처럼 단층으로 표현 못한 것을 층을 하나 늘려 구현할 수 있습니다.
'Deep Learning' 카테고리의 다른 글
4. 출력층 설계하기, 소프트맥스 함수. (0) | 2021.04.19 |
---|---|
3.신경망,활성화 함수 (0) | 2021.04.19 |
딥러닝 개요 (0) | 2021.04.15 |