ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

GDG神戸へ行ってきたーーーー

佐藤さんと少し話した件のまとめ。

Deep Learingの学習をするときに、勾配法ではなく全探索法が使えないかというお題

勾配法よりも全検索の方がHW(ハードウェア)向けで良いよと発表しておきながら、そこはあまり考えたことが無かった。まず、勾配法のHW化については多分上手く行かない。勾配法が汎用的なアルゴリズムであり、以前そういう物が無いか調べてみたが良いのが見つからなかった。誰でも思いつくことだから、そのままHW化しても上手く動かないのだと思う。

動き検出以外での全探索法は上手く行く可能性が高い。動き検出には、ピクセルという非常に直感的で分かりやすい1の単位があったが、Deep Leaningでは何を1に持ってくるかが良く分からないし、正解は無いと思うのでこのへんでいいやってポイントを探さないといけない。動き検出と同レベルで高速化をやるとしたら僕の知識だともう大きくひねらないと駄目だ。動き検出の登場人物は、2つの画像と動きベクトル。画像を扱うDeep Learningの場合は、1つの画像と、NNのWeight(学習結果)、出力層の出力の3つ。

動き検出 Deep Leaning
入力画像 1 既知 既知
動きベクトル/Weight 知りたい 知りたい
入力画像2/出力 既知 既知

やりたいことは合っているが、動きベクトルとNNのWeightは次元数が違う。動きベクトルは2次元(x, y)なので探索範囲を全部振るのは現実的だが、NNのWightはNNを構成するユニットの数だけ振るのは組合せが爆発する。組合せ爆発をHWでやってしまうのか、別の手を考えた方が良いのか、そこを考えるのは楽しそうだ。

http://qiita.com/t_Signull/items/f776aecb4909b7c5c116
ここに書いてあるようにどこかを0と1に制限できるとHW実装と相性が良く、確率に関しても同じように2値(0, 1)、4値くらい(00,01,10,11)にまで落とせるとうれしい。

ゆっくり取り組む時間が欲しい。