Cookpad Summer Internship 2018 5 DAY R&D を開催しました

研究開発部の菊田(@yohei_kikuta)です。

20180820 - 20180824 の期間で Cookpad Summer Internship 5 DAY R&D を開催しました。 17 名の学生の方々に参加していただき様々な講義やワークに取り組んでもらいましたが、本記事ではその内容をご紹介したいと思います。

下の写真はインターンの一コマです。 よく分からない手の動きをしてますがともかくインターンの一コマです。

20180830165359

下の写真は懇親会で振る舞われた料理です。

20180830190456

インターンは5日間という短期集中の日程でしたが、以下に挙げるようにように様々なトピックに取り組んでもらいました。

  • 1 日目
    オリエンテーションと機械学習理論の講義(自動微分と deep learning の汎化性能)
  • 2 日目
    自然言語処理の講義(自然言語処理の基礎と演習)と画像分析の講義(画像分析の基礎と演習)
  • 3 日目
    画像分析の講義(軽量モデルの理解と演習)と MLOps の講義(MLOps の概説と演習)
  • 4 日目
    個人ワーク(クックパッドのデータを使ったモデリングやウェブアプリの実装など、自分の興味あるタスクを実施)
  • 5 日目
    発表資料作成と成果発表と懇親会

濃密な講義やワークに集中することに加えて、みんなで一緒に夕食を作ったりもして、実にクックパッドらしい内容でした。

講義資料の紹介

インターンで使用した講義資料を紹介します。 演習で使用したコードはクックパッドのデータと密接に関連しているものもあるため、コードの公開は MLOps で使用したもののみです。

機械学習理論と画像分析に関する講義は菊田(@yohei_kikuta)が担当しました。 スライドを作って話すというのに気分が乗らなかったので、LaTeX で作成し講義もホワイトボードをふんだんに使いました。

講義資料が置いてある GitHub repository へのリンク

自然言語処理に関する講義は原島(http://jun-harashima.net/)が担当しました。 伝統的な自然言語処理の話から始まり、クックパッドのデータを使った様々な分析にも取り組んでもらいました。

MLOps に関する講義は林田(@chie8842)が担当しました。 機械学習をサービスに導入するためにモデル以外に必要になる要素を包括的に概説した内容になっています。

また、MLOps で取り組んだ演習のコードは使用データを公開データに差し替えた上で GitHub で公開しています。
GitHub repository へのリンク

参加者が取り組んだワークの紹介

最終日は 4 日目に取り組んだワークの内容に関する発表会で、それぞれの参加者が思い思いの発表をしてくれました。 講義で理解した自動微分を自分で実装したり、ReLU6 の 6 の数字の意図を検証したり、画像分析のモデルを flask でウェブアプリ化したり、クックパッドのデータを用いてユーザの属性推定や分類モデルを作ったり、内容は多岐にわたりました。

個人ワークに使える時間が 8 時間だけでしたが、限られた時間でも目覚ましい集中力で取り組んでもらった結果、どの参加者の発表もしっかりした内容で驚きました。 正直言って予想を上回る出来でどれも興味深く聞かせてもらいましたが、聞いていて若い人に負けじとこちらも頑張らねばならないなと思いました(個人の感想です)。

参加者の何名かは後日発表資料を公開する(資料作成時にいくつかの注意点を守った上であれば公開は推奨しますと伝えています)と言っていたので、そのうちどんな内容に取り組んだのかがウェブ上で見れるかもしれません。

R&D 単独でインターンを開催した経緯

最後になぜ R&D 単独でインターンを開催したのかの経緯を述べておきます。 去年開催した 17 day TECH INTERNSHIP においても機械学習に関する講義やワークは実施していました。 しかしながら、昨今の機械学習の進展に伴って要求される技術要素も専門性が高まっているので、R&D で独立したインターンを開催することにしました。

人事の方々の協力のおかげで、最初の開催にも関わらず多数の学生に応募いただき、最終的には冒頭で述べたように 17 名の学生に参加していただくことができました。 参加者の多くが既に機械学習に取り組んでいて一定度の知識があったため、インターンの内容もそれに合わせて設計することができたのでどの参加者にとっても有益なものになったのではないかなと思います。 また、今回知り合いになった参加者の方々は、今後も研究会などで会うことがあると思うので、情報交換をし合えるような関係性をぜひ継続してもらいたいと願っています。

まとめ

いかがでしたでしょうか。 今回はインターンの内容紹介でしたが、クックパッドでは機械学習を用いて新たなサービスを創り出していける方を募集しています。 興味のある方はぜひ話を聞きに遊びに来て下さい。 クックパッド株式会社 研究開発部 採用情報

/* */ @import "/css/theme/report/report.css"; /* */ /* */ body{ background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527163350.png'); background-repeat: repeat-x; background-color:transparent; background-attachment: scroll; background-position: left top;} /* */ body{ border-top: 3px solid orange; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; line-height: 1.8; font-size: 16px; } a { text-decoration: underline; color: #693e1c; } a:hover { color: #80400e; text-decoration: underline; } .entry-title a{ color: rgb(176, 108, 28); cursor: auto; display: inline; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; font-size: 30px; font-weight: bold; height: auto; line-height: 40.5px; text-decoration: underline solid rgb(176, 108, 28); width: auto; line-height: 1.35; } .date a { color: #9b8b6c; font-size: 14px; text-decoration: none; font-weight: normal; } .urllist-title-link { font-size: 14px; } /* Recent Entries */ .recent-entries a{ color: #693e1c; } .recent-entries a:visited { color: #4d2200; text-decoration: none; } .hatena-module-recent-entries li { padding-bottom: 8px; border-bottom-width: 0px; } /*Widget*/ .hatena-module-body li { list-style-type: circle; } .hatena-module-body a{ text-decoration: none; } .hatena-module-body a:hover{ text-decoration: underline; } /* Widget name */ .hatena-module-title, .hatena-module-title a{ color: #b06c1c; margin-top: 20px; margin-bottom: 7px; } /* work frame*/ #container { width: 970px; text-align: center; margin: 0 auto; background: transparent; padding: 0 30px; } #wrapper { float: left; overflow: hidden; width: 660px; } #box2 { width: 240px; float: right; font-size: 14px; word-wrap: break-word; } /*#blog-title-inner{*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-position: left 0px;*/ /*}*/ /*.header-image-only #blog-title-inner {*/ /*background-repeat: no-repeat;*/ /*position: relative;*/ /*height: 200px;*/ /*display: none;*/ /*}*/ /*#blog-title {*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527172848.png');*/ /*background-repeat: no-repeat;*/ /*background-position: left 0px;*/ /*}*/