퍼셉트론은 여러개의 input과 한개의 output이 있다.
input이 두개있다고 가정하고, 입력치는 각각 12와 4, 가중치를 0.5와 -1라고 가정해보자.
이러한 입력치에 가중치를 곱하게 된다.
12*0.5 + 4*-1
입력치를 가중치와 곱한 결과를 취해서 활성화 함수(activation function)으로 보낸다.
외부를 볼 수 없는 hidden layer도 존재하는데, input과 output 사이에 존재하고, 3개의 이상의 hidden layer가 있을 때, deep network 라고 부른다.
입력값들이 양수면 1 음수면 0을 출력한다.만약 입력치가 0이라면 output은 항상0이 도출된다.
이러면 문제가 생기기 때문에, bias를 추가하여 이러한 딜레마를 해결함.
활성화 함수에는 기본적으로 relu, sigmoid, tanh 함수가 있다. 딥러닝 모델링 시 활성화 함수를 변경하면 성능이 더 괜찮아 질 수도 있다.
선형함수는 f(x) = x로 일직선으로 뻗어나간다.
비선형 함수는 곡선, 커브모양을 띈다.
Sigmoid 함수
sigmoid함수는 0과 1사이에 있으며, 미분가능하다. 하지만 로지스틴 sigmoid는 학습 중 신경망이 멈출 수 있다는 단점이 있다. softmax는 다중 분류에 사용되는 일반적인 로지스틱 활성화 함수이다.
tanh 함수
tanh함수는 로지스틱 시그모이드와 비슷하지만 조금 더 나은 성능을 보인다. tanh함수는 (-1,1) 이다. sigmoid와 차이점이 있다면 음수는 음수로 출력되고, 0이면 0으로 나온다. 또한 sigmoid와 같게 미분가능하다.
sigmoid와 tanh 함수 둘다 feed-forward nets에 쓰인다.
ReLU함수
ReLU함수는 음수면 0을 반환하고 양수면 양수를 반환한다. 가장 많이 사용되는 활성화함수이다.
'Deep Learning' 카테고리의 다른 글
Keras와 RNN로 하는 주류 판매량 시계열 예측 (0) | 2023.07.04 |
---|---|
딥러닝 케라스 기본 구현 (0) | 2023.07.01 |