Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

TensorFlow Lattice (TFL)

TensorFlow Lattice adalah perpustakaan 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. Hal ini dilakukan dengan menggunakan kumpulan lapisan Keras yang dapat memenuhi kendala seperti monotonitas, cembung dan kepercayaan berpasangan. Perpustakaan juga menyediakan penaksir kalengan yang mudah dipasang.

Konsep

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

Kisi

Kisi adalah tabel pencarian yang diinterpolasi yang dapat memperkirakan hubungan input-output arbitrer dalam data Anda. Ini tumpang tindih grid biasa ke ruang input Anda dan mempelajari nilai-nilai untuk output dalam simpul grid. Untuk titik uji $ x $, $ f (x) $ diinterpolasi secara linear dari nilai-nilai kisi yang mengelilingi $ 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 di sudut-sudut ruang input; sisa fungsi 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 sebagian dibedakan secara tak terbatas.

Kalibrasi

Katakanlah kisi sampel sebelumnya menunjukkan 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 kisaran 0 hingga 30 kilometer

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

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

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

Ensemble

Jumlah parameter dari lapisan kisi meningkat secara eksponensial dengan jumlah fitur input, sehingga tidak scaling 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 linier dalam sejumlah fitur.

Perpustakaan menyediakan dua variasi dari ansambel ini:

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

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

Mengapa TensorFlow Lattice?

Anda dapat menemukan pengantar singkat untuk TensorFlow Lattice di posting 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 yang 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 liar di bagian ruang input yang tidak tercakup dalam data pelatihan. Perilaku ini sangat bermasalah ketika batasan kebijakan atau keadilan dapat dilanggar.

Meskipun bentuk umum regularisasi dapat menghasilkan ekstrapolasi yang lebih masuk akal, regulator standar tidak dapat menjamin perilaku model yang wajar di seluruh ruang input, terutama dengan input dimensi 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 akan meningkat / berkurang sehubungan dengan input. Dalam contoh kami, Anda mungkin ingin menentukan bahwa peningkatan jarak ke kedai kopi hanya akan mengurangi 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 unik atau lembah unik. Ini memungkinkan Anda mewakili fungsi yang memiliki sweet spot sehubungan dengan fitur.

  • Kepercayaan berpasangan: Batasan ini berfungsi pada sepasang fitur dan menyarankan bahwa satu fitur input secara semantik mencerminkan kepercayaan pada fitur lain. Misalnya, jumlah ulasan yang lebih tinggi membuat Anda lebih percaya diri pada 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 pengatur untuk mengontrol fleksibilitas dan kelancaran fungsi untuk setiap lapisan.

  • Laplacian Regularizer : Output dari simpul / titik kunci kisi / kalibrasi diatur ke nilai tetangga 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.

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

Padu dan padu dengan layer 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 pada lapisan terakhir dari jaringan yang lebih dalam yang menyertakan embeddings atau lapisan Keras lainnya.

Dokumen

Tutorial dan dokumentasi API

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