【UE5】UE5の新機能「Learning Agents」とは?



Learning Agents」について翻訳・解説の記事を追記していきます。

Learning Agentsとは?

  • Learning Agentsは、UE(Unreal Engine)のプラグインで、AIキャラクターを機械学習を用いて訓練するものです。
  • 従来のゲームAI(行動ツリーやステートマシンを使用したもの)を強化するか、それに取って代わるものとして使います。
  • このプラグインは、強化学習(RL)および模倣学習(IL)のアプローチを使用することができます。
  • 主な用途は、ゲーム内のNPC、物理ベースのアニメーション、自動QAテストなどの制作に役立つことを目指しています。


  • ゲーム開発者、特にAIボットのプログラムを書く人々。
  • 初心者:UEのブループリントシステムへのAPI公開や、PPOおよびBCの既存の学習アルゴリズムを使って、簡単にデモを作成することができます。
  • 専門家:プラグインはライブラリのように設計されており、ゲームが要求する場合にエージェントの訓練や推論の方法を制御することができます。
  • 研究者:PyTorchやTensorboard、Numpyなどのツールと連携し、研究に集中できるようにサポートされています。


  • C++ライブラリ(Blueprintサポート付き)とPythonスクリプトで構成されています。
  • 訓練中は、UEプロセスはPyTorchを実行する外部Pythonプロセスと連携します。
  • ローカルおよびネットワーク化されたPythonプロセスの両方での訓練を目指しています。


  • 他の人気のあるMLアルゴリズムや、より柔軟なニューラルネットワーク構造、安全で暗号化された通信プロセスなどには対応していません。


  • "Learning to Drive"というチュートリアルでLearning Agentsの使い方を学べます。


Learning to Drive | Tutorial
Let's walk through a quick example that shows how each piece of Learning Agents works in practice. During this tutorial, we will train a neural network ...


  • フォーラムで"Learning-Agents"のタグを使用して質問や問題を投稿してください。


Unreal Engineのプラグインで、AIキャラクターを機械学習(強化学習や模倣学習)を使って訓練するツール。


Who is Learning Agents for?
Learning Agents is foremost for game developers, especially those who would be writing AI bots. We created this plugin with the intention of making it much more feasible for developers to train and deploy ML bots in their existing or new games. Developers at all familiarity levels with machine learning should find the plugin beneficial.

We have worked towards exposing the plugin's API to UE's blueprint system and agents can be trained using an existing Proximal Policy Optimization (PPO) reinforcement learning algorithm, as well as a Behavior Cloning (BC) imitation learning algorithm. Our intention is that it should be entirely possible to build a small demo into an indie game quickly.

We are designing the plugin with flexibility and performance in mind. Our goal is that you can get up to speed quickly by leveraging our provided implementations, but that you won't be limited by these. The plugin is designed like a library and not a framework, so you can take control of most aspects of how your agents train and do inference should your game require it.

Learning Agents provides a Python training process that should enable you to leverage tools you are most likely already familiar with such as PyTorch, Tensorboard, Numpy, etc. Out of the box components for communicating with the Unreal process should allow you to focus on your research problems and not on incidental issues.

How does it work?
Learning Agents comes with both a C++ library (with Blueprint support) and Python scripts. The C++ library is an ordinary UE plugin split into a handful of modules. It exposes functionality for defining observations/actions and your neural network structure, as well as the flow-control for the training and inference procedures.  During training, the UE process will collaborate with an external Python process running PyTorch. We included a working PyTorch algorithm for PPO and BC.

We aim to make it possible to train with both a local and networked Python process, and have provided a couple communication protocols to enable each scenario. For scenarios where public privacy/security is required, we don’t currently have an appropriate solution.

Current Limitations
Support for other popular ML algorithms such as:
Soft Actor Critic
More flexibility in Neural Network structure
Memory inputs/outputs
Training process communication that is secure and encrypted
Getting Started
Check out the following tutorial to begin getting familiar with Learning Agents: Learning to Drive

Questions & Issues
Thanks for your interest in Learning Agents! For questions or issues, please post on the forums and use the tag "Learning-Agents".




unreal engine 5.3の新機能を使って強化学習をやってみました 車のエージェントにひたすら学習させることでコースを攻略しています #unrealengine #ue5 #unrealengine5 #AI #強化学習 #ReinforcementLearning #ue53 #car #sportscar

♬ original sound - Maki@sunwood.ai.labs


Learning Agents - Getting Started | Course
Get familiar with Learning Agents: a machine learning plugin for AI bots. Learning Agents allows you to train your NPCs via reinforcement & imitatio...