Google Cloud Platform Japan Blog
最新情報や使い方、チュートリアル、国内外の事例やイベントについてお伝えします。
Google I/O で注目の TensorFlow ロボット、その「賢さ」を支える機械学習
2017年6月13日火曜日
Google Cloud デベロッパーアドボケイト 佐藤一憲
ブレインパッド テクノロジー&ソフトウェア開発本部 基盤開発部 部長 下田 倫大
米国マウンテンビューで先月開催された開発者イベント Google I/O 2017 において、Google は機械学習を用いたロボットアームのデモ「Find Your Candy」を展示しました。来場者が自分の好きなお菓子の好みを音声でロボットに教えると、テーブルに並ぶお菓子の中から好みに一番近いものをつかんで渡してくれます。このデモは、6/14 から東京で開催される
Google Cloud Next '17 Tokyo
の
体験エリア
でも展示されます。
このロボットに「私はソフトキャンディが好きです」「甘いチョコが食べたい」「ハードミントはある?」といった具合にお菓子の好みを声で伝えると、ロボットは音声認識と自然言語処理を用いてそれを理解し、好みに一番合うお菓子はどれか判断し、画像認識を使ってお菓子を見つけます。これら一連の機械学習技術は、 Google Cloud が提供する
Cloud ML Engine
(フルマネージドの TensorFlow 実行環境)や
機械学習 API
によって実装されています。
Find Your Candy デモのシステム構成図
(青色:Linux PC コントローラ、灰色:Google Cloud サービス)
このデモは、実開発でも用いられる機械学習ソリューションのミニチュア版として製作されました。例えば、食品メーカー大手のキユーピーでは、このデモと同じ Google Cloud と TensorFlow による機械学習技術を用い、食品工場におけるダイスポテトの品質管理システムの試作を行っています(詳しくは
このビデオ
をご覧ください)。
またこのデモのソースコードは
GitHub
で公開されています。よって、ロボットアームや Linux PC などのハードウェア部品(およそ 27 万円ほど)を揃えれば、誰でも比較的簡単に同じデモを製作でき、各種の機械学習技術を組み合わせて実際に動くソリューションを完成させる過程を楽しみながら学べます。
以下この記事では、この Find Your Candy デモで用いられる機械学習技術について解説し、実際に Google I/O 会場での運用時に直面したトラブルや課題についても紹介します。
音声リクエストを理解する
このデモは、来場者からの音声リクエストを受けて動作を開始します。タブレットで動作する Web UI アプリにて
Web Speech API
(
Cloud Speech API
と同じディープラーニングによる音声認識機能を Web アプリに提供する API)を利用し、音声データをテキストに変換します。このテキストを Linux PC コントローラが受け取り、
Cloud Natural Language API
を用いて形態素解析(単語への分割)と構文解析(品詞と係り受けの推測)の処理結果を得ます。 例えば「私はミントキャンディが好きです」という文章を API に送ると、以下のような処理結果が返されます。
Natural Language API による構文解析結果
単語の「分散表現」による賢いリコメンド
ここまでの処理で、「ソフト」「ミント」「キャンディ」といった味の好みの情報を音声リクエストから取り出せました。これらの単語をそのまま使って、テーブルの上からマッチするお菓子を見つけることも可能です。しかしこのデモでは、さらに
word2vec
アルゴリズムを用いて単語の
分散表現
を計算することで、より賢いお菓子のリコメンドを実現しています。
分散表現とは、数 100 個の数を並べたベクトルを用いて個々の単語の意味を表したものです。
Embedding Projector
のデモを開いて、どれかひとつの点をクリックすると、分散表現によって意味の近い単語が集められている様子を実際に見られます。
Embedding Projectorで「music」に意味の近い単語を見る
(
ここをクリック
して試せます)
このデモでわかるように、個々の単語のベクトルは、それに近い意味を持つ別の単語のベクトルと近い位置に現れます。例えば「music」という単語の周りには「songs」「artists」「dances」が集まります。こうした分散表現は、機械学習による自然言語処理の強力なツールのひとつで、ロボットアームがお菓子を選ぶときの「賢さ」を実現します。例えば、来場者が「甘い」「スパイシー」といった単語を使うと、それぞれ「スイート」「辛い」に近い意味であることをロボットアームは理解します。デモの Web UI には、そうした分散表現の分析結果が表示されます。
分散表現により単語どうしの意味の近さを理解する
来場者がしゃべった単語をそのまま使うのではなく、分散表現を介してお菓子を選ぶことで、もし「そのものズバリ」のお菓子がテーブルに載っていない場合でもできるだけ近いものを探せます。
転移学習によりお菓子の味を数分で学習
分散表現が得られたら、どの味のお菓子を選べばよいかが決まります。では、テーブルの上のお菓子の味をどうやってロボットは理解するのでしょうか? 実はこのロボットには「学習モード」が備わっており、デモを行う前にお菓子の味を覚えさせることができます。
学習モードでは、テーブルの上に「フルーティ」「ミント」などのラベルを貼り、それらの味に対応したお菓子を並べておきます。
お菓子とラベルのペアを並べて学習
学習モードでは、以下の処理が行われます。
書画カメラでお菓子とラベルを撮影
Linux PC が Cloud Vision API に画像を送り、ラベルの文字列を認識
Linux PC が
OpenCV
を動作させ、画像から個々のお菓子の画像を切り出す
これにより、テーブル上のお菓子とその味のラベルのペアがいくつか得られます。ディープラーニングの基礎をご存知の読者ならば、これらのペアを使って
Inception-v3
などの画像認識用ニューラルネットワークモデルの学習を行えばよいと思われるでしょう。しかし、モデルの学習をゼロから行なうには、こうしたペアを数万個ほど用意し、さらに長時間をかけて学習しなければならず、デモとしては現実的ではありません。
この問題を解決するため、このデモでは
転移学習
を用いて学習データの規模と学習時間を劇的に小さくしています。転移学習では、あらかじめ学習済みの汎用の画像認識モデルを用いて個々の画像の
特徴ベクトル
を抽出します。このベクトルには、画像に含まれる色や形、パターン、模様などの特徴を表す数値が並んでいます。これはちょうど単語に対する分散表現と同じ働きをします。
特徴ベクトルは個々の画像の特徴を捉える
この特徴ベクトルとお菓子のラベルのペアを用いて、数層の隠れ層を持つぐんと小規模なニューラルネットワークモデルの学習を行います。つまり、まずは学習済みの大きな汎用モデルで画像の特徴を捉え、続いて個々の用途に特化した小さなモデルでお菓子の特定をする、という二段階構成が転移学習の仕組みです。
今回のデモでは、学習済みの Inception-v3 モデルでお菓子の画像を認識し、2,048 次元の特徴ベクトルを全結合層から取得、それを用いて TensorFlow 上で動作する小規模な全結合ニューラルネットを学習しています。これらの技法と ML Engine を組み合わせることで、ラベルごとの学習に必要なお菓子画像の数を数個にまで減らし、学習時間も数分に短縮できました。
Inception-v3 を使い特徴ベクトルを抽出する
Inception-v3 と ML Engine による転移学習
学習モードで画像認識モデルの学習を行ったあとは、ロボットを実行モードで利用可能になります。実行モードでは、カメラで取得した画像から得られるお菓子のラベルと、音声リクエストと分散表現から得られたラベルのマッチングを行い、拾い上げるお菓子を選択します。
これでロボットがお菓子を拾う準備ができました。
ロボットアームの制御
このデモの目標のひとつは、一般の開発者の誰もが簡単に製作できるデモにすることでした。そこで、17万円ほどで入手できる安価なロボットアーム
Dobot Magician
を選択しました。これにさらにコントローラ用の Linux PC や書画カメラなど、 10 万円強のハードウェアを追加するだけで材料が揃います(GitHub リポジトリ上に
すべてのコンポーネントのリスト
が掲載されています)。Dobot は制御用の API を公開しているので、そのシリアル通信プロトコルを用いてアームを制御するドライバを作成しました。また、位置調整やセットアップ、デバッグ用のツール群も用意しています。
現場で発生した問題
このデモを Cloud Next SF と Google I/O 会場で展示した際には、いくつかの問題点が発生しました。
お菓子のテカリ:お菓子のパッケージのテカリによって認識精度の低下が発生します。そこで個々のお菓子について 2、3 個を違う向きで並べて学習させる必要があります
直射日光やスポットライト:デモ環境に強い直射日光やスポットライトが当たると、デモが正しく動作しません
騒音:イベント会場の騒音が大きいと音声認識が正しく動きません。元々はタブレットの内蔵マイクで動作する設計でしたが、騒音の大きい会場では外部マイクを設置しました
つかみやすいお菓子を選ぶ:ロボットアームの吸引カップは様々なモノを掴むのに便利ですが、平らな面のあるモノに制限されます。アームが吸いやすいお菓子をコンビニで探し回りました
学習モードが人気:学習モードの実行には 5 分ほどの時間がかかるため、たくさんの来場者に見せることは想定していませんでした。しかし実際には、来場者の多くが学習モードを試してロボットにお菓子を教えることを楽しんでいました。そこで、学習モードをより使いやすくする改修を行いました
現場で使えるディープラーニング
このデモの開発をわずか 1 か月で実現し、上述のような現地での様々なトラブルの解決に尽力いただいた
ブレインパッド
のチームに感謝します。「現場で使えるディープラーニング」を実現するベストパートナーを見つけられること、これも TensorFlow と ML Engine の大きな魅力のひとつです。
GCP でスケーラブルなウェブ プロトタイプを構築する
2016年9月14日水曜日
* この投稿は米国時間 8 月 31 日、Google Web Engineer である
Jason Mayes
によって投稿されたもの(投稿は
こちら
)の抄訳です。
Google のウェブ エンジニアとして、私は過去 5 年間、社内チームやお客様向けのスケールド システムを開発してきました。システムの中には、ウェブのフロントやバックエンドのコンポーネントが含まれていることもよくあります。
この投稿では、
Google Cloud Platform
(GCP)を使って開発したカスタムメイドの機械学習システムの話をしたいと思います。このブログを読んで、自分でも何かクールなウェブ アプリを構築したいと思ってもらえれば幸いです。
この話は、私がコンピュータのビジョンに関心を持ったところから始まります。私は長年、この分野に興味を持っていました。読者の皆さんの中には、望みどおりの結果を得るために最もシンプルなソリューションを探そうと努力していた私の個人的な実験に関する
公開ポスト
を目にした方がいらっしゃるかもしれません。
私はシンプルであることが大好きなのですが、自分の手がけるプロジェクトが年を追うごとに複雑になるにつれ、特にその気持ちが大きくなりました。仲のいい友人が昔、私に「シンプルであることは複雑な芸術だ」と言ったのですが、この業界に 10 年在籍して本当にそのとおりだと感じています。
コンピュータ ビジョンに関する私の初期の実験において、動きを分離させようとしているところ
私の
ウェブ エンジニア兼コンピュータ サイエンティスト
としての経歴は、2004 年に当時人気だった LAMP などを手がけたことから始まりました。その後 2011 年に Google に入社し、Google Cloud スタックに出会いました。つまり
Google App Engine
のことです。私は、スケーリングとディストリビューションを扱うシステムによって時間が大きく節約できることを知り、以来 App Engine に夢中になっています。
しかし、2011 年から時は流れ、最近私は
TensorFlow
を使ってウェブ ベースの機械学習システムを開発するプロジェクトに関わりました。ここで、私が開発に使った Google Cloud の新技術を一部紹介しましょう。
課題 : 長期間稼働しているタスクと短時間でクリティカルなタスクの両方に対し、ジョブの実行を保証するには?
TensorFlow を使って Google Compute Engine によるカスタム オブジェクトを認識しているところ
今年の初め頃、私は Google が開発したマシン インテリジェンス向けのオープンソース ソフトウェアである TensorFlow の使い方を学んでいました(試す価値のあるものですよ)。
Google Compute Engine 上で TensorFlow を動かす方法
がわかると、私は TensorFlow が単体ではスケールできないものであることにすぐに気づきました。負荷分散するために、いくつかのコンポーネントをそれぞれのサーバーに分割しなくてはならなかったのです。
初期デザインと課題
私のアプリケーションでディープ ニューラル ネットワークの一部を再トレーニングするには、平均 30 分程度かかっていました。長時間かかるジョブがある可能性を考えると、ユーザーに進捗状況を知らせるために、リアルタイムのステータス アップデートを提供したいと思いました。
また、すでにトレーニングが済んだクラシファイヤーを使って画像分析をする必要もありました。これにかかる時間は、1 つのジョブにつき 100 ミリ秒以下です。こうした短時間のジョブが、30 分かかるような長時間のジョブにさえぎられるようなことがあってはなりません。
最初の実装は次のようになりました。
この段階で、次のような問題が発生しました。
Google Compute Engine
サーバー上でさまざまなタイプのジョブを処理したため、非常に大きな負荷がかかってしまった。
Compute Engine のオートスケーリング プールを需要に合わせて 10 インスタンスまで作ることができたものの、時間のかかるトレーニング タスクが 10 個リクエストされると、分類やファイルのアップロードといったタスクのためのインスタンスが残らない。
プロジェクトの予算が限られていたため、一度に起動できるインスタンスは 10 個までだった。
データベースの選択肢
このアプリケーションでは、さまざまな種類のワークロードをサポートする必要があったことに加え、永続的データが保管できなくてはなりませんでした。それができるデータベースは数多く、当然のことながら
Google Cloud SQL
もその 1 つです。ただ、この方法にはいくつか問題がありました。
時間がかかる :
Cloud SQL を使うには、SQL データベースと統合できるようにすべての DB コードを自分で書き直さなくてはなりません。また、稼働するプロトタイプをできるだけ早く提供する必要がありました。
セキュリティ :
Cloud SQL の統合には、Google Compute Engine のインスタンスがコア データベースに直接アクセスする必要がありましたが、私はコア データベースを見せたくありませんでした。
さまざまな種類のジョブ :
今は 2016 年ですから、きっとこんな問題を解決する何かがあるはずで、さまざまなジョブの種類に対応できるはずですよね?
その解決策として私は、モバイル アプリケーションやウェブ アプリケーションの開発に向けた Google の Backend as a Service(BaaS)である
Firebase
を使うことにしました。
Firebase によって既存の API を使うことができ、(私の Node.js ベースのサーバーに最適な)JSON オブジェクトを使って永続的データを保管できるようになりました。これにより、クライアントが DB の変更をリッスンできるようになり(ジョブの進捗状況を伝えるのに最適です)、私の Cloud SQL のコア データベースと密接に統合する必要もなくなりました。
私が利用した GCP サービス
最終的に私はサーバーを 3 つのプールに分けました。それぞれのプールは特定のタスクに対して高度に特化させており、1 つは分類用、1 つはトレーニング用、そしてもう 1 つはファイルのアップロード用としました。各タスクで利用したクラウド技術は以下のとおりです。
Firebase
James Tamplin
および彼のチームと話して以来、私はずっと Firebase をプロジェクトに使う機会をうかがっていました。
Firebase の主な機能の 1 つに、リアルタイム データベースを数分で作れるというものがあります。そう、リアルタイムです。しかも、JavaScript を使うだけで、更新のすべてをリッスンできるのです。Firebase を使えば、動くチャット アプリケーションが 5 分以内に作れます。
これは、リアルタイムでジョブの進捗状況を確認するのに最適です。というのも、私はフロントエンドに問題のあるジョブへの変更をリッスンさせ、GUI をリフレッシュできるためです。
また、すべてのウェブ ソケットや DB fun も処理されるので、私はすごく使いやすい API を使って JSON オブジェクトを渡すだけでいいのです。Firebase はオフラインにも対応しており、オンライン状態になった時点で同期されます。
Cloud Pub/Sub
同僚の
Robert Kubis
と
Mete Atamel
が、Google のマネージド リアルタイム メッセージング サービスである
Google Cloud Pub/Sub
を私に紹介してくれました。
Cloud Pub/Sub は、セントラル トピックにメッセージを送ることを可能にするもので、そこから Compute Engine インスタンスがサブスクリプションを作ることもできるし、セントラル トピックに対して非同期的に緩くつながった状態でプルやプッシュすることもできます。これにより、容量に空きが出ると、すべてのジョブが最終的に稼働することが保証されます。
また、これはすべて水面下で行われるため、自分でジョブをリトライする必要もありません。時間が大幅に節約できます。
Cloud Pub/Sub のパブリッシャとなるエンドポイントの数に制限はなく、どこからでもサブスクリプションが可能
App Engine
私は App Engine でフロントエンド ウェブ アプリケーションをホストし、配信しました。HTML や CSS、JavaScript、テーマなどの資産はすべてここに保管されており、必要に応じて自動的にスケールされます。
さらにいい点は、App Engine がマネージド プラットフォームであることです。セキュリティ機能が搭載されているほか、
App Engine の API
に対して自分の好みの言語(Java、Python、PHP など)でコーディングした際に自動でスケーリングする機能も搭載されています。
API は Memcache や Cloud SQL などの高度な機能にもアクセスできるようになっており、負荷が増してもスケールする方法で頭を悩ませる必要はありません。
オートスケーリング機能の付いた Compute Engine
Compute Engine は、きっとほとんどのウェブ開発者になじみのあるものでしょう。これは、自分の選択した OS をインストールできるサーバーで、そのインスタンスに対して完全にルート アクセスすることが可能です。
インスタンスは完全にカスタマイズでき(仮想 CPU の数や、RAM、ストレージの容量も設定できます)、課金は分単位のため、要求に応じてスケールアップやスケールダウンする際にさらなるコスト削減が可能です。
もちろん、ルート アクセスができるということは、これらのマシンでやりたいと思っていたことがほぼ何でもできるということなので、私も TensorFlow を稼働させる環境としてこれを選びました。
また Compute Engine は、オートスケーリングのメリットも享受できます。要求に応じて、また設定した数値に応じて、利用できる Compute Engine インスタンスの数を増やしたり減らしたりすることが可能です。私のユースケースでは、CPU の平均利用率に応じてオートスケーラはいつも 2 から 10 のインスタンスとなっていました。
Cloud Storage
Google Cloud Storage
は、(サイズ的にも数的にも)大量のファイルを安価に保管できるサービスです。世界中のエッジ サーバー ロケーションにレプリケーションされており、その場所は要求しているユーザーに近いロケーションとなっています。
私が自分の機械学習システムでクラシファイヤーをトレーニングするために使ったファイルをアップロードし、必要になるまで保管していたのもここです。
Network Load Balancer
私の JavaScript アプリケーションはウェブ カメラを利用していたので、安全な HTTPS 接続にてアクセスする必要がありました。Google の
Network Load Balancer
は、自分で定義した異なる Compute Engine クラスタにトラフィックを送ることができるものです。
私の場合、画像分類クラスタと、新しいクラシファイヤーをトレーニングするためのクラスタがあったので、何がリクエストされたかによって、そのリクエストを適切なバックエンドに HTTPS 経由ですべて安全に送ることができました。
すべてを組み合わせた結果
これらのコンポーネントをすべて組み合わせてみると、私のシステム アーキテクチャは、だいたい次のようなものになりました。
これでちゃんと動いてはいましたが、一部無駄な部分もありました。Google Compute Engine Upload Pool のコードは、単に App Engine 上で稼働するように Java で書き直せることに気づいたのです。こうすることで直接 Cloud Storage にプッシュできるため、Compute Engine インスタンスの余分なプールが必要なくなります。やった!
また、App Engine を使うことになったため、カスタムメイドの SSL ロード バランサも必要なくなりました。App Engine 単体で新しいジョブを Pub/Sub へと簡単に内部でプッシュでき、すべてのフロントエンドのアセットをそのまま appspot.com 経由で HTTPS にて送ることができるためです。
つまり、Google の appspot.com 上でデプロイした場合、最終的なアーキテクチャは次のようになるでしょう。
アーキテクチャの複雑さが軽減されるとメンテナンスも楽になり、コスト削減にもつながります。
まとめ
Pub/Sub と Firebase を使うことで、私は 1 週間以上の開発時間を削減できたと見ています。これで私は目の前の問題にすぐに取りかかり、短時間で解決できるようになりました。さらには、プロトタイプが要求に応じてスケールしていき、予算に余裕がまったくないときでもすべてのジョブを最終的に片付けられることを保証できるようになったのです。
Google Cloud Platform サービス群の組み合わせは、ウェブ開発者が完全なエンドツーエンド システムのプロトタイプを短時間で作るうえで素晴らしいツールキットであり、セキュリティと今後のスケーラビリティに対する支援も同時に得られるものです。ぜひ皆さんも試してみることをお勧めします。
- Posted by Jason Mayes, Google Web Engineer
12 か月間のトライアル
300 ドル相当が無料になるトライアルで、あらゆる GCP プロダクトをお試しいただけます。
Labels
.NET
.NET Core
.NET Core ランタイム
.NET Foundation
#gc_inside
#gc-inside
#GoogleCloudSummit
#GoogleNext18
#GoogleNext19
#inevitableja
Access Management
Access Transparency
Advanced Solutions Lab
AI
AI Hub
AlphaGo
Ansible
Anthos
Anvato
Apache Beam
Apache Maven
Apache Spark
API
Apigee
APIs Explore
App Engine
App Engine Flex
App Engine flexible
AppArmor
AppEngine
AppScale
AprilFool
AR
Artifactory
ASL
ASP.NET
ASP.NET Core
Attunity
AutoML Vision
AWS
Big Data
Big Data NoSQL
BigQuery
BigQuery Data Transfer Service
BigQuery GIS
Billing Alerts
Bime by Zendesk
Bitbucket
Borg
BOSH Google CPI
Bower
bq_sushi
BreezoMeter
BYOSL
Capacitor
Chromium OS
Client Libraries
Cloud API
Cloud Armor
Cloud Audit Logging
Cloud AutoML
Cloud Bigtable
Cloud Billing Catalog API
Cloud Billing reports
Cloud CDN
Cloud Client Libraries
Cloud Console
Cloud Consoleアプリ
Cloud Container Builder
Cloud Dataflow
Cloud Dataflow SDK
Cloud Datalab
Cloud Dataprep
Cloud Dataproc
Cloud Datastore
Cloud Debugger
Cloud Deployment Manager
Cloud Endpoints
Cloud Firestore
Cloud Foundry
Cloud Foundry Foundation
Cloud Functions
Cloud Healthcare API
Cloud HSM
Cloud IAM
Cloud IAP
Cloud Identity
Cloud IoT Core
Cloud Jobs API
Cloud KMS
Cloud Launcher
Cloud Load Balancing
Cloud Machine Learning
Cloud Memorystore
Cloud Memorystore for Redis
Cloud monitoring
Cloud NAT
Cloud Natural Language API
Cloud Networking
Cloud OnAir
Cloud OnBoard
cloud Pub/Sub
Cloud Resource Manager
Cloud Resource Manager API
Cloud SCC
Cloud SDK
Cloud SDK for Windows
Cloud Security Command Center
Cloud Services Platform
Cloud Source Repositories
Cloud Spanner
Cloud Speech API
Cloud Speech-to-Text
Cloud SQL
Cloud Storage
Cloud Storage FUSE
Cloud Tools for PowerShell
Cloud Tools PowerShell
Cloud TPU
Cloud Translation
Cloud Translation API
Cloud Virtual Network
Cloud Vision
Cloud VPC
CloudBerry Backup
CloudBerry Lab
CloudConnect
CloudEndure
Cloudflare
Cloudian
CloudML
Cluster Federation
Codefresh
Codelabs
Cohesity
Coldline
Colossus
Compute Engine
Compute user Accounts
Container Engine
Container Registry
Container-Optimized OS
Container-VM Image
Couchbase
Coursera
CRE
CSEK
Customer Reliability Engineering
Data Studio
Databases
Dbvisit
DDoS
Debugger
Dedicated Interconnect
deep learning
Deployment Manager
Developer Console
Developers
DevOps
Dialogflow
Disney
DLP API
Docker
Dockerfile
Drain
Dreamel
Eclipse
Eclipse Orion
Education Grants
Elasticsearch
Elastifile
Energy Sciences Network
Error Reporting
ESNet
Evernote
FASTER
Fastly
Firebase
Firebase Analytics
Firebase Authentication
Flexible Environment
Forseti Security
G Suite
Gartner
gcloud
GCP
GCP Census
GCP 移行ガイド
GCP 認定資格チャレンジ
GCPUG
GCP導入事例
gcsfuse
GEO
GitHub
GitLab
GKE
Go
Go 言語
Google App Engine
Google Apps
Google Certified Professional - Data Engineer
Google Cloud
Google Cloud Certification Program
Google Cloud Client Libraries
Google Cloud Console
Google Cloud Dataflow
Google Cloud Datalab
Google Cloud Datastore
Google Cloud Endpoints
Google Cloud Explorer
Google Cloud Identity and Access Management
Google Cloud INSIDE
Google Cloud INSIDE Digital
Google Cloud INSIDE FinTech
Google Cloud Interconnect
Google Cloud Launcher
Google Cloud Logging
Google Cloud Next '18 in Tokyo
Google Cloud Next '19 in Tokyo
Google Cloud Platform
Google Cloud Resource Manager
Google Cloud Security Scanner
Google Cloud Shell
Google Cloud SQL
Google Cloud Storage
Google Cloud Storage Nearline
Google Cloud Summit '18
Google Cloud Summit ’18
Google Cloud Tools for IntelliJ
Google Code
Google Compute Engine
Google Container Engine
Google Data Analytics
Google Data Studio
Google Date Studio
Google Deployment Manager
Google Drive
Google Earth Engine
Google Genomics
Google Kubernetes Engine
Google maps
google maps api
Google Maps APIs
Google Maps Platform
Google SafeSearch
Google Service Control
Google Sheets
Google Slides
Google Translate
Google Trust Services
Google VPC
Google マップ
Google 公認プロフェッショナル
GoogleNext18
GPU
Gradle
Grafeas
GroupBy
gRPC
HA / DR
Haskell
HEPCloud
HIPAA
Horizon
HTCondor
IaaS
IAM
IBM
IBM POWER9
icon
IERS
Improbable
INEVITABLE ja night
inevitableja
InShorts
Intel
IntelliJ
Internal Load Balancing
Internet2
IoT
Issue Tracker
Java
Jenkins
JFrog
JFrog Artifactory SaaS
Jupiter
Jupyter
Kaggle
Kayenta
Khan Academy
Knative
Komprise
kubefed
Kubeflow Pipelines
Kubernetes
KVM
Landsat
load shedding
Local SSD
Logging
Looker
Machine Learning
Magenta
Managed Instance Group
Managed Instance Group Updater
Maps API
Maps-sensei
Mapsコーナー
Maven
Maxon Cinema 4D
MightyTV
Mission Control
MongoDB
MQTT
Multiplay
MySQL
Nearline
Network Time Protocol
Networking
neural networks
Next
Node
NoSQL
NTP
NuGet パッケージ
OCP
OLDISM
Open Compute Project
OpenCAPI
OpenCAPI Consortium
OpenShift Dedicated
Orbitera
Organization
Orion
Osaka
Paas
Panda
Particle
Partner Interconnect
Percona
Pete's Dragon
Pivotal
Pivotal Cloud Foundry
PLCN
Podcast
Pokemon GO
Pokémon GO
Poseidon
Postgre
PowerPoint
PowerShell
Professional Cloud Network Engineer
Protocol Buffers
Puppet
Pythian
Python
Qwiklabs
Rails
Raspberry Pi
Red Hat
Redis
Regional Managed Instance Groups
Ruby
Rust
SAP
SAP Cloud Platform
SC16
ScaleArc
Secure LDAP
Security & Identity
Sentinel-2
Service Broker
Serving Websites
Shared VPC
SideFX Houdini
SIGOPS Hall of Fame Award
Sinatra
Site Reliability Engineering
Skaffold
SLA
Slack
SLI
SLO
Slurm
Snap
Spaceknow
SpatialOS
Spinnaker
Spring
SQL Server
SRE
SSL policies
Stack Overflow
Stackdriver
Stackdriver Agent
Stackdriver APM
Stackdriver Debugger
Stackdriver Diagnostics
Stackdriver Error Reporting
Stackdriver Logging
Stackdriver Monitoring
Stackdriver Trace
Stanford
Startups
StatefulSets
Storage & Databases
StorReduce
Streak
Sureline
Sysbench
Tableau
Talend
Tensor Flow
Tensor Processing Unit
TensorFlow
Terraform
The Carousel
TPU
Trace
Transfer Appliance
Transfer Service
Translate API
Uber
Velostrata
Veritas
Video Intelligence API
Vision API
Visual Studio
Visualization
Vitess
VM
VM Image
VPC Flow Logs
VR
VSS
Waze
Weave Cloud
Web Risk AP
Webyog
Wide and Deep
Windows Server
Windows ワークロード
Wix
Worlds Adrift
Xplenty
Yellowfin
YouTube
Zaius
Zaius P9 Server
Zipkin
ZYNC Render
アーキテクチャ図
イベント
エラーバジェット
エンティティ
オンライン教育
クラウド アーキテクト
クラウド移行
グローバル ネットワーク
ゲーム
コードラボ
コミュニティ
コンテスト
コンピューティング
サーバーレス
サービス アカウント
サポート
ジッター
ショート動画シリーズ
スタートガイド
ストレージ
セキュリティ
セミナー
ソリューション ガイド
ソリューション: メディア
データ エンジニア
データセンター
デベロッパー
パートナーシップ
ビッグデータ
ファジング
プリエンプティブル GPU
プリエンプティブル VM
フルマネージド
ヘルスケア
ホワイトペーパー
マイクロサービス
まっぷす先生
マルチクラウド
リージョン
ロード シェディング
運用管理
可用性
海底ケーブル
機械学習
金融
継続的デリバリ
月刊ニュース
資格、認定
新機能、アップデート
深層学習
深層強化学習
人気記事ランキング
内部負荷分散
認定試験
認定資格
料金
Archive
2019
8月
7月
6月
5月
4月
3月
2月
1月
2018
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2017
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2016
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2015
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2014
12月
11月
10月
9月
8月
6月
5月
4月
3月
2月
Feed
月刊ニュースレターに
登録
新着ポストをメールで受け取る
Follow @GoogleCloud_jp