人工知能(AI)・機械学習のサービス・コンサルティングならブレインパッド

TOP > 人工知能(AI)ブログ > 機械学習 > 機械学習 > 入社1年目が教わる「はじめての人工知能」 第7回:人工知能(AI)のプロジェクトを推進するための基礎知識

入社1年目が教わる「はじめての人工知能」
第7回:人工知能(AI)のプロジェクトを推進するための基礎知識

2018年9月7日

Twitter

Facebook

 

Photo by Juhasz Imre from Pexels

現在、人工知能(AI)は人びとの生活や産業に革新をもたらす技術として世界中で注目されています。本ブログではこれからビジネスにAIを活用する方に向けて、ブレインパッドの入社1年目が先輩社員から学んだAIの“基礎”を連載形式でお届けします。第7回目は「人工知能(AI)のプロジェクトを推進するための基礎知識」をわかりやすく解説します。

プロジェクト推進に欠かせない基礎知識の理解

AI関連のサービスが多くて何を使えば良いのかわからない

今日、ビジネスシーンにおいてAIやデータの活用への関心が高まっています。連載第3回「トップ企業にみる人工知能(AI)活用の取り組み」では、GAFAMをはじめとする世界トップ企業が既にAIを活用して大きな成果をあげている様子をみてきました。

また現在は、国内外の多くの企業が「AI」や「人工知能」と銘打ったサービスを提供しています。

2017年9月にAI専門メディア「AINOW」が公開した、法人向けに人工知能関連ビジネスを展開する企業をまとめたカオスマップでは、13カテゴリ全194社もの企業が掲載されています。

人工知能業界マップ 2017年夏最新版(AINOW)

これほど多くのサービス事業者が存在している中で、実際にAI・機械学習を活用したプロジェクトを推進していくためには、どのようにパートナーや提供サービスを選定したらよいのでしょうか。

そこで今回は、実際にAI・機械学習プロジェクトを推進するための基礎知識について、AIの市場構造にふれながら解説していきます。

必要な知識を学び、用語に慣れ親しむことで、AIや機械学習でできることを見極めたり、コストやハードルを正しく見積もり、プロジェクトを推し進めることができます。

円滑なコミュニケーションのためにも基礎知識は重要

必要な知識を習得することは、ベンダーやデータサイエンティスト、エンジニアとのコミュニケーションを円滑にする効果があります。

用語の意味を十分理解せず曖昧な表現を用いて仕事を進めていくことは、誤解や失敗の素になります。

また、ベンダーから出された計画や見積もり、結果報告を正しく評価する能力がないと、「高いお金を払ったものの、プロジェクトが終わってみたら、当初想定していた成果物とは全く違うものができてしまった」という事態にもなりかねません。

AIや機械学習、IT関連の知識は専門的なものが多いだけでなく、業界・企業・利用シーンに応じて独自の用法や用語の定義がある場合も少なくありません。

一つ一つの用語の定義や関連企業を覚えるだけでなく、実際のプロジェクトにおける利用シーンを想定し、意味や関係性を理解しながら学んでいきましょう。

大量データを処理する機械学習に重要な2つのハードウェア

機械学習を実装する上で必要となる物的リソースは、システムを構成するハードウェアとソフトウェアに大きく分けられます。

ハードウェアとは、コンピュータの機器本体や周辺機器などの物理的な構成要素、簡単に言うと、手にとって触れられる機械の総称です。

機械学習では、大量の学習データを用いて、複雑な計算処理を行います。そのため、ハードウェアのリソースは、データを保管するための「ストレージ」と学習や推論を行うための「計算資源」が特に重要になります。

ストレージは、オンプレミス(自社内にストレージを置く)ではなく、データ量に応じて費用を払い実質的に無限に拡張可能なクラウドサービスの利用を選択するケースが多く見られます。

計算資源には、与えられた処理を1つ1つこなすCPU(Central Processing Unit)や並列的な計算処理を行うGPU(Graphics Processing Unit)などがあります。特にディープラーニングにおいては、複雑な処理を高速で行う必要があるため、処理性能の高いGPUが必要となります。

下の動画を見れば、CPUとGPUの違いをイメージとして掴めると思います。

Mythbusters Demo GPU versus CPU / YouTube

機械学習を支えるインフラ技術の開発には、AmazonやGoogle、Microsoftなどの世界トップ企業が力を入れており、今日の機械学習の発展を後押ししています。

たとえば、Googleが開発したディープラーニングに特化した演算処理装置(TPU:Tensor Processing Unit)は、従来のGPUの15~30倍もの処理速度を誇るとされています。

Googleが開発したCloud TPU(Google Cloud 公式HP Cloud TPU紹介ページより)

 

また、GPUの開発・販売で世界最先端を誇る企業の1つに米国の半導体メーカーNVIDIAがあります。ちなみにブレインパッドは、NVIDIAによる「NVIDIA Inception プログラム」のパートナー企業にも認定されています。

機械学習における計算資源の利用は、繁閑差の波が激しいことが特徴です。大量のデータを学習したり、複雑な計算をする際には多くの計算資源が必要になりますが、他方、機械学習モデルを用いて未知のデータを推論する際には、それほど多くの計算資源は必要ありません。

このような特徴を持つ機械学習では、ストレージ同様、必要な時だけ必要な分の計算資源を利用できるクラウドサービスとの相性が良いです。

ビジネス向けクラウドサービスとしては、Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azureのシェアが大きくなっています。各サービス毎に価格設定やサービスの命名法、得意とする領域などが異なるため、実現したいテーマや既存のハードウェアを踏まえて、適当なサービスを選択する必要があります。

機械学習を支えるソフトウェア

ソフトウェアとはなにか

ソフトウェアとは、何らかの処理を実行するための手順や命令及びコンテンツの集合のことを指し、OS(Operating System)とアプリケーションに大別できます。また、処理を行うためのそれぞれの手順や命令をプログラム、プログラムを記述するために用いる言語をプログラミング言語と呼びます。

OSとは、ハードウェアとアプリケーションをつなぐ役割を持ち、ハードウェアの抽象化(仕様が異なるハードウェアを統一の方法で利用できるようにすること)やアプリケーションの管理などを行います。代表的なものに、Windows、macOS、iOS、Android、Linuxなどがあります。

アプリケーションとは、OS上にインストールし、特定用途に応じてユーザーが使うことのできるソフトウェアのことです。例を挙げればきりがありませんが、身近なもので言えば、Chrome(ブラウザ)、Excel(表計算)、Twitter(SNS)、LINE(コミュニケーション)などが挙げられます。

アプリケーションは、Webブラウザ上で動くWebアプリ、あるプラットフォームにインストールして直接動作するネイティブアプリに分けられます。さらにネイティブアプリは、OSによってiOSアプリ、Androidアプリなどに細分化されます。

ハードウェア、OS、アプリケーション、ユーザーの関係

そして、作成するアプリケーションの種類に応じて、プログラミング言語を使い分けます。機械学習アルゴリズムを用いてモデルを構築する際には、主にPythonやRが用いられています。

機械学習に適したプログラミング言語「Python」

Pythonが機械学習で利用されている理由は、機械学習に必要な機能が揃っているためです。ニシキヘビのロゴが特徴的なPythonは、元々機械学習に特化して作られた言語ではなく、「誰がプログラミングをしても同じように書くことができ、読みやすいこと」を重視してデザインされました。

Pythonのロゴ(Python HPより)

そうした生産性や可読性の高さが機械学習の分野でも支持され、独自のエコシステムが生まれたことで、多くの機械学習向けのライブラリやフレームワークが整備され、広く活用されるようになったのです。ライブラリとは、再利用可能なプログラムを目的に沿ってまとめたものです。

米国の産業調査会社RedMonkの調査によると、最新のプログラミング言語ランキングでは、javaScript、Javaに続き、3位にpythonが入っています。このランキングは、オープンソースのソフトウェア開発のプラットフォームGitHubの利用実態と、プログラミングのQ&AサイトStackOverflowにおける会話の動向データをもとに作成されています。

プログラミング言語の人気ランキング(The RedMonk Programming Language Rankings: January 2018)

プログラミング言語の人気を正確に測ることは難しく、あくまでこのランキングは1つの目安に過ぎませんが、このデータからも近年の機械学習への注目度の高さや、機械学習分野でのPythonプレゼンスが高まっていることがうかがえます。

処理の一部を代替するソフトウェア製品

ソフトウェア開発を行う企業では、ユーザーにパッケージ等の形で製品をライセンス販売しています。これにより、プログラミング言語を記述しなくとも、処理の一部を実行することが出来ます。

機械学習やデータ分析の領域においても、統計解析やデータの収集・分析・可視化などを目的としたソフトウェアが提供されています。

統計解析ソフトウェアの多くは、機械学習の各種アルゴリズムをサポートしており、GUI操作やスクリプトの入力で比較的簡単に機械学習を活用することが出来ます。また、データ可視化のソフトウェアはBI(Business Intelligence)ツールと呼ばれ、膨大なデータを分析し、グラフィカルに可視化することでビジネス上の迅速な意思決定を助ける目的で活用されるなどしています。

データサイエンティストは先述したPythonなどのプログラミング言語を使い、一からプログラムを記述するだけでなく、必要に応じて統計解析ソフトなどを駆使して分析を行います。

以下の図は、機械学習やデータ分析に使える代表的なソフトウェアです。

機械学習やデータ分析に使えるソフトウェア製品の例(韮原祐介「いちばんやさしい機械学習プロジェクトの教本」をもとに筆者作成)

ブレインパッドでも、データマイニング(企業や社会に大量に蓄積されるデータを解析し、その中に潜む重要なパターンや法則性を抽出すること)を自動化し、圧倒的な効率化を可能にした機械学習・予測分析システム「SAP® Predictive Analytics」や、ソーシャルデータを分析することで、ソーシャル上に広がる膨大な情報を精査、分析し、ビジネス・マーケティング活動に活かすことができる「Crimson Hexagon ForSight™ Platform 」、BIツールの「Tableau」など、機械学習・データ分析における多様な製品を提供しています。

ブレインパッドが提供する製品の一覧については、こちらをご覧ください。

データ活用のプロフェッショナルがベンダーフリーの立場から開発・選定した製品群

プロジェクトを推進していく人材

機械学習プロジェクトに必要な知識とスキル

ここまで機械学習プロジェクトに必要な物的リソースについてみてきました。実際に、AIや機械学習を用いてビジネス課題を解決するためには、こうした物的リソース活用しながら、プロジェクトを動かしていく人材が必要になります。

ここからは、プロジェクトに必要な人材について簡単に解説していきます。

機械学習プロジェクトにおいて、取り組むテーマを選定し、機械学習モデルを構築、モデルを組み込んだシステムを運用するためには、大きく3つの領域について、知識・スキルが必要になります。

1つ目は「ビジネス領域」です。この領域に精通した人は、解決すべき課題はなにか、本当に機械学習を用いて解くべき課題なのかということの見極めから、テーマの設定、プロジェクト全体の管理などを行います。

2つ目は「データサイエンス領域」です。この領域に精通した人は、数学や統計学を駆使して、ビジネス課題を解決するための機械学習モデルを構築することに責任を持ちます。

そして3つ目は「エンジニアリング領域」です。システムインフラやデータインターフェイス、アプリケーションの構築などシステム開発の役割を担います。

機械学習プロジェクトにおいて知識・スキルが必要となる3つの領域

プロジェクトの成功には、これら3つの領域での知識とスキルが必要となりますが、全てを一人でカバーしている人材はほぼいないと言えます。そのため、各領域のプロフェッショナルがコラボレーションして、プロジェクトを推進することが重要です。

人材不足を補う外部パートナー

機械学習プロジェクトを実施する際、ビジネス・データサイエンス・エンジニアリングそれぞれのプロフェッショナルが社内に存在するケースはきわめて稀です。時間をかけて社内で育成したり、新たに採用することも考えられますが、すぐに成果を求める場合、外部パートナーに支援を依頼することが有力な選択肢となります。

先述したような知識とスキルを持つ人材をクライアント企業に提供しているのは、データ分析企業や一部の経営コンサルティング会社、システム開発会社です。ブレインパッドも分析サービスを提供する企業の1つですが、モデルの構築だけでなく、データの利活用に関する様々な相談も寄せられています。

企業が分析サービス会社に支援を依頼する背景の例(韮原祐介「いちばんやさしい機械学習プロジェクトの教本」)

適切なリソースを活用するためにはビジネス課題の同定が重要

このように機械学習プロジェクトを実行する上では、物的リソースやそれを活用する人材など、様々な要素が必要になります。さらに昨今のAIの興隆とともに、日に日にその選択肢も多様になってきています。

実際にどのようなリソースが必要になるかは、ビジネス要件によって異なります。今回学んだ基礎知識を活かし最適なリソースを活用するためにも、まずはしっかりと課題を把握し、目指したい姿を明確にすることが重要です。

当サイト(+AI)では、そうしたテーマの選定フェーズから、サービス/システムの本格実装プランまで、お客様の課題や検討段階に応じて、テーラーメード型の支援を行っています。詳しくはこちらをご覧ください。

4つのベースプランを基にした、テーラーメード型の支援

***

連載第7回目となる今回は、AI・機械学習プロジェクトを推進するための基礎知識についてみてきました。次回は、AI・機械学習プロジェクトの進め方について学んでいきます。

今回の要点

・AI・機械学習プロジェクトを推進していく上で、最適なパートナーや提供サービスを選定するためには、関連する基礎知識の理解が重要
・プロジェクトに関わるプロフェッショナルたちと円滑なコミュニケーションを行うためにも、実際のプロジェクトにおける利用シーンを想定し、意味や関係性を理解することが重要
・機械学習を実装する上で必要となる物的リソースは、システムを構成するハードウェアとソフトウェアに大別でき、それらはさらに細分化される
・物的リソースを活用しながらプロジェクトを動かす人材は、多くの場合、社内には存在していないため、データ分析企業など外部パートナーに支援を依頼することで早い成果が見込まれる
・パートナーや提供サービスの選択肢が多様化するなかで、最適なリソースを活用するためには、課題の把握や目的の明確化が鍵になる

参考文献

・AINOW「【日本初】13カテゴリ・全190社!「to B向け人工知能業界マップ2017 」~拡大し続ける人工知能業界に期待~
・韮原祐介(2018)「いちばんやさしい機械学習プロジェクトの教本」株式会社インプレス
・本橋洋介(2018)「人工知能システムのプロジェクトがわかる本」翔泳社

本記事に記載されている会社名・商品名は、それぞれ各社の商標または登録商標です。

AI活用の豊富な導入事例をご紹介しています!

「+AI」のウェブサイトでは、AIを活用したサービス内容について、具体的な導入事例を交えてご紹介しています。

Discovery! +AI

Twitter

Facebook

このエントリーをはてなブックマークに追加