TensorFlow Kafesi (TFL)

TensorFlow Lattice, esnek, kontrollü ve yorumlanabilir kafes tabanlı modelleri uygulayan bir kütüphanedir. Bu kütüphane, sağduyuya dayalı veya politika odaklı şekil kısıtlamaları aracılığıyla öğrenme sürecine alan bilgisi eklemenizi sağlar. Bu, monotonluk, dışbükeylik ve ikili güven gibi kısıtlamaları karşılayabilen bir Keras katmanları koleksiyonu kullanılarak yapılır. Kütüphane ayrıca kurulumu kolay önceden hazırlanmış modeller de sunar.

Kavramlar

Bu bölüm, JMLR 2016'da yayınlanan "Monotonik Kalibre Edilmiş İnterpolasyonlu Arama Tabloları" başlıklı makalenin açıklamasının basitleştirilmiş bir versiyonudur.

Kafesler

Bir kafes, verilerinizdeki keyfi girdi-çıktı ilişkilerini yaklaşık olarak hesaplayabilen, enterpolasyonlu bir arama tablosudur. Girdi alanınıza düzenli bir ızgara yerleştirir ve ızgaranın köşelerinde çıktı için değerler öğrenir. Bir test noktası için \(x\), \(f(x)\) Çevreleyen kafes değerlerinden doğrusal olarak enterpolasyon yapılır. \(x\).

Yukarıdaki basit örnek, 2 giriş özelliğine ve 4 parametreye sahip bir fonksiyondur:\(\theta=[0, 0.2, 0.4, 1]\)Bunlar, giriş uzayının köşelerindeki fonksiyonun değerleridir; fonksiyonun geri kalanı bu parametrelerden enterpolasyon yoluyla elde edilir.

Fonksiyon \(f(x)\) Özellikler arasındaki doğrusal olmayan etkileşimleri yakalayabilir. Kafes parametrelerini, düzenli bir ızgara üzerinde yere yerleştirilmiş direklerin yüksekliği olarak düşünebilirsiniz ve ortaya çıkan fonksiyon, dört direğe sıkıca çekilmiş bir kumaş gibidir.

İle \(D\) Her boyutta 2 köşe ve 2 özelliğe sahip düzenli bir kafes, \(2^D\) Parametreler. Daha esnek bir fonksiyon elde etmek için, her boyutta daha fazla köşeye sahip, özellik uzayı üzerinde daha ince taneli bir kafes belirtebilirsiniz. Kafes regresyon fonksiyonları süreklidir ve parçalı olarak sonsuz derecede türevlenebilirdir.

Kalibrasyon

Diyelim ki yukarıdaki örnek kafes, özellikler kullanılarak hesaplanan, önerilen yerel kahve dükkanına ilişkin öğrenilmiş kullanıcı memnuniyetini temsil ediyor:

  • Kahve fiyatı, 0 ile 20 dolar arasında.
  • Kullanıcıya olan mesafe, 0 ile 30 kilometre arasında değişmektedir.

Modelimizin, yerel bir kahve dükkanı önerisiyle ilgili kullanıcı memnuniyetini öğrenmesini istiyoruz. TensorFlow Lattice modelleri, giriş özelliklerini kafes tarafından kabul edilen aralığa (yukarıdaki örnek kafeste 0,0 ila 1,0) kalibre etmek ve normalleştirmek için parçalı doğrusal fonksiyonlar ( tfl.layers.PWLCalibration ile) kullanabilir. Aşağıda, 10 anahtar noktalı bu tür kalibrasyon fonksiyonlarına örnekler gösterilmektedir:

Özelliklerin kantillerini girdi anahtar noktaları olarak kullanmak genellikle iyi bir fikirdir. TensorFlow Lattice önceden hazırlanmış modeller, girdi anahtar noktalarını otomatik olarak özellik kantillerine ayarlayabilir.

Kategorik özellikler için TensorFlow Lattice, bir kafese beslemek üzere benzer çıktı sınırlandırmasıyla kategorik kalibrasyon ( tfl.layers.CategoricalCalibration ile) sağlar.

Topluluklar

Bir kafes katmanının parametre sayısı, girdi özelliklerinin sayısıyla üstel olarak artar, bu nedenle çok yüksek boyutlarda iyi ölçeklenmez. Bu sınırlamayı aşmak için TensorFlow Lattice, birkaç küçük kafesi birleştiren (ortalama alan) kafes toplulukları sunar; bu da modelin özellik sayısına göre doğrusal olarak büyümesini sağlar.

Kütüphane bu toplulukların iki farklı varyasyonunu sunmaktadır:

  • Rastgele Küçük Kafesler (RTL): Her alt model, özelliklerin rastgele bir alt kümesini kullanır (yerine koyarak).

  • Kristaller : Kristaller algoritması öncelikle ikili özellik etkileşimlerini tahmin eden bir ön uyarlama modeli eğitir. Ardından, daha fazla doğrusal olmayan etkileşime sahip özelliklerin aynı kafeslerde yer almasını sağlayacak şekilde nihai topluluğu düzenler.

TensorFlow Lattice neden gerekli?

TensorFlow Lattice'e dair kısa bir tanıtımı bu TF Blog yazısında bulabilirsiniz.

Yorumlanabilirlik

Her katmanın parametreleri o katmanın çıktısı olduğundan, modelin her parçasını analiz etmek, anlamak ve hata ayıklamak kolaydır.

Doğru ve Esnek Modeller

İnce taneli kafesler kullanarak, tek bir kafes katmanıyla keyfi olarak karmaşık fonksiyonlar elde edebilirsiniz. Çoklu kalibratör ve kafes katmanları genellikle pratikte iyi sonuç verir ve benzer boyutlardaki DNN modelleriyle eşleşebilir veya onları geride bırakabilir.

Sağduyuya Dayalı Şekil Kısıtlamaları

Gerçek dünya eğitim verileri, çalışma zamanı verilerini yeterince temsil etmeyebilir. Derin öğrenme ağları (DNN) veya ormanlar gibi esnek makine öğrenimi çözümleri, eğitim verileriyle kapsanmayan girdi uzayının bazı kısımlarında beklenmedik ve hatta kontrolsüz davranışlar sergileyebilir. Bu davranış, özellikle politika veya adalet kısıtlamalarının ihlal edilebileceği durumlarda sorun teşkil eder.

Yaygın düzenleme yöntemleri daha mantıklı ekstrapolasyon sonuçları verse de, standart düzenleyiciler özellikle yüksek boyutlu girdilerde, tüm girdi uzayında makul model davranışını garanti edemez. Daha kontrollü ve tahmin edilebilir davranışa sahip daha basit modellere geçmek, model doğruluğu açısından ciddi bir maliyete yol açabilir.

TF Lattice, esnek modelleri kullanmaya devam etmeyi mümkün kılarken, anlamsal olarak anlamlı sağduyu veya politika odaklı şekil kısıtlamaları aracılığıyla öğrenme sürecine alan bilgisi eklemek için çeşitli seçenekler sunar:

  • Monotonluk : Çıktının yalnızca bir girdiye göre artması/azalması gerektiğini belirtebilirsiniz. Örneğimizde, bir kahve dükkanına olan mesafenin artmasının, tahmin edilen kullanıcı tercihini yalnızca azaltması gerektiğini belirtmek isteyebilirsiniz.

  • Dışbükeylik/İçbükeylik : Fonksiyonun şeklinin dışbükey veya içbükey olabileceğini belirtebilirsiniz. Monotonlukla birlikte kullanıldığında, bu, fonksiyonun belirli bir özelliğe göre azalan getirileri temsil etmesini sağlayabilir.

  • Tekdüzelik : Fonksiyonun benzersiz bir tepe noktasına veya benzersiz bir vadi noktasına sahip olması gerektiğini belirtebilirsiniz. Bu, bir özelliğe göre en uygun noktaya sahip fonksiyonları temsil etmenizi sağlar.

  • İkili Güven : Bu kısıtlama, bir özellik çifti üzerinde çalışır ve bir girdi özelliğinin anlamsal olarak başka bir özelliğe duyulan güveni yansıttığını öne sürer. Örneğin, daha yüksek sayıda yorum, bir restoranın ortalama yıldız derecelendirmesine olan güveninizi artırır. Yorum sayısı daha yüksek olduğunda, model yıldız derecelendirmesine karşı daha hassas olacaktır (yani derecelendirmeye göre daha büyük bir eğime sahip olacaktır).

Düzenleyicilerle Kontrollü Esneklik

TensorFlow lattice, şekil kısıtlamalarına ek olarak, her katman için fonksiyonun esnekliğini ve düzgünlüğünü kontrol etmek üzere bir dizi düzenleyici sunar.

  • Laplacian Düzenleyici : Kafes/kalibrasyon noktalarının/anahtar noktalarının çıktıları, ilgili komşularının değerlerine doğru düzenlenir. Bu, daha düz bir fonksiyonla sonuçlanır.

  • Hessian Düzenleyici : Bu, fonksiyonu daha doğrusal hale getirmek için PWL kalibrasyon katmanının birinci türevini cezalandırır.

  • Kırışıklık Düzenleyici : Bu, eğrilikteki ani değişiklikleri önlemek için PWL kalibrasyon katmanının ikinci türevini cezalandırır. Fonksiyonu daha pürüzsüz hale getirir.

  • Burulma Düzenleyici : Kafesin çıktıları, özellikler arasındaki burulmayı önleyecek şekilde düzenlenecektir. Başka bir deyişle, model, özelliklerin katkıları arasındaki bağımsızlığı sağlayacak şekilde düzenlenecektir.

Diğer Keras katmanlarıyla karıştırıp eşleştirin.

Kısmen kısıtlanmış veya düzenlenmiş modeller oluşturmak için TF Lattice katmanlarını diğer Keras katmanlarıyla birlikte kullanabilirsiniz. Örneğin, gömme vektörleri veya diğer Keras katmanlarını içeren daha derin ağların son katmanında lattice veya PWL kalibrasyon katmanları kullanılabilir.

Makaleler

Eğitimler ve API dokümanları

Yaygın model mimarileri için Keras'ın önceden hazırlanmış modellerini kullanabilirsiniz. Ayrıca TF Lattice Keras katmanlarını kullanarak özel modeller oluşturabilir veya diğer Keras katmanlarıyla karıştırıp eşleştirebilirsiniz. Ayrıntılar için API belgelerinin tamamına göz atın.