機械学習の登場と背景:ルールを書く時代から、データで学ぶ時代へ
人が知識を書く方式の限界から、データで学ぶ機械学習が広まっていった背景を学びます。基礎層では、知識獲得のボトルネックという壁がデータそのものにルールを語らせる発想の転換を生み、3つのVを備えたビッグデータがそれを後押しした流れをつかみます。深掘り層では、スパムフィルタとレコメンデーションエンジンが学んでいるもの、コーパスを数える統計的自然言語処理、そして次元の呪いが起きるしくみまで説明できるようになります。
ねらい
このレッスンでは、人が知識を書き入れる方式のゆきづまりから、データで学ぶ機械学習(きかいがくしゅう)が広まっていった背景を学びます。
基礎
知識獲得のボトルネックという壁が「データそのものにルールを語らせる」という発想の転換を生み、ビッグデータがそれを後押しした流れをつかみます。
1. 知識獲得のボトルネックから生まれた発想の転換
これまでのレッスンで見てきた方式には、共通の設計がありました。探索では問題の解き方の枠組みを人が用意し、知識表現では言葉どうしのつながりを人が編み、エキスパートシステムでは専門家の判断の規則を人が書き出していました。機械が賢くふるまうための知識は、すべて人が用意するものだったのです。
そして、この設計は共通の壁にぶつかりました。世の中の知識は膨大で、例外にあふれていて、人手では書き切れません。エキスパートシステムのところで見た知識獲得のボトルネックは、この壁にはっきりと名前がついたものでした。
機械学習は、この壁を正面から掘り進むのではなく、前提のほうをひっくり返します。人がルールを書き切れないのなら、書くことをあきらめて、大量の事例を機械に見せ、そこに共通するパターンを機械自身に見つけさせるのです。ルールは、人が与えるものではなく、データそのものに語らせるものになりました。
迷惑メールの仕分けで考えると、この転換がはっきりします。「無料という言葉が入っていたら迷惑メール」と決めれば、最初のうちはうまく働きます。ところが送る側はすぐに「無・料」のように表記を変え、ルールの網をすり抜けます。すり抜けをふさごうとルールを増やし、条件を厳しくすると、今度はふつうのメールまで迷惑メールあつかいになります。人がルールを書いて追いかけるかぎり、この追いかけっこには終わりがありません。機械学習は、見分けのルールを書き足し続けるのをやめ、仕分けずみのメールの実例を大量に見せて、見分け方そのものを機械につかませます。この転換が、人工知能の主役を手書きのルールからデータで学ぶ機械学習へと押し出していきました。
学び方の本質は、たくさんの事例に共通してあてはまる規則性を数の力で選び出すことです。その具体的な手順には、正解つきの事例から学ぶやり方や、正解なしでデータの構造を見つけるやり方といった分類があり、機械学習のしくみを扱う章で1つずつ学びます。このレッスンでは、この方式がなぜ主役になれたのか、その背景を追いかけます。
ポイント
機械学習は、人がルールを書く代わりに、大量の事例から機械自身にパターンを見つけさせる方式です。ルールを人が与えるのではなくデータに語らせる、という前提の転換が、書き切れない知識の壁を乗り越えました。
2. 発想の転換を後押ししたビッグデータの3つのV
データに語らせる方式は、語ってくれるデータがそろってはじめて成り立ちます。見せられる事例が少なければ、浮かび上がるパターンも頼りないものになります。だから、発想の転換だけでは足りず、学ぶ材料の裏づけが必要でした。
その材料を用意したのが、ビッグデータです。ビッグデータとは、インターネットの広まりなどによって集まるようになった、桁違いに大量のデータのことです。人々がWebで検索し、買い物をし、写真や文章を投稿するたびに、機械学習の学ぶ材料がひとりでにたまっていく時代が来ました。ビッグデータの性質は、英語の頭文字をそろえて3つのVと呼ばれます。
- 量(Volume、ボリューム): データの総量が桁違いに大きいことです。人手で書き出せる知識の量とは、比べものにならない規模の実例が集まります。
- 速度(Velocity、ベロシティ): データが生まれて届く速さが増したことです。検索や購入の記録は、利用のたびに絶え間なく生まれ続けます。
- 多様性(Variety、バラエティ): データの種類が幅広いことです。整った表の形の数値だけでなく、文章や写真、音声のような形の定まらないデータも含まれます。
この3つは、機械学習にとってどれも学ぶ材料の豊かさを意味します。データで学ぶ機械学習と、あふれ続けるビッグデータは、たがいに支え合いながら広まっていきました。
ここまでの要点
- 人が知識やルールを書き入れるこれまでの方式は、書くべき知識の膨大さと例外の多さに行きづまりました。
- 機械学習は、大量の事例を機械に見せて、共通するパターンを機械自身に見つけさせる方式です。
- 量と速度と多様性を備えたビッグデータが、機械学習の学ぶ材料を用意しました。
まずは全体像をつかめれば十分という人は、ここで区切って大丈夫です。「ルールは人が書くものから、データに語らせるものへ変わった」と押さえられていれば、この先の深掘りに進む土台はできています。
発展
ここからは、身近な2つの応用が実際に何を学んでいるのか、言葉の処理で起きた同じ転換、そしてデータで学ぶ方式に固有の壁を見ていきます。数式は使いませんが、確率と空間のイメージが登場します。
3. 身近な応用が学んでいるもの:スパムフィルタとレコメンデーションエンジン
迷惑メールの仕分けに戻りましょう。スパムとは迷惑メールのことで、それを自動で見分けるしくみをスパムフィルタと呼びます。スパムフィルタの学ぶ材料は、過去に「迷惑メール」「ふつうのメール」と人の手で仕分けられた大量のメールです。フィルタはその山から、迷惑メールのほうに現れやすい言葉づかいのかたよりを見つけます。ある言葉が迷惑メールらしさをどれだけ強めるかという度合いは、人が決めるのではなく、仕分けずみの実例の数から見積もられます。だから、送る側が言い回しを変えても、新しい実例で学び直せば追いかけられます。人がルールを書き足す追いかけっこは、データを集めて学び直す追いかけっこへと置き換わりました。
もう1つの代表が、レコメンデーションエンジンです。買い物サイトや動画サービスが「あなたへのおすすめ」を差し出すしくみで、学ぶ材料は大量の利用者の行動の記録です。この商品を買った人はあの商品も買いやすい、という傾向を利用者どうしの行動の重なりから見つけ出します。一人ひとりの好みを規則として書き出すことは、まさに人手では書き切れない知識の代表です。ここでも、書き切れない知識をたまり続けるデータに語らせているのです。
理解の確認
スパムフィルタは仕分けずみのメールの山から言葉づかいのかたよりを学び、レコメンデーションエンジンは利用者の行動の重なりから好みの傾向を学びます。どちらの土台にも、人手では書き切れない知識をデータに語らせるという同じ発想があります。
4. 統計的自然言語処理:文法規則を書く方式からコーパスを数える方式へ
同じ転換は、言葉を扱う分野でも起きました。人の言葉をコンピュータに扱わせる分野を自然言語処理(しぜんげんごしょり)と呼びます。かつての自然言語処理では、主語のあとには述語が来る、この動詞にはこの助詞が続く、といった文法の規則を人が書き入れていました。しかし、実際の言葉は例外と揺れに満ちていて、規則はやはり書き切れませんでした。ここにも、知識獲得のボトルネックと同じ壁が現れたのです。
そこで軸足を移した先が、統計的自然言語処理です。文法の規則を書く代わりに、実際に使われた言葉の実例を大量に数えて、言葉のふるまいを確率でとらえる方式です。分析や学習のために集めた大量の文章のデータは、コーパスと呼ばれます。また、ある言葉と別の言葉が同じ文脈で一緒に現れることを共起(きょうき)といいます。コーパスを数え上げると、言葉どうしの共起のしやすさや、ある言葉の次にどの言葉が続きやすいかという遷移(せんい)のしかたが、確率としてつかめます。
代表的な数え方が、連続するn個の単語や文字をひとまとまりにして数えるn-gram(エヌグラム)です。たとえば「本を」に続く言葉を数えると、「読む」が続いた回数は「走る」が続いた回数よりはるかに多い、とコーパスの実例からわかります。この回数の比が、そのまま次に来る言葉の確率の見積もりになります。文法として正しいかどうかを規則で判定するのではなく、実際の言葉がどうふるまってきたかを数で押さえる方式だといえます。
この考え方は、機械翻訳の主役も入れかえました。人が文法規則と対訳辞書を作りこむルールベース機械翻訳に代わって、大量の対訳データから言い回しどうしの対応の確率を学ぶ統計的機械翻訳が広まりました。機械翻訳がその後どんな方式へ進んでいくかは、自然言語処理の技術を扱う章で学びます。
理解の確認
言葉の処理でも、規則を人が書く方式からコーパスの実例を数えて確率で扱う方式へと軸足が移りました。n-gramのように連続する言葉のまとまりを数えて、次に続きやすい言葉を実例から見積もる発想が、統計的自然言語処理の中心にあります。
5. データで学ぶ方式に固有の壁:次元の呪い
データで学ぶ方式は、書き切れない知識の壁を乗り越えました。ただし万能ではなく、この方式ならではの壁も抱えています。その代表が、次元の呪い(じげんののろい)です。
機械学習では、1つひとつの事例をいくつもの特徴の組み合わせで表します。メールなら含まれる言葉の種類、商品なら価格や分類が特徴にあたります。事例を測る物差しの1本1本が特徴であり、その本数は次元と呼ばれます。特徴が多いほど事例をくわしく表せるので、次元を増やすほど賢く学べそうに思えます。ところが実際には、次元を増やすほど、学習はかえって難しくなっていきます。
難しくなる理由は、データの入れ物である空間の広さを考えると見えてきます。物差しが1本(1次元)のとき、目盛りを10段階に区切ると、事例の入る区画は10個です。物差しが2本(2次元)になると、区画は縦と横に10ずつで100個に増えます。3本なら1000個です。物差しが1本増えるたびに、区画の数は10倍にふくれあがるのです。特徴が100本あれば、区画の数は10の100乗、つまり1のあとに0が100個も並ぶ数になります。手元の事例が何億件あっても、ほとんどの区画は空のままです。データは、指数的に広がる空間の中に、すかすかに散らばることになります。
このすかすかの状態が、パターンのつかみ方を根本からおびやかします。機械学習の多くの手法は、似た事例は空間の中で近くに集まる、という前提に立ち、新しい事例の近くにある過去の事例を手がかりにして判断します。ところが、次元が増えて空間が広がりすぎると、どの事例から見ても、ほかのすべての事例が同じくらい遠くなっていきます。いちばん近い事例といちばん遠い事例の距離の差がほとんど消えて、近さという手がかりそのものが役に立たなくなるのです。特徴を増やすほど必要なデータの量が爆発的に増えるといわれるのは、このためです。空の区画を埋めて距離の差を取り戻すには、次元の増加に釣り合う、桁違いの数の事例が必要になります。
この壁への対処の本質は、たくさんの特徴の中からパターンをつかむのに効く組み合わせを選び、少ない次元へデータを写し直すことです。この写し直しは次元削減と呼ばれ、正解のないデータから構造を見つけ出す教師なし学習のしくみを扱うところでくわしく学びます。
ポイント
次元の呪いとは、特徴(次元)を増やすほど空間の体積が指数的にふくらみ、データがすかすかに散らばって距離の差が失われ、近さにもとづくパターンの認識が難しくなる現象です。
理解度の確認
説明できる項目にチェックを入れましょう。すべて確認できたら、完了ボタンで記録します。
分からなかった点・気になった点
読み込み中です。