Clip Success!!

AIの学習ブートキャンプ「INTILAQ高度IT人材育成シリーズ(AI編) 」に参加してみた

670 PV

32日前

ディープラーニングやニューラルネットワーク、シンギュラリティなど、最近注目を浴びている人工知能という技術分野があります。人気を浴びるに伴い人工知能を学ぶ機会を各地で企業の方々が設けており、そのひとつである「INTILAQ高度IT人材育成シリーズ(AI編) 」を受講してきました。

本記事では、このブートキャンプの内容紹介と人工知能について触りの部分をわかりやすくお伝えし、人工知能の学習を始めるきっかけになれば幸いです。

ブートキャンプの概要

INTILAQ高度IT人材育成シリーズ 機械学習ブートキャンプ
~やってみて、はじめて分かる人工知能(AI)の世界 ~

http://peatix.com/event/208709

本ブートキャンプは、機械学習について、理論だけでなく実際の実装をイメージできる内容で、毎回講義後に出す演習を通して、実際に手を動かして「やってみて(実装を体験して)」、人工知能のより実践的な知識を得ることが可能です。

今回、プログラム全体を東北大学大学院情報科学研究科の岡谷先生が監修。
岡谷先生による特別講義に加え、産業界からゲスト講師を迎え、実業への応用についても最先端のお話をおうかがいしました。

毎週火曜日の19:00~21:00で計5回にわたり、ほぼ毎回ゲストスピーカーをお呼びして前半はゲスト講義、後半は機械学習講義という構成で進んでいきました。

人工知能、機械学習とは

本ブートキャンプで「人工知能」と「機械学習」という2つのキーワードが登場しています。
具体的に双方が何を示しているのか簡単にご説明します。

まず「人工知能」について、これは研究者の方々により定義付けが異なります。
ある人は、アトムやドラえもんのような「究極的には人間と区別がつかない人工的な知能」であったり「知能をもつメカ」「心をもつメカ」と定義をしたり、ある人は「コンピュータによって実現の見込みがありそうな人間の知能の一部」と定義をしています。

わたし個人的には、現在世の中にでている人工知能とされているものは、より後者に当てはまると感じています。

例えば、世界最強と呼ばれている碁の名士イ・セドル氏を破ったAlphaGoに、人と同じように買い物を頼んだらしてくれるかといったらそうではない。

https://gogameguru.com/alphago-defeats-lee-sedol-4-1/

つまり、現在は人工知能といっても音声を扱うAI、画像を扱うAI、最適化や推論を扱うAIなど一部の機能にとどまっているように感じました。

そして「機械学習」というのは、データから反復的に学習し、そこに潜むパターンを見つけ出すことであり、学習した結果を新たなデータにあてはめることで、パターンにしたがって将来を予測することが可能となります。

つまり、画像を扱うAIの例でいうと、ライオンの写真をみせた時に、その写真に潜むパターンを見つけだし、次回異なるライオンの写真を見せた場合でもライオンが写っていると認識することが可能ということです。

このように、「機械学習」というのは「人工知能」を実現するためのツールという認識がピンと来るのではないかと。

どうやって「機械学習」をプログラミングするの?

今回のブートキャンプでは、運営者である株式会社zero to oneさんの方で学習環境を用意してくれましたが、プログラミング自体はPythonという言語で行うだけなのでPythonの実行環境があればプログラミングすることができます。

オススメとされているのは下のjupyterという環境で、詳しい使い方は次回以降実際にプログラミングする際にご説明します。

http://jupyter.org/

今回ブートキャンプ中でプログラミングしたものは、「回帰問題」と「分類問題」です。「回帰問題」とは、データ群から線を求める方法であり、株価の予測や気温の予測などに使われています。

下の記事にシンプルな例を用いて説明されています。

▼シンプルな回帰分析の例
http://qiita.com/m-hayashi/items/955856b3e2d6b3c42755

「分類問題」については、データをそれぞれカテゴリに分類するもので下の記事でわかりやすくまとめられています。

▼分類問題とは
http://gihyo.jp/dev/serial/01/machine-learning/0015

これら回帰問題、分類問題の実際のプログラミング方法についても、次回以降やっていきたいですね。。

一見とても大変そうに感じるこれらのプログラミングですが、実際は既にライブラリーやAPIが揃っておりプログラミングしやすい環境が出来ています。

どんなライブラリーやAPIがあるの?

特に有名なライブラリーとして、NumPyがあります。

https://bids.berkeley.edu/research/numpy

NumPyとは数値計算を効率的に行うための拡張モジュールで、効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリが提供されています。

Pythonが機械学習のプログラミング言語として使われる理由が、このような数値演算や機械学習に関するライブラリーが豊富に揃っているからとも言われています。

APIは機械学習の研究を進める米国大手各社が提供しています。

Amazonはプログラミングなしで機械学習によるデータマイニングが行えるAmazon Machine Learningを提供しており、Googleからは画像の内容を認識するアプリケーションの開発を可能にするGoogle Cloud Vision APIが提供されています。

▼Amazon Machine Learning
https://aws.amazon.com/jp/machine-learning/

▼Google Cloud Vision API
https://cloud.google.com/vision/

上記を含めたその他のAPIについて、下の記事にまとまっているのでご参照ください。

▼人工知能アプリケーションの開発を簡単にはじめる8つの方法
http://www.kyamaneko.com/entry/ai-eight-way-of-development-method

まとめ

ブートキャンプに参加する前は、人工知能というのはどこかの賢い人が研究を進めていくものだと漠然と思い浮かべていましたが、今回実際にプログラミングしてみたことで、人工知能をとても身近に感じました。
読者の方々もこういったセミナーを見かけた際には、理解するのが難しそうで自分でプログラミングするのは無理だろうな?という偏見は捨て去り、様々な新技術にぜひチャレンジしてみたください。
挑戦をすることで、新しい発見が必ず見つかるはずです。

本記事では、今回参加したブートキャンプの簡単な概要と、機械学習の最新事情についてまとめましたが、次回以降は実際に機械学習のプログラミングを始められるように記事を書いていく予定です。

今後もお楽しみに!

 

この記事を書いた人
遠藤孝行
一般社団法人 福島ブースター代表理事。埼玉大学経済学部卒。在学中にカナダへ語学留学、高麗大学(韓国)へ交換留学。福島の子供たちにより良い教育の機会を与えたいとう思いから福島ブースターを設立

    おすすめのコメント

CLIPしているユーザー