もしグロ 〜もし管理栄養士の女性社員がヘルスケアアプリの「グロースハック」をしたら〜

これは管理栄養士からグロースハッカーに転身したとある女性社員の奮闘記である

第9話 たんたん、機械学習に出会う

f:id:f_analytics:20190611171559j:plain

大切な前置き

 このお話はフィクションです。実在の人物や団体、事件などとは一切関係ありません。

機械学習ってなんだろう

 その日たんたんは、久しぶりに栄養士時代の同期であるあすみんこと舟久保明日美とランチをしていた。

 そんな中、彼女の何気ない一言がたんたんの好奇心を駆り立てた

f:id:f_analytics:20190604134320p:plain

「そういえば、グロースチームって最近流行りの、なんだっけ、そう、機械学習っていうのは使ってるの?」

 たんたんは機械学習という言葉は知っているが、どんなものなのかはぼんやりしかわかっていない。普段の業務で使っている自覚はいまのところないので、使っていないのだろうと思われる。

 機械学習というのはどういうものか、自分の普段の業務で使えるものなのか。

 それを知るべく、たんたんは社内の有名なAIエンジニアである鬼百合を訪ねることにした。

筋肉とプログラミング

 AIエンジニア鬼百合。聖帝と同じく社内で最も有名な人物の1人であり、社内で彼の名を知らぬものはいない。

 エンジニアとしてのスキルがどうかは置いておいて、彼はとにかく目立つのだ。何故目立つのかと言うと、彼の趣味がボディビルディングだからである。

 痩せ型の多いエンジニアという職種の中で、筋骨隆々とした彼の容姿はとにかく目立つ。さらに、業務中に突如スクワットをはじめるなどの奇行も頻繁に目撃されるのだから、目立たないほうがおかしい。

 たんたんが訪ねたときも、彼は大型のシェイカーでプロテインと水を混ぜている最中であった。たんたんは彼と初対面であるが、どう見ても彼としか思えないので、間違えようがなかった。

f:id:f_analytics:20190405193657p:plain

「あの、鬼百合さんですよね?」

 声をかけたたんたんを片手で制し、彼はシェイカーの中のプロテインを一気に飲み干した。

f:id:f_analytics:20190604144846p:plain

「失礼しました。筋肉のゴールデンタイムを逃すわけにはいきませんからね。で、私になにか用ですか?」

 先日の茜さんといい、聖帝といい、エンジニアというのは変人が多いのだろうか、とたんたんは思った。

f:id:f_analytics:20190405193657p:plain

機械学習っていうのがどういうものなのか知りたくて、社内で機械学習に一番詳しいのは鬼百合さんだと伺っているので、お話を聞きたいんです。」

f:id:f_analytics:20190604144846p:plain

「なるほど。わかりました。」

機械学習とはどんなものか

f:id:f_analytics:20190604144904p:plain

機械学習についてまず最初に理解しておくべきなのは『現在機械学習と呼ばれているものはほとんどが統計的な技術である』ということです」

f:id:f_analytics:20190405193534p:plain

「統計的?」

f:id:f_analytics:20190604144846p:plain

「すごく簡単に言うと、今の機械学習というのは大量のデータを元に統計的にデータの傾向を掴んでいるものだということです。1人の人がどういうことをするかはわからないけれど、1000人いたら大体何人ぐらいがどういうことをするかはわかる、という状態ですね。」

f:id:f_analytics:20190405193657p:plain

「なるほど。。。」

f:id:f_analytics:20190604144938p:plain

「それを踏まえた上で、機械学習には3つあります。教師なし学習教師あり学習強化学習の3つです。」

f:id:f_analytics:20190604144846p:plain

「1つずつ説明していきましょう。まず教師あり学習ですが、これはその名の通り『教師データ』を使った機械学習です。代表的なのは画像解析ですね。
 『教師データ』というのはそれがなにものかの正解がついているデータのことです。画像解析の例で言うなら最初に学習に使う画像のことですね。これはリンゴ、これはみかんというようなラベルがそれぞれに付いている画像を大量に読み込ませて学習させるんですが、このときに使う画像が『教師データ』です。そうやって学習させた結果として、次に渡した画像がリンゴなのかみかんなのかを当てるというわけですね。」

f:id:f_analytics:20190603150418p:plain

f:id:f_analytics:20190405193534p:plain

「ふむふむ」

f:id:f_analytics:20190604144904p:plain

「FUはユーザーが投稿した食事の画像からそれが何の料理でカロリーがどのくらいかを類推する機能がありますが、それはこの技術を応用しています。大量の食事の画像とそれぞれのカロリーから、画像の食事のカロリーを『統計的に』予想しているというわけですね。」

f:id:f_analytics:20190405193835p:plain

「FUの機能は機械学習だったんですね!!!」

f:id:f_analytics:20190604144846p:plain

「ちなみに私が機械学習に興味を持ってこうして勉強しているのもこの技術を応用したいからです。私は人がどのくらいの筋肉量を持っているのかをその人の画像で判断するAIを作りたいんです。
 私は人の身体を見るとだいたいその人の筋肉量がわかるんですが、それは多分経験と直感で自分の中で『統計的に』それを判断しているんだと思います。機械学習でも同じことができるんじゃないかなと思っているんです。」

f:id:f_analytics:20190405193835p:plain

「(さらっとすごいこと言ってる気がするけれど)それが出来たら面白そうですね!!」

f:id:f_analytics:20190604144904p:plain

「ありがとうございます。では次に行きましょう。次は『教師なし学習』ですね。これは先ほどと違って『教師データ』を使わない機械学習っていうことになります。
 よくある例はクラスタリングと呼ばれるものです。クラスタリングというのは分類という意味なんですが、FUだとユーザーの分類をこの技術で行っていたりします。ユーザーのプロフィールやアプリ内での行動の特徴から似ているユーザーを分類して、という技術です。」

f:id:f_analytics:20190603150355p:plain

f:id:f_analytics:20190604144846p:plain

「この学習で一番重要なのは、出てきた分類がどういう意味を持つのかを人間がしっかり考えなくてはいけないことです。例えば以下のような二通りの結果が得られたとしましょう。」

f:id:f_analytics:20190603150335p:plain

f:id:f_analytics:20190604144846p:plain

「これ、それぞれどういう分類かわかりますか?」

f:id:f_analytics:20190405194034p:plain

「えーと、うーん、わからないです。」

f:id:f_analytics:20190604144904p:plain

「正解はこうです。」

f:id:f_analytics:20190603150434p:plain

f:id:f_analytics:20190405193835p:plain

「なるほど!」

f:id:f_analytics:20190604144846p:plain

「でも、この分類のどちらに意味があるかは人間が判断するしかないですし、場合によってはどちらも意味がないかもしれませんよね。AIはあくまで特定の計算方法の結果が似ているかどうかしか見ていませんから、それに意味を持たせることを人間がやらなくてはいけません。
 3つの中でこれが1番実用例がピンとこない技術なんですけれど、要するに複雑なものや正解のわからないものに対してそれらしい統計的な処理をする技術だと考えるのがいいですね。」

f:id:f_analytics:20190405193657p:plain

「難しいんですね。なんとなくそういうものだと理解しておきます。」

f:id:f_analytics:20190604144904p:plain

「最後は強化学習ですね。これはAIがなにか行動をするとその結果でフィードバックが与えられて、それを受けてAIが次の行動を決める、というものです。
 一番わかりやすいのは将棋やチェスをやるAIですね。あれもAIが決めた手に対して最終的に勝ったとか負けたというフィードバックが与えられて、それを元に対局を繰り返すうちに最善手にたどり着くという学習方法です。将棋などは、最近では人間のプロよりも強くなったと言われています。」

ja.wikipedia.org

f:id:f_analytics:20190405193657p:plain

「ニュースで見たことがあります!!」

f:id:f_analytics:20190604144846p:plain

「実はこの技術は膨大な対局数を行って地道に学習をするという、ここまでで紹介した中で1番泥臭い技術なんですが、人間と違って24時間何局でも指し続けることが出来ますから、人間よりも強くなる速度が圧倒的に早いんです。」

f:id:f_analytics:20190405194034p:plain

「わたしだったら2回くらいやったら疲れて寝ちゃいそうです。」

f:id:f_analytics:20190604144938p:plain

「どれだけ鍛えていても人間は疲れますし、休息が必要です。休息こそが人間が強くなるタイミングですからね。でも機械はそうではないんです。」

f:id:f_analytics:20190604144846p:plain

「この3つに共通して言えるのは、最初に話したとおりで、すべては統計的な処理だということです。統計的にこの画像はリンゴであると思われる。統計的にこのユーザーとこのユーザーは近い特徴を持っている。統計的にこういう手を指すと勝てる可能性が高い、というようにね。」

教師あり学習
・「何がそのものをそのものたらしめる要素か」を統計的に導き出す
教師なし学習
・特定の計算方法を用いて統計的にデータを分類する
強化学習
・何万回も繰り返して、統計的に勝ちやすい戦略を探索

f:id:f_analytics:20190405193657p:plain

「統計ってすごいんですね!」

f:id:f_analytics:20190604144904p:plain

機械学習という技術の進歩において、物事を統計として捉えようとしたのが重要だったのは間違いないですね。」

f:id:f_analytics:20190405193534p:plain

「1つ気になっていたんですけれど、ディープラーニングっていうのは何なんでしょう?それもよく聞く単語なんですけれど、この分類に入っていなかったので、、」

f:id:f_analytics:20190604144846p:plain

ディープラーニングというのはこの3つの学習をするにあたって使う技術なので、分類として独立しているものではないんです。筋力トレーニングでいうと加圧トレーニングとかにあたりますね。加圧トレーニングはトレーニングのための技術の1つであって、スクワットとかベンチプレスといった分類とは別ですよね?」

f:id:f_analytics:20190603150714p:plain

f:id:f_analytics:20190405194034p:plain

「は、はい。。。わかったようなわからないような。。。」

f:id:f_analytics:20190604144904p:plain

「他に知りたいことはありますか?」

f:id:f_analytics:20190405193657p:plain

「もう1つあります。機械学習っていう言葉と一緒によく聞くのが、機械学習が人間の仕事を奪うみたいなお話がありますけれど、そういうことって起きるんでしょうか。」

f:id:f_analytics:20190604144938p:plain

「なるほど。おそらくそれは機械学習の技術が発達すると今人間がやっている仕事のうちのいくつかが機械が自動でやるようになってしまって結果的にその人達の職が奪われるということだと思います。」

f:id:f_analytics:20190405193534p:plain

「はい。そんな感じで書いてありました。」

f:id:f_analytics:20190604144846p:plain

「私の考えではそれは半分正解で半分間違いですね。まず、今人間が人力でやっている仕事のいくつかが機械に置き換わるというのは事実だと思います。しかし、それは特定の職種の人がする作業の中で、いくつかの作業がそれに置き換わるという話です。
 例えば画像解析の技術によってトレーナーが食事の内容を見てカロリーを類推するという作業は機械に置き換わりますし、それを受けてお客さんにどういうことを提案すべきかをリストアップするという作業も機械に置き換わるかもしれません。しかしその後それをお客さんにどうやって伝えるかとか、推奨されるトレーニングをどうやってサポートするかといった仕事は依然として人間がやることになります。」

f:id:f_analytics:20190405193657p:plain

「その職業がどういう仕事をするかというのは少し変化はあるけれど、その職業自体はなくならないということですか。」

f:id:f_analytics:20190604144904p:plain

「そうです。大切な考え方は、人間と機械は競い合うライバルではなく、お互いの得意な分野を活かして協力していく関係だということです。
 機械が得意なことと人間が得意なことがあります。機械が得意なことは単純な処理や計算を繰り返すことで、統計的な処理というのはまさにそれなんです。でもどういう処理をするかとか、処理して得られた結果をどう解釈するかというのを考えるのが人間の得意なところで、人間が考えないといけないところなんですね。」

f:id:f_analytics:20190405193835p:plain

「なるほど!!!」

f:id:f_analytics:20190604144846p:plain

「そういうわけで、さっくり話せるのはこのくらいですね。細かい実装の話を求めているわけではないでしょうから。」

f:id:f_analytics:20190405193657p:plain
「はい。ありがとうございます。勉強になりました。」

f:id:f_analytics:20190604144904p:plain

「お役に立てたなら幸いです。それはそうと、たんたんさんはもともと管理栄養士で、今はグロースチームにいるんでしたっけ?」

f:id:f_analytics:20190405193657p:plain

「そうです。」

f:id:f_analytics:20190604144904p:plain

「なるほど。管理栄養士なだけあって素晴らしい肉体です。500MP進呈しますよ。」

f:id:f_analytics:20190405193534p:plain

「MP?」

f:id:f_analytics:20190604144846p:plain

「マッスルポイントのことです。私に素敵な筋肉を見せてくれたり、筋肉エピソードを聞かせてくれたら溜まっていきます。1000ポイントためたらプロテインを一杯ごちそうしますよ。」

f:id:f_analytics:20190405194034p:plain

「?????」

生じた疑問は

 自席に戻ると、たんたんのSlackのアイコンが光っていた。見ると、『MPカウント』なる謎のSlackアプリからDMが送られてきていた。

MPカウント:

「素晴らしい肉体です。500MP進呈。現在のあなたの保持MPは500MPです。」

 Slackは自分で開発したBotと呼ばれるプログラムを常駐させることが出来て、『MPカウント』もその1つであるようだ。このSlackアプリは彼が自分で作ったのだろうか。

 こういうちょっとしたものを作れるエンジニアという職種にある種の尊敬をいだきつつ、エンジニアってやっぱり変わってるなあとたんたんは思った。

 MPの話はさておき、たんたんは悩んでしまった。

 機械学習がどういうものかはわかった。上手く使えばとても夢があるものだということはわかった。
しかし、普段のグロースハックの業務でそれがバンバン使われているかというと、そうでもないのだ。有用なものであれば、もっと使われても良さそうなものだが。

 そうしてうんうんうなっている彼女を心配して、先輩分析者のがーすーが声をかけてきた。

f:id:f_analytics:20190604140029p:plain
「たんたんさん、なんか唸ってるけどどうしたの?あ、MPカウントだ。え、500MPってすごいですね。僕なんか最初は『もっとがんばりましょう』って100MPでしたよ。最近頑張ってるねってこないだ200MPもらいましたけど。」

 がーすーさんはかなりの痩せ型だが、最近トレーニングに熱心という話だった。鬼百合さんの影響だったのかと、たんたんは得心がいった。

 ともあれ、先輩分析者であるがーすーさんなら、なにか知っているかもしれない。そう思ったたんたんは思っている疑問をぶつけてみることにした。

 勝手にSlackを覗かれた件について怒りを感じたのは、帰宅してからのことであった。

機械学習とグロースハック

f:id:f_analytics:20190405193657p:plain

「実はさっき、鬼百合さんに機械学習というのがどういうものかを聞いてきたんです。話を聞いていて、とても便利で夢があるものだというのはわかったんですけど、だったら普段のグロースハックでもっと使ってもいいのになって思ったんです。」

f:id:f_analytics:20190604140014p:plain

「なるほど。まず1つ質問だけど、鬼百合さんと話をして、機械学習ってどういうものだと思いましたか?」

f:id:f_analytics:20190405193657p:plain

「便利そうで、夢があって、でもちゃんと勉強しないと難しそうだなと思いました。」

f:id:f_analytics:20190604140014p:plain

「そうです。そこなんです。機械学習というのは、ちゃんと理論を勉強して、使うべきときに使うべきものなんですよ。」

f:id:f_analytics:20190405193534p:plain

「といいますと、」

f:id:f_analytics:20190604140029p:plain

「要するに、機械学習というのは道具にすぎないんです。料理でいう圧力鍋とかと同じですね。たんたんさんはただ鍋を作りたいときにわざわざ圧力鍋を使いませんよね?
 機械学習を使ったグロースハックとか分析というのはすごくかっこいいですが、本当に必要なときに使わなければ意味がないんです。
 例えば普段のABテストのときに、継続率を出すために機械学習を使ったりはしませんよね。」

f:id:f_analytics:20190405193657p:plain

「確かに、データを見るだけで十分ですね。」

f:id:f_analytics:20190604140014p:plain

「そういうことです。でも、うまく使うと便利だっていうのは事実ですよ。茜さんがこないだそういう分析をしていた気がします。あ、これです。
 これは、ユーザーが14日後にアプリにアクセスするかを機械学習で予測したっていう分析なんですが、7日目までのユーザーのあらゆる行動や性年代を数値にして、どれが14日目のアクセスに相関性が高いかも一緒に出しているんです。
 こうしてみると、実は重要そうに見えてあまり重要じゃないKPIがあったり、逆に実は重要なKPIがわかったり、複数の要素の組み合わせで影響を与えているものがわかったりして、普通には生まれない仮説が生まれるんです。」

f:id:f_analytics:20190405193835p:plain

「なるほど!使うべきときに使うと、こんなことも出来るんですね!!」

f:id:f_analytics:20190604140029p:plain

「この分析も究極的に言えば時間をかければ機械学習を使わなくてもできます。」

f:id:f_analytics:20190405193835p:plain

「そういうのも圧力鍋に似てますね。時間をかければ普通の鍋でもとろとろの角煮が作れるけど、圧力鍋なら30分で作れますから!」

f:id:f_analytics:20190603151029p:plain

f:id:f_analytics:20190604140014p:plain

「そういうことです。疑問は解けたみたいですね。」

たんたん、機械学習を理解する

 機械学習は圧力鍋と同じ。そう考えると、急に身近な存在に感じてくるのだった。

f:id:f_analytics:20190405193534p:plain

「ちょっと勉強してみようかな!」

 そう思ったたんたんは、軽い気持ちで機械学習という言葉をGoogle検索してみた。

 理論を書いてそうなページにアクセスしてみると、出てきたのは数字と記号の嵐。

f:id:f_analytics:20190405194034p:plain

「ま、また今度にしようかな。。」

 たんたんが機械学習の勉強に取り掛かるのは、もう少しあとの話になった。

次回予告

 強敵(とも)たちとの出会いの果てに凄まじい成長を遂げたたんたん。

 彼女の胸に去来するのは始まりの刻(とき)の出来事であった。

 次回、もしグロ。「たんたん、ドメイン知識を知る」!!!