かえるのプログラミングブログ

プログラミングでつまずいたところとその解決策などを書いていきます。

エルピクセルさんの論文読み会で初LTをした感想。

こんばんは、kaerururu (@kaeru_nantoka) です。

今回は、エルピクセルさんにてありました、[画像処理&機械学習] 論文LT会 #5 https://lpixel.connpass.com/event/138687/ に LT発表者として参加し、2019年の目標であった 「初LT をやる」という目標を達成できたので、その取り組み、感想・反省などを書いていきます。LT やってみたいけどなんか怖くてできないや・・っていう方や、LT といってもネタとかないなぁ といったかつての私のような方の参考になると嬉しいです。


目次

  1. 私とLT

  2. 準備

  3. 反省点

  4. 良かった点

  5. 今回の資料等

  6. 感想


私とLT

私は LT やってみたいなあと上京した去年の 10月くらいから思っていました。

というのもエンジニアの文化として、アウトプットをすることが重要であるということとエンジニアのイベントに多く参加する中で、自分の業務内容・興味関心を短い時間で収められるようにまとめて人前で堂々と発表する姿をかっこいいと思ったからです。

ひょんなことから kaggle の meetup イベントで世界2位のチームの一員として発表することはあったのですが、質問応答やスライドの作成 (チームメイトが作ってくれたフォーマットの中に自分のパートが用意されていて自分のやったことを埋め込む形でよかった。感謝・・!) など自分で色々準備して臨んだ訳ではなく、 他の勉強会で LT 枠で参加しようにもネタがないしなあという日々を悶々と過ごしていました。

そのような折、twitter の kaggler の知人が参加しており楽しそうだったのと、運営の方が絶妙な具合に発表のハードルを下げてくださっていたということもあったので、人に説明できるほど論文を正しく読めるのだろうかという不安も当然ありましたが、えいやっと参加することにしました。


準備

初の LT ということで自分の中では結構準備しました。

・ 取り組み

当日の 2週間前から論文を読み始めました。同時にスライドの表紙も作りました。(<- ここ重要) スライド 7枚程度で良いとのことだったので 1/7 できたと思うと気が楽でした。

また、論文の読み進めかたで自分に合っていた方法として、スライド作成を意識して iPad Pro の GoodNote に絵付きのメモを取りながら読み進めました。このおかげで、スライドの大枠は、ノートを書き写すだけで完了したので随分気が楽でした。(2回目)

さらに5日前くらいに実装込みでブログ記事をアップしました。 たまたま実装もうまくいき、概ね論文の主張通りに行ったのもあり、後述しますが役に立ったので良かったです。

・ 論文選んだ基準

3つあります。

  1. 業務で活かせそう

  2. 解説記事が充実している (<- 重要)

  3. GitHub に実装が落ちている (<- 超重要)

今回選んだテーマはモデルの蒸留ということで、業務で BERT を扱っているのですが、良い精度が得られる一方でモデルサイズ 500MB と重く実運用上少し不便だったりします。BERT の精度をある程度保ったまま軽いモデルにできればという気持ちでその道で割と古いものを選んだ次第です。

LT 初めてということなので、ある程度理解してから発表したいと思い、もとの論文を読んでつまづいた時のために解説記事が充実しているものを選びました。

せっかく論文発表するからにはと思って実装にチャレンジしました。いち kaggler として kaggle のデータを使って実証実験することにしました。とはいうものの、文章を元に正しく実装できるかわからなかったので GitHub の実装の有無を確認しました。


反省点

実際に発表してみて色々反省点がありました。

・ スライドに書くべき内容が書ききれていないように感じた

他の発表者さんのスライドに書かれているような内容で自分のスライドに書かれていないなあと思う内容 (論文で使ったデータセットの説明など) が間々あり、自分の経験不足が知れて良かったです。

・ 旧式の MacBookAir (2013) を使用していた

プロジェクターの接続機器が TypeC なのが一般的なこともあり、接続確認と進行に少しごたつきがあったので、MBP 買わないとなあと思いました。

タイムマネジメントが微妙だった

発表用資料の用意や簡単な練習はしていたもののやはり人前で話す緊張からしどろもどろになってしまいました。

・ 他発表者の予習ができず、せっかくの他の方の発表の内容を十分に理解および質問ができなかった。

abstract と conclusion くらいは読んで質問内容くらいはあらかじめ考えておいたほうが自分の身になるのかなーと思いました。

良かった点

・ あらかじめ実装を公開していた

質問で回答に詰まった時に実装を見ていただくことで「あ〜」と納得していただけたので良かったです。

・ あらかじめブログを書いて公開していた

スライド作成は不慣れな一方でブログは歴1年くらいになるので慣れていました。自分の伝えたい内容、構成の整理に役に立ちました。

・質問をしていただけた

質問をしていただく中で新しい発見がありました。LT の中で温度付き softmax という「普通の」softmax 関数に渡す x を重みパラメータ temperature で割った値 x/temperature を渡す verision の softmax 関数 ( temperature = 1 の時に「普通の」softmax 関数と同じになる) をご紹介したのですが、この式は ボルツマン分布 [

http://www.mech.kagoshima-u.ac.jp/~nakamura/bussei/thermo-statistics.pdf

] といい物理の世界では、温度付きのものが一般的で温度パラメータ temperature = 1 の特殊ケースの方を機械学習では採用しているらしいといった議論も (私はポカーンでしたが) 行われ、とても勉強になりました。


今回の資料等

・ スライド

https://www.slideshare.net/yuyaosujo/lpicel-paper-lt5

・ ブログ

https://kaeru-nantoka.hatenablog.com/entry/2019/07/20/020920


感想

・ 今回は初 LT をすることができた。

・ 論文を一本完読し、実装・ブログにまとめる・LT発表まですることで自信がついた。

・ 何より論文を読むことが楽しいと思えるようになった。

このような素晴らしい機会があるので、(人気が高まってきてはいますが) またうまいこと滑り込めたらこちらの読み会に参加したいです。

ありがとうございました。