4回にわたって続いてきた連載もいよいよ今回で最後。機械学習分野で問題になり始めている倫理について、またエンジニアとしてのスキルやキャリアについて、お二人の経験を踏まえた話をしていただいています。
データの倫理、モデルの倫理
本橋: 宣伝みたいなんですけれど、僕は一度事業側へいきたいという思いがあって、いまデジタル医療のスタートアップにいるという面もあります。
今やっていることのひとつが、治療用のアプリを作ることなんです。実際、欧米にはもうあるんですよ。薬剤に依存せず手軽に治療できることも良いのですが、さらにデジタル化することによってデータが蓄積できるようになり、そのデータに基づいてさらに改善できるという利点があります。あと、いま力を入れているのが臨床試験や治験のためのプラットフォーム作りですね。臨床試験とか治験ってわかりますかね?薬とかの効果をはかるとか…
有賀: 臨床試験。
本橋: 臨床試験とか治験は、薬の効果を確かめるための試験で、データ分析の要素も重要なんですが、データのセキュリティも重要なんです。なぜなら、データを改ざんすることでものすごく儲かる可能性があり、実際にデータ改ざんの問題が起きたことがあったからです。
一方で、臨床試験や治験ってものすごいコストが掛かっているんです。コストがかかる原因の1つとして、目視でカルテを確認するなど、データ改ざん防止業務を人手に頼っているという点があります。臨床試験や治験のコストが大きくなると、薬の値段も上がってしまい、結果として医療コストも上がってしまいます。国としては医療制度を維持するために医療コストを下げようと考えていますし、お医者さんとか製薬会社も苦しんでいる人たちのために新薬を積極的に開発したいと思っているのですが、一方で、データ改ざんをされないようにチェックもしないといけないので、臨床試験や治験のコストがかかってしまう…
この、なんでしょう。みんなが世の中を良くしたいのに、こう…
有賀: レギュレーションばかり増えていく…
本橋: そうそう。そこをデジタルでちゃんとやりたいなっていうのがウチの会社の意思で、医療の課題をデジタルで解決できないかっていうことで僕がジョインしたという経緯が。もう、ほんとビジョナリーな会社で。
でも結局、僕らもどこかのタイミングで現状の医療の改善から、いろいろな医療関連機関と話しながら「医療がどうあるべきか」というのを考えて、変えていかないといけないなと思ってて。何でしょうね。結局、データって業務から生まれているもので、結局、業務にフィードバックしないといけないので、業務を固定化したらダメなんだろうなと。(業務は)日々変わっていくものなので。
有賀: そうですねえ。本当にそうだと思います。
本橋: そんな最近の仕事もあって、最近だとデータのプライバシーとかデータ分析以外のテーマが興味深くて。一回学会で聞いて面白いな、面白いって言い方も恐縮なんですけれど、すごい重要だなって思うことに「データによる差別」という問題があって。
有賀: それって予測モデル系の話?
本橋: そうですね。例えば、性別とか年齢とかつかったモデルで、採用をスクリーニングするというような問題とかですね。男性の方が受かりやすいとか。
有賀: あれですよね。既存のデータを元にモデルを作ると、元々そこに存在するバイアスを含んだモデルを作ってしまうから…典型的な話として、経験〇年以上みたいなマネージャーのポジションを募集すると、何年前の段階で、その例ではアメリカでは白人の男性しかそのポジションに居なかった。そうすると、必然的にこの条件でこのポジションに応募できるのは白人男性しかなくて、未来永劫白人男性しかそのポジションに付けないみたいなそういう話が、機械学習にも起こり得るとか。
本橋: 仰る通りです。なので、問題で言うとお金借りるときの金利決定とかもそうですし、説明変数で言うと生まれとか人種のデータもそうですし。学会の時に話しに出ていたのは、やっぱり直接的な変数を入れるのはまずいってのはあるね、とか。あと直接的でなくても結局相関ある変数入れたら同じことが起きるよねとか。
有賀: それ住所、住んでいるエリア、郵便番号とか入れると、このエリアにはこの人種の人が多いみたいなのありますよね。プロキシとなる変数とか。
本橋: ですです。最近だと、データの扱い方って話題がFacebookの問題なんかで議論になっていますけど、次はモデルの扱い方が、今後課題にはなってくると思うんですよね。
有賀: そうか。「僕からするとそんなん何が楽しいの?」って思ってたんですけど、最近モデルのインタープリティビリティ(説明可能性)みたいな話題がでていたんですけど、
本橋: へー
有賀: やっぱりそこでも、このモデルにはこういう傾向があるよ、というようなものを見られるようにした方がいいっていう話があって、それはそういう所につながっているんですね。
本橋: そうですね。僕らが医療系をやっていても、そういう話を切り捨ててもいいのとか、見逃してしまった人はそれでいいのかと言えばそうはならない。それで変な相関で間違った診断をしてしまうと重大な問題になるので。
例えば、医療でもデータ分析もやっているんですけれど、(モデルは)全部ホワイトボックスじゃないとだめという風潮になってきていますね。もちろんモノによっては、例えば画像診断のヒントとか上手くいくものもあるとは思うんですけど、その辺は今後、機械学習モデルの設計も含めて、また違う観点の差別とか業務の特性とか…
有賀: そういう意味だと、ClouderaのNYにいるFFL(Fast Forward Labs) [1] って人たち、去年うちの会社が買収したんですけど、そこのトップのヒラリー・メイソン [2] っていう人がいて、bitlyでデータサイエンスの偉い人をやっていた人がいて、よく彼女が「Ethics」って言い方でデータに関する倫理みたいな話を書いています。
何かの時に彼女がTwitterか何かで「すごく精度がいいけど差別的な要素が入っているモデルと、そういった差別的な情報は入ってないけど精度がそれよりは劣るものがあったときにどっちを使うか?」みたいな問いかけをしていて。
ethicsを考えた時には後者を選ぶ方がいいでしょ、そうじゃないんだったらあなたはその会社を辞めた方がいいよ。ということを言っていたんですね。さっきの何をもってモデルの良さを判断するかみたいな話でも、精度だけじゃなくてビジネス的なKPIを見ましょうね、って話もあったんですけど、それにプラスアルファとして別の軸、みたいな話がもしかしたら入ってくるのかもしれないですね。
本橋: そうですね、増えてくると思いますね。影響力が大きくなる分、考えることはより増えていくんだろうなと。
有賀: そういう意味だと、僕はだからモデルのデータが何処からどうやって来たかとか…
データリネージって言って、データがどういうソースから、どういうテーブルからできて、どのカラムがどういう風にできてっていうのを追いかけてビジュアライズするみたいなもので、Clouderaのプロダクトにもそういうものをビジュアライズする製品があるんです。モデルじゃなくて普通のデータの。
そういった発想って、きっとモデルの方でも今後みられるようになるって、どこから来てどういう情報が入ってみたいなのを見られるようにするものが絶対必要になると思います。今後、モデルのバージョニングをするときに、このバージョンのモデルはこういった情報からこういう風に作ってますみたいなのが見られるようになるだろうなって。
本橋: そうですね。少なくともいまでも金融の与信では、お金貸すときになぜ断られたのみたいな感じの、こういう理由があってという説明はやってるはずなんですよね、確か。
有賀: それってどちらかというと、金融の方はインタープリティビリティの説明可能性の問題に近いのかなと思います。
本橋: そうですね。
有賀: それとは別にその、差別的なって話になると「この変数が入ってはいけない」って明確にある訳じゃないですか。人種とかもしくは性別とか、そういうのが入ってきていないよねっていうのを確保するってことが必要になってくるんだろうなって思います。
[1] | https://fastforwardlabs.com/ |
[2] | https://en.m.wikipedia.org/wiki/Hilary_Mason_(data_scientist) |
過去の意外な経験が役に立つ
本橋: いろいろと考えると、今の機械学習エンジニアやデータエンジニアのスキルってまだまだ未定義で、(対象となる範囲も)まだまだ増えていく気がしています。いろいろな領域に広がってくといいなと思っているのですけど、格好のいい、セクシーな所がどうしても人気ですよね。実際、僕の本にも書いたんですが「最も華があるのはモデリングをする瞬間だ」みたいなw
有賀: 僕のキャリアの考え方のカギになるのは、自分よりモデリングが僕より詳しい人は山ほどいるということです。いつも頭に思い浮べているのは「俺はPFNの岡野原さんよりモデリングとかできないから、彼みたいな人はPFN社にはいっぱいいて、俺はもっと違う所でバリューを出していかなければ」というような事で、スキルの掛け算でバリューを出して行くみたいな事を考えているんです。
だから前職のときは「東芝の研究所に居たので機械学習的なところもわかります」と、それでRailsのアプリケーションが書けるようになったら二刀流というか両方できるよね、という感じで。それで今は何というか、研究的なところと、プロダクトを作るエンジニアリングのところと、それに加えてお客さんとのコミュニケーションのようなところもやりますと、そういう状態です。
だいたいお客さんと話していると、「変わった経歴ですね」といわれて自分でも「そうですね、そう思います」って答えて。
本橋: (笑)
有賀: なんか不思議なんですけど、過去の経験って意外なところで役に立つんですよね。
本橋: そう、役立つんですよねw なんでしょうね。僕もまったく同じで、例えば最初の職場に入ってやらされたのが、やらされたって言い方がちょっとあれですがw スマホアプリの開発だったんです。Android 1.6が出た頃で...
有賀: つらい時代ですねw
本橋: メモリもとても少ない時代だったんで辛かったんですけど、なによりも辛かったのが、スマホエンジニアやっていたのにUXに全く興味がなかったことでした。
UXに興味がないから、アプリを作ったら言われるんです「これUXなんか良くないな」と。もう、良いとか悪いとか曖昧なんですよ。それで良いデザインて何だろうと思って、デザイン工学の本読んで。でも、だんだんとデータ基盤やりたいってHadoopをやって、DBやって、という流れでデータサイエンティストをやって。
と、一通り色々やって事業に戻ると、結局そのデータ分析した結果をスマホにどんなUXでフィードバックするかとか、スマホからどんなデータが取れるかという事や、じゃあそれはデザインとしてどう考えるのかというのも分かるし、それをデータベースで処理して、こういう処理はスマホでは重いとか、こういう処理はだめとか、そういういう事にどんどんつながっていったんです。
今では、データの発生源からデータベースを触って基盤を通ってと、全体のフローは一通り分かる。もちろんスペシャリストの方が個々の分野は絶対強いと思うんですけど。
有賀: わかります。
本橋: その分野の天才にはやっぱり勝てないなと思っちゃって。
スペシャリストとジェネラリスト - エンジニアとしてどんな道を歩むか?
有賀: 前職の時にRailsのアプリケーション開発やって、いい経験させてもらったなと思います。いわゆるWebディレクター職の人と組んでいて、何だっけ…「算数とか苦手なんで」って言ってたんですよ、最初。「SQLとかわからない」って言ってたんだけど、一緒にプロダクトを作りたいという思いがあるわけじゃないですか。
それで、このプロダクト成功するために何が必要か考えましょう、要するにKPIを決めるっていう事があって。例えばウェブの特集記事を作るという施策があって――Cookpadって検索は割と自動的にできるみたいなところがあったのに対して――そういうのじゃなくて人手で作ったというか編集者がレシピを選んで、さらにそれを元に記事を組む、というようなトライをした事があったんですね。
そのとき、作った記事ができてきたときに「コンバージョンてなんだろう」っていう話をしたんですよ。そこにランディングしてPVが稼げればいいかといったらそうじゃないよね、と。そうすると、滞在時間を見るのか何なのかと考えて、最終的に行きついたのが「ページ内の、このラインまで読んだらJSで発火してログを飛ばして、ここまで読んでくれたらほぼ全部読んでくれたファンだよね」と考えるということ。そのファンがどのくらいいるかをトラッキングしよう、というような話をしてKPIを決めたんです。
で、だんだんそういう話をしていたら、その人が「ログを仕込むとしたらこういうログだよね」みたいな話をはじめ、だんだんSQLも使えるようになって、とそういう経験を一緒にさせてもらったんです。「ああ、これがデータを生かしてプロダクトを良くしていく流れなんだな」と自分にとってもとても良い体験で。
僕がいまClouderaにいるのは、プロダクトを作るエンジニアをやって、研究的なところもやって、で多分データ基盤のところって我流なんです。昔、研究所にいた時に余ってるサーバーで勝手にHadoopクラスタ組んでたんですけど、最近の話とか基盤の話ってそんなに詳しくないなと思って、いまウチにいるみたいなところがあります。
やはり最終的にはデータの基盤なんかも含めてある程度理解して、データを生かしてプロダクトを良くするみたいな事ができる、全部わかるようになりたいなという気持ちもあって今ここにいるわけです。意外なんですが、その場その場で転職するするときは「まあここかな?」みたいな感じで決めてるんですけど、後から振り返ってみて、「意外とストーリーできてるじゃん」って。
本橋: 本当にそうですよね。いま、それこそ転職してスタートアップで仕事をしてて、スマホエンジニアが足りないからAndroidアプリ書いて、その後にブロックチェーンの検証して。さらにアプリのデザインするみたいな。最近、僕自分でアプリアイコンデザインしましたからねw
有賀: おおー、すごい。
本橋: まあ素人の仕事ですが。ただ、昔はスペシャリストなりたいと思ってたんですよ。ベンダの研究所に入ったので「この分野だったら本橋さんだ」という風になりたかったんですけど、気づいたらジェネラリストやってて。そのうちに気づいたら、スタートアップやっててw 「これ向いてたな」と今なら思うけど。
有賀: スタートアップはそうですよね。特に初期は何でもできなきゃいけないから。
本橋: そういう意味では、目指した訳じゃないけれど結果としては凄くいい経験してきましたね。結果オーライという感じですね。逆に言うと、若者が早いうちからスペシャリストになりすぎると、大変かもしれませんね。本当にすごい人はいいかもしれないですけど、幅を持たせてもいいのかもしれないですね。
有賀: ああ、どうだろう。でもそうですね。
本橋: 機械学習ブームが終わったときに、困る若者が増えたら嫌だなとは思います。
有賀: ああ。
本橋: せっかく一所懸命やってきたのに。
有賀: 自分の、一番コアとなるモノとか楽しいと思えるのは何だろうというのを、軸として持っておくのがいいんじゃないかなと。
僕は前職で得た経験から、プロダクト開発があって、そのプロダクトをどうやってより良くしてエンドユーザーに届けるかという、そのサイクルを回していくところが楽しくて。その結果としてお金が生まれるようなもので、かつデータを生かしていければいいよね、と。そういうところがとても合ってるなと思います。
その、「プロダクトをぐるぐる回して良くしていって」みたいなところが軸だなってのがなんとなくあって、「オープンソースのコアなところをガリガリと作ります」とか、そういう人たちとは違うけど、そこが好きなんだなって思うので、その好きなところでやっていくという感じです。
本橋: そうですね。コアなところでがりがりやっていくって道もアリだとは思うんですよね。ただ、僕はやっぱり有賀さんと似ていて――個人的な背景もあるのですが――今の会社でどうしても解決したい問題があって頑張ってます。問題というのは、薬を開発する時に現状の開発コストが高くて、どうしてもレアな病気の研究ができないんです。
有賀: うんうん。
本橋: それをどうにか経済合理性を成り立たせて、研究できる世界を作りたいからという理由で仕事をしています。もはや、それを解決できるんだったら、僕が扱うのはもう技術であっても技術でなかろうと何でもいいていうような。そういうビジョンを実現するため、必死に頑張るエンジニアってのがいると思っています。ただ、その一方でDeep Learningのような特定の技術を突き詰めて、「僕はスペシャルでとがった人でいるんだ」っていう人も、一方で必要だと思っていて、それがうまく共存できるような関係が作れると、世の中変わると信じています。データ分析は、それが共存できる可能性が結構高い分野なのかなと。
有賀: いまお話しを聞いていて思い出したのが、Googleはプロダクト開発のエンジニアと、リサーチャーが一緒になって、機械学習が絡むようなプロダクトを作っているみたいな話を聞いたんですよ。そういう感じでいろいろな方向性のある人たちが一緒に、というような事をしていくと、(技術的な部分を)突き詰めたい人とそのプロダクトにコミットしたい人の長所が掛け算になってうまくいくんじゃないかと思っていて。
多分組織的の構造にも依存してくるとは思うんですけれど、座組みをうまく作ってあげて、とがった人はとがった人でやりたいことをやって、それをうまくプロダクトに繋げるほうが好きな人はそういうところをしてみたいな感じでコラボレーションができると、もっと上手くいくんじゃないかなって思いますね。
- 有賀康顕(ありがみちあき)
電機メーカーの研究所、レシピサービスの会社を経て現在はCloudera所属。フィールドデータサイエンティストとして、データ活用や機械学習の支援を行う。
オライリー・ジャパンより『 仕事ではじめる機械学習 』を発行(共著)。
- 本橋智光(もとはしともみつ)
SIerの研究員、Web系企業のデータサイエンティストを経て、現在はデジタル医療スタートアップのサスメド株式会社のCTO。株式会社ホクソエムにも所属。量子アニーリングコンピュータの検証に個人事業主として従事。製造業、小売業、金融業、運輸業、レジャー業、Webなど多様な業種なデータ分析を経験。
技術評論社より『 前処理大全 』を発行。
※このプロフィールは対談時のものです。