KR102209917B1 - Data processing apparatus and method for deep reinforcement learning - Google Patents
Data processing apparatus and method for deep reinforcement learning Download PDFInfo
- Publication number
- KR102209917B1 KR102209917B1 KR1020180173851A KR20180173851A KR102209917B1 KR 102209917 B1 KR102209917 B1 KR 102209917B1 KR 1020180173851 A KR1020180173851 A KR 1020180173851A KR 20180173851 A KR20180173851 A KR 20180173851A KR 102209917 B1 KR102209917 B1 KR 102209917B1
- Authority
- KR
- South Korea
- Prior art keywords
- skipping
- data
- human
- frame
- frame skipping
- Prior art date
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 115
- 238000012545 processing Methods 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims description 84
- 239000000872 buffer Substances 0.000 claims abstract description 170
- 238000005070 sampling Methods 0.000 claims abstract description 33
- 238000003672 processing method Methods 0.000 claims abstract description 16
- 230000009471 action Effects 0.000 claims description 93
- 238000013528 artificial neural network Methods 0.000 claims description 38
- 238000005516 engineering process Methods 0.000 description 64
- 238000012549 training Methods 0.000 description 40
- 230000009977 dual effect Effects 0.000 description 34
- 238000002474 experimental method Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 20
- 238000011156 evaluation Methods 0.000 description 15
- 239000003795 chemical substances by application Substances 0.000 description 13
- 238000013459 approach Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000007796 conventional method Methods 0.000 description 6
- 241000282412 Homo Species 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007786 learning performance Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 206010048669 Terminal state Diseases 0.000 description 1
- 102100040653 Tryptophan 2,3-dioxygenase Human genes 0.000 description 1
- 101710136122 Tryptophan 2,3-dioxygenase Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010030 laminating Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
심층 강화 학습을 위한 데이터 처리 방법에 관한 것이며, 심층 강화 학습을 위한 데이터 처리 방법은, (a) 대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 상기 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장하는 단계; 및 (b) 상기 휴먼 리플레이 버퍼에 저장된 상기 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 상기 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행하는 단계를 포함하고, 상기 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함할 수 있다.It relates to a data processing method for deep reinforcement learning, and the data processing method for deep reinforcement learning includes (a) storing human demonstration data among target data in a human replay buffer, and storing actor data among the target data in an actor replay buffer. Storing; And (b) performing data processing by applying online frame skipping to the human replay buffer for sampling the human demonstration data stored in the human replay buffer, wherein the online frame skipping comprises: Two types of frame skipping may be included in consideration of whether or not the skipping interval is variable.
Description
본원은 심층 강화 학습을 위한 데이터 처리 장치 및 방법에 관한 것이다. 특히, 본원은 심층 강화 학습(Deep Reinforcement Learning)의 가속화(Accelerating)를 위해, 듀얼 리플레이 버퍼 관리(Dual Replay Buffer Management)와 온라인 프레임 스킵핑(Online Frame Skipping)을 기반으로 휴먼 데몬스트레이션 데이터(Human Demonstration Data)를 사용하는 심층 강화 학습을 위한 데이터 처리 장치 및 방법에 관한 것이다.The present application relates to a data processing apparatus and method for deep reinforcement learning. In particular, for accelerating deep reinforcement learning, we have Human Demonstration Data based on Dual Replay Buffer Management and Online Frame Skipping. It relates to a data processing apparatus and method for deep reinforcement learning using ).
심층 강화 학습(Deep Reinforcement Learning)은 심층 신경망(deep neural network)과 강화 학습 알고리즘(reinforcement learning algorithm)을 병합하는 방법이다.Deep reinforcement learning is a method of merging a deep neural network and a reinforcement learning algorithm.
AlphaGo와 DQN(Deep Q-Network)은 복잡한 의사 결정 문제에 대한 심층적인 학습의 효과를 보여준다. 여기서, DQN은 일예로 문헌 1 [V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra, and M. A. Riedmiller, "Playing atari with deep reinforcement learning," CoRR, vol. abs/1312.5602, 2013. [Online]. Available: http://arxiv.org/abs/1312.5602]를 참고하여 이해될 수 있다.AlphaGo and Deep Q-Network (DQN) demonstrate the effectiveness of deep learning on complex decision-making problems. Here, DQN is an example in document 1 [V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra, and M. A. Riedmiller, "Playing atari with deep reinforcement learning," CoRR, vol. abs/1312.5602, 2013. [Online]. Available: http://arxiv.org/abs/1312.5602].
최근의 심층 강화 학습의 진보는 로봇 공학, 게임 AI 및 자가 운전(self-driving) 자동차의 돌파구로 이어졌다. 심층 강화 학습 알고리즘은 일반적으로 좋은 성능(good performance)을 내기 위해 환경(environment)과의 엄청난 양의 상호 작용(interactions)을 필요로 한다. 따라서, 심층 강화 학습의 학습 과정(learning procedure)은 다른 심층 학습 기술에 비해 계산적으로 고비용(computationally expensive)이다.Recent advances in deep reinforcement learning have led to breakthroughs in robotics, game AI and self-driving cars. Deep reinforcement learning algorithms generally require a huge amount of interactions with the environment in order to achieve good performance. Therefore, the learning procedure of deep reinforcement learning is computationally expensive compared to other deep learning techniques.
심층 강화 학습의 학습 과정을 가속화하기 위해 두 가지 카테고리의 접근법이 존재한다. Two categories of approaches exist to accelerate the learning process of deep reinforcement learning.
첫 번째 카테고리의 접근법은 액터 비평가 에이전트(actor-critic agents)를 사용하는데, 여기에는 A3C(Asynchronous Advantage Actor-Critic)가 포함된다. 여기서, A3C은 일예로 문헌 2 [V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. Lillicrap, T. Harley, D. Silver, and K. Kavukcuoglu, "Asynchronous methods for deep reinforcement learning," in International conference on machine learning, 2016, pp. 1928-1937.]를 참고하여 이해될 수 있다. 이 에이전트는 병렬로 실행되는 여러 액터(multiple actors)에 의해 수집된 전환(transitions)을 훈련하며, 이 아키텍처는 전체 훈련 시간을 크게 단축시켰다.The first category of approaches uses actor-critic agents, which include Asynchronous Advantage Actor-Critic (A3C). Here, A3C is an example in document 2 [V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. Lillicrap, T. Harley, D. Silver, and K. Kavukcuoglu, "Asynchronous methods for deep reinforcement learning," in International conference on machine learning, 2016, pp. 1928-1937.]. This agent trains transitions collected by multiple actors running in parallel, and this architecture greatly shortens the overall training time.
두 번째 카테고리의 접근법은 DQfD(Deep Q-Learning from Demonstration)와 NAC(Normalized Actor-Critic) 모델을 포함하는 심층 강화 학습에 대한 휴먼 데몬스트레이션 데이터를 사용한다. The second category of approaches uses human demonstration data for deep reinforcement learning, including Deep Q-Learning from Demonstration (DQfD) and Normalized Actor-Critic (NAC) models.
여기서, DQfD는 일예로 문헌 3 [T. Hester, M. Vecerik, O. Pietquin, M. Lanctot, T. Schaul, B. Piot, D. Horgan, J. Quan, A. Sendonaris, G. Dulac-Arnold et al., "Deep qlearning from demonstrations," arXiv preprint arXiv:1704.03732, 2017.]을 참고하여 이해될 수 있다. 또한, NAC는 일예로 문헌 4 [Y. Gao, H. Xu, J. Lin, F. Yu, S. Levine, and T. Darrell, "Reinforcement learning from imperfect demonstrations," CoRR, vol. abs/1802.05313, 2018. [Online]. Available: http://arxiv.org/abs/1802.05313]를 참고하여 이해될 수 있다.Here, DQfD is described in Document 3 [T. Hester, M. Vecerik, O. Pietquin, M. Lanctot, T. Schaul, B. Piot, D. Horgan, J. Quan, A. Sendonaris, G. Dulac-Arnold et al., "Deep qlearning from demonstrations," arXiv preprint arXiv:1704.03732, 2017.]. In addition, NAC is described in document 4 [Y. Gao, H. Xu, J. Lin, F. Yu, S. Levine, and T. Darrell, "Reinforcement learning from imperfect demonstrations," CoRR, vol. abs/1802.05313, 2018. [Online]. Available: http://arxiv.org/abs/1802.05313].
DQfD는 기존 DQN의 손실 모델(loss model)에 추가적으로 감독 손실(supervised loss)을 특별히 적용하였으며, 사전 훈련 단계(pre-training stage)뿐만 아니라 강화 학습 단계에서도 우수한 학습 성능을 보였다.DQfD specially applied supervised loss in addition to the loss model of the existing DQN, and showed excellent learning performance not only in the pre-training stage but also in the reinforcement learning stage.
그러나 DQfD는 감독 손실로 인해 모델을 전문가 데이터(expert data)에 과도하게 적용한다. 특히, 전문가 데이터세트(expert dataset)의 양이 제한적일 경우, DQfD의 오버피팅(Over Fitting, 과적합)은 더욱 악화된다. NAC는 새로운 손실 모델로 DQfD의 오버피팅 문제를 해결하려고 시도했으나, 적은 수의 휴먼 데몬스트레이션으로 DQfD 보다 낮은 성능을 보인다.However, DQfD over-applies the model to expert data due to the loss of supervision. In particular, when the amount of expert dataset is limited, the overfitting of DQfD is worse. NAC tried to solve the overfitting problem of DQfD with a new loss model, but it shows lower performance than DQfD with a small number of human demonstrations.
충분한 양(sufficient amount)의 전문가 데몬스트레이션 데이터(experts' demonstration data)를 사용하는 것이 심층 강화 학습의 학습 과정을 가속화하고 좋은 성과를 달성하는 데 도움이 된다는 것은 잘 알려져 있다. 그러나 대부분의 경우에 전문가 데몬스트레이션 데이터를 충분히 확보(또는 생성)하는 것이 어렵다. 이 문제를 더욱 악화시키는 것으로, 최근 발표된 대부분의 문서는 개인 정보 보호(privacy) 및/또는 보안상(security)의 이유로 그들의 성능 평가에 관한 휴먼 데몬스트레이션 데이터를 공유하지 않는다. 따라서, 고품질의 휴먼 데몬스트레이션 데이터가 사용 가능한(available) 데이터세트 및/또는 오픈 데이터세트에 충분히 포함되어 있지 않기 때문에 그 결과를 재현하기가 어렵다.It is well known that using a sufficient amount of experts' demonstration data can help accelerate the learning process of deep reinforcement learning and achieve good results. However, in most cases, it is difficult to sufficiently secure (or generate) expert demonstration data. To aggravate this problem, most recently published documents do not share human demonstration data regarding their performance evaluation for privacy and/or security reasons. Therefore, it is difficult to reproduce the results because high quality human demonstration data is not sufficiently contained in the available and/or open datasets.
예를 들어, Atari 2600 Games (ALE Environments) 환경의 휴먼 데몬스트레이션 데이터세트가 공개적으로(publically) 사용 가능하더라도 데이터세트에는 높은 점수의 에피소드가 포함되지 않는다. 여기서, ALE Environments은 일예로 문헌 5 [M. G. Bellemare, Y. Naddaf, J. Veness, and M. Bowling, "The arcade learning environment: An evaluation platform for general agents," CoRR, vol. abs/1207.4708, 2012. [Online]. Available: http://arxiv.org/abs/1207.4708]를 참고하여 이해될 수 있다. 그러나 종래의 DQfD 연구에서 사용된 데이터세트는 매우 높은 점수의 에피소드를 포함한다.For example, although the human demonstration dataset in the Atari 2600 Games (ALE Environments) environment is publicly available, the dataset does not contain high-scoring episodes. Here, ALE Environments is described in document 5 [M. G. Bellemare, Y. Naddaf, J. Veness, and M. Bowling, "The arcade learning environment: An evaluation platform for general agents," CoRR, vol. abs/1207.4708, 2012. [Online]. Available: http://arxiv.org/abs/1207.4708]. However, the dataset used in conventional DQfD studies contains episodes with very high scores.
따라서, 실제 사례(practical cases)(즉, 실세계 사례, real-world cases)에서 고품질의 휴먼 데몬스트레이션 데이터를 수집하는 것은 상대적으로 어렵기 때문에, 사용 가능한 휴먼 데몬스트레이션 데이터를 보다 효과적으로 활용할 필요가 있다.Therefore, it is relatively difficult to collect high-quality human demonstration data from practical cases (ie, real-world cases), and therefore, it is necessary to more effectively utilize the available human demonstration data.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 심층 강화 학습의 가속화를 위해 휴먼 데몬스트레이션 데이터를 보다 효과적으로 활용하는 심층 강화 학습을 위한 데이터 처리 장치 및 방법을 제공하려는 것을 목적으로 한다.An object of the present application is to provide a data processing apparatus and method for deep reinforcement learning that more effectively utilizes human demonstration data to accelerate deep reinforcement learning to solve the problems of the prior art described above.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the embodiments of the present application is not limited to the technical problems as described above, and other technical problems may exist.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 방법은, (a) 대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 상기 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장하는 단계; 및 (b) 상기 휴먼 리플레이 버퍼에 저장된 상기 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 상기 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행하는 단계를 포함하고, 상기 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함할 수 있다.As a technical means for achieving the above technical problem, a data processing method for deep reinforcement learning according to an embodiment of the present application includes (a) storing human demonstration data among target data in a human replay buffer, and among the target data Storing actor data in an actor replay buffer; And (b) performing data processing by applying online frame skipping to the human replay buffer for sampling the human demonstration data stored in the human replay buffer, wherein the online frame skipping comprises: Two types of frame skipping may be included in consideration of whether or not the skipping interval is variable.
또한, 상기 온라인 프레임 스킵핑은, 제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함하고, 제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함할 수 있다.In addition, the online frame skipping, as a first type of frame skipping, includes FS-ER skipping in which skipping is performed by keeping the frame skipping interval constant without varying, and the second type of frame The skipping may include DFS-ER skipping, which dynamically performs skipping by varying the frame skipping interval.
또한, 상기 (b) 단계는, 상기 온라인 프레임 스킵핑의 적용 이전에, 상기 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터에 대한 프레임 상태를 생성하고, 상기 프레임 상태는 각각 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층하여 생성될 수 있다.In addition, the step (b), prior to the application of the online frame skipping, generates a frame state for the human demonstration data stored in the human replay buffer, and the frame states are a number corresponding to each frame skipping coefficient. It can be created by stacking frames.
또한, 상기 (b) 단계는, 상기 제1 유형의 프레임 스킵핑의 적용시, 미리 설정된 수의 프레임에 대응하는 간격마다 상기 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층시킬 수 있다.In addition, in step (b), when the first type of frame skipping is applied, a number of frames corresponding to the frame skipping coefficient may be stacked at intervals corresponding to a preset number of frames.
또한, 상기 (b) 단계는, 상기 휴먼 데몬스트레이션 데이터의 각 프레임의 액션 지속 기간을 나타내는 액션 반복 값을 고려하여 상기 제2 유형의 프레임 스킵핑을 적용하고, 상기 액션 반복 값은 두 개의 스킵 값을 포함할 수 있다.In addition, in step (b), the second type of frame skipping is applied in consideration of an action repetition value representing an action duration of each frame of the human demonstration data, and the action repetition value is two skipping values. Can include.
또한, 상기 (b) 단계는, 상기 제2 유형의 프레임 스킵핑의 적용시, 상기 프레임 상태를 생성할 때 프레임마다의 스킵 값을 확인하고, 상기 확인된 스킵 값을 고려하여 상기 프레임 상태를 생성할 수 있다.In addition, in step (b), when the second type of frame skipping is applied, when generating the frame state, a skip value for each frame is checked, and the frame state is generated in consideration of the checked skip value. can do.
또한, 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 방법은, (c) 상기 (b) 단계에서의 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터 및 상기 액터 데이터를 입력으로 하는 신경망의 업데이트시 이용되는 손실 값을 계산하기 위해 요구되는 반환 값을 재정의하는 단계를 더 포함하고, 상기 (c) 단계는, 상기 두가지 유형의 프레임 스킵핑 적용 각각에 대하여 반환 값을 재정의할 수 있다.In addition, the data processing method for deep reinforcement learning according to an embodiment of the present application includes (c) the human demonstration data sampled by the data processing in step (b) and the neural network using the actor data as inputs. The method further includes redefining a return value required to calculate a loss value to be used, and the step (c) may redefine the return value for each of the two types of frame skipping applications.
한편, 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치는, 대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 상기 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장하는 리플레이 매니저; 및 상기 휴먼 리플레이 버퍼에 저장된 상기 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 상기 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행하는 데이터 처리부를 포함하고, 상기 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함할 수 있다.Meanwhile, a data processing apparatus for deep reinforcement learning according to an embodiment of the present disclosure includes: a replay manager storing human demonstration data among target data in a human replay buffer and storing actor data among the target data in an actor replay buffer; And a data processing unit that performs data processing by applying online frame skipping to the human replay buffer for sampling the human demonstration data stored in the human replay buffer, wherein the online frame skipping comprises: frame skipping. It may include two types of frame skipping considering whether or not the interval of is variable.
또한, 상기 온라인 프레임 스킵핑은, 제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함하고, 제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함할 수 있다.In addition, the online frame skipping, as a first type of frame skipping, includes FS-ER skipping in which skipping is performed by keeping the frame skipping interval constant without varying, and the second type of frame The skipping may include DFS-ER skipping, which dynamically performs skipping by varying the frame skipping interval.
또한, 상기 데이터 처리부는, 상기 온라인 프레임 스킵핑의 적용 이전에, 상기 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터에 대한 프레임 상태를 생성하고, 상기 프레임 상태는 각각 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층하여 생성될 수 있다.In addition, the data processing unit generates a frame state for the human demonstration data stored in the human replay buffer before the application of the on-line frame skipping, and the frame states each generate a number of frames corresponding to the frame skipping coefficient. It can be created by laminating.
한편, 본원의 일 실시예에 따른 신경망의 심층 강화 학습 장치는, 대상 데이터에 대하여 심층 강화 학습을 위한 데이터 처리를 수행하는 데이터 처리 장치; 및 상기 데이터 처리 장치의 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터 및 액터 데이터를 상기 신경망의 입력으로 하여 상기 신경망을 심층 강화 학습시키는 학습 제어부를 포함하고, 상기 데이터 처리 장치는, 대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 상기 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장하는 리플레이 매니저; 및 상기 휴먼 리플레이 버퍼에 저장된 상기 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 상기 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행하는 데이터 처리부를 포함하고, 상기 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함할 수 있다.Meanwhile, an apparatus for deep reinforcement learning of a neural network according to an embodiment of the present application includes: a data processing apparatus that processes data for deep reinforcement learning on target data; And a learning control unit for in-depth reinforcement learning of the neural network by using human demonstration data and actor data sampled by data processing of the data processing device as inputs of the neural network, wherein the data processing device includes human demonstration data among target data A replay manager that stores the data in a human replay buffer and stores actor data among the target data in the actor replay buffer; And a data processing unit that performs data processing by applying online frame skipping to the human replay buffer for sampling the human demonstration data stored in the human replay buffer, wherein the online frame skipping comprises: frame skipping. It may include two types of frame skipping considering whether or not the interval of is variable.
또한, 상기 온라인 프레임 스킵핑은, 제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함하고, 제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함할 수 있다.In addition, the online frame skipping, as a first type of frame skipping, includes FS-ER skipping in which skipping is performed by keeping the frame skipping interval constant without varying, and the second type of frame The skipping may include DFS-ER skipping, which dynamically performs skipping by varying the frame skipping interval.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the present application. In addition to the above-described exemplary embodiments, additional embodiments may exist in the drawings and detailed description of the invention.
전술한 본원의 과제 해결 수단에 의하면, 심층 강화 학습을 위한 데이터 처리 장치 및 방법을 제공함으로써, 휴먼 데몬스트레이션 데이터를 효과적으로 활용하여 심층 강화 학습을 가속화할 수 있다.According to the above-described problem solving means of the present application, by providing a data processing apparatus and method for deep reinforcement learning, it is possible to accelerate deep reinforcement learning by effectively utilizing human demonstration data.
전술한 본원의 과제 해결 수단에 의하면, 휴먼 리플레이 버퍼와 액터 리플레이 버퍼를 포함하는 듀얼 리플레이 버퍼를 기반으로 온라인 프레임 스킵핑을 수행함으로써, 양질의 휴먼 데몬스트레이션 데이터가 버려지는 것 없이, 휴먼 데몬스트레이션 데이터를 전부 활용하여 심층 강화 학습이 이루어지도록 할 수 있다. 이를 통해 본원은 심층 강화 학습의 결과 및 성능 등을 효과적으로 향상시킬 수 있다.According to the above-described problem solving means of the present application, by performing online frame skipping based on a dual replay buffer including a human replay buffer and an actor replay buffer, all human demonstration data is not discarded without discarding good quality human demonstration data. In-depth reinforcement learning can be achieved by using the Through this, the present application can effectively improve the results and performance of deep reinforcement learning.
전술한 본원의 과제 해결 수단에 의하면, 휴먼 데몬스트레이션 데이터와 액터 데이터를 단일 리플레이 버퍼에 모두 저장하는 것이 아닌 2개의 리플레이 버퍼 각각에 분리하여 따로 저장하고, 이를 기반으로 대상 데이터 중 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터에 대하여 온라인 프레임 스킵핑을 독립적으로 적용할 수 있다. 이러한 본원은 휴먼 데몬스트레이션 데이터를 모두 신경망 학습을 위한 학습데이터로 활용되도록 할 수 있다. According to the above-described problem solving means of the present application, instead of storing both human demonstration data and actor data in a single replay buffer, they are separately stored in each of the two replay buffers, and based on this, the humans stored in the human replay buffer Online frame skipping can be applied independently for demonstration data. In this case, all human demonstration data can be used as learning data for neural network learning.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.However, the effect obtainable in the present application is not limited to the effects as described above, and other effects may exist.
도 1은 종래의 DQfD의 아키텍처를 나타낸 도면이다.
도 2는 종래 DFDQN의 아키텍처(a)와 FiGAR의 아키텍처(b)를 개략적으로 나타낸 도면이다.
도 3은 Atari Grand Challenge 데이터세트의 스크린 샷(screen-shot) 샘플의 예를 나타낸 도면이다.
도 4는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치의 개략적인 구성을 나타낸 블록도이다.
도 5는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치의 아키텍처를 개략적으로 나타낸 도면이다.
도 6은 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치에 의한 휴먼 데몬스트레이션 데이터의 샘플링 접근법을 설명하기 위한 도면이다.
도 7은 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치에 의한 DFS-ER 스킵핑의 동작에 대한 알고리즘을 나타낸 도면이다.
도 8은 본원의 일 실시예에 따른 신경망의 심층 강화 학습 장치의 개략적인 구성을 나타낸 블록도이다.
도 9는 본원의 일 실험 결과로서, 미니배치의 휴먼 데이터의 수를 나타낸다.
도 10은 본원의 일 실험결과로서, 3가지 게임의 평균 에피소드 점수를 나타낸 도면이다.
도 11은 본원의 일 실험결과로서, 4 가지의 게임에서 달성된 평균 점수를 요약하여 나타낸 도면이다.
도 12는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 방법에 대한 동작 흐름도이다.1 is a diagram showing the architecture of a conventional DQfD.
2 is a diagram schematically showing the architecture (a) of the conventional DFDQN and the architecture (b) of the FiGAR.
3 is a diagram showing an example of a screen-shot sample of the Atari Grand Challenge dataset.
4 is a block diagram showing a schematic configuration of a data processing apparatus for deep reinforcement learning according to an embodiment of the present application.
5 is a diagram schematically illustrating an architecture of a data processing apparatus for deep reinforcement learning according to an embodiment of the present application.
6 is a diagram illustrating a sampling approach of human demonstration data by a data processing device for deep reinforcement learning according to an embodiment of the present application.
7 is a diagram illustrating an algorithm for an operation of DFS-ER skipping by a data processing device for deep reinforcement learning according to an embodiment of the present application.
8 is a block diagram showing a schematic configuration of an apparatus for deep reinforcement learning of a neural network according to an embodiment of the present application.
9 is an experiment result of the present application, showing the number of human data in a mini-batch.
10 is a diagram showing an average episode score of three games as an experiment result of the present application.
11 is a view showing a summary of the average score achieved in four games as an experiment result of the present application.
12 is an operation flowchart of a data processing method for deep reinforcement learning according to an embodiment of the present application.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present application will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present application. However, the present application may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts not related to the description are omitted in order to clearly describe the present application, and similar reference numerals are attached to similar parts throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다. Throughout the present specification, when a part is said to be "connected" with another part, it is not only "directly connected", but also "electrically connected" or "indirectly connected" with another element interposed therebetween. "Including the case.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is positioned "on", "upper", "upper", "under", "lower", and "lower" of another member, this means that a member is located on another member. It includes not only the case where they are in contact but also the case where another member exists between the two members.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification of the present application, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.
휴먼 데몬스트레이션 데이터(Human Demonstration Data)는 심층 강화 학습(deep reinforcement learning)의 초기 단계(early stage)에서 교육 프로세스(training process)를 가속화하고 강화 학습 에이전트(reinforcement learning agent)를 안내하여 복잡한 정책(complicated policy)을 학습하는 데 중요한 역할을 한다.Human Demonstration Data accelerates the training process at the early stage of deep reinforcement learning and guides the reinforcement learning agent to create a complex policy. ) Plays an important role in learning.
그러나, 휴먼 데몬스트레이션 데이터 및 보상(reward)을 갖는 종래의 강화 학습 방법의 대부분은 충분한 양의 고품질(high-quality) 휴먼 데몬스트레이션 데이터가 있다고 가정하고 충분한 양의 전문가 데몬스트레이션 데이터(experts' demonstration data)가 항상 제한되어 있는 대부분의 실세계의 학습 사례(real-world learning cases)에는 해당되지 않는다.However, most of the conventional reinforcement learning methods with human demonstration data and reward assume that there is a sufficient amount of high-quality human demonstration data, and a sufficient amount of expert demonstration data is always available. This is not the case for most limited real-world learning cases.
이러한 제한을 극복하기 위해, 본원은 듀얼 리플레이 버퍼 관리(Dual Replay Buffer Management) 및 온라인 프레임 스킵핑(Online Frame Skipping)을 통해 새로운 심층 강화 학습(deep reinforcement learning) 방법을 제안한다. In order to overcome this limitation, the present application proposes a new deep reinforcement learning method through Dual Replay Buffer Management and Online Frame Skipping.
다시 말해, 종래에 제한된 휴먼 데몬스트레이션 데이터 문제를 극복하기 위해, 본원은 휴먼 데몬스트레이션 샘플링을 위해 듀얼 리플레이 버퍼 관리와 온라인 프레임 스킵핑을 사용하는 휴먼 데몬스트레이션에서의 새로운 심층 강화 학습 방법에 대해 제안한다. 이하에서는 이러한 본원에서 제안하는 기술(듀얼 리플레이 버퍼를 기반으로 한 온라인 프레임 스킵핑 기술, 즉 후술하는 본 장치(100)에 의한 심층 강화 학습을 위한 데이터 처리 방법)을 설명의 편의상 본 제안 기술이라 하기로 한다. In other words, in order to overcome the conventional limited human demonstration data problem, the present application proposes a new deep reinforcement learning method in human demonstration using dual replay buffer management and online frame skipping for human demonstration sampling. Hereinafter, the technology proposed by the present application (online frame skipping technology based on a dual replay buffer, that is, a data processing method for deep reinforcement learning by the
본 제안 기술 중 듀얼 리플레이 버퍼는 휴먼 리플레이 버퍼(human replay buffer, 달리 표현해 휴먼 리플레이 메모리), 액터 리플레이 버퍼(actor replay buffer, 달리 표현해 액터 리플레이 메모리) 및 리플레이 매니저(replay manager, 리플레이 관리자)로 구성될 수 있다. 본원에서 버퍼는 일예로 메모리라 달리 표현될 수 있다. 또한, 본원에 의하면, 독립적인 샘플링 정책(independent sampling policies)으로 두 개의 리플레이 버퍼를 관리할 수 있다.Among the proposed technologies, the dual replay buffer will consist of a human replay buffer (human replay memory), an actor replay buffer (an actor replay memory), and a replay manager (replay manager). I can. In the present application, a buffer may be differently expressed as a memory. In addition, according to the present application, two replay buffers can be managed with independent sampling policies.
본원에서 고려되는 듀얼 리플레이 버퍼 관리는 휴먼 리플레이 버퍼(메모리), 액터 리플레이 버퍼(메모리) 및 리플레이 매니저로 구성되는 반면, 종래의 리플레이 버퍼(conventional replay buffer)에는 동일한 리플레이 버퍼(same replay buffer) 내에 휴먼 데몬스트레이션 데이터(human demonstration data)와 액터 데이터(actor data)가 모두 포함되어 있다.The dual replay buffer management considered in this application consists of a human replay buffer (memory), an actor replay buffer (memory), and a replay manager, whereas the conventional replay buffer contains a human in the same replay buffer. Both human demonstration data and actor data are included.
또한, 종래의 정적 프레임 스킵핑(conventional static frame skipping) 방법은 메모리 버퍼(memory buffer)에 저장된 휴먼 데몬스트레이션 데이터를 프레임별로 스킵하기(건너뛰기) 때문에, 나머지 드롭된 프레임들(remaining dropped frames)은 강화 학습 중에 이용될 수 없는 문제가 있다. 또한, 종래의 프레임 스킵 방법은 강화 학습 알고리즘이 휴먼 데몬스트레이션 데이터의 액션 반복(action repeat, 행동 반복)의 특징을 캡쳐(포착)하는 것을 방해하는 문제가 있다.In addition, because the conventional static frame skipping method skips (skips) the human demonstration data stored in the memory buffer for each frame, the remaining dropped frames are reinforced. There is a problem that cannot be used during learning. In addition, the conventional frame skipping method has a problem in that the reinforcement learning algorithm prevents capturing (capturing) features of action repeat (action repeat) of human demonstration data.
반면, 본 제안 기술의 아키텍처는 두 개의 별개(distinct)의 리플레이 버퍼(즉, 휴먼 리플레이 버퍼와 액터 리플레이 버퍼, 달리 표현해 휴먼 리플레이 메모리와 액터 리플레이 메모리)를 가지고 있기 때문에, 리플레이 매니저가 두 개의 리플레이 버퍼 각각을 독립적인 샘플링 정책(independent sampling policies)으로 처리할 수 있다. 이러한 본 제안 기술의 듀얼 리플레이 버퍼 아키텍처는 휴먼 데몬스트레이션 데이터를 보다 정교하게(sophisticatedly) 처리하는 데 도움이 될 수 있다.On the other hand, the architecture of this proposed technology has two distinct replay buffers (i.e., a human replay buffer and an actor replay buffer, in other words, a human replay memory and an actor replay memory), so the replay manager has two replay buffers. Each can be processed with independent sampling policies. The dual replay buffer architecture of this proposed technology can help to process human demonstration data more sophistically.
또한, 본원에서는 사용 가능한 휴먼 데이터(available human data)를 완전히(fully, 온전히, 전부) 활용(utilize)하기 위해 온라인 프레임 스킵핑을 제안한다. 본원에서 휴먼 데이터는 휴먼 데몬스트레이션 데이터라 달리 표현될 수 있다. 훈련 기간(training period) 동안, 본원에서의 프레임 스킵핑은 모든 휴먼 데몬스트레이션 데이터가 저장되는 휴먼 리플레이 버퍼에 동적으로(dynamically) 수행될 수 있다. 본원에서는 휴먼 리플레이 버퍼에서 데이터를 샘플링하기 위해, 두 가지의 온라인 프레임 스킵핑으로서 FS-ER (Frame Skipping-Experience Replay)과 DFS-ER (Dynamic Frame Skipping-Experience Replay)를 사용할 수 있다.In addition, the present application proposes online frame skipping in order to fully (fully, completely, all) utilize the available human data. In the present application, human data may be expressed differently as human demonstration data. During the training period, frame skipping herein may be dynamically performed in a human replay buffer in which all human demonstration data is stored. Herein, in order to sample data from the human replay buffer, two types of on-line frame skipping can be used as Frame Skipping-Experience Replay (FS-ER) and Dynamic Frame Skipping-Experience Replay (DFS-ER).
다시 말해, 본원은 프레임 스킵핑(frame skipping)으로 전체 휴먼 데몬스트레이션 데이터를 사용하기 위해 FS-ER (Frame Skipping Experience Replay) 기술에 대해 제안한다. FS-ER을 사용하면, 전체 휴먼 데몬스트레이션 데이터가 휴먼 리플레이 버퍼에 저장되고, 프레임 스킵핑이 훈련 기간(training period) 동안 온라인으로 수행될 수 있다. FS-ER을 사용함으로써, 모델은 사용 가능한 휴먼 데몬스트레이션 데이터의 전체 세트(full set)로 훈련될 수 있다.In other words, the present application proposes a Frame Skipping Experience Replay (FS-ER) technology in order to use the entire human demonstration data with frame skipping. With FS-ER, the entire human demonstration data is stored in the human replay buffer, and frame skipping can be performed online during the training period. By using FS-ER, the model can be trained with a full set of human demonstration data available.
또한, 본원은 FS-ER에 DFDQN(Dynamic Frame-Skipping Deep Q-Network)의 동적 프레임 스킵핑(dynamic frame skipping)을 채택함으로써 DFS-ER (Dynamic Frame Skipping Experience Replay) 기술에 대해 제안한다. 여기서, DFDQN은 일예로 문헌 6 [A. S. Lakshminarayanan, S. Sharma, and B. Ravindran, "Dynamic frame skip deep Q network," CoRR, vol. abs/1605.05365, 2016. [Online]. Available: http://arxiv.org/abs/1605.05365]을 참고하여 이해될 수 있다.In addition, the present application proposes a DFS-ER (Dynamic Frame Skipping Experience Replay) technology by adopting dynamic frame skipping of DFDQN (Dynamic Frame-Skipping Deep Q-Network) in FS-ER. Here, DFDQN is described in Document 6 [A. S. Lakshminarayanan, S. Sharma, and B. Ravindran, "Dynamic frame skip deep Q network," CoRR, vol. abs/1605.05365, 2016. [Online]. Available: http://arxiv.org/abs/1605.05365].
본 제안 기술의 DFS-ER은 휴먼 데몬스트레이션 데이터의 액션 반복(action repeat, 행동 반복)을 훈련할 수 있으며, 프레임을 동적으로(dynamically) 스킵(skip)하기(건너뛰기) 때문에 종래의 정적 프레임 스킵핑(conventional static frame skipping) 방법보다 빠르게 환경(environment)을 탐색(explore)할 수 있다.The DFS-ER of this proposed technology can train action repeat (action repeat) of human demonstration data, and because it dynamically skips (skips) frames, conventional static frame skipping You can explore the environment faster than the (conventional static frame skipping) method.
이하에서는 본 제안 기술에 대한 구체적인 설명에 앞서, 먼저 본 제안 기술의 배경이 되는 기술에 대하여 보다 상세히 설명하기로 한다.Hereinafter, prior to a detailed description of the proposed technology, a technology that is a background of the proposed technology will be described in more detail.
데몬스트레이션에서의 심층 강화 학습(Deep Reinforcement Learning From Demonstration)에 대한 설명은 다음과 같다.The description of Deep Reinforcement Learning From Demonstration is as follows.
휴먼 데몬스트레이션 데이터(Human demonstration data)는 심층 강화 학습의 초기 단계(initial stage)를 향상시키는데 활용될 수 있으며, 희소한 보상(sparse reward) 환경에서의 강화 학습에 도움이 될 수 있다.Human demonstration data can be used to improve the initial stage of deep reinforcement learning, and can be helpful for reinforcement learning in a sparse reward environment.
현재, 휴먼 데몬스트레이션 데이터를 사용하는 가장 진보된 모델은 DQfD와 NAC라 할 수 있다.Currently, the most advanced models using human demonstration data are DQfD and NAC.
DQfD는 휴먼 데몬스트레이션 데이터로 훈련할 때 감독 손실(supervised loss)을 추가한다. 감독 손실(supervised loss)은 에이전트의 행동(agent's action)이 전문가의 행동(expert's action)과 다른 경우 전반적인 손실 값(overall loss value)을 증가시키기 때문에, 이는 모델이 휴먼 데몬스트레이션 데이터로 훈련된 경우 감독 학습 알고리즘(supervised learning algorithm)처럼 작동할 수 있다.DQfD adds supervised loss when training with human demonstration data. Because supervised loss increases the overall loss value when the agent's action is different from the expert's action, it is supervised learning when the model is trained with human demonstration data. It can work like a supervised learning algorithm.
도 1은 종래의 DQfD의 아키텍처를 나타낸 도면이다.1 is a diagram showing the architecture of a conventional DQfD.
도 1을 참조하면, DQfD의 아키텍처에서는 휴먼 데몬스트레이션 데이터(휴먼 데이터)와 액터 데이터가 모두 단일 리플레이 버퍼(single replay buffer)에 저장되고 관리됨을 확인할 수 있다. 특히, 휴먼 데몬스트레이션 데이터는 리플레이 버퍼에 영구적으로(permanently) 저장되는 반면, 오래된 액터 데이터(older actor data)는 들어오는(incoming) 액터 데이터로 대체된다. Referring to FIG. 1, it can be seen that in the architecture of DQfD, both human demonstration data (human data) and actor data are stored and managed in a single replay buffer. In particular, human demonstration data is permanently stored in the replay buffer, while older actor data is replaced with incoming actor data.
또한, 휴먼 데몬스트레이션 데이터와 액터 데이터는 모두 리플레이 버퍼에 저장하기 전에 이미 프레임 스킵(frame-skipped)된다. 따라서, DQfD에서는 데이터가 학습 과정(learning process) 중에 샘플링될 때, 사전 상태(Pre-State), 포스트 상태(Post-State), 보상(Reward), 액션(Action, 행동), n 단계 상태(n-Step-State) 및 n 단계 보상(n Step-Reward)을 포함하는 경험 데이터(experience data)가 프레임 스킵핑(frame-skipping) 없이 샘플링된다. 도 1에서의 미니배치(Minibatch)는 이 샘플링 프로세스를 나타낸다.Also, both human demonstration data and actor data are already frame-skipped before being stored in the replay buffer. Therefore, in DQfD, when data is sampled during the learning process, Pre-State, Post-State, Reward, Action, and n-level states (n -Step-State) and experience data including n Step-Reward are sampled without frame-skipping. The minibatch in Fig. 1 represents this sampling process.
도 1의 미니배치(Minibatch)에서, 파란색 부분(blue-colored part, P1)은 사전 상태(Pre-State)와 포스트 상태(Post-State)를 나타내고, 녹색 부분(green-colored part, P2)은 n 단계 상태(n-Step-State)와 n 단계 보상(n Step-Reward)을 나타낸다. 미니배치(Minibatch)는 샘플링 이후에 신경망(Network, neural network)에 입력될 수 있다(inputted). 신경망은 4 개의 손실(loss)의 합에 의해 역 전파(back-propagated)될 수 있다.In the mini-batch (Minibatch) of FIG. 1, a blue-colored part (P1) represents a pre-state and a post state (Post-State), and a green-colored part (P2) is It represents the n-Step-State and n Step-Reward. Minibatch may be inputted to a neural network (Network) after sampling. The neural network can be back-propagated by the sum of the four losses.
손실(loss) 방정식(즉, 손실 함수의 식)은 하기 식 1 및 식 2와 같이 표현될 수 있다.The loss equation (that is, the equation of the loss function) can be expressed as
[식 1][Equation 1]
[식 2][Equation 2]
식 1은 DQfD 네트워크를 업데이트하는데 사용된 전체 손실(overall loss)을 계산하기 위한 식을 나타낸다. DQfD의 전체 손실은 Q 손실(Q loss), n 단계 Q 손실(n-step Q loss), 감독 손실(supervised loss) 및 L2 정규화 손실(L2 regularization loss)로 이루어지며, 각 손실은 λ 값으로 가중된다(weighted).
식 2는 감독 손실을 계산하기 위한 식을 나타낸다.
식 2에서, a expert 는 상태(State) s에서 휴먼(인간, 사람 중에서 전문가)이 수행한 행동(performed action)을 나타낸다. 만약, a expert 와 a 가(a는 휴먼 데이터에 포함되는 각 행동에 관한 데이터 값) 같은 값(same value)이 아니면, 는 종래의(original) DQfD에서 0.8을 가질 수 있다. 또한 는 샘플 데이터(sampled data)가 휴먼 데몬스트레이션 데이터인 경우에만 존재한다.In
DQfD는 아케이드(arcade) 학습 환경(ALE)에서 우선 순위(prioritized) 경험 리플레이를 통해 DQN보다 우수한 성능을 보여준다. 이는 몬테주마의 복수(Montezuma's Revenge)와 같은 게임을 작지만 고품질(high-quality)의 휴먼 데몬스트레이션 데이터세트로 훈련시킬 수 있다. 몬테주마의 복수(Montezuma's Revenge)는 희소한 보상(sparse reward) 때문에 A3C 및 DQN과 같은 종래의 심층 강화 학습 알고리즘을 기반으로 하는 모델로 훈련시키기 어려운 게임이다.DQfD shows better performance than DQN through prioritized experience replay in arcade learning environment (ALE). It can train games like Montezuma's Revenge on a small but high-quality human demonstration dataset. Montezuma's Revenge is a game that is difficult to train with models based on conventional deep reinforcement learning algorithms such as A3C and DQN because of sparse rewards.
DQfD는 감독 손실(supervised loss)에 기반하여 작동하고 소량(small amount)의 휴먼 데몬스트레이션 데이터를 사용하여 훈련(training)이 수행되기 때문에, 종종 오버피팅(Over Fitting, 과적합) 문제를 보여주며, 이 때문에 DQfD는 최고 점수를 쉽게 산출할 수 있다. 그러나, 사전 훈련(pre-training) 중에 높은 점수(high score)에 도달한 후, 점수(score)는 거의 증가하지 않거나 다시 최고 점수를 받는 것이 거의 없다. L2 정규화 손실(L2 regularization loss)은 DQfD의 오버피팅 문제를 완화하기 위해 채택될 수 있다. DQfD와 NAC 사이의 성능 평가에서, 감독 손실(supervised loss) 감쇄(decay)는 반복(iteration)이 진행됨에 따라 도입될 수 있다. 그러나 DQfD의 오버피팅 문제는 아직 완전히 해결되지 않았다.Because DQfD operates based on supervised loss and training is performed using a small amount of human demonstration data, it often presents an overfitting problem. Therefore, DQfD can easily calculate the highest score. However, after reaching a high score during pre-training, the score hardly increases or rarely gets the highest score again. The L2 regularization loss can be adopted to alleviate the overfitting problem of DQfD. In the performance evaluation between DQfD and NAC, a supervised loss decay can be introduced as the iteration progresses. However, DQfD's overfitting problem has not been completely resolved.
NAC는 DQfD의 오버피팅 문제를 해결하기 위한 모델로서, 심층 강화 학습에서 불완전한(imperfect) 휴먼 데몬스트레이션 데이터를 사용할 수 있다. NAC 모델은 각 액터(actor, 행위자)와 휴먼 데몬스트레이션 데이터에서 별도의 손실 모델을 사용하는 DQfD와 달리 통합 손실 모델(unified loss model)을 사용한다. NAC 모델은 휴먼 데몬스트레이션 데이터에서 DQN 모델이 학습하는 문제의 원인을 보여준다. NAC 모델의 일예를 개시하는 문헌 4의 저자들은 이 문제의 주요 원인을 Q 값의 과대평가(overestimation)라고 지적한다.As a model for solving the overfitting problem of DQfD, NAC can use imperfect human demonstration data in deep reinforcement learning. Unlike DQfD, which uses a separate loss model for each actor (actor) and human demonstration data, the NAC model uses a unified loss model. The NAC model shows the cause of the problem that the DQN model learns from human demonstration data. The authors of
이를 해결하기 위해, 문헌 4에서는 현존하는(existing) 소프트 Q 학습 모델을 수정하고, 수정된 NAC가 Q 값의 그래디언트(gradient)에서 상태의 값 함수의 그래디언트를 빼도록 만들고, 이후 Q 값은 소프트 Q 학습 손실 모델에 따라 정규화(normalized)하는 기술을 개시한다. 그런데, 이러한 NAC 모델은 휴먼 데몬스트레이션 데이터의 양이 300,000 전환(transitions)일 때 DQfD 모델보다 성능이 우수하나, 휴먼 데몬스트레이션 데이터의 양이 100,000 전환일 경우 DQfD보다 성능이 떨어진다. 즉, 종래의 NAC 모델은 휴먼 데몬스트레이션 데이터의 양이 적은 경우에 대하여 DQfD보다 성능이 떨어짐을 보인다.To solve this problem, in
한편, 동적 프레임 스킵핑(Dynamic Frame Skipping)에 대한 설명은 다음과 같다.Meanwhile, a description of dynamic frame skipping is as follows.
프레임 스킵핑(Frame skipping)은 DQN에서 환경을 더 빠르게 탐색(explore)하기 위한 기술이다. 프레임 스킵핑으로, 강화 학습의 에이전트는 프레임 스킵핑 계수(coefficient)가 만날 때까지 예측된 액션(action, 동작)을 반복한다. 이는 결과적으로 액션 결정(action decisions)의 수가 감소됨에 따라 실제 훈련 시간(actual training time)이 줄어든다. Frame skipping is a technique for faster exploration of the environment in DQN. With frame skipping, the agent of reinforcement learning repeats a predicted action (action) until a frame skipping coefficient is met. This consequently reduces the actual training time as the number of action decisions decreases.
더욱이, 개선된 프레임 스킵핑(improved frame skipping) 방법이나 동적 프레임 스킵핑이 적용된 에이전트는, 신경망의 부가적인(additional) 출력 값(output value)을 프레임 스킵핑 계수(frame skipping coefficient)로 설정함으로써, 각 상태(state)에서 반복되는 액션을 학습할 수 있다. 다음 두 개의 아키텍처(즉, DFDQN와 FiGAR)는 동적 프레임 스킵핑을 적용하는 아키텍처이다.Moreover, the agent to which the improved frame skipping method or dynamic frame skipping is applied sets the additional output value of the neural network as the frame skipping coefficient, You can learn repeated actions in each state. The next two architectures (ie, DFDQN and FiGAR) are architectures that apply dynamic frame skipping.
도 2는 종래 DFDQN의 아키텍처(a)와 FiGAR의 아키텍처(b)를 개략적으로 나타낸 도면이다.2 is a diagram schematically showing the architecture (a) of the conventional DFDQN and the architecture (b) of the FiGAR.
DFDQN(Dynamic Frame Skipping DQN)는 상술한 문헌 6을 참고하여 이해될 수 있으며, 간단히 설명하면 다음과 같다. DFDQN은 각 상태에서 액션(동작)과 액션의 반복을 모두 학습하도록 설계되어 있다. 이 모델은 액션 반복 값 fs 1 과 fs 2 의 두 가지 경우를 설정한다. 또한, 이 모델은 신경망(neural network)의 출력으로서 액션의 반복(반복 액션)을 나타내기 위해, 출력의 차원(dimensions)을 두 배(doubled)로 늘렸다. 따라서, 예측된 액션 값(predicted action value)이 액션 차원(action dimension)보다 낮으면, 에이전트는 액션(동작)을 fs 1 번 반복하고, 그렇지 않으면 액션(동작)을 fs 2 회 반복한다. DFDQN (Dynamic Frame Skipping DQN) can be understood with reference to the above-described
DFDQN은 또한 더블 액션 차원(double action dimension)을 처리하기 위해 마지막 전체 연결 레이어(last full connected layer)를 두 배로 늘렸다. 훈련이 진행됨에 따라, 액션 차원보다 큰 액션 값이 특정 상태(specific state)에서 선택될 수 있다. 이렇게 함으로써, 각 에피소드(episode)의 탐색(exploration)이 가속화(accelerated)될 수 있다.DFDQN also doubled the last full connected layer to handle the double action dimension. As training progresses, an action value larger than the action dimension may be selected in a specific state. By doing so, the exploration of each episode can be accelerated.
결과적으로, DFDQN은 아타리(Atari) 게임 환경에서 그들의 모델의 성능을 평가할 때, 같은 시간 단계(same time steps)에서 DQN보다 더 빨리 학습하고 더 많은 보상을 얻을 수 있다.As a result, DFDQNs learn faster and get more rewards than DQNs in the same time steps when evaluating the performance of their models in the Atari gaming environment.
도 2에서 (a) 는 fs 1 에 4 개, fs 2 에 20 개가 있는 DFDQN를 나타낸다. 도 2의 (a)에 도시된 신경망(neural network) 모델은 액션 값(action value)이 액션 차원(action dimension,)보다 낮으면 액션을 4번 반복하고, 그렇지 않으면 액션을 20번 반복한다.In Figure 2 (a) is
한편, FiGAR (Fine Grained Action Repetition)는 일예로 문헌 7 [[S. Sharma, A. S. Lakshminarayanan, and B. Ravindran, "Learning to repeat: Fine grained action repetition for deep reinforcement learning," arXiv preprint arXiv:1702.06054, 2017.]을 참고하여 이해될 수 있으며, 간단히 설명하면 다음과 같다.On the other hand, FiGAR (Fine Grained Action Repetition) is an example of document 7 [[S. Sharma, A. S. Lakshminarayanan, and B. Ravindran, "Learning to repeat: Fine grained action repetition for deep reinforcement learning," arXiv preprint arXiv:1702.06054, 2017.], and briefly described as follows.
FiGAR(Fine Grained Action Repetition)는 DFDQN의 이전(previous) 동적 프레임 스킵핑을 확장한 모델이다. 이 모델은 액션 반복 값(action repeat value)의 두 가지 경우뿐만 아니라 액션 반복의 특정 범위(certain range)를 선택할 수 있다. FiGAR는 다양한 심층 강화 학습 알고리즘을 채택할 수 있다.FiGAR (Fine Grained Action Repetition) is a model that extends the previous (previous) dynamic frame skipping of DFDQN. This model can select not only two cases of action repeat value, but also a certain range of action repeat. FiGAR can adopt a variety of deep reinforcement learning algorithms.
도 2에서 (b) 는 2개의 네트워크(신경망)가 존재하는 FiGAR의 구조를 나타낸다. 2개의 네트워크 중 하나는 액션을 선택하고, 다른 하나는 액션의 반복(반복 액션)을 선택한다. 그러나, 이 모델을 다양한 심층 강화 모델에 적용하고자 할 경우, 대상(target, 타겟) 심층 강화 모델을 수정할 필요가 있다. In FIG. 2, (b) shows the structure of FiGAR in which two networks (neural networks) exist. One of the two networks selects an action, and the other selects an action repetition (repeated action). However, when applying this model to various deep reinforcement models, it is necessary to modify the target (target) deep reinforcement model.
문헌 7에서는 FiGAR를 A3C, TRPO, DDPG 등 3 가지 모델에 적용한 경우에 대하여 개시한다. 또한, FiGAR는 스킵된 프레임(skipped frames)의 수와 일치하도록 A3C의 n 단계 반환(n-step return)의 추정치(estimate)를 하기 식 4와 같이 정의한다.
[식 3][Equation 3]
[식 4][Equation 4]
식 3에서, x k 는 상태(state) s k 에서 액션 a k 의 반복 값(repeat value)을 의미하고, y는 식 4의 감쇄 값(decay value) 의 지수(exponent)를 나타낸다. 즉, 액션의 반복 횟수가 많고 y의 값이 커질수록, r k 의 값(각 프레임 k의 보상값(reward))은 에 의해 더 감소(decayed)될 수 있다.In
한편, 아타리 게임 휴먼 데몬스트레이션 데이터세트(Atari Game Human Demonstration Dataset)에 대한 설명은 다음과 같다.Meanwhile, the description of the Atari Game Human Demonstration Dataset is as follows.
도 3은 Atari Grand Challenge 데이터세트의 스크린 샷(screen-shot) 샘플의 예를 나타낸 도면이다. 특히, 도 3은 Atari Grand Challenge 데이터세트에서, Q*bert (a), 비디오 핀볼(Video Pinball) (b), 팩맨(Ms. Pacman) (c), 스페이스 인베이더(Space Invaders) (d) 및 몬테주마의 복수(Montezuma's Revenge) (e)에 대한 스크린 샷의 예를 나타낸다.3 is a diagram showing an example of a screen-shot sample of the Atari Grand Challenge dataset. In particular, FIG. 3 shows, in the Atari Grand Challenge dataset, Q*bert (a), Video Pinball (b), Ms. Pacman (c), Space Invaders (d) and Monte The following is an example of a screen shot for Montezuma's Revenge (e).
도 3을 참조하면, Atari Grand Challenge 데이터세트는 심층 강화 학습을 위한 다섯 가지의 아타리(Atari) 게임의 오픈 데이터세트(open data set)이다. 각 데이터세트에는 초보자(novice)부터 전문가(expert)까지 다양한 점수 분포 범위(score distribution ranging)를 가진 다양한 에피소드(diverse episodes)가 포함되어 있다. 게임의 각 에피소드에는 여러 개의 이미지 파일(image files)과 하나의 궤적 파일(trajectory file)이 있다. 이미지 데이터세트(Image data set)에는 아타리 게임(Atari games)의 원시 색상 이미지(raw color images)가 포함되어 있다. 궤적 데이터세트(Trajectory dataset)에는 보상(reward), 프레임 ID(frame ID), 점수(score, 스코어), 터미널 상태(terminal state) 및 액션(action)과 같은 정보가 포함되어 있다.3, the Atari Grand Challenge dataset is an open dataset of five Atari games for deep reinforcement learning. Each dataset contains different episodes with varying score distribution ranging from novice to expert. Each episode of the game has several image files and one trajectory file. The image data set contains raw color images from Atari games. The trajectory dataset contains information such as reward, frame ID, score, terminal state, and action.
프레임 스킵핑 관점에서 볼 때, 이것은 게임의 어떠한 프레임(any frames)도 드롭핑(dropping)시키는 것 없이, 전체 60Hz 휴먼 데몬스트레이션 데이터를 가지고 있다. 이는 이미 프레임 스킵된 15Hz 휴면 데몬스트레이션 데이터를 사용하는 종래 DQfD에 대해 개시하는 문헌 3의 데이터세트와는 다르다. 점수의 측면에서, 데이터세트에서의 대부분의 에피소드 점수는 종래 DQfD에 대해 개시하는 문헌 3의 의 데이터세트보다 낮다. 또한, 데이터 집합에는 각 프레임에 부정적인 보상(negative reward)을 주기 어렵게 만드는 수명 손실(life loss)에 대한 정보가 부족하다.From a frame skipping point of view, it has full 60Hz human demonstration data without dropping any frames in the game. This is different from the dataset of
이하에서는 본 제안 기술(본원에서 제안하는 기술)인 듀얼 리플레이 버퍼를 기반으로 한 온라인 프레임 스킵핑(Online Frame Skipping based on Dual Replay Buffer) 기술에 대하여 보다 상세히 설명한다.Hereinafter, an Online Frame Skipping based on Dual Replay Buffer, which is the proposed technology (a technology proposed herein), will be described in more detail.
도 4는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100)의 개략적인 구성을 나타낸 블록도이다. 도 5는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100)의 아키텍처를 개략적으로 나타낸 도면이다. 즉, 도 5는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100)에 의한 듀얼 리플레이 버퍼를 기반으로 한 온라인 프레임 스킵핑 기술에 대한 시스템 아키텍처를 나타낸다.4 is a block diagram showing a schematic configuration of a
이하에서는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100)를 설명의 편의상 본 장치(100)라 하기로 한다. Hereinafter, the
도 4 및 도 5를 참조하면, 본 장치(100)는 심층 강화 학습을 위한 데이터 처리 장치, 특히 심층 강화 학습의 가속화를 위한 데이터 처리 장치에 관한 것이다.Referring to FIGS. 4 and 5, the
본 장치(100)는 앞서 설명한 본 제안 기술을 수행할 수 있다. 즉, 본 장치(100)는 휴먼 데몬스트레이션 데이터(human demonstration data, 111')를 이용한 훈련 과정(training process)을 가속화하기 위해, 듀얼 리플레이 버퍼 관리와 온라인 프레임 스킵핑 기술을 기반으로 하는 새로운 심층 강화 학습(deep reinforcement learning)을 위한 데이터 처리를 수행할 수 있다. The
다시 말해, 본 장치(100)는 듀얼 리플레이 버퍼 관리와 온라인 프레임 스킵핑 기술을 기반으로 심층 강화 학습(특히 심층 강화 학습의 가속화)을 위한 데이터 처리를 수행할 수 있다.In other words, the
본 장치(100)는 리플레이 매니저(110), 데이터 처리부(120) 및 재정의부(130)를 포함할 수 있다. 또한, 본 장치(100)는 리플레이 매니저(110)에 의해 관리가 이루어지는 휴먼 리플레이 버퍼(111) 및 액터 리플레이 버퍼(112)를 포함할 수 있다. 본원에서 휴먼 리플레이 버퍼(111)와 액터 리플레이 버퍼(112)는 듀얼 리플레이 버퍼(111, 112)라 지칭될 수 있다.The
리플레이 매니저(110)는 대상 데이터 중 휴먼 데몬스트레이션 데이터(111')를 휴먼 리플레이 버퍼(111)에 저장하고, 대상 데이터 중 액터 데이터(112')를 액터 리플레이 버퍼(112)에 저장할 수 있다. 달리 표현하여, 휴먼 리플레이 버퍼(111)는 대상 데이터 중 휴먼 데몬스트레이션 데이터(111')를 저장하는 버퍼이고, 액터 리플레이 버퍼(112)는 대상 데이터 중 액터 데이터(112')를 저장하는 버퍼일 수 있다. 본원에서 버퍼는 메모리라 달리 표현될 수 있다.The
여기서, 대상 데이터는 일예로 학습이 이루어지는 대상(타겟) 데이터를 의미할 있다. 대상 데이터는 일예로 이미지 데이터를 의미할 수 있다. 구체적인 예로, 대상 데이터가 게임과 관련된 데이터인 경우, 대상 데이터는 게임 관련 이미지 데이터를 의미할 수 있다.Here, the target data may mean target (target) data on which learning is performed, for example. The target data may mean image data as an example. As a specific example, when the target data is data related to a game, the target data may refer to image data related to the game.
또한, 휴먼 데몬스트레이션 데이터(휴먼 데이터, 111')는 휴먼(사람, 인간)이 플레이(시연)한 데이터를 의미할 수 있다. 즉, 사람(휴먼)이 게임을 수행하는 경우, 휴먼 데몬스트레이션 데이터(111')는 휴먼(사람)이 게임을 플레이(시연)함으로써 발생(생성)되는 데이터를 의미할 수 있다. 액터 데이터(112')는 에이전트(혹은 시스템, 기기)가 행동한 데이터를 의미할 수 있다. 즉, 액터 데이터(112')는 에이전트의 행동(동작)에 의해 발생(생성)되는 데이터로서, 달리 말해 에이전트의 행동(동작)과 관련된 데이터를 의미할 수 있다.In addition, human demonstration data (human data, 111') may mean data played (demonstrated) by humans (persons, humans). That is, when a person (human) plays a game, the
데이터 처리부(120)는 휴먼 리플레이 버퍼(111)에 저장된 휴먼 데몬스트레이션 데이터(111')의 샘플링을 위해, 휴먼 리플레이 버퍼(111)에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행할 수 있다. The
여기서, 온라인 프레임 스킵핑은 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑(121, 122)을 포함할 수 있다. 특히, 두가지 유형의 프레임 스킵핑(121, 122)은 온라인 프레임 스킵핑(Online Frame Skipping, Frame-skipping Experience Replay, FS-ER 스킵핑, 121) 및 동적 온라인 프레임 스킵핑(Dynamic Online Frame Skipping, Dynamic Frame-skipping Experience Replay, DFS-ER 스킵핑, 122)을 포함할 수 있다.Here, online frame skipping may include two types of frame skipping (121, 122) in consideration of whether or not the frame skipping interval is variable. In particular, the two types of frame skipping (121, 122) are online frame skipping (Online Frame Skipping, Frame-skipping Experience Replay, FS-ER skipping, 121) and dynamic online frame skipping (Dynamic Online Frame Skipping, Dynamic Frame-skipping Experience Replay, DFS-ER skipping, 122) may be included.
즉, 온라인 프레임 스킵핑은 두가지 유형의 프레임 스킵핑(121, 122) 중 제1 유형의 프레임 스킵핑으로서, 전체 휴먼 데몬스트레이션 데이터(111')를 사용하기 위해 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 온라인 프레임 스킵핑(FS-ER 스킵핑, 121)을 포함할 수 있다. 여기서, 온라인 프레임 스킵핑(FS-ER 스킵핑, 121)은 정적 온라인 프레임 스킵핑, 혹은 고정된(일정한) 프레임 스킵핑이라 달리 표현될 수 있다. 또한, 온라인 프레임 스킵핑은 두가지 유형의 프레임 스킵핑(121, 122) 중 제2 유형의 프레임 스킵핑으로서, 휴먼 데몬스트레이션 데이터(111')의 액션 반복을 훈련하기 위해 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 동적 온라인 프레임 스킵핑(DFS-ER 스킵핑, 122)을 포함할 수 있다.In other words, online frame skipping is the first type of frame skipping among the two types of frame skipping (121, 122). In order to use the entire human demonstration data (111'), the frame skipping interval is not changed and On-line frame skipping (FS-ER skipping, 121) for performing skipping by maintaining the same level may be included. Here, online frame skipping (FS-ER skipping, 121) may be expressed differently as static online frame skipping or fixed (constant) frame skipping. In addition, online frame skipping is the second type of frame skipping among the two types of frame skipping (121, 122). In order to train the action repetition of the
데이터 처리부(120)는 온라인 프레임 스킵핑으로서, 프레임 스킵핑의 간격의 가변 여부를 고려한 이러한 두가지 유형의 프레임 스킵핑(121, 122)을 휴먼 리플레이 버퍼(111)에 대하여 적용하여, 휴먼 데몬스트레이션 데이터(111')에 대한 데이터 처리를 수행할 수 있다.As online frame skipping, the
보다 구체적인 설명은 다음과 같다. 본 장치(100)는 도 1의 DQfD과 비교하여 종래 기술과는 다른 3가지의 주요 특징(main characteristics)을 가지며, 3가지 주요 특징에는 듀얼 리플레이 버퍼 관리(Dual Replay Buffer Management), 온라인 프레임 스킵핑(Online Frame Skipping) 및 동적 온라인 프레임 스킵핑(Dynamic Online Frame Skipping)이 포함될 수 있다.A more detailed description is as follows. Compared to the DQfD of FIG. 1, the
듀얼 리플레이 버퍼 관리는 휴먼 리플레이 버퍼(human replay buffer, 111), 액터 리플레이 버퍼(actor replay buffer, 112) 및 리플레이 매니저(replay manager, 110)를 포함할 수 있다. 리플레이 매니저(110)는 휴먼 리플레이 버퍼(111)와 액터 리플레이 버퍼(112)를 별도의 관리 정책(distinct management policies)으로 분리(separately)하여 처리(관리)할 수 있다. The dual replay buffer management may include a
DQfD의 경우, 휴먼 데몬스트레이션 데이터와 액터 데이터가 모두 단일 리플레이 버퍼(single replay buffer)에 저장된다. 단일 리플레이 버퍼에 저장되는 휴먼 데몬스트레이션 데이터는 액터 데이터 대비 상대적으로 적은 양의 데이터를 갖는 반면, 액터 데이터는 휴먼 데몬스트레이션 데이터 대비 상대적으로 많은 양의 데이터를 갖는다. 따라서, 해당 버퍼에 프레임 스킵핑을 적용하는 경우, 종래에는 프레임 스킵핑의 적용으로 인해 해당 버퍼에 포함된 적은 양의 휴먼 데몬스트레이션 데이터 중에서도 일부 휴먼 데몬스트레이션 데이터가 버려지게 되므로, 이에 따라 신경망 학습시 활용(사용) 가능한 학습데이터의 양이 줄어들어(즉, 신경망 학습시 활용 가능한 휴먼 데몬스트레이션 데이터의 양이 충분치 않아) 신경망의 학습 성능(예를 들어, 정확도 등)이 떨어지는 문제가 있다.In the case of DQfD, both human demonstration data and actor data are stored in a single replay buffer. Human demonstration data stored in a single replay buffer has a relatively small amount of data compared to actor data, whereas actor data has a relatively large amount of data compared to human demonstration data. Therefore, when frame skipping is applied to the corresponding buffer, some human demonstration data among the small amount of human demonstration data included in the buffer is discarded due to the application of frame skipping. There is a problem that the learning performance (eg, accuracy, etc.) of the neural network is deteriorated because the amount of available training data is reduced (that is, the amount of human demonstration data that can be used when training a neural network is insufficient).
반면, 본 장치(100)는 듀얼 리플레이 버퍼를 기반으로 한 온라인 프레임 스킵핑(121, 122) 기술을 사용함으로써, 액터 리플레이 버퍼의 샘플링 방법에 관계없이, 휴먼 데몬스트레이션 데이터에 대하여 FS-ER 또는 DFS-ER을 독립적으로(independently) 적용할 수 있다. On the other hand, the
이러한 본 장치(100)는 종래에 단일 리플레이 버퍼에 휴먼 데몬스트레이션 데이터와 액터 데이터가 모두 저장됨에 따라, 해당 단일 리플레이 버퍼에 대한 프레임 스킵핑의 적용시 휴먼 데몬스트레이션 데이터가 버려져, 신경망 학습을 위한 충분한 데이터를 확보하지 못하던 문제를 해소할 수 있다. 즉, 본 장치(100)는 휴먼 데몬스트레이션 데이터와 액터 데이터를 단일 리플레이 버퍼에 모두 저장하는 것이 아닌 2개의 리플레이 버퍼(111, 112) 각각에 분리하여 따로 저장하고, 이를 기반으로 대상 데이터 중 휴먼 리플레이 버퍼(111)에 저장된 휴먼 데몬스트레이션 데이터(111')에 대하여 온라인 프레임 스킵핑(121, 122)을 독립적으로 적용할 수 있다. 이에 따라, 본 장치(100)는 듀얼 리플레이 버퍼 기반의 온라인 프레임 스킵핑을 통해, 휴먼 데몬스트레이션 데이터(111')가 버려지는 것 없이 모두 신경망 학습을 위한 학습데이터로 활용되도록 할 수 있다.As the
본 장치(100)에서 고려되는 2개의 온라인 프레임 스킵핑(121, 122) 중 하나인 FS-ER(Frame Skipping-Experience Replay, 121) 기술에 대한 설명은 다음과 같다.A description of the FS-ER (Frame Skipping-Experience Replay) 121, which is one of the two online frame skipping (121, 122) considered in the
FS-ER는 전체 휴먼 데몬스트레이션 데이터(111')를 휴먼 리플레이 버퍼(111)에 저장하고, 프레임 스킵핑(frame skipping)이 훈련 기간(training period) 동안 온라인(online)으로 수행될 수 있다.The FS-ER stores all
달리 말해, 리플레이 매니저(110)는 휴먼 데몬스트레이션 데이터(111')를 휴먼 리플레이 버퍼(111)에 저장할 수 있다. 이후, 데이터 처리부(120)는 휴먼 리플레이 버퍼(111), 그에 저장된 휴먼 데몬스트레이션 데이터(111')에 대하여 FS-ER 스킵핑(121)을 적용하여 데이터 처리를 수행할 수 있다. 이때, 데이터 처리부(120)는 FS-ER 스킵핑(121)을 훈련 기간(training period) 동안 온라인(online)으로 수행할 수 있다In other words, the
종래 DQfD는 휴먼 데몬스트레이션 데이터와 액터 데이터를 모두 단일 리플레이 버퍼에 저장하기 전에, 그들을 생성하기 위해 프레임을 스킵(skip)하며(건너뒤며), 이에 따라 학습 과정(learning process) 중에 선택된 프레임만 사용할 수 있다. 반면, 데이터 처리부(122)는 훈련 과정(training procedure, 훈련 절차)이 휴먼 데몬스트레이션 데이터(111')의 입력을 필요로 할 때, 온디맨드식(on-demand, 주문형) 프레임 스킵핑을 위해 FS-ER 스킵핑(121)을 수행할 수 있다. 본 장치(100)는 FS-ER 스킵핑(121)을 사용함으로써, 각 에피소드의 전체 프레임을 모델 훈련에 활용할 수 있다.Conventional DQfD skips (skips) frames to create them before storing both human demonstration data and actor data in a single replay buffer, so that only selected frames can be used during the learning process. . On the other hand, when the training procedure (training procedure) requires input of the
도 5를 참조하면, 본 장치(100)에서 고려되는 미니배치(MiniBatch)는, 휴먼 데이터(human data, 111')를 샘플링하기 위한 프레임 스킵핑을 묘사(depict)하기 위해 각각의 샘플링된 프레임(each sampled frame)에서 스페이싱(spacing, 간격)을 갖는다. 다시 말해, 본 장치(100)에서 고려되는 미니배치에는 휴먼 데이터를 샘플링하는 프레임 스킵핑을 묘사하기 위해 각 샘플링된 프레임에 스페이싱(spacing, 간격, 거리두기, 간격두기)이 두어져 있다.Referring to FIG. 5, the mini-batch considered in the
본원에서 고려되는 2개의 온라인 프레임 스킵핑 기술 중 다른 하나인 동적 온라인 프레임 스킵핑(Dynamic Frame Skipping Experience Replay, DFS-ER, 122)에 대한 설명은 다음과 같다. A description of another one of the two online frame skipping techniques considered in the present application, Dynamic Frame Skipping Experience Replay (DFS-ER, 122) is as follows.
본원에서는 휴먼 데몬스트레이션 데이터(111')의 액션 반복(action repetition)을 처리하기 위해, FS-ER의 변형(variant)인 DFS-ER 기술을 제안한다. 즉, 데이터 처리부(120)는 휴먼 데몬스트레이션 데이터(111')의 액션 반복(action repetition)을 처리하기 위해, 휴먼 데몬스트레이션 데이터(111')에 대하여 FS-ER의 변형(variant)인 DFS-ER 스킵핑(122)을 적용하여 데이터 처리를 수행할 수 있다. 본 장치(100)는 DFDQN의 동적 프레임 스킵핑(dynamic frame skipping) 방식을 채택함으로써, 전체 60Hz 휴먼 데몬스트레이션 데이터를 처리하기 위한 동적 프레임 스킵핑 방식(scheme, 구조)으로서 DFS-ER 스킵핑(122) 기술을 구현할 수 있다. In the present application, in order to process the action repetition of the
도 5 에서, 신경망(neural network, 50)의 출력 차원(output dimension)은 두 개의 반복 값(two repeat values)을 나타내기 위해 액션 차원(action dimension)의 두 배(twice)의 크기이다. 미니배치(MiniBatch)에서 프레임들(frames)은 동적 프레임 스킵핑(DES-ER, 122)으로 인해 일정한 간격(uniform intervals, 균등한 간격)으로 샘플링되지 않는다. 데이터 처리부(120)는 DES-ER 스킵핑(122)의 적용시의 스킵 간격(skip intervals)을 휴먼 데몬스트레이션 데이터(111')에서 액션의 스킵 값(skip value)에 의해 동적으로(dynamically) 정의할 수 있다.In FIG. 5, an output dimension of a
이에 따르면, 본원에서 제안하는 듀얼 리플레이 버퍼 관리는 휴먼 데몬스트레이션 데이터(111')와 액터 데이터(112') 사이의 독립적인(independent) 관리를 가능하게 하는 아키텍처라 할 수 있다. 본 장치(100)의 데이터 처리부(120)는 이러한 관리 아키텍처를 통해, 액터 데이터(112')와 관련없이 FS-ER(121)라는 온라인 프레임 스킵핑을 휴먼 리플레이 버퍼(111)에 적용할 수 있다. 또한, 본 장치(100)의 데이터 처리부(120)는 휴먼 데몬스트레이션 데이터(111')의 액션 반복을 처리하기 위해, 온라인 프레임 스킵핑으로서 DFS-ER이라는 동적 온라인 스킵핑을 적용할 수 있다.Accordingly, the dual replay buffer management proposed in the present application can be said to be an architecture that enables independent management between the
본 장치(100)에 대한 보다 구체적인 설명은 다음과 같다. A more detailed description of the
듀얼 리플레이 버퍼(111, 112) 관리 기술과 관련하여, 종래 DQfD에서는 휴먼 데몬스트레이션 데이터와 액터 데이터가 하나의 메모리(single memory, 단일 메모리, 단일 버퍼)에 저장되고 관리되기 때문에, 휴먼 데이터(휴먼 데몬스트레이션 데이터)와 액터 데이터에 각각(separately) 다른 샘플링 방법을 적용하는 것은 물론 다른 프레임 스킵핑 방법을 적용하는 것이 어려운 문제가 있다. Regarding the dual replay buffer (111, 112) management technology, in the conventional DQfD, human demonstration data and actor data are stored and managed in one memory (single memory, single memory, single buffer), so human data (human demonstration data) ) And actor data, as well as applying a different sampling method to each other (separately) is difficult to apply a different frame skipping method.
반면, 본 장치(100)는 리플레이 매니저(110)가 듀얼 리플레이 버퍼(111, 112) 관리 기술을 통해 별개의(distinct) 메모리(버퍼) 공간에서 휴먼 데이터(111')와 액터 데이터(112')를 관리함으로써 이러한 문제를 해소할 수 있다. 데이터 처리부(120)는 본원에서 제안하는 온라인 프레임 스킵핑(121, 122) 방식(scheme, 구조, 기술)을 이러한 듀얼 리플레이 버퍼(111, 112)를 기반으로 쉽게 적용할 수 있다. On the other hand, in the
리플레이 매니저(110)는 듀얼 리플레이 버퍼(111, 112)를 관리하고, 훈련 데이터(training data, 휴먼 데몬스트레이션 데이터와 액터 데이터를 포함하는 대상 데이터)를 샘플링하거나 새로운 애플리케이션(new applications)을 리플레이 버퍼(111, 112)에 저장하기 위해 에이전트(agents)의 요청(requests)을 처리할 수 있다.The
리플레이 매니저(110)는 휴먼 데몬스트레이션 데이터(111')의 샘플링 비율(sampling ratio)을 직접(directly) 제어할 수 있다. 또한, 본 장치(100)에서는 종래 DQfD와는 달리, 리플레이 버퍼(111, 112)에서의 휴먼 데몬스트레이션 데이터의 비율(proportion, 차지 비율)에 제한이 없을 수 있다. 따라서, 리플레이 매니저(110)는 듀얼 리플레이 버퍼(111, 112) 관리 기술을 통해, 휴먼 데몬스트레이션 데이터(111')의 샘플링 비율(sampling ratio)을 보다 유연하게(flexibly) 관리할 수 있다.The
데이터 처리부(120)에 의한 FS-ER 스킵핑(FS-ER 프레임 스킵핑, 121) 기술의 적용에 대한 구체적인 설명은 다음과 같다. 이는 도 6을 참조하여 보다 쉽게 이해될 수 있다.A detailed description of the application of the FS-ER skipping (FS-ER frame skipping, 121) technique by the
도 6은 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100)에 의한 휴먼 데몬스트레이션 데이터(111')의 샘플링 접근법(sampling approaches)을 설명하기 위한 도면이다. 즉, 도 6은 데이터 처리부(120)에 의한 휴먼 데몬스트레이션 데이터(111')의 샘플링 접근법으로서 FS-ER 스킵핑(121) 기반의 샘플링 기술과 DFS-ER 스킵핑(122) 기반의 샘플링 기술을 설명하기 위한 도면이다. 6 is a diagram for explaining sampling approaches of
특히, 도 6에서 (a)는 DQfD 아키텍처(Original)에 대한 휴먼 데몬스트레이션 데이터의 샘플링 방식(scheme)을 설명하기 위한 도면이다. 도 6에서 (b)는 본 장치(100)에서 고려되는 FS-ER(121), 즉 샘플링 과정 중 온디맨드식(on-demand, 주문형) 프레임 스킵핑을 위한 FS-ER 스킵핑(121) 기술을 설명하기 위한 도면이다. 도 6에서 (c)는 본 장치(100)에서 고려되는 DFS-ER(122), 즉 샘플링 과정 중 휴먼 데몬스트레이션 데이터(111')의 액션 반복을 처리를 위한 DFS-ER 스킵핑(122) 기술을 설명하기 위한 도면이다.In particular, (a) in FIG. 6 is a diagram for explaining a sampling scheme of human demonstration data for a DQfD architecture (Original). In FIG. 6 (b) is an FS-
도 6을 참조하면, 데몬스트레이션 데이터(111')에 대하여 강화 학습을 위한 미니배치를 준비하기 위해, 여러 경험(multiple experiences)을 샘플링할 수 있다. 여기서, 여러 경험이라 함은 휴먼 리플레이 버퍼(111)에 저장된 휴먼 데몬스트레이션 데이터(111')들을 의미할 수 있다.Referring to FIG. 6, in order to prepare a mini-batch for reinforcement learning with respect to the
데이터 처리부(120)는 각 경험을 샘플링하기 위해 세가지의 상태로서 S pre , S post 및 S n - step 를 생성할 수 있으며, 각 상태(each state)는 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층(stacking)함으로써 생성될 수 있다. 이때, 프레임 스킵핑 계수는 사용자 입력에 의해 미리 설정될 수 있으며, 예시적으로 4일 수 있다. 이에 따르면, 프레임 스킵핑 계수에 대응하는 수의 프레임은 예시적으로 네 개(4개)의 프레임일 수 있다.
다시 말해, 데이터 처리부(120)는 온라인 프레임 스킵핑(FS-ER 스킵핑, 121)의 적용 이전에, 휴먼 리플레이 버퍼(111)에 저장된 휴먼 데몬스트레이션 데이터(111')에 대한 프레임 상태를 생성할 수 있다. 특히, 데이터 처리부(120)는 휴먼 데몬스트레이션 데이터(111')에 대한 복수 유형의 프레임 상태로서 S pre , S post 및 S n -step 를 생성할 수 있다. 여기서, 프레임 상태는 각각 프레임 스킵핑 계수(frame skipping coefficient)(일예로 4)에 대응하는 수의 프레임(일예로 4개의 프레임)을 적층하여 생성될 수 있다.In other words, the
즉, 데이터 처리부(120)는 휴먼 리플레이 버퍼(111) 내 휴먼 데몬스트레이션 데이터(111')에 대하여 FS-ER 스킵핑(121)을 적용하기 이전에, 먼저 도 6의 (a)에 도시된 바와 같이 4개의 프레임을 그룹화함으로써 각 상태를 생성(구성)할 수 있다.That is, before applying the FS-ER skipping 121 to the
앞서 말한 바와 같이, 도 6에서 (a)는 종래의 DQfD 아키텍처(Original)에 대한 휴먼 데몬스트레이션 데이터의 샘플링 방식(scheme)을 나타낸다. 예를 들어, Atari Grand Challenge 데이터세트의 60Hz 휴먼 데몬스트레이션 데이터를 사용하여 강화 학습 모델(reinforcement learning model)을 훈련한다고 가정하자. 이때, 아타리(Atari) 게임과 관련하여 프레임 스킵핑의 간격(interval)은 일반적으로(usually) 4로 설정될 수 있다. 즉, 종래의 DQfD 방식은 휴먼 데몬스트레이션 데이터를 샘플링하기 위해 4개의 간격마다(every four intervals) 프레임을 스킵한다(건너뛴다, 생략한다).As mentioned above, (a) in FIG. 6 shows a sampling scheme of human demonstration data for a conventional DQfD architecture (Original). For example, suppose you train a reinforcement learning model using 60Hz human demonstration data from the Atari Grand Challenge dataset. In this case, in relation to the Atari game, an interval of frame skipping may be generally set to 4. That is, the conventional DQfD method skips (skips, omits) frames every four intervals to sample human demonstration data.
도 6에서 (b)는 샘플링 과정 중 온디맨드식(on-demand, 주문형) 프레임 스킵핑을 위해 제안된 본 제안 기술의 FS-ER를 나타낸다. 데이터 처리부(120)는 제1 유형의 프레임 스킵핑(FS-ER 스킵핑, 121)의 적용시, 미리 설정된 수의 프레임에 대응하는 간격마다 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층시킬 수 있다. 여기서, 미리 설정된 수는 사용자 입력에 의해 설정될 수 있다. 일예로 미리 설정된 수는 4일 수 있다. 따라서, 데이터 처리부(120)는 FS-ER 스킵핑(121)의 적용시, 휴먼 데몬스트레이션 데이터(111')에 대하여 프레임 상태를 생성함에 있어서, 미리 설정된 수의 프레임에 대응하는 간격마다(일예로, 4개의 프레임에 대응하는 간격마다, 4개의 간격마다) 프레임 스킵핑 계수에 대응하는 수의 프레임(일예로, 4개의 프레임)을 적층시킬 수 있다.In FIG. 6 (b) shows the FS-ER of the proposed technology proposed for skipping an on-demand (on-demand) frame during a sampling process. When the first type of frame skipping (FS-ER skipping, 121) is applied, the
다시 말해, 프레임 스킵핑 계수(frame skipping coefficient)가 일예로 4인 경우, 종래의 심층 강화 학습을 위한 프레임 적층(conventional frame stacking)과 유사하게 보이기 위해, 데이터 처리부(120)는 FS-ER 스킵핑(121)의 적용시, 4 개의 간격마다(every four intervals) 4 개의 프레임을 적층시킴으로써 프레임 상태를 생성할 수 있다. 즉, 본 장치(100)는 FS-ER 스킵핑(121)의 적용을 위해 4개의 간격마다 4개의 프레임을 적층시키는 반면, 종래의 DQfD는 4 개의 연속적인 프레임을, 프레임들 간 공백 없이 적층시킨다는 점에서 차이가 있다.In other words, when the frame skipping coefficient is 4, for example, in order to look similar to conventional frame stacking for deep reinforcement learning, the
이에 따르면, FS-ER 스킵핑(121)시에는 프레임 스킵핑의 간격이 가변하지 않고 일정하게 유지될 수 있는데, 이때, 일정하게 유지되는 프레임 스킵핑 간격은 미리 설정된 수의 프레임(일예로 4개)에 대응하는 간격을 의미할 수 있다. 즉, 데이터 처리부(121)는 FS-ER 스킵핑(121)의 적용시, 프레임 스킵핑의 간격을 미리 설정된 수의 프레임에 대응하는 간격(일예로 4개의 프레임에 대응하는 간격)으로 일정하게 설정할 수 있다.Accordingly, during the FS-ER skipping 121, the frame skipping interval may not be varied and may be kept constant. In this case, the frame skipping interval maintained constant is a preset number of frames (for example, 4 ) May mean an interval corresponding to. That is, when applying the FS-ER skipping 121, the
한편, 재정의부(130)는 데이터 처리부(120)에 의한 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터(111') 및 액터 리플레이 버퍼(112)에 저장된 기 샘플링된 액터 데이터(112')를 입력으로 하는 신경망(50)의 업데이트시 이용되는 손실 값(손실 함수)을 계산하기 위해 요구되는 반환 값을 재정의할 수 있다. 즉, 액터 리플레이 버퍼(112)에는 액터 데이터(112')가 기 샘플링되어 저장될 수 있다. On the other hand, the
재정의부(130)는 두가지 유형의 프레임 스킵핑(121, 122) 적용 각각에 대하여 반환 값(리턴 값)을 재정의할 수 있다. 즉, 재정의부(130)는 FS-ER 스킵핑(121) 기술과 DFS-ER 스킵핑(122) 기술에 적용 가능한 손실 함수(손실 값)을 구하기 위해 필요한 신경망(50)의 반환 값(리턴 값)을 재정의할 수 있다. 다시 말해, 재정의부(130)는 FS-ER 스킵핑(121)의 적용과 DFS-ER 스킵핑(122) 적용 각각에 대하여, 손실 함수를 구하기 위한 반환 값(리턴 값)을 구하는 방식을 재정의할 수 있다.The
재정의부(130)는 상기 식 1에서와 같이 DQfD의 손실(loss)인 1 단계 Q 손실(1-step Q loss), n 단계 Q 손실(n-step Q loss) 및 감독 손실(supervised loss)을 구성(construct, 구축)하기 위해, n 단계 반환(n-step return) 뿐만 아니라 선택된 프레임(selected frame)의 보상(reward)과 액션(action)을 계산할 수 있다. n 단계 반환(n-step return)의 방정식은 하기 식 5와 같이 표현될 수 있다.As shown in
[식 5][Equation 5]
또한, 재정의부(130)는 FS-ER 스킵핑(121)의 적용 가능한 반환 값 재정의를 위해, 각 프레임의 보상 값(reward value, R t )을 하기 식 6과 같이 프레임 스킵핑 계수에 대응하는 수의 프레임(4개의 프레임) 시리즈의 보상의 합에 의해 계산할 수 있다. 식 6은 각 프레임의 보상 값에 대한 방정식을 의미한다. 이는 심층 강화 학습 환경(deep reinforcement learning environment)이 일반적으로 보상으로 스킵된 프레임(skipped frame) 사이의 모든 보상(all rewards)의 합(sum)을 반환(returns)하기 때문이라 할 수 있다.In addition, the
[식 6][Equation 6]
[식 7][Equation 7]
재정의부(120)는 본원에서 제안하는 FS-ER 스킵핑(121)에 적용 가능한 반환 값으로서 FS-ER의 n-단계 반환(n-step return)을 상기 식 7을 만족하도록 재정의할 수 있다. 다시 말해, 재정의부(120)에 의해 재정의된 FS-ER의 n-단계 반환은 상기 식 7과 같이 표현될 수 있다. 즉, 식 7은 FS-ER의 n-단계 반환 값에 대한 방정식을 의미한다.The
FS-ER의 n-단계 반환(n-step return)은 미리 설정된 수의 프레임(일예로 4개의 프레임)에 대응하는 간격마다 하기 식 6에 의해 계산된 감쇄된(decayed) R t 를 합산하여 산출될 수 있다. 또한, FS-ER의 n-단계 반환은 n-단계 이후에 감쇄 값(decay value) 를 곱한 를 최대 Q 값(maximum Q value)으로 더하여 산출될 수 있다. 이에 따르면, FS-ER의 n-단계 반환(n-step return) 값은 상기 식 6 및 상기 식 7을 이용하여 계산될 수 있다.The n-step return of FS-ER is a decayed R t calculated by
본 장치(100)는 이러한 FS-ER 스킵핑(121)의 적용을 통해, 휴먼 데몬스트레이션 데이터(111')에 대하여 어떠한 데이터도 드롭핑(dropping)되는 것 없이(즉, 낭비되는것 없이, 삭제되는것 없이), 전체 60Hz 휴먼 데몬스트레이션 데이터를 완전히(thoroughly, 온전히) 이용(활용)할 수 있다. 본원은 FS-ER를 이용(채택)함으로써, 동일한 수의 에피소드(episodes)를 사용하는 종래의 프레임 스킵핑 방법에 비해, 샘플링된 훈련 데이터(sampled training data)의 더 높은 다양성(higher diversity)을 보장할 수 있다. 즉, 본 장치(100)는 FS-ER 스킵핑(121)의 적용을 통해, 휴먼 데몬스트레이션 데이터(111')가 적어도 일부 버려지는 것 없이, 휴먼 데몬스트레이션 데이터(111')를 전부 학습데이터로서 활용할 수 있어, 훈련 데이터의 다양성을 보장할 수 있다. 이러한 훈련 데이터의 다양성으로 인해 본 장치(100)는 훈련 효율성(training efficiency)을 증가시킬 수 있다.Through the application of the FS-ER skipping 121, the
데이터 처리부(120)에 의한 DFS-ER 스킵핑(DFS-ER 프레임 스킵핑, 122) 기술의 적용에 대한 구체적인 설명은 다음과 같다.A detailed description of the application of the DFS-ER skipping (DFS-ER frame skipping, 122) technique by the
DFS-ER은 온라인 프레임 스킵핑으로 휴먼 데몬스트레이션 데이터(111')의 액션 반복(action repetition)을 처리하기 위해, FS-ER에 동적 프레임 스킵핑을 추가한 것이다.DFS-ER is the addition of dynamic frame skipping to FS-ER in order to process action repetition of
데이터 처리부(120)는 휴먼 데몬스트레이션 데이터(111')의 각 프레임의 액션 지속 기간을 나타내는 액션 반복 값(action repetition value)을 고려하여 제2 유형의 프레임 스킵핑(DFS-ER, 122)을 적용해 데이터 처리를 수행할 수 있다. 여기서, 액션 반복 값은 두 개의 스킵 값(즉, fs 1 과 fs 2 )을 포함할 수 있다. The
이때, 데이터 처리부(120)는 DFS-ER 스킵핑(122)의 적용시, 휴먼 데몬스트레이션 데이터(111')에 대한 프레임 상태를 생성함에 있어서, 프레임 상태를 생성할 때 프레임마다의 스킵 값을 확인하고, 확인된 스킵 값을 고려하여 프레임 상태를 생성할 수 있다.At this time, when the DFS-ER skipping 122 is applied, the
이처럼 프레임마다 확인된 스킵 값을 고려한 프레임 상태의 생성을 통해, 본 장치(100)는 DFS-ER 스킵핑(122)의 적용시 동적으로 프레임 스킵핑을 적용할 수 있다. Through the generation of the frame state in consideration of the skip value checked for each frame as described above, the
즉, 데이터 처리부(120)에 의한 DFS-ER 스킵핑(122)의 적용시에는, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑이 이루어질 수 있는데, 이때, 동적으로 스킵핑되는 프레임 스킵핑 간격(즉, 동적 스킵핑시 프레임 스킵핑 간격)은 휴먼 데몬스트레이션 데이터(111')의 액션의 스킵 값(즉, 액션 반복 값과 관련된 스킵 값)에 의해 동적으로 설정될 수 있다. 달리 말해, 데이터 처리부(120)는 DFS-ER 스킵핑(121)의 적용시, 프레임 스킵핑의 간격을 휴먼 데몬스트레이션 데이터(111')의 각 프레임에 대한 액션 반복 값의 스킵 값(즉, fs 1 과 fs 2 )에 의해 동적으로 설정(정의)할 수 있다.That is, when the DFS-ER skipping 122 is applied by the
데이터 처리부(120)는 DFS-ER 스킵핑(122)의 적용을 위해, 액션 반복 값의 스킵 값에 의해 동적으로 설정되는 간격마다 프레임 스킵핑 계수에 대응하는 수의 프레임(일예로, 4개의 프레임)을 적층시킬 수 있다. In order to apply the DFS-ER skipping 122, the
다시 말해, 데이터 처리부(120)에 의한 DFS-ER 스킵핑(동적 프레임 스킵핑, 122) 동작은, 각 프레임의 현재 액션(current action)이 얼마나 오래 지속되는지에 따라 정의되는 휴먼 데몬스트레이션 데이터(111')의 각 프레임의 액션 반복 값(action repetition value)을 기반으로 작동(working, 동작)할 수 있다.In other words, the DFS-ER skipping (dynamic frame skipping, 122) operation by the
예를 들어, 현재 프레임(current frame)의 액션 반복 값(action repetition value)이 7 일 때, 해당 액션(action, 동작)은 이 프레임(현재 프레임) 이후에 7개의 프레임에 대해 계속(continue) 유지될 수 있다. 액션 반복 값(action repetition value)은 작은 스킵 값(small skip value)과 큰 스킵 값(big skip value) 각각에 대한 하이퍼 파라미터(hyper-parameters)인 fs 1 과 fs 2 라는 두 개의 스킵 값(two skip values)으로 추상화(abstracted)될 수 있다. 이러한 두 개의 스킵 값의 추상화에 대한 설명은 일예로 상술한 종래의 문헌 6을 참고하여 보다 쉽게 이해될 수 있으며, 본원에서 구체적인 설명은 생략하기로 한다. For example, when the action repetition value of the current frame is 7, the action is maintained for 7 frames after this frame (current frame). Can be. The action repetition value is fs 1 , which is the hyper-parameters for each of the small and big skip values. And fs 2 can be abstracted into two skip values. A description of the abstraction of these two skip values may be more easily understood with reference to the
이러한, 두 개의 스킵 값(two skip values)인 fs 1 과 fs 2 는 동적 프레임 스킵핑(dynamic frame skipping)을 프레임 적층(frame stacking), 보상(reward) 및 n-단계 반환(n-step return)에 적용(adapting, 적응, 조정)시키는 주요 역할(main role)을 수행할 수 있다.These, two skip values, fs 1 And fs 2 are the main roles (adapting, adapting, and adjusting) dynamic frame skipping to frame stacking, reward, and n-step return. role) can be performed.
만약, DFS-ER이 도 6의 (b)와 같이 고정된 스페이싱 간격(static spacing intervals)을 두고 프레임을 적층(stacks)한 경우, 휴먼 데몬스트레이션 데이터(111')의 프레임 사이의 스페이싱 간격(spacing intervals)은 액터 데이터(actor data)의 간격 단계(interval steps)와 다르므로, 동적 프레임 스킵핑(DFS-ER, 122) 이후에 액터 리플레이 버퍼(112)에 저장될 수 있다.If the DFS-ER stacks frames at fixed spacing intervals as shown in FIG. 6(b), spacing intervals between frames of
또한, 데이터 처리부(120)는 휴먼(human, 인간)과 액터(actor)의 행동(behaviors) 간 차이(difference)를 보정(calibrate)하기 위해, 휴먼 데몬스트레이션 데이터(111')의 현재 프레임(current frame)의 액션 반복 값(action repetition value)을 도 7에 도시된 알고리즘 1(Algorithm 1)에서와 같이 fs 2 의 조건(condition)인 fs 2 _condition 에 따라 fs 1 과 fs 2 로 분류(classify)할 수 있다. 알고리즘 1에 대한 설명은 후술하여 보다 구체적으로 설명하기로 한다. In addition, the
도 6의 (b)와 도 6의 (c) 간의 차이(difference)로 알 수 있는 바와 같이, 데이터 처리부(120)는, DFS-ER 스킵핑(122)의 적용을 위해, 일예로 4 개의 프레임을 적층(stacking)하여 복수의 프레임 상태(즉, S pre , S post 및 S n -step 각각)를 생성(구성)할 때, 프레임마다(every frame)의 스킵 값(skip value)을 확인(checks)할 수 있다.As can be seen from the difference between (b) of Figure 6 and (c) of Figure 6, the
예를 들어, DFS-ER 스킵핑(122)의 적용을 위한 S post 의 생성 과정에 대한 설명은 다음과 같다. 일예로, 선택된 프레임의 인덱스(index)를 t라고 가정하는 경우, 데이터 처리부(120)는 S post 를 생성하기 위해 프레임 x t 와 그 이전(previous)의 세개의 프레임(three frames)을 적층(stacking)시킬 수 있다. 이러한 4개의 프레임을 적층시키기 위해, 데이터 처리부(120)는 역으로(backwards, 거꾸로) 4개의 프레임 각각의 스킵 값(skip value)을 확인(check)할 수 있다. For example, a description of the process of generating S post for application of the DFS-ER skipping 122 is as follows. As an example, assuming that the index of the selected frame is t , the
도 6의 (c)를 참조하여 예를 들면, 데이터 처리부(120)는 의 스킵 값(skip values)을 확인할 수 있다. 만약, 의 스킵 값이 fs 1 이면, 이()는 S post 에 추가될 수 있다. 그렇지 않고, 만약 의 스킵 값이 fs 2 이면, 이()는 S post 에 추가될 수 없다. 그 이유는, y t 와 y t +1 사이의 차이(difference)(즉, fs 1 )가 의 스킵 값(즉, fs 2 )과 동일하지 않기 때문이라 할 수 있다. 이러한 과정은 S post 의 네 프레임(4개의 프레임, four frames)이 채워질 때까지 반복될 수 있다. Referring to Figure 6 (c), for example, the
달리 표현하여, 데이터 처리부(120)는 DFS-ER 스킵핑(122)의 적용을 위해, 의 스킵 값(skip values)을 확인할 수 있다. 만약, 의 스킵 값이 fs 1 이면, 데이터 처리부(120)는 가 S post 에 추가(반영)되도록 프레임 상태 S post 를 생성할 수 있다. 그렇지 않고, 만약 의 스킵 값이 fs 2 이면, 데이터 처리부(120)는 가 S post 에 추가(반영)되지 않도록 하여 프레임 상태 S post 를생성할 수 있다. 이러한 과정은 S post 의 네 프레임(4개의 프레임, four frames)이 채워질 때까지 반복될 수 있다. 즉, 데이터 처리부(120)는 이러한 과정을 S post 에 4개의 프레임이 포함될 때까지 반복 수행할 수 있다.In other words, the
한편, S pre 와 S n - step 를 생성하는 과정은 S post 를 생성하는 과정과 동일 내지 유사하게 이해될 수 있으며, 따라서 이하 구체적인 설명은 생략하기로 한다.On the other hand, pre S and S n - generating a step may be understood in the same or similar as the procedure for generating a post S, thus less detailed description will be omitted.
데이터 처리부(120)는 도 7에 도시된 알고리즘 1을 기반으로 DFS-ER 스킵핑(122)을 수행할 수 있다.The
도 7은 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100)에 의한 DFS-ER 스킵핑(122)의 동작에 대한 알고리즘을 나타낸 도면이다.7 is a diagram illustrating an algorithm for an operation of the DFS-ER skipping 122 by the
도 7을 참조하면, 알고리즘 1에서 입력(Inputs) 값으로는 다음과 같은 파라미터들이 주어질 수 있다. 즉, DFS-ER을 위한 알고리즘의 입력으로는, 휴먼 리플레이 버퍼(human replay buffer)인 M human , 액터 리플레이 버퍼(actor replay buffer)인 M actor , 사전 훈련 단계의 수(the number of pre-train step)인 k, 휴먼 리플레이 버퍼 크기(human replay buffer size)인 Size human , Size human 에 의해 정의된 사전 훈련의 시작 조건(the pre-train start condition)인 Start pretrain , fs 2 의 스킵 조건(skip condition)인 fs 2 _condition , 선택된 프레임x t 의 액션 반복 값(action repetition value)인 repeat t , x t 의 액션 인덱스(action index)인 a expert , 및 환경(environment)에서의 액션 수(예를 들어, ALE)인 action_dim가 고려될 수 있다.Referring to FIG. 7, the following parameters may be given as input values in
액터 데이터(112')의 보상(reward)과 같이 동적인 시간 간격(dynamic time interval)을 갖는 휴먼 데이터(human data, 111')에 대한 보상을 획득하기 위해, 본 장치(100)의 재정의부(130)는 휴먼 데몬스트레이션 데이터에서 보상(reward)의 방정식(equation)을 수정(modify)할 수 있다. 즉, 재정의부(130)는 액터 데이터(112')의 보상(reward)과 같이 동적인 시간 간격을 갖는 휴먼 데몬스트레이션 데이터(111')에 대한 보상을 획득하기 위해, 휴먼 데몬스트레이션 데이터(111')에서 보상의 방정식을 수정(modify)할 수 있다. In order to obtain a reward for
DQfD에서 DFDQN의 동적 프레임 스킵핑을 적용(adapt)하기 위해, 재정의부(130)는 n 단계 반환(n-step return)이 DFDQN에서 고려되지 않으므로, 동적 프레임 스킵핑(DSR-ER, 122)을 고려한 올바른(correct) n 단계 반환(n-step return)을 반영(reflect)하기 위해, DQfD의 n 단계 반환을 수정(modified)하여 재정의할 수 있다. 즉, 재정의부(130)는 DQfD의 n 단계 반환을 수정하여 DFS-ER의 n-단계 반환(n-단계 반환 값)을 후술하는 식 11을 만족하도록 재정의할 수 있다.In order to adapt the dynamic frame skipping of DFDQN in DQfD, the
도 7에서 알고리즘 1의 라인(line) 3과 라인 4에 나타난 바와 같이, 보상(reward)과 n 단계 반환(n-step return)에 대하여 동적 프레임 스킵핑 방식(DFS-ER 스킵핑, 122)을 적용하기 위해, 재정의부(130)는 보상(reward) R t (즉, 선택된 프레임 x t 의 보상인 R t )의 후보(candidates)를 획득하기 위해, fs 1 또는 fs 2 의 시리즈(series, 일련)의 부분적인 보상(partial rewards)을 합할 수 있다. 즉, fs 1 또는 fs 2 의 시리즈의 보상을 부분적으로 합할 수 있다.As shown in
또한, n 단계 반환(n-step return)의 재정의를 위해, 재정의부(130)는 R t 와 y를 모두 찾을 뿐만 아니라 이 두 변수(R t 와 y) 얻기 위해 액션의 값(value)을 스킵(skip, 생략)할 수 있다. 여기서, y는 프레임을 동적으로 스킵한 이후의 프레임의 인덱스를 의미할 수 있다.In addition, for redefinition of n-step return, the
휴먼 데몬스트레이션 데이터(111')에서 액션의 스킵 값(skip value)은 도 7에서 알고리즘 1의 라인 5에 의한 액션 값(action value)으로 정의될 수 있다. 만약, 액션 값이 action_dim(즉, repeat t 가 fs 2 _ condition 보다 작은 경우인 action_dim) 보다 작으면, 액션의 스킵 값(액션 반복 값과 관련된 스킵 값)은 fs 1 이고, 그렇지 않으면 fs 2 일 수 있다.In the
알고리즘 1에서 휴먼 리플레이 버퍼(human replay buffer)인 M human 는 하기 식 8을 만족할 수 있다. DFS-ER(122)의 적용시 고려되는 보상(reward) R t 는, 하기 식 9에 나타난 바와 같이(즉, 현재 프레임의 액션 값 a i 를 확인함으로써) R r1 및 R r2 중 어느 하나로 선택될 수 있다. 또한, 본 장치(100)는 DFS-ER(122)의 적용시, 하기 식10을 이용하여(즉, 현재 프레임 x t 의 스킵 값을 확인함으로써) 스킵된 프레임 인덱스(skipped frame index) y의 다음 동적 프레임(next dynamic frame)을 찾을 수 있다.In
[식 8][Equation 8]
[식 9][Equation 9]
[식 10][Equation 10]
본 장치(100)는 식 9의 R i 와 식 10의 y i 를 계산한 이후, 이를 이용하여 하기 식 11을 통해 DFS-ER의 n 단계 반환(n-step return) 값을 획득할 수 있다. The
즉, 재정의부(30)는 본원에서 제안하는 DFS-ER 스킵핑(122)에 적용 가능한 반환 값으로서 DFS-ER의 n-단계 반환(n-step return)을 하기 식 11을 만족하도록 재정의할 수 있다. 다시 말해, 재정의부(120)에 의해 재정의된 DFS-ER의 n-단계 반환은 하기 식 11과 같이 표현될 수 있다. 식 11은 DFS-ER의 n-단계 반환 값에 대한 방정식을 의미한다.That is, the
[식 11][Equation 11]
본 장치(100)는 식 11의 방정식에서 상기 식 4를 사용함으로써 보상(reward)을 감쇄(decay)시킬 수 있다.The
이러한 재정의부(130)는 FS-ER 스킵핑에 적용 가능한 손실 함수를 구하기 위한 반환 값(리턴 값)을 상기 식 7과 같이 재정의할 수 있으며, DFS-ER 스킵핑에 적용 가능한 손실 함수를 구하기 위한 반환 값(리턴 값)을 상기 식 11과 같이 재정의할 수 있다. 이러한 재정의부(130)에 의해 재정의된 반환 값을 기반으로 하여, 상기 식 1을 이용해 본 장치(100)에서 고려되는 온라인 프레임 스킵핑 기술의 적용시에 이용될 수 있는 손실 함수의 값(즉, 신경망의 업데이트시 이용되는 손실 값)이 산출될 수 있다.The
도 2의 (b)에 도시된 종래 FiGAR과 본원에서 제안하는 DFS-ER 스킵핑(122) 간에는 다음 두 가지의 차이점이 존재한다.There are two differences between the conventional FiGAR shown in FIG. 2B and the DFS-ER skipping 122 proposed by the present application.
첫번째 차이점은, FiGAR는 특정 범위(일정 범위, certain range)의 스킵 값을 갖는 반면, 본 제안 기술의 DFS-ER 스킵핑(122)은 두 가지의 프레임 스킵핑의 경우(case)(즉, 온라인 프레임 스킵핑인 FS-ER의 경우와 동적 온라인 프레임 스킵핑인 DFS-ER의 경우)를 갖는다는 점에서 차이가 있다.The first difference is that FiGAR has a skip value of a specific range (a certain range), whereas the DFS-ER skipping 122 of the present proposed technology is a case of two frame skipping (ie, online There is a difference in that it has frame skipping (FS-ER) and dynamic online frame skipping (DFS-ER).
두번째 차이점은, 본 제안 기술의 DFS-ER(122)은 yi 를 사용하는 대신, 을 감마(gamma, )의 지수(exponent)로 사용한다는 점에서 차이가 있다. 그 이유는 fs 1 스킵 값이 n 단계 Q 손실(n-step Q loss)로 에이전트(agent)를 훈련할 때 하나의 감쇄 단위(one decay unit)로 사용되기 때문이라 할 수 있다.The second difference is that the DFS-
이에 따르면, 본 장치(100)는 고품질(high quality)의 휴먼 데몬스트레이션 데이터가 대부분의 실제 사례(real-world cases)에 제한되는 문제를 해소할 수 있다. 즉, 종래 강화 학습은 보다 높은 정확도의 산출을 위해(효과적인 성능 향상을 위해) 일반적으로 고품질의 학습 데이터를 이용해 학습을 수행한다. 이로 인해, 고품질의 학습 데이터가 충분히 확보되기 어려운 상황에서는 강화 학습의 성능을 향상시키는 데에 한계가 있다.According to this, the
이와 같이 고품질의 학습 데이터의 활용(이용)이 어려운 상황에서 강화 학습의 성능을 높이기 위해서는 현존하는 데이터 중 가치있는 데이터(이는 양질의 데이터로서, 일예로 휴먼 데몬스트레이션 데이터를 의미할 수 있음)를 낭비없이 효과적으로 사용해야할 필요가 있다. 그러나, 종래에는 휴먼 데몬스트레이션 데이터와 액터 데이터가 모두 저장된 단일 리플레이 버퍼에 대하여 프레임 스킵핑이 이루어짐에 따라, 휴먼 데몬스트레이션 데이터가 버려지는 문제가 있었다. 즉, 이러한 종래기술에 의하면, 프레임 스킵핑의 적용에 의해 가치있는 데이터(휴먼 데몬스트레이션 데이터)가 버려짐에 따라, 신경망 학습시 활용(사용) 가능한 학습데이터의 양이 줄어들어(즉, 신경망 학습시 활용 가능한 휴먼 데몬스트레이션 데이터의 양이 충분치 않아) 신경망의 학습 성능이 떨어지는 문제가 있었다.In a situation where the use (use) of high-quality learning data is difficult, in order to increase the performance of reinforcement learning, valuable data (this is high-quality data, which can mean human demonstration data for example) is not wasted. It needs to be used effectively. However, conventionally, as frame skipping is performed on a single replay buffer in which both human demonstration data and actor data are stored, there is a problem in that human demonstration data is discarded. That is, according to this prior art, as valuable data (human demonstration data) is discarded by the application of frame skipping, the amount of learning data that can be utilized (used) when learning a neural network decreases (that is, There was a problem that the learning performance of the neural network was degraded because the amount of human demonstration data was insufficient.
이에 본원은 고품질의 학습 데이터가 충분히 확보되기 어려운 상황에서는 강화 학습의 성능을 효과적으로 향상시키기 위해(즉, 강화 학습의 가속화를 위해), 휴먼 데몬스트레이션 데이터가 버려지는 것 없이 전부 신경망 학습의 학습데이터로 활용될 수 있는 기술로서, 듀얼 리플레이 버퍼 기반의 온라인 프레임 스킵핑 기술에 대하여 제안한다.Therefore, in order to effectively improve the performance of reinforcement learning (that is, to accelerate reinforcement learning) in situations where it is difficult to secure enough high-quality learning data, we use all human demonstration data as training data for neural network learning without being discarded. As a possible technology, we propose a dual replay buffer-based online frame skipping technology.
즉, 본원은 휴먼 데몬스트레이션 데이터(111')의 샘플링을 위해, 듀얼 리플레이 버퍼 관리와 온라인 프레임 스킵핑(121, 122)을 사용하는 새로운 심층 강화 학습(deep reinforcement learning) 기술에 대하여 제안한다. That is, the present application proposes a new deep reinforcement learning technique using dual replay buffer management and online frame skipping 121 and 122 for sampling the
본원에서 제안하는 듀얼 리플레이 버퍼(121, 122) 관리 기술에 의하면, 리플레이 매니저(110)가 독립적인 샘플링 정책(independent sampling policies)을 사용하여 휴먼 리플레이 버퍼(human replay buffer)와 액터 리플레이 버퍼(actor replay buffer)를 개별적으로(separately, 별도로) 처리할 수 있다. According to the dual replay buffer (121, 122) management technology proposed by the present application, the
또한, 본 장치(100)는 종래의 프레임 스킵핑 기술로 인해 버려지던 양질의 휴먼 데몬스트레이션 데이터가 버려지는 것 없이 모두 활용될 수 있도록 하기 위해(즉 전체 휴먼 데몬스트레이션 데이터가 사용될 수 있도록 하기 위해,) FS-ER 스킵핑(121) 기술에 대하여 제안한다. 또한, 본 장치(100)는 휴먼 데몬스트레이션 데이터(111')의 액션 반복(action repeat)을 훈련하기 위해, 동적 온라인 스킵핑 기술인 DFS-ER 스킵핑(122) 기술에 대하여 제안한다. In addition, the
즉, 본 장치(100)는 고품질의 학습 데이터로 강화 학습을 수행할 수 없는 환경에서(즉, 고품질의 학습데이터를 충분히 확보할 수 없는 환경일지라도), 양질의 학습데이터인 휴먼 데몬스트레이션 데이터가 버려지는 것 없이 이를 강화 학습을 위한 학습 데이터로서 충분히 활용(낭비 없이 휴먼 데몬스트레이션 데이터 전체가 활용)되도록 하여 강화 학습의 성능(속도와 정확도)을 효과적으로 향상시킬 수 있다.That is, in an environment where reinforcement learning cannot be performed with high-quality learning data (that is, even in an environment where high-quality learning data cannot be sufficiently secured), the human demonstration data, which is high-quality learning data, is discarded. It is possible to effectively improve the performance (speed and accuracy) of reinforcement learning by making it fully utilized as learning data for reinforcement learning (all human demonstration data is utilized without waste).
다시 말해, 본 장치(100)는 고품질의 학습데이터로 강화 학습을 수행할 수 없는 환경에서도 휴먼 데몬스트레이션의 충분한 활용을 통해 높은 성능을 내는 강화 학습이 이루어지도록 제공할 수 있다.In other words, even in an environment where reinforcement learning cannot be performed with high-quality learning data, the
본원은 심층 강화 학습에 사용되는 데이터를 처리하는 기술에 대하여 제안한다. 본원은 종래의 프레임 스킵핑(frame skipping)으로 인해 버려지던 양질의 휴먼 데이터를 버려지는 데이터 없이 모두 활용함으로써, 심층 강화 학습의 결과 및 성능을 향상시킬 수 있다.This application proposes a technology for processing data used in deep reinforcement learning. The present application utilizes all high-quality human data discarded due to conventional frame skipping without discarding data, thereby improving the results and performance of deep reinforcement learning.
또한, 본원은 종래 기술들과는 달리, 휴먼 리플레이 버퍼와 액터 리플레이 버퍼를 별도로 구축함으로써, 휴먼 데이터에 한하여 온라인 프레임 스킵핑을 용이하게 적용할 수 있다. 또한, 본원은 프레임 스킵핑의 간격(intervals)을 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑 기술과 프레임 스킵핑의 간격(intervals)을 가변하여 스킵핑을 수행하는 DFS-ER 스킵핑 기술을 적용함으로써, 휴먼 데이터를 낭비되는 것 없이 모두 사용(활용)할 수 있다.In addition, unlike the prior art, in the present application, by separately constructing a human replay buffer and an actor replay buffer, online frame skipping can be easily applied only to human data. In addition, the present application is a FS-ER skipping technology that performs skipping by maintaining a constant frame skipping interval, and DFS-ER skipping that performs skipping by varying the frame skipping intervals. By applying the technology, all human data can be used (utilized) without wasting it.
또한, 본원에서는 FS-ER 스킵핑 기술과 DFS-ER 스킵핑 기술에 적용 가능한 손실(loss) 함수를 구하기 위한 신경망의 반환(return, 리턴) 값을 계산하는 방식을 재정의(redefinition)할 수 있다.In addition, in this application, a method of calculating the return (return) value of a neural network for obtaining a loss function applicable to the FS-ER skipping technology and the DFS-ER skipping technology may be redefined. .
도 8은 본원의 일 실시예에 따른 신경망의 심층 강화 학습 장치(1)의 개략적인 구성을 나타낸 블록도이다.8 is a block diagram showing a schematic configuration of an
도 8을 참조하면, 본원의 일 실시예에 따른 신경망의 심층 강화 학습 장치(1)는 데이터 처리 장치(100) 및 학습 제어부(200)를 포함할 수 있다. Referring to FIG. 8, the
여기서, 데이터 처리 장치(100)는 앞서 설명한 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100, 본 장치)를 의미할 수 있다. 따라서, 이하 생략된 내용이라 하더라도, 앞서 본 장치(100)에 대하여 설명된 내용은 도 8에 도시된 데이터 처리 장치(100)에 대한 설명에도 동일하게 적용될 수 있다.Here, the
데이터 처리 장치(100)는 대상 데이터에 대하여 심층 강화 학습을 위한 데이터 처리를 수행할 수 있다.The
데이터 처리 장치(100)는 대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장할 수 있다. 또한, 데이터 처리 장치(100)는 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행할 수 있다.The
여기서, 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함할 수 있다.Here, online frame skipping may include two types of frame skipping in consideration of whether or not the interval of frame skipping is variable.
온라인 프레임 스킵핑은 제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함할 수 있다. 또한, 온라인 프레임 스킵핑은 제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함할 수 있다.Online frame skipping is a first type of frame skipping, and may include FS-ER skipping in which skipping is performed by keeping the frame skipping interval constant without changing. In addition, online frame skipping is a second type of frame skipping, and may include DFS-ER skipping, which dynamically performs skipping by varying an interval of frame skipping.
또한, 데이터 처리 장치(100)는 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터 및 기 샘플링되어 액터 리플레이 버퍼에 저장된 액터 데이터를 입력으로 하는 신경망(50)의 업데이트시 이용되는 손실 값(손실 함수)을 계산하기 위해 요구되는 반환 값을 재정의할 수 있다.In addition, the
학습 제어부(200)는 데이터 처리 장치(100)의 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터 및 액터 데이터를 신경망(50)의 입력으로 하여 신경망(50)을 심층 강화 학습시킬 수 있다.The
이러한 본원의 일 실시예에 따른 신경망의 심층 강화 학습 장치(1)는 휴먼 데몬스트레이션 데이터를 전부 활용(사용)해 신경망(50)을 심층 강화 학습시킴으로써, 강화 학습의 성능(속도와 정확도)을 효과적으로 향상시킬 수 있다.The deep
이하에서는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 장치(100)의 성능을 평가(증명)하기 위한 본원의 일 실험예에 대하여 설명하기로 한다.Hereinafter, an experimental example of the present application for evaluating (proving) the performance of the
본원의 일 실험에서는, 본 장치(100)의 성능을 평가하기 위해(즉, 본 제안 기술의 성능을 평가하기 위해), 4개의 인기있는 아타리 게임(four popular Atari games)에 대한 경험적 실험(empirical experiments)을 수행하였다. 그 결과는 본 제안 기술인 듀얼 리플레이 메모리(dual replay memory)를 사용하는 두 가지의 온라인 프레임 스킵핑 기술이 기존의 베이스라인(existing baselines)보다 우위(outperforms)에 있음을 보여준다. In one experiment of the present application, in order to evaluate the performance of the device 100 (that is, to evaluate the performance of the proposed technology), empirical experiments on four popular Atari games. ) Was performed. The results show that the two online frame skipping techniques that use dual replay memory, which is the proposed technique, are outperforms the existing baselines.
특히, DFS-ER은 4 가지 실험 중 3 가지 실험에서 강화 학습 과정 중에 가장 빠른 점수 증가(score increment)를 보이는 것으로 나타났다. 또한, FS-ER은 희소한 보상(sparse reward)으로 인해 모델을 훈련시키기 어려운 다른 환경에서 최고의 성능을 보이는 것으로 나타났다.In particular, DFS-ER was shown to show the fastest score increment during the reinforcement learning process in 3 of the 4 experiments. In addition, FS-ER has been shown to perform best in other environments where it is difficult to train the model due to sparse rewards.
다시 말해, 본원의 일 실험에서는 상술한 문헌 3의 DQfD 모델과 4개의 아타리 그랜드 챌린지 데이터세트(Atari Grand Challenge Dataset)를 사용하여 경험적 실험(empirical experiments)을 수행하였다. 여기서, 4개의 Atari Grand Challenge Dataset은 일예로 문헌 8 [V. Kurin, S. Nowozin, K. Hofmann, L. Beyer, and B. Leibe, "The atari grand challenge dataset," CoRR, vol. abs/1705.10998, 2017. [Online]. Available: http://arxiv.org/abs/1705.10998]를 참고하여 이해될 수 있다.In other words, in one experiment of the present application, empirical experiments were performed using the DQfD model of
실험 결과에 따르면, 4 가지 평가 환경(evaluation environments) 중 하나인 몬테주마의 복수(Montezuma's Revenge)에서 FS-ER가 다른 종래의 방법보다 우수한 것으로 나타났다. 몬테주마의 복수(Montezuma's Revenge)는 희소한 보상(sparse reward) 때문에 강화 학습 모델을 훈련하기 어려운 환경이다. 또한, 본 제안 기술의 DFS-ER은 4가지 평가 환경 중 세 가지에서 다른 종래의 방법보다 성능이 우수한 것으로 나타났다. 특히, 사전 훈련 단계(pre-training stage)에서 DFS-ER은 평균 점수가 종래의 방법보다 향상된 것으로 나타났다. 또한, 강화 학습 단계(reinforcement learning stage)에서는 평균 점수(averaged score)가 빠르게 증가하는 것으로 나타났다.According to the experimental results, the FS-ER was found to be superior to other conventional methods in Montezuma's Revenge, one of the four evaluation environments. Montezuma's Revenge is a difficult environment to train reinforcement learning models due to sparse rewards. In addition, the DFS-ER of the proposed technology was found to be superior to other conventional methods in three of the four evaluation environments. In particular, in the pre-training stage, the average score of DFS-ER was improved compared to the conventional method. In addition, the averaged score increased rapidly in the reinforcement learning stage.
본원의 일 실험(이하 설명의 편의상 본 실험이라 함)에 대한 보다 구체적인 설명은 다음과 같다. A more detailed description of one experiment of the present application (hereinafter referred to as this experiment for convenience of description) is as follows.
먼저, 본 실험에서의 평가 설정(Evaluation Settings)에 대한 설명은 다음과 같다.First, the description of the evaluation settings in this experiment is as follows.
본 실험에서는 본 제안 기술의 효과 평가를 위해, 아타리 학습 환경(Arcade Learning Environment(ALE))에 대한 경험적 실험을 수행하였다. 본 실험에서는, 텐서 플로우(Tensorflow) 1.8을 사용하여 테스트 프로그램을 구현하고 휴먼 데몬스트레이션 데이터를 위해 Atari Grand Challenge v1 데이터세트를 사용하였다. 본 실험에서 고려된 리플레이 버퍼 클래스(class)는 리플레이 버퍼의 확장된 버전(extended version)일 수 있다. In this experiment, an empirical experiment was conducted on the Arcade Learning Environment (ALE) to evaluate the effectiveness of the proposed technology. In this experiment, a test program was implemented using Tensorflow 1.8 and the Atari Grand Challenge v1 dataset was used for human demonstration data. The replay buffer class considered in this experiment may be an extended version of the replay buffer.
또한, 본 실험에서는 상술한 문헌 3에 도시된 DQfD 모델이 테스트 신경망 모델(test neural network model)과 성능 비교를 위한 베이스 라인 모델(baseline model)로 사용되었다. 또한, 오픈AI 베이스라인(OpenAI baseline)의 리플레이 버퍼를 가진 DQfD 모델을 사용하기 위해, DFSER와 FS-ER의 방법을 추가하여 리플레이 버퍼 클래스를 확장하였다.In addition, in this experiment, the DQfD model shown in
또한, 아타리 그랜드 챌린지 데이터세트(Atari Grand Challenge dataset)의 사용과 관련하여, 총 5 개의 게임 중 4 개만 사용하였다. 그 이유는 5개의 게임 중 비디오 핀볼(도 3의 (b))은 본 실험에서 임의의 단일 정책(random uniform policy)에 의해 액션을 하더라도 매우 쉽게 높은 점수를 얻을 수 있기 때문이라 할 수 있다. 따라서, 본 실험에서는 비디오 핀볼을 평가 환경(evaluation environments)에서 제외시켰다.In addition, with regard to the use of the Atari Grand Challenge dataset, only 4 out of 5 games were used. The reason for this is that the video pinball (Fig. 3(b)) of the five games can be said to be very easy to obtain a high score even if the action is performed according to a random uniform policy in this experiment. Therefore, in this experiment, video pinball was excluded from evaluation environments.
또한, 본 실험에서 휴먼 리플레이 버퍼(111)의 크기는 휴먼 데몬스트레이션 데이터에 대해 프레임 스킵핑을 수행하지 않았을 때 50,000일 수 있다. 하지만, 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하기 전에 프레임을 이미 스킵핑하는 종래의 방법(conventional method)을 평가하기 위해, 본 실험에서 고려되는 휴먼 리플레이 버퍼(111)의 크기는 12,500(즉, 5만분의 1)로 설정될 수 있다.In addition, in this experiment, the size of the
또한 본 실험에서는 각 게임의 에피소드 점수를 내림차순으로 정렬한 다음 높은 점수(high-scored, 고득점)를 받은 휴먼 데몬스트레이션 데이터만 사용할 수 있도록 휴먼 데몬스트레이션 데이터를 저장할 수 있다. 또한, 액터 리플레이 버퍼(112)의 크기는 휴먼 리플레이 버퍼(111)의 크기와 같게 설정될 수 있다.Also, in this experiment, human demonstration data can be stored so that only the human demonstration data that received high-scored (high-scored) after sorting the episode scores of each game in descending order can be used. In addition, the size of the
또한, 본 실험에서 사용된 파라미터(매개변수)는 다음과 같이 설정될 수 있다.In addition, the parameters (parameters) used in this experiment may be set as follows.
미니배치의 크기는 32로 설정될 수 있다. 전체 사전 훈련 단계(total pre-training steps)는 500,000 단계, 전체 강화 학습 단계(total reinforcement learning steps)는 1,000,000 단계로 설정될 수 있다. 학습률(learning rate)은 0.0001로 설정될 수 있다. 또한, fs 1 스킵 값은 4, fs 2 의 스킵 값은 12, fs 2 의 조건 값은 70으로 설정될 수 있다. 또한, 환경의 최대 에피소드 길이(maximum episode length)는 50,000 단계로 설정될 수 있다. DQfD의 λ1, λ2, λ3 및 λ4 의 값은 각각 1.0, 1.0, 1.0 및 0.0001로 설정될 수 있다.The size of the mini-batch can be set to 32. The total pre-training steps may be set to 500,000 steps, and the total reinforcement learning steps may be set to 1,000,000 steps. The learning rate may be set to 0.0001. Also, fs 1 Skip value is 4, fs 2 The skip value of is 12, fs 2 The condition value of may be set to 70. In addition, the maximum episode length of the environment may be set to 50,000 steps. Values of λ 1 , λ 2 , λ 3 and λ 4 of DQfD may be set to 1.0, 1.0, 1.0, and 0.0001, respectively.
본 제안 기술의 평가를 위한 본 실험은, 종래 기술인 단일 리플레이 버퍼 관리를 통한 프레임 스킵핑 기술과 본 제안 기술인 듀얼 리플레이 버퍼 관리를 통한 온라인 프레임 스킵핑 기술을 비교하는 데에 초점을 두고 이루어질 수 있다.This experiment for evaluating the proposed technology may focus on comparing a conventional frame skipping technology through single replay buffer management and an online frame skipping technology through dual replay buffer management, which is the present technology.
본 실험에서는 3가지의 접근법에 대하여 평가하였으며, 각각 4번의 실험에서 랜덤 시드(random seeds)를 사용해 평균을 하였다.In this experiment, three approaches were evaluated, and each of the four experiments was averaged using random seeds.
즉, 3가지의 접근법은 싱글(SINGLE), FS-ER 및 DFS-ER를 의미한다. 싱글(SINGLE)은 종래의 단일 리플레이 버퍼 관리를 기반으로 하는 프레임 스킵핑 기술을 의미한다. FS-ER는 본원에서 제안한 제1 유형의 프레임 스킵핑 기술로서, 듀얼 리플레이 버퍼 관리를 기반으로 하는 FS-ER 스킵핑 기술을 의미한다. DFS-ER는 본원에서 제안한 제2 유형의 프레임 스킵핑 기술로서, 듀얼 리플레이 버퍼 관리를 기반으로 하는 DFS-ER 스킵핑 기술을 의미한다.In other words, the three approaches mean single, FS-ER and DFS-ER. Single (SINGLE) refers to a frame skipping technology based on the conventional single replay buffer management. FS-ER is the first type of frame skipping technology proposed in the present application, and refers to an FS-ER skipping technology based on dual replay buffer management. DFS-ER is the second type of frame skipping technology proposed in the present application, and refers to a DFS-ER skipping technology based on dual replay buffer management.
각 강화 학습 단계의 휴먼 샘플링 비율을 동일하게 유지하기 위해, 본 실험에서는 듀얼 리플레이 버퍼 관리에서 단일 리플레이 버퍼 관리를 모방(mimics)한 샘플링 비율 정책(sampling ratio policy)을 설정하였다.In order to keep the human sampling rate of each reinforcement learning step the same, in this experiment, a sampling ratio policy was set in which the dual replay buffer management mimics the single replay buffer management.
도 9는 본원의 일 실험 결과로서 미니배치의 휴먼 데이터의 수를 나타낸다. 즉, 도 9는 듀얼 리플레이 버퍼 관리와 싱글(단일) 리플레이 버퍼 관리 기술에 대한 휴먼 데몬스트레이션 데이터의 샘플링 예를 나타낸다.9 shows the number of human data in a mini-batch as an experiment result of the present application. That is, FIG. 9 shows an example of sampling human demonstration data for dual replay buffer management and single (single) replay buffer management techniques.
도 9를 참조하면, 듀얼 리플레이 버퍼 관리와 싱글(단일) 리플레이 버퍼 관리 기술 간의 차이가 작은 이유는 휴먼 리플레이 버퍼에서 샘플링되는 휴먼 데몬스트레이션 데이터의 수를 정수로 변환하였기 때문이라 할 수 있다.Referring to FIG. 9, the reason that the difference between the dual replay buffer management and the single (single) replay buffer management technology is small is that the number of human demonstration data sampled from the human replay buffer is converted into an integer.
이하에서는 본 실험에 의한 평가 결과에 대하여 기술한다.Hereinafter, the evaluation result by this experiment will be described.
도 10은 본원의 일 실험결과로서, 3가지 게임의 평균 에피소드 점수를 나타낸 도면이다. 특히, 도 10은 Q*bert (a), Ms. Pacman (b) 및 Montezuma's Revenge (c)를 포함하는 3가지의 게임 각각에 대하여, 상술한 3가지의 접근법인 싱글(SINGLE), FS-ER 및 DFS-ER를 적용하였을 때의 평균 에피소드 점수를 나타낸 도면이다.10 is a diagram showing an average episode score of three games as an experiment result of the present application. In particular, FIG. 10 shows Q*bert (a), Ms. For each of the three games including Pacman (b) and Montezuma's Revenge (c), showing the average episode score when applying the three approaches described above, SINGLE, FS-ER and DFS-ER It is a drawing.
도 10의 (a)는 Q*bert 게임의 평가 결과의 비교를 보여준다. Figure 10 (a) shows a comparison of the evaluation results of the Q * bert game.
도 10의 (a)를 참조하면, FS-ER은 사전 훈련(pre-training) 단계에서 다른 방법들 우수한 성능을 보임을 확인할 수 있다. 이는 높은 점수를 갖는 휴먼 데몬스트레이션 데이터를 사용하는 종래 DQfD를 개시하는 상술한 문헌 7에서 보고된 결과보다 본원에서 제안하는 FS-ER 기술이 더 높은 점수를 획득하였기 때문에, 의미있는 결과라 할 수 있다.Referring to (a) of FIG. 10, it can be seen that the FS-ER shows excellent performance of other methods in a pre-training step. This can be said to be a meaningful result because the FS-ER technology proposed in the present application obtained a higher score than the result reported in the above-described
또한, 본 제안 기술인 DFS-ER는 신경망의 출력 차원(output dimension)을 두배로 늘렸음에도 불구하고, 종래의 방법보다 더 좋은 점수를 나타냄을 확인할 수 있다. 이는 본 제안 기술인 DFS-ER이 사전 훈련 단계에서 긍정적인 효과가 있음을 의미한다.In addition, it can be seen that the proposed technology, DFS-ER, shows a better score than the conventional method, even though the output dimension of the neural network is doubled. This means that the proposed technique, DFS-ER, has a positive effect in the pre-training stage.
또한, Q*bert 결과에서, FS-ER과 싱글(SINGLE)은 훈련하면서 점점 가까워지는 것으로 나타났다. 또한, DFS-ER의 점수는 동적 프레임 스킵핑의 신속한 에피소드 탐사를 통해, 그래프의 끝 부분(도면 상에서 그래프의 우측 부분)에서 다른 방법들보다 더 우수하게 나타남을 확인할 수 있다.In addition, in the Q*bert results, FS-ER and single (SINGLE) were shown to get closer as they train. In addition, it can be seen that the score of DFS-ER is better than other methods at the end of the graph (the right part of the graph on the drawing) through rapid episode detection of dynamic frame skipping.
도 10의 (b)는 팩맨(Ms. Pacman) 게임의 평가 결과의 비교를 보여준다. Figure 10 (b) shows a comparison of the evaluation results of the Pacman (Ms. Pacman) game.
도 10의 (b)를 참조하면, 팩맨 게임에 대한 평가 결과의 패턴은 도 10의 (a)에 도시된 Q*bert 게임의 패턴과는 다르게 나타났다. DFS-ER은 팩맨 게임의 사전 훈련 단계에서 다른 방법들보다 약간 높은 점수를 보이는 것으로 나타나고, 강화 학습 단계에서 우수한 성과를 보이는 것으로 나타났다. 이는 DFS-ER를 사용한 휴먼 데몬스트레이션 데이터의 액션 반복(action repetition)의 학습이 효과적임을 보여준다.Referring to FIG. 10B, the pattern of the evaluation result for the Pac-Man game was different from the pattern of the Q*bert game shown in FIG. 10A. DFS-ER was found to have a slightly higher score than other methods in the pre-training stage of the Pac-Man game, and showed excellent performance in the reinforcement learning stage. This shows that learning of action repetition of human demonstration data using DFS-ER is effective.
한편, 스페이스 인베이더(Space Invaders) 게임의 평가 결과는 도 10의 (b)에 도시된 팩맨의 평가 결과의 패턴과 거의 동일하게 나타났다.On the other hand, the evaluation result of the Space Invaders game appeared almost the same as the pattern of the evaluation result of Pac-Man shown in FIG. 10B.
도 10의 (c)는 몬테주마의 복수(Montezuma 's Revenge) 게임의 평가 결과의 비교를 보여준다. FIG. 10C shows a comparison of evaluation results of Montezuma's Revenge game.
도 10의 (c)를 참조하면, 도 10의 (a)와 (b)와는 달리 몬테주마의 복수 게임의 경우, 에피소드의 길이가 다른 것보다 길기 때문에 에포크(epoch, 신경망 학습의 한 번의 수행 주기)의 길이(즉, 평균 점수의 간격)가 100,000으로 증가되었다.Referring to Figure 10 (c), unlike Figures 10 (a) and (b), in the case of a multiple game of Montezuma, since the length of the episode is longer than that of the others, an epoch (one execution cycle of neural network learning) ) The length (i.e., the average score interval) was increased to 100,000.
몬테주마의 복수 게임의 경우, FS-ER가 그래프의 끝 부분(도면 상에서 그래프의 우측 부분)에서 다른 방법보다 성능이 뛰어난 것으로 나타났다. 이러한 결과는 FS-ER이 전체 휴먼 데몬스트레이션 데이터에 대해 어떠한 프레임에서도 드롭되지 않도록 관찰함으로써, 기존 방법보다 휴먼 데몬스트레이션 데이터를 더 효율적으로 사용하고 있음을 의미한다.In the case of Montezuma's revenge game, FS-ER was found to outperform other methods at the end of the graph (right side of the graph on the drawing). This result means that FS-ER is using human demonstration data more efficiently than the existing method by observing that the entire human demonstration data does not drop in any frame.
도 11은 본원의 일 실험결과로서, 4 가지의 게임에서 달성된 평균 점수를 요약하여 나타낸 도면이다. 구체적으로, 도 11은 4가지의 게임에 대하여 상술한 3가지의 접근법인 싱글(SINGLE), FS-ER 및 DFS-ER를 적용하였을 때 나타난 평균 점수를 나타낸 도면이다. 즉, 도 11은 본 실험에서 고려된 모든 환경(environments)의 평균 점수(average score)를 요약하여 나타낸 도면이다.11 is a view showing a summary of the average score achieved in four games, as an experiment result of the present application. Specifically, FIG. 11 is a diagram showing the average score shown when applying the above-described three approaches, SINGLE, FS-ER, and DFS-ER for four games. That is, FIG. 11 is a view summarizing the average score of all environments considered in this experiment.
도 11에서, Pretrain 열은 사전 훈련(pre-training) 단계의 끝 부분에서, 서로 다른 랜덤 시드를 가진 4가지 실험의 평균 점수를 의미한다. 또한, RL 열은 강화 학습(reinforcement learning) 단계의 끝 부분에서의 평균 점수를 의미한다. 또한, 도 11에는 각 게임에서의 3가지의 접근법(싱글, FS-ER, DFS-ER)에 대한 평가에서, 전체 훈련 에포크(즉, 사전 훈련 단계와 강화 학습 단계를 포함하는 전체 훈련 과정)의 최대 평균 점수(Maximum Average Score)에 대한 열(column)이 도시되어 있다.In FIG. 11, the Pretrain column denotes the average score of four experiments with different random seeds at the end of a pre-training step. In addition, the RL column means the average score at the end of the reinforcement learning step. In addition, Figure 11 shows, in the evaluation of the three approaches (single, FS-ER, DFS-ER) in each game, the entire training epoch (i.e., the entire training process including the pre-training step and the reinforcement learning step). A column for the maximum average score is shown.
도 11을 참조하면, 모든 경우(즉, Pretrain 열, RL 열 및 최대 평균 점수 열 각각의 경우)에 대하여, 본원에서 제안하는 FS-ER 스킵핑 기술 또는 DFS-ER 스킵핑 기술이 종래의 싱글(SINGLE) 기술(즉, 단일 리플레이 버퍼를 기반으로 한 스킵핑 기술)보다 더 높은 성능을 보이는 것으로 나타났다.Referring to FIG. 11, for all cases (i.e., for each of the Pretrain column, RL column, and maximum average score column), the FS-ER skipping technology or the DFS-ER skipping technology proposed herein is a conventional single ( SINGLE) technology (ie, skipping technology based on a single replay buffer) showed higher performance.
즉, 본 실험 결과에 따르면, 앞서 설명된 4 개의 아타리(Atari) 게임의 경험적 실험 결과(Empirical experimental results), 온라인 스킵핑 기술(FS-ER, DFS-ER)을 가진 듀얼 리플레이 버퍼(메모리) 아키텍처를 제공하는 본 제안 기술은 기존의 베이스라인(existing baselines, 종래 기술)보다 성능이 더 우수하게 나타나는 것으로 확인되었다. That is, according to the results of this experiment, the dual replay buffer (memory) architecture with the experimental results of the four Atari games described above and the online skipping technology (FS-ER, DFS-ER) It has been confirmed that the proposed technology providing a better performance than existing baselines (existing baselines).
DFS-ER은 4 가지 환경(environments) 중 3 가지 환경에서, 사전 훈련(pre-training) 중 가장 빠른 점수 증가율(score increment)을 보여 다른 종래 방법보다 우수한 성능을 보이는 것으로 나타났다. 또한, FS-ER은 희소한 보상(sparse reward)으로 인해 모델을 훈련하기 어려운 다른 환경(예를 들어, 몬테주마의 복수, Montezuma's Revenge)에서 최고의 성능을 보이는 것으로 나타났다. DFS-ER showed the fastest score increment during pre-training in 3 out of 4 environments, showing superior performance than other conventional methods. In addition, FS-ER has been shown to perform best in other environments where it is difficult to train the model due to sparse rewards (eg, Montezuma's Revenge).
이러한 본원의 일 실험에 따른 실험 결과는 훈련 문제를 강화시키기 위해 제한된 휴먼 데몬스트레이션 데이터의 활용에 대한 본 제안 기술의 효과를 입증(demonstrate, 증명)하고 있음을 보여준다.The experimental results according to the experiment of the present application show that the effect of the proposed technology on the use of limited human demonstration data to reinforce the training problem is demonstrated.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.Hereinafter, based on the details described above, the operation flow of the present application will be briefly described.
도 12는 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 방법에 대한 동작 흐름도이다.12 is a flowchart of a data processing method for deep reinforcement learning according to an embodiment of the present application.
도 12에 도시된 심층 강화 학습을 위한 데이터 처리 방법은 앞서 설명된 본 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 본 장치(100)에 대하여 설명된 내용은 심층 강화 학습을 위한 데이터 처리 방법에 대한 설명에도 동일하게 적용될 수 있다.The data processing method for deep reinforcement learning shown in FIG. 12 may be performed by the
도 12를 참조하면, 단계S110에서는 대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장할 수 있다.Referring to FIG. 12, in step S110, human demonstration data among target data may be stored in a human replay buffer, and actor data among target data may be stored in an actor replay buffer.
다음으로, 단계S120에서는 단계S110에서 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행할 수 있다.Next, in step S120, in order to sample the human demonstration data stored in the human replay buffer in step S110, online frame skipping may be applied to the human replay buffer to perform data processing.
여기서, 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함할 수 있다.Here, online frame skipping may include two types of frame skipping in consideration of whether or not the interval of frame skipping is variable.
또한, 상기 온라인 프레임 스킵핑은, 제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함할 수 있다. 또한, 온라인 프레임 스킵핑은, 제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함할 수 있다.In addition, the online frame skipping, as the first type of frame skipping, may include FS-ER skipping in which skipping is performed by maintaining a constant frame skipping interval without varying. In addition, online frame skipping, as a second type of frame skipping, may include DFS-ER skipping, which dynamically performs skipping by varying an interval of frame skipping.
또한, 단계S120에서는 온라인 프레임 스킵핑의 적용 이전에, 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터에 대한 프레임 상태를 생성할 수 있다. 이때, 프레임 상태는 각각 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층하여 생성될 수 있다.In addition, in step S120, a frame state for the human demonstration data stored in the human replay buffer may be generated prior to the application of the online frame skipping. In this case, the frame state may be generated by stacking a number of frames corresponding to each frame skipping coefficient.
또한, 단계S120에서는 제1 유형의 프레임 스킵핑의 적용시, 미리 설정된 수의 프레임에 대응하는 간격마다 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층시킬 수 있다.Further, in step S120, when the first type of frame skipping is applied, a number of frames corresponding to the frame skipping coefficient may be stacked at intervals corresponding to a preset number of frames.
또한, 단계S120에서는 휴먼 데몬스트레이션 데이터의 각 프레임의 액션 지속 기간을 나타내는 액션 반복 값을 고려하여 제2 유형의 프레임 스킵핑을 적용할 수 있다. 여기서, 액션 반복 값은 두 개의 스킵 값을 포함할 수 있다.Also, in step S120, the second type of frame skipping may be applied in consideration of an action repetition value indicating an action duration of each frame of the human demonstration data. Here, the action repetition value may include two skip values.
또한, 단계S120에서는 제2 유형의 프레임 스킵핑의 적용시, 프레임 상태를 생성할 때 프레임마다의 스킵 값을 확인하고, 확인된 스킵 값을 고려하여 프레임 상태를 생성할 수 있다.In addition, in step S120, when the second type of frame skipping is applied, when generating a frame state, a skip value for each frame may be checked, and a frame state may be generated in consideration of the checked skip value.
또한, 도면에 도시하지는 않았으나, 본원의 일 실시예에 따른 심층 강화 학습을 위한 데이터 처리 방법은, 단계S120에서의 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터 및 액터 데이터를 입력으로 하는 신경망의 업데이트시 이용되는 손실 값을 계산하기 위해 요구되는 반환 값을 재정의하는 단계를 포함할 수 있다. In addition, although not shown in the drawing, the data processing method for deep reinforcement learning according to an embodiment of the present application is used when updating a neural network that inputs human demonstration data and actor data sampled by the data processing in step S120. It may include redefining the required return value to calculate the lost value.
여기서, 재정의하는 단계에서는 두가지 유형의 프레임 스킵핑 적용 각각에 대하여 반환 값을 재정의할 수 있다.Here, in the redefining step, the return value may be redefined for each of the two types of frame skipping applications.
상술한 설명에서, 단계 S110 및 S120은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S110 and S120 may be further divided into additional steps or may be combined into fewer steps, depending on the embodiment of the present application. In addition, some steps may be omitted as necessary, and the order between steps may be changed.
본원의 일 실시 예에 따른 심층 강화 학습을 위한 데이터 처리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The data processing method for deep reinforcement learning according to an exemplary embodiment of the present disclosure may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
또한, 전술한 심층 강화 학습을 위한 데이터 처리 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.Further, the above-described data processing method for deep reinforcement learning may be implemented in the form of a computer program or application executed by a computer stored in a recording medium.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present application is for illustrative purposes only, and those of ordinary skill in the art to which the present application pertains will be able to understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present application.
100: 심층 강화 학습을 위한 데이터 처리 장치
110: 리플레이 매니저
111: 휴먼 리플레이 버퍼
112: 액터 리플레이 버퍼
120: 데이터 처리부
130: 재정의부100: Data processing unit for deep reinforcement learning
110: Replay Manager
111: human replay buffer
112: Actor replay buffer
120: data processing unit
130: Ministry of Finance
Claims (12)
(a) 대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 상기 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장하는 단계; 및
(b) 상기 휴먼 리플레이 버퍼에 저장된 상기 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 상기 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행하는 단계를 포함하고,
상기 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함하는 것인, 심층 강화 학습을 위한 데이터 처리 방법.In the data processing method for deep reinforcement learning in which each step is performed by a data processing device implemented as a computer,
(a) storing human demonstration data among target data in a human replay buffer, and storing actor data among the target data in an actor replay buffer; And
(b) for sampling the human demonstration data stored in the human replay buffer, performing data processing by applying online frame skipping to the human replay buffer,
The online frame skipping includes two types of frame skipping in consideration of whether or not an interval of frame skipping is variable.
상기 온라인 프레임 스킵핑은,
제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함하고,
제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함하는 것인, 심층 강화 학습을 위한 데이터 처리 방법.The method of claim 1,
The online frame skipping,
As a first type of frame skipping, it includes FS-ER skipping, which performs skipping by maintaining a constant frame skipping interval without changing,
The second type of frame skipping, which includes DFS-ER skipping, which dynamically performs skipping by varying an interval of frame skipping.
상기 (b) 단계는,
상기 온라인 프레임 스킵핑의 적용 이전에, 상기 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터에 대한 프레임 상태를 생성하고,
상기 프레임 상태는 각각 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층하여 생성되는 것인, 심층 강화 학습을 위한 데이터 처리 방법.The method of claim 2,
The step (b),
Before the application of the online frame skipping, a frame state for human demonstration data stored in the human replay buffer is generated,
The frame state is generated by stacking a number of frames corresponding to each frame skipping coefficient.
상기 (b) 단계는,
상기 제1 유형의 프레임 스킵핑의 적용시, 미리 설정된 수의 프레임에 대응하는 간격마다 상기 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층시키는 것인, 심층 강화 학습을 위한 데이터 처리 방법.The method of claim 3,
The step (b),
When the first type of frame skipping is applied, a number of frames corresponding to the frame skipping coefficients are stacked at intervals corresponding to a preset number of frames.
상기 (b) 단계는,
상기 휴먼 데몬스트레이션 데이터의 각 프레임의 액션 지속 기간을 나타내는 액션 반복 값을 고려하여 상기 제2 유형의 프레임 스킵핑을 적용하고,
상기 액션 반복 값은 두 개의 스킵 값을 포함하는 것인, 심층 강화 학습을 위한 데이터 처리 방법.The method of claim 3,
The step (b),
Applying the second type of frame skipping in consideration of an action repetition value indicating an action duration of each frame of the human demonstration data,
The action repetition value includes two skip values. A data processing method for deep reinforcement learning.
상기 (b) 단계는,
상기 제2 유형의 프레임 스킵핑의 적용시, 상기 프레임 상태를 생성할 때 프레임마다의 스킵 값을 확인하고, 상기 확인된 스킵 값을 고려하여 상기 프레임 상태를 생성하는 것인, 심층 강화 학습을 위한 데이터 처리 방법.The method of claim 5,
The step (b),
When the second type of frame skipping is applied, a skip value for each frame is checked when generating the frame state, and the frame state is generated in consideration of the checked skip value, for deep reinforcement learning Data processing method.
(c) 상기 (b) 단계에서의 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터 및 상기 액터 데이터를 입력으로 하는 신경망의 업데이트시 이용되는 손실 값을 계산하기 위해 요구되는 반환 값을 재정의하는 단계,
를 더 포함하고,
상기 (c) 단계는, 상기 두가지 유형의 프레임 스킵핑 적용 각각에 대하여 반환 값을 재정의하는 것인, 심층 강화 학습을 위한 데이터 처리 방법.The method of claim 1,
(c) redefining a return value required to calculate a loss value used when updating a neural network using the human demonstration data sampled by the data processing in step (b) and the actor data as inputs,
Including more,
The step (c) is to redefine a return value for each of the two types of frame skipping application, the data processing method for deep reinforcement learning.
대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 상기 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장하는 리플레이 매니저; 및
상기 휴먼 리플레이 버퍼에 저장된 상기 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 상기 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행하는 데이터 처리부를 포함하고,
상기 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함하는 것인, 심층 강화 학습을 위한 데이터 처리 장치.In the data processing device for deep reinforcement learning,
A replay manager that stores human demonstration data among target data in a human replay buffer, and stores actor data among the target data in an actor replay buffer; And
A data processing unit that performs data processing by applying online frame skipping to the human replay buffer for sampling the human demonstration data stored in the human replay buffer,
The online frame skipping includes two types of frame skipping in consideration of whether or not an interval of frame skipping is variable.
상기 온라인 프레임 스킵핑은,
제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함하고,
제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함하는 것인, 심층 강화 학습을 위한 데이터 처리 장치.The method of claim 8,
The online frame skipping,
As a first type of frame skipping, it includes FS-ER skipping, which performs skipping by maintaining a constant frame skipping interval without changing,
As the second type of frame skipping, the data processing apparatus for deep reinforcement learning includes DFS-ER skipping, which dynamically performs skipping by varying an interval of frame skipping.
상기 데이터 처리부는,
상기 온라인 프레임 스킵핑의 적용 이전에, 상기 휴먼 리플레이 버퍼에 저장된 휴먼 데몬스트레이션 데이터에 대한 프레임 상태를 생성하고,
상기 프레임 상태는 각각 프레임 스킵핑 계수에 대응하는 수의 프레임을 적층하여 생성되는 것인, 심층 강화 학습을 위한 데이터 처리 장치.The method of claim 9,
The data processing unit,
Before the application of the online frame skipping, a frame state for human demonstration data stored in the human replay buffer is generated,
The frame state is generated by stacking a number of frames corresponding to each frame skipping coefficient.
대상 데이터에 대하여 심층 강화 학습을 위한 데이터 처리를 수행하는 데이터 처리 장치; 및
상기 데이터 처리 장치의 데이터 처리에 의해 샘플링된 휴먼 데몬스트레이션 데이터 및 액터 데이터를 상기 신경망의 입력으로 하여 상기 신경망을 심층 강화 학습시키는 학습 제어부를 포함하고,
상기 데이터 처리 장치는,
대상 데이터 중 휴먼 데몬스트레이션 데이터를 휴먼 리플레이 버퍼에 저장하고, 상기 대상 데이터 중 액터 데이터를 액터 리플레이 버퍼에 저장하는 리플레이 매니저; 및
상기 휴먼 리플레이 버퍼에 저장된 상기 휴먼 데몬스트레이션 데이터의 샘플링을 위해, 상기 휴먼 리플레이 버퍼에 대하여 온라인 프레임 스킵핑을 적용하여 데이터 처리를 수행하는 데이터 처리부를 포함하고,
상기 온라인 프레임 스킵핑은, 프레임 스킵핑의 간격의 가변 여부를 고려한 두가지 유형의 프레임 스킵핑을 포함하는 것인, 신경망의 심층 강화 학습 장치.In the deep reinforcement learning device of a neural network,
A data processing device that performs data processing for deep reinforcement learning on target data; And
And a learning control unit for deep reinforcement learning of the neural network by using human demonstration data and actor data sampled by data processing by the data processing device as inputs of the neural network,
The data processing device,
A replay manager that stores human demonstration data among target data in a human replay buffer, and stores actor data among the target data in an actor replay buffer; And
A data processing unit that performs data processing by applying online frame skipping to the human replay buffer for sampling the human demonstration data stored in the human replay buffer,
The online frame skipping includes two types of frame skipping in consideration of whether or not the frame skipping interval is variable.
상기 온라인 프레임 스킵핑은,
제1 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하지 않고 일정하게 유지하여 스킵핑을 수행하는 FS-ER 스킵핑을 포함하고,
제2 유형의 프레임 스킵핑으로서, 프레임 스킵핑의 간격을 가변하여 동적으로 스킵핑을 수행하는 DFS-ER 스킵핑을 포함하는 것인, 신경망의 심층 강화 학습 장치.The method of claim 11,
The online frame skipping,
As a first type of frame skipping, it includes FS-ER skipping, which performs skipping by maintaining a constant frame skipping interval without changing,
The second type of frame skipping, which includes DFS-ER skipping, which dynamically performs skipping by varying the frame skipping interval.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180173851A KR102209917B1 (en) | 2018-12-31 | 2018-12-31 | Data processing apparatus and method for deep reinforcement learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180173851A KR102209917B1 (en) | 2018-12-31 | 2018-12-31 | Data processing apparatus and method for deep reinforcement learning |
Publications (3)
Publication Number | Publication Date |
---|---|
KR20200087341A KR20200087341A (en) | 2020-07-21 |
KR102209917B1 true KR102209917B1 (en) | 2021-01-29 |
KR102209917B9 KR102209917B9 (en) | 2021-09-17 |
Family
ID=71832611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180173851A KR102209917B1 (en) | 2018-12-31 | 2018-12-31 | Data processing apparatus and method for deep reinforcement learning |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102209917B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023113432A1 (en) * | 2021-12-14 | 2023-06-22 | 주식회사 엔젤게임즈 | Method and system for controlling training of artificial intelligence robot and trading of artificial intelligence model training artificial intelligence robot |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022131433A1 (en) * | 2020-12-14 | 2022-06-23 | 한국과학기술원 | Sample-aware entropy regularization technique for sample-efficient search |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013081683A (en) | 2011-10-12 | 2013-05-09 | Sony Corp | Information processing apparatus, information processing method, and program |
US20140180989A1 (en) | 2012-12-24 | 2014-06-26 | Google Inc. | System and method for parallelizing convolutional neural networks |
US20150100530A1 (en) | 2013-10-08 | 2015-04-09 | Google Inc. | Methods and apparatus for reinforcement learning |
JP2018525759A (en) | 2015-07-24 | 2018-09-06 | ディープマインド テクノロジーズ リミテッド | Continuous control by deep reinforcement learning |
-
2018
- 2018-12-31 KR KR1020180173851A patent/KR102209917B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013081683A (en) | 2011-10-12 | 2013-05-09 | Sony Corp | Information processing apparatus, information processing method, and program |
US20140180989A1 (en) | 2012-12-24 | 2014-06-26 | Google Inc. | System and method for parallelizing convolutional neural networks |
US20150100530A1 (en) | 2013-10-08 | 2015-04-09 | Google Inc. | Methods and apparatus for reinforcement learning |
JP2018525759A (en) | 2015-07-24 | 2018-09-06 | ディープマインド テクノロジーズ リミテッド | Continuous control by deep reinforcement learning |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023113432A1 (en) * | 2021-12-14 | 2023-06-22 | 주식회사 엔젤게임즈 | Method and system for controlling training of artificial intelligence robot and trading of artificial intelligence model training artificial intelligence robot |
Also Published As
Publication number | Publication date |
---|---|
KR20200087341A (en) | 2020-07-21 |
KR102209917B9 (en) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110503192B (en) | Resource efficient neural architecture | |
Veness et al. | A monte-carlo aixi approximation | |
Touati et al. | Randomized value functions via multiplicative normalizing flows | |
CN107239825A (en) | Consider the deep neural network compression method of load balancing | |
WO2018204371A1 (en) | System and method for batch-normalized recurrent highway networks | |
CN112717415B (en) | Information bottleneck theory-based AI (Artificial intelligence) training method for reinforcement learning battle game | |
KR20180091850A (en) | Augmenting neural networks with external memory | |
KR102209917B1 (en) | Data processing apparatus and method for deep reinforcement learning | |
CN109925718B (en) | System and method for distributing game micro-terminal map | |
US11450096B2 (en) | Systems and methods for progressive learning for machine-learned models to optimize training speed | |
KR102471514B1 (en) | Method for overcoming catastrophic forgetting by neuron-level plasticity control and computing system performing the same | |
CN114065929A (en) | Training method and device for deep reinforcement learning model and storage medium | |
KR102051706B1 (en) | Method, Device and Recording medium for detrending gated recurrent neural network | |
Cohen | Towards a grounded theory of causation for embodied ai | |
Yeo et al. | Accelerating deep reinforcement learning using human demonstration data based on dual replay buffer management and online frame skipping | |
KR20220166716A (en) | Demonstration-conditioned reinforcement learning for few-shot imitation | |
Olesen et al. | Evolutionary planning in latent space | |
CN112297012B (en) | Robot reinforcement learning method based on self-adaptive model | |
Yang et al. | Continual task allocation in meta-policy network via sparse prompting | |
CN113283597A (en) | Deep reinforcement learning model robustness enhancing method based on information bottleneck | |
Karnsund | DQN tackling the game of candy crush friends saga: A reinforcement learning approach | |
Yeo et al. | Accelerated deep reinforcement learning with efficient demonstration utilization techniques | |
Jiang et al. | Fast training methods and their experiments for deep learning CNN models | |
JP7431473B2 (en) | A method for overcoming catastrophic forgetting through neuron-level plasticity control and a computing system for doing so | |
Spears et al. | Scale-invariant temporal history (sith): optimal slicing of the past in an uncertain world |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] |