タグ

ブックマーク / aidiary.hatenablog.com (19)

  • Kerasのインストール - 人工知能に関する断創録

    こういうインストール関係の記事はすぐ時代遅れになるので詳細は省くけど、現在の自分の環境など簡単にまとめておきたい。 Ubuntu 16.04 Python 3.5 Anaconda 4.2.0 TensorFlow 0.11 Keras 1.1.0 1. Ubuntuの仮想マシンを作成 普段はWindowsマシンを使っているが、KerasはWindowsとの相性がとことん悪いなと感じる。 KerasのバックエンドとしてTheanoまたはTensorFlowが選べるのだが、TheanoをGPU有効でWindowsにインストール(2015/1/27)するのは意外に大変。入った!と思っても実行時に意味不明の長大なエラーが出たりする。TensorFlowはそもそもWindowsに対応していない・・・そんなわけでWindowsに入れるのはもはやあきらめて仮想マシンを導入した。 仮想マシンだとホスト

    Kerasのインストール - 人工知能に関する断創録
  • CIFAR-10 - 人工知能に関する断創録

    MNISTの数字画像はそろそろ飽きてきた(笑)ので一般物体認識のベンチマークとしてよく使われているCIFAR-10という画像データセットについて調べていた。 このデータは、約8000万枚の画像がある80 Million Tiny Imagesからサブセットとして約6万枚の画像を抽出してラベル付けしたデータセット。このデータセットを整備したのは、SuperVision(またはAlexNet)と呼ばれる畳み込みニューラルネットワークを使ってILSVRC2012で優勝したAlex Krizhevskyさんとのこと。こういう泥臭い仕事もしていたなんて尊敬する。 CIFAR-10の元となる80 Million Tiny Imagesは類似画像検索(2009/10/3)で少し言及したことがあった。初出はこの論文(PDF)だと思うけれど、最初に読んだときいろいろな画像があってとてもわくわくし、いつか使っ

    CIFAR-10 - 人工知能に関する断創録
  • Chainerによる多層パーセプトロンの実装 - 人工知能に関する断創録

    これまでDeep LearningのアルゴリズムをTheanoで実装してきた(2015/4/29)けれど、ここらで巷で大人気のライブラリChainerにも手を出してみた。Theanoの勉強を始めたあとすぐにChainerが公開された(2015/6/9)がユーザや情報が増えるまで待っていた感じ(笑)最近はコードや実験結果などを公開してくれる人が増えてきたので非常に参考になっている。目についたものはてぶに登録しているので、興味を持った手法はがしがし勉強して追試していきたい。 Chainerのバージョンは1.3.2をベースにしている。1.3からPyCUDA/scikit-cudaを独自ライブラリのCuPyに置き換えたとのことで、以前のコードは少し修正しないと動かないようだ。その分、1.3からはインストールがシンプルになっていてとてもうれしい。1.1のころは、Chainerと直接関係ないPyCUD

    Chainerによる多層パーセプトロンの実装 - 人工知能に関する断創録
  • Machine Learning with Scikit Learn (Part II) - 人工知能に関する断創録

    Machine Learning with Scikit Learn (Part I)(2015/8/10)のつづき。今回は、後編のPartIIの動画の内容を簡単にまとめたい。 4.1 Cross Validation ラベル付きデータが少ないときに有効な評価法であるK-fold cross-validationについての説明。訓練データをK個のサブセットに分割し、そのうち1つのサブセットをテストデータに残りK-1個のサブセットを訓練データにして評価する。これをテストデータを入れ替えながらK回評価し、その平均を求める。 この手順は下のように書ける。bool型のマスクを使ってテストデータと訓練データをわけている。 k = 5 n_samples = len(X) fold_size = n_samples // k scores = [] masks = [] for fold in ran

    Machine Learning with Scikit Learn (Part II) - 人工知能に関する断創録
  • 統計的声質変換 (2) ボイスチェンジャーを作ろう - 人工知能に関する断創録

    統計的声質変換 (1) ロードマップ(2015/2/11)の続き。 統計的声質変換の第二回ということでまずは統計的じゃない声質変換の枠組みで簡単なボイスチェンジャーを作ってみたい。いきなり題とずれているけれどここをしっかり理解できていないと統計的な方はまったく歯が立たないため整理しておきたい。 ソース・フィルタモデル 人間の音声は、ノドの声帯を振動させたブザー音が声道、口、唇を通過することで出てくる仕組みになっている。これを数学的にモデル化したのがソース・フィルタモデル。 http://www.kumikomi.net/archives/2010/08/ep30gose.php から引用 このモデルでは、音源にあたるブザー音を作り出し、ブザー音をディジタルフィルタに通すことで音声を作る。音源のパラメータとして声の高さを表すピッチ、声道のパラメータとしてメルケプストラムというのがよく使われ

    統計的声質変換 (2) ボイスチェンジャーを作ろう - 人工知能に関する断創録
  • TheanoをWindowsにインストール - 人工知能に関する断創録

    Deep Learningを実装するのによく使われるTheanoというPythonライブラリをWindowsマシンにインストールしたのでそのときの記録。ただ使うだけだったらPythonとnumpy/scipyをインストールした後にpip installs Theanoで普通に使えていた。実際、GPUが貧弱なMacbook Airではこの方法でインストールしていた。今回、PCを買い替えた(2015/1/19)こともあって、NVIDIA社のGPUを使って高速演算できるようにしてみたというわけ。私のマシンは、 OS : Windows 8.1 64bit GPU: NVIDIA GeForce GTX 760 Ti OEM という環境。Theano TutorialにもWindowsへのインストール方法は載っているけどはっきり言ってよくわからない。いろいろ調べていたところ以下の記事が自信満々で手

    TheanoをWindowsにインストール - 人工知能に関する断創録
  • Pythonによるモンテカルロ法入門 - 人工知能に関する断創録

    PRMLの11章で出てくるマルコフ連鎖モンテカルロ法(Markov chain Monte Carlo methods: MCMC)。ベイズでは必須と呼ばれる手法だけれどいまいち理屈もありがたみもよくわからなくて読み飛ばしていました。 最近、ボルツマンマシンを勉強していて、ベイズと関係ないのにマルコフ連鎖やらギブスサンプラーやらが出てきて格的にわからなくなってきたのでここらで気合を入れて勉強し直すことにしました。 参考にした書籍は「Rによるモンテカルロ法入門」です。PRMLと同じく黄色いなので難易度が高そう・・・このはR言語を使って説明がされていますが、それをPythonで実装しなおしてみようかなーと計画中。numpy、scipyの知らなかった機能をたくさん使うので勉強になりそう。 ただRにしかないパッケージを使われると途中で挫折する可能性が高い・・・あと内容が難しすぎて途中で挫折す

    Pythonによるモンテカルロ法入門 - 人工知能に関する断創録
  • Complexity Explorer - 人工知能に関する断創録

    複雑系の研究で有名なサンタフェ研究所がComplexity Explorerという複雑系のオープンコースを公開しています。今流行のいわゆるMOOC(Massive open online course)というやつです。教授のビデオレクチャーを毎週受けて、宿題を解いて、テストを受けるという一般的なコースです。宿題やテストはオプションなので嫌なら特にやる必要はないみたいですよ(笑) 2013年9月29日からIntroduction to Complexityという複雑系入門の講義が公開されています。 What is Complexity? Dynamics and Chaos Fractals Information, Order, and Randomness Genetic Algorithms Cellular Automata Models of Self-Organization C

    Complexity Explorer - 人工知能に関する断創録
    boxheadroom
    boxheadroom 2013/10/28
    「複雑系のオープンコース」「今流行のいわゆるMOOC」「NetLogoという複雑系シミュレータを使って、複雑系のさまざまな現象を実際に動く形で」なんか凄そう!
  • ライフゲームの世界 - 人工知能に関する断創録

    ニコニコ動画の複雑系コミュニティの発起人のはむくんがライフゲームの世界というとても面白い動画を投稿されています。Twitterでは何度かツイートしてたけど完結したのでブログでも紹介させていただきます。 ライフゲームの世界1 John Horton Conwayが提案したライフゲーム(Conway's Game of Life)の基的なルールを解説しています。また頻繁に現れる4種の物体(ブロック、蜂の巣、ブリンカー、グライダー)を紹介しています。最後の作品紹介は、P416 60P5H2V0 gunというすさまじいパターンが出てきます。グライダー銃から発射したグライダーたちが滑走路を通ります。グライダーの集合先では、発射された複数のグライダーが合体して宇宙船が組み立てられます。 ライフゲームの世界2 いろんな振動子(パルサー、タンブラー、銀河)が鑑賞できます。作品紹介では大量の振動子が勢揃い

    ライフゲームの世界 - 人工知能に関する断創録
  • SPTKの使い方 (1) インストール・波形描画・音声再生 - 人工知能に関する断創録

    SPTK(Signal Processing Toolkit)という音声信号処理のツールの使い方を紹介していきます。 SPTKには、音声を分析するための豊富なコマンドが約120個も提供されています。今までPythonで窓関数、FFT、MFCC、LPCなどを苦労して実装してきました(Pythonで音声信号処理)が、これらの代表的な音声処理は、SPTKで提供されているコマンドを組み合わせるだけで簡単に実行できます。 SPTKには、分厚いマニュアルと豊富なサンプル集がついているのでそれをベースに少しずつ使い方を整理していきたいと思います。今後の音声プロジェクトでも使用していく予定です。 インストール 主にLinuxマシンが対象のツールなのでソースからのコンパイルが必要。WindowsならCygwinやMinGWが必要でした。SPTK-3.5.tar.gzをダウンロードして tar xvzf SP

    SPTKの使い方 (1) インストール・波形描画・音声再生 - 人工知能に関する断創録
  • ケプストラム分析 - 人工知能に関する断創録

    Pythonで音声信号処理(2011/05/14)の第18回目。 今回は、音声の特徴量としてよく使われるMFCC(Mel-Frequency Cepstrum Coefficients: メル周波数ケプストラム係数)抽出に向けた第一歩としてケプストラム分析を試しました。Wikipediaでケプストラムの定義を見てみると。 ケプストラムは1963年、Bogertらの論文で定義された。ケプストラムの定義は以下の通り。 口語的定義: (信号の)ケプストラムとは、(信号の)フーリエ変換の対数(位相アンラッピングを施したもの)をフーリエ変換したものである。スペクトルのスペクトルとも呼ばれる。 数学的定義: 信号のケプストラムは FT(log(|FT(信号)|)+j2πm) である。ここで m は、複素対数関数の虚数成分または角度の位相アンラッピングを正しく行うのに必要とされる整数である。 アルゴリズ

    ケプストラム分析 - 人工知能に関する断創録
  • SciPyでベクトル量子化 - 人工知能に関する断創録

    ベクトル量子化(Vector Quantization: VQ)とは、ベクトルで表されたデータ集合を有限個の代表的なパターン(セントロイド)に置き換える処理のことです。代表パターン(セントロイド)のリストはコードブック(code book)と呼ばれます。また、クラスタの番号をコードと呼びます。各ベクトルデータは、距離が一番近いコードに置き換えられます。大量のデータを少ない代表パターンで置き換えることができるためデータの圧縮に使えます。ただし、コードブックから元のデータは復元できないため非可逆圧縮になります。 コードブックを学習するためのアルゴリズムの代表例がk-meansクラスタリングです。ベクトルデータをクラスタリングして、各データをそのデータが属するクラスタのセントロイドに置き換えることでベクトル量子化が実現できます。 ベクトル量子化の応用 ベクトル量子化の応用例の一つに、前に取り上げ

    SciPyでベクトル量子化 - 人工知能に関する断創録
  • メル周波数ケプストラム係数(MFCC) - 人工知能に関する断創録

    Pythonで音声信号処理(2011/05/14)の第19回目。 今回は、音声認識の特徴量としてよく見かけるメル周波数ケプストラム係数(Mel-Frequency Cepstrum Coefficients)を求めてみました。いわゆるMFCCです。 MFCCはケプストラム(2012/2/11)と同じく声道特性を表す特徴量です。ケプストラムとMFCCの違いはMFCCが人間の音声知覚の特徴を考慮していることです。メルという言葉がそれを表しています。 MFCCの抽出手順をまとめると プリエンファシスフィルタで波形の高域成分を強調する 窓関数をかけた後にFFTして振幅スペクトルを求める 振幅スペクトルにメルフィルタバンクをかけて圧縮する 上記の圧縮した数値列を信号とみなして離散コサイン変換する 得られたケプストラムの低次成分がMFCC となります。私が参考にしたコードは振幅スペクトルを使ってたけど

    メル周波数ケプストラム係数(MFCC) - 人工知能に関する断創録
  • 類似楽曲検索システムを作ろう - 人工知能に関する断創録

    もう1年以上かけて音声信号処理の勉強をしてきました(Pythonで音声信号処理)。ここらで具体的なアプリケーションとして類似楽曲検索の実験をしてみたのでレポートをまとめておきます。言語はPythonです。 前に 類似画像検索システムを作ろう(2009/10/3) Visual Wordsを用いた類似画像検索(2010/2/27) という画像の類似検索に関するエントリを書きましたが、今回は画像ではなく音楽を対象に類似検索をやってみたいと思います! 今回作る類似楽曲検索システムは、従来からよくあるアーティスト名や曲名などテキストで検索するシステムや購買履歴をもとにオススメする協調フィルタリングベースのシステムとは異なります。WAVEファイルやMP3ファイルなどの音楽波形そのものを入力とするのが特徴です。たとえば、「具体的なアーティストや曲名は知らないけれど、この曲とメロディや雰囲気が似た曲がほ

    類似楽曲検索システムを作ろう - 人工知能に関する断創録
  • Pythonでゲーム作りますが何か? - 人工知能に関する断創録

    このサイトでは、プログラミング言語PythonPythonゲーム用ライブラリPygameを用いてゲーム制作の過程やテクニックをまとめています。主に自分の知識の整理に使うつもりですが、これからPythonを学んでゲームを作ってみようという方の参考になれば幸いです。 Pygameは知らなくても大丈夫ですが、Pythonの基は知っていることを前提にしています。 Pythonで書いたプログラムはWindowsでもMacでもLinuxでも動きます。 ソースコードの著作権を主張することはないので自由に使ってください。 記事下方にあるナビゲーションはほとんど役に立ちません。このページを起点としてリンク先へ、読んだら戻るといった使い方が楽だと思います。 NEW! 全ソースコードをGitHubのリポジトリとして公開しました。右下のDownload ZIPからまとめてダウンロードできます(2014/9

  • テキストからWikipedia見出し語を抽出 - 人工知能に関する断創録

    WindowsでMeCab Pythonを使う(2010/11/21)のつづきです。形態素解析を使ってると単語が変なところで切れていたり、未知語が多かったりと不満点が出てきます。また、応用によっては、形態素ではなく、複合語単位で抽出したいということもしばしばあります。たとえば、 人工知能は、コンピュータに人間と同様の知能を実現させようという試み、あるいはそのための一連の基礎技術をさす。 人工知能という名前は1956年にダートマス会議でジョン・マッカーシーにより命名された。 現在では、機械学習、自然言語処理、パターン認識などの研究分野がある。(Wikipedia人工知能』を改変)という文章をMeCabで形態素解析して名詞のみ取り出すと、 人工 知能 コンピュータ 人間 同様 知能 実現 試み ため 一連 基礎 技術 人工 知能 名前 1956 年 ダート マス 会議 ジョン マッカーシー

    テキストからWikipedia見出し語を抽出 - 人工知能に関する断創録
  • EclipseでOpenCV - 人工知能に関する断創録

    OpenCVのプログラムを統合開発環境EclipseとC/C++コンパイラMinGWで開発するためのセットアップ方法をまとめておきます。Windows環境でVisual StudioをインストールしなくてもOpenCVプログラムを開発できます。 1. MinGWのインストール ここからMinGW-5.1.6.exe(2009/10/15現在)をダウンロード。インストール途中でg++ compilerとMinGW Makeオプションをチェック。 2. Eclipseのインストール ここからEclipse IDE for C/C++ Developers(Eclipse CDT)をダウンロード。解凍するとeclipseフォルダができるのでC:\eclipseなどに移動。 3. OpenCVのインストール ここからOpenCV-2.0.0a-win32.exe(2009/10/15現在)をダウン

    EclipseでOpenCV - 人工知能に関する断創録
  • 類似画像検索システムを作ろう - 人工知能に関する断創録

    C++版のOpenCVを使ってカラーヒストグラムを用いた類似画像検索を実験してみました。バッチ処理などのスクリプトはPythonを使ってますが、PerlでもRubyでも似たような感じでできます。 指定した画像と類似した画像を検索するシステムは類似画像検索システムと言います。GoogleYahoo!のイメージ検索は、クエリにキーワードを入れてキーワードに関連した画像を検索しますが、類似画像検索ではクエリに画像を与えるのが特徴的です。この分野は、Content-Based Image Retrieval (CBIR)と呼ばれており、最新のサーベイ論文(Datta,2008)を読むと1990年代前半とけっこう昔から研究されてます。 最新の手法では、色、形状、テクスチャ、特徴点などさまざまな特徴量を用いて類似度を判定するそうですが、今回は、もっとも簡単な「色」を用いた類似画像検索を実験してみます

    類似画像検索システムを作ろう - 人工知能に関する断創録
    boxheadroom
    boxheadroom 2009/10/04
    はてなfotolifeも、使用されてる色で、画像を検索できるようになってるんですね。http://f.hatena.ne.jp/fotocolor/
  • PDFからテキストを抽出する - 人工知能に関する断創録

    自分が収集した論文データベースを対象にいろいろ言語処理してみようと考え中。そのためにはまずPDFファイルからテキスト部分を抽出できなくてはいけない。調べてみたところXpdfというツールが見つかったので使い方メモ。ソースコードからコンパイルもできるし、Windowsならバイナリもある。 以下、インストール手順。とりあえずxpdf-3.02.tar.gzと日PDF用の言語パックxpdf-japanese.tar.gzをダウンロードした。ソースコードからインストールする場合は、freetype2とt1libが必要なので入れておきインストール場所を確認しておく。うちのPCにはすでに /opt/local にインストールしてあった。 tar xvzf xpdf-3.02.tar.gz cd xpdf-3.02 ./configure --with-t1-library=/opt/local/li

    PDFからテキストを抽出する - 人工知能に関する断創録
    boxheadroom
    boxheadroom 2008/11/28
    官報をキーワードでチェックするのに便利そう。
  • 1