渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

終わりなき学びと、社会実装と

f:id:TJO:20181205011249p:plain
(Image by Pixabay)


これは恒例の年末ポエムです。何ひとつ学術的・技術的にためになるような内容は書かれておりませんので、予め悪しからずご了承ください。そして基本的にこの記事は昨年の年末ポエムの続きです。


学び続けることの難しさ


今年も、機械学習の世界では論文をためて積み上げれば小高い山が出来そうなほどの新たな研究成果が報告され、それこそメディアやSNSで喧伝された研究をいちいちあげつらっていくだけで長いブログ記事が一本書けてしまいそうという状況に、特に何も変わりはありませんでした。arXiv機械学習系論文が出るたびに知らせてくれるbotなども世の中にはありますが、大体毎日うんざりするくらいの量を持ってくるので最近は見なくなってきています。



メディアやSNSの話題をさらったものとして何か一つ研究を挙げるとしたら、BERTでしょうか。「自然言語理解タスクでヒトの精度を超えた」などと喧伝されて大きな話題を呼びました。それにしても今は本当に良い時代で、論文([1810.04805] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding)が出たと思ったらもうGitHubに実装が公開されているという按配で、僕のような数式読むのが大の苦手な人間でもコードを読めば良いので安心!と思ったら、この論文ほとんど数式出てこないんですよね(笑)。


[1802.04474] Deep Neural Networks Learn Non-Smooth Functions Effectively
理論解析系の研究で今年最も目を引いたのがこちらの@insouさんの論文。ご本人の手による非常に分かりやすい解説slideshareもあるので、僕のような数学大の苦手人間でも安心して読めます。今でもよく話題に上る「何故Deep Learningはどれほど複雑で非線形な課題であっても大体最適解にたどり着いてしまうのか?」という疑問の一端に答える研究だと思いました。


f:id:TJO:20181207195350p:plain
f:id:TJO:20181207195526p:plain
[1801.07729] The Shape of Art History in the Eyes of the Machine
個人的にものすごく面白いと思ったのが「NNに中世から現代までの絵画を読み込ませることで、その内部表現から絵画の歴史を紐解く」という研究。セザンヌが様々な時代とスタイルの絵画同士を時代を超えてつなぐ橋 (bridge) になっていることが内部表現として示されたり、時代的には接近している印象派キュビズムが意外とかなり互いに遠い位置にあったり、と絵画史に疎い僕でも興味を惹かれるような示唆に富んだ結果を示しています。


ということで、あくまでも自分の興味の範囲で3つだけ今年発表された論文を挙げましたが、もちろん実際には膨大な数の機械学習そして数理統計学の研究成果が日進月歩どころか秒進分歩の勢いで世に出続けていて、キャッチアップするのは僕のような非研究者には事実上不可能という状況になりつつあります。実際、arXivで発表される機械学習分野の論文数の伸び率はかのムーアの法則を上回っているそうで、その最先端を単なる一人のユーザーの身として追いかけ続けるのは至難の技のように思えます。


社会実装を容易にする技術革新


前にも何度か書いたことがある気もしますが、6年余りに渡ってデータサイエンティストとして働いてきた僕が常に課題意識として抱いてきたこと、それが「統計学機械学習を社会実装して実社会に何かしらの意味ある、なおかつそれなりの規模のインパクトを与えられたか?」ということです。


かつて純粋科学の研究者として事実上短期的には社会の何の役にも立たないことばかりにかまけてきた自分としては、企業社会に出たからには実社会に何かしらの意味あるそれなりの規模のインパクトを具体的に与えられるようになりたい。そういう強い意志を持って仕事に臨みながらも、必ずしもそれを達成できなかったり、それどころか遠く及ばないこともしばしばという現実にもどかしさを感じる日々が長く続いたものでした。


様々な幸運に恵まれたこともあり、私事で恐縮ですが昨年末から今年にかけてはそれなりに社会実装できたと言えるような仕事の成果を出すことが出来ました*1。けれども、自分の中ではまだまだ「穀潰しがようやく穀潰しでなくなった」という程度のものでしかないと思っています。むしろ、6年余りも勉強に時間を割き続けてインプットばかりしてきたのだから、そろそろもっともっとアウトプットするべきなのでは?それも出来ない自分はいつまで経っても半端者のままなのでは?という、プレッシャーを自らの中に感じることの方が今でも多いです。


それくらい「社会実装」というのは僕自身にとっては簡単そうに見えて予想以上にずっしりと重いテーマだったのですが、今年になってそういった社会実装を容易にする技術革新が幾つも出てきました。



例えばAutoMLのような自動化の枠組みは、人手による細かいモデル選択やチューニングをせずとも、全て計算リソースの範囲で最適なモデル(のアンサンブル)を作ってくれます。リンク先の記事のラーメン二郎分類器の事例は、非常にインパクトがあって面白かったです。発案者の人が手動で細かくチューニングして達成した高い精度に、AutoMLだけで迫ることが出来たというのは色々な意味で印象深いです。


一方で個人的に最も感銘を受けたのが、TensorFlow Hubに代表されるようなTransfer Learning(転移学習)です。これはDeep Learningの研究開発が進むことによって得られた一種の副産物的な側面もあると思いますが、要は最後の全結合層の手前までのネットワークを使うことで「複雑な非構造化データを全結合層(=ロジットor線形回帰)に送る直前の構造化された特徴量の形に変換することができる」という話なのだと僕は理解しています。



その中でも特に僕にとって最も有用だと思ったのが、NNLM(Neural Network Language Model: NNで事前学習された言語モデル)です。理由は簡単で、NLPをきちんと学んでいない*2僕にとってはテキスト分類系のタスクはtf-idfをやらねばとか品詞抽出をやらねばとか不慣れなプロセスが多くて正直非常に苦手だったのですが、pre-trained NNLMを使えばその全てをスキップして一発で特定の次元数の特徴量に変換してくれるからです。必要な前処理もたかだか分かち書きぐらいで、それでもかなり高い分類精度を実現してくれます。


もちろん、他にもInception-v3のような巨大なpre-trained modelを使うことで、ImageNet Challengeで途方も無い高精度を達成した機械学習モデルの「叡智」をそのまま転用して、新たにカスタマイズした画像認識モデルを作るという芸当も出来るわけです。いわば「巨人の肩の上に立つ」の機械学習版が簡単に出来るようになったというのが、転移学習の普及の大きな成果だと思うのです。


このように、最先端の研究成果が僕のような現場の実務家のところまで手軽に届くようになったことで、先に述べたような「社会実装」がどんどん容易になってきているように感じています。それこそが、色々なところで最近言われ始めている「機械学習民主化」ということなのかもしれません。


個人的な話ですが、僕が仕事をする上での信条として、deep diveとscalabilityのどちらを優先すべきか?という場面ではたとえKPIにとっては短期的にはマイナスになることがあったとしても、長期的にはKPIにプラスになると信じて出来るだけscalabilityを優先するようにしています。機械学習は、そのscalabilityを自動化や非属人化などの面から推し進める要諦でもあるわけで、その意味からも僕にとっては今後も重要な領域であり続けるだろうと思っています。


最後に


今年1年を振り返ってみるに、個人的にはどちらかというと理論やアルゴリズムを学ぶというよりは、実装について実践して学ぶことの多い1年間でした。ただ、そうは言ってもやはり理論やアルゴリズムにも引き続き関心を持ち続けて、出来る限り最先端の領域の「引き出し」ぐらいは常に用意できるようにしておきたいと思っています。


ところで最後に余談ですが、実は今年は僕にとっては数え年での厄年、それも大厄だったのでしたorz 正直言って年間を通じて何かしらの災厄に見舞われ続けた1年間だったので、来年こそは良い年になるよう期待したいです。

*1:手前味噌で恐縮ですが、参考までにリンクを貼っておきます https://youtu.be/jN_pRE0P1GU

*2:それが問題だというツッコミはご勘弁をorz