본문 바로가기

전체 글52

[강화학습7] MC(Monte Carlo Methods)와 TD(Temporal Difference Learning) 이번 포스팅에서는 MC와 TD에 대해서 알아보도록 하자. 두 방법 모두 model-free일 때 가치 추정을 할 수 있게 해 준다. model-based와 model-free 이번 포스팅에서는 에이전트가 MDP의 구조를 알지 못할 때 어떻게 가치를 추정하는지에 대해 이야기해보려고 한다. '에이전트가 MDP를 모른다'는 것은 에이전트가 자신의 행동에 대해 환경이 어떻게 반응할지 알지 못한다는 의미이다. 이런 상황을 model-free라고 부르며, 반대로 에이전트가 MDP를 알고 있는 상황은 model-based라고 부른다. 몬테카를로 방법(Monte Carlo Methods, MC) 100원짜리 동전을 던졌을 때 앞면이 나온다면 동전을 갖고 뒷면이 나오면 가질 수 없다고 가정해 보자. 우리는 정확한 확률은.. 2023. 12. 1.
유니티 에디터 설치 오류 Install failed: Validation Failed 해결방법 아쉽게도 이 문제가 발생하는 원인은 여전히 알지못하지만 아래의 소개하는 방법을 통해 해결할수있었다해결방법 요약Unity Hub에서 에디터 설치하지 말고 https://unity.com/releases/editor/archive에서 수동 설치하면 된다상세 해결방법1. Unity Hub가 설치되어 있는 상태에서 https://unity.com/releases/editor/archive클릭2. 원하는 에디터 버전의 "Unity Editor 64-bit" 클릭(클릭하면 바로 자동 다운로드 진행됨)3. 다운로드 완료된 셋업파일 실행4. 에디터 파일 설치위치 기억해 놓자5. Locate 클릭 후 아까 기억한 에디터 파일의 설치위치의 unity.exe 파일을 선택해 주면 된다 2023. 11. 24.
큰수의 법칙(Law of Large Numbers) 큰수의 법칙은 기본적으로 "반복 횟수가 많아질수록 결과가 실제 값에 접근한다"는 아이디어를 나타냅니다. 예를 들어 동전 던지기를 생각해 볼 때, 동전을 단 한 번 던지면 앞면이 나올지 뒷면이 나올지 예측하기 어렵습니다. 그러나 동전을 100번, 1000번, 또는 그보다 더 많이 던지면, 앞면과 뒷면이 나오는 횟수가 점점 비슷해지는 경향을 보일 것입니다. 이처럼, 시도를 많이 할수록 표본 평균이 실제 평균(모평균)에 접근하는 현상을 큰수의 법칙이라고 합니다.큰수의 법칙에는 더 세부적으로 약한 큰수의 법칙과 강한 큰수의 법칙이라는 두 가지 형태가 있습니다. 이 두 개념은 서로 유사하지만, 몇 가지 중요한 차이점도 가지고 있습니다. 이제 이 두 법칙의 수학적 표현을 살펴보고, 그 증명에 대해서도 탐구해 보겠습.. 2023. 11. 16.
[강화학습6]정책 반복(Policy Iteration) 정책반복은 가치반복과 마찬가지로 강화학습 알고리즘 중 하나이다. 정책반복은 다음과 같은 절차로 진행된다. 초기정책 설정 모든 상태에 대해 임의의 행동을 선택하는 정책을 설정한다. 정책 평가 모든 상태가치를 0으로 초기화한다. 가치함수의 업데이트는 벨만 기대방정식을 사용하여 수행된다. 업데이트는 다음수식을 사용하여 계산된다. $$ v_{k+1}(s) = \sum_{a}\pi(a \mid s) \sum_{s', r} P(s', r \mid s, a) [ r + \gamma v_k(s') ]$$ $k$번의 반복을 거치면서 $v_k$는 실제 가치함수에 점점더 가까워지게 된다. 이과정에 대한 증명은 전포스팅의 가치반복 증명과정과 유사해 생략했다. 가치함수의 변화가 특정 임계값보다 작아지면, 정책평가 과정을 종료한.. 2023. 10. 25.
[강화학습5]최적 정책(Optimal Policy) 최적정책에 대한 정의는 다음과 같이 내릴 수 있다. $$\pi^* \geq \pi \iff v_{\pi^*}(s) \geq v_{\pi}(s) , \forall s \in S$$ 이번 포스팅에서는 최적정책의 존재에 대해서 증명해보려고 한다. 벨만최적방정식(Bellman optimality equation) $$v^*(s) = v_{\pi^*}(s)$$ $v^*(s)$를 최적가치(Optimal value)라고 한다 $v^*(s)$는 $v_{\pi}(s)$중 최대 가치를 가져야 한다. 그러므로 가장 큰 $q^*(s, a)$를 가지는 행동을 선택해야 한다. $$v^*(s) = \underset {a}{\max} q^*(s, a)$$ $$q^*(s, a) = R(s, a) + \gamma \sum_{s'} P(.. 2023. 10. 9.
[강화학습4]벨만 방정식(Bellman Equation) 벨만 방정식을 통해 계산되는 가치(value)는 특정 상태(또는 상태-행동 쌍)에서 시작하여 미래에 받게 될 모든 보상의 기댓값, 즉 누적보상(return)의 기댓값이다. 벨만방정식은 크게 기대벨만방정식과 최적벨만방정식으로 나뉘는데, 이번포스팅에서는 기대벨만방정식에 대해서만 다룬다. 정책(Policy) $$\pi(a \mid s) = \mathbb {P}[A_t = a \mid S_t = s]$$ 하나의 정책은 모든 가능한 상태들에 대해 행동을 선택하는 방법을 제공한다 상태가치함수(State Value Function)와 상태-행동가치함수 (State-Action Value Function) 상태 가치 함수$v_\pi$ 주어진 정책$\pi$아래, 상태 $s$의 기대 리턴 상태-행동 가치 함수$q_\pi$.. 2023. 9. 27.
[강화학습3]마르코프 결정 프로세스(Markov Decision Process) MDP의 정의 아래의 사진은 MDP를 도식화한 것이다 $$MDP \equiv (S, A, P, R,\gamma)$$ 마르코프 프로세스에 보상, 할인계수, 행동의 개념이 추가되면 마르코프 리워드 프로세스가 된다. 아까 마르코프 프로세스는 상태의 집합 $S$와 전이확률행렬$P$로 구성된 프로세스였다면, $MDP$를 정의하기 위해서는 보상함수$R$과 할인계수$\gamma$(감마), 행동의 집합$A$ 총 3가지 요소가 추가로 필요하다 $$MDP \equiv (S, A, P, R,\gamma)$$ 상태의 집합 $S$ $$S = \{s_0, s_1, s_2, \ldots, s_n\}$$ 가능한 상태들을 모두 모아놓은 집합이다. 액션의 집합 $A$ $$S = \{a_0, a_1, a_2, \ldots, a_n\}$$.. 2023. 9. 24.
코랩 셀 실행 끝날때 소리로 알림받는방법 별건아니구... tts라이브러리를 이용해서 셀실행이 완료되었을때 알림을 받을수있는 코드 공유입니다중간에 오디오파일이 저장되지만 어차피 런타임종료되면 자동으로 사라지기때문에 큰 상관은 없을것이라고 생각합니다# !pip install gttsfrom gtts import gTTSimport IPython.display as ipd# 한글 텍스트text = "모델 학습이 완료됐습니다"# 한글 텍스트를 음성으로 변환tts = gTTS(text=text, lang='ko')# 저장할 음성 파일의 이름filename = "example_ko.mp3"# 음성 파일로 저장tts.save(filename)print('작업중')# 음성 파일을 Colab에서 재생ipd.Audio(filename=filename, autop.. 2023. 9. 15.
우선순위 큐 우선순위 큐 개념정리 우선순위 큐의 기능 우선순위 큐는 주로 다음과 같은 연산을 지원한다 Insertion(삽입): 원소를 큐에 삽입할때는 해당 원소의 우선순위도 함께 지정된다 Deletion(삭제): 큐에서 원소를 삭제할때는 가장 높은(또는 낮은) 우선순위를 가진 원소가 제거된다 우선순위 큐는 언제 사용될수있을까 우선순위 큐는 다양한 상황에서 요소들 사이의 상대적인 '중요성' 또는 '우선순위'를 고려하여 처리해야 할 때 유용하게 사용된다. 병원의 응급실은 이에 대한 아주 좋은 예다. 응급실에서 환자들은 단순히 먼저 도착한 순서대로 진료를 받는 것이 아니라, 그들의 상태나 '중증도'에 따라 진료 우선순위가 결정된다. 이러한 방식은 특히 생명을 구하는 긴급한 상황에서 필수적이다. 단순한 감기 증상으로 응급.. 2023. 9. 15.