-
Federated Learning : ์ฐํฉ ํ์ต
๋ค์์ ๋ก์ปฌ ํด๋ผ์ด์ธํธ์ ํ๋์ ์ค์ ์๋ฒ๊ฐ ํ๋ ฅํ์ฌ ๋ฐ์ดํฐ๊ฐ ํ์ค์ํ๋ ์ํฉ์์ ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ํ์ตํ๋ ๊ธฐ์ .
๋๋ถ๋ถ์ DL/ML ๋ชจ๋ธ๋ค์, big data๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ตํ๋๋ฐ ์ด๋ฐ ๋ฐ์ดํฐ ์์ง ๊ณผ์ ์์ ๋ง์ ๊ฐ์ธ์ ๋ณด ๋ณด์ ์ด์๊ฐ ์๊ธธ ์ ์๋ค. ์ฐํฉํ์ต์, ๋ฐ์ดํฐ๋ฅผ ๋ฉ์ธ ์๋ฒ๊ฐ ์๋, ๊ฐ๊ฐ์ธ์ ๋ก์ปฌ ํด๋ผ์ด์ธํธ์ ๋๊ณ ๊ทธ ๋ก์ปฌ ํด๋ผ์ด์ธํธ์์ ํ์ต์ ์ํํ ํ, ์ ๋ฐ์ดํธ๋ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ค์ ์ค์ ์๋ฒ๋ก ๋ณด๋ด ์ทจํฉํด์ ํ๋์ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ ํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฉด ์ค์ ์๋ฒ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง์ง ์๊ณ ์์์๋, ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ํ์ตํ ํจ๊ณผ๋ฅผ ๋ธ๋ค.
์ฐํฉ ํ์ต์ ์ฅ์
๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์ ํฅ์ (๋ฐ์ดํฐ๊ฐ ๋คํธ์ํฌ๋ฅผ ํ๊ณ ์ด๋ํ์ง ์์ ์ ์ถ ์ํ ์ค์ด๋ฆ)
์ปค๋ฎค๋์ผ์ด์ ํจ์จ์ฑ(๋คํธ์ํฌ ๋น์ฉ : ๋ฐ์ดํฐ ์ด๋ > ํ๋ผ๋ฏธํฐ ์ด๋)
๊ฐ๋จ ์๊ณ ๋ฆฌ์ฆ
https://arxiv.org/pdf/1602.05629.pdf
1. ์๋ฒ์ ๋ฉ์ธ ๋ชจ๋ธ์ ์ค๋น
2. K๊ฐ์ ํด๋ผ์ด์ธํธ๋ค ์ค, (ํจ์จ์ฑ์ ์ํด) ๋๋คํ๊ฒ m๊ฐ๋ฅผ ๊ณ ๋ฅด๊ณ ์๋ฒ์ ์๋ ๋ฉ์ธ ๋ชจ๋ธ์ ๋ณด๋.
3. ๊ฐ ํด๋ผ์ด์ธํธ ๋ด์์ ํด๋ผ์ด์ธํธ๋ค์ด ๊ฐ์ง๊ณ ์๋ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด์ ๋ฉ์ธ ๋ชจ๋ธ์ ํ์ต.
4. ๊ทธ ๊ฒฐ๊ณผ weight๋ฅผ ๋ค์ ์๋ฒ๋ก ๋ณด๋
5. ๊ทธ๋ ๊ฒ ๋ชจ์ธ weight๋ค์ ๊ฐ์คํ๊ท ์ ์ทจํด ์๋ฒ์ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ. (๊ฐ์คํ๊ท : ๊ฐ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ์์ ๋ฐ๋ฆ)
์ด๋, ์ ๋ง ๋๋ ์ง ํ๋ผ๋ฏธํฐ๋ฅผ ํฉ์น๋ค๊ณ ์ ์๋ํ ๊น? ๋ผ๋ ์๋ฌธ์ ์ด ์๊น. ์๋ ์คํ์ด ์ด ๊ถ๊ธ์ฆ์ ํด๊ฒฐ.
์ด๋ MNIST data๋ฅผ federated learningํ loss ๊ฒฐ๊ณผ์ธ๋ฐ, ์ผ์ชฝ์ ์ด๊ธฐ์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ๊ฐ initializeํ ๋ค, ๊ฐ์ ํ๋ จ์์ผ ํฉ์น ๊ฒฐ๊ณผ์ด๊ณ ์ค๋ฅธ์ชฝ์ ์ด๊ธฐ์ ํ๋์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ initializeํ ๋ค, ๊ทธ ๋ชจ๋ธ์ ๋ํด ๊ฐ๊ฐ ํ๋ จ์์ผ ํฉ์น ๊ฒฐ๊ณผ. ๋์ผํ ์ด๊ธฐ ๋๋ค ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๊ฐ ํ์ตํ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํฉ์น ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ํจ์ฌ ์ ๋์จ๋ค.
๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ ๋์ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค.
์ฐํฉํ์ต์ ๋๊ฐ์ง ๋ฐฉ์
Cross-silo FL
๊ธฐ์ &๋จ์ฒด๊ฐ ์ฐํฉ. ์ฆ, ํด๋ผ์ด์ธํธ๋ ์กฐ์ง์ผ๋ก ๊ตฌ์ฑ๋จ. ๊ทธ๋์ ํด๋ผ์ด์ธํธ๋ ๋ชจ๋ ๋น์ต๋ช .
๋ฏธ๋ฆฌ ๊ณํ๋ ํ์ต์ด๊ธฐ ๋๋ฌธ์ ํ์ต์ด๋ ํฉ์น๋๋ฐ ์คํจํ ๊ฐ๋ฅ์ฑ์ด ์ ๋ค.
Cross-device FL
๋ก์ปฌ ๋๋ฐ์ด์ค๊ฐ ์ฐํฉ. ์ฆ, ํด๋ผ์ด์ธํธ๋ ๋ง์ ์์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ (ํน์ IoT ๊ธฐ๊ธฐ)
๊ฐ ํด๋ผ์ด์ธํธ๊ฐ ์ต๋ช ์ผ๋ก ์กด์ฌํ์ฌ, "์ ์์ ์ฌ์ฉ์"๊ฐ ์กด์ฌํ ์ ์์.
์ง๊ธ๊น์ง ๋ฐ๊ฒฌ๋ ๋ฌธ์ ์ ํด๊ฒฐ์ฑ ๋ค
- ์ฐํฉํ์ต์ ์ํ ์ ์ ํ ํ๋ จ๋ฒ
๊ธฐ์กด์๋ ๋ณดํต ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ์ ํฉํ SGD๊ฐ์ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ. ๊ทธ๋ฌ๋ ์ฐํฉ ํ์ต์์ ๋ฐ์ดํฐ๋ ๋งค์ฐ ๊ณ ๋ฅด์ง ์์ ๋ฐฉ์์ผ๋ก ์๋ฐฑ๋ง ๋์ ์ฅ์น์ ๋ถ์ฐ๋์ด์์. ๋ํ ์ด๋ฌํ ์ฅ์น(๋ก์ปฌ ๋๋ฐ์ด์ค)๋ ๋๊ธฐ ์๊ฐ์ด ํจ์ฌ ๋ ๊ธธ๊ณ ์ฒ๋ฆฌ๋์ด ๋ฎ์ ์ฐ๊ฒฐ์ ์ ๊ณตํ๋ฉฐ ๊ฐํ์ ์ผ๋ก๋ง train์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
=> ์ต์ ๋ชจ๋ฐ์ผ ์ฅ์น์ ๊ฐ๋ ฅํ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ๋จ์ํ ๊ทธ๋๋์ธํธ ๋จ๊ณ๋ณด๋ค ๋ ๋์ ํ์ง์ ์ ๋ฐ์ดํธ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ
- ์ ๋ง ์์ ํ๊ฐ? (๋ฐ์ดํฐ ์ ์ถ ๋ฌธ์ )
Deep Leakage from Gradients : gradient๋ฅผ ๊ฐ์ง๊ณ ์ญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํจ. (dummy ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ ๋ค ์ด ์ ๋ ฅ์ ๋ํ ํ์ฌ ๋ชจ๋ธ์ gradient๋ฅผ ๊ณ์ฐํ๊ณ , ์ด gradient๊ฐ ๋ชฉํํ๋ gradient์ ๊ฐ๊น์์ง๋๋ก ๋ฐ์ดํฐ ์์ฒด๋ฅผ update)
- ๋ชจ๋ธ์ ๋ค๋ฅธ ์ํฅ์์๋๊ฐ?
Adversarial attack(poisoning attack) : local model๋ค์ ํตํฉํด์ global model์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ด๋ผ ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ local model์ ๋ชจ๋ธ์ ๋ํด์ adversarial ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ฉด ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ๋ฎ์์ง.
=> ๋ฐฉ์ด๊ธฐ๋ฒ(adversarial training)๋ ์ฐ๊ตฌ์ค
(์ฌ๊ธฐ์๋ถํฐ๋ https://arxiv.org/abs/1912.04977 ์ฐธ์กฐ)
- ์ค์์๋ฒ์ ๋ฌธ์ ์
๋จ์ผ ์๋ฒ ๋ชจ๋ธ์ด๋ผ single point of failure ๋ฌธ์ ๊ฐ ์๊ณ , ํญ์ ์๋น์ค ๊ฐ๋ฅํ ์ํ๊ฐ ์๋๋ผ ์ฅ๊ธฐ์ ์ผ๋ก ๋ณด๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์์
=> ํด๊ฒฐ์ฑ : Fully Decentralized Learning (์์ ํ์ค์ ํ์ต) : ์ปค๋ฎค๋์ผ์ด์ ๋ฐฉ์์ Peer-to-Peer(P2P)๋ก ๋ณํ
- P2P ๋ฐฉ์์ ์์ ํ์ค์ ํ์ต์ ๋ฌธ์ ์
1. ๋คํธ์ํฌ ํ ํด๋ก์ง&๋น๋๊ธฐ ํต์ ๋ฌธ์
: ๋ชจ๋ ๋ ธ๋๋ ์์ ํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ง๋ง ๋ฉ์์ง๊ฐ ํน์ ํ๋ฅ ๋ก ๋๋ฌํ์ง ์๋ ์ํฉ์์๋ ๊ฒฌ๊ณ ํจ(robustness)์ด ํ์.
2. ํ์ค์ SGD์ ๋ก์ปฌ ์ ๋ฐ์ดํธ ๋ฌธ์
: ๋ก์ปฌ ๋๋ฐ์ด์ค๊ฐ ๊ธ๋ก๋ฒ ๋ชจ๋ธ๊ณผ ์ปค๋ฎค๋์ผ์ด์ ํ๊ธฐ ์ ์ ๋ช ๋ฒ์ ๋ก์ปฌ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ๊ฑด ์ค์ํ ๋ฌธ์ ๋ค.(why?)์ผ๋ฐ์ ์ผ๋ก ํ๋ฒ์ ๋ก์ปฌ ์ ๋ฐ์ดํธ ์ดํ ๊ธ๋ก๋ฒ ๋ชจ๋ธ๋ก ํฉ์น๋๊ฒ Non-IID ๋ฐ์ดํฐ ํ๊ฒฝ์์ ์๋ ด์ด ์ ๋๋ค๊ณ ์๋ ค์ ธ ์์ง๋ง, ํต์ ๋น์ฉ์ด ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ๋น ๋ฅด๊ฒ ์๋ ด์ ํ๋ ๊ฒ์ ์ด๋ ต๋ค.
3. ์ ๋ขฐ ๋ฌธ์
P2P๋ ์ฐธ์ฌ์ ์ดํ์ด ์์ ๋ก์์ ์ ์์ ์ธ ๊ณต๊ฒฉ์๋ ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ๊ฐ ํ์ต์ ์ฌ์ฉ๋ ์ ์์.
4. ๊ฐ์ธํ
: ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ๊ฐ ๋ก์ปฌ ๋๋ฐ์ด์ค์ ์ฉ๋์ ๋ฐ๋ผ ๋ณํํ์ฌ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค๋ ํน์ง. (Ex/ next-word prediction ์ธ์ด ๋ชจ๋ธ์ ์์ฑํ๋ค๊ณ ํ ๋, ๊ฐ ๋ก์ปฌ ๋๋ฐ์ด์ค๋ ์๋ก ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ๋ก์ปฌ์ ์ ์ฉํ ๋ ๋ค๋ฅธ feature๋ฅผ ๊ฐ์ง ๋ชจ๋ธ์ด ํ์) => ๊ฐ๋จํ๊ฒ๋ User Context ๊ฐ์ ์ ๋ ฅ๊ฐ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ. + ์ต๊ทผ์๋ ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ๋ก์ปฌ์์ Fine-Tuningํ๋ ์ฐ๊ตฌ ์งํ ์ค.
=> ํด๋น ๋ ผ๋ฌธ์์๋ ์์ ํ์ค์ ํ์ต์ ๋ฌธ์ ํด๊ฒฐ์ฑ ์ผ๋ก ๋ธ๋ก์ฒด์ธ๊ณผ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ ์ฌ์ ํด๊ฒฐ์ฑ ์ ํ๋ณด๊ตฐ์ผ๋ก ์ธ๊ธ
- ๋ฐ์ดํฐ์ non-IID ๋ฌธ์
Non-IID(Independent and Identically Distributed) : ๋ฐ์ดํฐ๊ฐ "๋น๋ ๋ฆฝ์ "์ด๊ณ , "๋์ผํ์ง ์๊ฒ ๋ถ์ฐ"๋จ.
์ฆ, ๊ฐ ํด๋ผ์ด์ธํธ๋ธ ๋ฐ์ดํฐ๋ ์ข ์์ ์ผ ์ ์๊ณ , ๋์ผํ ํ๋ฅ ๋ถํฌ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค๋ ๋ป์ด๋ค. ๋๋ฌธ์ ๊ธ๋ก๋ฒํ๊ฒ ์ต์ ํ๋ ๋ชจ๋ธ์ ๋ง๋๋ ๋ฐ ์ด๋ ค์์ด ์๋ค.
=> ์ต๊ทผ์ ๋์จ ํด๊ฒฐ์ฑ : ๋ฐ์ดํฐ์ ์ฆ๋ฅ(dataset distillation)
- Adversarial attack ๋ฌธ์
๋ณดํต ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ ์ค์ ์๋ฒ์์๋ง ์กด์ฌํด, ํด๋ผ์ด์ธํธ๋ ๋ชจ๋ธ ๋ด๋ถ๋ฅผ ๋ณผ ์ ์๋ "black-box" ์์คํ ์ด๋ค. ๊ทธ๋ฌ๋ FL์ ๋ก์ปฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฉ์ธ ๋ชจ๋ธ์ด ์ ๋ฌ๋๊ณ , ๊ฑฐ๊ธฐ์ ์ ๋ฐ์ดํธ ํ๋ค ๋ณด๋ ์ฌ์ฉ์๊ฐ ๋ชจ๋ธ์ ๋ด๋ถ๋ฅผ ๋ณผ ์ ์๋ "white-box" ์์คํ ์ด๋ค. ์๋์ ์ผ๋ก black box๋ชจ๋ค white box๊ฐ ์ ๋์ ์ธ ๊ณต๊ฒฉ์ ํจ์ฌ ์ทจ์ฝํ๋ฉฐ, ์์ง ์ฐ๊ตฌ๋ ๋ฐ๋ ์์ง๋ง FL์์๋ง ํตํ๋ ์ ์ฌ์ ์ธ adversarial vector๊ฐ ์์ ์๋ ์๋ค.
๊ณต๊ฒฉ ๋ฐฉ์์๋ Model update poisoning (ํ๋ผ๋ฏธํฐ๊ฐ ์ค์ผ), data poisoning(๋ฐ์ดํฐ ์ค์ผ), evasion attack(adversarial examples)
์์ฉ ๋ถ์ผ
- Intelligent recommendation
1. ๊ตฌ๊ธ ํค๋ณด๋์ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ : Gboard
gboard์ ์ ์๋ ์ฟผ๋ฆฌ๊ฐ ํ์๋๋ฉด, ํด๋์ ํ๋ ๊ทธ ์ ์์ ํด๋ฆญํ๋์ง ์ฌ๋ถ์ ๋ํ ์ ๋ณด๋ฅผ ๋ก์ปฌ์ ์ ์ฅ. Federated learning์ ๊ธฐ๊ธฐ์์ ๊ธฐ๋ก์ ์ฒ๋ฆฌํด์ gboard์ ์ฟผ๋ฆฌ์ ์๋ชจ๋ธ์ ๋ค์ ๋ฐ๋ณต์ ๋ํ ๊ฐ์ ์ฌํญ์ ์ ์.
(๋ก์ปฌ ๋๋ฐ์ด์ค ๋ด Train์์๋ TensorFlow ์ ์ถ์ ๋ฒ์ ์ฌ์ฉ + ์ฅ์น๊ฐ ์ ํด ์ํ + ์ถฉ์ ์ค + ์์ดํ์ด ์ผ ๋๋ง train ์ํ => ํด๋ํฐ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค(์ฃผ์ฅ))
https://ai.googleblog.com/2017/04/federated-learning-collaborative.html
2. ๋ ์ ์ ๋ฌธ์๋ฅผ ์ ๋ ฅํด์ ์ํ๋ ์น์ฌ์ดํธ ์ฐพ์ ์ ์๋๋ก ๋์.
- Vehicular network (์ฐจ๋ ๋คํธ์ํฌ)
GPS์์ ๊ฐ์งํ ์์น ๋ฐ ๋ฐฉํฅ, ์ฐจ๋์ ํ์ฌ๋ ์นด๋ฉ๋ผ๋ก ์บก์ฒํ ์ด๋ฏธ์ง, ์ ์ ์ผ์์ ์๋ ฅ ๋ฐ์ดํฐ์ ๊ฐ์ด ์ฐจ๋์์ ์ฅ์น๊ฐ ์์ฑํ๋ ๋ฐ์ดํฐ๋ ์๋์ฐจ ์ ์กฐ์ ์ฒด๊ฐ ์ง๋ฅํ ๋ด๋น๊ฒ์ด์ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์กฐ๊ธฐ์ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์๋ ๊ท์คํ ์์ => ์ด๋ฅผ ์ด์ฉํด์ train์ ํ ์ ์์.
- Healthcare system
1. ์๋ฃ ๋ถ์ผ : ํ์ ๋ฐ์ดํฐ์ ๊ฐ์ด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ์ง ์์ผ๋ฉด์ ๋ชจ๋ธ์ ํ์ต ๊ฐ๋ฅ.
๊ทธ ์ธ : A Survey on Federated Learning and its Applications for Accelerating Industrial Internet of Things
(https://arxiv.org/ftp/arxiv/papers/2104/2104.10501.pdf)
- ํ์ฌ ์์ฉ(์ฐ๊ตฌ) ๋ถ์ผ
FL for IIoT
Healthcare & Medical (HM)
Recommender System (RS)
Smart Transportation (ST)
Localization Service (LS)
Mobile Packet Classification (MPC)
Payment in Smart Finance (SF)
Data Relevance Analysis (DRA)
Object Detection in Computer Vision (CV)
Traffic Sign Classification in Smart City (SC)
Energy Prediction in Smart Energy (SE)
Anomaly Detection and Voice Assistant in Smart Building (SB)
Collision Detection and Imitation Learning in Autonomous Driving (AD)
- ์์ผ๋ก ๊ฐ๋ฅ์ฑ ์๋ ์์ฉ ๋ถ์ผ
AR/VR-guided operations
Precise robotics collaboration
Industrial environmental monitoring.
Product defect detection.
Optimal supply chain scheduling
Generative product design
Security
reference
https://seewoo5.tistory.com/22
https://zzaebok.github.io/federated_learning/machine_learning/Federated_Learning/
https://www.hitechnectar.com/blogs/applications-of-federated-learning/
https://arxiv.org/ftp/arxiv/papers/2104/2104.10501.pdf
'๐STUDY > Etc' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DirectML] DirectML ์ ๋ฆฌ + ์์ (1) (0) 2022.06.11 RDPWrap ์๊ฒฉ ๋ฐ์คํฌํฑ ์ธ์ ๋ค์ค ์ ์ (0) 2022.03.02 VMWare Ubuntu 16.07์์ ROS UVC_camera ์คํํ๊ธฐ (0) 2021.10.31 ๊ทธ๋ ์ด ์ฝ๋ Gray code? (0) 2020.02.28 ์ดํญ ๊ณ์ ๋ด ๋ง๋๋ก ์ ๋ฆฌ(with ์ฌ๊ท) (0) 2020.02.27 ๋๊ธ