ソフトウェアエンジニアから機械学習エンジニアへのキャリアチェンジ「スキルや経験を社会のために生かしたい」|インフォメティス・アルゴリズム研究部・千田翔太
今回は、アルゴリズム研究部の千田翔太さんにお話を伺いました。
アルゴリズム研究部 千田翔太(ちだ しょうた)
2018年入社
電気通信大学卒業後、株式会社コナミデジタルエンタテインメントに就職。ソフトウェアエンジニアとしてゲーム制作やユーザ分析に携わる。その後フリーランスとして、位置情報SNSサービスの立ち上げやサイバーエージェント関連会社にてユーザや広告のデータ分析業務にジョインする。2018年、インフォメティス株式会社に入社。現在アルゴリズム研究部の一員として活躍中。
あらゆる分野で機械学習のビジネスチャンスがあると確信。思い切ってキャリアチェンジ
――まず、これまでの経歴や仕事内容を教えてください。
大学で情報工学を学び、卒業後はソフトウェアエンジニアとしてゲーム制作会社に入社しました。家庭用ゲームの制作から、徐々にスマホゲームやソーシャルゲームのユーザーデータの分析にも携わるようになりました。具体的には、ユーザーの動向を分析してゲームを改善したり、離脱率を下げるためのプロモーション施策を考えたり、といった仕事です。その後フリーランスでサイバーエージェントに参画し、スマホゲームのユーザーデータの分析や課金につながる広告媒体の選定、離脱の原因分析や改良などを行ってきました。
――ソフトウェアエンジニアから、なぜ機械学習エンジニアになろうと思ったのでしょうか?
一番は、機械学習への興味ですね。元々、大学でもAIの基礎を学んでいて興味があったんですが、スマホの普及やインフラの整備によって大量のデータが扱えるようになったことで、あらゆる分野で機械学習のビジネスチャンスがあると確信したんです。ちょうど世間でビッグデータと言われ始めた頃ですね。自分自身のスキルアップにもなりますし、今後何年も使える知識や経験を積めると思い、機械学習エンジニアという職種に舵を切りました。
――その中で、なぜインフォメティスに入社しようと思ったのでしょうか?
エネルギーという、社会に広く役立つ分野に携われるからです。以前携わっていたゲームやエンターテイメントの分野は、少数のファンをターゲットとしたニッチな世界。これでいいのかと自問自答する中で、社会的に影響力が大きくて多くの人に利益をもたらせる仕事がしたいと思うようになりました。
また、東日本大震災の経験も影響を受けています。実家の宮城では家族が被災し、電気や水道、ガスも止まってしまったそうです。自分の仕事では困っている人を助けられないということに、もどかしさを感じ、自分のスキルや経験を社会のために使おうと思ったんです。そこで、社会にとって必要不可欠なエネルギー分野に携われる、インフォメティスに入社しました。エネルギー分野の最大の魅力は、再生可能エネルギーや限られた資源を有効に使うことがグローバルでも求められているということです。その大きな流れに少しでも自分が寄与していくことで、より多くの人や場所にもその価値を届けられることだと感じています。
望んだ結果が得られないもどかしさ。失敗から学びを得て前進
――インフォメティスでは現在どんな業務を行っているのでしょうか?
主に家電ごとの使用状況を推定するための開発をしています。私が入社した頃から、よりリアルタイム性の高い検出を目標とする開発が始まっていて、短時間のデータを見るだけで推定するアルゴリズムの開発と精度の改善が主な業務です。
また、今盛り上がっているエネルギーマネジメントの分野でも研究開発をしています。再生可能エネルギーを家庭内で有効利用することが求められているんですが、そのために機械学習を使って、家庭内で使用される電気の需要予測を立てる研究開発を行っています。
――ソフトウェアエンジニアから機械学習エンジニアに転向して苦労した点はありますか?
まず、技術開発の時間軸の長さが全く違うことです。ソフトウェアエンジニア時代は、機能改善やリリースを短いサイクルで行っていましたが、機械学習の精度を高めるための研究開発は半年後や1年後、更にその先を見据えています。
また、プロジェクトの進め方も違います。ソフトウェアエンジニアリングは、ある程度実装方法の目処が立っていることを着実に進めていくというやり方です。作業した分だけ、ものが作られていくので成果が分かりやすく、進んでいるという実感もあります。一方でアルゴリズム開発では、時間を投資しても望んだ結果が得られないということがよくあるんです。そんな時にもそこから何かを得て、前進しなければならない、それが自分とっては新鮮で、今も試行錯誤しているところです。
それから、電力のデータを扱うことの難しさもあります。たとえば、一般的な技術となっている画像解析などでは、世の中で使われるモデルをまず試してみる、というやり方をしますが、私たちが扱う電力データの分析にはまだ正解のモデルがありません。個人がトライアンドエラーを繰り返しながら精度を上げていく必要があるんです。アプローチそのものが個人の経験値や能力に依存するのが難しく、また面白いところでもあります。
――様々な苦労があった中で、社内でのサポートなどはありましたか?
チームメイトがみんな優秀で、自分の進め方に対してアドバイスをくれたり、Slackで悩みを呟くと気付いた人が返答してくれたりと、困ったときはいつも助けられています。チームには積極的に議論できる文化があるので、自分の意見をぶつければ、それに対して色々な観点からフィードバックが返ってきます。
他にも、定期的に勉強会がありますが、社外にも優秀な助っ人がたくさんいるんです。イギリスにある研究所と情報共有をし合ったり、元社員でベイズ機械学習に精通している方に相談したり講義をしていただく場があったり、機械学習においてトップレベルの教授や研究者の方々に意見を伺ったりすることも可能です。心強いパートナーがたくさんいることはありがたいですね。
機械学習は、様々な可能性を秘めているから面白い
――振り返ってみて、機械学習エンジニアになって良かったですか?
間違いなく良かったです!まずやっていることが楽しいですね。「どうしてこういう現象が起こるんだろう?」と、データをただ眺めているだけでは掴めない背景や物事の発生理由などに思いを巡らせるのが純粋に楽しいです。さらにそれが自分の仮説通りだった時や、それによってサービスの精度に貢献できた時、これまで使っていなかった方法がひらめいた時にも、面白いなと感じます。
それから、当社のアルゴリズム開発はまだまだ少ない人数で作り上げています。個人の能力がフルに発揮される場所なので、やりがいがあって面白いですね。小さなベンチャー企業ですが技術の面では大手企業と対等に仕事ができますし、事業提携したときに私たちの技術が中核として使われることにはやはりやりがいを感じます。
機械学習は、社会の様々な課題に対しても貢献できると思っています。当社のような技術力の高い会社で、機械学習エンジニアとして経験を積めることはとてもありがたいです。
――今後、機械学習エンジニアとしてどんなことにチャレンジしていきたいですか?
ソフトウェアエンジニア時代の経験を活かして、MLOpsと言われるような継続的に精度を改善したり、品質を保証したりできる機械学習の環境を作り上げていきたいと思っています。当社の機械学習エンジニアには、データサイエンスや数学的なものなど、様々なバックボーンを持った人がいますが、そんな中で自分が会社に貢献できることは、ソフトウェアエンジニアリングの経験を活かすことだと思うんです。たとえば機械学習そのもののさらなる自動化や、リリースしたモデルを常にモニタリングして精度を改善していく仕組みなど、機械学習の精度を上げていくためのフレームワークを作り上げていきたいですね。
それから、個人的には、まだ機械学習を活用していない分野での社会問題の解決にチャレンジしたいと思っています。私は子供が被害者となる事故や事件に対して昔から問題意識を持っていました。データを分析してそういった事故や事件を未然に防ぐ活動を行っているNPOに関わらせて頂いています。データを活用して原因を深掘りすることで、悲しい思いをする人を少しでも減らすことに貢献できたらと思っています。
――最後にメッセージをお願いします!
機械学習エンジニアになりたいと思っているソフトウェアエンジニアの方がいれば、ぜひ飛び込んでいただきたいと思います。当社の規模では、機械学習エンジニアといっても携わる範囲が広く、データを見てモデルを考えるだけにとどまりません。データの収集や前処理、評価、そのパイプラインなど、未整備な部分も多いので、経験が活きる場所はたくさんあります。これまでの経験を捨てるというのではなく、その経験を活かしながら新しいことにチャレンジできる環境だと思います!
――ありがとうございました!