ごあいさつ 或いはmatlab教徒がpythonistaに改宗した話 (関東cv勉強会)

20
ごごごごご ごごご MATLAB ごごご Pythonista ごごごごごご 牛牛 牛牛 losnuevet oros ごごごごごごご

Upload: -

Post on 06-Jan-2017

1.524 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

ごあいさつ或いは MATLAB 教徒が Pythonista に改宗した話

牛久 祥孝losnuevetoros 中二病みたいだ

Page 2: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

ごあいさつ或いは MATLAB 教徒が Pythonista に改宗した話

牛久 祥孝los nueve torosthe nine bulls牛玖 ( 玖は九の旧漢字 )

中二病みたいだ

中二病みたいだ

Page 3: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

お前は誰だ?~ 2014.3 博士 ( 情報理工学 ) 、東京大学• 画像説明文の自動生成

• 大規模画像分類

2014.4 ~ NTT コミュニケーション科学基礎研究所

Page 4: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

お前は誰だ?~ 2014.3 博士 ( 情報理工学 ) 、東京大学• 画像説明文の自動生成

• 大規模画像分類

2014.4 ~ NTT コミュニケーション科学基礎研究所

という自己紹介スライドで今年度も続けるつもりでした

Page 5: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

お前は誰だ?~ 2014.3 博士 ( 情報理工学 ) 、東京大学• 画像説明文の自動生成

• 大規模画像分類

2014.4 ~ NTT コミュニケーション科学基礎研究所

Page 6: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

お前は誰だ?~ 2014.3 博士 ( 情報理工学 ) 、東京大学• 画像説明文の自動生成

• 大規模画像分類

2014.4 ~ 2016.3 NTT コミュニケーション科学基礎研究所

Page 7: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

お前は誰だ?~ 2014.3 博士 ( 情報理工学 ) 、東京大学• 画像説明文の自動生成

• 大規模画像分類

2014.4 ~ 2016.3 NTT コミュニケーション科学基礎研究所2016.4 ~ 東京大学 大学院情報理工学系研究科知能機械情報学専攻 講師 ( 原田・牛久研究室 )

Page 8: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

お前は誰だ?昨年度の kantocv イベント5 月 有名論文読み会7 月 CVPR2015 読み会10 月 コンピュータビジョンのお仕事2 月 ICCV2015 読み会

発表者枠で皆勤賞!

Page 9: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

お前は誰だ?昨年度の kantocv イベント5 月 有名論文読み会7 月 CVPR2015 読み会10 月 コンピュータビジョンのお仕事2 月 ICCV2015 読み会

発表者枠で皆勤賞!

前職ほど時間取れないかもしれない…

Page 10: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

今年度からは…関東 CV 会場確保のお手伝いを務めます

New!

Page 11: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

新任教員のお仕事• 授業– 来月から– 演習も座学も

• 大学運営– ○○ 委員会– ぱわぽわーどえくせるいられ職人

• 卒論指導– 先週配属– 修論 / 博論生はまだ

あれ、研究する時間…?

Page 12: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

研究室新メンバー顔合わせ会にて

M2

B4

ここだとプログラミングはほとんどpython か MATLAB だから。

原田先生も牛久先生もMATLAB 派だから 牛久

まあ、そうなるだろうな~

あ。

Page 13: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

LT の残り:改宗した話• 学生時代は熱心な MATLAB 教徒– C/C++ は授業とバイトのみ– 研究では少しだけ Java を使う

– 全てのアルゴリズムを行列演算にするのが信条– for/while ループは悪魔の所業

• NTT に入って… Pythonista に– MATLAB 少ない– でもきっかけは 100% ある人の影響

ACM Multimedia 2011 で実演したデモ・画像ファイルをウィンドウに D&D →説明文が出力される・ GUI を Java で書き、 MATLAB から呼ぶ・アルゴリズムは MATLAB が担当

MATLAB書かない

Page 14: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

MATLAB

• 単体でなんでもできるMathworks 社が本体以外にも多彩な Toolbox を提供– 画像処理– 機械学習– 最適化– ディープラーニング– 記号数学計算 などなど…

• 値段がごっつい– 初期導入費用 数十万円– ライセンス維持費用 / 年 数万円

Page 15: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

Python

• もとは身軽– 基本的に無料– 科学計算機能はあまり無い

• 装備をどんどん追加するイメージ– NumPy ないと死ぬ– scikit-learn ないと死ぬ– matplotlib 便利– pandas 便利– SciPy あんまり使わない

Page 16: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

NumPy

• 行列計算用モジュール– 元 MATLAB 教徒には、行列積がたいそう気持ち悪い• 行列の要素ごとの積MATLAB: A .* B Python: A * B• 行列の積MATLAB: A * B Python: matrixmultiply(A, B)

• 実行速度は裏で叩く BLAS に大きく依存– MATLAB もそれは同じ (Intel MKL の恩恵 )– Intel MKL の為だけに Anaconda Accelerate 購入

( 当時約一万円 )→ のちに無料提供されるように…

Page 17: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

scikit-learn

• 多くの機械学習手法を提供knn, kemans(++), regression, pca, pls, cca, svm, lasso, nmf, ica, lda, adaboost, random forest, Gaussian process, mds, lle, kdtree, decision tree, などなど

• より僕にとって重要:BaseEstimator の継承による機械学習手法実装僕の考えたかっこいメソッドを、 scikit-learn の他のメソッドと同等に扱える→ 恩恵は様々–パイプライン化–クロスバリデーションによるパラメータ決定

Page 18: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

たとえば…僕の考えたかっこいいメソッド mymethod() 用のハイパーパラメータを決めたい→k 分割クロスバリデーションしようfor i in range(k):

# 訓練用とバリデーション用にデータを分割for param1 in param1_set:for param2 in param2_set:for param3 in param3_set:for param4 in param 4_set:mymethod.fit()# 性能評価# パラメータと対で記録

# 一番良いパラメータの組み合わせを探す

Page 19: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

scikit learn だとfrom sklearn import grid_searchclf = grid_search.GridSearchCV( mynethod,

parameters,cv=k )

clf.fit()

以上。( 最良パラメータは clf.best_params_ に自動で入る )

Page 20: ごあいさつ 或いはMATLAB教徒がPythonistaに改宗した話 (関東CV勉強会)

最後に今年度からお手伝いはじめます• 顔と名前の一致が不得手ですが頑張ります。• よろしくお願いいたします。今は Pythonista です• MATLAB の構文を忘れつつある• 便利モジュール情報随時募集中• 改宗は Anaconda のおかげ

アッ 神だ ! [米谷 , 2015]