近年の人工知能と呼ばれるものは、ほとんどが機械学習によるものです。その機械学習も一種のアルゴリズムで、人間がプログラムしています。
では、既存のアルゴリズムと、機械学習のアルゴリズムの大きな違いとは何なのでしょうか?
既存のアルゴリズムとは
現代の日常生活でコンピューターを使わない人はいないと思います。人間がコンピューターに命令を出し、何かしらの処理をしてもらう。これらの命令は、人間が決めた指示をコンピューターが守っているだけです。
たとえば、室温を26度にしてもらうようにエアコンに命令をだす。電卓で足し算をする。ペイペイで支払いをする。
既存のアルゴリズムでは、こうなったときにあれをする。といった命令を出しています。これはif-thenルールと呼ばれています。
人間がルールを決めて、コンピューターがそのルールを守り実行する。同じことを何度も繰り返す作業であれば、このアルゴリズムでその作業が楽になります。
もし、あなたがパン屋さんを開いたときに、お会計のたびにレシートに店名や日時、商品名などを書いて渡すでしょうか。そんなことはせずに、レジに店名や日時、電話番号を登録するでしょう。商品を打ち込むだけで、毎回それらの情報は印刷されます。
ほとんどの問題は人間が決めたルールを守るアルゴリズムで解決します。
機械学習のアルゴリズムとは
では、機械学習のアルゴリズムは既存のアルゴリズムと何が違うのでしょうか。
既存のアルゴリズムでは、人間がルールを決めていると解説しました。こうなったときに、あれをしろと命令しているのです。要するに人間からトップダウンでルールを伝えているのです。
一方、機械学習のアルゴリズムでは機械がルールを決めています。こうなったときに、あれをするというのを機械が決めます。
一番想像しやすい例は、画像分類でしょうか。猫の画像、犬の画像、ウサギの画像、とデータに答えをつける作業はもちろん人間が行います。ただし、こんな特徴がある画像は猫、とルールを教えることはありません。それらのルール決めは機械がします。
機械学習の核は、コンピューター自身がデータに基づいて自身の間違いを修正するところにある。要するに人間のプログラマーはデータに基づいて新たなアルゴリズムを作るメタアルゴリズムを作っているのです。
人間がトップダウンで行っていたルール決めを、機械がボトムアップで行うわけです。これが既存のアルゴリズムと機械学習のアルゴリズムの違いであり、革命であったのです。
その革命により何が起こったのか
これにより、人間がルールを決められなかった問題が解決され始めます。
たとえば先述した、画像分類。人間が猫や犬の特徴を機械に教え込んで、人間の分類精度を超えることはできていませんでした。それにより、写真だけでレジ打ちができたり、動画で車種の判別ができるようになりました。
たとえば、自動翻訳。単語には1つの意味しかない、ということはなく、何個も意味を持っているのが大半です。前後の文脈からその単語の意味を割り出して、文章として成り立つようになりました。DeepLやグーグル翻訳に任せても、意味の分かる文章が返ってきます。
たとえば、ゲーム。人間が機械に教えることは、将棋では駒の動きと勝ちの条件だけ。囲碁では、勝ちの条件だけ。人間が定石を教えるほうが弱くなるそうです。
絵を描いたり、音楽を作ったり、税務作業をしたり、車を運転したり…既存のアルゴリズムではできなかった、いろんなことができるようになっています。