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

ゲームAI

はじめに

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の使い方を学べます。

file

Just a moment...

質問・問題点

  • フォーラムで"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.

Beginners
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.

Experts
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.

Researchers
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
Q-Learning
More flexibility in Neural Network structure
CNNs
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".

開発記録

デモ動画

@maki.sunwood.ai.labs

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

♬ original sound - Maki@sunwood.ai.labs

参考サイト

Just a moment...

コメント

タイトルとURLをコピーしました