コンテンツに移動
Google Cloud

月刊 Google Cloud Platform ニュース / 2016 年 12 月

2017年1月6日
Google Cloud Japan Team

Posted by 中井 悦司 (Google Cloud Platform Solutions Architect)


新年あけましておめでとうございます。本年も Google Cloud Platform をどうぞよろしくお願いいたします。

先月(2016 年 12 月)発表された Google Cloud Platform 関連のニュースをブログ記事から振り返りますが、今回はとくに次の記事に注目してみたいと思います。

これは、Inception-v3 と呼ばれる画像識別用の深層学習モデルを利用して、転移学習を実施する方法を解説したもので、独自のデータを学習させるためのサンプルコードも用意されています。これがあれば、独自の画像認識モデルを手軽に学習することが可能になります。

それでは、この転移学習とはどのような仕組みなのでしょうか? 実はそれほど複雑なものではありません。次の図は、Inception-v3 の全体像をあらわしたものですが、前段の「Feature extraction part」と呼ばれる部分で画像の特徴を取り出した後、後段の「Classification part」の部分で画像の分類処理を行います。ImageNet の画像データを使って学習させることにより、Zebra(シマウマ)、Dalmatian(ダルメシアン)、Dishwasher(食洗機)など 1000 種類の画像を識別することができます。この Inception-v3 を実装したコードと学習済みのパラメーターが TensorFlow のライブラリーとして公開されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/5323523.max-1100x1100.png

そして、独自の画像データを学習させる際に、学習済みの Feature extraction part を再利用しようというのが、先ほどの記事で紹介されている転移学習の手法になります。任意の画像データを Feature extraction part に入力すると、その特徴を表した Feature vector (特徴ベクトル)が出力されます。これは、2048 個の浮動小数値が並んだデータで、オリジナルの画像データを見るよりも、このデータを見たほうがより高い精度で画像の種類が識別できるというものになります。そこで、学習対象のすべてのデータについて、まずは、学習済みの Feature extraction part を用いて特徴ベクトルを取り出します。その後、これらの特徴ベクトルを教師データとして、後段の Classification part の再学習処理を行います。

https://storage.googleapis.com/gweb-cloudblog-publish/images/YVhDXskC2EJCp4oVesyK1xU37-ToSjE46zLLVVCq7Z.max-1400x1400.PNG
Sunflowers by Liz West is licensed under CC BY 2.0

上の図からもわかるように、Classification part は、非常に小さなニューラルネットワークですので、学習に要するコンピューティングリソースはわずかで済みます。最後に、既存の Feature extraction part と再学習した Classification part を結合すれば、独自のデータに対応した新しいニューラルネットワークの完成です。もともとの Inception-v3 は、1000 種類の画像を識別すると説明しましたが、これは、後段の Classification part がそのように作られているためです。新しく学習した Classification part では、異なる種類の画像を識別することが可能です。自社製品の画像など、さまざまな応用が考えられることでしょう。

ちなみに、これらの処理を実現するサンプルコードでは、Feature extraction part による特徴データの取り出しには Google Cloud Dataflow、そして、Classification part の再学習処理には Google Cloud Machine Learning を使用しています。

その他には、次のような記事が公開されました。「GCP のアイコンとアーキテクチャ図サンプル」は、GCP に関わるエンジニアには必見の記事ですね。みなさんが開発したシステムのアーキテクチャ図を作成して、技術情報の発信にも活用してください。

[新製品, 新機能]


[顧客事例]


[パートナー関連]


[Developer Tips]


[ソリューション]


[その他]

投稿先