๐Federated Learning ์ ์
Federated Learning: ๋ค์์ ๋ก์ปฌ ํด๋ผ์ด์ธํธ์ ํ๋์ ์ค์์๋ฒ๊ฐ ํ๋ ฅํ์ฌ ๋ฐ์ดํฐ๊ฐ ํ์ค์ํ๋ ์ํฉ์์ ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ํ์ตํ๋ ๊ธฐ์
→ ์ค๋งํธํฐ๊ณผ ๊ฐ์ ๊ฐ๊ฐ์ ๋๋ฐ์ด์ค์์ ์ถ์ ๋ ๋ฐ์ดํฐ๋ฅผ ํตํด ๊ฐ๋ณ์ ์ผ๋ก ๋ก์ปฌ ๋ชจ๋ธ์ ํ์ตํ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ์๋ฒ์ ๋ฉ์ธ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๋ ๊ธฐ์
์์) G Keyboard : ๊ตฌ๊ธ์์ ์ถ์ํ ํค๋ณด๋๋ก์จ ์ฌ์ฉ์๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ๋จ์ด๋ฅผ ํ์ตํด ๊ด๋ จ ๋จ์ด๋ฅผ ํค๋ณด๋๋ก ์ณค์ ๊ฒฝ์ฐ ์์ ๋ฌธ์ฅ์ ์ ์ํจ
→ ํด๋น ๊ธฐ์ ์ 2015๋ ์ ์ฒ์ ๋ ผ๋ฌธ์ผ๋ก ๋ฐํํ ์ดํ, 2017๋ ๊ตฌ๊ธ AI ๋ธ๋ก๊ทธ์์ ๊ณต์์ ์ผ๋ก ์๊ฐ๋๊ณ G Keyboard์ ์ ์ฉ๋ ๊ธฐ์ ๋ก์จ ๋ง์ ์ฃผ๋ชฉ์ ๋ฐ๊ธฐ ์์
๐Federated Learning์ด ๋์จ ๊ณ๊ธฐ
→ Motivation: ๋ง์ DL/ML ๋ชจ๋ธ์ ํ์ต์ํค๊ธฐ ์ํด ์ฃผ๋ก big data๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋๋ฐ ์ด๋ฐ ๋ฐ์ดํฐ ์์ง ๊ณผ์ ์์ “๊ฐ์ธ ์ ๋ณด ๋ณด์ ์ด์”๋ฅผ ์ค์ด๊ธฐ ์ํจ / ๋ฐ์ดํฐ๋ฅผ ๋ฉ์ธ ์๋ฒ๊ฐ ์๋, ๊ฐ๊ฐ์ธ์ ๋ก์ปฌ์์ ํ์ต์ ์ํจ ํ → ์ ๋ฐ์ดํธ๋ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๊ฐ์ ์ค์ ์๋ฒ๋ก ๋ณด๋ด ์ทจํฉํด์ ํ๋์ ๋ฉ์ธ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ ํ๋ ๊ฒ (์ค์ ์๋ฒ๋ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์์๋, ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ํ์ตํ ํจ๊ณผ๊ฐ ๋์ด)
๐Federated Learning ์ฅ์
→ ์ฅ์ :
๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์ ํฅ์ / ์ปค๋ฎค๋์ผ์ด์ ํจ์จ์ฑ
- ๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์ ํฅ์ : ๋ณ์์ ์์ ๋ฐ์ดํฐ์ ๊ฐ์ ํ์ ๊ฐ์ธ์ ๋ณด๊ฐ ๋ณดํธ๋์ด์ผ ํ๋ ์ํฉ์์ ๋ฐ์ดํฐ ์ ์ถ ์์ด ํ์ต์ด ๊ฐ๋ฅ
- ์ปค๋ฎค๋์ผ์ด์ ๋น์ฉ ๊ฐ์ : ์ ๋ง๊ฐ์ ๋ก์ปฌ ๋๋ฐ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ค์ ์๋ฒ๋ก ์ ์กํ๊ฒ ๋๋ฉด ๋คํธ์ํฌ ํธ๋ํฝ๊ณผ ์คํ ๋ฆฌ์ง ๋น์ฉ์ด ์ฆ๊ฐํ๋๋ฐ ์ด ํ์ต๋ฒ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ก์ปฌ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ ์ ๋ณด๋ง์ ์ฃผ๊ณ ๋ฐ์ผ๋ฏ๋ก ์ปค๋ฎค๋์ผ์ด์ ์๋นํ ์ปค๋ฎค๋์ผ์ด์ ๋น์ฉ์ด ๊ฐ์
๐Federated Learning ์๊ณ ๋ฆฌ์ฆ
→ ๊ตฌํ ์๊ณ ๋ฆฌ์ฆ
(1) ์๋ฒ์ ๋ฉ์ธ ๋ชจ๋ธ ์ค๋น
(2) k๊ฐ์ ํด๋ผ์ด์ธํธ ์ค m๊ฐ๋ฅผ ๊ณ ๋ฅด๊ณ → ๋ฉ์ธ ๋ชจ๋ธ์ ๋ณด๋
(3) ๊ฐ ํด๋ผ์ด์ธํธ ๋ด์์ ํด๋ผ์ด์ธํธ๋ค์ด ๊ฐ๊ณ ์๋ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ๋ฉ์ธ ๋ชจ๋ธ์ ํ์ต
(4) ๊ทธ weight๋ฅผ ๋ค์ ์๋ฒ๋ก ๋ณด๋
(5) ๊ทธ๋ ๊ฒ ๋ชจ์ธ weight์ weighted sum์ ์ทจํด ์๋ฒ์ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ
๐Federated Learning ์ฑ๋ฆฐ์ง
→ ์ถ์ฒ: 2019๋ 6์17-18์ผ์ ๊ฐ์ต๋ “์ฐํฉ ํ์ต๊ณผ ๋ถ์ ์ํฌ์” / “Advances Problems in Federated Learning”
- ์์ ํ์ค์ ํ์ต(Fully Decentralized Learning) :
- ์ฐํฉํ์ต์ ๊ธฐ๋ณธ์ ์ธ ์์ด๋์ด๋ ์ค์ ์๋ฒ์์ ๋ก์ปฌ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ๋ฉ์ธ ๋ชจ๋ธ์ ์์ ํ๋ ๋ฐฉ๋ฒ
- ํ์ง๋ง, ์ค์์๋ฒ์ ์กด์ฌ๋ ๋๋๋ก ๋ฌธ์ ๊ฐ ๋จ → ๋จ์ผ ์๋ฒ ๋ชจ๋ธ์ด๊ธฐ ๋๋ฌธ์ “๋จ์ผ ์ฅ์ ์ง์ ” ๋ฌธ์ ๋ฐ์ / ํญ์ ์๋น์ค ๊ฐ๋ฅํ ์ํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ฅ๊ธฐ์ ์ผ๋ก ๋ณด๋ฉด ๋ฌธ์ ๋ฐ์
- ์์ ํ์ค์ ํ์ต์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด → “๋คํธ์ํฌ์ ์ปค๋ฎค๋์ผ์ด์ ๋ฐฉ์”์ Peer-to-Peer Network ํํ๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ
- ๋คํธ์ํฌ์ ๋ชจ๋ ๋ ธ๋๋ ๊ทธ๋ํ ํํ๋ก ์ฐ๊ฒฐ๋์ด ์๊ณ / ํ ๋ฒ์ ํ์ต ๋จ๊ณ๋ง๋ค ์์ ์ ๋ก์ปฌ ์ ๋ฐ์ดํธ๋ฅผ ์ฐ๊ฒฐ๋ ์ด์ ๋ ธ๋์ ๊ตํํ๋ ๋ฐฉ์์ผ๋ก ๋ฉ์ธ ๋ชจ๋ธ์ ์์ฑ
- ํ์ค์ ํ์ต์ P2P ๋คํธ์ํฌ ์ ํ ์ ๋ฌธ์ ์ :
- ๋คํธ์ํฌ ํ ํด๋ก์ง ๋ฐ ๋น๋๊ธฐ ํต์ ๋ฌธ์ :
- ํ์ต์ ์ฃผ์ด์ง ํ๊ฒฝ์์๋ ์ํด์ผ ํ๋๋ฐ P2P ๋คํธ์ํฌ์์๋ ์ฐธ์ฌ ๋ฐ ์ดํ์ด ์์ ๋ก์ → ๋คํธ์ํฌ ๊ตฌ์ฑ์ด ๋งค๋ฒ ๋ฐ๋
- ํน์ ๋ ธ๋๊ฐ ํต์ ์ด ๋ถ์์ ํ ๊ฐ๋ฅ์ฑ์ด ์์
- ๋ฉ์์ง๋ ํญ์ ์ง์ฐ์ด ๋ฐ์ํด ๋ ธ๋ ์ฌ์ด ๋๊ธฐํ๊ฐ ์ ์๋์ด ์์ ์ ์์ ⇒ ๋ชจ๋ ๋ ธ๋๋ ์์ ํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๊ณ , ์ค์ ๋ฉ์์ง๊ฐ ๋๋ฌ๋์ง ์๋๋ผ๋ robustness(๊ฒฌ๊ณ ํจ)์ ๊ฐ์ ธ์ผ ํจ
- ๋คํธ์ํฌ ํ ํด๋ก์ง ๋ฐ ๋น๋๊ธฐ ํต์ ๋ฌธ์ :
- ํ์ค์ SGD์ ๋ก์ปฌ ์ ๋ฐ์ดํธ ๋ฌธ์ : ๋ก์ปฌ ๋๋ฐ์ด์ค๊ฐ ๋ฉ์ธ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๊ธฐ ์ ์ ๋ช ๋ฒ์ ๋ก์ปฌ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ํ ๊ฒ์ธ์ง → ์ผ๋ฐ์ ์ผ๋ก ํ ๋ฒ์ ๋ก์ปฌ ์ ๋ฐ์ดํธ ์ดํ ๋ค๋ฅธ ๊ธฐ๊ธฐ์ ํต์ ํด์ ๋ชจ๋ธ์ ๊ฒฐํฉ / ํต์ ๋น์ฉ ์ฆ๊ฐ
- ์ ๋ขฐ ๋ฌธ์ : ์ฐธ์ฌ์ ์ดํ์ด ์์ ๋ก์ด P2P ๋คํธ์ํฌ๋ก ๊ตฌ์ฑ๋ ํ์ต์ ์ ์์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ํ์ตํ๋ ์ํฉ์ ์๊ฐํด์ ๋ชจ๋ธ์ ๋ง๋ค์ด์ผ ํจ
- ๊ฐ์ธํ: FL๋ก ์์ฑ๋ ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ๊ฐ ๋ก์ปฌ ๋๋ฐ์ด์ค์ ์ฉ๋์ ๋ฐ๋ผ ๋ณํํ์ฌ ์ฌ์ฉํ ์ ์์ด์ผ ํจ
- NEXT-word prediction์ ์ํํ๋ค๊ณ ํ์๋ → ๊ฐ ๋ก์ปฌ ๋๋ฐ์ด์ค๋ ์๋ก ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฉ์ธ ๋ชจ๋ธ์ ๋ก์ปฌ์ ์ ์ฉํ ๋ ๋ค๋ฅธ feature๋ฅผ ๊ฐ๋ ๋ชจ๋ธ์ด ํ์ํ ์๋ ์์
๐Federated Learning ํด๊ฒฐ๋ฒ
→ ์ฐํฉ ํ์ต์ ํจ์จ์ฑ ๋์ด๋ ๋ฒ
- **ํ์ต ๋ฉ์ธ ๋ชฉํ** : ๋ฐ์ดํฐ๋ ๊ณต์ ํ์ง ์์ผ๋ฉด์ / ๋ชจ๋ ๋ฐ์ดํฐ์ ์ ํ์ตํ ๊ธ๋ก๋ฒ ๋ชจ๋ธ(๋ฉ์ธ ๋ชจ๋ธ)์ ๋ง๋๋ ๊ฒ
- ์ด ๋๋ฌธ์ ๊ฐ๊ฐ์ ๋๋ฐ์ด์ค์์ ์์ฑ๋๋ ๋ฐ์ดํฐ๋ Non-IID(Independent and Identically Distributed)์ด๊ธฐ ๋๋ฌธ์ → ์๋ฒฝํ๊ฒ ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ์ต์ ํํ๋ ๊ฒ์ ์ด๋ ค์
- Non-IID ๋ฐ์ดํฐ์ ? : ์ฌ์ฉ์๊ฐ ๊ฐ๊ณ ์๋ ๊ฐ ๋ฐ์ดํฐ๊ฐ ๋ ๋ฆฝ + ๋์ผํ ํ๋ฅ ๋ถํฌ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค
- EX) ์ธ๋ฌผ ์ฌ์ง Classifier๋ฅผ ๋ง๋ ๋ค๊ณ ํ์๋ / ๋ํ๋ฏผ๊ตญ์ ๊ฑฐ์ฃผํ๊ณ ์๋ ์ฌ์ฉ์์ ์จ๋ฒ์๋ ๋์์ธ์ ์ฌ์ง์ด ๋ง์ ๊ฒ์ด๋ค → ๋์ค์ ์ด๋ฅผ ํ์ต์ํจ ๋ชจ๋ธ๋ก ๊ธ๋ก๋ฒ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ ํ์๋ ๋์์ธ๋ง ์ ๊ตฌ๋ถํด๋ด๋ ๋ฌธ์ ๋ฐ์ ⇒ Universalํ classifier๋ฅผ ๋ง๋ค ์ ์๋ค
- ์ด๋ฌํ **๋ฌธ์ ํด๊ฒฐ๋ฒ **: ๊ฐ๊ฐ์ ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์ผ๋ถ๋ถ์ ์ค์ ์๋ฒ์ ์ ์ถํด์ “๊ณต์ฉ ๋ฐ์ดํฐ”๋ก ์ฌ์ฉํ๋๋ก ํ๋ ๋ฐฉ๋ฒ ←→ ๋ฐ์ดํฐ ๋ณด์์ฑ ๋ฌธ์ ์ ์ถฉ๋
- ์ปค๋ฎค๋์ผ์ด์ ๋น์ฉ ๋ฌธ์ → ๋คํธ์ํฌ ๋์ญ์ด ๋ฎ๊ณ ๋ถ์์ ํ ์ํฉ์์ / ๋ ์ดํด์ ๋๋ฌธ์ ํ์ต์๋๊ฐ ๊ธ๊ฒฉํ ๋ฎ์์ง ์ ์์
⇒ “FedAvg: Federated Averaging” ; classification ๋ชจ๋ธ ์ฐ๊ตฌ์์ ResNet, GoogleNet๊ณผ ์ด๊นจ๋ฅผ ๋๋ํ ํจ
ref.
[์ฐํฉ ํ์ต(Federated Learning), ๊ทธ๋ฆฌ๊ณ ์ฑ๋ฆฐ์ง]
[google ai blog]
https://ai.googleblog.com/2017/04/federated-learning-collaborative.html
[Federated Learning ๋ด ๋ง๋๋ก ์ ๋ฆฌ]