前にDQNの再現の記事を書いてからほぼ1年が空いてしまいました.DQNの新しい論文が2月にNatureに載ったのは記憶に新しいですが,それから研究はさらに加速し,最近では自分の感覚としてはarxiv含めて平均すると1週間に1論文くらいのペースで深層強化学習の研…
概要 深層学習フレームワークCaffeを使って,Deep Q-Networkという深層強化学習アルゴリズムをC++で実装して,Atari 2600のゲームをプレイさせてみました. Deep Q-Network Deep Q-Network(以下DQN)は,2013年のNIPSのDeep Learning Workshopの"Playing At…
Caffeとは CaffeはBerkeley Vision and Learning Centerというところが中心となって開発している深層学習(Deep learning)フレームワークです.公式サイトの記述によれば 速い("We believe that Caffe is the fastest CNN implementation available") GPU…
2014年のInternational General Game Playing Competition(IGGPC)の参加記録です.IGGPCは2005年から毎年開催されているGeneral Game Playingの世界大会です. General Game Playingとはなにか ゆるい概要についてはゲームAI研究について何も知らなくても…
概要 最近word2vecという単語のベクトル表現を学習して単語の意味を足したり引いたりできるものが流行っていて面白そうだったので試しにMagic: The Gatheringについて学習させてみました.card2vecは勝手に作った造語です. 手順 自然言語処理をなにも知らな…
C++でcharからstd::stringへの変換(文字から文字列へ,例えば'a'から"a"へ)をどうするか,すごく簡単そうに見えていざ検索してみるとchar[]とstd::stringの間の変換についての記述しか見つからなかったので書いておこうと思います. 「std::stringのコンス…
概要 あるサーバ上でC++11の機能をフルに使いたかったがGCCが古かったのでGCC 4.8.2を新たにインストールした.管理者権限が無いのでソースからコンパイルして$HOME/localにインストールした. 環境 OS Linux x86_64 元のGCC 4.3.2 手順 # Download GCC 4.8.…
プログラミング中などによくある「Vimでテキストファイルを開いたら^@という文字が表示されてるけどこれどういう意味だっけ」「Makefile中の$Googleは悲しいほどに無力です.そんなときの選択肢. Stack Overflowで検索する 記号検索が可能な質問サイト.大…
D. Mnih et al. (2013), "Playing Atari with Deep Reinforcement Learning" 強化学習におけるDeep Learningの試み Q-learningにおけるQ関数の学習に3つの隠れ層を持つネットワークを用いる(Deep Q-Network,略してDQN) 入力は画面のピクセルの縮小・グレ…
環境 MacBook Mid 2010 LionからMavericksにアップデート 症状 ホットコーナーからスクリーンセーバーを開始するように設定していたところ,OS X Mavericksにアップデートしてから,ホットコーナーにカーソルを移動させてもスクリーンセーバーが表示されなく…
こういう同値を表す矢印の上に三角形を載せた記号を板書で見て,使い方から「定義」っぽいなと思いつつも自信がなかったので質問してみたところやはり「定義」という意味でした.「同値 三角形 記号」とかで検索しても全然出てこないのでメモしておきます.…
使う予定はとくにありませんが,授業で見て面白かったので書いてみました.安定結婚問題 - Wikipedia """ Gale-Shapley Algorithm """ import random def shuffled(lst): tmp = lst[:] random.shuffle(tmp) return tmp n = 10 men = ["M" + str(i) for i in …
LaTeX Beamerのデフォルトテーマのダサさに堪え兼ねたのでにカスタムテーマをインストールして使ってみました。 環境 OS Mac OS X(10.8.4) TeX e-pTeX 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013)kpathsea version 6.1.1ptexenc version 1.3.1 …
プログラマにお馴染みのFizz BuzzゲームをGame Description Language(GDL)で書きました.FizzBuzz in Game Description Language version 1一般的なFizz BuzzプログラムといえばFizz Buzzのルール通りに1, 2, Fizz, 4, Buzz, ...と出力するプログラムです…
環境 OSX 10.7.5 Homebrew 0.9.4 YAP 6.2.2 症状 YAPのsave_programで保存した状態を読み込もうとしたが読み込めなかった. restore→Segmentation Fault CインタフェースのYAP_FastInit→[ WARNING: threaded YAP will ignore saved state (ファイル名) ]とい…
General Game Playing Competitionで3回優勝しているCadiaPlayerは動かすまでが結構面倒なので,その手順をメモしておきます. 環境 Ubuntu 12.10 GCC 4.7.2 Boost 1.49.0 YAP Prologのインストール $ cd $ git clone git://yap.dcc.fc.up.pt/yap-6 $ cd yap…
Windows->Preferences->EasyShellでEasyShellの設定画面を開く Shell Open commandの gnome-terminal --working-directory="{1}"を gnome-terminal --working-directory={1}に修正する. Shell Run commandの gnome-terminal --working-directory="{1}" --co…
EasyShell Update site: http://pluginbox.sourceforge.net Eclipse Marketplaceからインストール可能 Project Explorerのツリーから,右クリックでワークスペース内のディレクトリをファイルマネージャ(Explorer/Finder/Nautilus等)で開いたり,端末で開…
片方ばかり使っているともう片方のショートカットを忘れてしまいがちなのでメモ. OS 異なるプログラム間の切り替え 同じプログラム内の切り替え Mac OS X(10.7.5) Command+Tab Command+F1 Ubuntu(12.10) Alt+Tab Alt+半角/全角
環境 Mac OS X 10.7.5 cpp-netlib 0.9.4 GCC 4.7.0 CMake 2.8.11 Boost 1.53.0 手順 http://cpp-netlib.org/0.9.4/getting_started.html#getting-startedの通り https://github.com/cpp-netlib/cpp-netlib/downloadsからダウンロードし~/cpp-netlibに展開 下…
最近,論文のPDFファイルの管理のためにMendeleyというサービスを使い始めました.それまではPDFに題名通りのファイル名をつけた後にDropboxに放り込んでいたのですが,ファイル名をつけるのが面倒だったり,論文を探すのが大変だったりしたので,もっとスマ…
N Noman, L Palafox and H Iba (2013), "Evolving Genetic Networks for Synthetic Biology" 発振器,スイッチ,フィルタ,センサ等の機能を持ったGene Regulatory Network(GRN,遺伝子制御ネットワーク)を設計する Luらが指摘した,次世代の合成遺伝子ネ…
上の動画のパチンコのような機械はGalton Board,Bean Machine,Quincunxなどと呼ばれるものです.球が一段降りるごとに左右にそれぞれ1/2の確率で分かれるように作られているため,珠が最終的に落ちる場所は二項分布に従い,段数を増やせば正規分布に近づき…
JM Font, T Mahlmann, D Manrique and J Togelius (2013), "Towards the Automatic Generation of Card Games through Grammar-Guided Genetic Programming" Card Game Description Languageによって表現されたカードゲームをGrammar-Guided Genetic Program…
B. Georgeot and O. Giraud (2012), "The game of go as a complex network" 囲碁を複雑ネットワークとして捉え,その性質を分析 石の周囲8マスのパターンを1ノードとし,一定距離以内で連続して石が置おかれた場合に有効辺を追加 プロの棋譜とアマの棋譜で…
Cygwinでアスタリスク(*)等のワイルドカードが置換されないときの対処法 $ shopt -s nullglobワイルドカードが置き換えられない - やぎさんはわらばんしをたべるから転載
Matthew Hausknecht, Piyush Khandelwal, Risto Miikkulainen and Peter Stone (2012), "HyperNEAT-GGP: A HyperNEAT-based Atari General Game Player" Artificial Neural Network(ANN)を進化させるNeuroEvolution of Augmenting Topologies(NEAT)がベ…
Install Java JDK 7 on Ubuntu 12.04 (JavaFX is included in the installation) | The Software Notesを参考にして,Ubuntu 12.10 64-bit版にOracle JDK7をインストールしました. $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $…
ヘッダファイルで定義されているdlopen,dlsym,dlerror,dlclose等の関数を用いると共有ライブラリの動的リンクを行うことができます.オブジェクトへのポインタを返す関数へのポインタをdlsymにより取得することで,特定のインタフェースを実装した未知の…
Windows 7では環境変数の編集は スタートメニューの「コンピューター」を右クリックして「プロパティ」を選択 「システムの詳細設定」をクリック 「環境変数」をクリック で現れるウィンドウから行うことができますが、環境変数一覧の欄が小さくて(広げるこ…