분류 전체보기14 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. DQN을 이용한 CartPole 강화학습 코드 참고 : 첫번째 훈련 - Codetorial 1.배경인공지능은 간단하게 보면 함수를 만드는 것. 입력층 -> 은닉층 -> 출력층 목표 : CartPole 게임을 오래 하는 인공지능 만들기 -> 더 구체적으로는 현재 CartPole의 state를 입력하면, 왼쪽으로 이동하는게 좋을지 오른쪽으로 이동하는게 좋을지 알려주는 행동가치함수 Q(s)를 만드는 것 (s라는 상황에서 왼쪽으로 이동했을 때의 보상과 오른쪽으로 이동했을 때의 보상을 출력) 즉 Q(s)의 출력은 크기가 2인 1차원 배열. 이때 Q(s,a)는 Q(s)에서 a라는 행동을 했을 때의 행동가치. 이때 학습을 위해서는 2가지가 필요함 1.입력 데이터 (state 즉 상황) 2.입력 데이터에 따른 올바른 출력 데이터 우리는 2번째, 올바른 출력 .. 2023. 6. 7. Node.js,Redis : TypeError: Invalid argument type 에러 고치기 SessionStore를 Mysql에서 Redis로 변경 하던 중 나타났던 오류와 해결 방법에 대해서 서술하려 한다. 이번에 redis 모듈이 업데이트 되면서 몇가지가 바뀌었는데 다른 블로그들에 이러한 내용을 찾기가 어려워서 직접 정리했다. 1.레거시 모드 사용하지 않기 //기존 코드 (오류남) const redis = require("redis") const redisdb = redis.createClient({legacymode: true}) 기존에 redis-connect 모듈을 사용하려면 위처럼 legacymode를 true로 변경해줘야 했다. 그러나 업데이트 이후 지원하지 않으므로 //신규 코드 (오류 안 남) const redis = require("redis") const redisdb = .. 2023. 5. 12. 이전 1 2 3 4 다음