๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Naked Code
ML Basic

Federated Learning(์—ฐํ•ฉ ํ•™์Šต)

by bobmyeonsoo 2023. 8. 23.

๐Ÿ“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), ๊ทธ๋ฆฌ๊ณ  ์ฑŒ๋ฆฐ์ง€]

https://medium.com/curg/%EC%97%B0%ED%95%A9-%ED%95%99%EC%8A%B5-federated-learning-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%B1%8C%EB%A6%B0%EC%A7%80-b5c481bd94b7

[google ai blog]

https://ai.googleblog.com/2017/04/federated-learning-collaborative.html

[Federated Learning ๋‚ด ๋ง˜๋Œ€๋กœ ์ •๋ฆฌ]

https://at0z.tistory.com/163