GoogleはAIがAIを生成する技術の開発を急いでいる。この技法は「AutoML」と呼ばれ、AIがニューラルネットワークを自動で生成する。アルゴリズムが別のアルゴリズムを生成する技法で、AI基礎研究で重要なテーマと位置づけている。GoogleはAutoMLを使って高度な機械学習アルゴリズムを生成し、社内サービスで利用してきた。今般、Googleはこの技法をクラウドサービス「Cloud AutoML」として一般に公開した (下の写真)。

出典: Google |
Cloud AutoMLとは
Cloud AutoMLは機械学習クラウドサービスで、利用者の研究や業務に最適化したニューラルネットワークを生成する。現在は、既存のニューラルネットワークを使ってAIシステムを構築している。これらは”汎用AI”で幅広い機能を持つが、高度な判定能力が要求される特定業務では使えない。このため”専用AI”を開発する必要があるが、これに応えることができるAI研究者の数は限られている。Cloud AutoMLはAI研究者に代わり”専用AI”を瞬時に開発する。
Googleの汎用AIクラウド
AmazonやMicrosoftやGoogleは汎用AIをクラウドで提供している。Googleはこれを「Cloud ML Engine」として提供している。多くの機能が揃っているが、画像認識処理を実行するには「Cloud Vision API」を利用する。これは教育済みの機械学習エンジンで、イメージを入力するとアルゴリズムがオブジェクトの名前を判定する。又は、エンジニアが公開されているニューラルネットワーク (Google Inceptionなど) を使って、機械学習アルゴリズムを開発することもできる。
Cloud Vision APIを使うと
Cloud Vision APIを使うと簡単に写真の分類ができる。イメージを入力するとシステムはその属性を出力する。例えば、空に浮かんだ雲の写真を入力すると、システムは解析結果として「Sky」や「Cloud」と回答する (下の写真)。その他に、写真に写っている顔を把握し、その表情を分類する機能もある。

出典: VentureClef |
気象専門家は使えない
しかし、気象専門家がイメージを科学的に解析するには、Cloud Vision APIの判定機能は十分ではない。上述のケースでは、Cloud Vision APIはイメージを「Sky」や「Cloud」と判定するが、雲の種類を特定することができない。雲の種類である「Cumulus humilis (巻積雲)」と判別する機能はない。
雲の種類を判定できる機械学習アルゴリズム
このため雲の種類を判別できる機械学習アルゴリズムを開発することが求められる。この需要に応えてCloud AutoMLが登場した。Cloud AutoMLが雲の種類を判定できる機械学習アルゴリズムを自動で生成する。Cloud AutoMLは、雲の種類の他に、ファッション区分や動物種別の判定など、特殊な判定が求められる機械学習アルゴリズムを自動で生成する機能を持つ。
Cloud AutoML利用プロセス
Cloud AutoMLでアルゴリズムを生成するためには写真データセットを準備する必要がある。これはタグ付き (又はタグ無し) の写真アルバムで、上述のケースでは雲の写真とその種別を紐づけたセットを準備する。この写真データセットをクラウドにアップロードすると、Cloud AutoMLが雲の種類を判別できる機械学習アルゴリズムを自動で生成する。
データ入力と教育
具体的にはCloud AutoMLのインターフェイスに沿ってこれらの操作を実行する。まず、「Label」のページでタグ付きの写真データセットをアップロードする。ここでは種別ごとの雲の写真をアップロードする。(下の写真、「Cumulonimbus (積乱雲)」というタグがついている雲の写真をアップロード)。 AutoMLは自動で機械学習アルゴリズムを生成し、「Train」というページで、アップロードされた写真を使ってアルゴリズムを教育し最適化する。

出典: Google |
アルゴリズム評価と運用
次に、「Evaluate」というページで、教育された機械学習アルゴリズムの認識精度を評価する。アルゴリズムの認識率や誤認率を確認する。最後に、「Predict」というページで、完成したアルゴリズムに写真を入力し、雲の種類を判定する処理を実施する。下のケースはその事例で、完成したアルゴリズムは入力された写真を解析し、「Cirrus (巻雲)」と正しく判定している。汎用AIは「Cloud」としか判定できないが、完成した専用AIは雲の種類まで判定できる。

出典: Google |
イメージ認識機能
機械学習アルゴリズムは幅広いが、Cloud AutoMLはその中でイメージ認識 (Image Recognition) 機能を提供している。Googleによると、生成したアルゴリズムの認識率は汎用的なニューラルネットワークより精度が高く、誤認識率が低いとしている。また、ニューラルネットワーク開発期間を大幅に短縮できるのも強みである。パイロットモデルであれば数分で、プロダクションモデルであれば1日で開発できる。
応用事例:ファッションを分類する
Cloud AutoMLを業務に応用した事例が公開されている。ファッションブランドUrban Outfittersは商品にタグ付けするプロセスをCloud AutoMLで自動化した。Urban Outfitters は、商品に付加されたタグをキーに、消費者に関連商品を推奨する。また、商品検索や商品フィルタリングでもタグが使われる。Cloud AutoMLは商品イメージを解析し商品の特徴量を抽出する。例えば、洋服を分類する際に胸元に着目すると、Cloud AutoMLは商品を「V-Neck」、「Scoop」、「Crew」などと判定する。アルゴリズムはデザインパターンやネックラインなどをキーにタグを生成する。(下の写真、ウェブサイトを「V-Neck」で検索した結果。)

出典: Urban Outfitters |
応用事例:動物の種別を特定
Zoological Society of Londonは国際的な環境保護団体で動物の生態を守る活動を展開している。Zoological Society of Londonは動物の生態を理解するために、生息地にカメラを設置し動物の行動を観察している。写真に写っているイメージから動物の種類をマニュアルで判定してきたが、このプロセスをAutoMLで自動化した。汎用アルゴリズムでは動物の種別を正確に判定できないが、Cloud AutoMLでこの判定ができるアルゴリズムを開発。これにより、運用コストが大きく低下し、この保護活動を大規模に展開する計画である。
ニューラルネットワーク生成は難しい
ニューラルネットワークで画像認識や音声認識の精度が大きく改善されているがネットワーク生成には特別の技量を要する。ニューラルネットワークの生成と教育では、これを支える数学の知識と、ネットワークを生成するためのプログラミング技法が必要になる。これができるAI研究者の数は全世界で数千人程度と言われている。このため、企業や組織が高度なニューラルネットワークを開発することは事実上できなかった。
ロードマップ
Cloud AutoMLの登場でこれが可能となり画期的なAIが開発される切っ掛けとなる。現在は機能が画像認識 (Convolutional Network) に限られているが、今後は音声認識 (Recurrent Neural Network) も登場すると期待される。 業務に特化したAIアルゴリズム開発が今年の重要な研究テーマとなっている。AI開発が容易になるだけでなく、この研究がAIのブラックボックスを解明する手掛かりになると期待されている。
———————————————————–
AutoMLの仕組み
GoogleはAutoMLの技法について論文で公開してきた。AutoMLはReinforcement Learning (強化学習) の手法とTransfer Learning (知識移植) の手法を使ってニューラルネットワークを生成する。前者については「Neural Architecture Search with Reinforcement Learning」で、後者については「Learning Transferable Architectures for Scalable Image Recognition」でその手法を明らかにしている。
Reinforcement Learningの手法
Recurrent Neural Network (時間依存の処理をするネット) が「Controller」となり「Child Network」を生成する。Child Networkが生成するニューラルネットワークで、ここではConvolutional Network (画像認識ネット) を対象とする。ControllerはあるPolicyに従ってChild Networkを生成し、これを教育してイメージ判定精度を得る。イメージ判定精度をRewardとしてPolicyのGradient (勾配) を計算。このプロセスを繰り返し、ControllerはRewardを最大にする方向に進み、精度の高いChild Networkの生成方法を学習する。
Transfer Learningの手法
しかし、Reinforcement Learningの手法は小さな写真 (CIFAR-10) では上手くいくが、大きな写真 (ImageNet) に適用すると、計算時間が極めて長くなる。このためTransfer Learningという手法が用いられた。これは学習したニューラルネットワークを流用する技法である。具体的には、上述のReinforcement Learningの手法で生成したConvolutional Networkの一部を流用し、それを重ね合わせて新しいConvolutional Networkを生成する。これにより、大きな写真も処理することができる。Cloud AutoMLにはこれらの技法が使われている。