こんにちは、ソリューション開発本部の早川です。機械学習エンジニアとして働いています。
4/9~4/11で行われた「Google Cloud Next '19 San Francisco(以下、Cloud Next)」の参加レポート、今回は連載第2回です。今回のテーマは「機械学習系プロダクトの新機能」。
GCPでは画像処理や自然言語処理も含めた多くの機械学習系プロダクトが提供されていますが、Google Cloud Next '19では、多くの新機能が発表されました。
それらの一部について、私なりの解釈や感想も交えながらお伝えします。
新機能1:BigQuery ML
そもそもBigQueryは、ペタバイトレベルの大規模データを高速かつ安価に処理できる、サーバーレスのデータウェアハウスです。BigQuery MLは、それらのデータに対してSQLを送るだけで機械学習を実行できるもので、去年のCloud Nextでベータ版が発表されました。
今年のCloud Nextでは、BigQuery MLの正式版の近日リリースが発表された他、以下の機能追加が発表されました。
・k-means法によるクラスタリング機能(ベータ版)
・Matrix Factorization(アルファ版)
・Deep Neural Networksによる回帰・分類(アルファ版)
・TensorFlowモデルの呼び出し(アルファ版)
個人的に衝撃を受けたのは、上記の4つ目です。当日のセッションでは、TensorFlowモデルを呼び出し、類似画像を検索するデモが行われました。
セッションでは、任意の画像に類似した画像を、約100万件の中からわずか20秒の間で抽出することができました。
技術的にはおそらく、おおまかに以下のような仕組みなのだと思います。
・BigQueryには、画像をテキスト化(base64)したデータを格納する
・画像をベクトル化するTensorFlowモデル(例えば、VGG16の最終層を取り除いたもの)を呼び出す
・SQLを送信して、すべての画像データをベクトル化する
・ベクトル化した画像それぞれについて、任意の画像との類似度を算出し、類似度が高いものを取り出す
100万件の画像ベクトルそれぞれに対して、類似度を算出するというのは一般にはなかなかタフな計算ですが、BigQueryの処理能力を生かすことで短時間で実現できています。
これまでベータ版として利用可能が可能だったBigQuery MLでは、線形回帰・ロジスティック回帰という比較的プリミティブなアルゴリズムのみが利用可能で、機械学習プロダクトとして本格的に利用するにはやや物足りなさを感じていました。
それもあって、BigQuery MLのメリットは、「専門的な知識がなくても機械学習を利用できる」という側面が大きいという印象でした。
しかし、こうした機能がどんどん盛り込まれていって、機械学習を専門とする立場の人にとってもメリットが大きいものへと変化していくように思われます。何といっても速くて安いですからね。
また、BigQueryのデータの可視化には、DataStudioというBIツールを利用できますが、BigQueryとの接続をより高速にするBigQuery BIのローンチも発表され、BigQueryの利点がますます拡大したのを感じました。
新機能2:AutoML Natural Languageによるカスタムエンティティ抽出
AutoMLは、専門的な知識がなくても、コーディングなしで械学習モデルを作成できるプロダクトです。
ディープラーニングの世界では、ある1つのタスクを解くときに、大量のデータを学習して作成した既存のモデルを一部に利用することがあり、これを転移学習といいます。
例えば画像処理では、1500万枚ほどの画像を学習したモデルがしばしば使われますが、このモデルは画像処理のエッセンスが詰まっており、別の小さいデータセットの画像分類をする際にも利用可能です。
Googleは最先端で非常に強力なモデルをもっており、私たちはAutoMLを通じてそれを利用することができます。
AutoMLではこれまでに、画像分類、テキスト分類、翻訳という機能を提供していましたが、今回新機能がいくつか追加されました。ここでは、その中からテキストのエンティティ抽出を取り上げます。
エンティティ抽出とは、テキストから特定のエンティティ(人名、地名、商品etc)の単語を抽出するという技術で、これは以前よりAPIの形態で提供されていました。
新機能では、こうしたエンティティをカスタマイズすることができます。
これにより、例えばより細かいエンティティに分割したい場合(「人名」を「差出人」「受取人」に分けるなど)や、業界特有の単語の使い方を考慮したい場合にも対応できるようになります。
自然言語処理では、単語の意味が文脈や文章のドメインによって異なることがしばしばあり、障壁となってきました。
例えば、「テーブルをなめる」という表現は、ITエンジニアと一般の人で受け取る意味が違うでしょう。これは極端な例ですが、こうしたドメイン特有の単語の意味を機械に認識させるためには、機械学習のなかでも比較的高度な技術が必要でした。
それが、AutoMLを利用することで、簡単に実現することができるようになったわけです。ただし、今回は英語のみのベータ版提供ですので、日本語での利用は今後に期待しましょう。
セッションでは、AutoMLのエンティティ抽出を利用することで、請求書などのドキュメントのファイルを入力すると、人が記入すべき部分を自動で判断し、ハイライトしてくれる製品が紹介されていました。
この製品は、別の新機能として発表されたAutoML Vision Object Detection(物体検出)も利用しており、これらを組み合わせることで実現が可能となったようです。
所感
Cloud Nextの現地では、上記以外にも多くのセッションに参加し、デモを体験しました。全体的な感想として、大きく2点を挙げます。
●AIの参入障壁の緩和
BigQuery MLやAutoMLなど、専門的な知識がなくても高度な機械学習を利用できるプロダクトが次々に発表されており、AIは「難解でとっつきにくいもの」から「容易に作成・試行できるもの」に変化しつつあることを感じさせられました。
このような状況から、ゆくゆくは少なくともビジネスにおいて、機械学習のコーディングそのものの役割は矮小化していくかもしれません。そのときには、「どのような目標を設定するか」というビジネス的観点や、「どのようなアーキテクチャをとるか」というエンジニアリング的観点が一層求められるようになっていくのかなと感じました。
●スピード感の速さ
Cloud Nextでは、どのような課題に対してAIを適用したか、といったユースケースのセッションも数多くありました。
弊社は「データ活用の促進を通じて持続可能な未来をつくる」ことをミッションに掲げており、私も興味深くユースケースのセッションを聞いていました。
セッションからは、日本よりユースケースが多様であること、そしてスピード感の速さを明らかに感じ取れました。
驚いたことの一つが、大学や病院といった公的なセクターさえもITエンジニアを抱えているという点です。(もちろん、これには労働が流動的であるといった文化や背景の違いもあるでしょう)
これによってIT部門との連携が密になり、設定した目標を実現するまでのスピードを速められるのではないでしょうか。
またAIを導入する上での目標という点では、とかく取り上げられがちな「経費削減」や「業務効率化」の他にも、「顧客満足度の向上」「利用者の環境改善」といった視点が、多くに取り入れられているのが印象的でした。
最後に
実のところ私は、今年の1月に入社したばかりで、幸運に恵まれて4月のCloud Nextに参加することができましたが、非常に勉強になり、さらにmotivateされた機会となりました。
これからぜひ、ビジネス的な観点も持ちながら、かつエンジニアリング的・データサイエンス的なキャッチアップもしながら、業務に取り組んでいきたいと思います。
Google Cloud Next '19は2019/7/31~8/1に東京でも開催されますので、興味を持たれた方はぜひ参加してみてはいかがでしょうか。
ブレインパッドでは、エンジニアを募集しています!実際のビジネスで自分の知識・技術を活用してみたいという方、ぜひエントリーください!
www.brainpad.co.jp