ゲーム「原神」では実際に深層強化学習が使われ、オープンソース化されている

ゲーム「原神」では実際に深層強化学習が使われ、オープンソース化されている

[[425402]]

『原神』で魚が釣れないとまだ悩んでいますか?テイワットでの釣りについての遅ればせながらのガイドです。

ゲーム好きの方なら、プレイしたことはないかもしれませんが、「原神」というゲームの名前を聞いたことがあるはずです。

賛否両論のゲームではありますが、「原神」が現在最もホットなゲームの一つであることは認めざるを得ません。

特に海外では『原神』は絶大な人気を誇っていると言えます。

パブリックベータ版以来、国内外の話題やモバイルゲーム収益ランキングで繰り返しトップを獲得してきたこのオープンワールドアドベンチャーゲームは、今年9月にバージョンアップし、マップを追加/強化し、ミニゲーム「釣り」をリリースしました。ゲームには複数の水域に釣りスポットがあり、場所によって釣れる魚が異なります。

これは非常に一般的な遊び方ですが、それでもプレイヤーを惹きつけ、長居させています。一般的に釣りは、竿を投げる→魚が食いつくのを待つ→竿を上げるという3つのステップに分かれます。関係する原則には、デジタル画像処理と機械学習に関する一定の基礎知識が必要です。このモデルは、魚群の位置と識別、および竿を引くこと(魚と遊ぶこと)の 2 つの部分に分かれています。

多くのプレイヤーが釣りガイドを探しています。『原神』で魚が釣れないとまだ悩んでいますか?今日はテイワットでの釣りガイドを遅ればせながらお届けします。

この釣りガイドは完全にあなたの手を解放すると言えます。操作を必要とせず、プログラムを起動するだけで完了します。オンラインになってからわずか数日で、700 以上の星を獲得しました。

GitHubアドレス: https://github.com/7eu7d7/genshin_auto_fish

興味のある方は、Bilibili でこの動画を視聴することもできます。動画はオンラインになってからまだ 3 日も経っていませんが、再生回数は 44 万回を超えています。画面を埋め尽くすコメントの集中砲火はとんでもないものだ。

すでに一部のネットユーザーはこれを使い始めており、「導入され、一晩でアナコンダがダウンロードされました」とコメントしています。

Bステーションアドレス: https://www.bilibili.com/video/BV1964y1b7vV?spm_id_from=333.905.b_7570566964656f.3

プロジェクト紹介

Genshin Impactの自動釣りAIは、 YOLOXとDQNの2つのモデルで構成されています。さらに、このプロジェクトでは、トレーニングに転移学習と半教師あり学習も使用しました。このモデルには、OpenCV などの従来のデジタル画像処理方法を使用して実装された学習不可能な部分も含まれています。

  • YOLOX は、魚の位置を特定して種類を識別し、釣り竿の落下地点を特定するために使用されます。
  • DQN は、力が最適な領域内に収まるように、釣りのプロセスでクリックを適応的に制御するために使用されます。

インストール

このプロジェクトは Python ランタイム環境で使用されます。まず Python をインストールする必要があります。Anaconda が推奨されます。

環境を構成する: Anaconda プロンプト (コマンド ライン インターフェイス) を開き、新しい Python 環境を作成してアクティブ化します (Python 3.7 以下を推奨)。

  1. conda create -n ysfish python= 3.6
  2. conda ysfish をアクティブ化

プロジェクト コードをダウンロードします。git を使用してダウンロードするか、GitHub Web ページから直接ダウンロードして直接解凍します。

  1. gitクローンhttps://github.com/7eu7d7/genshin_auto_fish.git

依存ライブラリのインストール: コマンド ラインをこのプロジェクトが配置されているディレクトリに切り替えます。

  1. cd genshin_auto_fish

依存関係をインストールするには、次のコマンドを実行します。

  1. python -m pip インストール -U pip
  2. Python 要件.py

グラフィック カードをアクセラレーションに使用する場合は、CUDA と cudnn をインストールする必要があります。インストール後、上記のコマンドを無視し、次のコマンドを使用して GPU バージョンをインストールします。

  1. pip インストール -U pip
  2. python requirements.py --cuda [cuda バージョン]
  3. # たとえば、CUDA11.x をインストールした場合
  4. Python 要件.py --cuda 110

yolox をインストールします。コマンド ラインをこのプロジェクトが配置されているディレクトリに切り替え、次のコマンドを実行して yolox をインストールします。

  1. python セットアップ.py 開発

事前トレーニング済みの重みのダウンロード: 事前トレーニング済みの重み (.pth ファイル)、yolox_tiny.pth をダウンロードします。ダウンロード後、重みファイルをプロジェクト ディレクトリ/weights に配置します。

YOLOX トレーニング ワークフロー: YOLOX 部分では、ラベル付けに半教師あり学習を使用します。少数のサンプルにラベルを付けた後、トレーニング モデルは残りのサンプルに対して疑似ラベルを生成し、手動で修正して継続的に反復することで精度を向上させます。サンプルサイズが小さいため、COCO 事前トレーニング済みモデルで転移学習と微調整を使用します。

yolox/exp/yolox_tiny_fish.py の self.data_dir の値を、解凍後に 2 つのフォルダーが配置されるパスに変更します。

トレーニングコード:

  1. python yolox_tools/train.py -f yolox/exp/yolox_tiny_fish.py -d 1 -b 8 --fp16 -o -c weights/yolox

DQN トレーニング ワークフロー: 制御強度は、強化学習モデル DQN を使用してトレーニングされます。 2 つの進捗の差は、モデルの学習方向を提供するための報酬として使用されます。モデルと環境間のインタラクティブな学習。

Genshin Impactで直接トレーニングするには時間がかかります。まず、漁獲力制御操作を大まかにシミュレートするシミュレーション環境を作成する必要があります。シミュレーションでモデルを事前トレーニングします。このモデルはその後、ドメイン間の移行を実現するために Genshin Impact に移行されました。

シミュレーション環境の事前トレーニングコード:

  1. python トレーニングシミュレーション.py

Genshin Impact ゲーム内トレーニング:

  1. python トレイン.py

走る

上記の準備が完了したら、釣り AI を実行できます。コマンドライン ウィンドウは管理者権限で起動する必要があることに注意してください。

グラフィック アクセラレーション:

  1. python fishing.py イメージ -f yolox/exp/yolox_tiny_fish.py -c weights/best_tiny3.pth --conf 0.25 --nms 0.45 --tsize 640 --device gpu

CPU操作:

  1. python fishing.py イメージ -f yolox/exp/yolox_tiny_fish.py -c weights/best_tiny3.pth --conf 0.25 --nms 0.45 --tsize 640 --device cpu

実行後、init ok が表示されたら、r キーを押して釣りを開始します。Genshin Impact は全画面にする必要があります。パフォーマンス上の理由により、検出ボックスはリアルタイムで表示されず、処理操作はバックグラウンドで実行されます。

実装の詳細については、元のプロジェクトを参照してください。

<<:  AIを活用したリアルタイムの脅威インテリジェンスでサイバー脅威に対抗する方法

>>:  リザーブプールコンピューティングにおける新たなブレークスルー:ニューロン数が少なくなり、コンピューティング速度が最大100万倍に高速化

ブログ    

推薦する

...

...

...

...

AI人工知能がアパレル業界に侵入し、大量の「鉄丼」が解雇に直面!

[[238920]]ファッション業界における人工知能(AI)技術の応用はますます深く広範囲になって...

あなたの顔データはどこに保存されますか?

AI顔変換ソフト「ZAO」やMegviiのキャンパス顔認識をめぐる論争に続き、17万件の顔データが...

ニューラル ネットワークが適切に機能するには、なぜ十分なパラメータが必要なのでしょうか?

従来、パラメータの数が満たすべき方程式の数より多い場合は常に、パラメータ化されたモデルを使用してデー...

...

Googleの華博士がICCV2021で新モデルを発表、卵を泡立てるだけでパンケーキを作りたいかどうかがわかる

機械学習モデルが現実世界でますます使用され、導入されるようになると、AI の意思決定は人々の日常生活...

...

Amap、ADAS警告ナビゲーション機能を発表:視覚AI技術を使用して車両と歩行者の衝突をインテリジェントに警告

11月18日、高徳地図の新バージョンは革新的なADAS警告ナビゲーション機能をリリースしました。視覚...

1080ti だけで、リモートセンシング画像内のピクセルレベルでターゲットを見つけることができます。コードデータセットがオープンソース化されました!

長すぎて読めないこの論文では、新しいタスクである方向リモートセンシング画像セグメンテーション (RR...

...

...