機械学習とは?
子どもに「猫」を教えたことはありますか?「これが猫」「あれも猫」と指さして教えれば、分類学の説明はしなくても、子どもはたくさんの例から自分で猫を認識できるようになります。機械学習もまったく同じです—プログラムが一つひとつルールを書かなくても、コンピュータが大量の例から自分でパターンを学び取るのです。
従来のプログラミングはレシピを渡してその通りに作らせるのに対し、機械学習はたくさんの料理とその味の評価を渡し、「どんな料理がおいしいか」をコンピュータ自身に見つけさせます。この「見つける」プロセスを「訓練」と呼びます。訓練が終われば、新しい料理を渡せばおいしさを予測できます。
決して神秘的なものではありません。手順は三つです:データを集める(例えば猫と犬の写真1万枚)、数学的なモデルを選ぶ(白紙のノートを選ぶようなもの)、そしてデータでモデルを「埋める」—パラメータを調整し、正解率が十分に高くなるまで繰り返します。これには大量の計算と試行錯誤が必要です。
機械学習の能力は、スマホの顔認識のような単純なものから、自動運転車が前方の影がビニール袋か子どもかを判断する複雑なものまでさまざまです。タスクは三つに大別されます:教師あり学習(答えを与えて学ばせる、例:猫と犬の識別)、教師なし学習(答えを与えず、データ内部の構造を発見させる、例:顧客の自動分類)、強化学習(試行錯誤で学び、正しい動きに報酬を与える、例:犬にフリスビーを取らせる訓練)。
しかし、万能だと思ってはいけません。学ぶ内容はデータに含まれる偏りやノイズに依存します。昼間の猫写真だけで訓練すれば夜間は失敗し、偏った採用データを入れれば差別を学習します。しかも、なぜそう判断したかは説明できません—ブラックボックスです。
要するに機械学習とは、指示ではなくデータを使ってコンピュータにやり方を教えることです。強力ですが、データを管理し、出力を監視する責任はあなたにあります—コンピュータが自分で考えることを期待してはいけません。
コメント