人工知能は人間を超えるか

巷間、「人工知能」や「AI(Artificial Intelligence)」という単語が、様々な思惑とともに流行しているようです。ワタクシも流行に乗って概要でも理解してみようと手に取ってみました。

f:id:n187421:20170822101900j:plain

まずは、松尾豊氏の「人工知能は人間を超えるか」です。

 

ちなみに、この本を読む前に、下の「人工知能とは(人工知能学会)」を読もうとしたのですが、この本、可愛らしい表紙デザインの割に中身は難しいので(専門家の対談集)、初心者はやめたほうがいいです。

f:id:n187421:20170822102534j:plain

 

ということで「人工知能は人間を超えるか」です。第1章は人工知能の定義からです。人工知能の定義は、色んな専門家でも定義が分かれています。

 総務省|平成28年版 情報通信白書|人工知能(AI)とは

究極的な目標としては、松原仁氏による「究極には人間と区別がつかない人工的な知能のこと」だとワタクシも思いますが、現時点、人間の脳の活動(脳以外の機能も含めて)がわからないことだらけなのを考慮すると、現実的で到達可能な定義としては、

「人工的につくった知的な振る舞いをするシステム」

くらいが妥当な定義でしょう。

 

本書では、単純な制御の話からディープラーニングまでわかりやすく記述されていますが、やはり最近の人工知能の流行の起点となっているのはディープラーニング(第5章以降)です。

 

ディープラーニング以前のアルゴリズムでは、基本的に「教師あり学習」であり、

・あるデータの集合をA、B、C…に分類する

・組み合わせが膨大な集合から最適なものを探す

などの問題を実行するプログラムを作る際には、「人間が設定した」特徴量(パラメーター)が大きな意味を持ちます。上記のような問題を解くプログラムを作る人間は「人間ならこう答える」という答えを知っているので、プログラムがアウトプットする答えが人間が知っている答えに近づくように、パラメーターをいじっていろんなチューニングを施します。

 

例えば、

画像データを読み込んで猫かどうかを自動判定するプログラム

を作るとしたら、まず「猫って何?」を人間がプログラムに教える必要があります。コンピューターは「猫」も「耳」も知らないから、プログラムの設計者は、猫の耳の特徴量として、

 「とがった」「三角形の」「このくらいの大きさのが」

 「ここらへんに」「2つ」「色は」

とかなんとか(特徴量)を教えていきます。

そしていろんな特徴量を作ってみたあと、インプットとして猫の画像をいくつか入れてみたら、

 70%当たった! 次は80%に近づけよう!

みたいなことを繰り返して精度を上げていきます。

少なくともワタクシが学生やエンジニアのときはこんな職人技により制御や自動化プログラムは作られていました。

 

じゃあ、ディープラーニングは何がすごいかというと「特徴表現をコンピューター自らが獲得する(かも)」というところです。大量の猫が映った画像をプログラムに突っ込んだら、猫の特徴量をコンピューターが勝手に出してくれるということです。もし「Yという(定量的に表現できる)アウトプットを出したい、大量にデータX1…Xnならあるよ」という状況があるなら、ディープラーニングは向いているかもしれません。

 

ただその精度を上げるには大量のデータが必要なので、今後大量のデータを持っている企業(google, amazon, facebookなどなど)がますます強くなるでしょう。

 

 

最後に

人間の目的は「個の保存、種の保存」であることに対して、人工知能の目的は(今のところ)「誰かに与えられた問題を解くこと」なので、まだシンギュラリティとか人工知能に怯える必要はないかなぁと思います。

ただ、人工知能の目的が「個の保存、種の保存」になってくると危ない気がします。