【こっそり学ぶプログラミング言語】Ruby(ルビー)って何ですか?
人気アプリ開発者の鶏肋さんによるコラムです。非SEさんでも理解が進むように企業買収の視点でみたプログラミング言語Rubyの特徴について解説してもらいました。
人気アプリ開発者の鶏肋さんのコラムです。世界のIT企業がAI(人工知能)技術を持つ企業を買収しています。国内でも開発現場での依頼が増えているプログラミング言語Pythonについて解説してもらいました。
Python(パイソン)は、1991年に登場したオープンソースのプログラミング言語です。Pythonは日本語で「ニシキヘビ」です。Python.orgのロゴをみるとお分かりいただけると思いますが、2匹のヘビをモチーフにしています。
Python(パイソン)がここ数年で急速に普及した理由に「AI(人工知能)と親和性が高い」という特徴があげられます。Pythonを語る前に、まずは普及の背景にある「AI(人工知能)」「 機械学習」「 ディープラーニング(深層学習)」について、ざっとご説明したいと思います。
Googleが「モバイルファーストからAI(人工知能)ファースト」を掲げたように、 世界のIT企業はAIへの傾倒を強めています。以下に挙げるように、 AIに関する企業買収の事例も近年多く目にするようになりました。
近年のAI企業買収事例
DeepMind、Dark Blue Labs、Vision Factory(2014年)、API.AI(2016年)を買収 | 関連記事 | |
自然言語解析のWit.aiを買収(2015年) | ||
Apple | VocalIQ、Perceptio(2015年)、Emotient(2016年)を買収 | 関連記事 |
インテル | Saffron(2015年)、Nervana Systems(2016年)を買収 | 関連記事 |
米ヤフー | 自然言語解析のSkyPhraseを買収(2013年) | |
セールスフォース | RelateIQ(2014年)、Tempo AI(2015年)PredictionIO、MetaMind(2016年)を買収 | 関連記事 |
サムスン | 人工知能アシスタントのVivを買収(2016年) | 関連記事 |
AIの活用例としては、 ソフトバンクのロボットPepper(ペッパー)、 GoogleのAlphaGo(囲碁)や自動運転、 IBMのワトソンが有名だと思います。絵を描いたり小説を書いたりするAIもあり、 その方向性は実に多彩です。
では何をもって「AI」と呼ぶのでしょう。実はAIの定義は、 専門家のなかでも定まっていません。(ここでは)「人間のような知能を持つ人工物」という理解でよいと思います。
「機械学習」とは、プログラム自身が学習するしくみです。身近な例では、スパムメールのフィルタに使用されています。仕組みとしては、 ある単語がどの程度迷惑メール的かという度合いを、 予めプログラムに学習させておきます。この学習結果をもとに、 本文で使われる単語からメールがスパムかどうかを予測するのです。
機械学習に使われる入力値を「特徴量」と呼びますが、スパムフィルタでは単語が特徴量です。個人情報から年収を予測するプログラムでは、 例えば「学歴」が有効な特徴量となるかもしれません。反対に、 例えば「生まれた日の曜日」は、 年収予測の有効な特徴量には恐らくならないでしょう。
このように、 特徴量の選定が機械学習の予測精度に大きく影響します。従来の機械学習では、 この特徴量の選定を人間が行うのですが、 これが最も難しい課題となっています。
「ディープラーニング(深層学習)」は、 機械学習のなかでも「ニューラルネットワーク」という手法を用います。ニューラルネットワークとは、生物の神経回路を模した計算手法です。このニューラルネットワークを複数重ねる(多層化する)ことで、 より複雑な分類が可能になりました。
ディープラーニングの最大の強みは、 前述の「特徴量の抽出」を自動的に行うことができるということです。人間が特徴を教え込まなくとも、 大量のデータさえあれば、機械が勝手に特徴抽出まで行い学習をしてしまうのです。
ディープラーニングの手法を用いた囲碁プログラムであるAlphaGoが、世界最強と言われる柯潔九段に勝ち越した(2017年5月15日時点)例からも、 ディープラーニングがいかに驚異的であるか分かっていただけるかと思います。
AIについての参考図書として以下を紹介します。少し古いですが、 とてもわかりやすいのでお勧めします。
「人工知能は人間を超えるか」(松尾 豊 著、角川EPUB選書)
人気アプリ開発者の鶏肋さんによるコラムです。非SEさんでも理解が進むように企業買収の視点でみたプログラミング言語Rubyの特徴について解説してもらいました。