Atari ゲームを使って人工知能を研究するのは、ちょっと現実的ではないと感じますか?これでゲームボーイエミュレーターが使用できるようになります。
80 年代や 90 年代に生まれた多くの人々にとって、任天堂のゲームボーイは青春時代の大きな部分を象徴しています。私たちがよく知っているゲームの多くは、有名な「マリオ」や「ゼルダ」シリーズを含め、もともとこの 8 ビット ゲーム コンソールにインストールされていました。国内のプレイヤーにとって、最も多くプレイするゲームはおそらく「ポケモン」シリーズでしょう。 このゲーム機が最初に発売されてから30年が経ちましたが、人々の熱狂はまったく衰えていません。昨日、Python で書かれたゲームボーイ エミュレーターがソーシャル ネットワーク上で大きな注目を集めました。 青春が戻ってきた?著者のRedditへの投稿はすぐに何千ものいいねを獲得した。 プロジェクトの作者の一人である Mads Ynddal 氏が、PyBoy バージョン 1.0 の正式リリースを発表しました。 PyBoyとは何ですか? つまり、これは Python で完全にゼロから書かれたゲームボーイ エミュレーターであり、API 経由でスクリプトをサポートしています。研究者らは、Cython を使用してソフトウェアをコンパイルできるようにする型定義を追加し、C および C++ で記述されたシミュレーターに匹敵するパフォーマンスを実現しました。 プロジェクトリンク: https://github.com/Baekalfen/PyBoy 特徴 PyBoy は Python 経由でアクセスできるように設計されており、実験研究、ロボット工学、人工知能に取り組む人々をサポートし、奨励します。研究者たちはゲーム固有のラッパーを構築しており、現在、プログラマーはゲームボーイに関する詳細な知識を必要とせずにテトリスやスーパーマリオを操作できるようになっている。ドキュメントを参照できます: https://docs.pyboy.dk。 プロジェクトの作者たちは、より珍しい機能を学び、試してみたかったので、大学のプロジェクトの研究に基づいて、エミュレーターに巻き戻し機能を追加しました。これにより、どのゲームでも時間を巻き戻すことができます。 PyBoy エミュレータのアーキテクチャ 1990年に任天堂はゲームボーイの特許を申請した。次の図は、特許における CPU、RAM、カートリッジ、ディスプレイの統合と接続を示しています。 ゲームボーイの特許からのアーキテクチャ図。 これを基に、PyBoy プロジェクトのメンバーは各コンポーネントのクラスを Python で作成し、「ホスト システム」(Python が実行されるシステム) 上に「クライアント システム」の基盤を構築しました。クライアント システムは仮想 Game Boy ハードウェアであり、理論上は Game Boy 用に作成されたすべてのソフトウェアを実行できます。 次の図は、PyBoy シミュレーター内のすべてのクラスとそれらの関係を示しています。 PyBoy が強化学習にもたらす意味と他の環境との比較 長年にわたり、多くの人がゲームボーイエミュレーターを開発しており、現在ではコンピューターと携帯電話の両方で実行できるツールも存在します。なぜ Python で書くのでしょうか?もちろん、人工知能のトレーニングにも使われます。
ゲームをプレイしたいですか?ゲームボーイは、現代の人にとってはちょっと「使いにくい」ものかもしれません。 汎用人工知能に最も近いアプローチ - 強化学習 汎用人工知能の概念は、人間が実行できるあらゆる知的タスクを機械がうまく完了できる能力を指します。現時点では、AI に関する研究はまだこの目標からは程遠い。Andrew Ng 氏は以前、ディープラーニングは高次元の「曲線フィッティング」のみを行うと述べていた。 事前に収集されたデータに依存する機械学習アルゴリズム(大量の手動ラベル付けも必要)とは異なり、強化学習は環境報酬のみでトレーニングされるアルゴリズムです。その動作メカニズムは人体のドーパミン システムに似ています。強化学習は現在、経験から学ぶ人間の能力に最も近い機械学習アルゴリズムであり、インテリジェントエージェントが環境に基づいて決定を下す必要があるシナリオに特に適しています。 下の図は、RL エージェントがゲーム画像のみを入力として使用してマリオの制御ポリシーを学習する方法を示しています。 なぜ RL に関する研究が、他のより実用的な問題ではなく Atari でこれほど多く行われているのでしょうか?
以下は Atari 環境の例です。 Atari、PySC2、その他の環境とPyBoyとの比較 前のセクションでは、Atari 環境で RL エージェントをトレーニングする多くの利点を紹介しました。ただし、RL の発展に伴い、この比較的単純な環境は徐々に新しい RL 研究には適さなくなっています。少し前、DeepMind が提案した Agent57 は、すべての Atari 環境で人間のプレイヤーの平均レベルを上回りました。これは、Atari 環境での RL 研究が徐々に終わりに近づいていることを示していました。 さらに難しい環境としては、DeepMind と Blizzard のコラボレーションによる PySC2 があり、インテリジェント エージェントが複雑な協力戦略と対立戦略を学習する必要があります。 AlphaStar はこの環境で素晴らしい成果を達成しましたが、解決すべき問題はまだ数多く残っています。以下は PySC2 環境の図です。 PyBoy 環境の難易度は Atari と PySC2 の中間にあると言え、RL パフォーマンスを検証するための新しいベンチマークを提供します。 RL をより複雑な現実世界の問題に適用する前に、この中程度の難しさの環境で低コストで効率的なテストを実施できます。 テスラのAIおよび自動運転ビジョン担当ディレクターのアンドレイ・カルパシー氏は、「バズーカ砲に手を伸ばす前に、必ずBBガンを試してみるべきだ」と語った。 Githubの紹介 インストール方法は? Python を実行するように設定された環境がすでにある場合は、インストールは非常に簡単です。
PyBoy は、ターミナル $ pyboy file.rom から直接使用することも、Python スクリプトで使用することもできます。
このプロジェクトは、macOS、Raspberry Pi (Raspbian)、Linux (Ubuntu)、Windows 10 もサポートしています。 PyBoy API ドキュメント ユーザーが独自のロボットや AI を作成する必要がある場合、それをサポートするために使用されるすべての外部コンポーネントは PyBoy ドキュメント (https://baekalfen.github.io/PyBoy/index.html) で見つけることができます。さまざまなクラスとその使用方法は非常に詳細なので、ここでは 1 つずつ説明しません。 (構造インデックスは下記参照) 短い例 PyBoy は Python のオブジェクトとして読み込むことができます。したがって、別のスクリプトから初期化し、そのスクリプトによって制御およびプローブすることができます。ゲームとやりとりする粗雑な「ボット」である gamewrapper_tetris.py を見てみましょう。もちろん、すべての外部コンポーネントは PyBoy のドキュメントに記載されています。 Game Boy の一般的なドキュメントについては、すべてのトピックに関する詳細な情報が記載されている Pan Docs をご覧ください。 以下は画面からデータを読み取る簡単なデモンストレーションです。このコードは gamewrapper_mario.py にも記載されています。
スーパーマリオランド ROM をロードした状態で上記のコードを実行すると、以下のイメージとターミナル出力が得られます。マリオのパターンはインデックス 0、1、16、17 で表示されることに注目してください。 著者について このプロジェクトの作者であるAsger Anders Lund Hansen氏、Mads Ynddal氏、Troels Ynddal氏はいずれもデンマーク出身です。デンマークのコペンハーゲン大学を卒業したマッズ・インドダル氏は、実はこのゲームボーイエミュレーターは、彼が大学時代に2015年に始めたプロジェクトにまで遡ることができると語った。
ゲームボーイ エミュレーターのバージョン 1.0 がリリースされましたが、開発者が行うべき作業はまだたくさん残っています。プロジェクト開発者らは、現在進めることができる方向性としては、シミュレーターへのサウンド、カラー、ゲームボーイシミュレーション接続の追加、さらに多くのゲームのパッケージ化、そしてもちろん、シミュレーター上でのニューラルネットワークのトレーニング例などがあると述べた。 皆さんの努力でゲームボーイのゲームも復活できるといいですね。さらに重要なことは、現在では人工知能を訓練するという任務を負っていることです。 |
<<: AI を使って「手を洗ってください」を 500 の言語に翻訳する方法
>>: 百度研究所が新しいAIツールを発表:10分以内に記事を自動的に動画に変換可能
ランダム化ヒルクライミングは最適化アルゴリズムです。検索プロセスの一部としてランダム性を使用します。...
次のような疑問を持ったことはありませんか?人工知能は非常に人気があります。従来のプログラマーとして、...
モバイルインターネット時代の到来により、AIは前例のない成果を達成し、人々の生活のあらゆる側面に入り...
今日、ビジネスに役立つ新たなテクノロジートレンドが数多く存在します。ビジネスマンとして、新しいトレン...
[[435758]]序文モノのインターネット (IoT) の発展により、さまざまな無線信号 (Wi...
DNAの二重らせん構造やブラックホールの存在など、いくつかの科学的発見は何か新しいことを明らかにする...
20 年後の旅行と交通の未来はどうなるでしょうか? おそらく、この質問への答えははるかに複雑です。...
過去数年間、小売業界はテクノロジーによって革命を起こしてきました。店舗の日々の運営方法から、消費者の...
翻訳者 | 李睿レビュー | Chonglou制作:51CTO テクノロジースタック(WeChat ...
米国現地時間6月16日から20日まで、コンピュータビジョンとパターン認識の分野における世界有数の学術...
「中国の新世代人工知能開発報告書2020」(中国語版と英語版)が本日、浦江イノベーションフォーラムで...
[51CTO.comより引用] 時代のトレンドである最先端技術として、人工知能はニュースという形で人...