Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

TensorFlow Lattice (TFL)

TensorFlow Lattice adalah library yang mengimplementasikan model berbasis kisi yang fleksibel, terkontrol, dan dapat ditafsirkan. Pustaka memungkinkan Anda memasukkan pengetahuan domain ke dalam proses pembelajaran melalui batasan bentuk yang masuk akal atau berdasarkan kebijakan. Ini dilakukan menggunakan kumpulan lapisan Keras yang dapat memenuhi batasan seperti monotonisitas, konveksitas, dan kepercayaan berpasangan. Perpustakaan juga menyediakan penaksir kalengan yang mudah diatur.

Konsep

Bagian ini adalah versi deskripsi yang disederhanakan di Tabel Pencarian Terinterpolasi Monotonik, JMLR 2016.

Kisi

Kisi adalah tabel pencarian yang diinterpolasi yang dapat memperkirakan hubungan input-output arbitrer dalam data Anda. Ini tumpang tindih dengan grid biasa ke ruang input Anda dan mempelajari nilai untuk output di simpul grid. Untuk titik uji $ x $, $ f (x) $ diinterpolasi secara linier dari nilai kisi yang mengelilingi $ x $.

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

Fungsi $ f (x) $ dapat menangkap interaksi non-linier antar 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 empat tiang.

Dengan fitur $ D $ dan 2 simpul di sepanjang setiap dimensi, kisi reguler akan memiliki parameter $ 2 ^ D $. 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 terdiferensiasi sedikit demi sedikit.

Kalibrasi

Katakanlah kisi sampel sebelumnya mewakili kebahagiaan pengguna yang terpelajar dengan kedai kopi lokal yang disarankan yang dihitung menggunakan fitur:

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

Kami ingin model kami mempelajari kebahagiaan pengguna dengan saran kedai kopi lokal. Model TensorFlow Lattice dapat menggunakan fungsi linier sebagian (dengan tfl.layers.PWLCalibration ) untuk mengkalibrasi dan menormalkan fitur masukan ke kisaran yang diterima oleh kisi: 0,0 hingga 1,0 dalam contoh kisi di atas. Berikut ini adalah contoh fungsi kalibrasi dengan 10 titik tombol:

Seringkali merupakan ide yang baik untuk menggunakan kuantil fitur sebagai titik tombol masukan. Estimator kaleng TensorFlow Lattice dapat secara otomatis menyetel titik tombol input ke kuantil fitur.

Untuk fitur kategorikal, TensorFlow Lattice menyediakan kalibrasi kategoris (dengan tfl.layers.CategoricalCalibration ) dengan output yang sama terikat untuk dimasukkan ke dalam kisi.

Ensemble

Jumlah parameter lapisan kisi meningkat secara eksponensial dengan jumlah fitur masukan, oleh karena itu tidak diskalakan dengan baik ke dimensi yang sangat tinggi. Untuk mengatasi batasan ini, TensorFlow Lattice menawarkan serangkaian kisi yang menggabungkan (rata-rata) beberapa kisi kecil , yang memungkinkan model untuk berkembang secara linier dalam jumlah fitur.

Perpustakaan menyediakan dua variasi dari ansambel ini:

  • Random Tiny Lattices (RTL): Setiap submodel menggunakan subset fitur acak (dengan penggantian).

  • Kristal : Algoritme Kristal pertama-tama melatih model prefitting yang memperkirakan interaksi fitur berpasangan. Kemudian mengatur ansambel akhir sedemikian rupa sehingga fitur dengan lebih banyak interaksi non-linier berada dalam kisi yang sama.

Mengapa TensorFlow Lattice?

Anda dapat menemukan pengantar singkat tentang TensorFlow Lattice di entri Blog TF ini.

Interpretabilitas

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

Model Akurat dan Fleksibel

Dengan menggunakan kisi yang sangat halus, Anda bisa mendapatkan fungsi yang kompleks secara sewenang-wenang dengan satu lapisan kisi. Menggunakan beberapa lapisan 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 secara liar di bagian ruang input yang tidak tercakup dalam data pelatihan. Perilaku ini sangat bermasalah ketika batasan kebijakan atau keadilan dapat dilanggar.

Meskipun bentuk regularisasi yang umum dapat menghasilkan ekstrapolasi yang lebih masuk akal, regulator 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 berdampak besar pada keakuratan model.

TF Lattice memungkinkan untuk tetap menggunakan model yang fleksibel, tetapi memberikan beberapa opsi untuk memasukkan pengetahuan domain ke dalam proses pembelajaran melalui batasan bentuk yang didorong oleh kebijakan atau akal sehat yang bermakna secara semantik:

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

  • Convexity / Concavity : Anda dapat menentukan bahwa bentuk fungsinya bisa cembung atau cekung. Dicampur dengan monotonisitas, ini dapat memaksa fungsi untuk merepresentasikan hasil yang semakin berkurang sehubungan dengan fitur yang diberikan.

  • Unimodality : Anda dapat menentukan bahwa fungsi tersebut harus memiliki puncak yang unik atau lembah yang unik. Ini memungkinkan Anda merepresentasikan fungsi yang memiliki sweet spot berkenaan dengan sebuah fitur.

  • Kepercayaan berpasangan: Batasan ini berfungsi pada sepasang fitur dan menunjukkan bahwa satu fitur masukan secara semantik mencerminkan kepercayaan pada fitur lain. Misalnya, jumlah ulasan yang lebih tinggi membuat Anda lebih yakin dengan peringkat bintang rata-rata sebuah restoran. Model akan lebih sensitif sehubungan dengan peringkat bintang (yaitu akan memiliki kemiringan yang lebih besar sehubungan dengan peringkat tersebut) bila jumlah tinjauan lebih tinggi.

Fleksibilitas Terkendali dengan Regularizer

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

  • Regularizer Laplacian : Output dari kisi / simpul kalibrasi / titik kunci diatur terhadap nilai tetangganya masing-masing. Ini menghasilkan fungsi yang lebih datar .

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

  • Wrinkle Regularizer : Ini menghukum turunan kedua lapisan kalibrasi PWL untuk menghindari perubahan kelengkungan yang tiba-tiba. Itu membuat fungsinya lebih lancar.

  • Pengatur Torsi : Keluaran kisi akan diatur untuk mencegah torsi di antara fitur. Dengan kata lain, model akan diatur menuju independensi antara kontribusi fitur.

Campur dan cocokkan dengan lapisan Keras lainnya

Anda dapat menggunakan lapisan TF Lattice yang dikombinasikan dengan lapisan Keras lainnya untuk membuat model yang dibatasi atau diatur sebagian. Misalnya, kisi atau lapisan kalibrasi PWL dapat digunakan di lapisan terakhir dari jaringan yang lebih dalam yang menyertakan embeddings atau lapisan Keras lainnya.

Dokumen

Tutorial dan dokumen API

Untuk arsitektur model umum, Anda dapat menggunakan model yang dibuat sebelumnya Keras atau Estimator terekam . Anda juga dapat membuat model kustom menggunakan lapisan TF Lattice Keras atau mencampur dan mencocokkan dengan lapisan Keras lainnya. Lihat dokumen API lengkap untuk detailnya.