TensorFlow Lattice adalah pustaka yang mengimplementasikan model berbasis lattice yang fleksibel, terkontrol, dan mudah diinterpretasikan. Pustaka ini memungkinkan Anda untuk memasukkan pengetahuan domain ke dalam proses pembelajaran melalui batasan bentuk yang masuk akal atau berdasarkan kebijakan. Hal ini dilakukan dengan menggunakan kumpulan lapisan Keras yang dapat memenuhi batasan seperti monotonisitas, konveksitas, dan kepercayaan berpasangan. Pustaka ini juga menyediakan model siap pakai yang mudah diatur.
Konsep
Bagian ini merupakan versi sederhana dari deskripsi dalam Monotonic Calibrated Interpolated Look-Up Tables , JMLR 2016.
Kisi-kisi
Kisi (lattice) adalah tabel pencarian terinterpolasi yang dapat mendekati hubungan input-output sembarang dalam data Anda. Kisi ini menumpangkan grid reguler ke ruang input Anda dan mempelajari nilai-nilai untuk output di simpul-simpul grid tersebut. Untuk titik uji \(x\), \(f(x)\) diinterpolasi secara linier dari nilai-nilai kisi di sekitarnya \(x\).

Contoh sederhana di atas adalah sebuah fungsi dengan 2 fitur input dan 4 parameter:\(\theta=[0, 0.2, 0.4, 1]\), yang merupakan nilai fungsi di sudut-sudut ruang input; bagian fungsi lainnya diinterpolasi dari parameter-parameter ini.
Fungsi \(f(x)\) dapat menangkap interaksi non-linear antar fitur. Anda dapat membayangkan parameter kisi sebagai tinggi tiang yang ditancapkan di tanah pada grid teratur, dan fungsi yang dihasilkan seperti kain yang ditarik kencang di antara keempat tiang tersebut.
Dengan \(D\) Dengan fitur dan 2 simpul di sepanjang setiap dimensi, kisi reguler akan memiliki \(2^D\) parameter. Untuk menyesuaikan fungsi yang lebih fleksibel, Anda dapat menentukan kisi yang lebih halus di atas ruang fitur dengan lebih banyak simpul di sepanjang setiap dimensi. Fungsi regresi kisi bersifat kontinu dan dapat didiferensiasi secara tak terbatas per bagian.
Kalibrasi
Misalnya, contoh grid sebelumnya mewakili tingkat kepuasan pengguna terhadap kedai kopi lokal yang disarankan, yang dihitung menggunakan fitur-fitur berikut:
- Harga kopi, berkisar antara 0 hingga 20 dolar.
- jarak ke pengguna, dalam rentang 0 hingga 30 kilometer
Kita ingin model kita mempelajari tingkat kepuasan pengguna terhadap saran kedai kopi lokal. Model TensorFlow Lattice dapat menggunakan fungsi linier piecewise (dengan tfl.layers.PWLCalibration ) untuk mengkalibrasi dan menormalisasi fitur input ke rentang yang diterima oleh lattice: 0,0 hingga 1,0 pada contoh lattice di atas. Berikut ini menunjukkan contoh fungsi kalibrasi tersebut dengan 10 titik kunci:


Seringkali merupakan ide yang baik untuk menggunakan kuantil dari fitur sebagai titik kunci input. Model bawaan TensorFlow Lattice dapat secara otomatis mengatur titik kunci input ke kuantil fitur.
Untuk fitur kategorikal, TensorFlow Lattice menyediakan kalibrasi kategorikal (dengan tfl.layers.CategoricalCalibration ) dengan batasan keluaran serupa untuk dimasukkan ke dalam lattice.
Ansambel
Jumlah parameter lapisan lattice meningkat secara eksponensial dengan jumlah fitur input, sehingga tidak dapat diskalakan dengan baik pada dimensi yang sangat tinggi. Untuk mengatasi keterbatasan ini, TensorFlow Lattice menawarkan ensemble lattice yang menggabungkan (merata-ratakan) beberapa lattice kecil , yang memungkinkan model untuk tumbuh secara linier terhadap jumlah fitur.
Perpustakaan ini menyediakan dua variasi dari ansambel tersebut:
Random Tiny Lattices (RTL): Setiap submodel menggunakan subset fitur acak (dengan penggantian).
Crystals : Algoritma Crystals pertama-tama melatih model pra-penyesuaian yang memperkirakan interaksi fitur berpasangan. Kemudian, algoritma ini mengatur ensemble akhir sedemikian rupa sehingga fitur-fitur dengan interaksi non-linier yang lebih banyak berada dalam kisi yang sama.
Mengapa TensorFlow Lattice?
Anda dapat menemukan pengantar singkat tentang TensorFlow Lattice di postingan Blog TF ini.
Interpretasi
Karena parameter setiap lapisan merupakan output dari lapisan tersebut, maka setiap bagian model mudah dianalisis, dipahami, dan di-debug.
Model yang Akurat dan Fleksibel
Dengan menggunakan kisi-kisi berbutir halus, Anda dapat memperoleh fungsi yang sangat kompleks dengan satu lapisan kisi. Penggunaan beberapa lapisan kalibrator dan kisi seringkali memberikan hasil yang baik dalam praktiknya dan dapat menyamai atau melampaui model DNN dengan ukuran yang serupa.
Batasan Bentuk Berdasarkan Akal Sehat
Data pelatihan dunia nyata mungkin tidak cukup mewakili data saat eksekusi. Solusi ML yang fleksibel seperti DNN atau forest seringkali bertindak di luar dugaan dan bahkan liar di bagian ruang input yang tidak tercakup oleh data pelatihan. Perilaku ini sangat bermasalah ketika batasan kebijakan atau keadilan dapat dilanggar.

Meskipun bentuk regularisasi umum dapat menghasilkan ekstrapolasi yang lebih masuk akal, regularisasi standar tidak dapat menjamin perilaku model yang wajar di seluruh ruang input, terutama dengan input berdimensi tinggi. Beralih ke model yang lebih sederhana dengan perilaku yang lebih terkontrol dan dapat diprediksi dapat menimbulkan kerugian besar pada akurasi model.
TF Lattice memungkinkan penggunaan model yang fleksibel, tetapi menyediakan beberapa opsi untuk memasukkan pengetahuan domain ke dalam proses pembelajaran melalui batasan bentuk yang bermakna secara semantik, baik yang berdasarkan akal sehat maupun kebijakan:
- Monotonisitas : Anda dapat menentukan bahwa output hanya boleh meningkat/menurun sehubungan dengan input. Dalam contoh kita, Anda mungkin ingin menentukan bahwa peningkatan jarak ke kedai kopi hanya akan menurunkan preferensi pengguna yang diprediksi.




Kekonveksian/Kekonkavitas : Anda dapat menentukan bahwa bentuk fungsi dapat berupa konveks atau konkaf. Dikombinasikan dengan monotonisitas, ini dapat memaksa fungsi untuk menunjukkan hasil yang semakin berkurang sehubungan dengan fitur tertentu.
Unimodalitas : Anda dapat menentukan bahwa fungsi tersebut harus memiliki puncak atau lembah yang unik. Ini memungkinkan Anda untuk merepresentasikan fungsi yang memiliki titik optimal terkait dengan suatu fitur.
Kepercayaan berpasangan : Batasan ini bekerja pada sepasang fitur dan menunjukkan bahwa satu fitur input secara semantik mencerminkan kepercayaan pada fitur lainnya. Misalnya, jumlah ulasan yang lebih tinggi membuat Anda lebih yakin dengan peringkat bintang rata-rata sebuah restoran. Model akan lebih sensitif terhadap peringkat bintang (yaitu akan memiliki kemiringan yang lebih besar terhadap peringkat) ketika jumlah ulasan lebih tinggi.
Fleksibilitas Terkendali dengan Regularizer
Selain batasan bentuk, TensorFlow Lattice menyediakan sejumlah regularisasi untuk mengontrol fleksibilitas dan kehalusan fungsi untuk setiap lapisan.
Regularisasi Laplacian : Keluaran dari titik-titik kisi/kalibrasi/titik kunci diregularisasi ke arah nilai-nilai tetangganya masing-masing. Hal ini menghasilkan fungsi yang lebih datar .
Regularisasi Hessian : Ini memberikan penalti pada turunan pertama dari lapisan kalibrasi PWL untuk membuat fungsi lebih linier .
Regularizer Kerutan : Ini memberikan penalti pada turunan kedua dari lapisan kalibrasi PWL untuk menghindari perubahan mendadak pada kelengkungan. Ini membuat fungsi menjadi lebih halus.
Regularisasi Torsi : Keluaran dari kisi akan diregulasi untuk mencegah torsi di antara fitur-fitur. Dengan kata lain, model akan diregulasi agar kontribusi fitur-fitur tersebut independen.
Padukan dengan lapisan Keras lainnya
Anda dapat menggunakan lapisan TF Lattice dalam kombinasi dengan lapisan Keras lainnya untuk membangun model yang dibatasi sebagian atau diregulasi. Misalnya, lapisan kalibrasi lattice atau PWL dapat digunakan pada lapisan terakhir jaringan yang lebih dalam yang mencakup embedding atau lapisan Keras lainnya.
Dokumen
- Etika Deontologis Berdasarkan Batasan Bentuk Monotonisitas , Serena Wang, Maya Gupta, Konferensi Internasional tentang Kecerdasan Buatan dan Statistik (AISTATS), 2020
- Batasan Bentuk untuk Fungsi Himpunan , Andrew Cotter, Maya Gupta, H. Jiang, Erez Louidor, Jim Muller, Taman Narayan, Serena Wang, Tao Zhu. Konferensi Internasional tentang Pembelajaran Mesin (ICML), 2019
- Pengembalian yang Menurun Membentuk Batasan untuk Interpretasi dan Regularisasi , Maya Gupta, Dara Bahri, Andrew Cotter, Kevin Canini, Advances in Neural Information Processing Systems (NeurIPS), 2018
- Jaringan Kisi Dalam dan Fungsi Monoton Parsial , Seungil You, Kevin Canini, David Ding, Jan Pfeifer, Maya R. Gupta, Kemajuan dalam Sistem Pemrosesan Informasi Neural (NeurIPS), 2017
- Fungsi Monotonik Cepat dan Fleksibel dengan Kumpulan Kisi , Mahdi Milani Fard, Kevin Canini, Andrew Cotter, Jan Pfeifer, Maya Gupta, Advances in Neural Information Processing Systems (NeurIPS), 2016
- Tabel Pencarian Terinterpolasi Terkalibrasi Monotonik , Maya Gupta, Andrew Cotter, Jan Pfeifer, Konstantin Voevodski, Kevin Canini, Alexander Mangylov, Wojciech Moczydlowski, Alexander van Esbroeck, Jurnal Penelitian Pembelajaran Mesin (JMLR), 2016
- Regresi yang Dioptimalkan untuk Evaluasi Fungsi yang Efisien , Eric Garcia, Raman Arora, Maya R. Gupta, IEEE Transactions on Image Processing, 2012
- Regresi Kisi , Eric Garcia, Maya Gupta, Kemajuan dalam Sistem Pemrosesan Informasi Neural (NeurIPS), 2009
Tutorial dan dokumentasi API
Untuk arsitektur model umum, Anda dapat menggunakan model bawaan Keras . Anda juga dapat membuat model kustom menggunakan lapisan Keras TF Lattice atau menggabungkan dan mencampur dengan lapisan Keras lainnya. Lihat dokumentasi API lengkap untuk detailnya.