2016-02-01から1ヶ月間の記事一覧
○×ゲームに対して、強化学習にニューラルネットワークを組み合わせるということをやってきた。 その中で、複数のインスタンスを同時に学習していくのは、ある程度有効だということが分かった。 ただし、それらの結果を組み合わせる方法が必要という話になっ…
気になったので、さっそく読んでみた。 組み立て×分解! ゲームデザイン ――ゲームが変わる「ルール」のパワー作者: 渡辺訓章,やまい出版社/メーカー: 技術評論社発売日: 2016/02/18メディア: 単行本(ソフトカバー)この商品を含むブログ (5件) を見る ちなみ…
昔のブログで書いた記事から。 書いたのは2010年9月26日。 事の起こり 会社でscreenを使い出すようになって、じゃあ家でもscreenを使えるようにしようと思い、ついでにbashのプロンプトも会社で使っているのと同じにしようと思って、会社での設定を自分のPC…
画面を指でこすってグリグリやるだけでいい感じの音楽が作れるアプリ「PlayGround」が面白かったので、紹介。 PlayGround • オーガニックリミックスHLO S.A.ミュージック無料 操作は画面をこするだけ! アプリを起動すると、いくつかのカタログが用意されて…
音楽を簡単に作れる方法ってないのかなぁ、と思って、いろいろ調べてみたら、顔画像から音楽を生成してくれるサービスを見つけた。 http://face.ipsa.co.jp これがなかなか面白かったので、紹介。 FACE MELODY サイトにアクセスすると、軽快なBGMが。 実際、…
昨日はドロップアウトの実装を行った。 今日はそれで実際に学習を行ってみた。 中間層のユニット数: 128、ドロップさせるユニット数: 32 まず、中間層のユニット数を128、ドロップさせるユニット数を32にして、1,000,000回、2,000,000回、3,000,000回、学習…
昨日は複数のインスタンスを同時に学習するということを試してみた。 これ自体は有効に思われ、あとは複数のインスタンスの出す結果をどうやって統合するのかが課題になった。 その方法の一つとして考えられる、ドロップアウトの実装を行ってみた。 なお、ド…
昨日は中間層のユニット数を増やす実験をしてみた。 大体うまく動いていたけど、そこで出た課題として、自己対戦だと局所的な戦略に特化してしまって、他の場面に出くわしたときにうまく動けないことが多いようだった。 そこで、複数のインスタンスを用意し…
昨日はパラメータをいろいろ変える実験をやってみた。 結論から言えば、そもそも学習がうまくいっていない感じだった。 そして、論文をちょっと調べてみると、○×ゲームに対して関数近似にニューラルネットワーク(+α)を使うものだと、中間層のユニット数に8…
昨日は関数近似にニューラルネットワークを使ったSarsa()法を実装してみた。 けど、うまくいかなかったので、いろいろパラメータを変えてみるということをやってみた。 パラメータテスト パラメータとして調整しないといけないものは、次の4つ: 中間層のユ…
昨日はテーブル型のSarsa()法の実装を行った。 今日はいよいよ関数近似にニューラルネットワークを使ったSarsa()法の実装してみる。 NNSarsaComクラス 関数近似にニューラルネットワークを使ったSarsa()法のクラスは、NNSarsaComクラスとした。 #===========…
昨日は○×ゲームを人がプレイできるようにするところまで実装した。 今日はテーブル型のSarsa()法を実装する。 SarsaComクラス ということで、さっそく。 #==================== # sarsa_com.rb #-------------------- # テーブル型のSarsa(λ) AI #==========…
昨日は強化学習の関数近似として使うニューラルネットワークの実装を行った。 さっそくSarsa()法と組合せたいところなんだけど、その前にいろいろ実装。 Markモジュール まずはマーク(○、×、空白)を表すためのMarkモジュールから。 #==================== …
昨日は強化学習の関数近似としてニューラルネットワークを使うときの勾配計算について書いた。 今日はそのニューラルネットワークを実際にRubyで実装してみる。 ニューラルネットワークの仕様 まず、ざっとした仕様を。 構造 3層ニューラルネットワーク 入力…
昨日書いたとおり、現状ではあまり上手くいってない。 でも、とりあえず書いてみる。 関数近似としてニューラルネットワークを使う Sarsa()法の関数近似としてニューラルネットワークなどを使う場合、その関数のパラメータに関する勾配を求める必要がある。 …
強化学習の関数近似器としてニューラルネットワークを組合せるのを試しにやってみてる。 けど、正直、うまくいってない。。。 とりあえず、現状についてちょっと書いてみる。 ○×ゲームに対する強化学習 試しているのは、○×ゲームに対する強化学習について、…
ストリートビューの風景から場所を当てるゲーム、「GeoGuessr」。 これが面白かったので、紹介。 ここはどこ・・・? 上記のサイトに行って、「SINGLE PLAYER」のボタンを押せば、ゲームスタート。 世界中の「どこか」に飛ばされて、そのストリートビューが…
Twitterを見たいたら、次のようなツイートがあった。 たとえばこの私が我を忘れて映画に没頭していたとする。この場合「世界」と「私」は映画と一致する。そして映画の世界に私が登場しなくても映画を見ることができるように、この世界にこの私が登場してい…
言わずと知れたボードゲームの名作である「カタン」。 自分も「カタン」は仲間内でかなり遊んだけど、好きなゲームの一つ。 他のゲームも遊ぶようになってからはやる機会も減ったけど、昔はホントにこれしかやらなかったし、今でもたまに思い出したようにや…
pagat.com を見ていたら、オススメゲームで紹介されていた「エスコバ」というトランプゲームが面白そうだったので、紹介。 参照したページ: Rules of Card Games: Escoba 概要 「エスコバ」は「ほうき」という意味。 手札を使ってテーブル上にあるカードを…
まず最初に。 Toppa!だけは止めておけ。 この一言に尽きる。 事の起こり 事の起こりは昨年の8月頃。 それまで、家のインターネット回線&プロバイダは「auひかり&BIGLOBE」で、特に不満もなく使っていた。 そこに、営業の電話が入り、「『フレッツ光』に変…
これまでの各記事は以下から。 ニューラルネットワークの構成 多層ネットワーク ニューラルネットワークについて学んでみた。(その1) - いものやま。 活性化関数 ニューラルネットワークについて学んでみた。(その2) - いものやま。 ニューラルネットワ…
昨日は誤差逆伝播法について説明した。 今日は学習を行うときの工夫について。 過適合 ニューラルネットワークの学習で実現したいのは、まだ見ぬデータに対して正しい推定を行えるようにすること。 そのために、訓練データを使って学習をしている。 けれど、…
昨日は多層ネットワークの学習方法について説明した。 今日は多層ネットワークの学習で必要になる、勾配計算について。 勾配の計算 まず、入力 に対する出力 を得るために、次のように入力層から出力層に向かって、各層の出力 を順番に計算していくとする: …
昨日は活性化関数について説明した。 今日は、ニューラルネットワークの学習に関して。 多層ネットワークの関数としての表現 以下では、ニューラルネットワークについて学んでみた。(その1) - いものやま。 で書いた、多層ネットワークについて考えていく…
昨日は基本的なニューラルネットワークの構成について説明した。 今日は昨日説明しなかった活性化関数について説明する。 活性化関数 活性化関数はニューラルネットワークを非線形にするための関数。 一般的には単調増加する非線形な関数で、微分可能なもの…
ゲームのAIを強くするために、強化学習の関数近似で、深層学習(Deep Learning)を使えるようになりたいと思ってる。 なので、深層学習について、以下の本で勉強中。 深層学習 (機械学習プロフェッショナルシリーズ)作者: 岡谷貴之出版社/メーカー: 講談社発…
昨日はポモドーロテクニックについてまとめた。 ポモドーロテクニックをやろうとすると、必要となるのがタイマー。 MacやiPhoneでもポモドーロテクニック用のタイマーアプリはいくつか出てる。 なので、いろいろ試してみた。 結論 結論からいうと、満足のい…
タイマーを使った時間管理術、「ポモドーロテクニック」。 アジャイルな時間管理術 ポモドーロテクニック入門作者: Staffan Noeteberg,渋川よしき,渋川あき出版社/メーカー: アスキー・メディアワークス発売日: 2010/12/16メディア: 単行本(ソフトカバー)…