クラウドサービスが世に出て10年以上 (*1)。当初、多くの企業はクラウドという手の届かない場所に自社のデータを預けることや、目に見えないサービスを使用することに不安を感じていましたが、今やクラウドサービスは、企業が業務を遂行する上で必要不可欠なものとなりました。クラウドサービスを一部の事業所又は部門で利用している企業の割合は、平成29年度で56.9%(*2) となっています。この値は、前年度から10%も利用割合が増え、昨今のIT市場を取り巻くクラウドの猛勢を鑑みると、今後ますますクラウドの利用割合が増えていくことが容易に想像できます。そこで、今回はクラウドサービスで提供されているものの中から、ビジネス利用が高く期待されているAIサービスをご紹介いたします。
今回紹介させていただくのは、Googleが提供する「Google Cloud Platform」(以下 GCP)で提供しているクラウドベースのAIサービス「Cloud AutoML」の拡張となる、画像認識エンジンの「AutoML Vision」です。
「AutoML Vision」で注目すべきは、AIの作成コストが非常に低く、AI導入へのハードルが格段に下がったことです。では、具体的にどのような点でハードルが下がり、AI導入が簡単になったのかをご説明いたします。
1. コードを書く必要がない
2. 課題に適したAIの構成を意識する必要がない
3. AIのパラメタのチューニングを意識する必要がない
【ポイント1】コードを書く必要がない
AIを作成できるライブラリとして有名なものに、「TensorFlow(テンサーフロー)」や「Theano(テアノ)」があります。これらのライブラリを使用し、画像認識エンジン「AutoML Vision」を再現しようとすると、比較的行数が少ない「TensorFlow」のラッパーライブラリの「Keras」ですら40行以上が必要となります。
しかし「AutoML Vision」は、GUI上で意図するAIを作成していくため、一切のコードの記述が不要となります。
【ポイント 2】課題に適したAIの構成を意識する必要がない
現在、全ての課題に対処できるAI(ディープニューラルネットワーク 以下DNN (*3)は存在せず、課題に適したDNNの構成を考える必要があります。代表的なDNNの構成を挙げると、スタンダードに課題に対応できるFeedForwardNeuralNetwork(FNN)、音声認識や文章生成を得意としたLongShortTermMemory(LSTM)、 そして 映像認識、画像認識を得意としたConvolutionalNeuralNetwork(CNN)があります。通常は上記のように課題に適したDNNの構成は決められているものの、どういった構成がどの課題に適しているのかを前もって知識として備えておく必要があります。また、DNNの構成によってDNNを学習させるデータのインプットデータの形状も変わってくるため、どういった形状でデータをDNNに渡すのかを意識する必要がありますが、
「AutoML Vision」は、画像認識エンジンということで、予め適したネットワークが設定されており、ユーザーはDNNの構成を意識する必要がないのです。また、インプットデータを画像のドラッグ&ドロップだけで、DNNに読み込ませることができます。
【ポイント3】AIのパラメタのチューニングを意識する必要がない
同じ種類の課題(例えば、画像認識)でも、読み込ませたいラベルの種類によってパラメタのチューニングが必要であり、専門的な知識が必要とされてきました。
チューニングするべきパラメタは多数あり、モデルの複雑さとなるDNNの階層は何層にするのか、NN間の信号の伝わり方を制御する各NN間の活性化関数はどうするのか、NNの各ノードの重さを求めるためにどういった目的関数を用いるのか等を意識する必要がありました。
そしてDNNの学習は、NNの階層が多くなるほどパラメタが多くなり、一つ一つのパラメタの局所的最適値を求めていくため、最適なモデルを導くのは通常かなりの地味で時間がかかる作業です。
しかし「AutoML Vision」では、「転移学習」(*4)と呼ばれるアルゴリズムを用いるため、ユーザーが、ラベル(識別させたい物体)毎に、DNNのパラメタを1からチューニングする必要がなく、他のラベルでチューニングされたパラメタを上手く応用することができます。
つまり、ユーザーがパラメタのチューニングを特に意識せずとも高いパフォーマンスを発揮できると共に、ラベル毎に1からパラメタの最適化をする必要がなくなり、チューニングにかかる時間が大きく短縮できます。
おわりに
「AutoML Vision」を使うことで、AI導入のハードルだった機械学習分野のエンジニアの専門知識が不要となり、一般的な機械学習の流れさえ知っていれば、簡単に実現可能となったことがご理解頂けたと思います。
現在GCP以外にもIBMの「Watoson」やMicrosoft Azureの「Machine Learning Studio」、AWSの「Amazon Machine Learning」など多くの機械学習APIが提供されており、クラウドとAIの親和性がますます高くなっていくと同時にA導入へのハードルも下がっていくと考えられています。
今後、AI利用が本格化し、ビジネスにおけるAI活用が、差別化要因になっていくことが想定されます。AI活用を出来ていないビジネスは淘汰される可能性があり、利用が簡単に実現出来るようになった今こそクラウド上でのAIサービスの導入を検討すべきチャンスと考えております。
弊社では、お客様のニーズに合わせて、各種クラウドベンダより提供されるサービスの活用方法をご提案から構築・導入のみならず、その後の運用・管理も行っております。もしご興味がありましたら、是非一度お問い合わせください。
脚注:
*1 2006年8月に開催されたSearch Engine Strategies Conferenceにおいて、Google社の元CEOエリック・シュミット氏が使ったことから、「クラウド」という言葉が認知されるようになったとされており、2006年から本記事執筆時2018年を差し引いた年数を用いている
*2総務省 情報通信統計データベース 平成29年通信利用動向調査 報道発表資料よりhttp://www.soumu.go.jp/johotsusintokei/statistics/data/180525_1.pdf
*3 本記事における「AI」は、「DNN」を用いた機械学習で構成されるアプリケーションを指す。DNNとはDeep Neural Networkの頭文字をとったものである。その名前の通り、深いNeural Network構造をしており、何層ものNN が連なって出来ている。NNは、人間の神経細胞(ニューロン)とそのつながりを数式的にモデル化したものである。ニューロンは、他のニューロンとのつながりの強さによって、信号伝達度合いが変わってくる。その信号の伝達度合いをNNではWeight(重さ)で表し、活性化関数で信号を上手く変換し、各ニューロンの重さを目的関数より得られた値で最適化していくことで、性能の良いNNとなる。そうしたNNを何層にも重ねることで、複雑な問題に対応できるDNNが完成する。
*4 あるタスクで学習したモデルを他のタスクで利用する手法。少量のデータで高いパフォーマンスを実現することができる。