활성화 함수
(1) 뇌세포의 출력값
- 뇌세포는 항상 일정한 크기의 값을 출력함 (0 or 1)
- 뇌세포의 출력물은 디지털 신호로 간주할 수 있음
(1) Sigmoid 함수
- 입력값을 0부터 1사이의 값으로 출력
(2) Tanh 함수
- -1 부터 1사이값으로 다듬어주며 입력값이 작을수록 -1에 가까운 값을 출력하고 입력값이 크면 1에 가까운 값을 출력하게 된다. 음수값을 사용하지 않으려는 추세가 등장하면서 선호도가 낮아짐
(3) ReLU 함수
- 0보다 작은값을 0으로 만들고, 0보다 큰 값은 그대로 출력한다.
- 렐루는 뉴런의 활동을 모사하기 보단, 기울기 소실 문제(vanishing gradient problem)을 해결하기 위한 방법으로 조명됨
- 기울기 소실문제 : 딥러닝 신경망의 가중치 수정은 출력층에서 입력층으로 거꾸로 오는 역전파(backpropagation)가 실행되는데, 역전파 알고리즘은 미분을 통해 기울기를 계산하는 것이 핵심이며, 기울기가 클수록 가중치가 많이 수정된다. 거리가 멀어질수록 이 기울기가 작아지며 가중치가 수정이 안되는 문제를 기울기 소실문제라고 한다.
(4) Leaky ReLU 함수
- 렐루와 달리 0보다 작은 값도 버리지 않는다. 그러나 원본보다 좀 더 작은 값을 출력한다.
- 상황에 따라 렐루보다 월등한 성능을 보인다.
가중치
- 딥러닝에서 첫 가중치는 랜덤으로 결정 된다. 이후, 역전파(backpropagation) 알고리즘을 적용하여 입력값을 목표값과 매칭 되어 가중치가 수정 된다. 양질의 데이터가 있다면 가중치를 더욱 잘 수정한다.
'경기도 인공지능 개발 과정 > Python' 카테고리의 다른 글
[Python] Simple YoLo 실습 (0) | 2022.08.04 |
---|---|
[python] 텐서플로 object_detection 실습 (1) | 2022.08.04 |
[Python] AIFB 강의(가입정보를 활용한 고객 데이터 분석) (0) | 2022.07.18 |
[Python] 텐서플로 손실곡선, 드롭아웃, 모델저장 (0) | 2022.07.17 |
[Python] 텐서플로_Pooling (0) | 2022.07.13 |