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

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

[[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万倍に高速化

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

ディープラーニングアルゴリズム

ディープラーニングアルゴリズムは、マシンビジョンにおける巧妙な受信機コンバーターのようなものです。柔...

...

MITは線虫Caenorhabditis elegansにヒントを得て、19個のニューロンを使って自動運転制御を実現

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

建設業界はAIとIoTの次の大きなターゲット

建設業界は、革新、破壊、あるいは何と呼ぼうと、何らかの変化が起こりやすい時期にあります。以前にも書い...

カーネルCF: 推薦システムのための最適リコール戦略

著者 | 王昊レビュー | Chonglouレコメンデーションシステムは誕生以来、特にインターネット...

コード生成のための文法ベースの構造化CNNデコーダー

まとめコード生成は、プログラム記述を実行可能なプログラミング言語のソース コードにマッピングします。...

ディープニューラルネットワークを使用してNER固有表現抽出の問題を解決する

この記事は次のように構成されています。固有表現抽出 (NER) とはどのように識別しますか? cs2...

人工知能と機械学習の違いとその重要性を区別する必要がある

人工知能と機械学習の技術は世界に革命をもたらし、世界をより先進的なものにしていますが、この 2 つの...

...

タイミング解析の一般的なアルゴリズムはすべてここにあります

時系列分析とは、過去の出来事の時間特性を利用して、将来の出来事の特性を予測することです。これは比較的...

Amazon AIテクノロジーの応用と戦略的なレイアウトの詳細な分析:Alexa

アマゾンは時価総額7,900億ドルでマイクロソフトを上回り、世界で最も価値のある企業となった。ジェフ...

MetaのAIディレクターは、AIスーパーインテリジェンスがすぐに実現するとは考えておらず、量子コンピューティングにも懐疑的だ。

メタの主任科学者であり、ディープラーニングの先駆者であるヤン・ルカン氏は、現在のAIシステムが、山の...

AmodalSynthDrive: 自動運転のための合成アモーダル知覚データセット

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...