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

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

[[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新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

Huyaは人間とシーンの分離技術を使用して、顔を覆わずにスマートな弾丸スクリーンを作成します

【元記事は51CTO.comより】 「(段)幕」という言葉はシューティングゲームから生まれたもので、...

デイリーアルゴリズム: 有効な括弧

[[420388]] '('、')'、'{'、...

法律分野で初の「1対多」の人間と機械の競争が始まり、AI弁護士が契約書審査で人間を上回る

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

...

PHP 再帰アルゴリズムとアプリケーションの紹介

PHP は動的な Web ページを開発するための最適なテクノロジーです。プログラミングに役立つ基本的...

マイクロソフトのGitHub Copilotサービスは大きな損失を被っていると報じられており、同社は独自のAIチップを開発してNvidiaに対抗する予定だ

10月10日のニュース、過去1年間、生成AIの流行は多くの企業に莫大な利益をもたらしました。最大の受...

清華大学の博士が「チップレット・アクチュアリー」サミットを提案!ムーアの法則に近づくほど、マルチチップ統合のコスト効率は向上する。

Chiplet は、製品の歩留まり、パッケージの歩留まり、さまざまなコストなどを考慮しながら、大規...

...

データ分析を使用して協調フィルタリングアルゴリズムの2つの一般的な問題を定量化する

[51CTO.com からのオリジナル記事] 推奨システムは登場以来、さまざまな商用製品の問題を解決...

スタンフォードNLPコースXCS224Uのビデオが公開されました。実用的な情報が満載です。ぜひ聞いてください。

会話エージェントから検索クエリまで、自然言語理解 (NLP) は今日の最もエキサイティングなテクノロ...

マスク氏のニューラリンクが人間の脳にインターフェースを挿入するにはどれくらいの時間がかかるのでしょうか?

マスク氏は常にその知名度の高さで知られている。彼はテスラとスペースXという2つの大企業を所有している...

ディープラーニングのためのテキスト前処理方法

[[432936]] [51CTO.com クイック翻訳]昨今、ディープラーニング、特に自然言語処理...

Tmall のプログラマーがハイエンド アルゴリズムを使用して女の子を探す

問題は、アリ・タブロイド紙の公開記事によると: [[93064]] #p#これは本当の、そして少し悲...

Pandasの魅力:データ処理から機械学習まで

パート01、 シリーズとデータフレーム: Pandas のコアPandas の 2 つの主要なデータ...