Birleşik Öğrenme için diğer sıkıştırma yöntemleri

Aug 18 2020

Gradient Quantization sıkıştırma yönteminin zaten TFF çerçevesinde uygulandığını fark ettim. Global modelin bazı kısımlarını çıkararak bir alt model seçtiğimiz geleneksel olmayan sıkıştırma yöntemlerine ne dersiniz? "Müşteri Kaynak Gereksinimlerini Azaltarak Federe Öğrenmenin Erişimini Genişletme" başlıklı belgede "Birleşik Bırakma" sıkıştırma yöntemine rastladım (https://arxiv.org/abs/1812.07210). Federated Dropout yönteminin Tensorflow Federated'da zaten desteklenip desteklenmediği konusunda herhangi bir fikir. Değilse, nasıl uygulanacağına dair herhangi bir kavrayış (yöntemin ana fikri, daha küçük bir alt modeli değiştirmek ve eğitmek için küresel modeldeki etkinleştirme ve filtrelerin sabit bir yüzdesini düşürmektir)?

Yanıtlar

2 JakubKonecny Aug 18 2020 at 19:34

Şu anda, TFF kod tabanında bu fikrin bir uygulaması yoktur.

Ama işte bunu nasıl yapabileceğinizin bir özeti, baştan başlamanızı tavsiye ederim examples/simple_fedavg

  1. Üst seviyeyi build_federated_averaging_processiki model_fns'yi kabul edecek şekilde değiştirin - biri server_model_fnglobal model için, diğeri client_model_fnise istemciler üzerinde gerçekten eğitilmiş daha küçük alt model yapısı için.
  2. Dosyasından build_server_broadcast_messageyalnızca ilgili alt modeli çıkarmak için değiştirin server_state.model_weights. Bu, sunucu modelinden istemci modeline eşleme olacaktır.
  3. client_updateAslında sürece sadece (Emin% 100 değilim) değiştirilmesi gerekmeyebilir client_model_fnsağlanmaktadır client_update_fn.
  4. Değiştir server_update- weights_deltaistemci alt modelinin güncellemesi olacaktır, bu nedenle onu daha büyük global modelle eşleştirmeniz gerekecektir.

Genel olarak, 2. ve 4. adımlar, yalnızca bir modelde hangi katmanların olduğuna değil, aynı zamanda nasıl bağlandıklarına da bağlı olduklarından aldatıcıdır. Bu nedenle, kullanımı kolay bir genel çözüm oluşturmak zor olacaktır, ancak bunları önceden bildiğiniz belirli bir model yapısı için yazmakta sorun olmamalıdır.