タグ

CNNに関するyukimori_726のブックマーク (50)

  • CNNモデル比較論文 "An Analysis of Deep Neural Network Models for Practical Applications"を読んだ - 人間だったら考えて

    深層学習を用いた画像認識分野では様々なCNNのネットワーク構造が提案されており,ImageNetデータセット等を用いた予測精度比較が広く行われています. じゃあどのCNNモデルを使うべきなんだろう…と考えていましたが,最近こんなtweetが目に入りました. 代表的なCNNアーキテクチャについて、パラメータ数や実際の演算量・時間、エネルギー消費などを精度との関係とともに検証。純粋に読み物として面白くてさくさく読めるし、肌感覚的にNW構造と計算量の関係を掴んでおくのは今やサバイバル術だしな https://t.co/6ZAEkWXKtu— 水産品 (@sakanazensen) 2017年2月27日 予測精度による比較は広く行われていますが,計算速度やメモリ使用量による比較は見たことが無かったので,tweetで紹介されている論文"An Analysis of Deep Neural Netwo

    CNNモデル比較論文 "An Analysis of Deep Neural Network Models for Practical Applications"を読んだ - 人間だったら考えて
  • CapsNetについての調べ - Qiita

    CapsNetについて少し調べて、まとめました。 CNNの欠点 I believe Convolution, but I don't believe Pooling. - Geoffrey Hinton Geoffrey HintonさんがMITでの講演でそう言いました。 CNNでは、オブジェクトの向き、空間的な特徴の抽出は難しいです。 畳み込みはオブジェクトの特徴を抽出するだけです。周囲の情報には全く関心を持っていません。 例えば、人間の顔に対して、CNNはこの画像に耳、鼻、目、口があるかどうかしかに興味がありません。どこにあるのかは如何でもいいです。 (From: Capsule Networks Explained) プーリング層の使用は大間違いです。 この問題を解決するため、プーリング層が導入されてました。プーリングの処理によって、モデルが微小な変化に対する不変性があります。 Th

    CapsNetについての調べ - Qiita
  • Convolutionの数理とアルゴリズム

    Deep Learning Acceleration 勉強会資料

    Convolutionの数理とアルゴリズム
  • CNNとdepth推定を用いたオドメトリの算出 後編(CNN SLAM #2) - Qiita

    CNNとdepth推定を用いたオドメトリの算出 前編の続きになります。前回は論文の内容を私の知る範囲で述べてきました。オドメトリの算出部分をPythonで記述しましたので、今回の後編では、それについて述べます。 オドメトリの算出 再訪 r({\bf u}, {\bf T}) = I_{k_i}({\bf u}) - I_t(\pi({\bf K}{\bf T}_{t}^{k_i} V_{ki}({\bf u})))

    CNNとdepth推定を用いたオドメトリの算出 後編(CNN SLAM #2) - Qiita
  • Semantic Segmentation using Fully Convolutional Networks over the years

    Semantic Segmentation Introduction Semantic Segmentation of an image is to assign each pixel in the input image a semantic class in order to get a pixel-wise dense classification. While semantic segmentation / scene parsing has been a part of the computer vision community since 2007, but much like other areas in computer vision, major breakthrough came when fully convolutional neural networks were

  • DNN(ディープラーニング)ライブラリ : chainerとTensorFlowの比較 (2) ~CNN編~ - Qiita

    はじめに 前回の記事 では,multi layer perceptron(MLP)のサンプルコードを走らせてみました.今回は畳み込みニューラルネットワーク(CNN)です. サンプルコード データセット・ネットワーク構造 データセットは前回と同じくMNISTの手書き文字データセットを使います($28 \times 28$の画像). CNNの説明及びネットワーク構造について次の図を作ってみました. 畳み込み層 畳み込みのフィルタサイズは$5 \times 5$で,ゼロパディングをしているので出力画像は入力画像と同じサイズになります.このパディングの操作,いまいち何のためにやっているか(やっていいのか)が説明できませんでした. サイズが途中で変わらないので次元の計算が簡単になる? 画像端の部分の特徴量抽出ができる? という感じなのでしょうか? プーリング プーリング層ではマックス・プーリングを使

    DNN(ディープラーニング)ライブラリ : chainerとTensorFlowの比較 (2) ~CNN編~ - Qiita
  • ニューラルネットワークにおけるDeconvolution - Qiita

    ディープニューラルネットワークを用いた画像生成モデル(DCGAN)を調べていたところ、Deconvolutionという単語が出てきたので調べてみました。 Convolutionとは? Convolutionは日語だと畳み込みと訳されます。 Deep Convolutional Neural Network = 深層畳み込みニューラルネットワークが画像認識タスクで高い識別率を叩き出して話題になっているやつですね。 詳しいことはこっちの記事へ Azure Machine Learningをわかった気になるために細かいことは気にせずに機械学習のことをまとめてみる - ディープラーニング イメージとしてはこの画像の通りで、元画像のピクセルや特徴マップの値にカーネル(フィルタ)をかけて、そのカーネルが表す特徴っぽさを抽出するような作業です。 画像引用:深層畳み込みニューラルネットワークを用いた画像

    ニューラルネットワークにおけるDeconvolution - Qiita
  • 高速な Convolution 処理を目指してみた。 Kn2Image方式 - Qiita

    仕組みを学んでいると、すでに世の中に高速なConvolution処理が出回っていても、自前でもConvolution 処理を実装してみたくなりますよね(なりました)。 面白そうな論文「arXiv:1704.04428」の手法を真似て実装しました。 結果は... うん、まぁ... cudnn スゲぇなぁ を体感する事となりました......。 私の実装では、期待してたほどの処理速度には至りませんでしたが、資料をここにてまとめます。 なにかの参考になればと思い公開いたします。 背景 深層学習の理解を深めようと、自前で実装を行ってます。 Convolution 処理についても、理解を深めるため、自前で実装します。 cudnn 使えば イイじゃん なんですけども ソレはソレ。 Im2Col方式での実装を考えていましたが、(arXiv:1704.04428) Parallel Multi Chann

    高速な Convolution 処理を目指してみた。 Kn2Image方式 - Qiita
  • chainerのAlexnetを用いてFine Tuningをする | TOMMY NOTES

    はじめにも記述しましたが、学習済みのパラメータを使って自分で学習させたい層だけコピーせずに学習させます。特定の層のみ学習させると言っても、実際にはすべての層を学習させてると思います。 モデルが大きくなり大量の画像を学習させると深い層のパラメータは簡単には更新されないそうです。 それはつまり、どの画像においても重用な低次元の特徴が低層のパラメータに反映されているので、自分で判別したい画像群を学習させたい時は高層のみが自然と学習されます。 パラメータのコピーのコードは参考にさせていただいたページで使われているものを使用させていただきます。このコードは同じレイヤー名であった場合はパラメータをコピーします。 つまり、自分で学習させる層はコピー元(学習済alexnet)に無い名前をつけましょう。 import chainer def copy_model(src, dst): assert isin

  • chainerのVGG16 pretrainモデルを早速使ってみた - Seitaro Shinagawaの雑記帳

    最近めっきり記事を書いてないので、今後はメモくらいのつもりでもいいから小出しに書いていこうと思う。 chainerがv1.22.0でVGG16LayersとResNet50Layersをchainer.linksでサポートした。 Standard Link implementations — Chainer 1.22.0 documentation これによってcaffeの学習済みモデルがより気軽にchainerで試せるようになったようだ。 ちょうど学習済みモデルを手っ取り早く使いたいなと思ったところでタイミングが良かったので早速試してみた。 今回はVGG16Layersのみについて書いていこうと思う。 基的な使い方 基的な使い方はchainerのリファレンスをみるのが手っ取り早い。 Standard Link implementations — Chainer 1.22.0 docu

    chainerのVGG16 pretrainモデルを早速使ってみた - Seitaro Shinagawaの雑記帳
  • ファッションアイテムの画像からの特徴抽出とマルチスケールなCNNの効果 - ZOZO TECH BLOG

    同僚に3ヶ月のディープラーニング禁止令を言い渡したデータサイエンティストの中村です。 VASILYではスナップ画像に写っているモデルさんが着ている服と似ている服を検索する画像検索エンジンを開発しています。 ファッションアイテムを探す際、デザイン(アイテムの色や模様)はとても重要なファクターになります。 ファッションアイテムの画像検索システムも当然、色や模様のような局所的な特徴を捉えた検索を提供する必要があります。ところが判別タスクにおける歴代チャンピオンモデルと同様のCNNを使って特徴抽出を行うと、局所的な特徴が失われて似ていないアイテムがヒットしてしまうという問題がありました。 そこで、局所的な特徴の保存と表現能力の向上を期待して、モデルに浅いネットワークを追加してマルチスケールに拡張しました。 今回はこの取り組みについて紹介したいと思います。 スナップ画像から商品画像を検索する スナッ

    ファッションアイテムの画像からの特徴抽出とマルチスケールなCNNの効果 - ZOZO TECH BLOG
  • 【深層学習】畳み込みニューラルネットで画像分類 [DW 4日目] - Qiita

    ざっくりいうと Chainerで畳み込みニューラルネット(CNN)を書いた AlexNetというILSVRC2012のトップのCNNを模倣した 実際に画像分類をしてみた AlexNetとは ↓の論文で提案されているニューラルネット。ILSVRC2012で性能トップ。その後、AlexNetを深化させた、オックスフォード大のVGGというネットワークが登場し性能向上。(2016年現在、さらに性能を上回るGoogLeNetとかもある。人間より精度が良いらしい。) ImageNet Classification with Deep Convolutional Neural Networks(原文) ↓Chainerのサンプルもある。 Chainer Example AlexNet 今回は、このAlexNetの劣化版のネットワークを書いて実際に画像分類をさせてみた。劣化の理由は、単にメモリ不足を解消す

    【深層学習】畳み込みニューラルネットで画像分類 [DW 4日目] - Qiita
  • 定番のConvolutional Neural Networkをゼロから理解する

    Convolutional Neural Networkとは何か CNNで解決できる問題 Convolutional Neural Networkの特徴 畳み込みとは 合成性 移動不変性 Convolutional Neural Networkの構成要素 ゼロパディング(zero padding) ストライド Fully Connected層 Fully Connected層の問題点 Convolution層 Pooling層 TensorFlowによる実装 TensorFlowのインストール CNNでMNIST文字認識する 参考 近年、コンピュータビジョンにおける最もイノベーションと言えるのはConvolutional Neural Networkといっても過言ではない。 コンピュータビジョンの業界におけるオリンピックとも言えるコンペティションがImageNetである。 そのコンペティシ

    定番のConvolutional Neural Networkをゼロから理解する
  • TensorFlow (ディープラーニング)で為替(FX)の予測をしてみる CNN編 - Qiita

    前回までRNN(LSTM)や他の識別器で為替の予測を行ってきましたが、今回はCNNで予測をしてみたいと思います。 第1回 TensorFlow (ディープラーニング)で為替(FX)の予測をしてみる 第2回 ディープじゃない機械学習で為替(FX)の予測をしてみる データの準備 前回まで終値の差分を学習データとしていましたが、今回は終値そのものを学習データにしてみます。 また、今回はUSDJPYの1時間足、2008年1月1日〜2017年3月10日を利用し、前半95%を学習、後半5%をテスト(バリデーション)としました。 CNNは画像認識で高い精度を発揮していますが、画像以外でも応用することは可能です。例えば終値が以下のようなデータがあったとします。 これを画像に変換します。 このように1次元の画像と見なすことができます。 色が複数チャネルあるように見えますが実際はグレースケールです。カラーマッ

    TensorFlow (ディープラーニング)で為替(FX)の予測をしてみる CNN編 - Qiita
  • Chainerによる畳み込みニューラルネットワークの実装 - 人工知能に関する断創録

    Chainerによる多層パーセプトロンの実装(2015/10/5)のつづき。今回はChainerで畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を実装した。Theanoによる畳み込みニューラルネットワークの実装 (1)(2015/6/26)で書いたのと同じ構造をChainerで試しただけ。タスクは前回と同じくMNIST。 今回は、MNISTデータの取得や訓練/テストの分割にscikit-learnの関数を使ってみた。 Chainerで畳み込みをするためには、訓練データの画像セットを(ミニバッチサイズ、チャンネル数、高さ、幅)の4次元テンソルに変換する必要がある(ここに書いてある)。今回はチャンネル数が1なので単純にreshapeで変形できる。 3チャンネルのカラー画像だとnumpyのtranspose()で4次元テンソルに変換できるみたい

    Chainerによる畳み込みニューラルネットワークの実装 - 人工知能に関する断創録
  • 自然言語処理における畳み込みニューラルネットワークを用いたモデル - Qiita

    はじめに 最近、畳み込みニューラルネットワーク(CNN)を用いた自然言語処理が注目を集めています。CNNはRNNと比べて並列化しやすく、またGPUを使うことで畳み込み演算を高速に行えるので、処理速度が圧倒的に速いという利点があります。 この記事は、自然言語処理における畳み込みニューラルネットワークを用いたモデルをまとめたものです。CNNを用いた自然言語処理の研究の進歩を俯瞰するのに役立てば幸いです。 文の分類(評判分析・トピック分類・質問タイプ分類) Convolutional Neural Networks for Sentence Classification(2014/08) 評判分析や質問タイプの分類などの文分類を行うCNNを提案している論文。 具体的には文を単語ベクトルの列として表し、それに対してCNNを用いて特徴抽出・分類を行っている。論文では事前学習済みの単語ベクトル(Goo

    自然言語処理における畳み込みニューラルネットワークを用いたモデル - Qiita
  • 【深層学習】畳み込みニューラルネットの各関数の使い方を調査 [DW 3日目] - Qiita

    Convolutional Neural Network (CNN) とは 画像に特化したニューラルネット。通常の多層パーセプトロンが入力層、中間層、出力層から成るのに対して、CNNはそれに加えて畳み込み層、プーリング層、局所正規化層(LRN層)をもつ。 Chainer ExampleにあったAlexNet (ILSVRC2012のトップ) を見てみると、以下のようになっている。 ImageNet Classification with Deep Convolutional Neural Networks(原文) Chainer Example AlexNet # …(略) class AlexBN(chainer.Chain): """Single-GPU AlexNet with LRN layers replaced by BatchNormalization.""" insize

    【深層学習】畳み込みニューラルネットの各関数の使い方を調査 [DW 3日目] - Qiita
  • Fully Convolutional Networks 〜 Chainerによる実装 〜

    in English はじめに 先のページで Chainer を用いてシーン認識を行った。今回は、簡略化した Fully Convolutional Networks(FCN) を Chainer を使って実装してみる。(ここに追記した。) 計算機環境 これまでと同じく、Amazon EC2 にある g2.2xlarge を利用した。GPU を搭載したインスタンスである。 データセット 今回使うデータセットは VOC2012 である。以下のような領域分割用の教師データも含まれている。 領域分割の教師データの数は2913枚、これを4:1に分割し、前者を訓練データ、後者をテストデータとした。 number of train number of test 2330 580 訓練データ数は10で、テストデータ数は5で割り切れるように端数を切り捨てた(それぞれ訓練時のミニバッチサイズである)。文献の

    Fully Convolutional Networks 〜 Chainerによる実装 〜
  • 畳み込み層とプーリング層を画像表示してみるてすと - Qiita

    画像認識に使われる畳み込みニューラルネットワーク(以下CNNと呼ぶ)というものがあります。Tensorflow のチュートリアル(Deep MNIST for Experts)にも出てきますが、ネットワークが複雑で理解するのに苦労します。そこで、畳み込み層とプーリング層の中身を画像化して、何が行われているのかなんとなく体感したいと思います。 ベースとなる Deep MNIST for Experts のコード 今回使用するコードは github(tf-cnn-image) に上げてあります。 まずはCNNのコードを用意します。Deep MNIST for Expertsのコードから不要な箇所を削除したものを用意しました。コメントは最小限にしてあるので、詳しい動作を知りたい場合はこちらなどを参考にしてください。 # -*- coding: utf-8 -*- import sys sys.p

    畳み込み層とプーリング層を画像表示してみるてすと - Qiita
  • dlib CNNベースの物体検出 - Qiita

    dlibの物体検出は、簡単に使えるし、素晴らしい性能ですが、時々誤検出が発生することもあります。このブログで紹介されているdeep learningを利用した物体検出は、HOGの検出器よりも性能よさそうなので試してみました。 dnn_mmod_ex.cpp 学習データからモデルをトレーニングするサンプルです。ビルド方法はこちらを参考に。 さて、このサンプルを実行した時、私のようにGPUがしょぼい環境だと、以下のようなエラーが出ると思います。 Error while calling cudaMalloc(&data, new_size*sizeof(float)) in file /Users/mkisono/work/dlib/dlib/dnn/gpu_data.cpp:191. code: 2, reason: out of memory /Users/mkisono/NVIDIA_CU

    dlib CNNベースの物体検出 - Qiita