猫を見分けるコンピューター
【コンピューターが100桁の掛け算してもニュースにならないが、幼稚園児が100桁の掛け算したらニュースになる。幼稚園児が猫と犬をを見分けてもニュースにならないが、猫と犬を見分けるコンピューターは結構すごい】
なんででしょうか?
「100桁の掛け算」はやり方を説明できますね。
「犬とと猫の見分け方」やり方説明しろと言われると困ってしまいますね。
コンピューターは「100桁の掛け算」のようにやり方を説明できるものを実行するのは得意です。そのやり方をプログラムにしてコンピューターに実行させればOKです。
一方「犬とと猫の見分け方」をコンピューターにやらせようとしてもやり方がうまく説明できないのででプログラムにすることが難しいです。ためしに犬と猫の見分けを文書で説明しようとして下さい。難しいですよね。
でも最近「コンピューターが猫を認識した」って話題になってました。これはどうやってるんでしょう?
すごく大雑把に言うと、猫を認識するやり方をプログラムにするのでなく、コンピューターに猫の写真をすっごい枚数見せて「猫か? 猫じゃないか?」 をコンピューターに学ばせているんです。
コンピューターに猫の写真を何枚も見せて1枚ごとに「正解」、「不正解」をコンピューターに教えてやるとコンピューターがその結果を元に学習して「この特徴なら前回正解だったものと近いから猫」ってかんじでだんだん賢くなっていくんです。
これが最近はやりの機械学習といわれてるものです。
学習させるためにたくさんの写真の一枚一枚を猫、猫じゃない、とラベル付けしておいてコンピューターに教えてあげる、これが『教師有り学習』といわれるもの。でもすーごくたくさんの写真に一枚一枚、猫、猫じゃない、とラベル付けしてたら大変ですよね。正解を教えずにコンピューターにパターンを認識させるのが『教師無し学習』といわれてるものです。
この場合も学習の方法は人間がプログラムとして作る必要があります。
最近コンピューターの適用範囲が拡大して、この例のような使い方をされるケースも増えてきています。こんな時代だから今一度コンピューターに出来ることを見直していきたいなと思ってます。
書きながら勉強しているので未熟な部分もあると思いますが何卒ご容赦を。