PFIセミナー(2016/02/25)で発表したスライドです。伝承サンプリング可能な生成モデルに関するDeep Learningの紹介です(キーワード:Wake-Sleep, 変分 AutoEncoder, Generative Adversarial Nets, Likelihood Ratio)Read less
![生成モデルの Deep Learning](https://cdn-ak-scissors.b.st-hatena.com/image/square/e35e03ca18b0deb7c271fb2f37ab378380daaed7/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Flearning-generator-v2-160225050717-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
PFIセミナー(2016/02/25)で発表したスライドです。伝承サンプリング可能な生成モデルに関するDeep Learningの紹介です(キーワード:Wake-Sleep, 変分 AutoEncoder, Generative Adversarial Nets, Likelihood Ratio)Read less
今回はディープラーニングのモデルの一つ、Variational Autoencoder(VAE)をご紹介する記事です。ディープラーニングフレームワークとしてはChainerを使って試しています。 VAEを使うとこんな感じの画像が作れるようになります。VAEはディープラーニングによる生成モデルの1つで、訓練データを元にその特徴を捉えて訓練データセットに似たデータを生成することができます。下記はVAEによって生成されたデータをアニメーションにしたものです。詳しくは本文をご覧ください。 本記事で紹介している内容のPythonコードはコチラにあります。 1. Variational Autoencoderとは? まず、VAEとはどんなものであるかを説明したいと思いますが、その前に通常のオートエンコーダーについて触れたいと思います。 1-1. 通常のオートエンコーダー オートエンコーダーとは、 教師
Deep Learning系のライブラリを試すのが流行っていますが、Exampleを動かすのはいいとしても、いざ実際のケースで使おうとするとうまくいかないことがよくあります。 なんとか動かしてみたけれど精度が出ない、データの加工の仕方が悪いのか、モデルのパラメーターが悪いのか、原因がぜんぜんわからん・・・という事態を乗り越えるには、やはり仕組みに対する理解が必要になってきます。 そんなわけで、本編では画像の用意という一番最初のスタートラインから、Chainerで実装したCNNを学習させるところまで、行うべき手順とその理由を解説していきたいと思います。 前段として理論編を書いていますが、ここではライブラリなどで設定しているパラメーターが、理論編の側とどのようにマッチするのかについても見ていきたいと思います。 なお、今回紹介するノウハウは下記リポジトリにまとめています。画像認識を行う際に役立て
ざっくりいうと Chainerで畳み込みニューラルネット(CNN)を書いた AlexNetというILSVRC2012のトップのCNNを模倣した 実際に画像分類をしてみた AlexNetとは ↓の論文で提案されているニューラルネット。ILSVRC2012で性能トップ。その後、AlexNetを深化させた、オックスフォード大のVGGというネットワークが登場し性能向上。(2016年現在、さらに性能を上回るGoogLeNetとかもある。人間より精度が良いらしい。) ImageNet Classification with Deep Convolutional Neural Networks(原文) ↓Chainerのサンプルもある。 Chainer Example AlexNet 今回は、このAlexNetの劣化版のネットワークを書いて実際に画像分類をさせてみた。劣化の理由は、単にメモリ不足を解消す
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で割り切れるように端数を切り捨てた(それぞれ訓練時のミニバッチサイズである)。文献の
ども〜古川です。 今回はnvidia-dockerについて書いてみようかと思います。 nvidia-dockerとは? CUDAおよびcuDNNなどが梱包されたdockerコンテナイメージを使えるようにするためのツールです。 図のようにホストマシンのDriverを用意をしておけば、CUDAやcuDNNをつかったアプリをコンテナごとに管理できます! 2016年7月時点ではrc版ですが、家のマシンで試したところ安定して使えそうだったので、今回を期に紹介します! 結局nvidia-dockerは何がおいしいの? Deep Learningライブラリのバージョンが容易になる ホストマシンにDeep Learningライブラリがある場合を想定してください。 Deep Learningライブラリをバージョンアップしたいときが起きますが、その場合、次の作業が必要になることがあります。 CUDAのバージョ
Metal Performance Shadersについて iOS10からiOSで畳み込みニューラルネットを作れるようになりました。畳み込み層、プーリング層、正規化層、活性化関数など基本的なツールは揃っています。ただし最適化アルゴリズムなどは揃っておらず、学習はできません。Pythonなどで学習したモデルをプロジェクト内に持ってきてその重みやバイアスを使用することになります。AppleのサンプルコードでもMNISTを学習したモデルをプロジェクト内に置いていますが、肝心のファイルの拡張子は.dataとなっており、どんな種類のファイルなのかわからなかったので調べてみました。 Pythonライブラリにおけるモデルの保存形式 Chainerのドキュメントを見てみるとsave_npzとsave_hdf5という二つのモデル保存用メソッドがあります。npzはNumPy配列を保存するファイル形式のようです
警告 この記事はすでにサポートが打ち切られているChainer v1の最終リリース(v1.24.0)向けに書かれた笑えないレベルで古すぎる記事です。 2017年12月時点での最新安定版のChainer v3向けに書かれた記事がこちらにありますので、どうしてもv1に入門する必要があるという超特殊事情を抱えた方以外は、今すぐそちらに飛んでください。 Go!! -> Chainer v3 ビギナー向けチュートリアル 第1回 Chainer Beginner's Hands-onを大手町にあるPreferred Networksオフィスの多目的室にて開催いたしました。この記事は、このハンズオンで行った内容を記事化したものです。 ハンズオン当日に使用した資料等は以下のGithubリポジトリにまとめられています。 mitmul/chainer-handson 当日は、さくらインターネット様より4つのP
デープラーニングはコモディティ化していてハンダ付けの方が付加価値高いといわれるピ-FNで主に工作担当のtai2anです。 NHKで全国放送されたAmazon Picking Challengeでガムテべったべたのハンドやロボコン感満載の滑り台とかを工作してました。 とはいえ、やっぱりちょっとディープラーニングしてみたいので1,2か月前からchainerを勉強し始めました。 せっかくなので線画の着色をしたいなーと思って色々試してみました。 線画の着色は教師あり学習なので線画と着色済みの画像のデータセットが(できれば大量に)必要です。 今回はOpenCVでカラーの画像から線画を適当に抽出しています。 抽出例 → カラーの画像を集めて線画を作ればデータセットの完成です。(今回は60万枚くらい使っています) ネットワークの形ですが、U-netという最初の方でコンボリューションする時の層の出
from xchainer import NNmanager import numpy as np from chainer import FunctionSet, Variable, optimizers import chainer.functions as F from sklearn.base import ClassifierMixin # NNmanager NNmanager model optimizer lossFunction model chainer.FunctionSetoptimizer chainer.optimizerslossFunction chainer.functions chainer paramsparams epoch batchsize logging forward trimOutput forward trimOutput chain
この記事は Chainer Advent Calendar 2015 17 日目の記事です。 はじめに サイズが大きいデータを Deep Learning すると学習に時間がかかってつらい。時間がかかってつらいので並列処理して高速化したい。 並列化するのに良さそうなパッケージないかな? と探してみると、Dask という並列 / Out-Of-Core 計算パッケージを見つけた。これと Chainer を組み合わせると並列処理が簡単に書けそうな気がする。 最初は MNIST を並列化してみたが、データが小さすぎるせいか むしろ遅くなってしまった。もう少し大きいデータである CIFAR-10 を使い、より深いネットワーク構造でその効果を確かめたい。 最終的には以下二つの処理を並列化することを目指す。 Data Augmentation DNN の学習 1. Data Augmentation
こちらが改訂版なので,ダウンロードするならこちらで: http://www.kamishima.net/archive/scipy-overview.pdf 第15回情報科学技術フォーラム (FIT2016) での講演「科学技術計算関連Pythonパッケージの概要」の発表資料です. * 講演ページ: http://www.ipsj.or.jp/event/fit/fit2016/FIT2016program_web/data/html/event/event72.html * 小嵜 耕平さん資料「Python とデータ分析コンテストの実践」 https://speakerdeck.com/smly/python-todetafen-xi-kontesutofalseshi-jian * サンプルファイル: https://github.com/tkamishima/fit2016tutor
Deep Learning の簡単な説明から実装、そしてChainer の使い方を紹介します。CUDA サポートについても簡単に解説します。 最新のインストール方法も含んでいます。Read less
ニューラルネットワークを使ったオブジェクト検出の手法に R-CNN (Regions with CNN) というものがある。簡単にいうと、R-CNN は以下のような処理を行う。 入力画像中からオブジェクトらしい領域を検出し切り出す。 各領域を CNN (畳み込みニューラルネットワーク) にかける。 2での特徴量を用いて オブジェクトかどうかをSVMで判別する。 R-CNN については 論文著者の方が Caffe (Matlab) での実装 (やその改良版) を公開している。 [1311.2524] Rich feature hierarchies for accurate object detection and semantic segmentation github.com が、自分は Matlab のライセンスを持っていないので Python でやりたい。Python でやるなら 今
ChainerでAutoencoderを試してみる記事です。前回の記事、「【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。」の続きとなります。ディープラーニングの事前学習にも使われる技術ですね。 本記事で使用したコードはコチラから取得できます。 1.最初に AutoencoderとはAuto(自己) encode(符号化)er(器)で、データを2層のニューラルネットに通して、自分自身のデータと一致する出力がされるようパラメーターを学習させるものです。データだけあれば良いので、分類的には教師なし学習になります。 学習フェーズ こんなことをして何が嬉しいのかというと、 入力に合わせたパラメーター$w_{ji}$を設定できる。(入力データの特徴を抽出できる) その入力に合わせたパラメーターを使うことでディープなニューラルネットでの学習を可能にする(ランダム値
今話題のDeep Learning(深層学習)フレームワーク、Chainerに手書き文字の判別を行うサンプルコードがあります。こちらを使って内容を少し解説する記事を書いてみたいと思います。 (本記事のコードの全文をGitHubにアップしました。[PC推奨]) とにかく、インストールがすごく簡単かつ、Pythonが書ければすぐに使うことができておすすめです! Pythonに閉じてコードが書けるのもすごくいいですよね。 こんな感じのニューラルネットワークモデルを試してみる、という記事です。 主要な情報はこちらにあります。 Chainerのメインサイト ChainerのGitHubリポジトリ Chainerのチュートリアルとリファレンス 1. インストール まずは何はともあれインストールです。ChainerのGitHubに記載の"Requirements" ( https://github.co
Deep Neural Networkを使って画像を好きな画風に変換できるプログラムをChainerで実装し、公開しました。 https://github.com/mattya/chainer-gogh こんにちは、PFNリサーチャーの松元です。ブログの1行目はbotに持って行かれやすいので、3行目で挨拶してみました。 今回実装したのは”A Neural Algorithm of Artistic Style”(元論文)というアルゴリズムです。生成される画像の美しさと、画像認識のタスクで予め訓練したニューラルネットをそのまま流用できるというお手軽さから、世界中で話題になっています。このアルゴリズムの仕組みなどを説明したいと思います。 概要 2枚の画像を入力します。片方を「コンテンツ画像」、もう片方を「スタイル画像」としましょう。 このプログラムは、コンテンツ画像に書かれた物体の配置をそのま
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く