본문 바로가기
머신러닝

인공신경망의 학습

by 후닝훈 2021. 6. 17.
반응형

Activation Function (활성함수, 역치판단)

- X축 : input을 모두 더한값

- Y축 : Output

Activation Function의 종류

- Sigmoid : 최댓값 1 / 최솟값 0 / 가운데 부분에서만 급격한 변화를 가짐. (0~1)

- tanh (hyper tan) : 최댓값 1 / 최솟값 -1 / 가운데 부분에서 급격한 변화. (-1~1)

- ReLU : 0보다 작으면 0 / 그후론 Input값

- Maxout : 입력 중 가장 큰 인풋값을 출력함

- ELU : 비연속성을 제거하기 위함.

> 역전파(back propagation) 과정에서 시그모이드나 하이퍼 탄젠트는 출력이 (-1 ~ 1)로 제한되기 때문에 레이어가 깊어질수록 값이 소실이 되기에 학습이 불가능 하게됨.

> 따라서 역전파 과정에서는 ReLU를 많이 사용함. 

 

Biases

- 역치 판단하는 부분(활성함수 부분)에 Bias를 집어넣지 않음.

- ReLU는 0점에서 고정이 되어있기 때문에 Bias 위치가 아래의 그림과 같다.

 

수식1 - Unit 한개

위와 같은 식은 시그마를 통해서 아래와 같이 정리할 수 있다.

 

수식2 - 인공신경망 전체

- 레이블은 Y1 과 비교.

- 8 > -2 이니 1, 0 으로 레이블은 맞다.

 

인공신경망의 기호

- x = 벡터로서, 나열된 데이터. 데이터의 차원

- w = weight.

- fw(x)의 차원 = y의 레이블의 차원. (1, 0, 0, 0) 일시 4차원.

 

인공신경망의 학습

- 원하는 W값과 B의 값을 찾는 과정

- 이제부터 나올 내용은 인공신경망을 이용하여 분류를 할 경우의 학습 내용임.

 

인공신경망을 이용한 분류

- 위와 같은 그림에서는 출력값인 (8, -2)와 원 핫 처리된 레이블인 (1, 0) 사이의 거리가 있음.

- 이 값은 가까울수록 좋은 출력값.

- f(x)와 y의 얼마나 가까운지 판단해야 한다.

- 인공신경망의 원하는 W값과 B값을 찾기 위해서 하나의 숫자로 수렴하게 만드는 Loss Function을 찾아야함.

- Loss Function을 0으로 만드는 W와 B의 값을 찾아야 한다.

- Loss Function이 0이 된다면 모든 데이터에 대한 출력값과 레이블이 같아질 것이다.

 

Loss Function

문제 1) Scale이 맞지 않음 (양/음수가 존재하지만 레이블은 원핫) -> Softmax 활용

- 출력을 확률로 만들어주는 역할

- 자연상수e에 어떠한 수를 승수로 해주어도 음수가 나올 수 없음

- 확률과 같아지기 때문에 값을 모두 더하면 1이 나오도록 바뀜.

- 소프트맥스의 입력값, 출력값 모두 벡터.

 

문제 2) 어떻게 가까운지 판단하는가? -> Cross Entropy 사용

- 유클리드 거리 같은 방법도 있지만, 사용하지 않음.

Cross Entropy

- p, q 모두 확률 이어야 함.

- p는 라벨이며, q는 f(x)의 값

 

* log 0 = -infinity / log 1 = 0

p -> [0, 0, 1], q -> [0, 0, 1] 일 때

p -> [0,1,0], q -> [0,0,1] 일 때

 

- 레이블하고 뉴럴넷의 결과가 완전히 틀렸을 때 가장 큰 값을 갖는다. (양의 무한대)

- 레이블과 뉴럴넷의 결과가 완전이 같았을때 0의 값을 갖는다.

- 결과물은 0 ~ 무한대의 1차원 숫자로 출력값이 나온다. (Loss)

- 이것으로 LF을 줄일 수 있는 Weight와 Bias 값을 찾는다.

 

반응형

'머신러닝' 카테고리의 다른 글

Back - Propagation 2  (0) 2021.06.18
Back - propagation 1  (0) 2021.06.18
인공신경망의 기초  (0) 2021.06.17
여러가지 모델  (1) 2021.06.08
Long Short - Term Memory  (0) 2021.06.02

댓글