この記事は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も必須です。このプロジェクトでは、 Litematicaとcarpetmod という2 つの mod をインストールします。 また、 Python3経由でPyTorchとnbtlibをインストールする必要があります。 次のステップは「エリクサーを改良する」ことです。まず、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 |
<<: マスク氏はめったに敗北を認めず、李開復氏はもはや車を食べる様子を生放送する必要はなく、この自動運転車事件は終わった
製薬会社における人工知能 (AI) の活用は、より優れた診断の提供、より高品質の医薬品の開発、患者に...
[[323332]]この記事では主に、オブジェクトが生きているかどうかを判断する方法を説明し、Jav...
ChatGPT などのモデルは、人間のフィードバックからの強化学習 (RLHF) に依存しており、注...
翻訳者 | 崔昊校正 | 梁哲、孫淑娟1. はじめにこの記事では、Deep Graph Librar...
[51CTO.com からのオリジナル記事] モバイル インターネットの発展の初期から現在に至るま...
人間が自分よりも賢いものを創造できる理由について考えたことがありますか?あなたは、人工知能というこの...
7月10日、DeepFakeは特定の人物の写真、動画、音声を生成できる一連のAIモデルの総称である...
ビデオ監視はAI導入の注目分野だが、新型コロナウイルス感染症のパンデミックにより、公衆衛生への対応を...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
2017年、『エコノミスト』誌は、石油ではなくデータが世界で最も価値のある資源になったと宣言し、この...
多くの友人から、産業用ロボットのプログラミングにはどの言語が使用されるのかと尋ねられました。今回は、...