こんにちは、エンジニアの竹内です。
深層学習を行う際によく利用されるフレームワークといえばGoogleが開発しているTensorflowとFacebookが開発しているPytorchの2大巨頭に加えて、Kerasなどが挙げられるかと思いますが、今回はそのような選択肢の一つとしてGoogleが新しく開発している*1新進気鋭(?)の機械学習フレームワークJAXを紹介したいと思います。
github.com
*1:あくまでリサーチプロジェクトの一つであり、公式の製品では無いらしいです。
こんにちは、エンジニアの竹内です。
深層学習を行う際によく利用されるフレームワークといえばGoogleが開発しているTensorflowとFacebookが開発しているPytorchの2大巨頭に加えて、Kerasなどが挙げられるかと思いますが、今回はそのような選択肢の一つとしてGoogleが新しく開発している*1新進気鋭(?)の機械学習フレームワークJAXを紹介したいと思います。
github.com
*1:あくまでリサーチプロジェクトの一つであり、公式の製品では無いらしいです。
こんにちは、モリカトロン株式会社チーフエンジニアの松原です。
前回記事(AIネット対戦システムの紹介 - Morikatron Engineer Blog)に続きまして、AIネット対戦システムのAIクライアント(ゲームをプレイするためのプログラム)を紹介いたします。まずは「ゲームをプレイするプログラム」の仕組みについて、プログラマ以外の方でもわかるよう説明してみます。そして後半はAIネット対戦システム上でリバーシのランダムプレイヤーを実現するプログラムコードを紹介します。
目次
こんにちは、エンジニアの竹内です。
以前のブログ記事【CFR】不完全情報ゲームを学習するAIを実装してみる【KuhnPoker】 - Morikatron Engineer Blogにて二人不完全情報ゲームのナッシュ均衡を計算的に求めるCounterfactual Regret Minimizationというアルゴリズムを紹介しました。
その際、最終的に得られた戦略プロファイルが解析的に計算されたナッシュ均衡と近い値をとっているかを確認することでアルゴリズムの正当性を示していました。
しかし、この方法では「戦略の更新を繰り返すたびにナッシュ均衡に近づいているのか」がわからないだけでなく、そもそも解析的にナッシュ均衡を計算できないゲームについては最終的に得られた戦略プロファイルを評価することができません。
そこで今回は、二人不完全情報ゲームにおける戦略プロファイルを評価する際に有効な「可搾取量(exploitability)」という指標を紹介し、前回Pythonで実装したCFRアルゴリズムに組み込んでいきたいと思います。
こんにちは、モリカトロン株式会社チーフエンジニアの松原です。
今日は弊社が開発した「AIネット対戦システム」を紹介いたします。
「AIネット対戦システム」はインターネット上でいつでも誰でもゲームの対戦ができるシステムです。AIと人間とが分け隔てなくゲームを楽しめるシステムであると同時に、強化学習のゲームAIプレイヤー育成基盤にもなり得ます。
ゲームAIやボードゲームAIに興味のある方、ゲームAI開発者、AI育成のためのサーバークライアントシステムに興味のある方々は、ぜひご一読ください。
目次
続きを読む
こんにちは、モリカトロンでプログラマをやっています。馬淵です。
先日発表させていただいたCEDEC2020ですが、講演時でのコメントやアンケートが届いたため、今回はそれらに寄せられた質疑応答を私が代表してここに書かせていただきます。
発表時のスライドは以下に投稿してあるので、適宜参照してください。講演時には紹介しきれなかった内容の追記もしてあります。また、講演後に補足という形でブログを投稿しているため、そちらも参照していただけるとより深く理解していただけるかと思います。
cedil.cesa.or.jp tech.morikatron.ai
続きを読むこんにちは、エンジニアの竹内です。
以前の記事でDQNに模倣学習の仕組みを取り入れたDeep Q-Learning from Demonstrationsというアルゴリズムを紹介しましたが、模倣学習には他にもいろいろなアプローチが存在します。
特にエキスパートの行動軌跡から環境の報酬関数を推定する逆強化学習(Inverse Reinforcement Learning)という手法を利用したものは模倣学習アルゴリズムの中でも代表的な手法の1つであり、環境からの報酬が得られない場合でも模倣学習を行う事ができます。
そこで今回は逆強化学習を用いた模倣学習アルゴリズムの中でも特に有用な手法である、敵対的生成ネットワーク(Generative Adversarial Network)を組み合わせたGenerative Adversarial Imitation Learning(GAIL)という手法を紹介し、Tensorflow2で実装していきたいと思います。