タグ

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

  • KerasでVGG16を使う - 人工知能に関する断創録

    今回は、Deep Learningの画像応用において代表的なモデルであるVGG16をKerasから使ってみた。この学習済みのVGG16モデルは画像に関するいろいろな面白い実験をする際の基礎になるためKerasで取り扱う方法をちゃんと理解しておきたい。 ソースコード: test_vgg16 VGG16の概要 VGG16*1は2014年のILSVRC(ImageNet Large Scale Visual Recognition Challenge)で提案された畳み込み13層とフル結合3層の計16層から成る畳み込みニューラルネットワーク。層の数が多いだけで一般的な畳み込みニューラルネットと大きな違いはなく、同時期に提案されたGoogLeNetに比べるとシンプルでわかりやすい。ImageNetと呼ばれる大規模な画像データセットを使って訓練したモデルが公開されている。 VGG16の出力層は1000

    KerasでVGG16を使う - 人工知能に関する断創録
    morioka
    morioka 2018/09/05
  • VGG16のFine-tuningによる犬猫認識 (2) - 人工知能に関する断創録

    VGG16のFine-tuningによる犬認識 (1) (2017/1/8)のつづき。 前回、予告したように下の3つのニューラルネットワークを動かして犬・の2クラス分類の精度を比較したい。 小さな畳み込みニューラルネットをスクラッチから学習する VGG16が抽出した特徴を使って多層パーセプトロンを学習する VGG16をFine-tuningする リポジトリ:dogs_vs_cats 1. 小さな畳み込みニューラルネットをスクラッチから学習する ベースラインとしてVGG16は使わずに小規模な畳み込みニューラルネットワークをスクラッチから学習する。学習データは、犬クラス1000枚、クラス1000枚と小規模なデータを使うのであまり大規模なネットワークは学習できない。そこで、畳込みが3層のLeNet相当の小さなモデルを構成した。 横の矢印はそのレイヤでの出力の4Dテンソルのサイズ (samp

    VGG16のFine-tuningによる犬猫認識 (2) - 人工知能に関する断創録
    morioka
    morioka 2017/01/12
  • Kerasによる2クラスロジスティック回帰 - 人工知能に関する断創録

    まずはもっとも簡単な2クラスロジスティック回帰モデルをKerasで書いてみる。前にTheanoでやった(2015/5/19)のをKerasで書き換えただけ。ロジスティック回帰は、回帰とつくけど分類のアルゴリズムで、隠れ層がなく、活性化関数にシグモイド関数を使ったニューラルネットとしてモデル化できる。 データは、PRMLの4章のex2data1 を使う。1列目と2列目がデータで3列目がクラスラベル(0または1の2クラス)。 ソースコード:ex2data1.py データのロードと正規化 データを読み込むライブラリにはpandasなどもあるが、ここではnumpy.genfromtxt()を使う。Xがデータで二次元データのリスト、tがラベルで0または1のリスト。 # load training data data = np.genfromtxt(os.path.join('data', 'ex2d

    Kerasによる2クラスロジスティック回帰 - 人工知能に関する断創録
    morioka
    morioka 2016/10/31
  • 深層学習ライブラリ Keras - 人工知能に関する断創録

    ここ1年くらいDeep Learning Tutorialを読みながらTheanoというライブラリで深層学習のアルゴリズムを実装してきた。 深層学習の基的なアルゴリズムならTheanoでガリガリ書くこともできたがより高度なアルゴリズムをTheanoでスクラッチから書くのはとてもきつい*1。 そんなわけでPylearn2、Lasagne、nolearnなどのTheanoベースのラッパーライブラリをいろいろ調べていたのだが、結局のところKerasというライブラリが一番よさげだと思った。KerasはバックエンドとしてTheanoとTensorflowの両方が使え、より高レイヤな表現(たぶんChainerと同レベル)で深層学習のさまざまなアルゴリズムが記述できる。TheanoやTensorflowは完全に隠蔽されており、Kerasで書かれたプログラムはまったく修正せずにTheanoとTensor

    深層学習ライブラリ Keras - 人工知能に関する断創録
    morioka
    morioka 2016/03/30
  • Theanoによる雑音除去自己符号化器の実装 - 人工知能に関する断創録

    この記事はDeep Learning Advent Calendar 2015の9日目です。 Theanoによる自己符号化器の実装(2015/12/3)の続き。 今回は自己符号化器を継承して雑音除去自己符号化器(Denoising autoencoder)を実装した。 ソースコード全体はここ。 自己符号化器は入力をもとの入力に戻すような写像を学習する手法だったが、雑音除去自己符号化器はもっと過酷で雑音(ノイズ)を付与した入力を雑音のない状態に戻せという一見すると無茶な要求を最適化アルゴリズムにつきつける。MNISTの例だと左のようなノイズが入った画像(画像クリックで拡大)を右のようなノイズがない画像に戻す写像を学習させる。最適化アルゴリズムにこういう制約を課すだけでよりロバスト性の高い特徴が自動的に学習できるという。 ノイズ付与 ノイズ付与の方法はいろいろあるらしいがランダムにマスキングす

    Theanoによる雑音除去自己符号化器の実装 - 人工知能に関する断創録
    morioka
    morioka 2015/12/11
  • 統計的声質変換 (2) ボイスチェンジャーを作ろう - 人工知能に関する断創録

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

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

    今年の7月に開催されたSciPy2015の講演動画がEnthoughtのチャンネルで公開されている。今年も面白い講演が多いのでいろいろチェックしている。 今年の目標(2015/1/11)にPython機械学習ライブラリであるscikit-learnを使いこなすというのが入っているので、まずはscikit-learnのチュートリアルを一通り見ることにした。 Part IとPart IIを合わせると6時間以上あり非常に充実している。IPython Notebook形式の資料やデータは下記のGitHubアカウントで提供されている。ノートブックをダウンロードし、実際に手を動かしながらチュートリアルを進めると理解がより進むかもしれない。 あとで振り返りやすいように内容を簡単にまとめておきたい。 1.1 Introduction to Machine Learning 機械学習システムの流れ。教師あ

    Machine Learning with Scikit Learn (Part I) - 人工知能に関する断創録
    morioka
    morioka 2015/08/11
  • Deep Learning リンク集 - 人工知能に関する断創録

    乗るしかないこのビッグウェーブに Deep Learning(深層学習)に関連するまとめページとして使用する予定です。Deep Learningに関する記事・スライド・論文・動画・書籍へのリンクをまとめています。最新の研究動向は全然把握できていないので今後研究を進めるなかで記録していきたいと思います。読んだ論文の概要も簡単にまとめていく予定です。ブログでは、当面の間、Theanoを使って各種Deep Learningアルゴリズムを実装していきたいと思います。 関連ニュースなどはTwitterでも流しているので興味があったらフォローしてください。 すべてに目が通せず更新が追いついていません。私のはてなブックマークで[Deep Learning]というタグを付けて登録しています。まったく整理できていませんがご参考まで。 Theano編 TheanoをWindowsにインストール(2015/1

    Deep Learning リンク集 - 人工知能に関する断創録
    morioka
    morioka 2015/04/29
  • 統計的声質変換 (1) ロードマップ - 人工知能に関する断創録

    Pythonで音声信号処理(2011/5/14)のつづき。 @r9y9さんの以下のチュートリアル記事をきっかけに興味をもった統計的声質変換の実験をしてみたい。統計的声質変換とはAさんの声を別のBさんの声に変換する技術のこと。 統計的声質変換クッソムズすぎワロタ(チュートリアル編) - LESS IS MORE 「統計的」という名前からわかるように今回対象としているのはデータに基づいた声質変換である。簡単に手順をまとめると、 変換元のAさんと変換先のBさんの音声データを用意する この音声データを学習データとしてAさんの声をBさんの声に変換する統計モデルを学習する Aさんの任意の音声を統計モデルに入力するとBさんの声になって出てくる という感じ。コナンの声が毛利小五郎の声になって出てくるという例の蝶ネクタイ型マイクの背景技術である。あのマイクの中にはコナンの声を毛利小五郎の声に変換する何らかの

    統計的声質変換 (1) ロードマップ - 人工知能に関する断創録
    morioka
    morioka 2015/02/11
  • 2014年の目標 - 人工知能に関する断創録

    2014年にやりたいなと思っていることをまとめてみた。今年は自由に使える時間が今までより増える予定なので欲張ってみました(笑) (1) 複雑系の深耕 去年から続けているComplexity Explorer(2013/10/21)のコースを引き続き受講する。今年は、以下の講義が公開される予定。 Introduction to Dynamical Systems and Chaos (2014/1/6 - 2014/2/28) Mathematics for Complex Systems (Summer, 2014) Nonlinear Dynamics: Mathematical and Computational Approaches (Fall, 2014) Agent-Based Modeling in NetLogo (未定) また、複雑系の分野で提案された様々なモデルを自分で一

    2014年の目標 - 人工知能に関する断創録
    morioka
    morioka 2014/09/11
    同類な感。
  • 人工知能を実現する学習アルゴリズムに必要な能力 - 人工知能に関する断創録

    今年は、Deep Learningを研究する予定(2014/1/4)だったのだけれど、多層パーセプトロンまで到達した(2014/2/5)ところで少々(?)足踏みしている。Deep Learningの構成要素であるボルツマンマシンを理解するのに手間取っているためだ。ボルツマンマシンの理解には、マルコフ確率場やMCMCの理解が必要なことがわかったので少し廻り道してモンテカルロ法を先に勉強(2014/6/20)していたというわけ。 ただ、そればかりでは少々退屈になってきたので少し先回りして Deep Learning の先駆者のBengioさんが書いた論文 Learning Deep Architectures for AI を勉強している。示唆に富む見解が多いのであとで振り返られるように記録しておきたい。 まずは、1.1節のDesiderate for Learning AIの部分。人工知能

    人工知能を実現する学習アルゴリズムに必要な能力 - 人工知能に関する断創録
    morioka
    morioka 2014/09/10
  • Open JTalkで音声合成 - 人工知能に関する断創録

    前回は、音声認識エンジンJulius(2013/7/6)を試してみましたが、今回は、オープンソースで開発されている音声合成エンジンのOpen JTalkで遊んでみました。こちらも日の大学が中心になって開発しているようです。そのわりにページが全部英語で敷居の高さを感じるんだけど(笑) 動作環境は、Mac OS X Mountain Lionです。64bit環境なのでインストールにいろいろ苦労しました・・・ 今回は、とりあえず音声を出すことを目的とし、hts_engine_APIとOpen JTalkの関連などはあとで実験しながら勉強していこうと思います。 hts_engine_APIのインストール hts_engine_APIはコンテキストラベル系列と音響モデルを入力として、スペクトル・基周波数・時間長などのパラメータ系列を生成するエンジンです。hts_engine_API単体では、任意

    Open JTalkで音声合成 - 人工知能に関する断創録
    morioka
    morioka 2013/09/21
  • MacにHTKをインストール - 人工知能に関する断創録

    音声認識音声合成の実験をするために隠れマルコフモデルのライブラリである Hidden Markov Toolkit (HTK) をMac OS X Mountain Lionに導入した。いろいろコンパイルエラーが出てインストールに苦労したのでまとめておく。 コンパイラ macportsのgccではなく、Xcodeのgccを使用した。Mountain LionからX11がデフォルトで入らなくなったみたいなので別途インストール。 Mountain Lion (Mac OS X 10.8)にgccをインストールする X11 および OS X Mountain Lion について /usr/bin/gcc /usr/X11R6/lib /usr/X11R6/includeがあることを確認。 HTKのインストール HTKをダウンロードするにはユーザ登録が必要。登録後に HTK-3.4.1.tar.

    MacにHTKをインストール - 人工知能に関する断創録
    morioka
    morioka 2013/01/13
  • 類似楽曲検索システムを作ろう - 人工知能に関する断創録

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

    類似楽曲検索システムを作ろう - 人工知能に関する断創録
    morioka
    morioka 2012/10/16
  • Visual Wordsを用いた類似画像検索 - 人工知能に関する断創録

    類似画像検索システムを作ろう(2009/10/3) 3日で作る高速特定物体認識システム(2009/10/18) に続くOpenCVプロジェクト第三弾です。今回は、上の二つをふまえてカラーヒストグラムではなく、局所特徴量(SIFTやSURF)を用いた類似画像検索を試してみます。局所特徴量はグレースケール画像から抽出するため、カラーヒストグラムと違って色は見ていません。画像の模様(テクスチャ)で類似性を判定します。 実験環境は、Windows 7、MinGW C++コンパイラ、OpenCV2.0、Python 2.5です。EclipseでMinGWを使う方法はEclipseでOpenCV(2009/10/16)を参照してください。Visual C++にはないディレクトリスキャン関数を一部使っているのでVisual C++を使う場合は、少しだけ修正が必要です。 Bag-of-Visual Wor

    Visual Wordsを用いた類似画像検索 - 人工知能に関する断創録
    morioka
    morioka 2010/02/28
    勉強にやってみよう。いや、やってみたい
  • 類似画像検索システムを作ろう - 人工知能に関する断創録

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

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