ml4a ITP-NYU - Spring 2016 「#1:introduction, neural networks」講義メモ

#講義「Machine learning for artists」とは?
ニューヨーク大学[ITP](http://tisch.nyu.edu/itp)(Interactive Telecommunications Program)の講義名です。

- 講師
    - [Gene Kogan](http://www.genekogan.com/)さん
	- アーティスト、プログラマ
	- openFrameworks,Processing,p5jsのcontributor
- 参考
	- [Machine learning for artists — Medium](https://medium.com/@genekogan/machine-learning-for-artists-e93d20fdb097#.nvcth890l)

#授業動画
授業動画はYoutubeで公開されています。
[ITP-NYU - Spring 2016](http://ml4a.github.io/classes/itp-S16/)

#01 introduction, neural networks
- superviesd and unsuperviesed
	- classification
	- regression
		- バスルームの数
		- 家のlocation
		- costをpredict
	- Clustering
		- unsupervised
		- KMeans
- neural networks
	- cnn
		- speech recognition
		- image competion
			- image net
			- classfiy accurate
- a calculus of the nervous system
	- ada lovelace
- how to annoy a neurroscientist101
	- binary
- [ml4a :: Forward pass](http://ml4a.github.io/dev/demos/demo_forwardpass.html)
	- sigmoid
		- ![](https://github.com/ml4a/ml4a.github.io/raw/master/images/sigmoid.png)
		- 0~1の値になる
	- ReLU
		- ![](https://github.com/ml4a/ml4a.github.io/raw/master/images/relu.png)
	- ニューロンそれぞれは重みを持つ
	- bias
- MNIST
	- [ml4a :: MNIST demo](http://ml4a.github.io/dev/demos/mnist_forwardpass.html)
	- 28 * 28 = 784pixels
	- 1 hidden layer
		- 15個ある
	- 10 neuron output layer
	- 54000のデータを学習
	- 7に見えるけど2と判定されているものもある
	- データの数を減らしてみる
		- 一度に学習する数を多くしてみる
	- back propagation
	- 9のサンプル
		- 1番目のニューロン
		- ニューロンを介して値が変わる
- MNIST first layer
	- 784pixel
	- no hidden layer
	- 10 output layer
	- pixel1は一番左上のvalue
	- [ml4a :: MNIST confusion](http://ml4a.github.io/dev/demos/mnist_confusion.html)
		- top mistakesに間違いが表示される
	- [ml4a :: CIFAR-10 confusion](http://ml4a.github.io/dev/demos/cifar_confusion.html)
	- [ConvNetJS: Deep Learning in your browser](http://cs.stanford.edu/people/karpathy/convnetjs/)
		- convnetJS
	- [ml4a :: CIFAR weights](http://ml4a.github.io/dev/demos/cifar_weights.html)
		- 1024のinputs
- Convolutional neural networks
	- ニューラルネットワークの一種
	- correct weightを探すのは難しい
		- 長い間うまくいかなかった
		- facebook AIの研究者
		- 1998年の論文
- Convntes do everything
	- 自動運転
	- DeepMind
		- alpha go
	- speech recognition
	- deep dream
		- memo aktenさんの画像
- CNN demo
	- 犬の画像
		- 一つ一つ違う犬のアウトライン
		- 96パターンfilter
			- 7 * 7フィルター
			- sliceしoverlapping
			- 7 * 7 regionでinput
			- multiplyで1 pixelに変換
		- mouse
			- high feature
		- pooling layer
			- many pixels
		- cnnが何層かある
			- huge pixelになる
			- faceだけが白くなる
		- eye noseで顔は構成してる
			- composition
		- full connection
			- get dump
		- Fully connect layer
			- 96filter
			- very long
			- 6 * 6 * 256
		- final layer
			- 1000class
			- リアルタイムで物体を認識
	- Instagramのハッシュタグを検索
thub.io/dev/demos/demo_forwardpass.html)
	- sigmoid
		- ![](https://github.com/ml4a/ml4a.github.io/raw/master/images/sigmoid.png)
		- 0~1の値になる
	- ReLU
		- ![](https://github.com/ml4a/ml4a.github.io/raw/master/images/relu.png)
	- ニューロンそれぞれは重みを持つ
	- bias
- MNIST
	- [ml4a :: MNIST demo](http://ml4a.github.io/dev/demos/mnist_forwardpass.html)
	- 28 * 28 = 784pixels
	- 1 hidden layer
		- 15個ある
	- 10 neuron output layer
	- 54000のデータを学習
	- 7に見えるけど2と判定されているものもある
	- データの数を減らしてみる
		- 一度に学習する数を多くしてみる
	- back propagation
	- 9のサンプル
		- 1番目のニューロン
		- ニューロンを介して値が変わる
- MNIST first layer
	- 784pixel
	- no hidden layer
	- 10 output layer
	- pixel1は一番左上のvalue
	- [ml4a :: MNIST confusion](http://ml4a.github.io/dev/demos/mnist_confusion.html)
		- top mistakesに間違いが表示される
	- [ml4a :: CIFAR-10 confusion](http://ml4a.github.io/dev/demos/cifar_confusion.html)
	- [ConvNetJS: Deep Learning in your browser](http://cs.stanford.edu/people/karpathy/convnetjs/)
		- convnetJS
	- [ml4a :: CIFAR weights](http://ml4a.github.io/dev/demos/cifar_weights.html)
		- 1024のinputs
- Convolutional neural networks
- Visualizing convnets
	- zeiler fergus 2013
- which pixels affect the activations
	- classify ipad
	- which part
	- gray boxが見える
	- ポラメリアンの犬の画像
		- actibateがoutput
	- first layer
		- 9weights
		- どのfilterがいい感じか
		- layer2でも同じことする
- Image generated by a cnn
	- deep dream?
	- どんな画像が犬に見えるのか
- Goolge Inceptionism classvis
	- realy hight response starfish
	- アリ
	- バナナ
	- パラシュート
- Deepdream
	- super cool
	- backprogation
	- change weight
	- 特定のレイヤーを最大化
- Deepdream noise
	- mike tyka
		- [Mike Tyka](http://mtyka.github.io/)
- Deepdreamの実験スライド
	- jaaga
	- fireworks
	- lake indawgyi
		- 旅行の写真w
- Deepzoom
- Oscillating which layer to enhance
- Style Transfer
	- ピカソ、語ってょ
- Mona lisa
	- different
	- Google maps
	- Ryojiikeda
- Stlye net alice in wonderland
- Deep convolutional generative adverssarial network
	- fake image
	- perlino noiseで変える
	- 5 dimension
	- smmooth change
	- bed room
- generating numbers
	- mnistの数字作る
- interpolating numbers
- a book from the sky
	- 漢字
	- dataset
	- left本物
	- right generative
	- [A Book from the Sky | Gene Kogan](http://www.genekogan.com/works/a-book-from-the-sky.html)
- loops around latent space
- Character interpolation
	- 違う漢字同士でtransition
- Radical interpolations
- Arithmetic
	- king - male + female = queen
- t-SNE
	- reduce data dimensions
	- coors converiging in 2d
- t-SNE Caltech-256animatils
	- similar
	- 2dにする
	- birds
- t-SNE flower
- t-SNE ikea catalog
	- クラスタリング
- t-sne impressioints
- t-sne satelite
- t-sne 10k forccesiong
- wiki-tsne
	- [wiki-tSNE](http://www.genekogan.com/works/wiki-tSNE/)
	- tSNEでwikipediaをクラスタリング
- Face2Face
	- [ビデオを編集してその人が言ってないことを言わせるシステムFace2Face | TechCrunch Japan](http://jp.techcrunch.com/2016/03/19/20160318this-system-instantly-edits-videos-to-make-it-look-like-youre-saying-something-youre-not/)


#補足
##t-SNE

- 次元圧縮を行うアルゴリズムの名前
	- 高次元のデータをうまく可視化して分類できる
		- 主成分分析ではごちゃごちゃになってしまう分類も綺麗に分類できる :+1: 
- 確率分布を用いる
	- 詳しいことはまだよくわからん :innocent: 
- 参考
	- [t-SNE を用いた次元圧縮方法のご紹介 | ALBERT Official Blog](http://blog.albert2005.co.jp/2015/12/02/tsne/)
	- [Visualizing Data Using t-SNE](http://www.slideshare.net/t_koshikawa/visualizing-data-using-tsne-56773191)
		- 名大院生による論文紹介スライド
		- 100枚のスライド

##A book from the sky
- 天書
- アーティスト徐冰（Xu Bing、シュー・ビン）による作品
	- fake kanjiを4000文字くらい作った
	- [Xu Bing, Book from the Sky, c. 1987-91 - YouTube](https://www.youtube.com/watch?&v=DseIYQdjzgE)
- [xubingdotcom](http://www.xubing.com/)

##Dataset
- [CAVE | Software: COIL-20: Columbia Object Image Library](http://www.cs.columbia.edu/CAVE/software/softlib/coil-20.php)
	- Coil-20 は、20 種類の物体を 5 度ずつ角度を変えて撮影した画像データセット
- The Olivetti faces dataset
	- [5.5.1. The Olivetti faces dataset — scikit-learn 0.17.1 documentation](http://scikit-learn.org/stable/datasets/olivetti_faces.html)