강화 학습 DQN(Deep Q-network)

4244 단어 Python
이 책은 필자들이 공부할 때의 필기를 총결하여 앞으로 공부하는 사람들에게 도움을 제공한다.오류, 부족, 수정이 필요한 부분이 있으면 반드시 지적해 주십시오.계속 닦아요.
© 2021 NPO 법인 AI 개발 추진 협회
이 책은 심층 강화 학습에서 가장 기본적인 DQN을 소개한다.(CNNN의 기초를 이해하는 전제에서 기재한다. 아직 이해하지 못하는 사람은 다른 CNN 기초를 먼저 읽어라)

1. 학습의 기초 강화


강화 학습은 인지적 정보에 따라 행동을 판단하는 학습 기법이다.강화 학습에서 정답 데이터를 바탕으로 학습하는 것이 아니라 행동에 대한 피드백을'보수'로 하고 간접적인 평가(얼마나 좋은)를 바탕으로 학습한다.따라서 강화학습은 반복적으로 실험하면서 가장 적합한 행동을 배우는 방법이라고 할 수 있다.

그림 1DQN 아키텍처
 
학습 알고리즘을 강화하는 대표적인 분류는 가치 학습/전략 학습, 모델 자유/모델 기초이다.DQN은'마르코프 결정 과정'과'베르만 방정식'을 사용한 Q-Learning(뒷부분 상세 설명)을 바탕으로 DNN을 응용한 알고리즘이다.

2. 마르코프 결정 프로세스(Markov Decision Process:MDP)



그림2 과일 잡기 게임 중 상태 변화
 
시간 t의 환경 상태가 st(=위 그림 2의 ①~④의 모든 것)일 때 에이전트(위 그림은 바구니)는 특정한 행동을 취할 수 있다at(이 경우 왼쪽으로 이동하고 오른쪽으로 이동하며 원형을 유지한다).이 행동에 따라 정이나 마이너스(게임 점수의 증감 등)의 보수 rt를 준다.에이전트를 통한 작업 수행, 환경 변화, 다음 상태 St+1 마이그레이션그리고 에이전트는 at+1을 다음 상태로 반복합니다.이 상태, 행위와 보수집은 상태 규칙과 함께 마르코프의 결정 과정을 구성한다. 마르코프의 결정 과정에서 상태 St+1로 이동할 확률은 현재 상태 St와 그곳에서의 행위at에 달려 있다.
학습 강화의 목적은 대리인이 각 에피소드(1게임)에서 받는 보수(r)의 총계를 최대화하는 것이다. 보수의 총계 R은 다음과 같다.
   Rt = Σri=ri+ri+1+…+rn
단, 장래의 보수는 불확정, 할인율(γ)장래의 보수와 차이가 많지 않으니 보수가 할인된다.
   Rt = rt + γrt+1 + γ2rt+2+…+γn-trn
     = rt + γ(rt+1 + γ(rt+2+…)
     = rt + γRt+1
※ 다음 시점의 할인 현가를 총 Rt+1로 설정하면 귀속 계산 가능

3.Q-learning


Q-learning은 유한한 마르코프 결정 과정의 어떤 상태 s에서 가장 좋은 행위 a를 찾아내는 방법으로 Q 함수의 출력 형식으로 할인 현가를 정의한다.
   Q(st, at) = max(Rt+1)
또한 임의의 상태에서 가장 좋은 행동을 선택하는 전략π는 Q 함수의 출력값이 가장 높은 행동이기 때문에 다음과 같다.
   π(s) = arg maxaQ(s, a)
그리고 시간 t의 Q 함수에 대해 할인 현가 Rt, Rt+1과 똑같이 귀속적으로 기재하면 아래의 식이 되어 이를 벨만 방정식(Bellman equation)이라고 부른다.
   Q(st, at) = r + γmaxQ(St+1, at+1)
Q 함수의 출력은 출력이 상태 s에서 행동 a를 취할 때의 가치(Q(s, a)를 예측하는 것으로 이를 세로축으로 상태 s를 나타내고 가로축으로 행동 a를 나타내는 것을 Q-table라고 한다.
Q-table의 업데이트 절차는 다음과 같습니다.
① 무작위 값으로 Q-table 초기화
반복 ②~④
② 행동a를 실시하여 보상을 받는다
③ 베르만 방정식 계산 상태 s에 따라 행동 a시'Q(s, a): 할인 현가'를 사용하여 Q-table의 해당 단원을 업데이트합니다.
④ 이동 상태 s'에서 행동 a를 선택하여 실행
③의 갱신은 실제 보수와 예측의 차이에 따라 학습률을 곱하여 갱신한다.
구체적으로 말하면
   Q(s, a) = Q(s, a) + η(r + γmaxQ(St+1、 at+1) – Q(s, a))  ※η학습률
하계.이것은 SGD에 가까운 형식(WW-η·············································································································γmaxQ(St+1,at+1) - Q(s,a)는 실제 보수와 예측 사이의 차이를 나타낸다.이 업데이트 처리를 반복하여 학습합니다.

4. Deep Q-Network의 특징


DQN은 구글의 자회사인 DeepMind사가 개발한 알고리즘이다.이미지 식별에 대량으로 사용되는 심층 학습과 강화 학습(Q 학습)이 결합된 알고리즘을 통해 동작을 한다.

(1) 모델의 구성


그것은 세 개의 권적층과 두 개의 전결합층을 사용한다.원본 정보를 압축하고 표시된 대상의 위치를 식별하기 어렵기 때문에 이 층을 사용하지 않았습니다.

(2) 탐색과 활용의 균형


학습의 최초로 가능한 한 새로운 데이터를 사용하여 무작위 행동을 하면 학습 성능을 향상시킬 수 있다.“ε-greedy법.ε무작위 행동, 1 –ε에서 기술한 장면은 다음 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 둘레를 분석하도록 한다.그리고 학습이 진행됨에 따라 Q 함수의 값 신뢰도도 증가할 것이다ε문서 레지스트리에 항목을 추가합니다.
많이 검색해야 정확한 Q 함수를 얻을 수 있지만 그에 상응하여 학습 성과를 발휘할 수 없다. 반대로 이것은 모두 절충된 관계이다.ε-greedy 방법을 사용하면 비교적 적은 매개 변수를 통해 이 절충을 조정할 수 있다.

(3) Experience Replay


연속적인 프레임은 차이가 적은 비슷한 화면으로 이렇게 공부해도 거의 비슷한 화면을 출력할 수 있고 Q 함수의 학습도 순조롭지 않다.따라서 학습 과정에서의 행위 결과(s, a, r, s′)를 메모리(replay memory)에 저장하고 학습을 진행할 때 이 메모리에서 무작위로 프레임을 추출하여 일괄 처리를 만들어 유사한 화면의 연속을 방지한다.이런 방법을 Experience Replay라고 합니다.

(4) 고정 Q-network


Q 함수의 업데이트는 Q(s',a')의 다음 상태에서의 보수 기대치가 필요하지만 위에서 말한 바와 같이 회귀적으로 실시하기 위해 업데이트의 순간값도 Q(s',a')(교사의 학습이 있다면 교사 데이터의 변화와 같다)로 바뀌어 학습이 순조롭지 않다.따라서 Q(s', a')를 계산할 때 일정 기간 동안 권중을 고정한다.이렇게 하면 정확한 Q(s', a')를 얻을 수 없지만 같은 조건에서 고정된 네트워크를 통해 같은 값을 되돌려 안정적인 학습을 할 수 있다.이런 방법을 Q-network의 고정이라고 한다.어느 정도 학습이 진행된 후에 권중을 갱신하여 잠시 고정적으로 학습한다.

(5) 보수 삭감


고정 보수치(ex 성공은 1, 실패는 -1)를 통해 학습합니다.이것은 학습을 더욱 쉽게 진행하게 한다.

5. 끝말


이상은 DQN 학습을 강화하는 개요이지만 기재된 바와 같이 이론 자체가 그리 어렵지 않다.

좋은 웹페이지 즐겨찾기