ResNet論文を読んだメモ(arXiv:1512.03385)

今更ながらResNet論文を読んだメモ Deep Residual Learning for Image Recognition arXiv:https://arxiv.org/abs/1512.03385 概要 深いネットワーク 勾配消失や勾配爆発によって収束しない問題は、初期値の正規化や中間層の正規化によって解決しつつある 一…

closed formのメモ

closed formとは,有限個の"よく知られた"演算の組み合わせによる解の表し方のこと. “よく知られた"の部分は主観や文脈に左右されるが,例えば以下の演算など. 定数 変数 加減乗除 関数(exp, log, 三角関数) ただしlimitは使えない 解がclosed formで表せ…

Cramér GANでいらすとや画像生成してみる

Cramér GAN arXiv:https://arxiv.org/abs/1705.10743v1 このGANは数日前(5/30)に投稿されたもの。 これまでGANのベースラインとして, vanilla GAN,DCGAN,WGAN,WGAN-gpなどが使われてきた. この中のWGANやWGAN-gpより優れているという主張が論文内でされ…

リグレット解析のメモ

MLP オンライン機械学習本でリグレット解析について勉強した際のメモ. リグレット解析の概要 リグレット解析(regret analysis)はアルゴリズムが最適な戦略をとった場合と比べてどの程度悪かったのか, そのリグレット(後悔)を測ることでアルゴリズムの性…

Boundary Equilibrium GAN(BEGAN)でいらすとや画像を生成してみる

Boudary Equilibrium GAN,略してBEGANと呼ばれる Arxiv: https://arxiv.org/abs/1703.10717 このBEGANを使って以下のようないらすとや画像を生成するというのが本記事の主旨。 完全にmode collapseしてしまった。 結構いろいろ試しているものの、パラメータ…

"How to Train a GAN" at NIPS2016 workshopのメモ

NIPS2016でのWorkshop on Adversarial Training「How to train a GAN」での, GANを学習させるTipsのまとめ。 Workshopの動画 (30分程度で軽めなので観てみると良いと思います) www.youtube.com 以下は登壇者による↓のメモ https://github.com/soumith/gan…

Tutorial on Variational Autoencodersを読む

Variational Autoencoders,略してVAEsと呼ばれる Arxiv: https://arxiv.org/abs/1606.05908 Tutorial on Variational Autoencoders(VAEs)を読み解いていこうと思う。 先人たちによる日本語の詳細な解説はネット上にゴロゴロあるので、 本記事は自分自身の理…

変分法メモ

汎関数 関数 は任意の入力に対して出力を返す演算子と考えられる。 同様に、関数を入力としてとり、ある出力値を返す演算子として汎関数が定義できる。 例えば、2次元平面中の曲線がある関数で定義されているときに、その長さを求める演算子は汎関数となる。…

Wasserstein GAN(WGAN)でいらすとや画像を生成してみる

Wasserstein GAN,略してWGANと呼ばれる Arxiv: https://arxiv.org/abs/1611.02163 著者によるコード: https://github.com/martinarjovsky/WassersteinGAN このWGANを使って以下のようないらすとや画像を生成したというのが本記事の主旨。 本論文のcontribut…

UnrolledGANでいらすとや画像を生成してみる

Unrolled GAN Arxiv: https://arxiv.org/abs/1701.07875 これまで実装してきたGAN、DCGANでは学習の際にDiscriminatorが早く学習しすぎてしまうという問題があった. これに対するアプローチとして,Generatorに先取り学習をさせて,学習を促進させようとい…

リプシッツ連続

リプシッツ連続についてのメモ。 定義:リプシッツ連続 関数が任意の実数に対し、 $$ \mid \, f(x) - f(y) \mid \leq k \mid x - y \, \mid $$ を満たす0以上のがとれるとき、関数はリプシッツ連続であるといい、をリプシッツ定数という。 のとき、任意の実数…

CS224dのTensorflow Tutorialを読んでみる

Tensoflowの公式のtutorialは眺めたことはあるが, 今一度確認のため, CS224dのTensorflow tutorialを読んでみる. このメモは単なる写経です. CS224dが気になる人は上のリンクを直接たどって見てみると良いと思います. Tensorflowはnumpyと文法がそっく…

TensorFLowの基本演算

定数 import tensorflow as tf # 定数 a = tf.constant(2) b = tf.constant(3) with tf.Session() as sess: print("a: %i" % sess.run(a), "b: %i" % sess.run(b)) print("Addition with constants: %i" % sess.run(a+b)) print("Multiplication with consta…

Deep Convolutional GANs(DCGAN)をkerasで実装して、いらすとや画像を生成する

前回,GANを勉強して実装したので、その取り組みの続きとして、 DCGAN(Deep Convolutional GAN(DCGAN)を実装して遊んでみる。 生成結果はこのようになった。 (2017/9/7 追記) DCGANの論文を読んでみたところ、GANの論文よりも読みやすかった。 またGANのとき…

Generative Adversarial Networks(GAN)を勉強して、kerasで手書き文字生成する

Generative Adversarial Nets(GAN)はニューラルネットワークの応用として、結構な人気がある。たとえばYann LeCun(現在はFacebookにいる)はGANについて以下のように述べている。 “Generative Adversarial Networks is the most interesting idea in the …

KL divergenceとJS divergenceの可視化

Kullback-Leibler(KL) diviergence 同じ確率変数xに対する2つの確率分布P(x)とQ(x)があるとき、 これらの確率分布の距離をKullback-Leibler(KL) divergenceを使い評価できる。 KL divergenceは以下の式で表される。 $$ \begin{align} D_{KL}(P||Q) &= \math…

ベクトルと行列による微分

ベクトルによる微分 定数ベクトルを 、 変数ベクトルを とする。 との内積の微分は、次のように定義する。 $$ \frac{\partial(\boldsymbol{a}^{T} \boldsymbol{x})}{\partial \boldsymbol{x}} = \frac{\partial(c = a_{1}x_{1} + \cdots + a_{d}x_{d})}{ \pa…

【はじめてのパターン認識】第8章 サポートベクトルマシン

サポートベクトルマシン(SVM)とは、2クラス線形識別関数の学習法のこと。 サポートベクトルマシンの導出 SVMでは標準座標系を用いて考える。 クラスラベル付き学習データの集合をとする。 は教師データ、マージンをとすると、 $$ |w^{T}x_{i} + b| \geq K $$…

【はじめてのパターン認識】第7章 パーセプトロン型学習規則

2クラスの線形識別関数を求める古典的な手法に、パーセプトロンの学習規則がある。 識別関数のパラメータを逐次的に求めるこのアルゴリズムは、2クラスの学習データが線形分離可能であれば収束することが知られている。 これをパーセプトロンの収束定理とい…

【はじめてのパターン認識】第6章 線形識別関数

はじめてのパターン認識を読んでいる。 その個人的メモ。 はじめてのパターン認識作者: 平井有三出版社/メーカー: 森北出版発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 1人 クリック: 7回この商品を含むブログ (3件) を見る 線形判別分析 1次…

Numpy array演算操作メモ

numpy arrayの演算操作についての自分用メモ numpy arrayのサイズ numpyにおけるarrayのサイズはなかなか直感的に理解するまで時間がかかると思う。 ベクトルとそれ以外でとりあえず分ければよいのだなと感じた. import numpy as np a = np.array([1]) a.sh…

【はじめてのパターン認識】第5章 k最近傍法

はじめてのパターン認識を読んでいる。 その個人的メモ。 はじめてのパターン認識作者: 平井有三出版社/メーカー: 森北出版発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 1人 クリック: 7回この商品を含むブログ (3件) を見る 漸近仮定とkNN誤り…

LSTMで三角関数を組み合わせた周期関数を予測してみる

簡単な周期関数をLSTMネットワークに学習させ、予測させてみる。 環境 python:3.6.0 (Anaconda 4.3.1) keras:2.0.1 tensorflow: 1.0.1 予測させる周期関数 今回予測させる周期的な関数は、 周期の異なるsinとcosの和で作る。 (下図上段のオレンジと黄の曲線…

福くんと鈴木一真さんの画像分類問題をCNNで解く(訓練・テスト編)

これまではMNISTやIris等の既成のデータセットをもとにして問題を解いてきたが、 機械学習で一番苦労する部分は「データセットを作るところ」と噂でよく聞くので、 今回はデータセットを自分で作って分類問題を解いてみようと思う。 鈴木福くんと鈴木一真さ…

福くんと鈴木一真さんの画像分類問題をCNNで解く(データセット作成編)

これまではMNISTやIris等の既成のデータセットをもとにして問題を解いてきたが、 機械学習で一番苦労する部分は「データセットを作るところ」と噂でよく聞くので、 今回はデータセットを自分で作って分類問題を解いてみようと思う。 題材は何にすべきか、結…

【はじめてのパターン認識】第4章 確率モデルと識別関数

はじめてのパターン認識を読んでいる。 その個人的メモ。 はじめてのパターン認識作者: 平井有三出版社/メーカー: 森北出版発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 1人 クリック: 7回この商品を含むブログ (3件) を見る 標準化 学習データ…

【はじめてのパターン認識】第3章 ベイズの識別規則

はじめてのパターン認識を読んでいる。 その個人的メモ。 はじめてのパターン認識作者: 平井有三出版社/メーカー: 森北出版発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 1人 クリック: 7回この商品を含むブログ (3件) を見る 本章では、ベイズ…

【はじめてのパターン認識】第2章 識別規則と学習法の概要

はじめてのパターン認識を読んでいる。 その個人的メモ。 はじめてのパターン認識作者: 平井有三出版社/メーカー: 森北出版発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 1人 クリック: 7回この商品を含むブログ (3件) を見る 識別規則の構成法 …

【読書メモ】データ解析のための統計モデリング入門のまとめ

データ解析のための統計モデリング入門を読んだ。 一般化線形モデル 階層ベイズモデル MCMC って何それという状態だったので大変勉強になった。 筆致が軽く、数学の素養が必要ないため読みやすく、誰にでも薦められる。 この本を読む前に線形モデルだけは勉…

【データ解析のための統計モデリング入門】10章 階層ベイズモデル

データ解析のための統計モデリング入門を読んでいる。 その読書メモ。 データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)作者: 久保拓弥出版社/メーカー: 岩波書店発売日: 2012/05/19メディア: 単行本購…