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

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

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

ブログ    
ブログ    
ブログ    

推薦する

ソゴウ・チャン・ボー:インテリジェントな運用とメンテナンスは代替ではなくアップグレードです

[51CTO.com オリジナル記事] 「初夏、あなたはついに貴重な年次休暇を楽しむ機会を得ました。...

...

ディープラーニング + OpenCV、Python でリアルタイムのビデオ オブジェクト検出を実現

OpenCV と Python を使用してライブ ビデオ ストリームでディープラーニング オブジェク...

ショッキング? AIがKe Jieを完全に打ち負かす前に知っておくべきこと

[制作|網易智能計画/ 翻訳|炳漢]昨年3月、囲碁が打てる「AlphaGo」が人工知能を一躍有名にし...

モジュール式の機械学習システムで十分でしょうか?ベンジオの教師と生徒が答えを教えてくれます

ディープラーニングの研究者は、神経科学と認知科学からインスピレーションを得ています。隠れユニットや入...

世界のトップ25の人工知能企業

過去数年間で人工知能の利用は爆発的に増加しており、すでに多くのスタートアップ企業や大手企業が独自の ...

大学では人工知能を専攻できるコースはありますか?まだ道のりは長い

教育省は最近、「高等教育機関向け人工知能イノベーション計画」を発表し、「人工知能分野における人材育成...

...

...

人工知能と自然言語処理技術が産業のアップグレードエンジンを牽引

人工知能は将来の技術開発の最前線分野として、ディープラーニング、レコメンデーションエンジン、コンピュ...

自動運転を利用したい人はどれくらいいるでしょうか?

「ブレーキをかけないで、ただぶつかってください!」少し前、ネット上で出回った動画には、顧客が唐DM...

興味深い微表情とAI技術

イギリスの企業が、人が正直に話しているかどうかを識別できるシステムを発明したと言われています。また、...

良いプロンプトを書くときは、これらの 6 つのポイントを覚えておいてください。覚えていますか?

効果的なプロンプトを書くことは、AI とのやり取りを成功させるための鍵となります。優れたプロンプトは...

Iconfinder が著作権侵害を排除する方法、ハッシュ アルゴリズムが画像の複製を検出

Iconfinder は、デザイナー、開発者、その他のクリエイティブ ワーカー向けに優れたアイコンを...

組み込みアルゴリズム: ビッグデータ可変長ストレージアルゴリズム

1. 適用シナリオ高精度のサンプリング結果の場合、最大値には 3 バイト、最小値には 1 バイトが必...