エンジニアとしてのしっかりとした足腰が重要となる時代がやってくる ~Yahoo! JAPAN田頭氏インタビュー~

       - インタビュー   執筆者:スキル委員 原茂

Yahoo! JAPAN データ&サイエンスソリューション統括本部で黒帯(機械学習)としてご活躍されている田頭幸浩氏にお話をお伺いしました。

Yahoo_interview03

田頭幸浩氏(略歴)
2010年入社。データ&サイエンスソリューション統括本部。

 

Q1.現在の主な業務内容をお聞かせください。特に、棟梁データサイエンティストとしての活動内容をお聞かせください。

入社以来、機械学習やデータマイニングの技術を使った広告配信の最適化をやっています。それ以外にも、ちょこちょこ色んな所に呼ばれて仕事をすることが多く、ヤフーショッピングの検索や、ヤフージャパンのトップページのニュースレコメンドなどにも関わっています。業務の軸は広告ですが、機械学習やレコメンドという観点で他のサービスに関わることも多いです。

また、2013年7月から「黒帯(機械学習)」という肩書で活動しています。黒帯として、ヤフー社内で機械学習を広めるという役割と、外部に向けてヤフーが機械学習の分野で活動を行っていることをアピールするという役割を担っています。黒帯になるためには、業績に基づき審査を受け、最終的にCTO等と面談をして任命されます。黒帯は同じ分野に2名いることもありますが、多くの場合は各分野で1名が任命されています。私自身は、論文執筆やカンファレンス発表、Kaggle優勝経験などの業績が認められて、黒帯活動をさせてもらうようになりました。

※スキル委員注:黒帯とは、特定の技術領域において強い専門性と実績をもち、Yahoo! JAPANにおける師範的な役割に加え、Yahoo! JAPANの技術的な強さや面白さを社会へ発信・打ち出していく役割を担う人物に与えられるYahoo! JAPANの称号。田頭氏は2018年9月に後進に道を譲る形で黒帯を引退。

Q2.データ活用に携わるようになったきっかけ、そこから棟梁データサイエンティストに至るまでの歴史をお聞かせください。

東京工業大学を卒業し、2010年にヤフーに新卒入社しました。学生時代は、1980年代の人工知能ブームの頃から研究されていた佐藤泰介先生の研究室に入り、データマイニングや機械学習の研究を行っていました。具体的には、クラスタリング等の教師なし学習を使って、個々の事例データから帰納的に知識を抽出するといったことを研究していました。学生時代は教師あり学習に触れる機会が少なかったのですが、ヤフーに入ってから大規模データを教師あり学習する仕事に関わらせて頂き、教師あり学習で様々なことができることがわかりました。就職当時は、インターネットの会社で仕事ができたらいいなぐらいの軽い気持ちでヤフーに入社したのですが、所属していた研究室のバックグラウンドなどを踏まえて、今の広告の仕事にアサインされました。

私自身はデータサイエンスをやりたいと思っていたわけではなく、自分は基本的にITエンジニアだと思っています。オペレーティングシステムとか楽しいよねって人間なのですが、計算機に仕事させる上では、意味のある計算をさせるべきだと思っていて、計算機に機械学習をうまく計算させてあげると、現実世界の問題を解くことができるみたいな所に興味を持っています。

エンジニアとしてのキャリアを重ねていく中で、今後どうするかを考えていた時に「黒帯」という制度を始めるという話があり、いつか取れると良いなと思っていました。事ある毎に「黒帯やりたいっすよね」と話をしていたら、色々な方が推薦してくれて黒帯になることができました。黒帯になって良かったのは、会社をアピールすることも仕事の一つとして認めてもらえるようになったことです。このようなインタビューに呼んでもらって話ができたり、論文を書く時間を確保しやすくなったり、学生さんとお話しできたりなど、様々な恩恵がありました。

Q3.データサイエンティスト(棟梁)としてデータ活用に携わるには、どのようなスキルが必要だと考えますか?

データサイエンスのマネージャとしては、統計的なバックグラウンドがあるに越したことはないと思っています。ただし、最終的にはチームでやることなので、ビジネス/データサイエンス/データエンジニアリングのすべてを持っている必要はないと考えています。マネージャ自身が、自分に何が足りなくて、誰がどのスキルを持っているのかをちゃんと把握しておき、自分が詳しくないスキルを誰に相談すれば良いか判断できることが重要だと思います。私の周りにいるすごい人達というのは、ビジネス/データサイエンス/データエンジニアリングの3つの領域のうち自分の守備範囲はとても強く、他の分野でわからない所があったら誰に相談すればよいかわかっているという方々が多いです。

Yahoo_interview02

Q4.そのスキルを習得するに際して、どのようなことを行われましたか?工夫したことや苦慮したことなど、何かアドバイスがございましたらお聞かせください。

人によるかもしれませんが、教科書をずっと読んで勉強するというよりは、実際の課題を解きながら技術を身につけるスタイルが個人的にはやりやすいと思っています。実際の課題を解く中で、どうアプローチすべきか考えるために教科書を読んだり、課題と関連する分野をもうちょっと調べてみたりなど、直面している問題を軸にスキルを習得するのが良いと思います。たまに学生さんから何かおすすめの本はありますかと聞かれることがありますが、自分自身はその本が書かれる前に、基となる論文や原文を時代と共に読んできた世代なので、これという本をおすすめするのが難しかったりしますが、今は、著名な先生方が日本語で書いてくれている本がたくさんあるので、その中から選ぶのが良いと思います。

実際の課題を解きながら、様々な壁にぶつかった時に勉強し続けられるかどうかが、上(見習い→独り立ち→棟梁)に行けるかを決めると思います。自分はここで負けたくないという軸を持ちつつも、それだけにとらわれず、様々な知識をどんどん吸収していく姿勢が大事だと考えています。ある軸を伸ばすと、他の軸を伸ばしている人達と一緒に仕事ができるようになります。そういう人達と一緒に仕事をすると、新しい分野について教えてもらえますし、詳しい人と仕事をすることによって勉強もはかどります。

Q5.ご自身の活動の今後の発展性/方向性/新たなチャレンジなどがございましたらお聞かせください。

これまで、目に見えるハードルとして黒帯や博士号を設定していたのですが、今後は、若い人をどう育てていくか、次の世代に活躍してもらう環境をどう作っていくかをまじめに考えたいと思っています。従来よりももう少し大きなことをやるためにはチームでやる必要があり、そのためには若い人に活躍してもらう必要があります。

また、研究で得られた知見をサービスに活かしていくことにも取り組んで行きたいと考えています。最近は研究寄りの仕事が多くなってきていたので、与えられた課題を解くというよりは、新しい課題を見つけたり、ビジネス的にどういうインパクトがあるのかを考える仕事を増やしていきたいと思っています。

Yahoo_interview01

Q6.最後に、棟梁データサイエンティストを目指す方(見習いや独り立ち)に高めて欲しいスキルやマインド、その他メッセージがございましたらお願いします。

私自身はエンジニアリングを軸に仕事を進めています。今は機械学習の技術がすごく使いやすくなっており、良い意味でコモディティ化しています。これまでWebサービスを作るとか、大規模なプラットフォームを作るといったエンジニアリングの仕事をやってきた人にこそ、興味があれば機械学習にチャレンジしてもらいたいと思っています。例えば、機械学習のために大規模データを分散させて処理するには、計算機に関する基礎的なスキルが必要となるため、エンジニアリングのスキルを持っている方々の重要性がどんどん増してきています。

学生のうちに、やっておいた方が良いと思うのは、数学と英語とコンピュータサイエンスです。コンピュータサイエンスの中でも特に、ハードとソフトをつなぐ部分であるオペレーティングシステムを勉強しておくことをおすすめします。よく学生さんには、オペレーティングシステムをやっておけば、それがエンジニアとしての足腰となって、時代が変わってもなんとかなるよという話をしています。私自身も、大学で学んだ中で一番役に立っていることがオペレーティングシステムで、ファイルシステムやCPU、レジスターについて学んでいたため、現在、プログラムにボトルネックがあった時に、どう最適化すれば良いかのイメージつくようになりました。良い意味でコンピュータサイエンスの低レイヤーをやってきた人達が、データサイエンスの領域にどんどんチャレンジして欲しいなと思っています。

■編集後記■

「私自身はデータサイエンスをやりたいと思っていたわけではなく、自分は基本的にITエンジニアだと思っています。」という言葉に感銘をうけつつ、共感を感じました。機械学習を手段の一つとして、目標ドリブンでやりたいことを実現ていく田頭さんのカッコよさに憧れます。自分もこうありたい!(スキル委員:森谷)

事業価値を創出しつつ、論文で知への貢献もしていく、知的労働者の働き方のロールモデルともいえる方でした。(スキル委員:大黒)

データエンジニアリングスキルの重要性を再確認しつつ、黒帯という働き方を興味深く聞かせて頂きました。学生時代に学んだ方が良いのはオペレーティングシステム!しびれました。(スキル委員:孝忠)

「計算機に仕事させる上では、意味のある計算をさせるべきだと思っていて、計算機に機械学習をうまく計算させてあげると、現実世界の問題を解くことができる」という言葉にとても共感しました。現実世界において何が問題となっているかを深く捉える事が成功の鍵だなと感じました。(スキル委員:北川)