タグ

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

  • セルオートマトン - 人工知能に関する断創録

    この宇宙が、天国にいるものすごいハッカーのコンピュータで動いているセルオートマトンでできていないという証拠はない とある研究者 今回からしばらくセルオートマトンの不思議な世界をふらついてみようと思ってます。セルオートマトンは、その名前のとおりセル(格子)から構成されたオートマトン(自動機械)です。確率とは無縁の決定論的世界ですべてはルールに厳密にしたがって動作します*1。これ以上、説明が難しいので実例を。前に、Java(2004/12/25)やPython(2008/9/14)で作ったことがあるライフゲームは、二次元セルオートマトンの一種です。 ライフゲームの各セルは、生と死(ON、OFFでもいいですけど)の2つの状態を取り、たった3つのルールにしたがって動作します。 生きているセルの周囲に2つまたは3つの生きているセルがあればそのセルは次の世代も生きている 死んでいるセルの周囲に3つの生

    セルオートマトン - 人工知能に関する断創録
    hitode909
    hitode909 2012/01/14
  • サウンドスペクトログラムに画像を埋め込む - 人工知能に関する断創録

    Pythonで音声信号処理(2011/05/14) 今回は、スペクトログラムを使って遊んでみました。サウンドスペクトログラムって何って人はこちらへ。Pythonでサウンドスペクトログラム(2011/10/1)。 なんとスペクトログラムに任意の画像を埋め込んだ音声が作れるとのこと。こんなふうに。 Aphex TwinというミュージシャンのEquationという曲に埋め込まれた画像だそうです。こんな風に画像をスペクトログラムに簡単に埋め込むツールをいくつか見つけたので遊んでみます。 Coagula Coagulaというツールで画像をスペクトログラムに埋め込んだ音声が作れます。Coagulaを起動したらキャンバスが出てくるのでそこに任意の絵を描きます。F5キーで画像をスペクトログラムに変換し、FileメニューのSave Sound As...でWAVEファイルとして音声を保存できます。WAVEフ

    サウンドスペクトログラムに画像を埋め込む - 人工知能に関する断創録
    hitode909
    hitode909 2011/10/09
    おもしろい
  • 離散フーリエ変換 - 人工知能に関する断創録

    Pythonで音声信号処理(2011/05/14) 今回は、信号処理の肝とも言える離散フーリエ変換(Discrete Fourier Transform: DFT)を試してみようと思います。ときどき感動するアルゴリズムに出会うけれど、フーリエ変換はその一つです。最初に考え出したフーリエさんはすごい!フーリエ変換を扱ったは参考文献に挙げている何冊かを読んだのですが、理解するのにけっこう苦労しました。ここでも間違ったこと書いていたらコメントもらえると助かります。 前回の正弦波の合成(2011/06/07)で試したように、任意の周期波形はさまざまな周波数を持つ正弦波の合成で表せます。フーリエ変換は各周波数の正弦波がどれくらいの割合で含まれているかを求める技術。ここら辺の定性的な理解は、 フーリエの冒険 今日から使えるフーリエ変換 (今日から使えるシリーズ) の説明が大変わかりやすかったです。ま

    離散フーリエ変換 - 人工知能に関する断創録
    hitode909
    hitode909 2011/06/11
  • 波形を見る - 人工知能に関する断創録

    Pythonで音声信号処理(2011/05/14) サイン波 次は音の波をプロットして目に見えるようにしてみます。グラフの描画にはPythonのmatplotlibを使います。WAVEファイルには音をディジタル化(標化 + 量子化)したデータがそのまま含まれているのでそれを読み出します。WAVEファイルの詳細なフォーマットはwavファイルフォーマットが参考になりました。自分でバイナリを分析してもよいですが、waveモジュールがやってくれます。 #coding:utf-8 import wave from numpy import * from pylab import * def printWaveInfo(wf): """WAVEファイルの情報を取得""" print "チャンネル数:", wf.getnchannels() print "サンプル幅:", wf.getsampwidt

    波形を見る - 人工知能に関する断創録
    hitode909
    hitode909 2011/05/29
  • フィッシャーの線形判別 - 人工知能に関する断創録

    今回は、4.1.4のフィッシャーの線形判別を試してみました。これは、他の手法と少し毛色が違う感じがします。まず、D次元の入力ベクトルxを(4.20)で1次元ベクトル(スカラー)に射影します。ベクトル同士の内積なので結果はスカラーで、wはxを射影する方向を表します。 フィッシャーの線形判別は、射影後のデータの分離度をもっとも大きくするようなデータの射影方向wを見つけるという手法だそうです。 クラス1のデータ集合C1の平均ベクトルとクラス2のデータ集合C2の平均ベクトル(4.21)をw上へ射影したクラス間平均の分離度(4.22)を最大にするwを選択するのが1つめのポイントのようです。式(4.22)の左辺はスカラーです(フォントの違いがわかりにくい)。 wは単位長であるという制約のもとで(4.22)を最大化するようにラグランジュ未定乗数法で解くと、 という解が得られます(演習4.4)。これは、ベ

    フィッシャーの線形判別 - 人工知能に関する断創録
    hitode909
    hitode909 2011/05/09
  • 人工知能に関する断想録

    Deep Learningの訓練終了など任意のメッセージを特定のSlackチャネルに投稿できるボットを作りました。 Yatta Kun プログラミングは不要で curl というコマンドラインツールから簡単に投稿できるので非常に便利です。可愛いくて便利なので作り方を紹介します。 職場などでみんなが使っているワークスペースで実験すると迷惑がかかる可能性があるので、最初は個人の実験用ワークスペースを作ってしまうのが良いと思います。無料でできます。 1. Incoming Webhookをインストール SlackアプリのページからIncoming Webhookをインストールします。Slackアプリページは、 https://[workspace name].slack.com/apps/ から行けます。 workspace name はワークスペース名です。 Incoming Webhook で

    人工知能に関する断想録
    hitode909
    hitode909 2010/01/23
  • 類似画像検索システムを作ろう - 人工知能に関する断創録

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

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