Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 딥러닝
- 자바스크립트 비동기
- Readme image
- rust
- 컴퓨터 보안 키분배
- 파인만의 식당문제
- 커널제거
- Hits
- computer vision
- 인공지능
- 비동기 프로그래밍
- recommender
- 페이지랭크
- 협업필터링
- pagerank
- 커널생성
- cs231n
- Git
- 프라미스
- feynman's restaurant
- tcp
- 키분배 알고리즘
- 메세지인증코드
- 인페인팅
- react-cookie
- 파이썬
- 러스트
- brew 권한
- 머신러닝
- image restoration
Archives
- Today
- Total
Worth spreading
cost를 구할 때 log를 쓰는 이유는? 본문
지난 시간에 포스팅했던 cross entropy함수를 보면 수식에 log가 들어있는 것을 볼 수 있다.
그냥 정답과 예측값 간의 차이를 전달해주면 될텐데 왜 굳이 복잡하게 log를 달아서 전달해주는 것일까?
이것에 대해 함께 이야기해보자 !
머신러닝에서 cost는 우리가 학습시킨 프로그램이 얼마나 정확한지를 나타내는 지표라고 할 수 있다.
cost값이 작을수록 정답에 가깝다는 의미이고 우리는 이 cost를 최소화하는 것을 목표로 한다.
cost의 최솟값을 찾아갈 때는 미분이란 개념을 사용하는데 미분이란 쉽게 말해 기울기를 구하는 것이다.
미분으로 기울기를 구한 후 이 기울기가 작아지는 방향으로 cost함수의 변수 값들을 조절해주는 것이다.
그런데 우리가 머신러닝에서 사용하는 활성화함수는 sigmoid와 같은 비선형함수들이다.
비선형함수들은 지수(exponential)의 성질을 이용한 것이기 때문에 구부러진 모양의 그래프를 만들어내는데 이렇게 구부러진 그래프에서는 기울기가 들쑥날쑥하게 되어 최솟값을 찾아가기 힘들어진다.
log를 사용하는 이유가 바로 이것이다. log는 지수와 반대되는 성질을 가지고 있지 않은가?
평소에는 복잡한 연산을 위해 지수를 활용해 다양한 연산을 실행하고
cost를 구할 때는 편의를 위해 구부러진 이 값들을 log로 펴준다는 것이다 !
# feedback 환영합니다
Reference - 김성훈 교수님의 '딥러닝의 기본' lec 5-2
'ABCD > Deep Learning' 카테고리의 다른 글
Image inpainting with GAN [논문참조] (0) | 2018.06.26 |
---|---|
Initial value (초기값) 을 모두 0으로 준다면? (0) | 2017.07.31 |
Comments