라벨이 강화학습인 게시물 표시

Pharos University ME 253 Fluid Mechanics II - ppt video online download

Pharos University ME 253 Fluid Mechanics II - ppt video online download : External External Flows Bodies in motion, experience fluid forces and moments. Examples include: aircraft, automobiles, buildings, ships, submarines, turbo machines. Fuel economy, speed, acceleration, stability, and control are related to the forces and moments. Airplane in level steady flight: drag = thrust & lift = weight.

강화 학습 - 정책 그레디언트 (Policy Gradient) 및 Cross Entropy; 유도과 정 포함

이미지
정책 그레디언트 (Policy Gradient) 개요 정책 그레디언트 (Policy Gradient,PG) 는 강화 학습에서 최적의 정책을 얻기 위해서 수행된다. 최적의 Policy를 얻기 위해선, 어떠한 목적함수가 요구된다. 이 목적 함수를 보통 Cross Entropy를 통해서 정의를 해준다. 엔트로피에 대한 개념은 여기 를 참조하면 자세히 알 수 있다. 목적함수 – 교차 엔트로피 (Cross Entropy) 교차 엔트로피는 다음의 식으로 정의 된다. H(p,q)= -\sum_i p(x_i)logq(x_i) 여기서 p(x_i) 는 실제 확률 분포를 말하게되고, H(p,q) 값을 최소화 하는 것이 Loss를 최소화 하는 것을 의미합니다. 조금 더 확실하게 하기 위해서, supervised Learning의 경우를 확인해보도록 하겠습니다. 이 경우에는 label이 되어 있어서 확실한 확률 분포 p(x_i) 를 알고 있습니다. 그러면 간단하게 아래와 같이 예시를 만들어 볼 수 있습니다. Cross Entropy 예시 하지만, 강화 학습에서는 labeled 데이터를 사용하는 것이 아닙니다. 이에 p(x_i) 를 대체하기 위하여 새로운 값을 사용하게 됩니다. 이에 Replay와 같은 Episode를 통해 얻어지는 Q(s,a) 값을 통해 구해볼 수 있습니다. 즉, 경험을 통해서 실제 확률 분포를 대체할 수 있음을 말합니다. 이러한 가정들은 강화 학습의 핵심적인 가정사항입니다. 그러면 q에 해당하는 Predictive value는 행동을 위한 정책 확률 분포가 됩니다. 이에 최종적으로 목적 함수는 다음과 같이 쓰게 됩니다. Loss= -Q(s,a)log\pi(s,a), \pi(s,a): Policy 정책 그레디언트 (Policy Gradient) 목적 함수는 Loss를 최소화 하는 것으로 세울 수 있게 됩니다. 전체적인 과정은 다음과 같습니다. 그러면, Loss 함수로 정의했던 목적 함수가 최적의 Policy를 얻는 과정인가에 대한 확인이 요구됩니...

DQN (Deep Q Networks)

이미지
DQN (Deep Q Networks)는 많은 Data를 처리하기 위해서 개발되었습니다. Atrari 라는 단순한 게임을 최적화 하는 것으로 많은 설명이 되고 있습니다. 기존의 방식의 Q Learning은 경험이 있어야지만, State 값을 예측할 수 있었습니다. [1] 하지만, DQN의 경우 State에 대한 값이 없더라도 예측을 할 수 있다는 장점이 있습니다. 여기에 추가적인 장점으로 Sampling을 통해서 경험을 여러 번 반복 학습이 가능하여 학습 과정을 빨리 할 수 있또록 도와줄 수 있습니다. DQN introduction 먼저 강화 학습의 경우 Policy base인지, Value base인지에 따라서 두 가지 경우로 최적화 과정을 나눠줄 수 있습니다. 그림 1. 강화 학습 기본 구조 DQN은 Value based 강화 학습입니다. DQN 명칭에서 부터 Q function을 최적화 하는 과정임을 알 수 있습니다. Atrai라는 게임을 가지고 점수를 최대화 하는 과정이 있다고 하겠습니다. 그러면, 점수를 얻는 것이 Reward가 되고, 게임기를 움직이는 것이 Action이 됩니다. 그림 2. DQN 학습기본 구조 여기서의 Network의 구조는 아래와 같이 Deep 하게 설계가 되었습니다. Deep Neural network의 장점은 적은 Data만 가지고도, State 값을 예측 할 수 있습니다. 그림 3. Neural Networks in reinforcement learning [1] Mini-batch (Replay) 시계열(Time Series) Data의 경우 서로 Correlation 강하게 됩니다. Correlation이 강하면, Data간의 영향이 커서, 데이터 예측성이 떨어지게됩니다. 이를 보완 하기 위하여 Experience에서 Sample을 뽑아서 추가 학습을 시킵니다. 이후, 기존 Data Set하고 비교하여 평가하는 과정을 거쳐 Correlation에 대한 영향을 줄입니다. 그림 4. DQN 전체 구조 전체적인 구조에서 Da...

최대우도법 (Maximize Likelihood)

이미지
최대우도법 (Maximum likelihood Method) 칼만필터 알고리즘은 Predict 하고 Correct 하는 과정입니다. Predict 과정은 Prior를 얻는 Maximum Likelihood method가 되며, Correct하는 과정은 Bayesian의 Posterior를 얻는 과정입니다. 최대우도법 (Maximum likelihood)은 확률 적인 개념에서 파라미터를 추정하는 과정입니다. 이는 Error를 최소화 시키는 것 뿐만 아니라 분산을 최소화 시키는 목적이 있습니다. 결론은 파라미터 추정에 있어서 정규분포를 따른다는 가정으로 인해, 최대우도법과 Error를 최소화 시키는 과정인 Least square error랑 동일하게 됩니다. 조건부 확률 (Conditional Probability) 조건부 확률은 베이지안과 MLE(최대우도법)을 이해하는데 있어 가장 기초적인 지식입니다. 조건부 확률이란 밑밥을 깔아두고 확률을 계산하는 과정입니다. 조금 더 정확한 이론으로 말씀드리면 어떠한 사건(B)가 일어났을 때, (A)가 일어날 확률은 얼마 인가? 를 계산하는 것입니다. P(A|B)= \frac{A(A \cap B)}{P(B)}=\frac{A(A , B)}{P(B)} \tag{1} 가정사항이 분모로 나누고, B가 일어났을 뒤 A가 일어나게 되니 분자에는 교집합 형태의 확률이 나타납니다. Likelihood (칼만필터) Likelihood는 최대 가능도라고 해서, 어떠한 파라미터를 예측하는데 사용하게 됩니다. 이는 A,B,C… 사건들이 동시에 일어날 확률들을 추론할 때 사용됩니다. 즉, 교집합에 대한 확률을 예측하는 정도가 됩니다. 교집합의 표현은 식 (1)의 연장선이 됩니다. 교집합 형태의 식을, 조건부 확률과 P(B)의 형태로 표현하여 식 (2)의 형태로 변형 시켜줄 수 있습니다. P(A,B)=P(B)P(A|B) \tag {2} 식 (2) 의 변수량을 늘리게되면, 실험 데이터 값에 대하여 확률적인 표현을 해주게 됩니다. 이는 Lik...

Q-Learning, SARSA

이미지
안녕하세요. 화공공대생입니다. 이전 포스팅에서 대략적인 Temporal Difference(TD) Method에 대한 내용을 다뤘습니다. 해당 글은 여기 참조해주세요. Q-Learning 은 TD Method에서 off policy인 경우에 해당합니다. 먼저 On policy인 Sarsa에 대해서 소개드리고, Q-Learning에 대하여 소개 드리겠습니다. SARSA SARSA는 State Action Reward State Action의 약어 입니다. 이는 Q Value를 표현하는데로 부터 나오게 되었습니다. Q Value의 업데이트 순서를 보면 다음과 같습니다. State Action(Qvalue(old)), reward, State and Action(Qvalue(New)) Q(s_t,a_t) \leftarrow Q(s_t,a_t)+\alpha[r_{t+1} +\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t)] SARSA 알고리즘 On policy라고 했으니, Policy는 \epsilon -greedy 같은 알고리즘을 써줘서 평가 해볼 수 있겠습니다. 알고리즘의 내용은 다음과 같습니다. State에 대해서 정의 State s에서 Q policy에 따라 Action a 선택. 2.1 loop (모든 에피소드에 대하여 다음과 같이 평가) 2.1.1 모든 Action에 따라 변화되는 State 및 Reward를 확인 2.1.2 s’에 따라 action a’ 선택 (Q-policy) 2.1.3 Q-Value Update (SARSA) 2.1.4 State , Action set update. Action value를 평가하는 알고리즘의 핵심은 2.1.1 라고 볼 수 있습니다. 또한, 방식은 2.1.3을 따라 Q-value 들을 평가 해줄 수 있게 됩니다. 여기서 조금 헷갈리 실 수 있는데, Q-policy는 Q-Value에 따라서 Action의 Probability가 달라지게 됩니다. 즉, On policy로 Pol...