Minecraft でニューラル ネットワークを構築し、操作プロセスを明確に表示する | オープン ソース

Minecraft でニューラル ネットワークを構築し、操作プロセスを明確に表示する | オープン ソース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

疫病の影響もあるのかもしれないが、現実世界で人々の行動が制限される中、ゲームの世界に行き、自分の本性を解放する人が増えている。

まず『Minecraft』が卒業式を開催し、続いて『Animal Crossing』がAIカンファレンスを開催しました。最近、このマスターは「Minecraft」にハードコアなゲームプレイをもたらしました。

彼は落書きをしていたと思いますか?いいえ!実際、彼はニューラルネットワーク推論を行っています。

ニューラルネットワークに詳しい人なら、きっと推測できたはずです。

写真のプレイヤーは、MNIST手書き数字分類ネットワークに取り組んでいます。

剣で壁に数字を描くだけで、ニューラル ネットワークはあなたが書いた数字を認識します。それだけでなく、ニューラル ネットワークの推論プロセス中にどのニューロンがアクティブ化されるかもここで明確に確認できます。

この想像力豊かなプレイヤーはインド出身のAshutosh Satheという男性で、彼のゲームプロジェクトはScarpet-nnと呼ばれています。

Satheは試用動画を公開しただけでなく、コードをオープンソース化しました。Minecraftプレイヤー+ニューラルネットワーク錬金術師であれば、独自のネットワークをゲーム内に組み込むこともできます。

Scarpet-nn は畳み込み層と完全接続層の両方をサポートしており、単一の世界で複数のニューラル ネットワークを実行できます。また、中間テンソルのブロックごとのアクティベーションを表示したり、複数のニューラル ネットワークを同時に実行したりすることもできます。

Sathe 氏はどのようにして Minecraft を使ってニューラル ネットワークを構築するというアイデアを思いついたのでしょうか?

ピクセルアートとニューラルネットワークは完璧な組み合わせ

私の世界におけるピクセル ブロックは、単に 3 次元配列を表示するためのアーティファクトです。直方体のそれぞれの小さなブロックが異なる色を使用して値を表示する場合、直方体はテンソルを表すことができます。

しかし、表現できる範囲は限られており、世界地図のリソースも限られています。ニューラル ネットワークで BERT などを表示するのは明らかに非現実的です。

したがって、バイナリ ニューラル ネットワーク (BNN) を表すには、2 色のブロックを使用するのが最適です。

BNN は、重みとアクティベーションの両方が +1 または -1 の 2 つの値のみを取ることができる、非常に単純化されたニューラル ネットワークです。しかし、コンピューターにおけるバイナリビットの表現は異なります。したがって、BNN では、+1 を 1 として、-1 を 0 として保存します。

このように、BNN での乗算演算は論理ゲートではXOR演算となり、「Minecraft」の論理ゲートはレッドストーン回路を使用して構築できます。

この時点で、Minecraft でニューラル ネットワークを構築するための理論的基礎が完成し、実際の操作を開始できるようになります。

ニューラルネットワークからピクセルモジュールへ

パソコンに「Minecraft」のJava版をインストールする必要があり、サードパーティ製のModも必須です。このプロジェクトでは、 Litematicacarpetmod という2 つの mod をインストールします。

また、 Python3経由でPyTorchnbtlibをインストールする必要があります。

次のステップは「エリクサーを改良する」ことです。まず、PyTorch でバイナリ ニューラル ネットワークをトレーニングします。

Litematica は、ユーザーが最初から回路図を描き、構造を正確に構築し、ブロックを配置する場所を指定するのに役立つモジュールです。

modeltolitematica.py を実行して、ニューラル ネットワークのすべてのレイヤーを異なる Litematica ダイアグラムに変換します。各図にはニューラル ネットワークの 1 つのレイヤーのみが含まれます。

図の紫色は +1 ブロックを表し、緑色は -1 ブロックを表します。

この手順を実行すると、.litematica というサフィックスを持つ回路図ファイルのセットが取得されます。ファイル名はレイヤーに付けた名前と同じです。例: conv1.weight.litematica、fc2.weight.litematica など。対応するファイルをインポートするだけです。

ニューラルネットワークを地面に敷く

畳み込み層は 3 次元空間では表現できない 4 次元配列を生成するため、このプロセスでは圧縮も追加されます。

畳み込み層の一般的な形式は、[c2、c1、fh、fw]です。ここで、c2 は出力アクティベーションのチャネル数、c1 は入力アクティベーションのチャネル数、fh と fw は畳み込みフィルタの高さと幅です。

scarpet-nn は最後の 2 つの次元を乗算して [c2、c1、fh× fw] にし、3D 表示の問題を解決します。

全結合層はすべて2次元であり、表示できない状況はないので調整は必要ありません。

すると、空きスペースに 16×16 の入力画像を描画できます。

畳み込みレイヤーをマップにインポートした後、ニューラル ネットワーク操作を実行できます。

最後に、作者は MNIST ダイアグラム MineCraft ファイル パッケージも提供しています。実際の実行効果を確認したいだけの場合は、公式アカウントの「my world」に返信して入手することができます。

「Minecraft」には素晴らしいプレイヤーが多すぎると言わざるを得ません。以前はコンピューターをゼロから学んだ復旦大学の大学生がいましたが、今ではニューラルネットワークをゼロから構築したインド人がいます。

(関連記事:Minecraft でゼロからコンピューターを作るのはどれくらい難しいのか?復旦大学の学生が 1 年間かけて苦労した)

ただ、現在のモジュールでは、Minecraft でニューラル ネットワークをトレーニングすることはできません。これらの優れたプレイヤーの努力により、将来的には Minecraft を使用してエリクサーを作ることも夢ではなくなると信じています。

ポータル

ブログアドレス: https://ashutoshbsathe.github.io/scarpet-nn/scarpet-apps/twoclassmnist/

Litematica のダウンロード アドレス: http://minecraft.curseforge.com/projects/litematica

ソースコード: https://github.com/ashutoshbsathe/scarpet-nn

<<:  マスク氏はめったに敗北を認めず、李開復氏はもはや車を食べる様子を生放送する必要はなく、この自動運転車事件は終わった

>>:  コロナウイルスを分類する機械学習はわずか数分で完了

ブログ    
ブログ    
ブログ    

推薦する

...

...

JVM 世代別ガベージコレクションのプロセスとアルゴリズムの選択の図解説明

この記事は、JVM の世代別ガベージ コレクション プロセスを紹介し、さまざまなガベージ コレクショ...

MySQL ページング最適化の「ページング アルゴリズムを最適化する INNER JOIN メソッド」はどのような状況で有効になりますか?

最近、偶然にMySQLのページング最適化のテストケースを見ました。テストシナリオを詳しく説明せずに、...

左に狂気、右に合理性、真ん中にアルゴリズム

著者: Qianshan校正:ウー・ムーテクノロジーの進歩により、AIは大きな発展の可能性を示してい...

都市のモビリティの変化: スマートシティにおけるインテリジェント交通

持続可能で住みやすい都市空間を創造するために、世界中の都市がスマートシティの概念を採用しています。こ...

機械学習をマスターするのに役立つ13のフレームワーク

人工知能の重要な分野として、機械学習はますます利用されています。この技術をより早く習得するにはどうす...

世界的EDA大手のシノプシスは米国から情報漏洩の疑いで捜査を受けており、ファーウェイとSMICもその渦中に巻き込まれている。

再度調査中! 世界最大の半導体設計ソフトウェア(EDA)サプライヤーであるシノプシスは、中国に重要な...

量子コンピューティングがサプライチェーン管理を改善する方法

サプライチェーン業務における量子コンピューティングのユースケースでは、意思決定モデル内の複雑で不可能...

2019 年に注目すべき 11 の JavaScript 機械学習ライブラリ

ほとんどの機械学習は Python などの言語で行われますが、フロントエンドとバックエンドの両方にお...

マイクロソフトは、人間と同じようにニュースを翻訳できるAIの画期的な進歩を主張している

米国現地時間3月14日、マイクロソフトの研究者らは、人間と同等の精度でテキストを翻訳できる人工知能を...

デジタルヒューマンとは何か、そしてその将来性はどのようなものでしょうか?

今日の技術的に進歩した世界では、生きているようなデジタルヒューマンが大きな関心を集める新たな分野とな...

人工知能:顔認識技術の応用シナリオの紹介

1. シーン分類 顔認識:セキュリティ監視認識、顔アクセス制御、有名人の顔、VIP ID認識など。人...

緩い時代は終わった:米国の自動運転規制環境は静かに厳格化している

米国の自動運転業界を取り巻く規制環境は静かに変化しつつある。過去10年間、米国は世界の自動運転分野に...

BAIRは、3種類のモデルフリー強化学習アルゴリズムを組み合わせたRLコードライブラリrlpytをオープンソース化しました。

最近、BAIR は強化学習研究コードライブラリ rlpyt をオープンソース化しました。このライブラ...