数学者を目指したデータサイエンティストが機械学習・画像解析を極めるまで。

数学者を目指したデータサイエンティストが機械学習・画像解析を極めるまで。
目次

昨年12月1日付けで、データサイエンティストの松崎さんがフェズにジョインされました!

松崎さんは現在、機械学習の第一人者として活躍されていますが、過去にはエンジニア経験7年、機械学習エンジニア経験3.5年、画像AIエンジニア経験3年という、専門性の高いキャリアを歩んできています。

そんな松崎さんは、データサイエンティストとしてのスキルはもちろん、開発した機能をマネタイズさせるためのプロダクトデザイン力にも強みがあるのですが、キャリアパスにおけるエピソードがとっても個性的!

今回は、かなりマニアック且つ多数の成果を出している松崎さんが、どんなことにチャレンジし、どんな分野に触れ、どんな機能を生み出してきたのか、伝わる人には伝わる専門用語満載でご紹介します!!


松崎さんのプロフィール

【プロフィール】
ワークスアプリケーションズにてWeb開発を担当した後、CEO直属の新製品(AI関連)開発チームに抜擢され1stリリースを完遂。分析しがいのあるデータを求めてリクルートに移りのべ約8000万人×10年のビッグデータ分析を担当。リコメンデーション・機械学習に習熟し、対象施策ではKPIを平均2倍にする成果をあげたことも。マーケティングオートメーションシステムや社内フレームワークを0から考案開発し、リクルート初の技術を多数導入。その後、松尾研発AIベンチャーPKSHA(パークシャ)へ入社し、画像部門HRUS(ホルス)の画像技術エンジニアのTopとして、技術選定・プリセールス・製品開発・対顧客説明・マネジメントを担当。
2020年12月より株式会社フェズへ入社し、データサイエンティストとしてプロダクト開発に携わる。


【経歴】
■2011年4月 株式会社ワークスアプリケーションズ入社。
人事・BI・新製品の開発を担当。フルスタックエンジニアとして活躍。
■2015年1月 株式会社リクルートホールディングス入社。
リクルートが保有する100 以上のウェブサービスを機械学習し様々な事業への貢献を担う。携わったマーケティングオートメーション開発では、のべ 2 億件の広告配信を実現。
■2018年6月 株式会社 PKSHA Technology入社。
製品開発・技術選定・研究開発・プリセールス・マネジメント・人材育成等幅広く活躍。
■2020年12月 株式会社フェズ入社。
データサイエンティストとして小売業の機械学習モデルの開発を担う。


「機械学習からプログラミング、AIまで幅広い知識を持っている」こと、「マネタイズを考えられる」こと、「プロダクトデザイン力がある」ことに強みがある松崎さん。その専門性をつける過程は、どういったキャリアパスだったのでしょうか?


カオス理論にハマり研究者を目指した学生時代

そもそもコンピューターを使うキャリアを歩みだしたきっかけは、父と一緒にゲルマニウムラジオを作ったことでした。整流作用といって、電池を繋がなくても半導体とイヤホンを繋ぐとラジオを受信できるのですが、それがとても不思議でした。

それで電子工作にハマりはじめて、8bitCPUの載った簡単なコンピューター基盤を作れるまでになりました。Z80といって、ゲームボーイというゲーム機のCPUの元になったCPUで、現代のコンピューターを理解する上でも役に立ちました。


他には、PC-98というかなり古いコンピューターがあり、BASIC言語でスロットゲームを作ったりしました。ですが、自分よりもっと凄い人が部活仲間にいたので、当時は自分がプログラマーになれるとは思っていませんでした。

学生時代に、今後のキャリアに影響を与える2人の人物に出会います。

ひとりは、私が15歳ぐらいで部活仲間とスーパーコンピュータープログラミングコンテストに出たときに、TAをしていた数学者の方です。

この方から「ガロア理論」の本を頂いたり、「線形代数と群の表現」という本を教えてもらいました。

「線形代数と群の表現」は上下合わせると700ページを超える大作なのですが、多面体やあみだくじの数学から始まって、物理学の量子論や相対性理論の群論と表現論を勉強することができます。

漫然と高校生活を送っていた自分には人生が変わるような衝撃的な体験でした。それがきっかけで初めは物理の研究者を目指すことになりました。

もうひとりの恩人は塾の先生です。

大学受験のため塾に通っていたのですが、一般相対性理論について説明する講師がいて、クリストッフェル記号の計算までさせられました。

一般相対性理論って、ブラックホールとか空間の歪みを解く話なんですが、受験勉強そっちのけでひたすら語る先生をみて「これを極めて働かずに暮らそう!」と思ってしまいました。

そんな甘い考えで大学に入ってしまったのですが、それ以降は1日10時間勉強しました。

<勉強した主な分野>
・微分幾何
・フーリエ変換・超関数
・ルベーグ積分・確率論・確率過程
・ソリトン(可積分系)
・一般相対論
・量子力学
・統計力学

後ほど触れますが、この時代に数理的な基礎体力をつけたことが、機械学習を学ぶ上でも役立ったのです。

その後社会人になっても10年以上毎日勉強しているのですが、勉強習慣はこの時代に身に付いたのだと思いますし、これからも勉強し続けるつもりです。

その後カオス理論にハマり、研究者を目指して人工生命研究室に入ったんですが、いわゆる象牙の塔に籠もって研究し続けるだけでいいのだろうか?と思ってしまったんですね。

人工生命は複雑系と呼ばれるシステムの一種です。

研究者になろうとして大学院に進みましたが、複雑系としての流通システムに興味が移り、人工生命よりも人工知能システムとしての流通を研究対象にした方が、社会の役にも立てるのではないかと考えました。

修士論文も流通について書きました。

画像6

<電子工作に勤しんでいた幼少期の松崎少年>

マネタイズに失敗したことから価値観が変わったプログラマー時代

在学中に、Googleが提供している「Google Summer of Code」という奨学金獲得にチャレンジしてみたら、通ってしまいました。
突如、世界のレベルの高い学生と交流したことで、プログラマーとして本格的に修行したいと考えるようになりました。

プログラマーとしての修行を兼ねて、研究室の先輩のベンチャーに拾ってもらったんですが、実はそこでソフトウェアの創造事業のマネタイズに失敗したんです。

このとき、「社会の役に立つ=お金をもらう」ことだと痛感し、自分の原体験として印象的な出来事となりました。

ちょうどその年は、2010年で日本でiPhone4が発売された年で、iPhoneアプリのプログラミングの仕事がメインとなり、ここから私のプログラミング時代が始まります。

2011年、ワークスアプリケーションズという会社の選考に行ってプログラミングをしたら、Top3人に選ばれたのですが、社会貢献意識の強い会社だったことが決め手で入社することにしました。

当時BtoBの業務システムをプログラミングしていたのですが、人事・給与・勤怠・会計・サプライチェーン・・・と、幅広く携わっていました。
会社の裏側を見ているようで面白いなと思っていました。

私の強みである、マネタイズ意識とAI・画像認証の専門知識は、ワークスアプリケーションズで働いたことにかなり影響されています。

2014年に「これからは会社の裏側は全部AIになる!」という社長のビジョンの元、チャットボットを作ったり、HR系だと人事評価から有能な人材を見つけるための予測をさせたり、会計の自動化の中でも領収書の写真から自動入力する機能を実装したり。

私が画像解析をやり始めたのは、まさにこの領収書の自動入力がきっかけですね。
WebアプリだったのでJavaScriptで動作するのですが、射影行列という3D変換で領収書が変形するアニメーションを実装して、周囲を驚かせました。

当時、ワークスアプリケーションズで働いていたエンジニアは、それが先端技術であろうと、自分が作ろうとしている機能がお客様の業務コストをいくら下げることができ、潜在顧客が何社で、自分にこの機能を開発させると会社が一番儲かるということをプレゼンし、上司を説得する文化を作り上げていました。マネタイズ視点を持っていたんです。

技術の吸収に貪欲なエンジニアが集まっていましたが、利益を度外視したR&Dではなく、機械学習がビジネスとして売れるためにはどうしたらいいのかを考えていました。

この風土が研究室にいるよりも自分には合っていたようです。

この時代にプログラミングについていろいろなことを勉強しました。

<学んだ主な領域>
・Javaによる並列計算
・JVMの中身
・Martin FowlerのDI理論
・Spring Framework
・Haskell(関数型プログラミング)
・デザインパターン
・WebSocket
・ペアプログラミング
・分散データベースの扱い方(CAP定理など)
・Jay Krepsのpublish/subscribe理論

最後の方は、プロダクトデザインに携わっていましたね。
たくさん話を聞いて、今までなかったものを作る仕事です。

幸運にもいろいろな会社の裏側を見ることができる立場でしたので、自分しか知らない真実を発見して、プロダクトにしたいと考えていました。

一方的にソフトウェアを押し付け、それが問題を解決する機能になっていなければ、誰も使ってくれないのです。それではエンジニアになった意味がありません。

今思えば、このように現場の声を直接聞いて、顔の見えるユーザーを特定し、悩みに寄り添い言語化し、困ってることを正しく理解し「お金を払ってでも欲しいものを作る」ことが、プロダクトデザインには不可欠だと感じたきっかけになっています。

画像3

<大切に撮って置いてる確率パラメータ空間の歪みの式>

約5,000万人分のライフステージデータに向き合い勉強漬けだった機械学習時代

仕事と並行して「機械学習がPayするにはどうしたら良いか?」を考え続けた結果、「リコメンドを作る」ことに行き着きました。

例えば英語学習のためのアプリをつくってみたことがありました。

ニュースサイトの英文を収集して、ユーザーにとって知らない単語が含まれているが知ってる単語が多く、ギリギリ読めそうな記事をリコメンドしてくれるアプリですが、自宅で複数台のPCを接続しHadoopクラスタを建てたので電気代も高く、赤字でしたね。

電気代の元を取れないようでは、「お金を払ってでも欲しいもの」ではなく、自己満足にすぎません。

リコメンド機能でマネタイズできる企業を色々見ていたとき出会ったのがリクルートです。

リクルートって人生のデータの宝庫なんですよね。
手掛けている事業が「進学→引越→美容→就職→結婚→旅行→育児」と幅広い上に、当時は、約5,000万人分のライフイベントデータが10年分以上蓄積されていたので。

これら約200サービス分のデータを扱えるデータエンジニア兼データサイエンティストとして転職したのが、2015年1月。
ここで、学生時代の10年で勉強していた数学・物理の知識が役に立ったのですが、仕事としては今までプログラマーだったので、ここから機械学習についてものすごく勉強しましたね。

当時はデータサイエンティストが新しい職業として登場したての頃で、当然元データサイエンティストの人材というものはおらず、様々な業界から多様なアカデミックバックグラウンドをもつ人材が集結していました。

直属の上司は元金融機関のクオンツ。
上司の上司はメーカーで統計学的品質管理を行っていた専門家。同僚はアドテクの出身者や、元研究者も多かったです。

私の師匠となったのは、京都大学で素数の研究をしていた元数学者でした。
彼らの指導のもと、R言語・数理統計学・確率論・情報理論・ベイズ推定・MCMC・確率過程・ニューラルネットワークなどのトピックについて分厚い洋書を読破していきました。

画像5

<機械学習用の自作PC>

また、リクルートにはKDDをはじめとする海外の学会に参加してレポートする文化があり、毎日論文を読むのが当たり前の生活になりました。いつしか私も、勉強会で大人数を前に話をするようになっていきました。

当時は寝ても覚めても勉強漬けで、楽しくてたまりませんでした。
何よりも嬉しかったのは、学生時代学んでいた物理学と機械学習の類似に気づけたことです。

例えば、物理学では多数の粒子を確率的に扱います。具体的にはエントロピー・マルコフ過程・ハミルトニアン・イジングモデル・分配関数・フォッカープランク方程式といった理論がありますが、これらは全て機械学習でも登場するのです。MCMCの一種であるハミルトニアンモンテカルロに出会った時には、ハミルトニアンとの感動の再会に涙を流しました。

機械学習におけるベイズ更新アルゴリズムは、物理学におけるエントロピー最大化原理に対応していますし、そもそも機械学習が可能であることを支える典型性原理もシャノンのエントロピーから導き出されるのです。

機械学習のパラメータ空間の抽象的な構造を扱う情報幾何学ではブラックホールの方程式が出てくるので、高校生からの勉強が繋がったと感じました。

このように、大学時代に勉強してきた物理学が機械学習を支えていることを悟り、宇宙の全ては繋がっているのだと悟りました。笑

もちろん事業貢献としても成果を出しました。
例えばメールの画像が人によって変わるシステムを作った時のことです。

画像を使った1to1マーケティングをのべ数千万人に対して統計的に厳密に成果が増えていくシステムを作りましたが、このシステムだけでは完結しません。

画像を企画するディレクターと検証結果と次の作戦を密に話し合いながら、細かい画像のカスタマイズを重ね、成果を積み上げていくのです。

1回ごとには細かいセグメントで見ると高々300%、ならすと5%ほどの成果にしかなりませんが、最終的にはこれを積み重ね、KPIは平均して2倍になりました。

画像4

<転職をお祝い(?)される松崎さん>

自分が開発したアルゴリズムの特許出願まで経験した画像解析時代

そんな私が、リクルートでの広告の仕事を辞め、画像理論を深くやるためにPKSHAに入社する事になりました。

きっかけはシリコンバレーに出張に行ったことでした。
分散データベースのカンファレンスや、サイドプロジェクトでテックベンチャーを起業したFacebookのエンジニアとの商談、Oracleとの商談などをいろいろ詰め込んだ旅でした。

そこでUberの発表を見て衝撃を受けました。

当時のUberはすでに1日1兆件以上の位置データをリアルタイムに収集し、交通網上の渋滞を予測することで、ダイナミックプライシングを行い機械学習をマネタイズしていました。

各車の位置データがデータパイプラインというシステムをハブにしてフロー型機械学習システムとストック型機械学習システムに流れ込み、ビジネス効果の最大化に直結する壮大なシステムです。

すでに海外ではJay Krepsのpublish/subscribe理論が実装され、マネタイズまでされていたことに、衝撃を受けました。

広告分析の仕事は大好きで手応えも感じていましたが、リクルートで広告という小さな枠にとどまっていては、ここまで技術的に壮大な仕事はできないという劣等感を感じ、長期間悩みました。

最終的に、どうしてもオフラインの世界、最近の言葉で言えばDXに関わりたいと考えたのです。

これからはECではなく実店舗において技術革命が起こることを確信していましたし、無人店舗の要素技術となるのは画像技術だと考えました。

当時の自分は画像技術をよく知りません。ほぼゼロからの再出発でしたが、恐怖はありませんでした。

画像6

<顔認証アルゴリズム構築のために使用していた素材>

当時YouTubeの論文を読むとリコメンドにはすでに画像特徴量が使われていましたし、考えるだけではなく、NVidiaのカンファレンスや産総研の知人の画像の研究室などに足を運び、自分で理論を勉強してプログラムを組み、裏付けが取れた時点で行動に移したからです。

PKSHAでは、画像研究で博士号を取得された先輩につきっきりで、1960年台から2020年に至るまでのあらゆる画像技術を学ばせていただいたと自負しています。

ここでも物理学と画像解析の類似点に感銘を受けました。

前景抽出にはイジングモデルが、不変特徴点には微分・ラプラシアンが、AKAZE理論には熱拡散方程式が、ルーカス・カナデ法にはフォッカー・プランク方程式が使われています。

ディープラーニングの基礎にはボルツマンマシンが、LSTMには複雑系理論が使われており、画像解析の理論は人類の英知の結晶とも言えるものなのです。

PKSHAには元研究者としても活躍されていたような優秀な同僚たちに囲まれ、また個人では手が出ないような高価なコンピューターもあり、理論と実践の両方で深い学びのある体験をさせていただきました。

守秘義務がありますからPKSHAでの仕事についてはここで開示することはできませんが、50以上のドメインについて画像技術による問題解決のタネをヒアリングさせていただき、その結果は4つのシステムに結実しました。

すでにマネタイズされているものもあり、今後の成長が楽しみです。

プレイヤーとしてはMVPをとり、画像技術のエンジニアリングマネージャーを任せていただくまでになりました。自分が開発したアルゴリズムの特許出願も1件行いました。

しかし、画像技術に重点をおいて追求し続けたため、自分が「数学とコンピューターの力でモノを売る」というこれまでのキャリアと離れつつあることを感じていました。

また、10年技術を追求してきたあとは社会貢献に軸足を移したいと兼ねてから考えていたところでした。私は再び自分を見つめ直す時期に入りました。


小売業界の変革にチャレンジしている現在

ある時、地元に根ざす小売店舗が地域の娯楽となっていることを発見したのをきっかけに小売業界に興味を持ち、フェズに出会い、今に至ります。

今の私が小売業界に感じている楽しさや、データサイエンティストとしての介在価値や可能性については、次の記事でご紹介します。

現在、小売店舗で店員さんの仕事を自ら経験するために実地研修を行っているのですが、データサイエンティストである私が次の取組課題として小売業界を選んだ理由、店舗に行ったからこその新しい発見、小売業界の楽しさを語っていますので、ぜひ御覧ください。


ーーーーーーーーーーーーーーーーーーーーーーーーーー


「データサイエンティストは、一次情報を自ら拾い、課題を正しく理解する力が必要」と話す松崎さんが、次の取組課題として小売業界を選んだ理由、自ら店舗に行ったからこその新しい発見、小売業界の楽しさについて伺った記事はこちら