studylog/北の雲

chainer/python/nlp

数学的バックグラウンドが無い人は理論を勉強しようと思っても厳しい

という事を痛切に悟りました。無理・無茶です。2015に出たLSTMとかCNNの教科書的の段階ならば、自分みたいな人間でも頑張って青本読んでも何とか理解できました。でもそのレベルでは特に自然言語処理関係であまり実用的なモノは作れません。LSTMで言語モデル作って文章出力して「知性!(実際はワードサラダ)」とか言ってた牧歌的な時代はもうとうの昔に過ぎ去りました。数学的バックグラウンドが無いと最新論文見ても何がなんだかわかりません。論文を簡単に説明してくれているブログ記事を読んでも理解できなくなってきました。片手間では無理ですね。

理論を理解するのは諦めて、他の人の成果物(論文)を誰かがコード実装してくれてそれを使ってなんかやるっていう方向性に特化しないと全部中途半端になっちゃうでしょう。最低限CNNの畳み込み・フィルタとかDropoutとかそのレベルぐらいまでは理解しないと誰かが書いたコードすらも弄れないのでゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装レベルだけでも最低限理解して、最新の理論についていくのは諦めて誰かの実装コードを使わせてもらい自分のやりたいタスクに合わせて弄る、という方向性なのかなと。

書きながらちょっと酔っぱらってきました。与太話が始まります。

「そんなレベルで何が作れんのよ?」って大半の人は思うでしょうし、自分もそう思います。でも、すごい企業やすごい人が作るような素晴らしいモノだけに価値があるわけでは無いとも思う。凄くて汎用的なモノだけでは解決できないニッチな場所や、あるいは凄くて汎用的なモノが出てくるまでのタイムラグを埋めるだけのしょぼいモノにも幾ばくかの価値があると思うんですよね。価値0ではない。

なんかweb2.0なんて古くさい話を出しますが、あれだって2006だが2007ぐらいに作られたweb2.0的なモノってもうほぼ淘汰されたじゃないですか。一部の凄いモノだけが生き残ってる。スマホのアプリ界隈もそう。でも、じゃあ淘汰されたモノに意味が無かったとは思わない。あの淘汰されちゃったモノ達は立派に隙間を埋めたし、制作したプログラマ個人の人生という視点で言えばちょっとした収入にはなって人生を豊かにしたじゃないですか。年収*5ぐらいでサイトを売った人、2~3年ぐらい月収1.5倍になった人。世間的に見れば「で?」っていうレベルの小さい話かもしれないけど、プログラマ個人の人生からすれば「おお!」っていうレベルを在野の名無しのプログラマは目指してもいいと思うんですよね。自分も過去のそういう体験が人生を少しだけ豊かにしてくれたという実感があります。在野でも個人でも無名でも、プログラミングができるってことはこんなに素晴らしい事なんだと。

まあweb2.0時代やスマホアプリブームと決定的に違うところは求められる能力が格段に上がってるって事です。あの時代は基礎的なプログラミング・webフレームワーク・DBの知識があって、後はアイディアや行動力や分野ごとの専門知識があればそれなりのモノを個人でも作れてマネタイズできたと思うんですが、現代のDNN時代は厳しいですね。非常に厳しい。数学的バックグラウンドが無いと最新論文がさっぱり読めない。そしてGPUみたいな計算資源の問題。そんでデータ・コーパスの量。こういったところがその辺の在野の一匹狼プログラマではどうする事もできないレベルになってます。自腹で10万近くでGPUを1枚買っても1年もすれば性能2倍お値段ちょい安、みたいなGPUが出てきてそういうのを4枚刺しして学習するのが当たり前になる。そういうのをたくさん集めてクラスタ化してぶん回す企業がぞろぞろいる。こういうのが相手じゃ隙間を埋めるのすらも厳しいなという虚無感を覚えてます。

来年の今頃はどういう世界になっているんでしょうか。

それでは皆さんよいお年を。