엔지니어가 되고 싶은 공돌이

08. 데이터 본문

Artificial Intelligence/Basic Neural Network

08. 데이터

Geca 2020. 1. 19. 23:21

1. 입력 값

- 시그모이드 함수를 기준으로 x 값이 너무 크게 되면 기울기가 작아짐 = 학습이 제한됨

- 작은 기울기는 곧 학습 능력이 제한된다는 것을 의미하고 이를 일컬어 신경망에 포화(saturation)가 발생했다고 한다.

- 컴퓨터는 매우 작거나 큰 수를 처리할 때 정확도를 잃을 수 있으므로 매우 작은 수 도 문제가 될 수 있다.

해결방법: 입력 값을 0.0~1.0 사이에 놓이도록 그 크기를 조절한다. 때로는 입력값이 0 이 되지 않도록 작은 값을 더하기  도 한다. 입력 값이 0이면 출력값도 0으로 설정돼 가중치 업데이트 수식에 의한 학습능력이 죽을 수 있기 때문.


2. 결과 값

- 시그모이드 함수의 결과 값 즉, 출력 값은 0.0~1.0 사이의 값을 가진다. (0.0, 1.0의 값을 가지지는 못한다.)

- 목표 값을 도달 불가능한 값으로 설정하지 않도록 주의한다.

  만약 도달할 수 없는 값으로 목표 값이 설정되면 신경망을 학습하면 학습할 수록 더 큰 가중치로 잘못 업데이트 된다.

- 0.01~0.99의 값을 일반적으로 사용.

 


3. 가중치 초기화

- 가중치 초기화시 큰 값을 피해야 한다.

  큰 값을 가지는 가중치는 신호를 크게 만들어 활성화 함수에 전달되어 포화를 일으켜 가중치 학습 효과를 떨어뜨리게 할 여지가 분명히 존재하기 때문이다.

- 가중치 초기화는 -1.0~1.0 사이의 임의의 값으로 한다.

 

- 많은 과학자와 수학자 께서 더 나은 가중치 초기화 식을 찾아 내셨다.

  : 노드로 오는 연결 노드의 개수에 루트를 씌운 다음 역수를 취해 얻은 값을 범위로 가중치의 값을 초기화한다.

 ex) 100개의 연결노드를 가진다 -> -0.1~0.1 사이의 임의의 값으로 가중치를 초기화.

- 연결노드가 많아지면 신호는 합의 연산을 수행하므로 그 결과 값이 커질 우려가 있어 연결노드가 많아지면 많아질 수록 가중치 크기를 작게해 합 결과가 작게 나오도록 유도한다.

- 가중치의 초기값은 같은 상수로 설정되서는 안되며 절대 0이 되어서는 안된다.

 

'Artificial Intelligence > Basic Neural Network' 카테고리의 다른 글

09. 간단한 정리  (0) 2020.01.20
07. 경사 하강법 및 오차함수  (0) 2019.12.30
06. 역전파(back propagation)  (0) 2019.12.30
05. 가중치 학습  (0) 2019.12.29
04. 순전파(forward propagation)  (0) 2019.12.29
Comments