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

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

2019 年を振り返る

ごきげんよう。かえるるるです🐸

もう2019年もあと数日で終了しますので、いくつかの観点で振り返ってみようと思います。2019年は私の人生にとって激動の一年と言っても過言ではありません。それくらい濃い一年でした。


1. kaggle

私の2019年を語る上で kaggle は欠かせません。後述します転職も kaggle での活動がなければ業務未経験・情報系の学位なしで現職に就くことはできなかったでしょう。

こちらは、コンペ、kaggle meetup tokyo、kaggle days tokyo の三つの観点で振り返っていきます。

i ) コンペ

solo :

・ ~2月 Quora Insincere Questions Classification 🥈

・ Jigsaw Unintended Bias in Toxicity Classification 347/3165

・ APTOS 2019 Blindness Detection 1199/2931

・ Severstal: Steel Defect Detection 554/2431

team :

・~4月 PetFinder.my Adoption Prediction 🏅

・~6月 Freesound Audio Tagging 2019 🏅

・12月 Kaggle Days Tokyo

ソロでの戦績は2月に quora コンペでソロ銀メダルを何とか獲得できたこと以外ではパッとしないです。

Jigsaw コンペは kaggle NLP コンペにおいてBERT が実質デファクトスタンダードになった印象的なコンペでした。

過去コンペなどから従来手法などを漁り、最後まで頑張ったのですが、戦略ミスでした。(適切な loss関数を設定した single BERT-Learge で銀メダルスコアが出せたとか)

眼球コンペと鉄コンペは画像コンペでした。 眼球コンペは分類タスクでSE-ResNeXt や Efficient Net でごにょごにょする augmentation をごにょごにょするなど簡単に実験できそうなことをやって満足して離脱。鉄コンペは segmentation タスクということで segmentation_models.pytorch やスターターカーネルをいじってそれっぽいスコアを出せたものの、そもそものsegmentation の基礎的な部分の知識が抜け落ちていたため細かいチューニングなどができず離脱。この辺りから kaggle 上の計算資源が絞られてきたので、もっと色々実験しておくんだったなあと後悔しています。

一方チーム戦においては、3つのコンペにおいて最高のメンバーで参加することができました。

ソロ参加だと業務ガーとかスコアが思うように伸びずモチベーションマネジメント的な側面で途中離脱しがちですが、チームだと時間を捻出して kaggle に取り組めました。

チーム戦だと強いチームメイトの取り組み方やコード資産を参照できたり、自分の理解の足りていないところに対してアドバイスをもらえたりするなど学びが多いです。

あとシンプルに楽しいです。pet コンペのチームメイト[wodori メンバー]とは忘年会もしましたし、チームの時に使用していた slack は未だに活発で huggingface が資金調達したよねみたいな tech 系の雑談をしたりして盛り上がっていますし、freesound のチームメイトとも、決起会をしたり、打ち上げに焼肉を食べたりなどしました。

i i ) kaggle meetup tokyo

2018年12月の会に聴講者として初参加し、2019年の会では wodori での winner solution を kaggler の皆さんの前でお話しするという機会をいただきました。自分のパートは当時の自分の知識でできることを全部やったぞくらいのものでしたが、団体ではありますがイベント登壇としては初めての経験をさせてもらえました。

i i i ) kaggle days tokyo

東京で公式の全世界 kaggle オフ会が開催されるということで2日とも参加いたしました。 1日目のプレゼンテーションパート、2日めのコンペティションパートいずれも楽しかったです。

一方で反省が一つ。もっと、海外からの参加者の方とコミュニケーションをとるべきでした。共通の趣味[kaggle]があり、わざわざ日本にいらっしゃる方ということなのでこれほど会話がしやすいシチュエーションもないでしょう。他の勉強会でもそうですが、新しい人に話しかけるというのを心がけていきたいなと思いました。


2. 転職

2019年4月より、自然言語処理に力を入れており、日本語版の ELMo やBERT のモデルの公開などもしている会社であるストックマークというところにお世話になっています。

2017年に証券会社に営業職として新卒入社して以来すでに 3社目です。

・~8月まで

BERT の初期検証や現在 toB 向けに展開しているサービスの新機能の基礎検証

・9月~11月くらいにかけて

新規リリースするプロダクトに配置換えになり、バッチ処理や、Django を用いたオンラインでの機械学習処理や、言語解析用の社内ツールの実装

・最近

新プロダクトにお客さんが付いてきて、顧客からいただいたテキストデータを解析して分類モデルを作ったり、それをプロダクト運用できるところまで作り込んだり、実際にお客さんのところに足を運び、生の声を聞く

などを実務でやってきました。

特に担当するサービスが変わってからは、kaggle で身につけた実装を知識をうまく活用できている感じがあるほか、いい感じのモデルできました!!・・だけではダメで、自分でサービスに組み込んでお客さんが扱えるところまでの作り込みまでやっており、ソフトウェアエンジニアとして広く成長できている実感もあり、業務面での満足度は高いです。一方でサービスローンチが近いこともあり、仕事が忙しく、平日にkaggle に割ける時間が少なかったりするのは%&@#$

入社して1年もせずにフロントエンド以外は概ねできるようになったのはベンチャーガリガリやれているおかげでしょうか。


3. まとめ

他にも寿司や spaggle やブログや登壇などの観点でも書けそうでしたがとりあえずここまで。

2019年は大きな飛躍の年でしたが、これも先人たちが引いてくれた高速道路のおかげです。

2020年はこれまで斜め読みしていた数式や理論面の補強、オフラインコンペでも後悔せずに力を出し切れるようなパイプラインの整備、ソロゴールドを目標に地に足つけてやっていきたいです。

以上、かえるるるでした。