I/O Extended 2019 Osaka by GDG Kyoto 参加レポート #io19 #io19jp

はじめに

Google I/O 2019 の報告会「I/O Extended 2019 Osaka by GDG Kyoto」の参加レポートです。

私の発表内容は下記です。

初めて Google I/O に参加した人として「I/O Extended 2019 Osaka by GDG Kyoto」で登壇してきた #io19 #io19jp

この記事では、他の方の発表内容について記載します。

Google Developer Expert (GDE) : 田中洋一郎さん

Google Developer Expert (GDE) : TakuyaShimmura さん

  • ML(Machine Learning)の GDE
  • 初めて Google I/O に行った
  • ML について Google I/O 2019 で初めての発表された内容は少なかった。復習が多かった
  • ML のエンジニアの方は? -> 3 人くらい?
  • ML に興味ある人? -> 3 割くらい
  • Cloud TPU Pods
    • Google の Deep Learning に特化した ASIC
      • TPU Core
        • コアが 2 個
      • Cloud TPU v2
      • Cloud TPU v3
    • Why is TPU fast?
      • bfloat16 型を用いることで収束精度は低下させることなくパフォーマンス向上
      • float16 型 との違い
        • (ここで、Google のドキュメントから引用した図の float16 の range の記載が誤っていることに気づく)
        • float16 はすぐにオーバーフローしてしまう
        • bfloat16 は exponent、指数を 3bits 増やしてる
      • (TPU のドキュメントにデータの流れの GIF 動画がある)
    • How fast?
      • 時間あたりのコストは高いが処理が早く完了するのでその分安くなる
      • v2 と v3 の違い
        • 大きい画像にするほど差が出てくる(v3 が早い)
    • How to use?
      • Compute Engine
      • k8s Engine
      • ML Engine
    • TPU Pods (Public Beta)
      • 今回、Public Beta になった
      • 大規模分散向け
      • コードはほぼ変えることなくシングルノードのように扱える
        • まったく変えなくてもよかったかも
    • How fast?
      • ResNet-50 の訓練を 7.9 分で完了
  • AutoML
    • AutoML Vision
      • Classfication
      • Vision Edge
      • Object Detection
    • Natural Language
      • Classfication
      • Entity Extraction
      • Sentiment Analysis
    • Video Intelligence
    • Translation
    • Tables: CSV データや Big Query のようなテーブル構造のデータがあれば
    • Neural Architecture Search to find a model
      • ニューラルネットワークのモデルをニューラルネットワークで学習(?)
    • Perfomance of NAS(上記の略称?)
      • 画像分類においては訓練時間・精度ともに人間が作ったモデルを圧倒
    • Auto ML Tables のデモ
      • CSV データや Big Query のようなテーブル構造のデータに対する Auto ML
      • ターゲットを指定して回帰・分帰のどちらでも可能
      • 時系列データ予測なども可能
      • BQ を指定する場合は、BQ のプロジェクト ID などを指定するだけ
      • CSV はファイルをアップロードするだけ
      • 列名に対して変数タイプや null を許容するかなどのスキーマを指定できる
      • ターゲット列を選択する(予測する対象)
      • ターゲット列に対する他の列の重要度なども確認できる
      • 重み列
        • 重視する列を指定できる
  • Cutting Edge of TensorFlow
    • TensorFlow ファミリー
      • Probability
      • Agents
      • Privacy
      • Ranking
      • Federated
    • TensorFlow Graphics
      • 3D モデルに対するレンダリング処理とかを扱える
      • 2 次元の画像に対して、3 次元の画像を予測をする(?)
        • 2D の画像を突っ込むだけで 3D が作れることを目標として開発が進められている。
      • TensorBoard Extension も用意されている
      • 2D の画像に対する姿勢推定でも活躍
  • Machine Learning Fairness
    • Google AI Principles
      • 7 個あるうちの以下が重要
        • Avoid creating or reinfocing unfair bias
          • 社会のため、人のためになる AI を作っていく中で重要になる要素のうちの一つ
        • 人間のプロダクトデザインの歴史が解説されていた
          • プロダクトデザインは全ての人のニーズに合わせて決められるわけではない。
            • バンドエイドの色とか
        • どのようにバイアスが入るか解説されていた
          • パイプライン上の多くの箇所でバイアスが入る
        • バイアスの例
          • 特定の民族の結婚衣装を認識できないとか
        • 多様性のあるデータを集めよう
          • Google Clips
          • 根性いる。解決方法も言及されている
          • 苦手な部分のデータを集める
          • グループ間で誤差が出ないように(誤差関数?)
        • 結果に対してユーザーが手動でバイアスを選択できるように機能を設計する
      • Data Cards / Model Cards
        • データ・セットやモデルについて透明性を担保するためのフレームワーク
      • Fiarness Indicator
        • (モデルに対する公平性を計測するものっぽい)
  • 質疑応答
    • Google I/O の前に Cloud Next でほとんど発表されてしまったことについてどう思う?
      • 確かに技術的にすごい発表は Google I/O ではなかった。
      • でも、Google I/O では世の中のために、という点にフォーカスされているセッションが多くて良かった。
    • Tensorflow と TPU を比較したときに Tensorflow のほうが早いという噂を聞いたが、どうか?
      • (登壇者と複数の参加者を含めて議論。比較対象が誤っているのでは?という話で終始した感じ)
    • ML を使用した事例はほかにあったか?
      • AI といっしょに絵をかくというような事例があった
      • いっしょに音楽を作るとか

有山圭二さん (有限会社シーリス)

  • Twitter やってません
  • Google I/O とは
    • GW は避けてくれとアンケートに書いた
    • 昔はセッションの予約ができなかったから長蛇の列で大変だった
      • だから GDG のラウンジで寝てた
      • 年々良くなってる
    • デジタル・デトックス
      • デジタルから離れましょうという場所だけど携帯さわってる人多数
      • 交流のための場所だがただの休憩所になってる
    • セキュリティがある
      • YouTube が武装した襲撃を受けた年があり、そこからセキュリティが入るようになった。
      • 白バイもいる
      • 警察犬もいる
    • Google の開発者向けイベントたくさんある
      • なぜ Google I/O に行くのか
        • Google の本社が近いから、Google の開発者が来やすい。会いやすい
    • Android Platform (Q)
      • storage
      • Security
      • Dark theme
      • Bubbles
    • Android Studio
      • UI Tools
      • Debug Tools
    • Android Jetpack
      • Camera X
        • ありがたい
      • Jetpack Compose
        • コードで UI をゴリゴリ書ける
        • ノルかソルか決めかねている
  • Google 開発者サービス
    • In-app Update
  • Google Play
    • Internal App Sharing
  • Firebase
    • Auto ML Vison
    • (聞き逃した)
  • 学生さんは? -> 5 人くらい
  • YouTube は字幕出る
  • ML 関係の注目ポイント
    • Get started with TensorFlow's High-Level APIs (Google I/O '18)
      • これを tweet したら、記事を書いた御本人が RT
      • 御本人(ローレンスさん)もずっとおなじ図を使っていたけど、今年は Programming -> Traditional Programming とわざわざ変えた
  • I/O の背景
    • マウンテンビュー・ダウンタウンで毎年新聞を買う。
    • ことしの一面は Uber のストライキ。
    • いつもは Google I/O のことが載ってる。今年は Business Report のところに Pixel の新機種の話だけ。
    • オークランドが顔認識のソフトを拒否、サンフランシスコは前から。(Google I/O の Privacy まわりの発表がメインになってたのはこれが背景だろうという話)
    • 「Google Control is not privacy #savelocalnews」という飛行機がずっと飛んでた
  • 質疑応答
    • GDG 神戸 の勉強会で 2017 年にはローレンスさんはすでに traditional programming という言葉を使用していた
      • 今になって Google I/O という大舞台で使ったことが重要
    • 発表内容に少しまずい表現があった。Google が以前 AI という言葉を使わなかった理由は宗教ではない。AI を使用したプロダクトへの理解の妨げになるから、ML という言葉を使ったというのが公式見解。
      • Tensorflow をリリースしたときに MI マシンインテリジェンスという言葉を使った。
    • Youtube で見れますというのは本当。でも、もっと Google I/O でしか得られない話をしないと。
      • 肉がおいしい。
      • Google I/O に行ったことがある人は? -> 10 人くらい
      • 応募するのはタダ。当たってから考える

Rie Kanetaka さん (GDG 京都)

  • Women Techmakers について
    • Google I/O 2019 の参加者は 総勢 7000 人。女性は 26%。
    • Women Techmakers の I/O における取り組み
      • Dinner(お食事会)
      • Meetup(交流会)
      • picture(女性参加者集合写真)
    • その存在の明示(誤解や無意識な偏見の解消)
    • 励まし合うためのコミュニティ活動
    • キャリアプラン(スキル獲得)のためのリソース
    • 公式サイト
    • Twitter
    • YouTube
    • IWD 2019 WTM Kyoto meetup - connpass
  • Flutter についてちょっとしたこと
    • ダークテーマ対応
    • Dart に Non Nullable Types 追加

furusin さん

  • 2011 年の Google I/O との違い
    • そもそも場所が違う
      • 2015 年以前: サンフランシスコのモスコーニ・センター
      • 2016 年以降: マウンテンビューのショアライン・アンフィシアター
    • 協力企業とかのブースがなくなってた
    • I/O 前日の Google の BootCamp がなかった
    • おみやげがない
      • 2011 年は ChromeBook, Galaxy Tab, etc
    • チケット代が爆上がり($150 -> $1150)
      • 前回の参加時は学生価格でチケットを買った
    • Uber/Lyft が現れた
    • Airbnb が現れた
    • ドロイドくんの腕が取れてた
  • Android Q で対応が必要なころ
    • Gestural Navigation(今日する話)
    • Dark Theme(今日する話)
    • SYSTEM_ALERT_WINDOW deprecated
    • android.preference deprecated
    • バックグラウンドでロケーションが必要な場合、追加の Permission が必要
    • Share Sheet
    • Bubbles
    • etc...
  • Gestural Navigation
    • Navigation Bar のタイプ
      • 3type
      • Full Gestural
      • 2-button
      • 3-button
    • Google の人いわく、メーカーによって Navigation Bar のデザインが違うため、ベースを統一したかった。
    • Gesture の種類
      • 左右ともに戻る
      • 下部からスワイプ。アプリの切り替え
        • 指を離したら、onPause -> onStop
        • 戻ってきたら、onRestart -> onResume
    • 対応のロードマップ
      • UI を edge-to-edge にする
        • Step1. Status Bar の後ろも描画する
        • Step2. Navigation Bar の後ろも描画する
        • Step3. Insets
          • System Window Inset
            • クリック可能な View は避けて配置する
    • Gesture と競合するものをいい感じにする
      • View.setSystemGestureExclusionRects()で競合を奪える
    • DrawerLayout と SeekBar は別途 AndroidX でうまいことしてくれる
  • DarkTheme
    • アプリをより暗い環境でも使いやすくするため
    • バッテリーを守る
    • 目の保養
    • 適用方法
      • Force Dark
      • Custom Dark
    • ダークモードの適用条件に複数のモード指定が用意されている
    • 画像もデークテーマ対応が必要
      • 画像の組み込み数が倍になるから、ベクターが有利と考えたけど、そこまでする必要があるかという問題もある。
    • アプリではテーマを選べるようにすべき
    • ダークテーマの ON/OFF でアプリが再起動される
    • WebView 内の画像が反転されていたり、されていなかったりして、微妙。注意したほうがいい。
    • 「対応しないという選択肢」はない
    • 勝手にはダークテーマの切り替えに対応しない

電子計算機研究会 学生さん

  • AutoML NL を試してみた

そのほか

  • なぜ今年はおみやげがなかったのか?
    • おみやげ目当ての参加者が増えるので、以前からそういう年があるらしい。
  • 学習モデルの軽量化により端末に組み込められることで、モデルが外部に流出する可能性が出てきたが問題はあるか?
    • 問題ない派: モデルは改良、応用を重ねていくものなので問題ない。
    • 問題ある派: 経営層は納得しない。モデルの暗号化などの機能が必要。