人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

線形回帰による曲線フィッティング

線形回帰による直線フィッティング(2014/4/1)のつづき。今回は、線形回帰で曲線フィッティングをしてみます。PRMLによると、線形回帰で曲線のフィッティングをするためには、入力変数を非線形の基底関数(basis function)で変換すればよいそうです。今回…

線形回帰による直線フィッティング

パターン認識と機械学習(PRML)まとめ(2010/8/29)のつづき。PRML3章の線形回帰(Linear Regression)を実装してみます。そういえば、3章の実装はまるまる無視していた。何でだろう?今回は、受講している Courseraの機械学習コースの第一週目の課題を参考…

力学系とカオス入門を修了

ラブレス夫人も、バベッジに劣らずはっきりと気づいていたことであるが、解析機関の発明によって、ことに解析機関が「自分の尻尾を食べること」が可能になったときには、人類は機械化された知能をもてあそぶようになる。適度に複雑な再帰的システムはどんな…

多層パーセプトロンでMNISTの手書き数字認識

多層パーセプトロンで手書き数字認識(2014/2/1)の続き。今回は、簡易版のdigitsデータではなく、MNISTのより大規模な手書き数字データを使って学習してみます。 MNISTデータ MNISTは、28x28ピクセル、70000サンプルの数字の手書き画像データです。各ピクセ…

多層パーセプトロンで手書き数字認識

多層パーセプトロンが収束する様子(2014/1/23)の続き。数字認識は前にニューラルネットによるパターン認識(2005/5/5)をJavaで作りましたが今回はPythonです。今回は、多層パーセプトロンを用いて手書き数字を認識するタスクを実験します。今回からscikit…

多層パーセプトロンが収束する様子

多層パーセプトロンによる関数近似(2014/1/22)の続きです。もう少しスクリプトを改造し、実際に各重みと出力がどのように収束するかアニメーションにしてみました。ほとんどの関数は最初に急激に変化したあとだんだん収束していく様子が見てとれます。|x|…

多層パーセプトロンによる関数近似

パターン認識と機械学習(PRML)まとめ(2010/8/29)の続きです。以下、つづくかも?になってましたが、2014年はDeep Learningを勉強しよう(2014/1/4)と思っているので、関連するニューラルネットワーク関係の実験結果をもう少し追記します。今回は、PRML…

2014年の目標

2014年にやりたいなと思っていることをまとめてみた。今年は自由に使える時間が今までより増える予定なので欲張ってみました(笑) (1) 複雑系の深耕 去年から続けているComplexity Explorer(2013/10/21)のコースを引き続き受講する。今年は、以下の講義が…

2013年のまとめ

2013年の目標(2013/1/1)の続き。2013年のまとめ。 (1) 音声認識と音声合成の深耕 近年、実用化されて話題になっている音声認識や音声合成の分野を調査した。最近だとDeep Learningを使った方法がホットみたいだけれど、ベースとなる隠れマルコフモデル(HM…

L-systemで植物を描く

L-system入門(2013/11/26)の続き。前回は、L-systemで有名なフラクタルを描きましたが、今回は植物を描いてみます。植物を描くためには前回導入した記号に加えて次の2つの記号を新たに導入します。 [ : 亀の状態(位置と向き)をスタックにプッシュ ] : 亀…

L-system入門

今回は、植物の成長をモデル化したLindenmayer system、略してL-systemの実験をしてみます。ライフゲームと同じく非常に単純な規則から複雑な形状が発生する複雑系の興味深い例です。 L-system L-systemは、初期文字列と書き換え規則から構成されます。たと…

Complexity Explorer

ガイドツアー 複雑系の世界: サンタフェ研究所講義ノートから作者: メラニー ミッチェル,高橋 洋出版社/メーカー: 紀伊國屋書店発売日: 2011/11/25メディア: 単行本購入: 4人 クリック: 23回この商品を含むブログ (15件) を見るこの本はComplexity Explorer…

Open JTalkでメイちゃんにしゃべってもらう

Open JTalkで音声合成(2013/9/21)の続き。引き続き、音声合成ネタです。Open JTalkにはデフォルトで前回の男性の声しかついていません。何となくちょっとガッカリ(笑)してたんですが、MMDAgentという別のプロジェクトにメイちゃんという女性の声がついて…

Open JTalkで音声合成

前回は、音声認識エンジンJulius(2013/7/6)を試してみましたが、今回は、オープンソースで開発されている音声合成エンジンのOpen JTalkで遊んでみました。こちらも日本の大学が中心になって開発しているようです。そのわりにページが全部英語で敷居の高さ…

Juliusで連続音声認識

大語彙連続音声認識エンジンJuliusで遊んでみました。動作環境はMac OS X Mountain Lionです。 準備 コンパイラはXcodeでインストールしたgcc(2013/1/13)を使用しました。また、Macで動かす場合はPortAudioというライブラリも必要みたいなので、macportsで…

SPTKの使い方 (10) ボコーダーで遊ぼう

SPTKの使い方 (9)(2013/3/2)の続き。今回は、分析合成音のパラメータを変えることで、高い声、低い声、かすれ声、ロボット声、子供声、深い声などいろんな音声に変換してみます。この実験はSPTKのマニュアルの8章を参考にしています。 オリジナルの音声 今…

SPTKの使い方 (9) メル一般化ケプストラム分析合成

SPTKの使い方 (8)(2013/2/16)の続き。今まで紹介したメルケプストラム分析(2013/1/19)やLPC分析(2013/2/16)を一般化したメル一般化ケプストラム(Mel-Generalized Cepstrum: MGC)分析の実験をしてみます。似たような名前のパラメータがたくさんあって…

SPTKの使い方 (8) LPC・PARCOR・LSP分析合成

SPTKの使い方 (7)(2013/1/19)の続き。前回は、メルケプストラムというスペクトルパラメータを用いたメルケプストラム分析合成の実験をしました。今回は、別のスペクトルパラメータであるLPC、PARCOR、LSPを用いた分析合成を実験してみます。PARCORとLSPは…

メルケプストラム次数

SPTKの使い方 (7) メルケプストラム分析合成(2013/1/19)の続き。メルケプストラム次数を変えたときにスペクトル包絡と分析合成音がどのように変化するか実験してみました。前回書いた mcep.py というスクリプトを使います。SPTKのmcepコマンドのメルケプス…

SPTKの使い方 (7) メルケプストラム分析合成

SPTKの使い方 (6)(2012/8/5)の続き。今回は、SPTK(2012/7/1)を使って音声合成の実験をしてみました。ここで言う音声合成は、テキストを音声に変換するTTS(Text-to-Speech)ではなく、分析合成と呼ばれるものです。分析合成では、人間の音声からパラメー…

MacにHTKをインストール

音声認識・音声合成の実験をするために隠れマルコフモデルのライブラリである Hidden Markov Toolkit (HTK) をMac OS X Mountain Lionに導入した。いろいろコンパイルエラーが出てインストールに苦労したのでまとめておく。 コンパイラ macportsのgccではな…

ライフゲームの世界

ニコニコ動画の複雑系コミュニティの発起人のはむくんがライフゲームの世界というとても面白い動画を投稿されています。Twitterでは何度かツイートしてたけど完結したのでブログでも紹介させていただきます。 ライフゲームの世界1 John Horton Conwayが提案…

2013年の目標

今年の目標!今年はわりと具体的。 (1) 音声認識と音声合成の深耕 眼の実装(2009/9/28)の続き。今度は、耳と口を実装する技術ってことで音声認識と音声合成の勉強を始める。どちらも隠れマルコフモデルがベースなのでPRMLの残りの章も復習しないと(2010/8…

2012年のまとめ

2012年の方向性(2012/1/1)のつづき。今年の目標は、複雑系と音声信号処理の深耕でした。まあ、あまりこれをやると決めてなくていろいろ興味の赴くままに勉強・調査・研究してました。 音声信号処理 こっちは、類似楽曲検索の実験というかなり明白な目標を…

はてなブログに移行しました

はてなダイアリーからはてなブログに移行しました。

類似楽曲検索システムを作ろう

もう1年以上かけて音声信号処理の勉強をしてきました(Pythonで音声信号処理)。ここらで具体的なアプリケーションとして類似楽曲検索の実験をしてみたのでレポートをまとめておきます。言語はPythonです。前に 類似画像検索システムを作ろう(2009/10/3) V…

SciPyでベクトル量子化

ベクトル量子化(Vector Quantization: VQ)とは、ベクトルで表されたデータ集合を有限個の代表的なパターン(セントロイド)に置き換える処理のことです。代表パターン(セントロイド)のリストはコードブック(code book)と呼ばれます。また、クラスタの…

ODEをMacにインストール

Mac OS X Mountain Lion に物理シミュレーションエンジンの Open Dynamics Engine (ODE) を入れようとしてすごく苦労したのでまとめておきます。macportsにもodeはありますが、これだとdrawstuffというライブラリが入っていなかったのでソースコードからコン…

SPTKの使い方 (6) MFCCの抽出

SPTKの使い方 (5)(2012/8/1)の続き。今回は、音声認識の特徴量としてよく使われるメル周波数ケプストラム係数 MFCC(2012/2/25)をSPTKで抽出してみました。使うコマンドは、mfccです*1。 x2x +sf < data.short| frame -l 640 -p 160 | \ mfcc -l 640 -f 1…

Earth Mover's Distance (EMD)

Earth Mover's Distance (EMD) について調べたことを整理しておきます。EMDは、ユークリッド距離のような距離尺度の一つで、二つの分布の間の距離を測ることができます。言語処理ではあまり聞いたことなかったのですが、画像処理や音声処理では比較的有名な…