AI 공부/RL 끄적
강화학습 겉햙기(7)[알파고와 MCTS]
알파고를 이해할때 학습과 실시간 플래닝 이라는 2단계로 나누어서 접근하면 좀더 쉽게 이해할수 있다. 알파고는 실시간으로 다양한 수를 머릿속에서 시뮬레이션 하기 때문에 이를 실시간 플래닝이라고 합니다 이에 실시간 플래닝 알고리즘으로 알파고는 MCTS를 사용합니다. 학습단계 MCTS는 크게 4가지 준비물을 필요로합니다. 사람의 기보를 이용해 지도 학습 정책 πsl, 롤아웃 정책 πroll, 스스로 대국하며 강화학습한 πrl ,밸류 네트워크 Vrl 입니다. 요약하자면 3개의 정첵 네트워크와 1개의 밸류 네트워크를 필요로 합니다. 지도 학습 정책 πsl 이 학습은 사람이 어디에 바둑돌은 둘것인지 분류 해주는 네트워크입니다. 학습결과 57%의 정답률을 기록했습니다. 롤아웃 정책 πroll 롤아웃 정책은 사람 지식..
강화학습 겉햙기(6)[에이전트]
강화학습에 뉴럴넷을 접목시키는 방법은 3가지가 있습니다 1. 가치함수 vπ(s) 와 qπ(s, a)를 뉴럴넷으로 표현하는 방법 2. 정책함수 π( a | s )를 뉴럴넷으로 표현하는 방법 3. 액터-크리틱 : 가치함수 + 정책함수 가치기반 에이전트 : 가치 함수에 근거하여 액션 선택 -액션 가치 함수 (q(s, a))의 값을 보고 액션 선택 가치함수는 엄밀히 말하면 밸류만 평가만 함수인데 이를 마치 정책함수처럼 사용(내재된 정책) ex ) Q- learning, SARSA 딥 Q 러닝 : Q러닝 + 뉴럴넷 기존 Q러닝 방식 : 뉴럴넷 방식 딥 Q러닝 pseudo code : 1. Qθ 의 파라미터 θ를 초기화 2. 에이전트의 상태 s를 초기화(s
강화학습 겉햙기(5)[Deep RL]
이번에는 강화학습에 머신러닝을 살짝 섞어보겠습니다. 저번까지 강화학습에 전반적인 시나리오는 테이블 안 이였습니다. 그런데 여기서 문제가 있습니다. 바로 테이블의 칸이 많아질때 입니다. 만약 테이블의 칸이 10170이라면 어떻게 해야할까요? 우리는 테이블의 칸을 모두 저장한 후에 그 상태를 방문해야지만 학습이 가능하기때문에 실질적으로 불가능합니다. 이때 나온게 바로 함수입니다 이 함수를 도입하게되면 가지는 가장 큰 장점은 일반화입니다 우리가 상태별 가치를 학습하려면 모든 상태별 값들을 저장하여야 했지만, 여기서는 어림 짐작할수 있게 되었습니다. 뉴럴넷을 이용하여 vπ(s)를 학습하는 방법 : 상태 벨류의 값 Vtrue(s) 을 통한 구현 손실함수(L(θ)) = (Vtrue(s) - Vθ(s))2 정책함수 ..
강화학습 겉햙기(4)[MDP 접근법]
● MDP 를 알때 첫번째로 우리가 MDP 를 알때를 가정해 봅시다. 우리는 미래가 어떤 과정을 거쳐 정해지는지 알고있으니 상상 속에서 시뮬레이션을 하여 좋은 계획을 세어야 합니다. 이때 우리는 테이블 기반 방법론 이라는것을 사용합니다. 테이블 기반 방법론 : 모든 상태 s 혹은 상태와 액션의 페어(s,a) 에 대한 테이블을 만들어서 값을 기록해 놓고, 그 값을 조금씩 업데이트 하는 방식을 의미합니다. 반복적 정책 평가 : 테이블의 값들을 초기화한후, 벨만 기대 방정식을 반복적으로 사용하여 테이블에 적어놓은 값을 조금씩 업데이트해 나가는 방법론 입니다. 이제 이 반복적 정책 평가를 값이 수렴할때 까지 계속 반복시킵니다. 그 결과는 바로 해당 상태의 실제 밸류가 됩니다. 최고의 정책찾기 방금전에 반복적 정..