2015/10/07

[caffe]モデルって?

うちのVirtualBox上xubuntu 14.04でcaffeが動くようになったと思うが、今になってインストール方法を見つけた。
Ubuntu 14.04 VirtualBox VM · BVLC/caffe Wiki
CUDAってGPUを使うための何かだろうけど、VirtualBoxから使えるんだねぇ。
と思ったら、Makefile.configで結局CPU_ONLYを1にしてるな。。。

あとは、classify.pyに--print-resultsを付けるようにしてるが、これはclassify.py自体にも変更がいるみたいだ。
せっかくだから本編にも入っているといいのに。

ちょっと気になったのが、modelsのダウンロード。
get_caffe_reference_imagenet_model.shがないから落としてきたのだが、どうもスクリプトがあるみたいだ。
まだダウンロードしていないgooglenetを試してみよう。

$ ./scripts/download_model_binary.py models/bvlc_googlenet

うん、bvlc_googlenet.caffemodelがダウンロードできた。
本当はyamlがないということで「sudo apt-get install python-yaml」をやったのだが、まあ細かいことはよかろう。


そこで思ったのが、モデルって何だろう?だ。
「深層学習」の目次を見ると「モデル平均」しかない。
モデル平均はDeepLearningやニューラルネットワークだけの話じゃなくて、機械学習一般の話らしい。
1種類の識別モデルじゃなくて、複数組み合わせた結果の平均を採った方が精度が上がる、みたいなことのようだ。

なので、caffeでいうところのモデルは、ニューラルネットワークの層だとか重みとかで、bvlc_googlenetだったらgooglenetの画像(というのがあるか知らんが)で学習させたときのパラメータ一式、bvlc_reference_caffenetはまたそういう学習させたときのパラメータ一式、ということだろうか。

あー、でも重みまで入ってるんだったら、ilsvrc12のtrain.txtとかはいらないはずだ。
だから、そこまではモデルには含んでないで、ネットワークの作りだけだろうか。
うーむ。

caffeでモデルというと、Caffe | Model Zooが出てくる。
カフェなのに動物園だなんて。。
ワインだったらワインセラーとかになったのだろうか。
Model Zoo自体は、モデルじゃなくて、モデルを共有するしくみのようだ。

日本語に訳された方
OpenCV 備忘録: Caffe のモデル配布に関して訳してみた

目次に「学習済みモデル」とあるから、やっぱり学習も関係あるのか?
O'Reilly Japan - Caffeをはじめよう

p.13に"Share Your Models!"とあるので、共有できるものらしい。
https://docs.google.com/presentation/d/1UeKXVgRvvxg9OUdh_UiC5G71UMscNPlvArsWER41PsU/preview#slide=id.gc2fcdcce7_216_101


caffeだけの言葉でもなさそうなので、機械学習でのモデルを調べてみよう。

「モデルのトレーニング」
機械学習とは何か? – 機械学習の定義と使える言い回し | コンピュータサイエンス | POSTD

「予測モデル」という言葉が出てくる。
機械学習を用いた予測モデル構築・評価

これも「予測モデル」で、作成できるものらしい。でも「アルゴリズム」という言葉も出てくる。
Google Prediction API - データ分析と予測 API — Google Cloud Platform

「モデルの分割」??
第21回(最終回) 機械学習 はじめよう:機械学習 はじめよう|gihyo.jp … 技術評論社

 

知らない分野の知らない言葉をネットで検索するというのは、恐ろしいことだな。。
調べる内容がどんどん発散していくのが自分でもわかる。
でも、最後に調べた技術評論社の記事は、今読んでる「深層学習」に書かれていない基礎知識を把握する意味でもわかりやすそうだ。

そしてここに、モデルについて書かれていた。
第1回 機械学習 ことはじめ:機械学習 はじめよう|gihyo.jp … 技術評論社
おお! そういうことか(引用は禁止なので)!!

 

ディープラーニングは、別にぽっと出のものではなく、あーでもないこーでもないと多数の人が研究した中の1つだと思う。
なので、もっとよいものは今後出てくるだろうし、もしかしたら「ディープラーニングは局所解で、○○を××すると△△法が一番よかった」みたいなことになるかもしれない。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。