Platinum Data Blog by BrainPad

株式会社ブレインパッドのデータ活用に関する取り組みや製品・サービス開発の裏側、社員の日常などをご紹介します。

インターンシップ体験記 ~機械学習エンジニアを目指して~

ブレインパッドは毎年学生向けのインターンシップ開催しており、今年は初めて「機械学習エンジニアコース」を実施しました。
今回はインターンシップに参加したお二人にお話を伺いました!

f:id:bp-writer:20181022174506j:plain:w600
若槻 祐貴さん(左)と西 和弥さん(右)

はじめに

こんにちは、アナリティクスサービス本部 研究開発グループの伊藤です。
今回は、1ヶ月間の長期インターンシップに取り組んでいただいた若槻祐貴さんと西和弥さんのお二人に、インターンシップの体験についてお話を伺いました。お二人に取り組んでいただいた課題は、実務に直結した難易度の高い課題でしたが、示唆に富む結果が得られたと思います。お二人の体験をブログ記事にして発信することで、お二人と同じようにデータサイエンスに関心のある学生の方々にブレインパッド体験を共有できればと考えております。


体験記1.「深層学習はビジネスでいかに活用されているのか」若槻 祐貴さん

はじめに、若槻祐貴さんにお話を伺いました。若槻さんは、高知工科大学大学院 環境理工学群の修士課程1年生で古沢研究室に所属されています。大学院では深層学習を使った河川水位予測を研究されています。今回のインターンシップでは、深層学習モデルのニューラルネットワーク構造を、強化学習を用いて自動探索するという難しい課題に取り組んでいただきました。

今回のインターンシップに応募された理由は何ですか?

ブレインパッドでのインターンシップを志望した理由は、二つあります。

一つ目は、深層学習の研究開発のスキルを身に着けるためです。
私は、現在、深層学習を用いて河川水位の予測を行う研究に取り組んでいますが、モデル開発のためのスキルをもっと向上させたいと考えていたところ、「機械学習エンジニアコース」のインターンシップがあることを知り、絶好の機会だと思いました。さらに、選択したテーマである「機械学習/深層学習モデルの自動構築手法の開発」は、私の研究における課題を解決するために良い手法であると考えたため、そのスキルを身に着けたいと強く思いました。

二つ目は、深層学習の技術がビジネスでどのように活用されているのかについて学ぶためです。
私は、データサイエンス職に関心があったため、データ分析業界について知りたいと考えていました。具体的に、顧客はどのような課題を持ち、それをどのように解決するのかについて、非常に興味がありました。実際に今取り扱っている事例の開発に携わることで、この業界について、詳しく知りたいと考えていました。また、大学の研究では、研究成果をビジネスに結びつけることを考える機会が少ないため、現場に入って体験する必要があると考えました。以上の理由から今回のインターンシップを志望しました。

ブレインパッドのオフィスや社員の印象はいかがですか?

オフィスは、3つの階に分かれていて、私が主に作業していたのは4階でした。私の席の周りにおられたのは、ほとんどがアナリティクスサービス部の方々で、私が取り組んだ内容について精通しておられたので、ご相談に乗って頂くなど、お話を伺いやすい環境でした。

また、通称ファミレス席という談話スペースがあり、話し合いやソースコードの読み合わせ等を行う際には、ほとんどそこを利用していました。普段の作業する席とは別スペースに設けられていたため、作業スペースを静かに保つことができていると感じました。私にとっては、気軽に利用できて快適なスペースでした。

3階には、自由に利用可能な広い共用スペースがあり、ソファーや窓際に机が備えられていて、気分転換に利用していました。自分のスタイルに合わせて、好きな部屋で作業ができるのは魅力的だと感じました。全体の印象としては、オフィスは新しくてきれいで落ち着いた雰囲気であると感じました。

会社の周辺は、住宅街や大学等があり、にぎやかすぎず程よく交通量やお店があるという印象です。駅がすぐ近くにあり、アクセスはとても良いです。煌びやかでおしゃれなお店が多くて魅力的な街でした。

ブレインパッドの方々は、物理系から情報系、数学系、生物系、経済系出身など様々な方がおられました。年齢層は比較的若いと感じました。


f:id:bp-writer:20181022205650p:plain:w400
ブレインパッドの周辺地図

インターンシップでは、どのように仕事を進めましたか?

一週目では、論文調査を行って、これから扱う内容の理解をしました。二週目から実際の業務に入りました。始業時に行われる朝会では、前日の振り返りとその日に行う業務の確認、不明点の相談等を行いました。毎日、業務内容の整理を行うことができたので、最終日に振り返りをしなくても記憶に残すことができました。経験豊富なエンジニアの方や、アルゴリズムに詳しいデータサイエンティストの方たちのご意見も頂けたので有意義な時間でした。

朝会後は各自が作業に取り掛かり、必要に応じて社員の方と予定を調整して、疑問事項の相談に乗って頂きながら進めていきました。私のテーマは手法の開発でしたので、プログラムを実装することが最終目標でした。そのため、主にプログラミングに関する相談を行っていて、実装経験のある社員の方から解決策を提案していただきながら、エラー箇所を修正しつつ目標のプログラムを完成しました。

また、三週目には、ブレインパッドのアドバイザーである大学教授とのウェブ会議にも参加し、モデル開発のアドバイスを頂きました。Skype による会議は初めてだったので新鮮でした。

今回、開発環境として Google Cloud Platform 上に GPU インスタンスを起動してプログラム処理を実行しました。1回のモデル学習に半日は掛かるので、最終日の成果報告近くになると急ピッチでプログラミングを進めなければなりませんでした。

今回のインターンシップを通して得られたことを教えてください。

今回私が取り組んだのは、論文著者が自動構築モデルの開発に使用した Github 上のソースコードを用いて、画像識別用のネットワーク構造をセマンティック・セグメンテーション用のネットワーク構造に変更するということでした。。自動構築の仕組みを知ることで、その仕組み自体に興味がわき、ソースコードの中でどのように表現しているのかを読み解いて、目標とする構造に書き直すことを試行錯誤を繰り返しながら進めていくことが非常に面白かったです。

また、実際に案件で扱う画像データを使用して開発を行ったので、私自身も開発に携われていると実感でき、サービスとして実用可能かどうかについても検討することができました。ただのコンピュータ上の結果だけではなく、定量的・定性的な判断を通して実用的であるかどうかを吟味することができたのも面白かったです。

その一方で、プログラムは私が普段使用している Keras ではなく、 TensorFlow で直接書かれていたため、普段よりも複雑なコードの書き方をしなければならず、慣れていないコードでの開発には苦労しました。また、ソースコードが非常に凝ったプログラミングをしていたので、制約が多くてなかなか思うようにいかず先に進まなかったことにも苦労しました。

今回は、強化学習、LSTM などの再帰型ニューラルネット、セマンティック・セグメンテーション等の手法を用いて開発を行ったのですが、そのうちの強化学習については、理論を理解していなかったため、その勉強から始めました。普段の研究では、強化学習を使用していないため、アルゴリズムを理解するだけでなく、実装までできたことは、とても良い経験となりました。また、機械学習の分野をもっと勉強する意欲が増すとともに、改めてこの分野の楽しさを知ることができました。

最後に、業務以外での面白い体験など教えてください。

休憩時間には、同じインターン生の西さんや社員の方と一緒に、オフィス周辺のお店へ昼食を食べに行っていました。その際に、社員の方に会社のことや東京での生活等のお話を伺い、ブレインパッドで働く方の実態を知ることができました。それぞれ経歴や職歴の違う先輩方の過去のお話は刺激的で、特に、一年間海外を旅行して回っていた方のアフリカでの苦労話は印象に残っています。

皆さんとても温かな方でしたので、お話を伺いやすかったです。同じインターン生の西さんとは、毎日昼食を食べに出かけていて、オフィス周辺のお店をいろいろ巡っていました。

東京での生活については、私が通勤で利用していた路線はあまり混むことはなかったので、苦労はしませんでした。通勤時間は20~30分でしたので、比較的短時間でしたが、私にとっては電車の路線が複雑で初めは少々苦労しました。なんとなく、東京での生活のイメージをつかむことができました。

1ヶ月間のインターンシップは、初めは長いと感じていましたが、実際に取り組んでみると、あっという間に過ぎ、短く感じました。1ヶ月という期間は、ある案件の1ターム分くらいの期間だったと思います。1ヶ月で成果を出すにはかなり急ピッチで進めていかなければならないと実感するとともに、顧客相手の期限が迫った業務を想定することができました。短期間でしたが、インターンシップを経て、非常に多くの貴重な経験ができたと感じております。

体験記2.「データサイエンティストの働き方とは」西 和弥さん

続いて、西和弥さんにお話を伺いました。西さんは現在、名古屋工業大学大学院の修士課程1年生で竹内・烏山研究室に所属しておられます。大学院では生物移動情報におけるデータマイニング手法について研究を行っておられます。今回のインターンシップでは、深層学習モデルによる画像異常検知という実用性の高い課題に取り組んでいただきました。

今回のインターンシップに応募された理由は何ですか?

6月にデータサイエンティスト向けのインターンシップ説明会に参加してブレインパッドのインターンシップを知りました。私は大学院卒業後、データサイエンティストとして働きたいと思っており、機会がいただけるなら是非インターンシップに参加したいと思い応募しました。

就職活動の方針として、私はインターンシップを通して会社で働く人々や雰囲気を知ることのできた企業に就職したいと思っております。そのため、興味のある企業であり、長期インターンシップであり、実際に現場の人達と働くことができる機械学習エンジニアコースに申し込みました。

遠方に住んでいるため、交通費や宿泊費の補助があることも申し込みの決め手の一つになりました。インターンシップでは異常検知に関する課題を選びました。このテーマを選んだ理由は工場でのオートメーション化など実用先が想像しやすかったためです。

ブレインパッドのオフィスや社員の印象はいかがですか?

デスクで働いている社員の方々がとても集中しているためか、オフィスの中は非常に落ち着いた雰囲気だと感じました。私はブレインパッド以外の企業でもインターンシップを行ったのですが、それらの企業ではデスクが並んでいる部屋とは別に、集中して作業を行うために静かな集中ルームがありました。それとは対照的に、ブレインパッドではデスク自体が集中できる空間であるため、活発に議論するためにファミレス席が設けられていたのが印象的でした。

社員の方々は皆さん非常に勉強熱心で、毎週のように最新の論文を読む会や専門書の勉強を行っておりました。インターンシップの最終日に懇親会を開いてくださったのですが、その最中にひょんなことから数学の問題を解くことになりました。マネージャークラスの方を含め、懇親会そっちのけで何時間も集中して取り組んでいた姿がとても印象的でした。


f:id:bp-writer:20181022175123j:plain:w500
懇親会で数学の問題に取り組む様子

インターンシップでは、どのように仕事を進めましたか?

毎朝30分から1時間の朝会と呼ばれるミーティングを行い、前日の進捗や当日の予定、相談事項を共有します。朝会のために自分の意見をまとめること自体が非常に有益ですが、何より周りの方の何気ない質問から気づきを多く得られ課題の進みをとても早くしたと思います。

期間中には、ブレインパッドのアドバイザーである大学教授に自身の取り組んでいる課題を相談する機会もありました。企業のインターンシップでそのような機会があるとは思っておりませんでしたので非常に驚きました。他の企業のインターンシップではなかなかないことだと思います。

進め方としては普段の研究に近く、黙々と作業をしつつ適宜相談などをするスタイルでした。質問しづらい雰囲気などを感じることもなかったので、効率よく課題に取り組めたと思います。

一日の終りには日報を書くことになっていました。作業量が可視化されるので作業の進み具合がよくわかります。そこで、私は毎日日報をたくさん書けるくらい頑張ろうという目標を立てて、課題に取り組んでいました。

今回のインターンシップを通して得られたことを教えてください。

深層学習を用いた課題だったのですが、なかなか想像通りに学習が行われないこと、パラメータが少し変われば結果が大きく変わることなどがありとても難しかったです。1回の実験に時間と計算機パワーが必要なので、いかに計算機リソースを効率的に使い続けるかを考えることが非常に大切だと感じました。

休みの前の日には、休日明けに終わるくらいの実験を用意しておいて動かしてから帰るということをしたのですが、月曜日にたくさんの結果を見る作業がなんだかくじびきをしているようでワクワクして面白かったです。

今回取り組んだ課題は、実務で使える技術に直結しているため、インターンシップ後もメンバーが引き継いで開発を進めるという話を伺っていました。そのためにも、作成したプログラムが他人でもスムースに使えるようにコーディングすることを心がけました。その結果、最終日に自分のソースコードを引き継ぐときにあまり苦労しなくて済みました。

最後に、業務以外での面白い体験など教えてください。

休憩時間は気分転換も兼ねてほとんど社外で昼食を取っていました。社員の方がご一緒してくださる時もあり、その際はリラックスしながらブレインパッドで働くことや、東京で暮らすことなど業務中に話さないことを意識して聞くようにしていました。私と同じように地方出身で実際に東京で働いている方のお話を聞くことで、就職後の生活に関する不安などがほとんどなくなりました。

機械学習エンジニアコースは私を含めて二人がインターン生として参加していました。二人だったということもあり、毎日一緒に昼食や夕飯を取っていたので一ヶ月という期間でとても仲良くなりました。学生同士、時には励まし合いながら、課題は違っても互いに切磋琢磨できたと感じております。東京滞在については、会社から近い宿に泊まっていたため通勤の辛さなどはなく、快適な生活が送れました。

まとめ

若槻さん、西さんのお二人には、インターンシップ最終日に成果報告会を設けて、今回の成果について発表していただきました。今回のテーマは、実案件ですぐに使える技術の開発・検証でしたので、報告会では有意義な質疑応答が交わされました。また、報告会後の懇親会では、数学パズルをみんなで競って解いたりして楽しい時間を過ごすことができました。お二人には、今回の経験を今後の学業や社会人生活で活かして頂ければと思います。また、今回の成果を活かして、我々も新しい技術の研究開発に取り組んでいきたいと考えております。


f:id:bp-writer:20181022174852j:plain:w400
西和弥さんの成果報告の様子

f:id:bp-writer:20181022174910j:plain:w400

若槻祐貴さんの成果報告の様子

f:id:bp-writer:20181022175149j:plain:w400

成果報告会が終わった後の懇親会

ブレインパッドはインターンシップをはじめとして、これから私たちと一緒に働くことに興味のある方々のために様々な機会を設けております。興味を抱いて頂いた方は、是非、弊社の採用ページを覗いてみてください。
www.brainpad.co.jp