現役エンジニアが答える「機械学習が注目されている理由」




ここ数年のAI ブームで「機械学習」が一つのバズワードになっています。 それでは、そもそも機械学習とは何でしょうか?なぜ機械学習が世間で注目を浴びているのでしょうか? この記事ではAIと機械学習の違いや、機械学習の特徴について紹介したいと思います。

機械学習とは

一言で言ってしまえば機械学習というのは、大量のデータを使った統計的最適化のことです。つまり、大量のデータをインプットし、そのデータに潜んでいる法則性を機械が導き出す。そして導き出した法則を元に、未来を予測するというものになります。

僕らは日常生活の中でも自然にこれを行っていて、「Aさんはよく5〜10分ほど遅刻するから、今日も最低5分は遅れるだろう」など予想を行うことがあるでしょう。過去のデータをもとに、未来を予測する技術です。

ビジネスの世界やアカデミックの世界では、別の言葉としてデータ分析ということが行われます。このデータ分析と機械学習の違いは、何に重点を置いているかということです。データ分析の場合は、過去のデータをもとに、発生している現象がどのようにして発生しているかのメカニズムを“説明すること”に重点を置いています。

例えばソーシャルゲームの運営において、売り上げが落ちているため原因を調査したいというミッションが与えられたとします。この場合、どの年齢層のユーザーが減っているのか、男女どちらのユーザーが減っているのか、といったことを調査することによって、売り上げが落ちている原因を調べていきます。これがデータ分析にあたります。

課題を明らかにしたり、今起きている現象がどのようなことによって引き起こされているのかということを明らかにするのがデータ分析なのです。

一方で機械学習というのは、過去のデータをもとに“未来を予測する”ということに重点が置かれています。 例えば機械学習が活躍する領域の一つにマーケティングがあります。 年齢や趣味などの個人データと、その人が最終的に商品を買ったか否かというデータがあるとします。このデータをもとに、ある特徴を持った人(例えば、二十歳のアニメと料理が好きな人)にメルマガを送った場合に、商品を買ってくれる可能性があるかどうかということを”予測する“際に使われる技術が機械学習です。

まとめると、データ分析というのは起きている現象がなぜ起きているのかといった原因を”説明する“ためのものであり、機械学習というのは過去の情報をもとに未来の”予測をする“ために使われるという違いがあります。

AI と機械学習の違い

ここ最近、「AI 搭載のチャットボット」「AI を用いた○○サービス」というように 、AI という言葉がとてもよく使われています。しかしながら、AI という言葉は非常に広い意味を持っているので要注意です。

ロールプレイングゲームのNPCや、オフラインレースゲームの対戦NPCなどもAIという言葉に含まれます。これらは最近になって生まれたものではありませんよね。結論から言ってしまえば、機械学習というのは AI の中に含まれている一つの技術をさしています。 図で表すと下のようになります。

AIと機械学習とディープラーニングの関係図
AI(=人工知能)の明確な定義はない

より学術的に厳密に言えば、AI(=人工知能)の明確な定義はありません。なぜならば、そもそも知能がなにかということがまだ解明されていないからです。ここでは、社会の中で便宜的に使われている「AI」という言葉を指して説明しています。

機械学習を行わないAIと機械学習を行うAIの違い

例えばロールプレイングゲームのNPCについて考えてみましょう。これは機械学習を行わないAIです。NPCがどのような行動を行い、どのような会話をするのかということはあらかじめ人間によって全て決められています。

この場合、プレイヤーがどんな行動をしたとしても、NPCの行動や会話の内容はあらかじめプログラミングされた内容を逸脱することはなく、有限の選択肢の中から選ばれます。

一方で機械学習を行うAIの例MacやiPhoneに搭載されているSiriについて考えてみましょう。Siriの場合、世界中のユーザーとどのような会話が行われたか逐一データとして保存し、それをもとに機会学習することでユーザーの要望に対して最適な回答ができるようアップデートされ続けています。ゲームのNPCと違うのは、ユーザーとSiriが会話をすることによって、Siriの回答の内容が徐々に変わり続けていくということです。

データをインプットし、それに対するアウトプットを行い、フィードバックを得ることでアウトプットを徐々に最適化していく行為を、僕らは学習と呼んでいます。人間の赤ちゃんも、話しかけられたり自ら発した言葉について親からフィードバックを受けることで学習し、様々な言葉のやり取りができるようになっていきます。

つまり機械学習というのは、あるインプットがあった時にどのようなアウトプットを返すのが最適であるかを機械(=コンピュータ)が自分で学習していく技術のことです。

機械学習の可能性と注目されている理由

さて、ここまで機械学習について簡単に説明してきました。ではこの機械学習がなぜ世の中で注目されているのかについて考えてみたいと思います。

機械学習は言語的解釈を介さない最適化プロセスである(=非言語を扱える)

機械学習は一言で言うと、大量のデータを用いた統計最適化であるということは前に述べました。 ここでポイントになるのは、データのインプットから解をアウトプットするまでのプロセスにおいて、言語的な解釈や意味付けが全く含まれていないということです。

どういうことか説明します。そもそも、私たちの主観的世界というのは言語解釈によって成り立っています。あらゆる事物・事象を抽象化し、言語を対応させることによって世界を思考・認識しているのです。

しかし言語には欠点があって、目の前の実物を言語に変換すると情報が抜け落ちてしまうのです。

例えば「りんご」について考えてみましょう。「りんご」という言葉には、本来個々のりんごが持っているはずの細かいキズや、凹凸の形など個体性についての情報が一切含まれていません。「りんご」という言葉は、個々のりんごがもつ共通の性質を抜き出している抽象的なものなのです。

つまり、目の前のりんごを「りんご」という言葉に変換することで、そのりんごが持つ個体的な情報(細かいキズや凹凸の形)は失われてしまうのです。これが言語で世界を解釈して最適解を出す際のデメリットとなります。目の前の現象を言語に変換すると、個別情報が抜け落ちてしまうのです。

しかしながら、機械学習における世界認識とは「数値」という個別具体的な情報であり、言語による抽象化や意味付けが行われていないのです。これを、言語的な解釈や意味付けが全く含まれていないと表現しています。

私たちが抽象的な「言語」という枠組みで世界を認識している理由としては、脳の処理能力に限界があり、大量のパターンを個別に処理することが難しいからです。例えばLGBTという言葉が話題になっているように、性別は本来であれば男か女かという0か1で分けられるものではありません。0と1の間にグラデーション的に分布しているはずです。

しかし我々の処理能力には限界があるので、男を0、女を1としたときに、全てのパターンに対して個別最適な配慮をするのが難しいのです。

しかも人間には性別だけではなく、年齢・趣味・嗜好・IQなど無数のパラメーターがあり、全てグラデーション的に存在しています。一口に障害者と言っても、片足がない人や両手がない人、目が見えない人など様々なパターンが無数に存在しているのです。

他の例として、税金について考えてみましょう。「ある人がどれだけの税金を納めればいいのか」というのは、その人の健康状態や年齢、稼げる力といった様々なパラメーターから最適化することによって決定されるのがベストです。

しかし、実際にその人の個人情報を分析して個別な最適解(この場合は税額)を求めるには、コンピューターがない時代では大変なコストがかかり不可能に近く、年収や家族の扶養状況といった大雑把なグループに区切ることで税額を決定してきたのです。

一方で機械学習は、学習済みモデルに対して年収や年齢、趣味嗜好などのデータを渡すことで、その人がいくらの税金を納めればいいかを瞬時に導き出すことができるでしょう。この人間の思考力を超えた統計的個別最適化が機械学習の最大の特徴であり、注目されている理由なのです。

機械学習は人間が認識できていない法則を発見することができる

機械学習は人間には気づかない法則や、より良い予測を導き出すことができます。実際、デパートで機械学習が活用された例があります。デパートにおいて売上を伸ばすためには適切なタイミングでお客さんに声かけをすることが必要です。

これまでは経験があるベテランがどの場所にスタッフを配置するかということを決めていましたが、あらかじめ学習した機械学習モデルを用意し、機械の指示に従ってスタッフの配置を行ったところ、ベテランの感覚とずれた指示になったものの、売上が伸びたという結果が出ています。

なぜ売上が伸びたのか、ということは人間には把握できず、人間の認識を超えた最適化が行われたということで話題になりました。機械学習は人間が把握しきれていない、お客さんの細やかな動きなどのサインを数値的に処理をすることで、人間の認識を超えた最適解を導き出すことができるということです。

現在センシング技術というものが発達しており、体温やまばたきの回数、 血圧といった私たちが数値で認識できないようデータを計測できる時代になっています。そういった大量のデータを使うことで、人間の力を超えた最適化を行うことが出来るのです。

機械学習は言語解釈を介さないend to endのツールである

end to endというのは、「末端から末端へ」という意味を持った言葉であり、機械学習周りでは「現象をインプットし現象をアウトプットする」という意味で使われています。

例えば、スマートウォッチにより計測された血圧と脈拍のデータをインプット、何らかの病気になるリスクをアラート表示することをアウトプットとして考えてみましょう。この場合だと、血圧・脈拍のデータと、実際に病気になったかどうかという学習データを用意して機械学習でモデルをつくり予測するということになります。

前の段落と繰り返しになりますが、重要なのは、このプロセスには言語的な解釈というものが全く含まれていないということです。機械にとって、血圧や脈拍などはただの数値的データであり、「血圧」「脈拍」とは何かを理解しているわけではありません。機械にとっては、あくまで「血圧」という名前のラベルが付いたパラメーターでしか無く、ラベルの名前を「A」や「あ」に変えたとしても良いのです。

私たちは、多様な世界を言語というフレームによって記述していますが、言語では表現できないようなものも多くあります。言語で世界の全てが記述できるわけではない、それが人間の認識の限界ですが、機械は数字というフレームによって言語では記述できないエリアの現象を扱うことが出来ます

現象を言語化すること無くインプットし、言語化すること無くアウトプットする。この例で言うと、血圧と脈拍という現象を数値的データに変換し、アラートという現象でアウトプットする。このような非言語的なend to endの技術は、言語という枠組みを超えて世界を最適化する大きな可能性を持っているのです。

機械学習はありとあらゆる分野に応用できる

機械学習技術はあらゆる分野に応用できるという素晴らしい点も持ち合わせています。例えば、マッチングをすることに最も適しているでしょう。

例えば、現在の就職活動では一人あたり何十社もエントリーを行い一社一社面接に行くというプロセスを踏まざるを得ません。一方で、性格や考え方・能力などの個人データと、最終的にその人がどの会社に行ってどのくらい活躍しているか、といったデータを学習をさせることで、より高度なマッチングを行うことができるはずです。

もちろん就活だけではなく、出会い系サイトでのマッチングや、ベビーシッターを探している人・ベビーシッターを仕事にしたい人をマッチングするなどのニーズのマッチング最適化を行うことができます。

期待が高まる自動運転技術にも、機械学習が応用できます。機械学習の一分野であるディープラーニングでは、画像認識によって人間を認識し、直後にどのような行動を行うかを予測することにより、安全な運転ができるようになります。

私たち人間であっても、周りを歩いている人が次にどのような行動を行うのかを予測することは難しいです(特に子供は)。しかし人間の骨格構造や歩き方、周りの環境などをデータとして機械学習に与えることによって、我々人間でさえ気づかない細やかな挙動から次の行動を予測することが可能になります。

その他にも、マーケティングでどのようなユーザーにアプローチすれば、どのくらいの確率で商品を買ってくれそうかといった予測ができたり、Amazon などのECサイトにおいてどの商品をレコメンドすれば買ってくれるか、といったことにも応用できます。

このように、機械学習というのは人間の言語的制約を超えて未来の予測を行うことができる上、応用分野が広いため世界中で大変注目されているのです。

終わりに

機械学習の特徴について簡単にまとめておきます。

  • 大量のデータを学習し未来の予測するための技術である。
  • 未来を予測するためのアルゴリズムはデータをインプットすることにアップデートされていく
  • AI のうちの一つの技術である
  • 言語解釈を介さない end to end の技術である
  • 応用範囲が非常に幅広く様々な場所において応用が期待される

ここまで書いてきたとおり、これからはいかに機械学習を活用していくかという視点が大切になってきます。この可能性を持った技術を無駄にしないためにも、私自身も勉強を続けながら社会実装していくことを目指しています。