Kim Seon Deok
밑바닥부터 시작하는 딥러닝 1 - 3장 : 신경망 본문
3-1. 퍼셉트론에서 신경망으로
a = 편향의 총합
h(x) = 활성화 함수(active function) >> 입력신호의 총합을 출력신호로 변환
입력이 0을 넘으면 1을 출력하고 넘지 못하면 0을 출력
3-2. 활성화 함수
1. step function : 임계값을 경계로 출력이 바뀜
0을 경계로 출력이 바뀜
0 이외의 값에서 미분값이 0이다.
>> 매개변수의 미소한 변화에 거의 반응이 없다. 반응이 있더라도 불연속적으로 갑자기 변한다.
def step_function(x):
if x > 0:
return 1
else:
return 0
2. sigmoid function : 신경망에서 자주 이용하는 활성화 함수
sigmoid function을 이용해 신호를 변환하고, 변환된 신호를 뉴런에 전달
부드러운 곡선. 입력에 따라 출력이 연속적으로 변함
미분값이 어느 장소라도 0이 되지 않는다. >> 올바른 학습이 가능하다.
def sigmoid(x):
return 1 / (1 + np.exp(-x))
3. ReLU function :
입력이 0을 넘으면 그대로 출력, 0 이하이면 0을 출력
def relu(x):
return np.maximum(0,x)
* step function 과 sigmoid function 의 공통점
1. 비선형 함수이다.
2. 둘 다 입력이 작을 때 출력은 0에 가깝고, 입력이 커지면 1에 가까워지는 구조(0~1)
3-5. 출력층 설계
회귀 (Regression) : 입력 데이터에서 연속적인 수치를 예측하는 문제 - 항등함수
분류(classification) : 데이터가 어느 클래스에 속하느냐는 문제 - softmax function
항등함수 : 입력을 그대로 출력 >> 입력 = 출력
softmax function :
a : 입력신호 y : k번째 출력
softmax function의 출력은 0과 1 사이의 실수
softmax function의 출력의 총합 = 1
softmax function 의 출력 : 확률
정규화(normalization) : 데이터를 특정 범위로 변환하는 처리
전처리(pre-processing) : 신경망의 입력데이터에 특정 변환을 가하는 것
배치(batch) : 하나로 묶은 입력 데이터
'AI > Deep Learning' 카테고리의 다른 글
밑바닥부터 시작하는 딥러닝 1 : 5장 - 오차역전파법 (0) | 2022.03.08 |
---|---|
밑바닥부터 시작하는 딥러닝 1 : 4장 - 신경망 학습 (0) | 2022.03.08 |
밑바닥부터 시작하는 딥러닝1 - 2장 : 퍼셉트론 (0) | 2022.03.08 |
7. Numpy & NLTK (0) | 2022.01.21 |
6. Batch Normalization (0) | 2022.01.21 |