본문 바로가기

【1】Deep Learning 시작하기

(29)
강화학습 (Reinforce Learning) 강화학습은 앞서 소개한 세 종류의 학습과는 조금 다른 개념으로 컴퓨터의 동작이 적절한지에 대해 피드백이 있는 학습 방법을 말한다. 학습하는 컴퓨터를 에이전트라고 하며 에이전트가 어떠한 환경(environment) 안에서 하나의 행동(action)을 했을 때 옳다면 보상을(reward), 잘못되었다면 벌점(penalty)을 부여한다. 즉, 특정 환경에서 에이전트가 가장 많은 보상을 받기 위해 어떻게 행동해야 하는지 강조하는 것이다. 강화학습은 입력과 출력에 대한 데이터 쌍을 필요로 하지 않으며 차선의 행동도 허용하지 않는 특징이 있다. 강화학습에 대한 설명은 이정도로 끝내겠다. 강화학습에 대해 자세히 알고 싶은 독자는 서튼 교수의 [Reinforcement Learning]의 책을 참고하기 바란다. 작성자..
반지도학습 (Semi-Supervised Learning) 반지도 학습은 준지도 학습이라고도 불리며 위에서 다룬 지도학습과 비지도학습을 섞은 학습 방식이다. 그렇기 때문에 데이터의 형태 또한 일부는 지도학습의 데이터 형태를, 일부는 비지도학습의 데이터 형태를 취하고 있다. 즉 반지도 학습은 라벨 y가 있는 데이터와 없는 데이터를 모두 가진 데이터를 이용한다. 데이터의 형태에 맞게 학습 방식 또한 지도 학습과 비지도 학습의 조합으로 이루어져 있는데, 라벨이 없는 데이터를 그룹화 할 때 라벨이 존재하는 일부 데이터를 이용하는 방식이다. 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com
비지도학습 (Unsupervised Learning) 비지도 학습은 지도학습과 다르게 지도해줄 조력자의 도움 없이 컴퓨터 스스로 학습하는 형태를 말한다. 비지도 학습의 데이터는 x, y 가 존재하는 지도학습의 데이터에서 라벨 y 가 없는 형태이다. x 와 y의 관계를 파악했던 지도학습과는 달리 비지도 학습은 x들 간의 관계를 스스로 파악하는데 이는 학습에 사용된 데이터들의 특징을 분석해 그 특징별로 그룹을 나누는 것을 의미한다. 이를 통해 새로운 데이터를 입력 받으면 분류해 놓은 그룹 중 그 특징이 비슷한 그룹에 포함 시킨다. 간혹 비지도 학습과 지도학습의 분류를 혼동하는 경우가 있어 다음의 표를 보며 정리 해보자. 가장 두드러진 차이는 학습 데이터의 형태이다. 데이터의 생김새가 다르기 때문에 새로운 데이터에 대해서도 이 형태에 맞게 처리하게 된다. 작성자..
Adam Optimizer (Adaptive Moment Estimation) “Momentum+RMSProp의 장점을 다 가질거야! ” 작성자 홍다혜 ghdek11@gmail.com / 이원재 ondslee0808@gmail.com
Adadelta Optimizer (Adaptive Delta) “아다그라드, 아직 갈 길이 먼데 보폭이 점점 작아지네? 가중치의 변화량을 고려해서 학습률을 변화시키자!” 작성자 홍다혜 ghdek11@gmail.com / 이원재 ondslee0808@gmail.com
RMSProp “아다그라드, 아직 갈 길이 먼데 보폭이 점점 작아지네? 상황을 보면서 줄여야지!” RMSProp은 딥러닝의 아버지라 불리는 제프리 힌튼이 소개한 방법으로 아다그라드의 단점을 해결하기 위해 등장했다. RMSProp은 모든 기울기를 단순히 더하는 것이 아니라 최신 기울기 정보를 더 크게 반영하는 원리이다. 과거의 정보는 약하게 반영하고 최신의 정보를 크게 반영하기 위해 지수이동평균(Exponential Moving Average, EMA)을 사용했다. 이를 수식으로 나타내면 다음과 같다. 새로운 변수 γ을 추가하여 G(t) 값이 무한히 커지는 것을 방지하면서 γ가 작을수록 최신의 정보(기울기)를 더 크게 반영한다. 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com
Adagrad Optimizer (Adaptive Gradient) “SGD의 탐색 거리를 개선해보자! 처음엔 크게, 나중엔 작게! 맞춤형 학습률 주겠어!“ 이번에는 탐색 거리에 대한 문제를 해결하고자 등장한 Adagrad(Adaptive Gradient, Adagrad) 최적화에 대해서 설명하겠다. 수식에서 α라고 표시하는 학습률은 가중치의 최적 값을 탐색할 때 얼만큼 이동할지 결정하는 중요한 변수이다. 학습률이 너무 작으면 시간이 오래 걸리고, 너무 크면 최적 값을 찾지 못하고 치솟게 된다(발산한다고 말한다). 학습률 값은 초반에 큰 값을 주다가 점차 값을 줄이는데 이는 최적 값에 근접할 시 이동거리를 짧게 해 지나치지 않으려는 것이다. 이 방법은 모든 변수에 대해 학습률 값을 일괄 적용하는 방식으로 실제 신경망을 학습할 때 많이 사용되고 있다. 아다그라드는 위 방식..
Momentum Optimizer “SGD는 너무 지그재그로 가네? 진행 하던 방향으로 계속 가 보자!“ 작성자 홍다혜 ghdek11@gmail.com / 이원재 ondslee0808@gmail.com