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

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

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

ブログ    
ブログ    
ブログ    

推薦する

時速55キロ!寧波杭州湾新区のスマート道路に無人車が走行

「無人運転車が次々とゆっくりと停止し、住民が乗車すると、自動的にショッピングモール、オフィス、学校な...

知らないうちに個人のプライバシーを人工知能に「提供」しないでください

[[260334]] BBCによると、IBMは最近、顔認識アルゴリズムの訓練のため、ユーザーの同意を...

ディープラーニング入門: オートエンコーダから変分オートエンコーダまで

オートエンコーダ(AE)は、半教師あり学習や教師なし学習で使用される人工ニューラルネットワーク(AN...

AIがモノのインターネットをどう変えるのか

AI は、ネットワークとデバイスが過去の決定から学習し、将来のアクティビティを予測し、パフォーマン...

...

質問で機械学習を学ぶ: 機械学習とは何ですか?

機械学習は受け入れるのが難しいものです。事件があったらいいな、じゃあ行こうよ〜 Q: 機械学習とは何...

Cloudera China: データと AI は、企業が「反脆弱性」になるのにどのように役立つのでしょうか?

2023年には、個人にとっても企業にとっても「脆弱性」はほぼ普遍的な状態になります。世界経済が大き...

GPT-4 Turbo が Microsoft Copilot に搭載されるようになりました。アクセス可能かどうかを確認する方法は次のとおりです。

開発者、ライター、または AI 愛好家であれば、ChatGPT の開発元である OpenAI の最新...

AR技術が携帯電話業界のブレークスルーとなる

[51CTO.comからのオリジナル記事] スマートフォンの開発はハードウェアの革新においてボトルネ...

アマゾンはドローン配送戦略に再び焦点を当て、労働組合は解雇の可能性に懸念を表明

アマゾンは、同社が「未来を実現する」のに役立つと主張する一連の新しいドローンとロボットを発表した。し...

AI研究所が超大規模知能モデル「Wudao 1.0」をリリース

3月20日、北京人工知能研究院は超大規模知能モデル「五道1.0」を発表した。 「五道1.0」は中国初...

...

中国の「データブリックス」:AIインフラの構築に真剣に取り組む

AI導入の最大の推進要因はインフラのアップグレードです。近年、ビッグデータ分析やAIなどの分野が注目...

ロボットコーチ+模擬運転、焦作全通自動車学校が運転訓練の先駆者

人工知能の発展に伴い、ロボット教育は全国の運転訓練業界で徐々に登場してきました。新しい時代の要求に適...

...