Kim Seon Deok

밑바닥부터 시작하는 딥러닝 1 - 3장 : 신경망 본문

AI/Deep Learning

밑바닥부터 시작하는 딥러닝 1 - 3장 : 신경망

seondeok 2022. 3. 8. 00:29

 

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) : 하나로 묶은 입력 데이터

Comments