Federated Learning
Federatif öğrenmenin (federated learning), veri gizliliğini korurken merkezi olmayan model eğitimini nasıl sağladığını keşfet. Ultralytics YOLO26'yı uç cihazlarda güvenli bir şekilde eğitmeyi öğren.
Federated learning, birden fazla cihazın ham eğitim verilerini paylaşmadan ortaklaşa bir model eğitmelerine olanak tanıyan merkeziyetsiz bir makine öğrenimi tekniğidir. Verilerin tek bir data lake veya sunucuda toplandığı geleneksel merkezi yöntemlerin aksine, federated learning modeli verinin olduğu yere getirir. Bu yaklaşım, data privacy ve güvenliği ele alış biçimimizi temelden değiştirerek, kuruluşların akıllı telefonlar, IoT cihazları veya özel sunuculardaki hassas bilgileri, verilerin asla kaynağını terk etmemesini sağlayarak kullanabilmelerine olanak tanır.
Link to this sectionFederated Süreç Nasıl Çalışır#
Federated learning'in temel mekanizması, merkezi bir sunucu ile katılımcı istemci cihazlar arasında tekrarlayan bir iletişim döngüsünü içerir. Bu süreç, kullanıcı anonimliğinden ödün vermeden küresel bir neural network modelinin sürekli olarak iyileştirilmesine olanak tanır.
-
Küresel Model Başlatma: Merkezi bir sunucu genel bir foundation model başlatır ve bunu seçili, uygun istemci cihazlardan oluşan bir gruba yayınlar.
-
Yerel Eğitim: Her istemci, kendi yerel, özel veri kümesini kullanarak model training işlemini bağımsız olarak gerçekleştirir. Bu, güncellemeleri cihaz üzerinde hesaplamak için Edge AI yeteneklerinden yararlanır.
-
Güncelleme Birleştirme: İstemciler ham görüntüleri veya metinleri yüklemek yerine, yalnızca model güncellemelerini, özellikle hesaplanan gradyanları veya model weights verilerini merkezi sunucuya geri gönderir.
-
Küresel İyileştirme: Sunucu, bu çeşitli güncellemeleri yeni ve daha üstün bir küresel modelde birleştirmek için Federated Averaging (FedAvg) gibi algoritmalar kullanır.
-
Yineleme: İyileştirilen model istemcilere geri gönderilir ve sistem istenen accuracy değerine ulaşana kadar döngü tekrarlanır.
Link to this sectionFederated Learning ile Distributed Training Karşılaştırması#
Farklı mühendislik problemlerini çözdükleri için federated learning ile benzer eğitim paradigmalarını birbirinden ayırmak önemlidir.
- Distributed Training: Bu genellikle tek bir veri merkezi gibi kontrollü bir ortamda gerçekleşir; burada devasa ve merkezi bir veri kümesi, hesaplamayı hızlandırmak için birden fazla GPUs birimine bölünür. Birincil amaç işlem hızıdır ve düğümler yüksek bant genişlikli bağlantılarla birbirine bağlıdır.
- Federated Learning: Bu, farklı pil ömürlerine ve ağ bağlantılarına sahip heterojen cihazların (cep telefonları gibi) bulunduğu kontrolsüz bir ortamda çalışır. Birincil amaç, saf hızdan ziyade gizlilik ve veri erişimidir.
Link to this sectionGerçek Dünya Uygulamaları#
Merkeziyetsiz veriler üzerinde eğitim yapabilme yeteneği, katı düzenleyici uyumluluğa bağlı endüstriler için yeni kapılar açtı.
- AI in Healthcare: Hastaneler, hasta kayıtlarını paylaşmadan medical image analysis kullanarak güçlü tümör tespit modelleri eğitmek için iş birliği yapabilir. Bu, kurumların HIPAA regulations ilkelerine bağlı kalırken daha büyük bir veri kümesinden faydalanmalarını sağlar.
- Tahminleyici Klavyeler: Mobil işletim sistemleri, sonraki kelime tahminini ve natural language processing (NLP) yeteneklerini geliştirmek için federated learning kullanır. Telefon, yazma alışkanlıklarını yerel olarak öğrenerek özel mesajları buluta iletmeye gerek kalmadan kullanıcı deneyimini iyileştirir.
- AI in Automotive: Otonom araç filoları, yerel yol koşullarından ve sürücü müdahalelerinden öğrenebilir. Bu içgörüler, terabaytlarca ham video akışını merkezi bir sunucuya yüklemeye gerek kalmadan filonun kendi kendine sürüş yeteneklerini güncellemek için birleştirilir.
Link to this sectionKod Örneği: Yerel İstemci Güncellemesini Simüle Etme#
Federated bir iş akışında istemcinin görevi, küresel modeli küçük ve yerel bir veri kümesi üzerinde hassas bir şekilde ayarlamaktır. Aşağıdaki Python kodu, bir istemcinin son teknoloji YOLO26 model kullanarak nasıl bir tur yerel eğitim gerçekleştirebileceğini göstermektedir.
from ultralytics import YOLO
# Load the global model received from the central server
# In a real FL system, this weight file is downloaded from the aggregator
model = YOLO("yolo26n.pt")
# Perform local training on the client's private data
# We train for 1 epoch to simulate a single round of local contribution
results = model.train(data="coco8.yaml", epochs=1, imgsz=640)
# The updated 'best.pt' weights would now be extracted
# and sent back to the central server for aggregation
print("Local training round complete. Weights ready for transmission.")Link to this sectionAvantajlar ve Gelecekteki Yönelimler#
Federated learning'in birincil avantajı privacy-by-design (tasarım gereği gizlilik) olmasıdır. Geliştiricilerin synthetic data veya GDPR gibi gizlilik yasaları nedeniyle aksi takdirde erişilemeyecek gerçek dünya uç durumları üzerinde eğitim yapmalarına olanak tanır. Ayrıca, yüksek çözünürlüklü video veya görüntü verileri yerel kaldığından ağ bant genişliği maliyetlerini düşürür.
Bununla birlikte, özellikle sistem heterojenliği (farklı cihazların farklı işlem güçlerine sahip olması) ve adversarial attacks saldırılarına karşı güvenlik konularında zorluklar devam etmektedir. Kötü niyetli istemciler, teorik olarak küresel modeli bozmak için "zehirli" güncellemeler gönderebilir. Bunu azaltmak için, herhangi bir kullanıcının katkısının tersine mühendislik yoluyla çıkarılamayacağından emin olmak amacıyla güncellemelere istatistiksel gürültü ekleyen differential privacy gibi gelişmiş teknikler genellikle entegre edilir.
Ultralytics Platform gibi araçlar, yapay zekanın geleceğinin hem güçlü hem de özel olmasını sağlayarak çeşitli ortamlarda model eğitiminin karmaşıklığını yönetmeye yardımcı olmak için gelişmektedir. TensorFlow Federated ve PySyft gibi yenilikçi çerçeveler, merkeziyetsiz gizlilik koruyucu makine öğrenimi ile nelerin mümkün olduğunun sınırlarını zorlamaya devam ediyor.






