첫 장으로는 퍼셉트론 알고리즘을 설명할 것이다.
퍼셉트론이 딥러닝의 시초인 신경망을 구현하는 알고리즘이기 때문이다.
- 퍼셉트론은 다수의 신호를 입력받아 하나의 신호로 출력한다.
- 여기서 출력하는 신호는 0과 1 두가지 값을 가진다.
- 0은 전류가 흐르지 않는다.
- 1은 전류가 흐른다.
-
위 그림은 2개의 입력이 들어온 퍼셉트론이다.
-
입력 신호 : x1, x2
-
출력 신호 : y
-
가중치 : w1, w2 (가중치는 뉴런과 뉴런사이에 반드시 생성
-
뉴런(노드) : 원
-
입력 신호가 뉴런에 보내질 때는 가중치가 곱해진다.
- x1 -> y로 갈때 : x1 * w1
- x2 -> y로 갈때 : x2 * w2
-
뉴런에서 받은 신호의 총 합이 임계값을 넘어설 때만 1을 출력한다.
- 여기서 임계값은 세타(theta) 기호를 쓴다
-
퍼셉트론은 여러개의 입력 신호 각각에 고유한 가중치를 가지고 있으며, 이는 결과(0/1)에 주는 영향력을 조절하는 요소로 작용한다.
-
가중치가 클수록 해당 신호가 그만큼 중요함을 나타낸다.
-
편향은 뉴런이 얼마나 쉽게 활성화되느냐를 제어하는 매개변수로 b를 사용한다.
-
가장 위에있는 퍼셉트론 구조에서 편향을 명시하면 아래그림과 같다.
- 단층 퍼셉트론 : 직선형 영역 표현가능
- 다층 퍼셉트론 : 비선형 영영도 표현가능
-
위의 그림(2층 퍼셉트론)
- 입력층 : 0층
- 은닉층 : 1층
- 출력층 : 2층
-
n층 퍼셉트론(위의 그림은 3층 퍼셉트론)
- 입력층 : 0층
- 은닉층1 : 1층
- 은닉층2 : 2층
- ...
- 은닉층(n-1) : n-1층
- 출력층 : n층
- 장점 : 어떠한 복잡한 함수도 다층 퍼셉트론을 이용하면 표현하는 것이 가능하다.
- 단점 : 이러한 식을 만들 때에 뉴런 사이에 들어가는 가중치의 값을 정하는 것은 사람이 수동으로 해야한다.
- 이는 식이 복잡할 수록 매우 어려워진다.