_ 人生の転機
最近機械学習ぽいこと、というか機械翻訳という、流行りの深層学習を使ってるぽいチームに移ったりしてた。理由は流行りぽいからという、まあ
というような話を結構前にした時に、人生の転機と書いてたのは、結婚か転職かと思われた、というようなことを言われて、そんなの書いたっけ、と思った。まあ結構前に
http://shinh.skr.jp/m/?date=20160609#p01
で思い出して調べたら、ホントだ書いてた。まあ今みたいに酔っぱらって適当なことを書いてたのだと思われる…特に全然違う話題が2行目にあるあたり酔っぱらってる感がある。が調べるとタイミング的にはまあこのへんに異動したぽい
しかし人生の転機でないかと言われるとまあ転機ではなくはないと思う。がまあ結婚か転職でないなら違うというのが通常の考え方かなあと思う。せめて海外転勤くらいしてくれないとという感がある
ええとそんなことよりディープラーニング。よくわからないなあというのが正直なところ。何がわかってないか、何がわかってないとわかってるのか、何がさっぱりわかってないのか、考えてみると
- オーバーオールとして、何故これがうまくいくのか。わからん、そしてこれはどうも、誰もわかってない。謎であるということがわかった
- 古典(とはいえAI研究としては僕の分類では3つ目くらいの世代の)、というか統計ベースな機械学習。全くわからん。今ならこのレイヤの研究を完全にすべてすっとばせそう、という理由で今のタイミングで異動したと言って問題なかったように思う
- いうてSVMとかK-meansとか、まあうん、「ああそれ授業でやったな〜」学生程度の理解はしたような気もする
- まあそのへんすっとばしたのは正解であろう。別にいらない気がする
- 深層学習。重みがたくさんあって、十分に深くて、もうなんでもいいから非線型なんかを入れると、なんかうまくいく。うまくいかないなら次元を増やすか深さを増やせ。というような世界観に思う。いやそんなことはないんだろうが、現段階で結果的にそうなる気がする
- 既存のモデル、こういうことを期待してこういう作りになってます〜、実際結果もいいんですよ〜と主張している。実際結果もいいし、部分的にはその期待通りに動いているような値を出してる場所もあるんだけど…しかし誰も何故本当にその作りで期待されている学習が行なわれるか、本当に期待されている学習が行なわれているのか、あまり確認できてないように思われる。とにかく入口と出口以外に人間が評価できるポイントがあまりない(翻訳の場合少しあるんだが、うーんホント感)
- 論文。そのよくわからないところに、さらに上乗せで「こういう問題に対処するためにこういう解決が起きることを期待してこういう実験をしてみました〜」みたいなのが多いという印象。たいていうまくいった例がくっついているが…定量的にその部分に関してうまくいったということを測る指標がないのが、ウーン
- あとネットワークを複雑化すると常に一定よくなるというのがあると思っていて、提案手法はたいていベースより複雑になってるので、その効果を越えられているん?というと、ウーン
- そもそも https://xkcd.com/882/ が起きてないの?ていうと、ウーン
ちょっとこのへんで話題が変わってるというか、個人的な話が増える
- tensorflowがわからない。コードが読みにくい。どうも数式がコードに落ちてる…ていうのに馴染みが少ない
- そもそも数式が読めない(まあ適当に流す)。3次元を越えたものは僕にはわからないということが、物理学科の学生として学んだことであった
- P(Y|X) を見るとウッヤラレタと思う
- しかし驚くべきことに、Πとかが登場する複雑な式は読めるケースがある。何故ならそういう式は割と思いつきで作られてる(素人の感想です)
- 毎度LSTM/GRNのこれてなんだっけ、みたいなことになる(まあ適当に流す)
- tensorflowで作ったグラフをダンプしたやつがデカすぎてよくわからない(そもそもダンプして読むみたいなobjdump読む的発想が良くないという批判はあると思う)
- グラフを理解したとして(してないが)、それが実際どう計算されるか想像できてない
- ネットワークまたいで何MBの転送が起きてるんだろうか
- CPU-GPU間で何MBの転送が起きてるんだろうか
- GPU-GPU間で何MBの転送が起きてるんだろうか
- GPU内の並列性てどのくらいの規模のなに
- パラメータサーバちゃん、本当に必要なの
- SGDはわかる。それをadaptiveにしようてのもわかるんだが…なんで何種類もあるの
- 簡単なコードを足すと…typoでこける。Pythonていうか動的型付け言語苦手やねん
- self が無いとかね(たぶんこのグチ100回目くらい)、もっと早く教えてほしい
- テンソルの形が違うとかね(new!)、もっと早く教えてほしい
- tensorflow、使いかたのドキュメント多いけど、中どうなってる、ての少ないような。whileとかどうなってるねん。なんでcondに渡すのlambdaやねん
- それはそれとして、とりくむ対象に対する、古典的なアプローチについての勉強は重要に思う。やはりドメインの理解は重要だなあとか
- 少なくとも機械翻訳はそう感じる。alignmentとかBLEUとかは知らないとどうしようもない感があった
などなど……まだまだあったと思うけど
(23:23)