본문 바로가기

기울기

Adam Optimizer (Adaptive Moment Estimation) 【1】Deep Learning 시작하기_최적화가 가장 중요하다! Adam Optimizer (Adaptive Moment Estimation) “Momentum+RMSProp의 장점을 다 가질거야! ” 작성자 홍다혜 ghdek11@gmail.com / 이원재 ondslee0808@gmail.com 더보기
RMSProp 【1】Deep Learning 시작하기_최적화가 가장 중요하다! RMSProp “아다그라드, 아직 갈 길이 먼데 보폭이 점점 작아지네? 상황을 보면서 줄여야지!” RMSProp은 딥러닝의 아버지라 불리는 제프리 힌튼이 소개한 방법으로 아다그라드의 단점을 해결하기 위해 등장했다. RMSProp은 모든 기울기를 단순히 더하는 것이 아니라 최신 기울기 정보를 더 크게 반영하는 원리이다. 과거의 정보는 약하게 반영하고 최신의 정보를 크게 반영하기 위해 지수이동평균(Exponential Moving Average, EMA)을 사용했다. 이를 수식으로 나타내면 다음과 같다. 새로운 변수 γ을 추가하여 G(t) 값이 무한히 커지는 것을 방지하면서 γ가 작을수록 최신의 정보(기울기)를 더 크게 반영한다. 작성자 홍다혜.. 더보기
핑거 스냅? 기울기가 사라진다! 【1】Deep Learning 시작하기_다시 마주친 장벽, Vanishing Gradient Problem 다시 마주친 장벽, Vanishing Gradient Problem 오차역전파의 등장으로 신경망에서 최적의 가중치를 찾아낼 수 있으며 이를 통해 오차가 적은, 정답과 가까운 출력을 갖는 신경망을 만들 수 있음을 보이게 되었다. 사람들은 신경망이 XOR 문제 뿐만 아니라 더 복잡한 문제도 해결할 수 있다는 생각에 다시 관심을 갖기 시작했다. 연구진들은 복잡한 문제를 해결할 수 있는 신경망을 만들기 위해 은닉층을 깊게 쌓아보았으나 결과가 기대만큼 좋지 않게 되며 신경망은 두번째 침체기에 들어서게 된다. 도대체 어떠한 문제가 생긴 것인지 알아보자. 핑거 스냅? 기울기가 사라진다! 분명 우리는 앞의 글에서.. 더보기
가중치 업데이트 【1】Deep Learning 시작하기_딥러닝이 알고 싶다! 가중치 업데이트 이전 글에서 설명한 바와 같이 오차가 최소가 되는 가중치 값을 찾기 위해 오차가 작아지도록 가중치를 수정해 나간다. 가중치는 너무 작아도 혹은 너무 커져도 오차가 커지므로 이러한 관계를 그래프로 표현하면 다음과 같다. 그림에서 보듯 오차를 최소로 하는 최적의 가중치 값을 m이라고 했을 때 이를 찾기 위해서는 랜덤하게 설정한 초기 가중치 값 w1을 시작으로 w1->w2->w3->m으로 이동시켜야 한다. 그렇게 하려면 초기w1보다 w2가, w2보다는 w3가 우리가 찾으려는 m에 가깝다는 것을 알아야 한다. 컴퓨터가 최적의 m값에 가까워지는지 어떻게 알 수 있을까? 바로 그래프에서 기울기를 구해 판단하는데 이러한 방법을 경사하강법이라.. 더보기
[데이터분석] matplotlib 그래프 : x축 텍스트 회전하는 방법 - rotation matplotlib 라이브러리는 그래프를 쉽고 간편하게 그릴 수 있도록 도와주는 라이브러리입니다. matplotlib에서는 그래프를 다양하게 그릴 수 있도록 여러 모듈을 제공하는데요, 그중 x축 텍스트를 회전하는 방법에 대해서 살펴보도록 하겠습니다. 먼저, 아래와 같이 간단한 그래프를 그려보도록 하겠습니다. import matplotlib.pyplot as plt import numpy as np x = np.arange(8) item = ['ice coffee', 'hot tea', 'ice ade', 'hot milk', 'ice water', 'ice coke', 'oil', 'smoothie'] values = [2000, 4000, 5000, 2000, 4500, 3000, 5000, 6000].. 더보기