Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- vsocde 익스텐션
- def validation
- 모델 freeze
- 논문 작성 요령
- 파라미터 수 확인
- Multimodal Large Language Model
- 논문리뷰
- KOSMOS-2
- def train
- Foundation Transformers
- 논문 작성
- Video Understanding
- mqtt
- 모델 구조 변경
- pretrained model layer
- 강화학습
- MLLM
- 특정 layer 추출
- 주식
- 가상환경
- layer 추출
- mPLUG-2
- 특정 layer 동결
- 파라미터 수
- cnn
- DeepNet
- 모델 동결
- 가중치 없이 모델 로드
- 주식 용어정리
- Instruction dataset
Archives
- Today
- Total
시작은 미약하였으나 , 그 끝은 창대하리라
[2]강화학습 Dummy Q Learning 본문
출처:https://www.youtube.com/watch?v=Vd-gmo-qO5E&ab_channel=SungKim
(기반으로 작성된 글입니다)
1. Q의 역할:
2. MaxQ , π*(s) 란?
3. Q(s,a)의미
4. Q Learning 예시
그림설명:
마지막 부부(초록색)에서의 reward는 1 이다. Q햇 (s,a) 식에 의해서,
빨간색박스의값= 1+max(0,0,0,0) = 1 이다.
그림설명:
Q(s_13,a_right)의 값은 위와 같은 계산 과정에 따라 결정 된다.
그림설명:
Optimal policy 를 따라 이동하며 agent가 성공함(초록색에 도착함), 1의 숫자만 따라서 감.
5. Q Learning 정리
6. 실습
6_1 코드
import gym
import numpy as np
import matplotlib.pyplot as plt
from gym.envs.registration import register
import random as pr
def rargmax(vector): # 랜덤하게 argument 간다.
m=np.amax(vector)
indices=np.nonzero(vector==m)[0]
return pr.choice(indices)
# 새로운 게임을 하나 만듬
register(
id='FrozenLake-v3',
entry_point='gym.envs.toy_text:FrozenLakeEnv',
kwargs={'map_name':'4x4','is_slippery':False}
)
env=gym.make("FrozenLake-v3",render_mode='human') # 환경생성
## 학습시키는 과정
Q=np.zeros([env.observation_space.n,env.action_space.n]) # Q 라는 테이블을 만든다.
num_episodes=2000 #반복횟수
rList=[] #2000번 동안 성공횟수
for i in range(num_episodes):
state=env.reset()
state = state[0]
rALL=0
done=False
while not done:
action =rargmax(Q[state, : ])
new_state,reward,done,_,_=env.step(action)
Q[state,action]=reward+np.max(Q[new_state,:])
rALL+=reward
state=new_state
rList.append(rALL)
##결과 출력
print("Sucess rate: "+str(sum(rList)/num_episodes))
print("Final Q-Table Values")
print(Q)
plt.bar(range(len(rList)),rList,color='blue')
plt.show()
주의:
1. state[0]를 함으로 필요한 숫자만 뽑아낸다.
2. env.step(action) 출력 인자값은 5개이다(release 0.25.0 기준)
6_2 실험결과
'인공지능 > 강화학습' 카테고리의 다른 글
[1] 강화학습 기본 개념 정리 (0) | 2024.03.20 |
---|---|
[5] 강화학습 Q-Network (0) | 2023.02.15 |
[4] 강화학습 Windy Frozen Lake Nondeterministic world! (0) | 2023.02.07 |
[3] 강화학습 Exploit&Exploration and discounted future reward (1) | 2023.02.04 |
[1] 강화학습이란? (0) | 2023.01.17 |
Comments