본문 바로가기

인공지능/강화학습5

HungryCat강화학습3 - BC + DQN 알고리즘 (with ML-Agent) 개요 이번에는 전문가가 직접 플레이한 샘플을 인공지능이 학습하도록 하는 BC 알고리즘을 사용해 보았다. 하지만 결과는 여전히 첫번째 파이프를 못넘었기 때문에 추가적으로 이 학습된 모델을 load하여 DQN 알고리즘으로 추가적으로 학습시켜 보았다. BC알고리즘 파이토치 구현 import numpy as np import random import copy import datetime import platform import torch from torch import nn import torch.nn.functional as F from torch.utils.tensorboard import SummaryWriter from collections import deque from mlagents_envs.env.. 2023. 8. 5.
HungryCat 강화학습2 - DQN 알고리즘 (with ML-Agent) 개요 저번 A2C에 이어서 이번에는 DQN방법으로 학습시켜 보았다. 프로젝트의 변경점은 state가 4개에서 6개로 증가되었다. 이미 지나간 pipe의 위치정보 또한 인식해야 올바르게 학습이 되는 환경이라 생각하여 지나간 pipe의 정보또한 state에 넣어주었다. 파이토치 코드 import numpy as np import random import copy import datetime import platform import torch from torch import nn import torch.nn.functional as F from torch.utils.tensorboard import SummaryWriter from collections import deque from mlagents_envs.. 2023. 8. 3.
HungryCat 강화학습1 - A2C 알고리즘 (with ML-Agent) 개요 내가 만든 모바일 게임인 HungryCat을 유니티 ML-Agent를 이용해서 강화학습 시켜보려고 한다. 다운로드 링크 : https://play.google.com/store/apps/details?id=com.Truer.HungryCat Hungry Cat - Google Play 앱 배고픈 고양이는 물고기가 먹고싶어요! play.google.com 먼저 게임 소개를 간단히 하자면 플래피 버드와 게임 방식이 똑같다. 터치하면 고양이가 점프를 하고, 굴뚝 사이를 지나가면 되는 게임이다. 먼저 강화학습을 위해 state, behavior, reward를 정의해 보겠다. State state는 2가지 방식을 생각할 수 있다. 첫째로는 RenderTexture를 활용한 화면 캡처 방식 두번째로는 오브젝.. 2023. 8. 3.
REINFORCE 알고리즘을 이용한 CartPole 강화학습 1.배경 인공지능은 간단하게 보면 함수를 만드는 것. 입력층 -> 은닉층 -> 출력층 목표 : CartPole 게임을 오래 하는 인공지능 만들기 ->DQN에서는 state를 입력하면 어느 행동을 하는 것이 좋은지 행동가치 함수를 만들었음 Reinforce 알고리즘 에서는 각 행동을 할 확률을 출력하도록 만드는 것이 목표. 즉 인공신경망 자체가 어떤 행동을 할지 결정하는 정책함수가 됨. 학습을 위해서 해당 정책이 얼마나 좋은지 평가해야함. -> 정책목적함수 정의 정책목적함수 J(θ) : θ라는 파라미터를 가진 정책함수 π를 평가함. 정책목적함수만 정의하면 경사상승법을 사용해서 정책목적함수를 극대화하는 방향으로 파라미터를 학습을 하게 만들면 됨. reinforce 알고리즘에서는 정책목적함수로 MDP의 가치평.. 2023. 6. 10.