山口祐 / Yu Yamaguchi

2022年8月より現職。
東京大学大学院卒業後、産業技術総合研究所 研究員/NIST客員研究員として可視・近赤外センサ評価を研究する傍ら、独自にゲームAIの深層学習の研究を開始しました。日本の囲碁AI開発プロジェクト 「GLOBIS-AQZ」の開発代表として、最大1100GPUの並列分散強化学習を設計・開発し、第2回世界AI囲碁オープン準優勝、第32回世界コンピュータ将棋選手権優勝。その後、2021年よりHEROZ株式会社 執行役員 兼 CAIOに就任。探索型AIの強化学習を中心に、人工知能・深層学習の研究開発を進めています。
 

実はエンジニアになったのは20代後半だった

ーー前職では東証プライム上場企業でCAIO(Chief AI Officer)、TuringではDirector of AIとAIを主戦場にご活躍されていますが、今まではどのようなキャリアを歩んできたのでしょうか?

ファーストキャリアは研究者だった

元々は研究者としての道を歩んでいました。その道を志すキッカケはファラデーという人が書いた『ロウソクの科学』という本です。小学生の頃に初めて読み、今でもバイブル的に持っています。小さい頃から研究者になりたいと思うようになり、大学では化学を専攻。大学院へと進学する中で研究にのめり込むようになっていきました。大学院卒業後につくばにある産業技術総合研究所に入所し、光を使った技術研究や炎を対象にしたレーザー計測などを研究していました。

Alpha Goの衝撃がエンジニアキャリアのキッカケに

実はエンジニアになったのは27歳〜28歳くらいです。キッカケは大学時代に遡ります。山本一成さんがサークル仲間で、ある日「俺は明日からプログラミングで生きていく!」と言っていました。当時は今みたいにプログラミングの人気がそこまでなく、情報学部を志す人間は少なかったです。その中で「プログラミングで生きていく」という言葉は頭の中に強烈に残っていましたね。
 
そこから、2016年にセンセーショナルな出来事があります。Google Deepmind 社が開発したAlpha Goが科学雑誌「Nature」で表紙を飾ったのです。「Nature」は日本時間の早朝で更新されます。朝6時くらいに同僚から「Googleがすごいことをした」と連絡があり、その日は論文を読み込んで満足に仕事ができないほど衝撃を受けました。
 
「Nature」ではそもそも論文が掲載されるだけでもすごいことです。自然科学がメインで載っている雑誌に、深層学習がサイエンストピックの中で一番になったことは衝撃的でした。あれは、その後のAIブームを起こすキッカケとなった出来事ですね。
 
私自身も論文を読む中でプログラミングに対して「こうしたら面白いのではないか?」「自分にももしかしたらできるかもしれない」と思い、エンジニアとしてのキャリアが始まりました。

ディープラーニングの世界にのめり込み、エンジニアとして成長していった

ーー27~28歳でキャリアをスタートして山口さんのようになれるのですね。かなり驚きました。
論文を読みながらディープラーニングの勉強を始めたものの、当然最初からうまくいったわけではありません。1年ほどかけてなんとか形にしました。そこから囲碁AIの大会に出るようになり、中国での世界大会出場など徐々に成果を積んでいった形です。大会で成果を残せたことは、エンジニアとしてキャリアを歩んでいく上での自信につながりました。
 
研究者としての仕事も面白かったのですが、シンプルにコンピューター分野に取り組んでみるのも面白そうだと思い、エンジニアとしてのキャリアに挑戦することにしました。7年所属した研究所を退所し、2018年からフリーランスエンジニアとして活動をしています。様々な開発案件を経験しながら囲碁AIの世界大会にも出場し、2018年に準優勝の成果を挙げました。その後さまざまな経験を積みたいと思い、2020年にHEROZに入社しています。

Turingとの出会いとこれから

ーー前職でのHEROZではCAIO(Cheif AI Officer)という役職をされています。HEROZ入社からTuring挑戦までどんな過程があったのでしょうか?

HEROZで培ったビジネス x エンジニアリングのスキル

当時HEROZでは機械学習エンジニアとして入社しました。専門分野のエキスパートとして金融領域のAI開発が当初のミッションでしたが、徐々に役割を広げていきました。会社の計算サーバーを使って学習させた将棋AIを用いた発信なども行っていたのですが、HEROZとして開発方針を立て組織開発を行う人材が必要となり、執行役員のオファーをいただいた形です。
エンジニア以外の仕事を経験し、長期的な文脈でAI開発の方針立ての経験・スキルセットを伸ばせるいい機会なのではないかと思いオファーを受けました。今後のメガトレンドを予想して、会社の方針を検討していくのは面白かったですね。開発指針をもとに組織を動かす中で、ビジネスをカタチにしていく難しさや、戦略と売上・利益とのアラインメントなどの経験を培えたのは貴重でした。

WHY Turing

ーーそこまで貴重なご経験をされてきた山口さんがTuringで挑戦しようと決意された理由はなんだったのでしょうか?
前述した通り、山本一成さんとは大学時代からの友人です。よく連絡をとりあっており、彼がTuringを創業するまでの過程は知っていました。創業当初からTuringに来てほしいと言われており、何度お声がけをいただいたかは正直わかりません。
Turingにきた大きな理由として2つあります。まず、自動運転AIを作るという人類の技術課題に真っ向から取り組める人は開発の環境・スキルの面で見ても限られています。自動運転の分野では少なくとも次のようなスキルが必要です。
  • 深層学習の経験と知識
    • 特に画像処理や強化学習と呼ばれる分野の知識に強いこと
  • 大規模なハードウェアで学習基盤への理解
  • カメラや光学センサーやレンズなどの知識
  • スタートアップの初期に求められるエンジニアリング技術やビジネスへの理解
上記のようなバックグラウンドやスキルセットを考えると、全部当てはまる人はそうそういないと思いました。
また、バッターボックスに立てる自分が挑戦しなければ、人類が自動運転の分野でヒットを打つのが先送りになってしまうと思ったことも大きいです。自動運転という未踏の課題解決は世の中には絶対必要で、20~30年後には必要な技術になると思っています。そこに寄与すべき人は誰か?と考えた中で、技術や経験の側面で自分が挑戦したいと考えました。

Turingが提起した課題の面白さ

ーーそんな山口さんが感じるTuringの面白さとはなんでしょうか?
自動運転という課題を解くためには、解決方法以上に課題設定の力が試されます。私自身、将棋をやっていたのですが、将棋において戦略・作戦は非常に重要です。将棋は駒がぶつかる前の駒組みという段階で優劣がつくのですが、勝負において作戦や戦略から優位になるという話はプロの世界ではよくあり、それが実際のビジネスや研究の現場でもあると信じています。
 
自動運転をAIで解決するというアプローチは、課題設定の戦略上優位だと感じました。今後の深層学習の技術ならこの課題を解決できるのではないかとワクワクしたことを覚えています。

世界の運命を変える挑戦にワクワクした

前述してきた通り、自動運転という課題は人類が越えるべき大きな課題です。AI分野で多くの企業やビジネスが生まれていますが、こんな大きな課題設定や目標に挑む機会はそうそうありません。
また、自動運転という文脈ではTeslaや中国のスタートアップ、さらには当然ながら完成車メーカーというプレイヤーがいます。世界中の企業と勝負をし、どれだけ優れた車を創り上げるかという大きな戦いは非常に面白いと感じます。
 
転職の意思決定で根底にあったのは、大きな勝負をしたいという思いです。今までいろんな研究開発や役割を経験してきました。人や機会に恵まれてきた自信はありますが、キャリアにおいてここまでワクワクする面白い勝負ができる機会はなかなかないなと感じました。もちろん、スタートアップゆえに不安もあります。ですが、自分にとって大事なのは「大きな勝負ができるかどうか」が大切でした。

Turingを通して実現したい世界

ーーそんな山口さんがTuringを通して実現したい世界はどんなものなのでしょうか?
自動運転の課題はすごく難しく、エンジニアとしてなかなか出会えない人類にとってのグランドチャレンジです。「それを達成した世界を見たい」と強く思っています。
 
レベル5の自動運転EVが実現すると、それは果たして車と言えるのか?という次元になると考えています。人間と同じように周りを見て判断し、自分の中で基準を持って行動する。それは汎用人工知能という定義に近づいてきます。自動運転の開発は、ある意味、汎用人工知能を作ることとかなりイメージが近いです。それが一般的になってコモディティー化する時代は、シンギュラリティーを迎えるタイミングとイコールだと考えており、Turingはそのような会社になるべきだと思っています。

今の段階でAI技術者として入社すべき理由

ーー山口さんが思う、今の段階でTuringに入社するメリットはなんでしょうか?
大きく3つあります。1つめは、自動運転のためのAIをつくるのは技術的に難しく、かつ社会にすごく求められていることです。AI技術を使う会社は多いが、コンパクトな課題にアサインされることは多いので、そこでモヤモヤしている人は多いのではないかと考えています。そんな人にとって大きな課題に挑戦する機会はワクワク感のあるものだと言えるでしょう。
2つめは、作るべきAIの規模が大きくなることです。課題の難しさに応じてタスクを解けるAIが必要で、開発基盤やデータ量は今までのオーダーとは異なるものになると考えています。ほぼビッグサイエンスと呼ばれる分野に足がかかってくるので、そこに携われるのはエンジニアリング・サイエンスの観点でも面白いはずです。
3つめは、システムをつくるだけではなく車を作るということです。車の設計をするのは技術的にもチャレンジングなことだと思います。公道で車を動かす、カメラと結合させる、データをどう取得するかなど、実世界との連携が大事になってきます。単純な機械学習だけではなく、さまざまなレイヤーの技術が求められるのが自動運転の開発です。ハード・低レイヤー・高レイヤーのソフトウェア、AIを俯瞰的に触り、経験できる部分が相当面白いと思っています。

最後に

Turingでは人類にとってのグランドチャレンジである完全自動運転EVの開発・製造をしていきます。工学最高峰のプロダクトと言われるクルマを作るにはソフトウェア、ハードウェア問わず多くの才能が必要です。少しでも面白いと思った方や興味を持った方はぜひ弊社求人へ応募してください。事業の進捗やTuringの課題についてお伝えさせていただきます。

コンテンツ

FizzBuzzを1byteで実装する
初歩的なプログラミングの例題としてよく例に出されるものとして FizzBuzz問題というものがあります。このFizzBuzz、 人類の知識を結集すると、どれくらい簡単に書けるのでしょうか? この記事の内容をざっくり2行で: (注) この記事は以前Qiitaに投稿された FizzBuzzを1byteで実装する と同一の内容になります。 問題の条件を満たすプログラムをできるだけ短い文字数で実現する競技は Code Golf と呼ばれます。 スポーツとしてのゴルフと同じように、スコアが小さいほど優れています。 Code Golfのスコアとは、文字数(=何バイトか)で、空白や改行なども1文字としてカウントされます。 *コードゴルフはコンピュータプログラミング・コンテストの一種。参加者は与えられたアルゴリズムを、可能な限りもっとも短いソースコードで記述することを競う。バイナリサイズではなく、ソースコードの文字数がスコアとなる。  ――― もちろん、予め用意しておいた外部ファイルを読みこんだりするのは禁止です。あくまでデフォルトの状態からそのコードだけで与えられた課題をクリアしないといけません。 言語ごとに最短のコードも異なるので、基本的に同一言語で競われます。Code Golfの課題には様々なバリエーションがありますが、 FizzBuzz問題 もその一つです。 例えばこちらのサイトでは主要なプログラミング言語でFizzBuzzのCode Golfが行われています。こういったサイトを参考にしつつ、最短のFizzBuzz実装を調べて行きたいと思います。 ( 以下、特に注釈がなければ、実装コードは見出しの脚注にある参考サイトからの引用となります。 ) まずは皆大好き Python。Python3では59バイトが最小らしいです。 ポイントは-~i でi+1を表現するところ。orの後のスペースが不要になるので1バイト短縮できます。 実行テストは こちら からどうぞ。 Python2では複数解が存在するようです(すべて56バイトです)。 Python3と異なり、整数除算が/ で表現できること、printに()が不要であることから(A)のように3バイト短くできます。 (B)はwhileでiをデクリメントしていき、終了条件を~i % ' 5 ?
 

つながりましょう!


Github
Linkedin

カジュアル面談