DIGITAL DIY

  • TOP
  • CATEGORY
    プログラミング
  • TITLE
    Microsoft Innovation Day 2018のミニセッション2に潜入!テーマはマイクロソフトの最新のAIサービス!
    「『AI』とか『機械学習』と聞くとなんだか難しそう……」そんなあなたに朗報です!このセッションでは、専門知識なしでAIを使えるツールが紹介されました!

CATEGORY
プログラミング

Microsoft Innovation Day 2018のミニセッション2に潜入!テーマはマイクロソフトの最新のAIサービス!
「『AI』とか『機械学習』と聞くとなんだか難しそう……」そんなあなたに朗報です!このセッションでは、専門知識なしでAIを使えるツールが紹介されました!

■ これからは専門家でなくてもAIを使う時代

もはや一部のIT業界やアカデミックのみならず、ビジネスマンなどの一般層にも認知されるようになってきた重要ワード、「機械学習」。エンジニアの皆さんも昨今のAIブームの影響で興味を持っている方が多いことでしょう。事実、ここ数年でこの分野での研究者や開発者は爆発的に増加し、その技術はますます進化を遂げています。しかし、いくら技術が発達しても、専門知識をもたない一般人が果たしてそれを使いこなせるのか疑問だという人もいると思います。

今回のイベントでは、そんな機械学習分野におけるマイクロソフトの最新テクノロジーが、実は普通の人でも簡単に使える形で既に提供されているということを知ることができました。

こうしたサービスは何もマイクロソフトに限ったことではなく、昨年あたりからビジネスでAIを使うためのサービスを提供する企業が増えてきました。一般人が仕事でAIを使う時代がもう来ているのです。

■ そもそも機械学習って何?AIや深層学習との違いは?

「AI」「機械学習」「深層学習」……まずはこれらがそれぞれどういうものなのか、基本的な知識をおさらいしておきましょう。
登壇したソフトウェアエンジニアの原 綾香氏

AI(Artificial Intelligence)とはいわゆる人工知能のことで、人間の脳における知的作業を模倣したコンピュータープログラムを指します。このAIを構築するにあたり使用される分析手法が大きく分けて3つあり、それぞれ「機械学習」、「深層学習」、「深層強化学習」と呼ばれています。

  1. 機械学習(Machine Learning)
    統計理論に基づいた手法。必要とするデータ量と計算量は比較的少ない。
  2. 深層学習(Deep Learning)
    ニューラルネットワークと呼ばれる、人間の脳の仕組みを模倣したシステムを用いる手法。莫大なデータ量と計算量を必要とする。
  3. 深層強化学習(Deep Reinforcement Learning)
    自ら学習を行う強化学習と深層学習を組み合わせた手法。

使う側にとって気になるのは、シーンに応じてこれらをどう使い分ければよいのかということですよね。原氏によれば、これは必要とする「データの種類や量」と「計算量」に応じて決めるべきであるといいます。例えば機械学習は、比較的少ないデータ量のもの(数値データやテキストデータ)を得意とする一方で、深層学習はデータ量や計算量が大きいもの(音声データや画像データ)の分析が向いています。また前者に比べて後者は求められるコンピューターの性能が高めで、導入の敷居も高くなっています。

導入の敷居が低いという意味でも、機械学習ツールの普及のほうが先に進むでしょう

■ Azure Machine Learning の威力 〜面倒な作業はAIに〜

これらそれぞれの分析手法に対して、マイクロソフトは「Azure Machine Learning」、「Azure Cognitive Services」、「Cognitive Toolkit」といった次世代のAI サービスを用意しています。今回のイベントでは、これらのうち機械学習の手法を用いたAzure Machine Learningに焦点が当てられました。

今回フォーカスされたのは機械学習テクノロジーのAzure Machine Learning

この活用事例として挙がったのがBird Detectionと呼ばれるプロジェクト。Conservation Metricsという生態調査ツールなどの開発を行っているスタートアップとマイクロソフトが共同で行ったもので、アラスカの孤島に生息する絶滅危惧種の野鳥の生体数の定点観測にAzure Machine Learningが用いられました。

動き回る何百(何千?)もの鳥の数の計測を人手で行うのは殆ど不可能……

肉眼での把握が難しい生体数カウントを、機械学習の技術で物体認識を行い野鳥を識別することで可能にしました。

また、原氏は「機械学習における作業時間の80%はデータの前処理と言われている」と指摘したうえで、その効率化を図る手段としてAzure Machine Learning Workbenchと呼ばれるツールを紹介。実験管理とデータラングリング(データの前処理)の両方をこのツール1つで一括で行えるとのこと。また、コードを書かずにドラッグ・アンド・ドロップなど直感的な操作で使用ができるので、利用にあたってのハードルも低め。ITに強くないビジネスマンにとっても馴染みやすいツールといえるでしょう。

Azure Machine Learning Workbenchの紹介

一方でエンジニア視点でもかなり使い勝手のいいツールとなっています。WindowsとmacOSの両方で提供されるだけでなく、使用できるプログラミング言語も幅広くカバーしており、マイクロソフトの公式言語であるC#はもちろんのこと、RやPython、Scalaなどの機械学習分野でのメジャー言語もサポートされています。プログラミングを始めたてで1つの言語しか使えないという人にとっても、トライしやすい環境になっています。

後半では実際にWorkbenchを使ったデモが行われ、与えられたデータに対して、不要なデータだけを抽出したり、項目ごとに新しい列を作ったりすることができる機能が示されました。一見Excelと大して変わらないように思えますが、Azure Machine Learningの威力はその手間隙を圧縮できるところにあります。従来はデータの分類にあたりユーザー側が予めすべてのデータの形式を揃える必要がありましたが、Workbenchでは1つの形式サンプルを与えただけで「賢い」AIがユーザーの望む分類ルールを推測します。たとえもしそれが考えていたものと違ったとしても、サジェスチョンが出るのでそこで新しいサンプルをもう1つ与えてやればAIが「学習」し、自動で修正をしてくれます。ユーザーは、やりたい実験や分析そのものに集中することができるのです。


日付や時間が混じったデータ群から、日付だけを簡単に取り出せます

その他にも、データを柔軟にグラフ化できる機能や、Pythonなど自分のお気に入りのプログラミング言語を用いてより細かい分類を指定できる機能などが紹介されました。これらの機能は公式サイトに丁寧なチュートリアルがあるので、興味のある人は覗いてみるとよいでしょう。

■ まとめ 〜どんどんイベントに参加してみよう〜

AIやその技術についてなんとなく知っていても、実際にそれがどのように社会で役立つのかわからなければなかなか使ってみる気持ちにはなれないもの。またエンジニアの皆さんも、自分の作ったアプリやWebサイトでAIを使ってみたい!と思っても、敷居が高く感じられてなかなか重い腰が上がらないのではないでしょうか。
今回のイベントはエンジニアだけでなくビジネスマン向けでもあったということで、非常にわかりやすく最新のAI技術とその活用法が解説され、講演の後には「なんだか自分でも使えるのじゃないか」という気持ちになりました(笑)。最新技術を使ってみたいけどよくわからない!というエンジニアの方はぜひ一度足を運んでみてはいかがでしょうか。

NEXT

BACK TO LIST