Google Cloudが2018年1月下旬に発表した「Cloud AutoML Vision」は、機械学習の専門知識がなくとも画像認識を使ったカスタムの機械学習ができるサービスだ。どのように使えるものなのかを、具体的に紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Google Cloudが2018年1月下旬に発表した「Cloud AutoML Vision」。クラウドサービスのGoogle Cloud Platform(以下、GCP)上で、機械学習の専門知識がなくとも画像認識を使ったカスタムの機械学習ができるサービスだ。現在はGoogleに選ばれた限定少数のユーザーのみが利用できるアルファ段階であり、サービスの詳細は今後変わり得る。料金体系も、明確には決まっていないようだ。
それでも、どのように使えるサービスか、イメージがはっきりしてきた。以下では、2018年1月26日にグーグルジャパンが実施した説明会で得た情報を合わせて、このサービスを具体的に説明する。
参照記事:AIの民主化で前進、データのアップロードのみでカスタム機械学習モデルが自動的に構築される「Cloud AutoML」をGoogle Cloudが発表
Cloud AutoML Visionは、画像に映っている物体が何であるかを自動的に識別するサービスの一種。ポイントは、何を識別してほしいかを、このサービスに教え込むことができる点にある。
現在、GCPには、「Cloud Vision」という画像認識のサービスがある。これは、識別したい画像をアップロードするだけで使えるものだが、画像に映っているものが何かについては、Googleが設定した、いわば「お仕着せ」のキーワードでしか情報を示すことしかできない。
Googleが使っている例でいえば、Cloud Visionでは画像に「自動車」が映っていることは示せる。しかし、メーカーやモデル名などを示すことはできない。これでは、自動車雑誌の編集部における画像管理には使えない。
Cloud AutoML Visionでは、ユーザーが自動車の画像を登録し、それぞれの画像に「これは『日産スカイラインC100型(ケンメリ)』」「これは『日産スカイラインC10型(ハコスカ)』」といったラベル情報をつければ、後はサービスを自動的に訓練し、物体のイメージとラベル情報の関係を覚え込ませることができる。
訓練終了後は、追加的な作業なしに、訓練結果をすぐに利用できることも、Cloud AutoML Visionの特徴だ。
上記の車種識別の例でいえば、新しい画像をCloud AutoML Visionに示すと、同サービスの判定した車種名が返ってくる。訓練結果を活用した識別は、グラフィカルな画面を通じ、識別させたい画像をアップロードするだけでできる。一方、アプリケーションにこの識別機能を組み込みたい場合は、APIを使うことになる。
なお、Cloud AutoML Visionの利用のためにユーザーがアップロードした画像を、Googleが他の目的で使うことはない。GCPの他のサービスと同様、ユーザーデータはユーザーのみが管理する。
Cloud AutoML Visionを使う際に、ユーザーがやらなければならないのは、上記の訓練用画像データをアップロードすることと、各画像にラベル情報をつけることだけだ。
画像のアップロードは、一般的なファイル転送と同様、Webブラウザ上で、ユーザーPCにおける訓練画像の場所を指定することで実行できる。また、GCPのストレージサービスであるGoogle Cloud Storageに画像を置き、そのファイル名をファイルパスと共にリストしたCSVファイルをアップロードするという方法も用意されている。
なお、訓練データとなる画像の量や質が、機械学習の結果を使った識別の精度に大きな影響を与え得ることを知っている人は、「訓練用の画像を何枚用意すればいいのか」と疑問に思うだろう。
サービスとしては、ラベル当たり画像20枚あれば動くようになっているという。また、サービスの画面では、「できればラベル当たり100枚、可能であればラベル当たり1000枚が望ましい」といった記述も見られる。
だが、精度は、訓練画像および識別対象画像の品質にも左右されるし、識別の困難さはケースバイケースなので、一概に「何枚なら十分」と示すことはできない。このため、Cloud AutoML Visionでは、個々の訓練について、どれくらいの画像が必要かといったアドバイスはできない。
逆に、Google Cloudのマシンラーニングスペシャリストである大薮勇輝氏によると、「現実には顧客に十分なデータがないことが多い」。このコメントを補足すれば、訓練データが少なくとも、利用目的には十分だということがあり得る。
結局ユーザーは、後述する訓練結果(として作成されたモデル)の精度を確かめ、より高い精度が欲しい場合は、訓練用画像を追加するなどの対応を行うことになる。
訓練用画像のアップロードが終わったら、他にユーザーがしなければならないのは、ラベル付けの作業だ。単一画像に複数のラベルを付けることもできる。
ユーザーは、アップロードした画像のサムネイルを見ながら、これにラベルを付けていく。また、興味深いことに、GCP側が、人手でラベル付けを実行するサービスも提供するという。この「手動ラベル付けサービス」の詳細は公表されていない。
ラベル付け作業が終了したら、後はこれを確認し、「START TRAINING(訓練開始)」ボタンを押すと、自動的に機械学習が行われる。
Copyright © ITmedia, Inc. All Rights Reserved.