---
title: UEで強化学習！Learning Agentsで遊んでみた話（Unreal Engine Meetup Hiroshima #3）
tags: 
author: [ツバサムス](https://convert.docswell.com/user/tsubasamusu)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/PEXQMKL1JX.jpg?width=480
description: ・イベントページ：https://ue-hiroshima.connpass.com/event/379637
published: February 24, 26
canonical: https://convert.docswell.com/s/tsubasamusu/KPGV32-learning-agents
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/PEXQMKL1JX.jpg)

UEで強化学習！
Learning Agentsで遊んでみた話
ツバサムス
@tsubasamusu


# Page. 2

![Page Image](https://bcdn.docswell.com/page/3EK9G5LMED.jpg)

自己紹介
フリーランスでUnityやUnreal Engine
などを使ったお仕事をしています！
前職ではUE5を使ってノンゲームのモ
バイルアプリを開発してました。
「ツバサムスBlog」という技術ブログ
もやってます！
Twitter X
ツバサムスBlog


# Page. 3

![Page Image](https://bcdn.docswell.com/page/L73WNK3275.jpg)

Learning Agentsとは
Unreal Engineで強化学習や模倣学習を
行えるプラグイン！
機械学習によって常に最適な行動をと
るNPCを作ったりできる！
C++を触らずにブループリントだけでい
ける！
まずは公式チュートリアルをやってみ
るのがオススメ！
https://dev.epicgames.com/community/learning/cou
rses/GAR/unreal-engine-learning-agents-55/bZnJ/unreal-engine-learning-agents-5-5


# Page. 4

![Page Image](https://bcdn.docswell.com/page/87DKW346JG.jpg)

そもそも強化学習って何？
得られる報酬を最大化するための
行動をひたすら試行錯誤して学習
するという、機械学習の方法の1つ
右に進んだら報酬が増えて左に進んだら報
酬が減ったんやが！
もうこれは右に進むしかないやろ！
車の自動運転やロボットの制御な
どのノンゲームでも使われている
周囲の状況をAIに伝える処理の作成
や報酬の計算が難しく、学習に時
間がかかるといった特徴もある
報酬アップ⤴
AI
報酬ダウン⤵
ゴール


# Page. 5

![Page Image](https://bcdn.docswell.com/page/VJPK94VZE8.jpg)

Learning Agentsでの強化学習の仕組み
なんか目の前に障害物な
いっすか？
ジャンプした方がよくな
いっすか？
お！
ゴールに近づいたやん！
報酬やるわ！
ま、とりあえず右に
進むかぁ
Reward
（報酬）
Action
（Agentの行動）
Interactor
AddAgent() でAgentをManagerに登録する
Manager
Agent ID
Agent
Observation
（周囲の状況など）
Training
Environment


# Page. 6

![Page Image](https://bcdn.docswell.com/page/2EVVMXZMEQ.jpg)

今回チャレンジしたこと
Learning Agentsの強化学習を使って「Side
Scroller」をAIにクリアさせよう！
「Side Scroller」とはUE 5.6から追加された横
スクロール型のテンプレートプロジェクト！
ゴール
スタート
※これは人間がプレイしてます


# Page. 7

![Page Image](https://bcdn.docswell.com/page/57GLGV4XEL.jpg)

環境
UE 5.6.1（ランチャー版）
Windows 11
Learning Agents 0.2（Experimental）


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EQYX6G5JP.jpg)

つまづきポイント


# Page. 9

![Page Image](https://bcdn.docswell.com/page/KJ4W645V71.jpg)

Agentを取得できない問題
InteractorやTraining Environment
でAgentを取得できてないっぽい...
InteractorやTraining Environment
で GetAgent() するときに「Agent
Id」の接続を忘れがち...
公式チュートリアルのページからブ
ループリントをコピペするときにこ
参考にさせていただいた動画でも同様のミスが発生していました...
のミスが起こりやすい！
（https://youtu.be/Xdz7uuXnJFA）


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LE1YV4W47G.jpg)

Agentが移動してくれない問題
Interactor（周囲の状況を把握してAgentに
Actionを指示する人）がAgentに指示した時
だけ移動するような処理だと、Agentがほと
んどその場から動いてくれない...


# Page. 11

![Page Image](https://bcdn.docswell.com/page/GEWGLX6ZJ2.jpg)

Agentをうまく移動させるには？
Interactorに指示された時だけ移動するので
はなく、受け取った値を変数に保存して毎フ
レームその値だけ移動するようにしよう！
この問題に関してはsuzuki takashi様
の記事「LearningAgentで華麗に崖を
飛び越えさせてみたかった」を参考
にさせていただきました！


# Page. 12

![Page Image](https://bcdn.docswell.com/page/47ZLM6YLJ3.jpg)

中盤辺りを越えられない問題
以下の状態で強化学習すると中盤辺りがどうし
ても越えられない...
Interactorが収集できる情報
（Observation）はAgentの速度のみ
Agentがとれる行動（Action）は左右移動
とジャンプのみ
前回報酬を計算した時よりもゴールに近付
いたなら報酬UP
※あまりにも重いのでワイヤーフレーム表
示にしてます


# Page. 13

![Page Image](https://bcdn.docswell.com/page/YJ6WN2DMJV.jpg)

Observationを増やしてみた
正面の障害物の高さ
正面の障害物までの距離
頭上にあるオブジェクトの種類
正面が崖かどうか
接地しているかどうか
などをObservationに追加してみた
が、やっぱり中盤辺りを越えられな
い...
※これはAIがプレイしてます


# Page. 14

![Page Image](https://bcdn.docswell.com/page/GJ5M523QJ4.jpg)

結果
コースの中盤部分を少し改造したら一応はゴールまで辿り着けた！
※プレイしているのは『強化学習モード』 のAI


# Page. 15

![Page Image](https://bcdn.docswell.com/page/9E29N4ZW7R.jpg)

推論モード
推論モード（Inference Mode）はこれまで
の学習結果をもとに実践するモード。
このモード中は新たに学習はしない。
パッケージ化後は推論モードで動かす。
※プレイしているのは『推論モード』 の AI


# Page. 16

![Page Image](https://bcdn.docswell.com/page/D7Y4PMR9EM.jpg)

Tips


# Page. 17

![Page Image](https://bcdn.docswell.com/page/VENY5WDDJ8.jpg)

Visual Logger
ObservationやReward、Action
などの値を確認したいときは
Visual Loggerに出すのがオスス
メ！
レコード後に時間を巻き戻して特
定の時点での値を視覚的に分かり
やすく確認できる！
※Visual LoggerはUE標準の機能


# Page. 18

![Page Image](https://bcdn.docswell.com/page/Y79PYXG8E3.jpg)

Agentの数
Agentが多ければ
多いほど学習効率
が上がる！
※もちろんAgent
が多いほど重くな
ります
1台のみで15分間強化学習させた場合
32台で15分間強化学習させた場合


# Page. 19

![Page Image](https://bcdn.docswell.com/page/G78D62VZ7D.jpg)

まとめ・感想
Learning Agentsを使った強化学習はC++不要で、公式チュートリアル
もあり、手軽に試せる！
初めのうちはスムーズに動けなかったAIが徐々に上手く動けるようにな
っていくという過程を観察できるのは最高に面白い！！
（今回はゲーム寄りな検証内容でしたが、
）ノンゲームでも活かせるの
で、ぜひLearning Agentsで遊んでみよう！


# Page. 20

![Page Image](https://bcdn.docswell.com/page/L7LM9251JR.jpg)

参考記事・参考動画など
【UE5】5時間学習した強化学習AIとピザ宅配バトルしてみた
Learning Agents | Unreal Fest 2024
Learning Agents (5.5)（概要編）
Learning Agents (5.5)（実践編）
LearningAgentで華麗に崖を飛び越えさせてみたかった


