渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

データサイエンティストや機械学習エンジニアに求められる「素質」とは何か

f:id:TJO:20180822221813p:plain
(Image by Pixabay)

某所で時々意見交換させていただいている@さんが、面白い記事をnoteにupなさっていたので拝読しました。細かい内容は上記のリンク先から皆さんに直接お読みいただくとして、記事中で某所で僕が放言(笑)したことへのご質問をいただいていたのでした。それは、データサイエンティストや機械学習エンジニアといったデータ分析人材に求められる「素質」について、です。

それは例えば統計学機械学習はたまたプログラミングといった「スキル」や「素養」とも違う、言ってみれば性格的傾向とか仕事スタイルとかはたまた思想信条のような、もうちょっと属人的で曖昧なものだと思うのですが、個人的な経験からはその「素質」の有無がデータ分析職として育成した結果、ものになるかならないかを分けるように感じられています。


ということで、あくまでも個人的経験に基づく範囲でデータサイエンティストや機械学習エンジニアをゼロから育成する際に、事前に求められる「素質」とは何かという点について簡単に論じてみようと思います。はい、今回も与太記事です(笑)。業界事情ネタなので、情報源の秘匿も含めてデータは基本的には開示できませんというか、そもそも定量的データとしてまとまることのない性質のお話ですので、その点はご容赦を。なお、いつものdisclaimerで恐縮ですが、ここで論じられている内容はいかなる組織や機関のいかなる実例とも一切関係ありませんので、どうか悪しからずご了承ください。

「素質」は大別すると3種類ある


ここで「素質」と言っているのは、「素養」や「スキル」のような学術・技術的なものとは異なる、比較の問題で言えば先述のような性格なり仕事のスタイルなりといった属人的な特性のことです。スキルの話題は過去記事で散々やっておりますので、そちらをご覧ください。



また機械学習にせよ統計学にせよ元から数学はある程度できた方が良いのですが、そのレベル感については少し前の記事で論じていますのでそちらも併せてお読みください。

データドリブンなメンタリティ

何よりもまず必要なのが、これ。「データに基づいて何かを解き明かし、意思決定する」ということに重きを置くというメンタリティがなければ、そもそもデータ分析を生業とするのは不可能だと思います。


と書くと、何を言ってるんだと笑う人もいるかもしれませんが、冗談ではなく「データドリブンでない人」というのはそこら中にいます。「数字嫌い」をわざわざ自称して雰囲気だけであれやこれや指示を出すお偉いさんの類は世の中枚挙に遑がありません。そういう人たちはそもそも何かを意思決定する際に、自分の主観以外のものに全く拠らないようにも見えます。


一方でデータドリブンであるということは言い換えると「エビデンスベース」であり、客観的な何かに拠るということでもあります。このご時世、客観性がより高いエビデンスを探していけば、必然的に「データ」にたどり着くはず。その「データ」を何よりも大切にするというメンタリティがデータ分析人材にとっては真っ先に必要な素質だと思います。データそのものが持つ高い客観性に強い信頼を寄せ、時にはデータ自身の信頼性にも疑問を持ってきちんとチェックし、データが真に意思決定そしてアクションの根拠たり得るように尽力する、そんなメンタリティですね。これは統計分析メインであろうと、機械学習システム構築メインであろうと変わらず重要なポイントかと。



ちなみに以前書いた記事でも触れましたが、世の中良く分からないことに「ビジネス上の取り回し」がメインで「データ」は二の次、必要とあらばデータを改竄したり無視したりしてひたすらビジネスに関与していると言い張る自称データ分析専門家もいたりします。こういうのは「お気持ちドリブン」とか呼んだ方が良いのかもしれません。

データ分析を支える学術・技術への学習意欲

一方で、どれほど「データから何かを明らかにしたい」と願ったところで、例えば需要予測をすると言いながら過去実績の折れ線プロットに「手なりで自分好みの線を引いて」予測ができたつもりになってしまったりしては困るわけです。世の中「来月からはきっと売上高がV字回復するに違いない!」と言って勝手に下降傾向の売上高の時系列プロットに自分の手で上向きの予測線を書き込む人がいたりしますが、それはデータに基づいて予測しているのではなく、あくまでも「願望ドリブン」で予測しているだけです。


目の前にデータがあっても、それを活かすための正しい術を知らなければ間違った結果に陥るだけのこと。孔子の言葉を借りれば「思ひて学ばざれば則ち殆し」というわけです。データを正しく活かすためには、正しい術を学ばなければいけません。その学習意欲が備わっていることこそが、2番目の「素質」だと思います。


過去の優れた先達のおかげで、現在の人類は客観的なデータに対して客観的にそれらを「説明」し、さらには客観的に「予測」することの出来る学術・技術的体系を手にしています。そう、統計学機械学習です。それらを実際に実践するための枠組みであるプログラミングも含めた3点こそが、データ分析を支える学術・技術のエッセンスと呼んでも良いでしょう。「データドリブンに何かを解き明かしたい・何かを作り出したい」と思ったら、最初に学ぶべきは統計学機械学習・プログラミングだと考えています。


以前はいざ知らず、最近は分かりやすい統計学機械学習・プログラミングの書籍が巷に溢れており、MOOCのようなオンライン講座も国内外問わず極めて充実しています。独学以外では新規参入が難しかった数年前に比べれば、これからデータ分析の世界に参入する人たちは非常に恵まれていると感じます。しかしながら、これだけ恵まれている状況にあっても「統計学機械学習やプログラミングに興味がある」と言いながら、実際には学びたがらないという人は少なくありません。それはただの「勉強するする詐欺」です。


「データに基づいて何かを解き明かしたい・作り出したい」という願望の持ち主であることに加えて、その学術・技術的素養についても努力を厭わず積極的に学び取りたいという学習意欲の持ち主であることは、大切な素質だと考える次第です。

旺盛かつ根源的な知的好奇心

実は最も重要なのがこれです。データ分析業界は、統計学にせよ機械学習にせよ日進月歩を通り越して秒進分歩という凄まじいスピードで進歩し続ける世界であり、1週間も情報を見逃していればあっという間に時代に置いてきぼりにされるという状況にあります。


それ故、データ分析の仕事を手がけるということは時代に追い付き続けられるようにいつでも新しい学術や技術を学び続けるということでもあります。これが出来るか出来ないかで、仕事の幅も大きく変わってきてしまいます。


例えば、ちょっと前までは機械学習非線形分類をやるというと定番はSVMでしたが、非線形SVMには分散処理がしにくいという欠点がありました*1。しかし現在ではランダムフォレストや勾配ブースティング木など樹木モデル各種やそれこそDeep Learningのように簡単に分散処理できる非線形分類手法が沢山あり、SVMしか使えない人(今時そんな御仁がいるのかは知りませんが)の活躍の場は明らかに失われつつあります。


また、5年ぐらい前までは大規模データ分析と言えばスケールアップさせたオンプレの大型サーバーをリッチに調達してブイブイ言わせるのが定番でした。しかしながら、現在ではGCP / AWS / Azureを初めとするパプリック・クラウドが全盛で、それらのクラウドを駆使して大規模データ分析をぶん回すの既に定番になりつつあります。今やクラウドの知識を持たないデータ分析職などあり得ないと言った方が正しい状況です。



まさに1年前の記事にも書いたように、たったの5年で途方も無い進歩を遂げてしまうのがデータ分析業界という世界です。この世界にあっては、学び続けられない者の前途にあるのは「時代遅れ」「置いてきぼり」という末路です。新しいことを学び続けなければならないというのは、データ分析職の宿命でもあります。


しかし、単に「食っていくために」「食いっぱぐれないように」というモチベーションのもとで延々と新しいことを学び続けるというのは極めて苦痛に満ちたものです。興味のないものを学び続けることほどつらいものはないし、何よりも学び続けること自体が苦手な人にはこれ以上の拷問もないでしょう。


なればこそ、「新しく面白いことを新たに知ることが好きだから」というような根源的な知的好奇心の旺盛な持ち主であることが最重要だと、個人的には考える次第です。それがさらに「統計学機械学習やプログラミングそのものが面白くて常に新しい何かを学ぶのが好きだから」というように、データ分析分野の学術・技術に対して向いていれば、データ分析人材としてどこまでもやっていけるはずです。


加えて、データ分析の仕事は様々な職掌の人々が交錯するポイントにあることが多く、時として過去になかったような取り組みを迫られる場面もあります。そうなると、学術・技術的スキルもさることながらそれぞれの仕事のテーマに合わせて自ら解決されるべき「問い」を立てたり、クリエティブに新しい技術や組織の枠組みを考案したり、場合によってはこれまでどこにもなかったようなオリジナルの概念や指標を創出しなければいけなかったりします*2


学ぶべきは、統計学機械学習やプログラミングばかりではありません。旺盛な知的好奇心の持ち主であれば、そのような未経験の物事だらけの局面にあっても、自ら新たに学び、人並み以上にやっていけるのではないでしょうか。


一時期グローバル企業各社でgeneral cognitive ability (GCA)即ち「流動性知能」としての知能*3の高い人材を獲得するのが流行ったことがありますが*4、それは究極的には「知的活動全般に共通する頭脳的・人格的基盤」を求めているということなのだと理解しています。それがあれば、程度問題ではあるものの後からいくらでも学び、育ち、最後には大成できるというわけです。


個人的な見解ですが、「旺盛かつ根源的な知的好奇心」もおそらくその望ましいGCAの要件の一つに含まれ得るのではないかと思っています。これがあればこそ、知的活動を継続させることができ、学び続けられ、そして進歩できるからです。良くも悪くも、データ分析の世界は学術・技術の進歩に囲まれた知的活動の塊のような空間であり、そこで戦い続けるためには「旺盛かつ根源的な知的好奇心」を持ち合わせているべきだと考えます。


身も蓋もないまとめ


ということで「素質」ある候補者を探し出すことが肝要だと思うのですが、大抵の場合素質のあるなしは実際に育成に取り掛かって例えば統計学機械学習のcourseを受けてもらったり課題に取り組んでもらったりした段階になってから、その時々のあれやこれやを通じてようやく見えてくるものです。。。個人的な経験では。


なので、折角良さそうな若い候補者を見つけたからと言って、いざ育成してみたら全然ものにならなかった。。。という失敗を何度も何度も繰り返すことになりがちです*5。その辺の歩留まりの悪さも含めて、ゼロから育成した候補者が成長して戦力としてものになるまでのランタイムは大体「2年」ぐらいだと考えています。データ分析人材の育成に成功するか否かは、その2年のランタイムを忍耐強く待てるだけの余裕がある現場なのか、そして企業なのか、にも依るのではないでしょうか。


そのランタイムを待ちきれずに、促成栽培で育成された中途半端なデータサイエンティストや機械学習エンジニアの前途に待っているのは、データ分析業界の超高速の進歩に伴って生じる「スキルのコモディティ化」に飲み込まれて無価値となる未来です。


そう言えば、自分が某所で思い出して言及したせいか下記のブログの記事がバズっていたようです*6

「7割が十把一絡げのレベルに堕ちる」のは多分その通りだと思います。理由は簡単で、単に高給にありつきたいと思っているだけで上記の3つの素質のいずれも満たさず、自ら意欲的に学ばずコモディティ化されたスキルしか持ち合わせない人材の行く先は、巷で人気のライブラリのチュートリアルコードをただコピペするだけの作業員か、その辺の統計ソフトウェアを言われるがままにぽちぽちクリックするだけのオペレーターかのいずれかでしょう。これらの仕事で高給にありつけるとは、今の段階ですら僕にはちょっとそうは思えません。当たり前の話ですが、誰でもできる仕事に与えられる待遇は、誰でももらえる程度の待遇に過ぎないのです。


そうではなく、「一騎当千」は言い過ぎにせよ「誰にでもできるわけではない仕事を担える」クラスのデータサイエンティストや機械学習エンジニアを育成しようとするならば、当然のように学術・技術的スキルを飽くことなく時代の趨勢に合わせて向上させ続けられる人材であるべきですし、その根底にあるべきメンタリティとして上述の3つの素質を持ち合わせていることが重要だと思う次第です。

*1:言うまでもなく分散処理ができないと大容量データへの対処が難しくなる:なおその気になれば分散処理できるらしいが、論文を見た感じでは結構つらそうな印象

*2:特にtech業界だと前例自体が歴史上ない物事に取り組む必要があるので、あるあるかなと

*3:俗に「地頭」(じあたま:「じとう」ではないらしい)という造語を充てられる概念

*4:過去形か現在進行形かは正直良く分からない

*5:個人的な経験ではゼロから育成して戦力になるのは1割以下という印象

*6:id:Dicerさん、ブコメで質問いただいた部分への回答がここにございます http://b.hatena.ne.jp/entry/369963532/comment/Dicer