2015年5月31日日曜日
機械学習とディープラーニングの違い
ここ最近読んだ本の中でも最も衝撃を受けたのは「人工知能は人間を超えるか」でした。
この本を読むまで機械学習とディープラーニングを同義だと認識していて恥ずかしくなりました。人工知能の変遷や現状の課題、未来に向けた方針が懇切丁寧に解説されてある本です。
書籍では人工知能をレベルごとに四つに区分しています。
<レベル1>
制御プログラムが搭載されているもの。
<レベル2>
知識をベースとした推論・探索を行うもの。
<レベル3>
機械学習を取り入れた人工知能。
<レベル4>
ディープラーニングを取り入れた人工知能。
当社が属するマーケティングコミュニケーション業界で例を出しながらあてはめていくととてもわかりやすいと思います。
<レベル2>の知識をベースとした推論・探索を行うものというのは、例えばソーシャルメディアのポジ・ネガ分析のようなものです。特定語句が含まれる投稿(テキストデータ)を形態素解析・係り受け構造解析によって文章を分類し、予め用意してあるポジティブ辞書・ネガティブ辞書に照らし合わせて、投稿がポジティブか、ネガティブかを判別するといったものです。
このレベル2においては、文章の意味自体をコンピュータが理解しているわけではなく、予め用意してあった辞書(知識)をベースとして推論を行っているまでです。だからポジティブ・ネガティブ分析以上のことをやろうとすると、何かしらの辞書(知識)を増やしていかなければなりません。コンテンツマッチのような記事内容の頻出トピックを抽出し、ユークリッド距離によって広告クリエイティブとマッチさせるやり方も同様です。
<レベル3>の機械学習を取り入れた人工知能は、単に人間が与えた知識から推定・探索するレベルからはより高度になります。機械学習とは、あるデータから共通のルールやパターンを導出することです。その本質は、YESかNOかを学習すること。機械学習というのは、YES/NO問題を繰り返し学習していくことなのです。これは自分なりの理解ですが、このYES/NO問題には、検証型と探索型の両方があるのではないかと思います。
つまり、人間がこうだろうと作ったモデルに対して、それがYESだったのか(仮説が正しかったか)、NOだったのか(仮説が間違っていたのか)という判断をする検証型。もう一つは、モデル自体が始めからあるのではなく、データを分析することでこのデータはこういう共通のルールがあると導出する探索型。これは、主観から独立して存在する事実をどう捉えるかかというPositivism(実証主義)と、原因(なぜ)よりも現象や結果(何が起きているか)に重きを置くRealism(実在主義)といった哲学の違いにも関連しています。
もう少し実務的な例で考えてみます。
検証型でいえば、商品Aの店頭売上に影響する要因は、天候、価格、広告の投下量、店頭露出量であるといったモデルをつくったとして、それを時系列で繰り返し仮説検証し、価格が店頭売上に与える影響が強かったかといったYES/NO問題の解を学習してモデルを頑強なものにしていくといったイメージでしょう。(回帰)
探索型でいえば、商品Aの店頭売上は、火曜の午前中によく売れているとか、毎日きてくれている顧客によく買われているといったルールを導出するようなイメージでしょう。(分類)
検証型・探索型いずれにせよ、変数や分類の仕方といったモデルは人間が考えなければなりません。私は、このモデル構築といったことがどれだけ難しいかを実感していました。
例えば、店頭売上の規定要因を考えるときに、普通は回帰分析といったものを考えると思いますが、線型回帰でモデルを考えるべきか、それとも非線形回帰でモデルを考えるべきか。これは単純にカウントデータか離散値かといったことや、従属変数の分布をみれば判断しやすいものですが、変数同士の因果関係が複数に絡み合ったものであればそもそも回帰モデルではなく、パス図を描いてみて共分散構造分析の方が良いのではないかといったモデル構築に日々頭を悩ませているわけです。
ところが、<レベル4>ディープラーニングを取り入れた人工知能では、データをもとに変数(書籍では「特徴量」と記載)自体を自動的に生成していく。ここがレベル3の機械学習と全く異なる点です。ここから先は自分でもまだ完全に理解しきっていないのですが、変数自体を自動生成するステップは二つあるようで、一つは自己符号器(オートエンコーダー)で入力と出力をできる限り近づける処理を行う点、もう一つは階層ごとに学習していく点だそうです。
この二つのステップは主成分分析を非線形で行うということと、その主成分分析を多階層で1階層ずつ行うということです。そうして導出した特徴量(概念)に対して、記号表記化する。
書籍にも例で出てきますが、複数のネコの写真を画像認識して、共通の特徴量を導出し、次に出されたネコの写真をコンピュータがみて、「この写真に写っているのはネコだ」と認識するといったことです。(入力と出力をできる限り近づけて、ネコの特徴量を学習し、ネコの概念に対して「ネコ」という記号表記化する)
このプロセスは、これまで私がやってきた、扱う概念を過去の理論からもってきて、概念を定義し、定義した概念を操作化して測定可能なものにすることで変数を定めてきたプロセスと全く逆であり、私にとっては非常に衝撃的なものでした。
ただし、まだレベル4の人工知能は実用化という観点ではほとんど進んでいないのではないだろうかとも思いました。それはデータが増えても、コンピュータの処理能力が上がっても、結局その”手段”を、何に活かしていくのかという事業化の観点がまだ足りていないからのように思います。広告の最適配信(オーディエンス・クリエイティブ・枠)?それは既存の市場の効率化に過ぎず(ゼロサム)、市場を拡大していくというプラスサムの観点ではないように思います。
もっとダイナミックな人工知能の活用方法を当社でも考えていく必要があります。下記は、私たちがデータ分析の際に常に考えるべき三つのフレームワークです。データや分析方法(人工知能)はその二つに過ぎません。最も大事なことは命題(研究課題:Research Question)です。それが明確になっていなければ、どれだけデータを収集しても、分析方法を洗練しても宝の持ち腐れです。
IoT、スマート社会、マーケティングオートメーション、ビッグデータ、HEMS・・・様々なキーワードで語られていることは今後10年間のスパンで点と点が線と繋がっていくでしょう。その際、自社がどのような立場でビジネスをやっているのか、そのために今取り組むべきことは何かという視点が大事です。同じような問題意識を持たれている方、是非気軽に当社にご連絡くださいませ。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿