기타 22

[RL] 가치 기반 에이전트

에이전트 3가지 종류액션을 정하는 기준에 따라 에이전트 3종류를 구분할 수 있음1. 가치 기반 에이전트: 가치함수에 근거하여 액션을 선택 모델 프리 상황에서는 상태 가치함수만으로 액션을 선택할 수 없음. 액션 가치함수를 근거하여 액션을 선택2. 정책 기반 에이전트: 정책함수 π(a∣s)를 보고 액션을 선택 -> 다음 챕터에서 다룸3. 액터-크리틱: 가치함수 + 정책함수 모두 사용, Actor는 행동하는 주체, Critic은 비평가, (즉 상태가치 + 액션가치) ..

[RL] Deep RL 첫 걸음

7.1 함수를 활용한 근사우리가 해온 것들은 데이터 개수가 적은 간단한 경우였다.따라서 테이블 기반 방법론으로 동작해도 문제가 없었다.그러나, 바둑과 체스 등과 같이상태의 경우의 수가 많은 문제에서 테이블 기반 방법론은 적용하기 어렵다.바둑이나 체스처럼 이산적(discrete)인 형식이 아닌 속도와 같이 연속적인 값을 가질 수 있음.함수의 등장테이블 기반 방법론을 사용하지 않고,위 사진의 함수에 저장실제 가치의 근사함수데이터가 많은 경우위 그림과 같이 MSE를 최소로 하는 a, b를 결정함수의 복잡도에 따른 차이1차함수의 경우 데이터 양이 많아지면 데이터를 표현하기에 어려움이 있음1차 함수가 아닌 다항 함수를 사용할 수 있음위 그림에서 고차함수로 갈수록 MSE는 감소하지만 데이터에 노이즈가 석여 있음노이..

[RL] MDP를 모를 때 최적의 정책 찾기

MDP를 모를 때 최적의 정책찾기몬테카를로 컨트롤정책 이터레이션을 그대로 사용할 수 없는 이유정책 이터레이션 리뷰 정책 이터레이션은 정책 평가와 정책 개선 두 단계로 구성 정책 평가: 고정된 정책 𝜋에 대해 각 상태의 가치를 구함 = 반복적 정책 평가 = 밸류 평가 정책 개선: 정책 평가의 결과에 따라 새로운 정책 𝜋'를 생성 = 그리디 정책 생성 반복적 정책 평가와 정책 개선을 진행하면 정책과 가치가 변하지 않는 단계에 도달하게 됨 -> 최적 정책과 최적 가치반복적인 정책 평가를 사용할 수 없음모델 프리 상황에서는 보상함수 r과 전이확률 P를 모르기 때문에위 벨만 기대 방정식 2단계를 사용할 수 없음 정책 개선 단계에서 그리디 정책을 만들 수 없음 지난 주를 통해 각 상태의 가치를 알..

[RL] MDP를 모를 때 밸류 평가하기

몬테카를로 학습 (MC)정확한 수학 수식에 의해 계산/측정 하는 것이 아닌,확률적인 방법에 의해 값을 통계적으로 계산하는 것보상 함수와 전이 확률을 알 때,DP를 사용하여 전체 상태를 한 번씩 모두 실행하며 각 상태의 가치를 업데이트 했음몬테카를로 학습에서는 하나의 에피소드가 끝날 때까지 실행하면서경험을 모으고, 그 경험으로부터 가치 함수를 계산함정확한 결과를 얻기보다는 근사적인 결과를 얻을 경우에 사용몬테카를로 학습의 전제조건단 하나의 전제조건이 필요한데,에이전트가 동작하는 환경에 시작과 끝이 있어야 한다.리니지, 메이플스토리처럼 MMORPG의 경우 엔딩이 없이 쭉 이어지는 게임이지만,디아블로와 같은 게임은 에피소드 단위로 게임이 진행되어 에피소드마다 엔딩이 있다.-> 디아블로는 MC 적용 가능몬테카를..

[RL] MDP를 알 때 플래닝

MDP를 알 때 플래닝[RL] MDP를 알 때의 플래닝바닥부터 배우는 강화 학습 | 04. MDP를 알 때의 플래닝그리드 월드 MDP 상황을 예로정책 𝜋가 주어졌을 때, 각 상태의 밸류를 평가하는 Prediction과최적의 정책 함수를 찾는 Control 문제 푸는 방법을 배운다.플래닝 = MDP에 대한 모든 정보를 알 때, 정책 개선 과정본 목차의 내용을 적용하려면- 작은 문제 (상태 집합 S, 액션 집합 A의 크기가 작은 경우)- MDP를 알 때두 가지의 조건을 만족하는 상황일 때만 가능작은 문제이므로 *(테이블 기반 방법론)에 기반함*테이블 기반 방법론: 모든 상태 s 혹은 상태와 액션의 페어 (s,a)에 대한테이블을 만들어 값을 기록해놓고, 그 값을 조금씩 업데이트하는 방식밸류 평가하기 - 반복..

[RL] 벨만 방정식

Bellman Equation(벨만 방정식)이란?반환값과 상태가치함수 리뷰반환값- 타입스텝 t에서 계산한 누적 보상의 합계- 에피소드 하나에 대한 가치를 측정상태 가치 함수- 환경 전체에 대한 가치를 측정- 상태 전이 확률을 같이 고려함MRP 벨만 방정식강화학습에서 프로그래밍으로 가치를 구하기 위해 '벨만 방정식'을 많이 사용수학자 리처드 어니스트 벨만의 이름을 땄음일반적으로 기댓값을 시그마 기호를 사용한 수열의 합으로 표현현재 상태의 가치함수와 다음 상태의 가치함수 관계로 나타냄수식 1 = 개념적인 상태 가치 함수수식 2 = 상수는 기댓값에서 의미 X, 정리함수식 3 = 기댓값을 수열의 합과 다음 상태에서의 상태 가치 함수로 나타낸 것MDP 벨만 기대 방정식0단계벨만 기대 방정식: 현재 상태의 가치 함..

[RL] 마르코프 보상 과정 (MRP) | 마르코프 결정 과정 (MDP)

마르코프 보상 과정 (MRP)*(마르코프 연쇄)에 ‘보상’과 ‘시간에 따른 보상의 감가율’의 개념이 추가된 것마르코프 속성을 지닌 시스템의 시간에 따른 상태 변화상태 집합(S)와 상태 전이 매트릭스(P)로 구성상태에 전이확률만 주어졌지, 상태 변화가 얼마나 가치가 있는지 모름MRP은 상태 집합(S), 상태 전이 매트릭스(P), 보상함수(R) 그리고 감가율(r)상태 변화에 대한 가치를 계산할 수 있음S(상태 집합): 다루고 있는 ‘환경’이 가질 수 있는 다양한 상태MRP에서 상태는 유한해야 함 (개수가 정해짐)*환경: 우리가 다루는 시스템 또는 문제로,백화점 매출 예측은 ‘고객정보, 매출정보, 재무정보, ..’등이 환경에 해당P(상태전이 매트릭스): 각각의 상태가 다른 상태로 변할 수..

[RL] 마르코프 속성/연쇄

마르코프 속성확률 과정의 특수한 형태로, 메모리를 가지지 않음즉, 과거에 일어났던 모든 일은 무시하고 현재 상황만으로 미래를 예측하는 것변수가 마르코프 속성을 지닌다 = 바로 이전 상황에만 영향을 받는다1일차에 자루에서 공을 하나 뺀다.2일차에 자루에서 공을 하나 뺀다.2일차에 1일차에서 뺀 공을 다시 자루에 넣는다.3일차에 자루에서 공을 뺀다.과거의 일들을 무시하고 현재 상황만 고려하는 이유→ 사건을 단순화하기 위해서 (과거까지 생각하면 데이터가 너무 많음)S(t+1)은 St만 영향 받는다.마르코프 연쇄마르코프 속성을 지닌 시스템의 시간에 따른 상태 변화과거와 현재 상태가 주어졌을 때, 미래 상태의 조건부 확률 분포가과거 상태와 독립적으로 현재 상태에 의해 결정되는 환경이런 상태 공간이 이산적일 때, ..

[RL] 강화학습이란

4월 8일(월) 랩실 레지던트 시작강화학습의 사용 사례→ 알파고로 유명해짐이후 주식 트레이딩 봇 개발 및 구글 딥마인드 눈 스캔 분석으로 질병 진단을 도움강화학습이란보상 체계를 활용해 에이전트가 긍정적 행동을 할 수 있도록 에이전트의 행동을 제어하는 정책을 찾아내는 최적화 기법에이전트는 ‘정책’에 따라 주어진 ‘환경’에서 ‘행동’을 한다.위 행동에 따라 환경의 ‘상태’가 바뀌고, 결과에 따라 ‘보상’을 얻는다.강화학습은 위 보상이 최대가 될 수 있게 하는 ‘정책’을 찾는 것가장 좋은 정책을 찾는 것이 목적 → 누적 보상의 합을 최대로 함정형/비정형의 많은 데이터를 다루는 머신러닝/딥러닝과 달리데이터를 스스로 만들어냄 → 데이터량 부담 감소확률과정시간 흐름에 따라 확률적(무작위적)으로 움직이는 상태, {X..

[자격증] 리눅스마스터 2급 후기 + 학점은행제 신청

리눅스마스터 2급 시험은 2023년 12월 9일 토요일이다. 해커톤 + 기말 + 리눅스마스터 2급 시험 이 모든 걸 12월 초에 몰아서 하느라 바쁘게 살긴 했다. 리눅스마스터 2급 자격증 시험을 치겠다고 다짐한 건 3가지 이유 1. 리눅스 과목이 재밌어서, 나에게 도움이 많이 됐어서 더 알아보고자 2. 리눅스 수업해주시는 교수님이 좋아서 3. 학점은행제로 5학점 + 리눅스활용및프로그래밍 과목 0.5 학점 증가 위 이유들로 나는 바쁜 스케줄임에도 불구하고 리눅스마스터 2급을 치기로 했다. 나는 일정이 많아 리눅스마스터 공부를 미루고 미루다 결국 전날 목요일부터 공부하기 시작했다. 사실 목요일도 바빠서 "내일(금)은 리눅스마스터만 공부할 거야. 내 상태를 지금 미리 봐보고 사태의 심각성과 공부법을 정해두자"..

기타 2024.01.10