![みんなオラに元気を_分けてくれ_](https://assets.st-note.com/production/uploads/images/11739502/rectangle_large_type_2_e8018385c6afdb2b2727ee4a28099f70.png?width=1200)
Day17.みんなオラに元気を分けてくれ!
どこかで聞いたセリフですね。
そうです!ドラゴンボールの悟空が元気玉を放つために
エネルギーを溜めてるシーン。
それとこれから話をする
『フェデレーションラーニング』
がどう関係するかちょっと説明していく。
(いや関連性ないかもだけど・・・)
まずはAIのお話をちょこっとします。
一般的にAI処理をする部分は
⚫️クラウド側(サーバ側)
⚫️エッジ側(端末側)スマホ上など
に分けられます。
ディープラーニングの処理の重さにもよるけれども
クラウドであればマシンパワー制約が少ないので
かなりの高性能な処理ができます。
しかし、データをネットワークを介してサーバに送る必要があるため
回線利用料や遅延などコスト面やリアルタイム性にかけます。
一方でエッジ側(例えばスマホ)であれば
その場で識別・認識して結果を出す事ができるので
リアルタイム性には有利ですが、当然スマホのような端末なので
できる事に限りがあります(ガンガン顔認識するなどには向かない)。
でもスマホ上などのエッジ側でもAI処理したいよね?
エッジ側で学習して推論するのは”オンデバイスAI”と言います。
但し、自分の端末で得た情報のみでしかアップデートができないので
クラウド上の様に膨大なデータを扱った精度向上ができない。
そこでGoogleが開発した技術がフェデレーションラーニングです。
”学習モデルをみんなで共有するシステム”
”連帯学習”
スマホ上で学習しつつ、AI処理(推論)もして
さらにクラウドと連携して学習モデルもアップデートする。
結局クラウド使うのか?って思うかもしれませんが
ちょっと違います。
※Googleの「Pixel3」「Pixel3 XL」の専用AIチップに搭載。
※2018年11月1日発表。
フェデレーションラーニング(Federated Learning)
これすごいって思った!!
アプローチはこんな感じだそうです。
出展(Google)
https://developers-jp.googleblog.com/2017/05/federated-learning-collaborative.html
まずは共有のモデルをダウンロードします。(例:顔認識モデル)
①カメラで写真を撮る(画像データ)
②自分のスマホのネットワークで学習して、モデルを改善する。
③改善点のみデータを小さくまとめる
④その改善点(元データとの差分)のみをクラウドにアップ(暗号化後)
(※モデル全体でないので容量小。差分なのでプライバシーも大丈夫)
⑤ほかのユーザのデータもクラウド上にまとめて平均化して更新
→共有データがアップデートされる!
ポイントは④ですね。
通常のクラウドと違うのはこの差分のみ暗号化して送る。
自分だけのデータだと精度が限られますが、
各デバイスの差分データを使って、共有モデルがパワーアップして
それをさらに使えるので精度が上がっていきます。
技術的には様々なデバイスから条件の違ったものがアップデートされるのでそれを平均化してモデルを向上するのは結構難しいのかな?って思いますが、それを実現しているGoogleはすごいと思いました。
メリット
✅優れたモデルが使える(共用するため。衆知を集める)
✅低いレイテンシ、高速(クラウド介さず、端末だけでAI処理)
✅省電力の実現(スマホで実現)
✅プライバシーも保護(差分のみクラウドへ)
「Now Playing」…流れている音楽を検索する
「TopShot」…ベストショット撮像
「Gboard」…Googleのキーボードアプリ
「Call Screen」…発話内容の文字起こし
といった機能に使われてます。
フェデレーションラーニングが実行されるのは睡眠時
ユーザがスマホを使っていない時つまり充電してたり
アイドル状態の時に実行されるようである。
(「充電中(電源接続中)」かつ「Wi-Fi接続中」かつ「待機中」)
人間も睡眠時に記憶が定着するのと同じイメージ!
ユーザエクスペリエンスを阻害しない!
今はアップデートの時代。
ハードがそのままでも、みんなが使った経験を元に学習して
さらに良いソフトウェアになっていく。
世界中からみんなでちょっとずつ元気(データ)を集めて
巨大なエネルギーとしてみんなで活用する!
そう元気玉だ!(ちょっと強引ですがw)
この記事が気に入ったらサポートをしてみませんか?