1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

人工知能にはPythonが最適?注目を集める機械学習を理解する

Pocket

はじめに

SF映画は好きですか?
SF映画には、よくAI(人工知能)を搭載したロボットが登場しますね。
AIはSF映画の中だけでなく、以前から盛んに研究されてきました。
しかし、コンピューターの性能が追いつかず、人間に近いAIは夢のまた夢でした。
近年、その状況が変わりつつあります。

この記事では、Pythonプログラマーの方のために人工知能の一分野である「機械学習」について説明していきます。

そもそも人工知能ってどんなもの?

一口に人工知能といっても、かなり幅が広いです。
一言でいえば、コンピューターを使って、人工的に知性を作り出すことになります。
現在研究されているのは、人間のすべてを完全に再現するようなものではなく、一つのことを人間と同等(またはそれ以上)にこなせる人工知能です。

よく話題に上るのは、チェスや将棋、囲碁などの対局をするAIですね。
すでに人間以上の強さを備えており、プロでもなかなか勝てません。
研究がさらに進めば、いずれ人間がAIに勝つことはできなくなるでしょう。

2045年にはシンギュラリティ(技術的特異点)に到達すると言われており、人工知能が人間の知性を超えるとされています。
ターミネーターが”ノンフィクション映画”になる日が来るのかもしれません。

今、機械学習が熱い

ターミネーターが誕生するかはさておき、現在最も注目を集めているのが「機械学習」という分野です。
機械学習はその名の通り、コンピューターに学習をさせることで知性を身につけさせます。
いうなれば、赤ちゃんに学習させるようなものですね。
機械学習にも更に細かい分類があり、それぞれ方法論が異なっています。

機械学習の種類

教師あり学習

教師あり学習は、AIに答えを教えておく方法です。
たとえば、画像分類AIであれば、猫の画像にはネコ、犬の画像にはイヌとラベル付けしておきます。
AIはラベルに基づいて画像を分類し、ラベルなしの未知の画像を渡された時にどのラベルに該当するか判断します。

教師なし学習

教師なし学習は、学習データにラベルを付与せず、AIに答えを教えない方法です。
たとえば、先ほどの画像分類AIでいえば、画像の特徴から類似する画像をグループ化し、画像の集団(クラスタ)を形成します。
AIは、それが何の画像なのか知らなくても類似する画像を分類できるというわけです。

強化学習

強化学習は、自分(AI)が取った行動が適切だったか(プラスになったか)判断し、よりよい行動を模索する方法です。
主にロボットでよく使われる方法で、一般的なAIのイメージに最も近いといえます。
Googleが買収したDeepMind社は、強化学習AIによりスペースインベーダーを見事にプレイしてみせました。AIにはルールすら知らされていませんが、自ら学習することに成功しています。

Pythonは機械学習ライブラリが豊富

機械学習を一から構築するには、高度な数学知識が求められます。
よほど数学が得意な方でないと理解できないでしょう。といっても、心配はいりません。
すでにいくつもの機械学習ライブラリが公開されており、誰でも簡単に機械学習を始められます。
代表的なライブラリとしては、次の3つが挙げられます。

・TensorFlow(https://www.tensorflow.org/

・Theano(http://deeplearning.net/software/theano/

・scikit-learn(http://scikit-learn.org/stable/

 

いずれもPythonから使うことができ、ドキュメントも一通り揃っています。
まずは公式チュートリアルから始めて、人工知能にどのようなことができるか感触を掴んでおくとよいでしょう。
本格的な人工知能開発を始めると、手元のマシンではスペック不足になってくるかもしれません。
人工知能の学習には結構なマシンパワーが必要となるからです。
そんなときは、AWS(Amazon Web Services)などのクラウドコンピューティングサービスを活用するとよいでしょう。

時間単位の料金でコンピューティングリソースをすぐに得られます。
無料利用枠もあるので、気軽に試してみましょう。

まとめ

今ではコンピューターの性能は飛躍的に向上し、個人でも人工知能が扱えるようになりました。
機械学習は数学的な理論に基づいていますが、ライブラリを使えば難しい数学がわからなくても大丈夫です。アイディア次第でいろいろなことができるので、思いついたことを試してみましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る