Federe Öğrenme (Federated Learning) Nedir? Nasıl Çalışır?

Zeki ÇIPLAK
6 min readJun 14, 2023
Federe Öğrenme

Verilerinizi paylaşmadan, bir yapay zekâ modelinin gelişimine katkıda bulunabilirsiniz. Peki Nasıl?

Daha önce bir veri seti ile birlikte bir makine öğrenimi algoritması kullanarak yapay zekâ modeli geliştirenler bilecektir... Tüm verilerin bir arada ve eksiksiz bulunması gerekir. Hatta ne kadar çok veriniz olursa, büyük olasılıkla, modeliniz de o kadar iyi performans gösterecektir.

Fakat verilerin bir arada bulunma zorunluluğu, bazı mahrem verilerin paylaşılamaması gibi durumlarda çeşitli sorunlara yol açmaktadır. Örneğin, tıbbî alandaki verileri kullanarak bir yapay zekâ modeli geliştirmek istiyorsanız, sahip olduğunuz veya talep edeceğiniz verilerle ilgili çok fazla yerden izin almanız gerekecektir.

Ülkemizde uygulanan KVKK (Kişisel Verilerin Korunması Kanunu) ve bunun yurt dışındaki versiyonu olan GDPR (General Data Protection Regulation) bu tür verilerin izinsiz kullanımı veya suistimali konusunda çok ciddi yaptırımlar içermektedir. Tabiri caizse, geliştirmeyi düşündüğünüz projede, elinizi ayağınızı bağlar duruma getirmektedir.

İşte tam bu noktada, kişisel verilerin paylaşılmadan model geliştirilebilmesi fikri, ilk kez 2016 yılında Google araştırmacıları McMahan ve arkadaşları tarafından önerilmiştir. Federated Learning (Federe Öğrenme - FL) olarak adlandırılan öğrenme yöntemi ile birlikte federe sistem içerisindeki kullanıcılar, hem verilerini paylaşmak zorunda kalmamış hem de global bir modelin gelişmesine katkıda bulunmuşlardır.

GBoard Uygulaması

Bu yöntemde, modeli eğitmek için kullanılan veri, tek bir yerde toplanmak yerine, birden çok cihazda dağıtılmış durumdadır. İlk kez Google’ın Gboard uygulamasında kullanılmıştır. Kullanıcıların telefonlarındaki yazı girişlerini öğrenmek ve tahmin etmek için federe bir model eğitilmiştir.

Federated Learning sürecinde, model eğitimi dağıtıktır ve her cihaz kendi verilerini kullanarak yerel bir model eğitir. Daha sonra yerel modeller birleştirilir ve global bir model üretilmiş olur. Global model de yeniden yerel cihazlara gönderilerek, yerel cihazlardaki her bir modelin güncellenmesi sağlanır.

Bu süreç genellikle bir merkezi sunucu tarafından (FL Server) koordine edilir. Merkezi sunucu, katılımcı cihazlar tarafından güncellenen modelleri, çeşitli birleştirme algoritmalarını kullanarak bir araya getirir. Böylece kurumların veya bireylerin, hassas ve paylaşmak istemedikleri, büyük veri kümelerinin, paylaşılmadan eğitilmesi mümkün hale gelmiş olur.

Veriler FL sunucusuna direkt olarak gönderilmediği gibi, gönderilen model parametreleri de şifrelenerek gönderilir. Böylece üst düzey bir veri güvenliği sağlanır.

ADIM ADIM FEDERE ÖĞRENME

Şimdi federe öğrenmenin nasıl çalıştığını adım adım inceleyelim.

Temel Federe Öğrenme Mimarisi

1) Başlangıç Modelini Oluşturma

FL Server, bir başlangıç modeli kullanarak eğitime başlar. Bu model, rastgele parametrelerle de oluşturulabilir veya önceden eğitilmiş bir model de olabilir. Sistemdeki tüm cihazların, ortak olarak kullanacağı ilk modeldir.

2) Başlangıç Modelinin Cihazlara Dağıtımı

Oluşturulan ilk model, öncelikle sistemdeki tüm cihazlara gönderilir. Cihazlar bu modeli başlangıç noktası olarak kullanırlar.

3) Cihazlarda Yeni Verilerle Model Eğitimi

Başlangıç modelini edinen cihazlar, daha sonra kendi sahip oldukları verilerle, yeni edindikleri model üzerinde eğitime başlarlar. Modelin parametrelerinde yerel verilerin etkisiyle güncellemeler yapılır.

4) Yerel Cihazlardaki Modellerin Yeniden FL Sunucusuna Gönderilmesi

Sistem içindeki tüm cihazlarda eğitim tamamlandıktan sonra, her bir cihaz, sahip olduğu güncel modelin tüm parametrelerini (weights & bias katsayıları) merkezi FL sunucusuna gönderir.

5) FL Sunucusunda Global Modelin Güncellenmesi

Merkezi sunucu olan FL Server, sistemdeki tüm cihazlardan edindiği matematiksel model bilgilerini, çeşitli birleştirme algoritmalarını (Örneğin FedAvg) kullanarak tek bir global modelde birleştirir. Bu işlem genellikle katsayıların ortalaması alınarak gerçekleştirilir.

6) Güncel Global Modelin Yeniden Cihazlara Dağıtımı

Cihazlardan gelen parametreler ile oluşturulan global model, yeniden cihazlara gönderilir. Aslında bu madde yukarıda belirttiğim 2. maddenin aynısıdır. Bundan sonra yeniden 3. maddeden devam edilir. Buraya kadarki işlemler ile 1 Round tamamlanmış olur. Model başarısının artması için daha fazla Round’a ihtiyaç duyulabilmektedir.

FEDERE ÖĞRENMENİN AVANTAJLARI

Federe öğrenme; veri mahremiyeti, hızlı model üretimi, bant genişliği optimizasyonu, veri-model çeşitliliği gibi birçok önemli avantaj sunar. Bu özellikler federe öğrenmenin özellikle gizlilik hassasiyeti yüksek ve büyük veri kümeleri ile çalışan uygulamalar için ideal bir çözüm olmasını sağlar.

Veri Mahremiyeti

Federe öğrenmede kullanıcı verilerine sadece kullanıcının kendisi erişebilir. Kullanıcıların mahrem olabilecek verilerinin paylaşılmadan model üretilmesi ve değer meydana getirilmesi, federe öğrenmenin en önemli avantajıdır.

Veri Mahremiyeti

Bazı verilerin, hem mahremiyet açısından hem stratejik/güvenlik açıdan paylaşılmaması önem arz etmektedir. (KVKK ve GDPR için ideal yöntem)

Bant Genişliği Optimizasyonu

Federe öğrenmede, tüm veri merkezi bir konuma taşınmadığı için ve FL Server ile cihaz arasındaki iletişim sadece model parametreleri ile sınırlı olduğu için, bant genişliğinin kullanımı önemli ölçüde azaltılmış olur. Aynı zamanda sunucu yükü de federe öğrenme ile azalır.

Hızlı Model Üretimi

Federe öğrenmede, modellerin eğitimi cihazlarda yapıldığı için, merkezi bir sistemdeki model eğitimine göre daha kısa sürede, hatta anlık olarak yeni ve güncel modellerin üretilmesi mümkün hale gelir. Böylece zamandan ve kaynaklardan tasarruf edilebilir.

Hızlı Model Üretimi

Veri-Model Çeşitliliği

Makine öğrenimi modellerinde, çoğu zaman veri ne kadar fazla olursa, o kadar iyi modeller üretilebilir. Federe öğrenmede de her cihaz benzersiz/çeşitli veriye sahiptir. Bu da global modelin daha geniş veriyle eğitilmesini, dolayısıyla daha fazla öğrenebilmesini ve global modelin daha iyi genelleştirilebilmesini sağlar.

FEDERE ÖĞRENMENİN UYGULANABİLECEĞİ ALANLAR

Federe Öğrenme, veri gizliliği ve yerel veri kullanımı avantajları sayesinde, sağlık hizmetleri, telekomünikasyon, finans ve otomotiv endüstrisi gibi birçok farklı sektörde geniş uygulama potansiyeline sahiptir. Burada sayılan uygulama alanları daha da çeşitlenebilmektedir. Sadece birkaç örnek vermek istiyorum.

Mobil Uygulamalar

Bir mobil uygulamanın kullanım verileri, cihazlar arasında paylaşılmadan, federe öğrenme ile kullanıcı profilleri oluşturulabilir. Bu sayede, kullanıcıların tercihlerine göre özel öneriler yapılabilir ve reklamlar daha etkili hale getirilebilir.

Sağlık Uygulamaları

Sağlık verilerini toplamayı ve bu verileri kullanarak ortak bir modele ulaşmayı mümkün kılar. Örneğin, bir sağlık uygulamasının verileri, cihazlar arasında paylaşılmadan, bir hastalık tanısını doğrulamaya yarayan bir modele dönüşebilir.

Sağlık Uygulamaları

Bankacılık ve Finans

Bankalar ve finans şirketlerinin, müşteri verilerini paylaşmadan, ortak bir risk değerlendirme modeline ulaşmasını sağlar. Bu sayede, müşterilere özel kredi seçenekleri sunulabilir ve riskler azaltılabilir.

Otonom Araçlar

Farklı taşıtlardan toplanan veriler (sürüş davranışı, trafik durumu, yol koşulları vb.) kullanılarak, federe öğrenme yöntemi ile bir yapay zekâ modeli eğitilebilir. Bu yaklaşım, her bir aracın kendi deneyimini global bir modelle paylaşabilmesini sağlar.

Otonom Araçlar

Buraya kadar federe öğrenmenin hep iyi yanlarından bahsettik. Halbuki yeni bir yöntem sayılabilecek federe öğrenmenin hala çözülememiş problemleri, model geliştirirken yaşattığı birçok zorluklar da var. Şimdi biraz da onlardan bahsedelim.

FEDERE ÖĞRENMENİN ZORLUKLARI

Birçok yararı ve avantajı olmasına rağmen, bu teknolojinin geniş ölçekte uygulanabilmesi, çeşitli zorlukları da beraberinde getirmektedir. Altyapı gereksinimi, heterojen veri dağılımı, gizlilik ve güvenlik sorunları ve eğitim etkinliği gibi konularda karşılaşılan zorluklar, federe öğrenmeyi verimli bir şekilde kullanabilmeyi zorlaştırmaktadır.

Alt Yapı Gereksinimi

Federe Öğrenme, eğitim sürecini binlerce hatta milyonlarca cihaz arasında da koordine etmeyi gerektirebilir. Bu durum, özellikle büyük ölçekte uygulanabilirlik sağlamak için ciddi ağ ve bilgi işlem altyapısı gerektirmektedir.

Sistemdeki kullanıcı sayısı arttıkça, her bir round için FL sunucusunun da yükü artacak demektir. Çok kullanıcılı bir sistemde, kullanıcılardan gelen tüm bağlantı isteklerine anında cevap verebilecek bir yapının kurulması şarttır. Federe öğrenmenin avantajlarından birinin, hızlı model üretimi olduğunu yukarıda anlatmıştık. Eğer sağlam bir alt yapı kurulmamışsa, bu durum model üretiminde gecikmelere yol açacak, sistem yavaş çalışacak ve bu avantajın kaybedilmesine sebep olacaktır.

Heterojen Veri Dağılımı

Federe öğrenme, her cihazın kendine özgü veri dağılımına sahip olabileceği bir ortamda çalışır. Bu durum, ortak bir modeli eğitirken “statistical heterogeneity” (İstatistiksel Heterojenlik) denilen bir problem oluşturabilmektedir. Yani bazı cihazlar modelin performansını çok büyük ölçüde etkileyebilirken, bazı cihazlar ise az veriye sahip olduğu için modeli geliştirme noktasında bir etkisiz kalabilirler. Bu durumda da sistem içindeki ölü cihaz, yani varlığıyla yokluğu arasında fark olmayan cihaz konumuna düşebilirler.

Gizlilik ve Güvenlik

Federe öğrenmede veri paylaşımı olmamasına ve sadece model katsayılarının FL sunucusu ile paylaşılmasına rağmen, hala gizlilik ve güvenlik problemleri oluşabilmektedir. Örneğin, kötü niyetli bir aktör, model güncellemelerini manipüle ederek modelin performansını bozabilir veya bazı cihazların güvenlik açıklarından faydalanarak gizli veri bilgilerini ifşa edebilir.

Federe olmayan klasik yaklaşımda, verilerin tamamı, aynı sunucuda olduğu için sadece o sunucunun korunması yeterlidir. Federe öğrenmede ise sistem içerisinde etkili olan tüm cihazların güvenliklerinin bir şekilde sağlanması gerekmektedir.

Eğitim Etkinliği

Bazı çalışmalar aksini gösterse de federe öğrenme, klasik yaklaşıma göre daha az verimli olabilmektedir. Klasik yaklaşımda elde edilen model doğrulukları, federe öğrenmede az da olsa düşüş gösterebilmektedir. Çünkü federe öğrenmede, tüm veriler merkezi bir yerde toplanmadan, ayrı ayrı cihazlarda eğitilir. Bu da her cihazın farklı hesaplama kapasitesi ve ağ bağlantısı hızı olduğu düşünüldüğünde, verimliliği etkilemekte ve bir zorluk olarak karşımıza çıkabilmektedir.

Öğr. Gör. Zeki ÇIPLAK
İstanbul Gedik Üniveristesi / Bilgisayar Programcılığı

--

--