目次
■エンジニアの軌跡
2018.10.19 2024.03.28 約6分
さまざまな企業で働くエンジニアとリレー形式で対談を行うDevRelay。今回はリクルートホールディングスの風間正弘氏です。大学院では「機械学習」に没頭。現在は、Indeed に出向し「開発エンジニア」としての経験を積むかたわら、機械学習の研究にも取り組まれています。キャリアを選択した際の思いや、風間氏を突き動かす原動力について伺いました。
idesaku:前回ご登場いただいたクックパッド菊田さんからのご紹介で、今回はリクルートホールディングスの風間正弘さんに話を伺います。どうぞよろしくお願いいたします。
菊田さんによると、風間さんは「論文読み仲間」ということだったのですが。
風間:はい。機械学習をテーマにして、海外の論文や教科書を読むプライベートの勉強会でご一緒しています。
idesaku:論文だけではなくて、教科書なども読まれているのですか。教科書って、大学の授業で使われるようなものですか。
風間:そうですね。機械学習だと『PRML(パターン認識と機械学習)』という有名な教科書があるのですが、そういったものを読みます。毎回担当者を決めておき、その人が中心となって内容を解説して議論するといった感じです。大学のゼミみたいな雰囲気ですね。
idesaku:菊田さんは「風間さんは議論しても楽しい人」だとおっしゃっていましたが、議論も活発に行うような形の勉強会なのですか。
風間:月に1回くらい土曜日の午後などに、だいたい5時間くらいかけてやっています。担当者になると、その日はずっとホワイトボードに数式を書いて解説をすることになるのですが、結構、参加者からのツッコミが厳しいので、深く理解して臨まないとしんどいですね(笑)。参加者のほとんどが物理で博士号を持っています。
idesaku:……それ、大学のゼミより、全然ハードじゃないですか。
風間:そうかもしれません。ただ、人に説明できるように理解しようとすると、単に読むだけよりも深く理解できますし、知識もつきます。もう1年半くらい、そんな感じで続けていますね。
idesaku:風間さんは機械学習系のエキスパートとしてキャリアを積んでおられる印象が強いのですが、学部生時代は東京工業大学工学部の機械宇宙学科というところにおられたのですよね。そちらではどのような勉強をされていたのですか。
風間:非常に大まかに言ってしまうと、飛行機やロケット、スペースシャトルといったものを飛ばすために必要な工学的な知識を学ぶところです。分野としては構造力学や流体力学、材料力学といったあたりです。
idesaku:風間さんはその後、大学院で機械学習系に転向されたのですよね。聞いたところでは、学部3年生のころに、オンラインでスタンフォード大学の機械学習講座を修了されたことがきっかけだったそうですが、もともと機械学習には関心を持っておられたのでしょうか。
風間:人工知能や数学といった分野には、漠然と興味がありました。で、その当時に「これからは機械学習が来るだろう」と感じて、そのオンライン講座を受けたのですが、受講したことで、改めて興味が深まったという感じでした。
idesaku:今でこそ、大学のオンライン講座は数も内容も充実してきている印象がありますが、当時はまだそれほどメジャーというわけではなかったですよね。
風間:そうですね。当時は、スタンフォードでもオンライン講座の取り組みを始めたばかりで、それを発見できたのは幸運でした。その反響が非常に大きかったので、担当の教授の Andrew Ng 氏が立ち上げたのが「Coursera」というオンライン教育のプラットフォームです。今では、スタンフォードの機械学習講義だけでなく、さまざまな大学やテーマの講座がここで受講できるようになっています。実際に受講してみると「世界の教育のあり方が、オンライン授業で変わっていくだろう」という実感がありますね。
idesaku:今でも、そうしたオンライン講座は受講されていたりするのですか。
風間:機械学習系、ディープラーニング系で面白そうな講座は「つまみぐい」のような感じで、ちょくちょく受講しています。
idesaku:あ、そんな「つまみぐい」のような感じで受講できてしまうものなのですか。最近、特に機械学習の分野などでは、まとまった文献やネット上の情報も増えてきていると思うのですが、やはり独学よりも、オンライン講座の形で提供されているものを受講するほうがいいのでしょうか。
風間:そうですね。ちゃんとしたオンライン講座だと、受講者のモチベーションを維持するための仕組みがとてもしっかりと作られています。
1回分の講義は1時間ほどなのですが、それが各15分程度のコンパクトなパートに分かれています。さらに講座の途中で問題が出されて、答えられないと先に進めないような仕組みもあります。
idesaku:選択式の小テストのようなものがあるのですか。
風間:パターンはいくつかあります。動画の中で選択肢が提示されて、答えを選ぶといったものもあれば、きちんとプログラムを書かせる形式のものもありますね。プログラムを書かされる場合は、出力結果が正しければ次に進めるようになっているんです。また、講座によっては、受講生に人間のチューターがついて、そのアドバイスを受けながら進められるようなものもあります。独学だと難しいモチベーションの維持を、そうした形でサポートしてくれるんですね。
idesaku:へぇ、面白いですね。オンライン講座はまだ、世に出てからそれほど年数もたっていませんが、そろそろメインストリームとして広く使われるような予感がします。
風間:海外だと、オンライン講座の修了証をもらって、それを材料のひとつに転職するような人も増えていますね。もちろん、転職を意識していなくても、こうしたプラットフォームは、今後次々と出てくる新しい知識やスキルを身につけるのに、とても有効に活用できると思います。今後、より広く受講されるようになるのではないでしょうか。オンライン講座の可能性にあまりに感激しまして、オンライン講座に関する本(『MOOC ―大学の革命―』)を5年ほど前に執筆しました。
idesaku:そのオンライン講座で機械学習への関心を深めたことをきっかけに、東京大学大学院学際情報学府に進まれたのですね。
風間:はい。その中で、機械学習を専門にしている研究室に入りました。自分の興味としては、文系と理系を融合したような学問をやっていきたいという思いがありました。
idesaku:「文系と理系を融合する」というのは、具体的にはどういう感じでしょう。
風間:そうですね、例えば「機械学習」というテーマであれば、エンジニアリングや数学的な観点からだけではなくて、その技術が世の中にどんなインパクトを与えるのか、技術に対して社会からはどういった要請があるのか、人の行動にどのような影響を与えるのかといった形で、より広い視点でさまざまな領域を見ながら研究していくといったイメージですね。
idesaku:なるほど。あと、風間さんは、同じく東大の「i.school」というプログラムにも参加されていましたよね。あれは、大学院在籍中に並行してやっておられたのでしょうか。
風間:よくご存じですね(笑)。「i.school」は、東大で展開している「デザインシンキング」や「人間中心イノベーション」の教育にフォーカスした独自のプログラムです。単位や学位は出さないのですが、ワークショップを行いながら、良い社会とは何か、幸せとは何か、そこでキーとなるサービスとはどのようなものかといったことを議論したり、実際にものを作ってみたりといったことをやります。
idesaku:先ほどおっしゃっていたように、理論や技術の側面だけでなく、広い観点でイノベーションについて考えるための場なのですね。
風間:私にとって、i.school での経験は、後々とても役立ちましたね。デザイナーやビジネス企画の立場にあるような人たちと、議論しながらアイデアを生みだすプロセスそのものを学ぶことができました。
idesaku:前回の菊田さんが、風間さんについて「論文を書いたり、開発したりするだけでなく、ビジネス的なプロジェクトも推進できる現代的な機械学習エンジニア」と評されていたのですが、その素地はそうした場で作られていたのですね。
今のお話を伺うと、コンピュータサイエンスだけでなく、さまざまな分野のスペシャリストとコラボしながら成果を生みだしていくという、風間さんが取り組まれてきたことの延長線上にある活動だと分かります。
ただ、その時々にやらなければならない研究や仕事とは別に、さまざまなプログラムに参加するというのは大変だったのではありませんか。それは、将来的に「こういうことがやりたい」とか「こういうものを作りたい」といったビジョンのようなものがあって、そのために取り組まれたという感じなのですか。
風間:あまり長期的なビジョンのようなものは意識していないですね。とにかくいろんなことが知りたくて、「面白そうだ」と思うことをどんどんやってみようという感覚だったと思います。どちらかと言えば「広く浅く」というか(笑)。
idesaku:興味を持ったことに、その都度、ガッツリと取り組めるというのは、ひとつの才能だと思います。
idesaku:スゴいと思うのは、風間さんの場合いろいろなところで仕事をしながら、論文を書かれたり、国際学会に出向いて発表されたりといったことも並行してやっておられるところです。
風間:2016年にボストンであった「RecSys」ですね。レコメンドシステムに関する国際学会なのですが、あれは、社内で作ったシステムの結果がとても良く、アルゴリズム的にも新規性があって価値があるのではと感じたので、世界中の研究者からフィードバックが欲しいという思いで論文を書きました。
本当は、いわゆる「フルペーパー」と呼ばれる長めの論文を書きたかったのですが、そこまで時間が割けなかったもので、論文2枚の提出で、学会当日は大判の紙1枚で要旨を発表できる「ポスター論文」の形式にして発表してきました。
idesaku:学会の文化にはあまり詳しくないのですが、そうした形で論文を発表すると、結構フィードバックはあるものなのですか。
風間:はい。ポスター発表は、文字どおり要旨をまとめた「ポスター」を壁に貼っておき、著者はその前で、関心を持ってくれた人に直接説明をします。本当に、いろんな分野の研究者の方が、かわるがわるやってきて質問をしてくれました。
idesaku:学術の世界というと、勝手に「互いに書いた論文で殴り合う」ようなイメージを持っていたのですが(笑)、直接コミュニケーションできる場もあるというのは面白いですね。あと前回、菊田さんにも伺ったのですが、企業の研究者として「論文を書こう」と思うモチベーションについて聞かせて下さい。
風間:私の場合は、やはり会社の中にいるエンジニア、データサイエンティストとして、世界中の人からフィードバックが欲しいというのが一番大きいです。それと、理論や学術的な面に少しだけでも貢献できたら嬉しいです。
idesaku:風間さんは、この4月から、リクルートホールディングスが買収した、求人情報に特化した検索エンジン「Indeed」に出向されています。そちらではデータサイエンティストとしてどのようなことをしておられるのですか。
風間:あ、実は Indeed ではデータサイエンティストというより、開発エンジニアとして仕事をしているんです。React とか、CSS とか、Java とかを書いています。
idesaku:なるほど、普通にプログラミングをやっておられるのですか。……こう言って良いのかどうかわかりませんが、これまでに学ばれてきた宇宙工学や機械学習の知識が若干もったいないような気もしますね(笑)。
風間:いえいえ、React も結構楽しみながら書いていますよ(笑)。
idesaku:今挙げていただいたような言語やライブラリについては、Indeed に参加することになってから新たに学ばれているのですか。
風間:データサイエンティストとして、Python を使って分析するようなことは以前からやっていたのですが、React などはこれまで一切触ったことはなかったですね。本当にゼロから業務の中で使えるように学んでいるところです。
今は10人ほどのチームで開発しているのですが、コードレビューでバンバン指摘を受けながら鍛えてもらっています。開発拠点は海外と日本にあるのですが、基本は英語なので、プログラミングと英語の両方にヒーヒー言っています(笑)。
idesaku:しかし、それは意外でした。仕事として、そうしたスキルを学ぶというのは、風間さんご自身の志望でもあるのですか。
風間:はい。今は、自分のエンジニアとしてのスキルの幅を可能な限り広げたいと思っています。Webアプリをひととおり作れるくらいにはなりたいですね。
idesaku:現在の業務の中では、データサイエンティストとしての活動はされていないのですね。
風間:まったくやっていません。もちろん、機械学習分野の実践や勉強については、先ほどお話しした菊田さんの論文読みコミュニティの中で続けていますけれども。
idesaku:今、世の中では、風間さんのようにデータを扱える人材に対するニーズがとても大きいですよね。一方で、React あたりを使った Web開発のスキルというのは、ある程度コモディティ化しはじめているようにも見えます。
こういう聞き方は少し意地が悪いかもしれませんが、今からあえて一般的な Web開発のスキルを身につけるというのは、風間さんのキャリア構築の中でどのような意味があると捉えていますか。
風間:そうですね……。Web開発について今よりも深く知ることができたら、それにデータ分析の要素を絡めることで、自分のスキルを、さらにユニークなものとして生かせるようになるのではないかと考えています。
自分はこれまで、レコメンデーションシステムに関わる案件を多くやってきています。例えば「コンテンツのクリック率を上げたい」ときには、「アルゴリズムを改善してレコメンデーションの精度を上げる」だけではなく、「UI をより使いやすく改善する」といったアプローチもあります。
もちろん、両方とも大切なのですが、特定の状況ではがんばってアルゴリズムの精度を高めるよりも、画面のデザインを少し変えることによってより少ないコストや労力で大きな効果が得られるような場合もありますよね。機械学習と Web開発の両方の世界を知っていることで、そうしたことを包括的に見て、判断できるようになりたいと思っています。
idesaku:なるほど。パフォーマンスやコスト対効果を考えながらサービスを改善していこうとすると、たしかにそういった視点が必要ですね。そうなると、インフラ構成などに関する知識も大事になってくると思いますが。
風間:おっしゃるとおりです。機械学習に関わるデータをどう持っておくかとか、処理のパイプラインをどうするかとか、一部に障害が起きたときにどう対応するかとか、そういったことは分かるようになっておきたいと思います。
ただ、最近では GCP や AWS のようなクラウド環境に、機械学習向けの非常に便利な機能が次々と実装されてきていますよね。なので、インフラについては、あまり細かいところを自分で作ったり、いじったりというよりも、常に全体像を見渡しながら使えるような知識を身につけておくべきかと考えているところです。
idesaku:お話を伺っていると、風間さんはまさに「新世代のプレイングマネージャー」的な姿を目指しておられるようにも感じます。ビジネス的な部分も含めて、機械学習という技術の扱い方を考えたいということでしょうか。
風間:機械学習のエンジニアにとって、ビジネス的な視点は今後さらに重要になると思っています。機械学習といっても、何を「目的関数」にするのか、つまり最終的に何を目指してモデルを最適化するのかを決めるのは人間です。それを考慮せずに間違ったものを最適化してしまえば、出てくる結果は意味のないものになります。その点で、人が何に価値を感じ、心を動かされるのかを理解するといった意味でのビジネス的な観点は大切になるでしょう。
idesaku:先ほどお話があった i.school では「人間中心イノベーション」について学ばれたとおっしゃっていましたが、そこで身につけたプロセスが、今の風間さんの考え方にも影響を与えているのかもしれませんね。
風間:そうだと思います。人間の行動というのは、五感や欲求を刺激するちょっとした仕組みで大きく変わります。いわゆる「行動経済学」と呼ばれるような分野とも関係してくるのですが、非常に面白いと思いますね。
idesaku:風間さんは、この先「こんなことがやってみたい」とか「こんなサービスを自分で作ってみたい」とかいったビジョンは、今のところお持ちではないのですか。
風間:特に形になったアイデアはないですね。当分の間は、新しくて面白いと感じることをその都度追いかけているだろうと思います。
idesaku:今、Web系の開発スキルを学ばれていますが、この分野は既に王道のようなものが確立されつつあって、ある程度の技術を身につけるのには、それほど時間がかからないような気もするんです。すぐに次の段階へ進みたくなってしまうのではないかと。
風間:そうなんですかね……。でも、やっているといろいろと面白い発見がありますよ。最近は Java をやっていることもあって、デザインパターンを見ているのですが、あれは面白いです。
idesaku:デザインパターンというと、GoF (Gang of Four) のあれですよね?
風間:そうです。ああいうパターンには、いろんな学問に共通している抽象概念に通じるところがあって、とても興味深いです。あれを機械学習の領域にも生かせると面白いのではないかと思っているのですが。
idesaku:機械学習の分野には、まだあのような形で標準化されたパターンというのはないのでしょうか。
風間:機械学習に使われるモデルそのものについては、いくつかパターン化されたものもあるのですが、例えば、モデルはどこに保存しておくべきかとか、どういうふうに学習をさせて、どう予測するかとか、データをどう流してやるかといった、サービスへの実装を前提に、システム全体を見通した設計のパターン化というのは、あまりされていないですね。
idesaku:クックパッドの菊田さんは「企業には機械学習に取り組んだ事例をもっと発表してほしい」とおっしゃっていました。今後、そうした事例の共有が増えてくると、パターンのようなものがまとめられていくのかもしれないですね。
ちなみに、Indeed のサイトは私もちょっと使わせていただいたのですが、あれもバックエンドには機械学習が入っているのですよね。
風間:はい。使う人によって、出てくる検索結果は変わるようになっています。
idesaku:でも、風間さんご自身は、現状は Indeed の機械学習にはタッチされていないのですよね(笑)。
風間:そうですね。でも、開発をやっている中で「ここに機械学習を適用すると、もっと面白くなるんじゃないか」と思うところを見つけたりすると、アイデアとして話したりはしています。この先、もうちょっと自分で開発ができるようになったら、プロトタイプを作って見せるようなことはやってみたいと思っています。
idesaku:データはすでに社内にあるものを使えますものね。
風間:ええ。とりあえず今は、エンジニアとして手を動かしながら、プログラミングと英語のスキルをどんどん上げていかなければいけませんね(笑)。
idesaku:当面は興味を持ったことに次々と挑戦していかれるとのことですが、風間さんの興味や関心をひくものには、何か共通点のようなものがあるのでしょうか。
風間:抽象的な言い方になってしまいますが「さまざまな現象の背後にある共通の仕組み」のようなものを知ったり、見つけたりするというのがあるような気がします。
子どものころから、昆虫を捕まえては動き方や成長のパターンのようなものを観察したり、カブト虫やクワガタに小さな重りを引かせて「力持ちの昆虫はどれか」を実験で確かめたりといったことはよくやっていましたね(笑)。
あと、大学では所属した研究室の先生が「現象の背後にある数学的なモデル」について研究している人だったんですよ。
idesaku:具体的にはどんな研究なのですか。
風間:「蛍」の光の点滅に関する研究などもされていました。蛍が群れになると全体の点滅の周期が徐々に同期しますよね。実はそのパターンが、メトロノームの同期現象と同じ数学のモデルで記述できるというというようなことを解明していたんです。そういう研究が、私にはとても興味深くて、その後の指向にも強く影響を与えたように感じます。
idesaku:なるほど。たしかに、機械学習も、先ほど「面白い」とおっしゃっていたデザインパターンも、現象の背後にある法則を数学やエンジニアリングのアプローチで見つけ出して、抽象化するという点で共通しているかもしれませんね。
風間さんが今後「面白い」と感じて取り組む領域が増えていけば、思いもよらないようなジャンル間で、それぞれでの知見を生かしたイノベーションが生まれそうな予感がします。私も楽しみにしていますね。
今回の風間正弘氏をアンカーとして、リレーインタビュー企画は一旦終了となります。リレーに参加してくださったエンジニアの皆さま、記事を読んでくださった皆さまに、心より御礼を申し上げます。Forkwell Press では今後も魅力的なエンジニアの方々を取り上げていきます。どうぞお楽しみに!
※本記事の内容は掲載当時の情報であり、現在の情報とは異なる可能性がございます。