10. 심층 강화 학습 1강. 강화 학습의 원리
학습목표
- 강화학습의 개념과 구조에 대해 설명할 수 있다.
- Q-러닝에 대해 설명할 수 있다.
- Deep Q-Network에 대해 설명할 수 있다.
학습내용
- 강화 학습의 개념과 구조 - Q-러닝
- Deep Q-Network
1. 강화 학습의 개념과 구조 (1) 강화 학습 개념
∙ 주어진 어떤 상황(Situation)에서 보상(Reward)을 최대화할 수 있는 행동(Acti on)에 대해 학습하는 것
∙ 하나의 행동에 대해 하나의 지도 학습 데이터가 아닌 일련의 행동 마지막에 지도 학습 데이터가 주어짐
∙ 강화 학습 문제는 Markov Decision Process(MDP)로 표현
∙ MDP 세 가지 개념을 포함함 ① 상황(Situation)
- Agent는 환경이 어떤 상태(State)인지 인지할 수 있어야 함 ② 보상(Reward)
- Agent는 주어진 상태(State)에 따라 행동(Action)을 결정 ③ 행동(Action)
- 가장 좋은 의사 결정 정책(Policy) 즉, 행동에 따른 가치(Value)의 합이 가장 큰 의사 결정 정책을 찾아내는 것
(2) 강화 학습의 구조
(3) 강화 학습의 구성요소
∙ Environment
- Agent가 행동을 취할 수 있는 일종의 공간
∙ Agent
- 행동을 하는 주체
∙ Reward
- Agent가 행동을 할 때마다 환경이 Agent에게 보내주는 숫자
∙ Action
- 말 그대로 Agent가 취하는 행동
∙ Policy
- 현재의 상태에 대해 어떤 행동을 결정하는 역할
∙ Value Function
- Agent에 의해서 계산되는 State의 좋은 정도를 나타내는 함수
∙ Model
- Agent가 행동을 결정하는 전체적인 형태
2. Q-러닝
(1) Q-러닝 개념
∙ 모델 없이 학습하는 강화 학습 기법 중 하나
∙ 지도 학습 데이터 대신에 각 행동에 Q 값(Q-value) 지표를 예측하여 부여
∙ 다음에 취해야 하는 행동을 선택하는 지표로 Q값을 사용하며, 적절한 Q값을 구하도록 학습하는 것이 목적
(2) Q-Value와 보상
∙ 1단계 초기값 설정
[출처] 길벗-딥러닝 부트캠프 with 케라스
∙ 2단계
,
중 선택, E-Greedy[출처] 길벗-딥러닝 부트캠프 with 케라스
∙ 3단계
선택,
업데이트∙ 4단계
선택,
업데이트[출처] 길벗-딥러닝 부트캠프 with 케라스
3. Deep Q-Network (1) Q Learning
∙ 상황과 액션에 따라 Q값을 저장하기 위한 공간으로 Q Learning에서 사용하 는 Q-Table
∙ Q-Learning에 Deep Neural Network를 결합하여 Q 함수를 학습하는 강화 학습 기법
(2) Deep Q-Network
∙ DQN에서의 다음 행동의 최대 Q값을 지도학습에 사용 방법
[출처] 길벗-딥러닝 부트캠프 with 케라스
① Experience Replay
- 여러 가지 실행으로 얻은 '상태’, ‘행동’, '보상’ 등을 테이블에 일정한 수만큼 보관
- 테이블에서 배치 크기 같은 수의 샘플을 무작위로 추출하여 미니 배치를 구 성해서 딥러닝으로 학습하는 방법
② 타깃 네트워크
- 학습용과 예측용 네트워크를 분리하여 학습용 네트워크(Q-Network)의 가중 치를 정기적으로 Q값 예측용의 타깃 네트워크(Target Network)로 복사
학습정리
1. 강화 학습의 개념과 구조
∙ 주어진 어떤 상황에서 보상을 최대화할 수 있는 행동에 대해 학습하는 강화 학습의 개념과 구조
2. Q-러닝
∙ 다음 취해야 하는 행동을 선택하는 지표로 Q-Value를 사용하는 Q-러닝
3. Deep Q-Network
∙ Q-러닝에 Deep Neural Network를 결합하여 Q 함수를 학습하는 DQN 평가하기
1. 주어진 어떤 상황에서 보상을 최대화할 수 있는 행동에 대해 학습하는 방법을 고르시오.
① 그룹 학습
② 지도 학습
③ 비지도 학습
④ 강화 학습
- 정답 : ④번
해설 : 강화 학습(Reinforcement Learning)은 주어진 어떤 상황(Situation)에서 보상(Reward)을 최대화할 수 있는 행동(Action)에 대해 학습하는 것이다.
2. 강화 학습의 정책(Policy)의 역할에 대한 설명으로 올바른 것은?
① Agent가 취하는 행동
② 현재의 상태에 대해 어떤 행동을 결정하는 역할
③ Agent에 의해서 계산되는 상태의 좋은 정도를 나타내는 역할
④ Agent가 행동을 결정하는 전체적인 형태
- 정답 : ②번
해설 : 정책(Policy)은 현재의 상태에 대해 어떤 행동을 결정하는 역할이다.