Google I/O adalah bungkusnya! Ikuti sesi TensorFlow Lihat sesi

TensorFlow Lattice (TFL)

TensorFlow Lattice adalah library yang mengimplementasikan model berbasis kisi yang fleksibel, terkontrol, dan dapat ditafsirkan. Perpustakaan memungkinkan Anda untuk menyuntikkan pengetahuan domain ke dalam proses pembelajaran melalui akal sehat atau kebijakan-driven kendala bentuk . Hal ini dilakukan dengan menggunakan koleksi lapisan Keras yang dapat memenuhi kendala seperti monotonisitas, konveksitas dan berpasangan kepercayaan. Perpustakaan juga menyediakan mudah untuk setup kaleng estimator .

Konsep

Bagian ini merupakan versi sederhana dari deskripsi di monoton dikalibrasi diinterpolasi Look-Up Tables , JMLR 2016.

kisi-kisi

Sebuah kisi adalah look-up interpolasi tabel yang dapat mendekati hubungan input-output sewenang-wenang dalam data Anda. Ini tumpang tindih dengan kisi biasa ke ruang input Anda dan mempelajari nilai untuk output di simpul kisi. Untuk titik uji \(x\), \(f(x)\) linier interpolasi dari nilai-nilai kisi sekitarnya \(x\).

Contoh sederhana di atas adalah fungsi dengan 2 fitur input dan 4 parameter:\(\theta=[0, 0.2, 0.4, 1]\), yang merupakan nilai-nilai fungsi ini di sudut-sudut ruang input; sisa fungsi diinterpolasi dari parameter ini.

Fungsi \(f(x)\) dapat menangkap interaksi non-linier antara fitur. Anda dapat menganggap parameter kisi sebagai ketinggian tiang yang dipasang di tanah pada kisi biasa, dan fungsi yang dihasilkan seperti kain yang ditarik kencang ke keempat tiang.

Dengan \(D\) fitur dan 2 simpul bersama setiap dimensi, kisi-kisi yang teratur akan memiliki \(2^D\) parameter. Agar sesuai dengan fungsi yang lebih fleksibel, Anda dapat menentukan kisi berbutir lebih halus di atas ruang fitur dengan lebih banyak simpul di sepanjang setiap dimensi. Fungsi regresi kisi adalah kontinu dan terdiferensialkan secara sepotong-sepotong.

Kalibrasi

Katakanlah kisi sampel sebelumnya merupakan kebahagiaan pengguna belajar dengan kedai kopi lokal menyarankan dihitung dengan menggunakan fitur:

  • harga kopi, dalam kisaran 0 hingga 20 dolar
  • jarak ke pengguna, dalam kisaran 0 hingga 30 kilometer

Kami ingin model kami mempelajari kebahagiaan pengguna dengan saran kedai kopi lokal. Model TensorFlow Lattice dapat menggunakan fungsi piecewise linear (dengan tfl.layers.PWLCalibration ) untuk mengkalibrasi dan menormalkan masukan fitur untuk rentang diterima oleh kisi: 0,0-1,0 dalam contoh kisi di atas. Berikut ini menunjukkan contoh fungsi kalibrasi tersebut dengan 10 titik kunci:

Sering kali merupakan ide yang baik untuk menggunakan kuantil fitur sebagai titik kunci input. TensorFlow Lattice estimator kaleng dapat secara otomatis mengatur keypoints input ke quantiles fitur.

Untuk fitur kategoris, TensorFlow Lattice menyediakan kalibrasi kategoris (dengan tfl.layers.CategoricalCalibration ) dengan output yang sama berlari ke umpan ke dalam kisi.

ansambel

Jumlah parameter lapisan kisi meningkat secara eksponensial dengan jumlah fitur input, sehingga tidak dapat diskalakan dengan baik ke dimensi yang sangat tinggi. Untuk mengatasi keterbatasan ini, TensorFlow Lattice menawarkan ansambel kisi yang menggabungkan (rata-rata) beberapa kisi kecil, yang memungkinkan model untuk tumbuh secara linear di sejumlah fitur.

Perpustakaan menyediakan dua variasi dari ansambel ini:

  • Acak kecil Lattices (RTL): Setiap submodel menggunakan subset acak fitur (dengan penggantian).

  • Kristal: The Crystals algoritma kereta api pertama model prefitting bahwa perkiraan berpasangan interaksi fitur. Kemudian mengatur ansambel akhir sedemikian rupa sehingga fitur dengan lebih banyak interaksi non-linear berada dalam kisi yang sama.

Mengapa TensorFlow Lattice ?

Anda dapat menemukan pengenalan singkat untuk TensorFlow Lattice dalam TF Blog post .

Interpretabilitas

Karena parameter setiap lapisan adalah keluaran dari lapisan itu, maka mudah untuk menganalisis, memahami, dan men-debug setiap bagian dari model.

Model yang Akurat dan Fleksibel

Menggunakan kisi fine-grained, Anda bisa mendapatkan fungsi sewenang-wenang kompleks dengan lapisan kisi tunggal. Menggunakan beberapa lapis kalibrator dan kisi sering kali berfungsi dengan baik dalam praktiknya dan dapat menyamai atau mengungguli model DNN dengan ukuran serupa.

Batasan Bentuk Akal Sehat

Data pelatihan dunia nyata mungkin tidak cukup mewakili data run-time. Solusi ML yang fleksibel seperti DNN atau forest sering kali bertindak secara tidak terduga dan bahkan liar di bagian ruang input yang tidak tercakup oleh data pelatihan. Perilaku ini terutama bermasalah ketika batasan kebijakan atau keadilan dapat dilanggar.

Meskipun bentuk regularisasi yang umum dapat menghasilkan ekstrapolasi yang lebih masuk akal, regularizer standar tidak dapat menjamin perilaku model yang masuk akal 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 biaya yang besar terhadap akurasi model.

TF Lattice memungkinkan untuk tetap menggunakan model fleksibel, tetapi menyediakan beberapa pilihan untuk domain pengetahuan menyuntikkan ke dalam proses pembelajaran melalui semantik bermakna yang masuk akal atau kebijakan-driven kendala bentuk :

  • Monotonicity: Anda dapat menentukan bahwa output hanya harus menambah / mengurangi sehubungan dengan input. Dalam contoh kami, Anda mungkin ingin menentukan bahwa peningkatan jarak ke kedai kopi seharusnya hanya menurunkan preferensi pengguna yang diprediksi.

  • Busung / cekung: Anda dapat menentukan bahwa bentuk fungsi dapat cembung atau cekung. Dicampur dengan monotonisitas, ini dapat memaksa fungsi untuk mewakili hasil yang semakin berkurang sehubungan dengan fitur yang diberikan.

  • Unimodality: Anda dapat menentukan bahwa fungsi harus memiliki puncak unik atau lembah yang unik. Hal ini memungkinkan Anda mewakili fungsi yang memiliki sweet spot sehubungan dengan fitur.

  • Berpasangan kepercayaan: kendala ini bekerja pada sepasang fitur dan menunjukkan bahwa satu fitur input semantik mencerminkan kepercayaan fitur lain. Misalnya, jumlah ulasan yang lebih tinggi membuat Anda lebih percaya diri dalam peringkat bintang rata-rata sebuah restoran. Model akan lebih sensitif sehubungan dengan peringkat bintang (yaitu akan memiliki kemiringan yang lebih besar sehubungan dengan peringkat) ketika jumlah ulasan lebih tinggi.

Fleksibilitas Terkendali dengan Regularizer

Selain batasan bentuk, kisi TensorFlow menyediakan sejumlah regularizer untuk mengontrol fleksibilitas dan kelancaran fungsi untuk setiap lapisan.

  • Laplacian Regularizer: Output dari kisi / kalibrasi simpul / keypoints sangat teratur terhadap nilai-nilai tetangga masing-masing. Ini hasil dalam fungsi datar.

  • Goni Regularizer: ini menghukum turunan pertama dari lapisan PWL kalibrasi untuk membuat fungsi lebih linier.

  • Kerut Regularizer: ini menghukum turunan kedua dari lapisan PWL kalibrasi untuk menghindari perubahan mendadak dalam lengkungan. Itu membuat fungsi lebih lancar.

  • Torsi Regularizer: Output dari kisi akan regularized menuju mencegah torsi antara fitur. Dengan kata lain, model akan diatur menuju kemandirian antara kontribusi fitur.

Padu padankan dengan lapisan Keras lainnya

Anda dapat menggunakan lapisan TF Lattice dalam kombinasi dengan lapisan Keras lainnya untuk membangun model yang dibatasi sebagian atau diregangkan. Misalnya, lapisan kalibrasi kisi atau PWL dapat digunakan pada lapisan terakhir dari jaringan yang lebih dalam yang mencakup penyematan atau lapisan Keras lainnya.

Dokumen

Tutorial dan dokumen API

Untuk arsitektur model yang umum, Anda dapat menggunakan Keras model premade atau estimator kaleng . Anda juga dapat membuat model kustom menggunakan lapisan TF Kisi Keras atau mencampur dan mencocokkan dengan lapisan lainnya Keras. Check out dokumentasi API penuh untuk rincian.