bonotakeの日記

元・ソフトウェア工学系研究者、今・AI系エンジニア

「機械学習・ディープラーニングでPythonを使う嬉しさとツラミを分かちあう会」の感想を語る

もう2週間経つんですけど、こんなイベントを企画・司会をしました。というので今更感想ブログ。 mlxse.connpass.com

経緯というか元々の開催目的は以前の記事にあるとおりで、 プログラミング言語に関する国内学会 PPL2018 前に、現状この分野で覇権取ってるPythonを肴に「機械学習ディープラーニングのための言語」の問題点や在るべき姿、を探っていこうという会です。

3人の発表+みんなで議論、というスタイルを取ったのですが、発表お願いした3人が3人とも「やりづらい」とこぼす、企画した者としては大変心苦しい状態ではあったものの、発表・議論はどれも興味深く、大変面白い会になりました。ありがとうございました。

発表1つめ:『行列演算とPythonの言語デザイン』

まずは python.jp 管理人の石本敦夫(@atsuoishimoto)さん。 Pythonがどうしてデータサイエンス・機械学習分野でこんなに使われるようになったのか、その歴史を語ってもらいました。

f:id:bonotake:20180319030707j:plain

※ 画像は以降も含めて全て 機械学習工学研究会 からお借りしています。

僕自身、正直言うと「Pythonじゃなくてnumpyが重宝されてるだけじゃないの」(失言)と思っていたフシがあるんですが、実は歴史的にはPython公式がnumpyを積極的にサポートし、ほぼnumpyでしか使えない構文を提供するなど、numpyという1モジュールをPython公式が丁寧に育ててきたから今があるんだ、とのこと。なるほどそうだったのか。

発表2つめ:『関数型プログラマから見たPython機械学習

2番めの発表はPreferred Networksの酒井政裕(@masahiro_sakai)さん。普段使いの言語はHaskellRubyで、Pythonについては「PyPIにパッケージを登録したこともないザコ」(本人談)とのことでしたが、それでも普段のディープラーニング関連業務でPythonを使っている経験から色々語って頂きました。

f:id:bonotake:20180319030712j:plain

Pythonを使ってみた感想、といえばそれまでなのですが、単なる1ユーザーとしてのそれに留まらず、元・言語系研究者としてのバックグラウンドから、確固とした抱負な背景知識を元に色々な知見や提言を語ってくれました。
shapeに型検査欲しいよね、nchwとか只の慣習でしかない意味付けを元に多次元配列にマジックナンバーでアクセスするの、メモリにオフセットでアクセスしてるのと変わらないよね、てあたりは頷くしかなかったです。

発表3つめ:『Ruby のデータサイエンス分野における取り組み』

最後はmrkn(@mrkn)さん。Rubyコミッタ。Pythonの会ですが、Rubyとデータサイエンスとの関わりについて語ってもらいました。(「この流れでRubyの話する俺が一番やりづらい」と発表前にぼそっとつぶやかれたのが印象的でした。ホントすいません……)

f:id:bonotake:20180319030842j:plain

2016年あたりから、Rubyでもデータサイエンスが扱えるよう、PythonのデータツールをRubyから呼べるブリッジ pycall.rb を開発。また Red Data Tools Project が立ち上がり、Rubyの枠を超えてOSS全体が良くなることを目指しつつ開発が進んでいるとのこと。
印象的だったのは、最後の方で語られた、今後の展開について。Pythonは今後もメジャーであり続けるだろうし、今Juliaが急速に伸びてきていて、将来はおそらく科学技術計算分野で覇権を取っているだろうことを踏まえつつ、RubyPython・Julia が相互運用される世界を目指している、とのこと。またそれらを包括するような、1段抽象度の高い独自言語ができても良いのでは、というお話でした。

最後にみんなで議論

最後、ピザとビール飲み食いしつつ、皆が車座になって色んな話を語り合いました。

f:id:bonotake:20180317094732j:plain

正直、ビールをたんまり注入してしまったのと、だいぶ時間が経ってしまったので何を議論したかハッキリとは思い出せないのですがw、単なる言語の話にとどまらず、エディタ、開発環境、インフラの話まで様々な話が飛び交いました。

余談:PPL2018にて

さて本来の目的であったところの、PPL2018へのフィードバックはできたのか。

勉強会にも参加され、当日招待講演された、丸山宏さん(Preferred Networks)の講演資料。

www.slideshare.net

41枚目以降、酒井さんの発表がそのまま引用されていますねw
またその後の、「パフォーマンスをクロスカッティングコンサーン」とする話も、皆で議論したときに出てきた話題の1つです。

ということで、プログラミング言語研究者コミュニティにも僕らの議論が還元できて、良かった良かった、でした。

最後に:3人の発表資料

3つの発表の資料はこちら。

www.slideshare.net

www.slideshare.net

speakerdeck.com

注:bonotakeは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。