반응형

강화학습 흐름

 

동적 계획법(DP, Dynamic Programming)

작성하기

동적 계획법은 기본적인 개념은 문제를 하위의 소문제로 쪼개어 풀고(작은 문제에 대한 비용을 모두 계산하여 최적의 행동을 구한다), 소문제의 해법들을 모아서 원래 문제의 해법으로 취하는 것이다. 이러한 경우, 모든 상태에 대한 해(행동)를 계산하여 메모리에 저장해두게 된다.

문제 : 동적 계획법은 여러가지 문제가 있는데 첫번째는 차원의 저주로, 차원의 증가에 따른 메모리와 연산량의 폭증, 모델링하기가 너무 까다로워서 실물 시뮬레이터를 만드는게 더 나은 모델링의 저주, 실시간으로 시스템이 변하면 이에 따라서 문제의 해를 다시 구해야하는 실시간 해법에 대한 제약이 있다.

해법 : (1) 문제를 근사한다 (2) 비용을 근사한다 (3) 시뮬레이션을 통해서 준-해법을 구한다.

Q-learning

작성하기

Q-learning은 Q-table을 만들어서 학습한다

한계 : Q-table은 유한 차원의 상태공간 크거나 무한 차원의 상태에 대해서 메모리의 한계에 봉착하게 된다.

해법 : Q-table을 근사한다.

 

Function Approximation to Deep Neural Net

작성하기

문제 : Q-table을 어떻게 근사할 것인가?

방법 : 

1) [1986]오차 역전파 기법의 제안으로 신경망 학습이 부흥하기 시작

Rumelhart, D., Hinton, G. & Williams, R. "Learning representations by back-propagating erros," Nature, Vol.323, pp.533~536, Oct. 1986, https://doi.org/10.1038/323533a0

2) [1989] 신경망으로 다차원의 비선형 함수를 근사할 수 있다는 것이 알려지면서(시벤코 정리, 보편 근사 정리 Universal Approximation Theorem)

Cybenko, G., "Approximation by Superpositions of a Sigmoidal Function," Mathematics of Control, Signals, and Systems, Vol.2, pp.303~314, 1989, https://doi.org/10.1007/BF02551274

 

Q-table을 신경망으로 대체한다.

문제 : 신경망은 깊어질 수록 경사 소실(Gradient Vanishing) 또는 경사 폭주(Gradient Exploding)이 발생하여 충분히 학습이 진행되지 않거나 망가진다. 경사 소실은 활성 함수 (Activation function)로 비선형성을 가지는 함수를 사용해서 생긴 문제였다. [1991]

Sepp Hochreiter. Untersuchungen zu dynamischen neuronalen netzen. Diploma, Technische Universität München, 91, 1991

실마리 : [2006] Deep Belief Network를 제안하여 해결 가능함을 보임

Hinton, G., Osindero, S., and Teh, Y., "A fast learning algorithm for deep belief nets," Neural Computation, July 2006, https://doi.org/10.1162/neco.2006.18.7.1527

해법1 : [2010] 활성 함수로 Relu(Rectified Linear Unit) 사용으로 경사 소실 대응 

Nair, V., and Hinton, G., "Rectified linear units improve restricted boltzmann machines," Proceedings of the 27th International Conference on International Conference on Machine Learning, pp.807~814. 2010, https://doi.org/10.5555/3104322.3104425

해법2 : [2013] 경사 자르기(Gradient Clipping)로 경사 폭주에 대응

Pascanu, R., Mikolov, T., and Bengio, Y., "On the difficulty of training Recurrent Neural Networks ," 2013, arxiv.org/pdf/1211.5063.pdf

해법3 : 가중치 초기화

 

해법4 : 배치 정규화 (Batch Normalization)한다.

 

작성중..

 

 

 

참고문헌

1. 손민규, 기초부터 시작하는 강화학습/신경망 알고리즘, 위키북스, 2019, pp.6~8.

2. sanghyukchun.github.io/75/

3. enginius.tistory.com/436

 

 

 

 

728x90

+ Recent posts