퍼셉트론의 장점과 단점
- 장점 : 퍼셉트론으로 복잡한 함수 표현 가능
ex) 컴퓨터가 수행하는 복잡한 처리도 퍼셉트론으로 이론상 표현할 수 있음 - 단점 : 가중치를 설정하는 작업 (원하는 결과를 출력하도록 가중치 값을 적절히 정하는 작업) 은 여전히 사람이 수동으로 해주어야 함
ex) AND, OR 게이트를 작성할 때에도 진리표를 보면서 우리 인간이 적절한 가중치 값을 정했었음
- 이 문제를 해결하기 위해 "신경망" 출현
- 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력을 갖춘 신경망
먼저, 신경망이 입력 데이터가 무엇인지 식별하는 처리 과정을 알아보자.
퍼셉트론과 신경망
- 신경망은 입력층, 은닉층, 출력층으로 구성
- 은닉층의 뉴런은 입력층이나 출력층과 달리 사람 눈에는 보이지 않아서 '은닉' 이라고 함
- 퍼셉트론의 과정 - 0을 넘으면 1을 출력하고 그렇지 않으면 0을 출력
- 이 조건 분기의 동작을 함수 h(x) 로 나타낼 수 있음.
- y = h(b+w1x1+w2x2)
- h(x) 는 x가 0보다 크면 1, x가 0보다 작거나 같으면 0 - 입력 신호의 총합이 h(x) 라는 함수를 거쳐 변환되어, 그 변환된 값이 y의 출력이 됨.
- h(x) 함수는 입력이 0을 넘으면 1을 돌려주고, 그렇지 않으면 0을 돌려줌
활성화 함수 (activation function)
- 위의 h(x) 함수처럼, 입력 신호의 총합을 출력 신호로 변환하는 함수를 '활성화 함수' 라고 함
- '활성화' 의 이름에서 알 수 있듯이, 활성화함수는 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할을 함
1) 가중치가 곱해진 입력 신호의 총합을 계산
2) 그 합을 활성화 함수에 입력해 결과를 냄 - 즉 신경망에서는 위의 두 단계로 처리가 됨
- 가중치 신호를 조합한 결과가 a 라는 노드가 됨
- 활성화 함수 h() 를 통과하여 y 라는 노드로 변환 - 이 '활성화 함수' 가 퍼셉트론에서 신경망으로 가기 위한 아주 중요한 point
- 단순 퍼셉트론 - 단층 네트워크에서 계단 함수(임계값을 경계로 출력이 바뀌는 함수) 를 활성화 함수로 사용한 모델
- 다층 퍼셉트론 - 신경망 (여러 층으로 구성되고 시그모이드 함수 등의 매끈한 활성화 함수를 사용하는 네트워크)
Reference
- 밑바닥부터 시작하는 딥러닝
'Deep Learning' 카테고리의 다른 글
시그모이드 함수 (sigmoid function) 란? (계단 함수와의 비교) (0) | 2022.05.31 |
---|---|
계단 함수 (step function) 란? (0) | 2022.05.29 |
XOR 게이트 (배타적 논리합, 논리회로, 파이썬으로 구현해보기) (0) | 2022.05.29 |
AND, OR, NAND 게이트 구현 (논리 회로 구현하기) (0) | 2022.05.29 |
딥러닝 주요 알고리즘 1 - 딥러닝 기초 이론 (2) 역전파 알고리즘, 훈련 (0) | 2021.12.13 |
댓글