人気アプリ開発者の鶏肋さんのコラムです。世界のIT企業がAI(人工知能)技術を持つ企業を買収しています。国内でも開発現場での依頼が増えているプログラミング言語Pythonについて解説してもらいました。

AI(人工知能)と親和性が高いプログラミング言語Python(パイソン)

##Pythonが普及した背景

Python(パイソン)は、1991年に登場したオープンソースのプログラミング言語です。Pythonは日本語で「ニシキヘビ」です。Python.orgのロゴをみるとお分かりいただけると思いますが、2匹のヘビをモチーフにしています。

ロゴ

Python(パイソン)がここ数年で急速に普及した理由に「AI(人工知能)と親和性が高い」という特徴があげられます。Pythonを語る前に、まずは普及の背景にある「AI(人工知能)」「 機械学習」「 ディープラーニング(深層学習)」について、ざっとご説明したいと思います。

##世界のIT企業がAIに傾倒か

Googleが「モバイルファーストからAI(人工知能)ファースト」を掲げたように、 世界のIT企業はAIへの傾倒を強めています。以下に挙げるように、 AIに関する企業買収の事例も近年多く目にするようになりました。

近年のAI企業買収事例

GoogleDeepMind、Dark Blue Labs、Vision Factory(2014年)、API.AI(2016年)を買収関連記事
Facebook自然言語解析のWit.aiを買収(2015年)
AppleVocalIQ、Perceptio(2015年)、Emotient(2016年)を買収関連記事
インテルSaffron(2015年)、Nervana Systems(2016年)を買収関連記事
米ヤフー自然言語解析のSkyPhraseを買収(2013年)
セールスフォースRelateIQ(2014年)、Tempo AI(2015年)PredictionIO、MetaMind(2016年)を買収関連記事
サムスン人工知能アシスタントのVivを買収(2016年)関連記事

##AIと機械学習とディープラーニング

### AIとは?

AIの活用例としては、 ソフトバンクのロボットPepper(ペッパー)、 GoogleのAlphaGo(囲碁)や自動運転、 IBMのワトソンが有名だと思います。絵を描いたり小説を書いたりするAIもあり、 その方向性は実に多彩です。

では何をもって「AI」と呼ぶのでしょう。実はAIの定義は、 専門家のなかでも定まっていません。(ここでは)「人間のような知能を持つ人工物」という理解でよいと思います。

### 機械学習は情報量の選定が難しい

「機械学習」とは、プログラム自身が学習するしくみです。身近な例では、スパムメールのフィルタに使用されています。仕組みとしては、 ある単語がどの程度迷惑メール的かという度合いを、 予めプログラムに学習させておきます。この学習結果をもとに、 本文で使われる単語からメールがスパムかどうかを予測するのです。

機械学習に使われる入力値を「特徴量」と呼びますが、スパムフィルタでは単語が特徴量です。個人情報から年収を予測するプログラムでは、 例えば「学歴」が有効な特徴量となるかもしれません。反対に、 例えば「生まれた日の曜日」は、 年収予測の有効な特徴量には恐らくならないでしょう。

このように、 特徴量の選定が機械学習の予測精度に大きく影響します。従来の機械学習では、 この特徴量の選定を人間が行うのですが、 これが最も難しい課題となっています。

### ディープラーニングは特徴量の抽出を自動的に行う

「ディープラーニング(深層学習)」は、 機械学習のなかでも「ニューラルネットワーク」という手法を用います。ニューラルネットワークとは、生物の神経回路を模した計算手法です。このニューラルネットワークを複数重ねる(多層化する)ことで、 より複雑な分類が可能になりました。

ディープラーニングの最大の強みは、 前述の「特徴量の抽出」を自動的に行うことができるということです。人間が特徴を教え込まなくとも、 大量のデータさえあれば、機械が勝手に特徴抽出まで行い学習をしてしまうのです。

ディープラーニングの手法を用いた囲碁プログラムであるAlphaGoが、世界最強と言われる柯潔九段に勝ち越した(2017年5月15日時点)例からも、 ディープラーニングがいかに驚異的であるか分かっていただけるかと思います。

AIについての参考図書として以下を紹介します。少し古いですが、 とてもわかりやすいのでお勧めします。

「人工知能は人間を超えるか」(松尾 豊 著、角川EPUB選書)

人工知能は人間を超えるか
amazon(外部リンク)