TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

2017-04-01から1ヶ月間の記事一覧

fastTextでwikipediaを学習する

先日の日記でfastTextでWikipediaの要約を学習させたが、期待した結果にはならなかったので、全記事を使って学習し直した。 Wikipediaの学習済みモデルは、 fastTextの学習済みモデルを公開しました - Qiita こちらの方が配布されていますが、MeCabの辞書の…

doc2vecでWikipediaを学習する

先日の日記でTF-IDFでFAQに回答することを試したが、TF-IDFでは質問文の類似度を単語の頻度に重み付けをして測っている。 そのため、単語が完全に一致している必要があり、同じ意味の単語でも異なる単語として認識してしまう。word2vecを使用すると単語をベ…

英語の論文を翻訳する際のTips

機械学習を勉強している際に必ずぶち当たるのが英語の壁である。 有用な論文のほとんどは英語で書かれているのだ。無料で読める論文は arXiv.org e-Print archive で公開されていることが多い。例えば、以下の論文などを無料で読むことができる。 <物体検出…

TF-IDFを使ってFAQに回答する

とある理由からBotについて調べています。最近はAIを使ったBotもありますが、古典的な方法として、あらかじめ質問と回答を用意しておき、ユーザが入力した質問と類似度の高い質問を選んで回答する方法があります。TF-IDFがその代表的なアルゴリズムになりま…

64bitのWindowsにMeCabをインストールする

MeCabの公式のサイトではWindows用は32bitのインストーラしか提供されていないため、64bitのWindowsで64bitのPythonから使おうとすると使用できない。64bit向けには、32bitのインストーラでインストールした後、個別にビルドしたファイルで実行ファイルとラ…

AIで質問の回答を選ぶ

ディープラーニングを使って自然言語の質問に、自然言語の選択肢から回答することを試します。例えば、 Which of the following is the primary advantage of sexual reproduction when compared to asexual reproduction? という質問文に、 (A) There is a …

WindowsでKerasを使う

とある理由でKerasを使い始めました。 備忘録を兼ねてWindowsでバックエンドにTensorFlowを使用してKerasを使う方法について書きます。 環境 Windows 10 Home 64bit Python 3.5.2(Anaconda 4.2.0 (64-bit)) Tensorflow-gpu (1.0.1) Keras (2.0.3) TensorFlow…

Windows(Bash on Windows)でfastTextを使う

word2vecより高速で学習できて精度がよいというfastTextを試してみました。 環境 Windows Home 64bit Bash on Windows 学習用データの準備 確認用にコンパクトなデータセットとして、Wikipediaの全ページの要約のデータを使用した。Index of /jawiki/latest/…

強化学習の教科書

昨日の日記で強化学習の勉強を始めたと書いたが、教科書についてまとめておく。購入した教科書は、昨日の日記で取り上げた と、TD学習を発案した著者による この本である。強化学習を体系的に記述してあり、本格的に学ぶなら後者の本がよいと思う。ただし、…

ホームページのデザイン変更

わりとどうでも良い話ですがホームページのデザインを変更しました。はてなブログに記事を書き始めてからほとんど更新しなくなっていますが、90年代のようなデザインを直したいと思っていました。最近CSSフレームワークの存在を知ったので、人気があるらしい…

強化学習の勉強

コンピュータ将棋の記事をちょっと書いたこともあり、強化学習について勉強を始めました。教科書として用いるのは、 この本です。この本で使用されているサンプルプログラムは、Octaveとg++が使用されいます。 Windowsで最新のOctaveとMSYS2で実行するのに少…

将棋でディープラーニングする その3(棋譜から学習)

プロの棋譜を使って前回の日記で作成したニューラルネットワークの学習を行った。棋譜サイトにあった竜王戦の棋譜を使用した。訓練データとテストデータの数は以下の通り。 訓練データ テストデータ 局数 3744 417 局面数 422852 47242 学習には非常に時間が…

将棋でディープラーニングする その2(ニューラルネットワークの構成)

先日の日記に続き、将棋でのディープラーニングの実装を試す。今回は、ニューラルネットワークの構成を検討する。 ネットワーク構成 ネットワーク構成は、AlphaGoのネットワーク構成を参考にし、13層の畳み込みニューラルネットワーク(DCNN)とする。 位置に…

将棋でディープラーニングする

先日の日記で1行もコードを書かずに、将棋におけるディープラーニングについて考察した。コードを書いて実験しないとただの机上の空論になるのでコードを書いて検証してみたいと思う。 といっても、将棋のプログラムの実装は行ったことがない。 一からコード…

コンピュータ将棋におけるディープラーニングの考察

先日の日記で、コンピュータ将棋とAlphaGoについて言及したが、次のPonanzaがディープラーニングに成功したということで、どのように適用しているのかが気になっている。そこで適当に考察してみる。電王戦のインタビューでもプロの棋譜との一致率について言…

Bonanzaメソッドの解説

昨日、電王戦 Ponanza×佐藤天彦名人の第1局をニコニコ生放送で見ていました。コンピュータ将棋には以前より興味があり、初めの頃から電王戦はウォッチしていました。名人に勝ったPonanzaは、次はディープラーニングを使うということですが、昨日の対戦で使わ…

3Dモデルから学習データを生成する その3(顔の向きを変える)

前回に続きBlenderで読み込んだ初音ミクのMMDモデルを使って、マンガキャラクターの顔パーツ検出用学習データの生成を試みる。前回は、トゥーンレンダリングを使用して3Dモデルからマンガ風の画像を生成した。 今回は、学習データのバリエーションを増やすた…

ボーカル音程モニター(Volcal Pitch Monitor)のバージョンアップ

約3ヶ月ぶりに、ボーカル音程モニター(Volcal Pitch Monitor)のバージョンアップしました。play.google.com変更点は以下の通りです。1.4.4 ・横方向にピンチズームできるようにした ・前回の縦軸の位置を保存するようにした ・縦軸に半音を表示するオプショ…