Local blog for Japanese speaking developers
TensorFlow Probability で作る変分オートエンコーダ(VAE)
2019年4月10日水曜日
この記事は
Ian Fischer、Alex Alemi、Joshua V. Dillon と TFP チーム
による TensorFlow - Medium の記事 "
Variational Autoencoders with Tensorflow Probability Layers
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
投稿者: Ian Fischer、Alex Alemi、Joshua V. Dillon と TFP チーム
2019 年の TensorFlow Developer Summit では、TensorFlow Probability(TFP)が
発表されました
。その際のプレゼンテーションでは、ほんのわずかなコードで強力な回帰モデルを構築する方法を紹介しました。この記事では、TFP を使うことで変分オートエンコーダ(VAE)の実装がどれだけ簡単になるかを解説します。
TensorFlow Probability
TFP は、
Keras
とディープ ネットワークを使って確率分布を生成する高レベル API を提供します。この API を使うと、ディープ ラーニングと確率的プログラミングを組み合わせたモデルを簡単に構築できます。たとえば、確率分布のパラメータを決めるのにディープ ネットワークの出力を使えます。以下では、この TFP のアプローチを紹介します。
変分オートエンコーダと ELBO
変分
オートエンコーダ
(VAE)は、
協調フィルタリング
、
イメージ圧縮
、
強化学習
、
音楽
や
スケッチ
の生成などのさまざまな領域で使われいるポピュラーな生成モデルです。
VAE の応用といえば、潜在変数による生成モデルなどのデータ生成が思い浮かびます。そこで、
MNIST
にある数字を書く処理について考えてみましょう。
あなたがペンで数字を書くとき、まずはどの数字を書くかを決め、頭の中で漠然とした図を思い浮かべるはずです。次に、ペンを紙につけて、実際の世界でその図を描こうとします。この 2 つのステップは、次のように定義できます。
サンプルとして、 潜在表現
z
を選びます。これは、事前確率分布
z ~ p
(
z
) の中から選ばれます。これが、頭の中にある漠然とした図です。ここでは、「3」としましょう。
サンプルに基づき、実際の図としての表現
x
を書きます。これは、自身を確率過程
x ~ p
(
x|z
) としてモデリングしたものです。これにより、「3」を書くたびに少しずつ違ったものができる仕組みを表せます。
このように、手書き数字を書くときに毎回生じる変化について、そのある部分は何らかの
シグナル
(例えば MNIST の数字の種類)によるものであり、その他の部分は
ノイズ
によるものと考えます。例えば同じ人が書いた同じ数字のサンプルでも、厳密な線の角度は毎回異なります。VAE とは、大まかに言えば、このシグナルとノイズのそれぞれについて明確なモデルを与え、ノイズからシグナルを分離しようという試みです。
この考えに基づいた学習を行うために、次の ELBO(変分下限)を最大化する損失関数を定義します。
ここで、3 つの確率密度関数は以下を表します。
p
(
z
) - 潜在表現
z
の
事前確率
q
(
z|x
) -
変分エンコーダ
p
(
x|z
) -
デコーダ
— 潜在的表現
z
が与えられた場合の画像
x
の確率
ELBO は、観測されたデータポイントの対数確率 log
p
(
x
) の下限を表します。この式の最初の積分は、
復元
項です。画像
x
が
z
にエンコードされ、さらにデコードされて元の
x
を復元できる確率を表します。第 2 項は、
KL ダイバージェンス
項です
。エンコーダと事前確率がどのくらい近いかを測る式であり、エンコーダのシンプルさを保つためのものと言えます。ある事前確率のもとで尤度の低い
z
をエンコーダが生成すると、ELBO の値も低くなります。そのため、エンコーダーと事前確率に差が生じるのは、復元項を上回る効果が得られる場合に限られます。
コード
以上の説明から、
事前確率 p(z)
、
変分エンコーダ q(z|x)
、
デコーダ p(x|z)
という 3 つの異なるコンポーネントを個々にモデリングする方法が自然だとわかります。
こちらの colab
を使うと、MNIST に対する VAE の学習をクラウド上の GPU で数分で実行できます。
事前確率
通常、VAE で使われる最も単純な事前確率は、等方性ガウス分布です。
https://medium.com/media/c2a4ec221f5d71a7babf5cfb2807f8a4/href
ここでは、学習パラメータのない独立したガウス分布を TFP で定義し、潜在変数
z
が 16 次元となるように指定しています。
エンコーダ
エンコーダ分布には、完全共分散ガウス分布を使います。平均および共分散行列は、ニューラル ネットワークの出力によってパラメータ化されています。複雑に聞こえるかもしれませんが、TFP レイヤーを使えばとても簡単に表現できます。
https://medium.com/media/6e497f1c3194c1a5fd01c6597758104a/href
エンコーダは通常の Keras Sequential モデルで、畳み込み層と全結合層からできています。ただし、出力は TFP レイヤー MultivariateNormalTril() に渡されます。これは、最後の Dense() 層による活性化を、Multivariate Normal のパラメータとなる平均および(下三角)共分散行列の両方を指定するために必要な部分へとそのまま分割します。Dense() 層に正しい数の活性化(分布のパラメータ)を出力させるために、ヘルパー tfpl.MultivariateNormalTriL.params_size(encoded_size) を使いました。最後に、分布が最終的な損失に対する正則化項として寄与するよう指定します。具体的には、エンコーダと事前確率との間の KL ダイバージェンスを追加します。これは、前述の ELBO の
KL 項
です(ちなみに、引数 weight を 1 以外のものに変えるだけで、この VAE を
β
-VAE
に変更できます)。
デコーダ
デコーダには、単純な「平均場デコーダ」を使います。今回の場合、これはピクセル間で独立したベルヌーイ分布になります。
https://medium.com/media/48871b7fcb7e9be3f3db1f05719e37b5/href
この書き方は基本的にエンコーダと同じです。しかし、潜在表現を取得するために転置した畳み込み(16 次元ベクトル)を使っているので、それを 28 x 28 x 1 のテンソルに変換します。最終的なテンソルは、ピクセル間で独立したベルヌーイ分布のパラメータを表します。
損失関数
ここまでで、完全なモデルを構築して残りの損失関数を指定する準備ができました。
https://medium.com/media/acb805a6628458423d1e93d0e969d248/href
このモデルは、エンコーダとデコーダの組み合わせを出力として指定した単純な Keras モデルです。エンコーダ部分ですでに損失として KL 項を追加しているので、指定する必要があるのは復元項だけです(前述の ELBO の第 1 項)。
https://medium.com/media/38497256890e4c3d5dcfc5bff817b008/href
この損失関数には、2 つの引数があります。元の入力
x
と、モデルの出力です。これは確率変数なので
rv_x
と記しています。この例は、TFP レイヤーの内側でどのような「魔法」が働いているか表しています。Keras と TensorFlow からは、TFP が単にテンソルを出力するレイヤーとして見える一方で、TFP レイヤーの実際の中身は
Distribution
オブジェクトで構成されています。そのため、モデルに与えられたデータに対する負の対数尤度 -rv_x.log_prob(x) を損失関数として指定できる仕組みです。
TFP の内側
Keras の中にシームレスに組み込まれた TFP レイヤーが実際にどのような処理を実行しているのか、もう少し詳しく見てみましょう。前述のように、TFP レイヤーは実際には Distribution オブジェクトを出力します。これは、次のコードで確かめることができます。
https://medium.com/media/3209b216d549e7d50f1b2f951cf07160/href
しかし、TFP レイヤーが Distribution を返すとすれば、decoder_model(encoder_model.outputs[0])) と書いてエンコーダの出力とデコーダを組み合わせる際には何が起きているのでしょうか。エンコーダの返す Distributionが Keras からは Tensor として見えるようにするため、TFP レイヤーはその分布から具体的なデータポイントをサンプリングします。つまり Keras が見ているのは、Distribution に対して encoder_model.sample() を呼んだときに得られる Tensor です。一方で、損失関数で rv_x.log_prob(x) を呼び出すときのように、Distribution として直接アクセスする必要がある場合は、そうすることも可能です。TFP レイヤーは、確率分布としてもテンソルとしてもふるまえるので、Keras の中でシームレスに取り扱えます。
モデルの学習
このモデルの学習は、Keras モデルの学習と同じように簡単で、vae_model.fit() を呼ぶだけです。
https://medium.com/media/e6cb66721c75f6cb903f0329f9724238/href
このモデルでは、およそ 115 nat の ELBO を実現できます(
nat
はビットの自然対数です。115 nat はおよそ 165 ビット)。もちろん、これは最高のパフォーマンスというわけではありません。しかし、3 つのコンピューティングのいずれについても、この基本設定から始めて、簡単に強化できます。それに、このままでもすでに数字を生成してくれます。
MNIST テストセットのイメージをエンコードして生成したデコーダ最頻値
事前確率をサンプリングして生成したデコーダ最頻値
まとめ
このブログ記事では、ディープ ラーニングと確率的プログラミングを組み合わせる方法について紹介し、TFP レイヤーを使って Keras の Sequential モデルの出力を TFP の確率分布に渡す VAE を構築しました。テンソルとしても確率分布としてもふるまえる TFP レイヤーを用いることで、シンプルなコードを記述できることがお分かりいただけたと思います。
Reviewed by
Kaz Sato - Staff Developer Advocate, Google Cloud
ラベル
.app
1
.dev
1
#11WeeksOfAndroid
13
#11WeeksOfAndroid Android TV
1
#Android11
3
#DevFest16
1
#DevFest17
1
#DevFest18
1
#DevFest19
1
#DevFest20
1
#DevFest21
1
#DevFest22
1
#DevFest23
1
#hack4jp
3
11 weeks of Android
2
A MESSAGE FROM OUR CEO
1
A/B Testing
1
A4A
4
Accelerator
6
Accessibility
1
accuracy
1
Actions on Google
16
Activation Atlas
1
address validation API
1
Addy Osmani
1
ADK
2
AdMob
32
Ads
73
Ads API
135
ads query language
2
ads scripts
2
ads search
1
advanced markers
1
Advanced Protection Program
3
AdWords API
25
adwords scripts
2
aerial view api
1
Agency
1
AI
19
AIY
3
AIY Vision Kit
2
ALPN
1
AMP
120
AMP Cache
9
AMP Camp
2
AMP CSS
1
AMP Extension
1
AMP Fest
1
AMP for Email
4
AMP Optimizer
1
AMP Packager
1
AMP Playground
1
AMP Plugin
1
AMP SSR
1
AMP Story
4
AMP Toolbox
1
amp-bind
1
amp.dev
1
AMPHTML Ads
1
Analytics
9
Andorid
12
Android
400
Android 10
1
Android 11
20
Android 11 Compatibility
1
Android 11 final release
1
Android 11 meetups
1
Android 9
1
android api
1
Android App Bundle
1
Android App Development
23
Android Architecture
1
Android Architecture Components
1
Android Auto
1
Android Design Support Library
1
Android Developer
14
Android Developer Story
4
Android Developers
13
Android Enterprise
6
Android for cars
2
Android Go
1
Android Jetpack
6
Android N
18
Android O
14
Android Open Source Project
1
Android P
7
Android Pay
1
android privacy
1
Android Q
13
Android Ready SE Alliance
1
android security
5
Android Security Year in Review
1
Android StrongBox
1
Android Studio
47
Android Studio 4.1
1
android study jam
1
Android Support Library
6
Android Things
15
Android Tools
2
Android TV
11
Android Vitals
4
Android Wear
29
android11
6
androidmarket
3
androidstudio
1
AndroidX
6
Angular
2
Angular 2
2
AngularJS
2
Announcements
2
Anthos
2
antmicro
1
AoG
1
aosp
1
API
28
APIExpert
45
apk
2
APM
1
app
3
App Action
1
App Bundle
2
app check
1
app engine
24
App Indexing
7
App Invites
6
App Maker
2
App modernization
1
AppCompat
2
Apps Flutter eBay
1
Apps Script
12
AppSheet
1
aprilfool
4
AR
3
Architecture Components
7
ARCore
3
ArtTech
1
asset-based extensions
2
assets
1
Associate Android Developer Certificate
1
Attribution Reporting
1
Audio
7
Auth Code
1
Authentication
9
AuthSub
2
Autofill
5
AutoML
1
Autotrack
2
award
1
Awareness API
1
basemap
1
basic-card
1
Beacons
6
bento
2
BERT
1
Best Practices
1
beta
4
Better Ads Standards
3
BigQuery
10
Billing
1
Biometrics
1
BLE
4
Blink
1
Blockly
1
blogger
1
BodyPix
1
bootcamp
1
Brillo
1
Brotli
2
Budou
1
budoux
1
Buildbetterapps
2
C++
1
Calendar
3
call ads
1
campaign
2
campaignsharedset
1
Campus
1
Canvas
1
Cardboard
4
Career
1
Case Study
3
CCPA
1
CDS 2020
3
CDS Recap 2020
3
Certificate
8
changestatus
1
chrome
261
chrome 98
1
Chrome Apps
1
Chrome Custom Tab
4
Chrome Dev Summit
5
chrome extension
14
Chrome for Android
2
Chrome for iOS
3
Chrome OS
10
Chrome Root Program
1
Chrome Root Store
1
Chrome Tech Talk Night
4
chrome103
1
chrome104
1
chrome108
1
chrome90
1
Chromebook
5
Chromecast
7
chromewebstore
9
Chromium
20
CLI
1
ClientLogin
3
Closure Compiler
1
Cloud
28
Cloud AI Platform
2
Cloud Firestore
5
Cloud Functions
9
Cloud IoT Device SDK
1
cloud messaging
1
Cloud ML Summit
1
Cloud Next
19
Cloud OnAir
5
Cloud OnBoard
4
Cloud PubSub
1
Cloud Run
1
Cloud Storage
1
Cloud Study Jams
3
Cloud Summit
1
Cloud Test Lab
2
Cloudflare
1
CNN
1
Coalition for Better Ads
2
CocoaPods
1
code review
1
codejam
5
codelab
5
Codepen
1
Colaboratory
1
Common Criteria
1
Community
6
compatibility
1
Compose
1
compose camp
1
compute engine
3
consent
1
Contests
1
Context
1
controls
1
Conversation API
1
conversations
2
conversion
1
Cookie
10
Coral
3
core web vitals
1
COVID-19
2
Crash Reporting
2
Crashlytics
3
cryptography
1
Custom Element
1
Custom Model
1
CWV
2
dark theme
1
Dart
2
data retention
1
DataCenter
1
datacloudsummit
1
Daydream
4
deck.gl
2
Deep Learning
4
Delegation
1
Demo Party
1
Design Patterns
1
Design Sprint
3
DesignBytes
1
Designer
1
DevArt
3
DevBytes
6
Developer
15
Developer Console
4
Developer Library
1
Developer Preview
6
Developer Relations
3
Developer Review
1
Developer Student Club
1
DEVELOPERS
1
Developers Story
4
DevFest
12
DevFestX
3
DevOps
1
devtools
4
Dialogflow
1
Differential privacy
2
Digital Asset Links
1
Digital Goods API
1
directions api
1
DirectShare
1
Discover
1
distance matrix api
1
DNS-over-HTTPS
4
Domain
1
Doodle
1
DoubleClick
4
Doze モード
1
drive
2
DSA
1
DSC
1
DX
1
Dynamic Links
3
EarlGrey
1
Easter Egg
1
ECMAScript 2015
1
Eddystone
4
Edge
1
egypt
1
encoder
1
Encryption
1
English
2
environment api
1
Envoy
1
error
1
ES2015
1
ES2016
1
ES6
2
ES7
1
eta
1
Event
7
events
3
extensions
1
external
1
Featured
25
Feed
2
feed-based extensions
3
feeds
1
FIDO
7
filter
1
final release
1
Firebase
123
Firebase Admin SDK
6
Firebase Analytics
10
Firebase Auth
4
Firebase Cloud Messaging
10
Firebase Crashlytics
2
Firebase Database
5
firebase for games
1
Firebase Libraries
1
Firebase Notifications
1
Firebase Performance
3
Firebase Remote Config
6
firebase summit
1
Flash
1
FLEDGE
1
FLoC
2
Flutter
8
Flutter App Development
1
flutter3
1
font
3
fraud
1
G Suite
19
game
43
Game Developers Conference 2018
1
Game Developers Conference 2019
1
Game Development
1
gaming
1
gaql
8
Gboard
2
gc_datacloud
1
GCCN
1
GCP
17
GCPUG
1
GDC
1
GDD11JP
56
GDD2010JP
23
GDE
2
GDG
22
GDG Cloud
1
gdsc
4
Gemini
5
Gemma
1
generative AI
4
Geo
55
Gingerbread
1
GLIDE
5
global foundries
1
Gmail
6
Gmail API
3
Go
1
Go Checksum Database
1
golang
5
goo.gl
1
Google
8
Google account
1
Google Analytics
4
Google API
2
Google Apps
14
Google Apps Script
4
Google Assistant
13
Google Assistant SDK
2
Google Binary Transparency
1
Google Cast
8
Google Chat
3
Google Cloud
49
Google Cloud Day
10
google cloud innovators
2
Google Cloud INSIDE Digital
2
Google Cloud INSIDE Games & Apps
9
Google Cloud INSIDE Media
1
Google Cloud INSIDE Retail
3
Google Cloud Messaging
11
google cloud next
4
google cloud next tokyo
3
Google Cloud Platform
16
Google Code-in
1
Google Dev Library
1
Google Developer Experts
2
google developer groups
1
google developer student clubs
1
Google Developers Academy
1
Google Developers live
5
Google Developers Summit
2
Google Drive
6
Google Earth
1
Google Fit
2
Google for Games
3
Google for Mobile
2
Google for Startups
8
Google for Work
1
Google I/O
26
Google I/O 2024
3
Google Identity Services
6
Google Impact Challenge
1
Google Maps
72
Google Maps Platform
91
Google Meet
1
Google ML Summit
2
Google Open Source Peer Bonus
1
Google Pay
6
Google Photo
1
Google Play
148
Google Play App Safety
1
Google Play Billing
1
Google Play Console
15
Google Play developer distribution agreement
1
Google Play Developer Policies
2
Google Play Game Services
10
Google Play Instant
1
Google Play Services
23
Google Play Store
1
Google Play アプリ署名
1
Google Plus
14
Google Search
8
Google Sheets API
3
Google Sign-In
17
Google Slides API
5
Google Summer of Code
1
Google Tag Manager
1
Google Tensor
1
Google Trust Services
3
Google マップ
4
google_ads_api_v6
1
Google+
2
Googleapps
10
GoogleCloud
5
GoogleCloudDay
5
GoogleCloudInside
1
googlecloudlearn
1
googlecloudnext
2
GoogleGames
1
GoogleI/O
31
GoogleLabs
1
GooglePlay
3
GoogleTV
1
GPS
1
Gradle
1
Growth Academy
1
gRPC
2
GTUG
5
GWT
2
hack4jp
2
hackathon
7
handson
1
Hangouts Chat
3
hardware
2
Hosting
3
hotel
1
How-To Guide
1
HTML5
17
HTML5Rocks
1
HTTP/2
5
HTTPS
19
I/O Extended
7
ID Token
1
Identity
18
Identity Toolkit
1
IGF2010
4
IGF2020
2
Ignite
4
Imagen 2
1
IME
12
Indie Game
7
Indie Games Festival
7
Indie Games Festival 2018
2
Indie Games Festival 2019
12
Indie Games Festival 2020
7
Industry Trends
1
Inevitable ja Night
30
innovators hive
2
Insights
1
Instagram
1
Instant Apps
6
intern
2
Invites
1
IO19
3
iOS
22
IoT
7
IPv6
1
Issue Tracker
2
IWD
1
Japanese
6
Japanese Developer
1
Japanese Input
1
java
1
JavaScript
13
Jetpack
5
Jetpack Compose
6
Journeys
1
K-12
1
Kaggle
1
Key Transparency
1
Knowledge Graph
1
Kotlin
25
Kotlin Android Extensions
1
kotlin api
1
Kotlin Beginners
3
Kotlin Vocabulary
2
Kubernetes
4
l10n
8
latest
18
latest news
1
launch
1
LaunchPad
2
Learn
1
lifull
1
Lighthouse
1
LINE
1
Local AI
1
Location
1
Lollipop
10
Machine Learning
32
MAD Skills
2
MADSkills
2
Maker Faire Tokyo
1
maps compose
1
maps embed api
1
Maps JavaScript API
5
maps on air
1
maps sdk
2
maps transportation
1
Marshmallow
10
Material
1
Material Design
31
MDL
2
MDN
1
MediaPipe
1
Messaging
1
metrics
1
MIDI
2
migration
1
mikan
1
Mixed Contents
4
ML
3
ML Kit
12
mlops
1
Mobile
15
Mobile Bootcamp
4
mobile optimized maps
1
Mobile Sites certification
1
Mobile Vision
4
mod_pagespeed
1
Model Maker
1
monetization
2
monetize
3
Mozc
15
Music
1
NativeDriver
2
NativeScript
1
Navigation
1
NBU
1
ndk
3
Nearby
5
News
1
Next Extended
1
Next Tokyo
4
Nexus
2
Nexus S
1
NFC
1
NIST
1
Node.js
3
notifications
2
Noto CJK
1
Now in Android
13
NPAPI
2
NPN
1
oauth
17
officehour
1
One Tap
2
online security
2
open silicon
2
open source
9
OpenAI
1
opencensus
1
opencloudsummit
1
OpenGL
4
OpenID
3
OpenID Connect
4
OpenSocial
1
opensource
20
OpenTitan
1
Optimization
1
OSV
1
p-max
3
Page Experience
1
passkey
3
Password Manager
4
Payment
8
Payment Handler API
1
Payment Request API
2
PDF
1
PEM
33
people
2
People API
3
Performance
16
Performance budget
1
performance max
1
Performance Monitoring
1
performance report
1
permissions
1
personalization
1
PersonFinder
1
Phishing
2
phone
1
photorealistic 3d tiles
1
Physical Web
3
Pi
1
Pixel
4
Place Picker
1
placements
1
places api
1
places SDK
1
Platform Stability
1
Play Billing
2
Play Billing Library
2
Play Console
2
Player Analytics
4
Playtime 2017
1
Policy
8
policy compliance
2
policy violations
2
polylines
1
Polymer
7
pricing
1
privacy
15
Privacy Sandbox
22
Progressive Web Apps
14
project hosting
1
Promise
2
Promo code
1
Protocol Buffers
1
PRPL
1
publicdata
1
Push API
1
Push Notification
6
PWA
4
Python
3
query builder
8
query validator
1
QUIC
2
quick builder
1
quick start widget
1
QWIKLABS
3
RAIL
1
raspberry pi
1
React
1
React Native
2
reactive programming
1
Realtime Database
9
Recap Live Japan 2019
3
reCaptcha
1
Redux
1
release
7
Remote Config
4
Remote Display API
1
Reporting API
1
Requirements
1
Resonance Audio
1
resource type
1
Rewarded Video Ads
2
RKP
1
rmf
2
routes api
3
RSS
1
Run on OS Login
1
Runtime Permission
1
Rust
2
Safe Browsing
4
safety
1
Sample Code
2
Santa Tracker
1
SBOM
1
schedule
1
schema
2
schema.org
1
Scorecards
1
script
2
SDG
1
sdk
1
search central
1
secur
1
Secure Element
1
security
92
selfie
1
Service Worker
4
SHA-1
1
Sigstore
4
silicon
3
Site Isolation
1
sketchup
1
skywater
1
SLSA
1
smart displays
1
smart home
1
smart shopping campaign
1
SmartLock for Passwords
5
social
4
Social Good
1
Social Media
1
software development
1
solution challenge
2
Solve
1
SPDY
3
speak2tweet
1
speaker
1
Spectre
2
speedometer
1
Spreadsheet
3
ssc
1
ssd
1
SSR
1
stable release
1
startup
7
Storage
3
store sales direct
1
story
2
streetview
3
Study Jams
12
subscriptions
5
sunset
10
Swift
2
SwiftShader
1
Symantec
1
tag
1
tapple
1
Task
4
Team Drive
1
techtalk
13
TensorFlow
43
TensorFlow Federated
1
TensorFlow Lite
8
TensorFlow Object Detection API
1
TensorFlow Probability
2
TensorFlow.js
4
test
4
Test Lab
6
TF Certificate
2
TFX
1
The Fast and the Curious
13
Titan M2
1
Titan Security Key
1
TLS
4
Topics
1
ToS
1
trace
1
Transliteration
1
Transparency
1
Trust
1
Trusted Web Activity
1
Trusty OS
1
TrustZone
1
Twitter
1
UA-CH
1
Udacity
20
Unity
3
update
1
usecase
1
User Agent string
2
UX
5
v10
2
v10.1
1
v11
1
v13
1
v15
1
v3
1
v4
1
v5
1
v6.1
1
v7
2
V8
5
v9
1
valuetrack
1
Verifiable Design
1
vertex ai
1
Vision AI
1
VP9
1
VR
11
Vulkan
2
wafer
1
Watch Face
2
wave
2
Wear OS
3
Weave
1
Web
37
Web Animations
1
Web Components
9
Web Manifest
2
Web Packaging
3
Web Stories
3
Web Story
3
Web Vitals
7
web.dev
1
WebAssembly
6
WebAuthn
1
WebGL
5
Webhook
1
WebM
1
WebMusic
5
WebRTC
1
WebView
1
Windows
1
Women in Gaming
1
Women Techmakers
1
Women Techmakers Scholars Program
1
WomenDeveloperAcademy
1
Wordpress
2
workmanager
1
WTM
8
Xcode
1
YouTube
18
YouTube API
1
youtube select
1
インタビュー
1
コードサンプル
1
サプライ チェーン
1
プライバシー
1
機械学習
3
言論の自由
1
節電
3
定期購入
1
東日本大震災
9
日本語入力
41
ブログ アーカイブ
2024
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2023
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2022
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2021
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2020
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2019
12月
11月
10月
9月
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月
2014
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2013
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2012
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2011
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2010
12月
11月
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"