Federated Learning
Birleşik öğrenme, ham verilerini yerel tutan ve yalnızca model güncellemelerini bir sunucuyla paylaşan çok sayıda cihaz veya kuruluşta tek bir modeli eğitir.
Federatif öğrenme, eğitim verilerini toplandıkları yerde tutan çok sayıda cihaz veya kuruluş arasında tek bir makine öğrenimi modelini eğitmenin bir yoludur. Koordinatör bir sunucu mevcut modeli katılımcılara gönderir; her katılımcı modeli kendi verileri üzerinde eğitir ve daha iyi bir ortak model oluşturmak üzere birleştirilecek güncellemeleri sunucuya geri gönderir. Google araştırmacıları bu yaklaşımı, kullanıcıların mobil cihazlarında kalan verilerle eğitim için Federatif Ortalama (FedAvg) algoritmasını tanıttıkları 2016 tarihli Merkezi Olmayan Verilerden Derin Ağların İletişim Açısından Verimli Öğrenilmesi makalelerinde adlandırdı. Modeli veriye götürmek; telefonların, hastanelerin ve bankaların, gizlilik kuralları, AB'nin GDPR gibi düzenlemeler veya verilerin tek bir veri gölünde bir araya getirilmesini engelleyen büyüklükleri nedeniyle birleştirilemeyen bilgilerden öğrenmesini sağlar.
Federatif Öğrenme Nasıl Çalışır#
Eğitim turlar hâlinde yürütülür. Sunucu kullanılabilir istemcilerden oluşan bir grup seçer ve küresel model ağırlıklarını onlara gönderir. Her istemci yerel verileri üzerinde birkaç gradyan inişi dönemi çalıştırır ve güncellenmiş ağırlıklarını geri gönderir. Ardından FedAvg, geri gönderilen ağırlıkların ortalamasını alır; her istemciye eğitim örneği sayısıyla orantılı bir pay verir ve sonucu bir sonraki turun küresel modeli hâline getirir. İletişim turları arasında birkaç yerel adım atmak, FedAvg deneylerinde eşzamanlı stokastik gradyan inişine kıyasla gereken iletişim turu sayısını 10 ila 100 kat azalttı. Bu kod, farklı miktarlarda veriye sahip üç istemcide doğrusal bir model için FedAvg'ı simüle eder:
import torch
torch.manual_seed(0)
true_w = torch.tensor([2.0, -3.0])
# Three clients with private datasets of different sizes; raw data never leaves a client
clients = []
for n in (50, 200, 500):
X = torch.randn(n, 2)
clients.append((X, X @ true_w + 0.1 * torch.randn(n)))
global_w = torch.zeros(2)
for r in range(1, 6):
weighted = []
for X, y in clients:
w = global_w.clone()
for _ in range(5): # local gradient descent steps on the client's own data
w -= 0.1 * 2 * X.T @ (X @ w - y) / len(y)
weighted.append(len(y) * w)
# FedAvg: average the client weights, weighted by each client's number of samples
global_w = sum(weighted) / sum(len(y) for _, y in clients)
print(f"round {r}: global weights {[round(v, 3) for v in global_w.tolist()]}")Kod, 1. turun ardından küresel ağırlıkları [1.354, -2.023], 3. turun ardından [1.935, -2.898] ve 5. turun ardından [1.995, -2.99] olarak yazdırır; sunucu yalnızca her istemcinin ağırlıklarını almasına rağmen gerçek değerlere [2, -3] yakınsar.
Cihazlar Arası ve Kurumlar Arası Federatif Öğrenme#
Federatif öğrenme, farklı kısıtlamalara sahip iki ayarda yürütülür. Cihazlar arası eğitim, her birinde az miktarda veri bulunan milyonlarca telefonu veya sensörü kapsar; cihazlar sık sık çevrimdışı olduğundan ya da pille çalıştığından her turda bunların yalnızca küçük bir bölümü kullanılır ve bağlantı kesilmelerine dayanıklı olunması gerekir. Google'ın Gboard klavyesi, sonraki sözcük tahmini modellerini bu şekilde eğitir. Kurumlar arası eğitim; güvenilir sunucularda büyük veri kümeleri tutan hastane veya bankalar gibi az sayıda kuruluşu birbirine bağlar. Federatif Tümör Segmentasyonu çalışmasında altı kıtadaki 71 sağlık kuruluşu, verileri paylaşmadan 6.314 hastanın 25.256 MRI taramasını kullanarak glioblastom segmentasyonu modeli eğitti; federatif model, cerrahi müdahaleyle hedeflenebilecek tümörü, herkese açık verilerle eğitilen bir modele kıyasla %33 daha iyi belirledi. Hangi ayarın uygun olduğu, verilerin nerede bulunduğuna bağlıdır:
Aynı döngü bilgisayarlı görü modelleri için de geçerlidir: her hastane, fabrika veya mağaza güncel küresel YOLO26 ağırlıklarını yükleyebilir, kendi görüntülerinde ince ayar işlemini standart Ultralytics YOLO eğitim modunu kullanarak yapabilir ve sunucunun ortalamasını alabilmesi için yalnızca güncellenmiş ağırlıkları geri gönderebilir. Flower ve NVIDIA FLARE gibi açık kaynaklı çerçeveler, her iki senaryoda da istemci seçimini, iletişimi ve toplulaştırmayı yönetir.
Gizlilik ve Güvenlik#
Verileri yerel tutmak, eğitimi tek başına gizli hâle getirmez; çünkü model güncellemeleri, kendilerini oluşturan veriler hakkında bilgi taşır. Deep Leakage from Gradients gibi gradyan tersine çevirme saldırıları, paylaşılan gradyanlardan eğitim görsellerini ve etiketlerini yeniden oluşturdu; üyelik çıkarımı saldırıları ise belirli bir kaydın kullanılıp kullanılmadığını sınar. Üretim sistemleri iki savunma ekler. Güvenli toplama, sunucunun yalnızca toplamı öğrenebilmesi için güncellemeleri şifreler; diferansiyel gizlilik ise her güncellemeyi kırpar ve tek bir kullanıcının katkısının geri elde edilememesi için ayarlanmış gürültü ekler; Google, federatif öğrenmeyle eğittiği Gboard'un sonraki sözcük tahmini sinir ağı dil modellerinin tümünün artık diferansiyel gizlilik güvencelerine sahip olduğunu bildirdi. Sunucu ayrıca, tek bir istemcinin etkisini sınırlayan koordinat bazında medyan gibi sağlam toplama kuralları kullanarak zehirlenmiş güncellemeler gönderen istemcilere karşı da korunmalıdır. Farklı katılımcılardaki istemci verilerinin (örneğin bir hastanenin tarayıcısı ile diğerininki) büyük ölçüde farklı olması, yerel modellerin birbirinden uzaklaşmasına ve yakınsamanın yavaşlamasına neden olur.
Federatif Öğrenme ve İlgili Terimler#
- Dağıtık eğitim: Daha hızlı eğitim için merkezi olarak depolanan bir veri kümesini tek bir veri merkezindeki çok sayıda GPU'ya böler. Federatif öğrenmede veriler taşınamaz; katılımcılar daha yavaştır, daha az güvenilirdir ve verileri farklı dağılımlara sahiptir.
- Bölünmüş öğrenme: Ağın kendisini istemci ve sunucu arasında böler ve ara etkinleştirmeleri paylaşır; federatif öğrenmede ise her istemci modelin tamamını alır ve ağırlıkları paylaşır.
- Veri gizliliği: Kişisel bilgileri korumaya yönelik daha geniş kapsamlı hedeftir. Federatif öğrenme, bu hedef için kullanılan tekniklerden biridir ve genellikle diferansiyel gizlilik ile güvenli toplamayı birlikte kullanır.
- Uç yapay zekâ: Modelleri cihazlarda çalıştırır. Cihazlar arası federatif öğrenme, bu cihazlarda eğitim yapmayı da ekleyerek uç yapay zekâyı genişletir.










