Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

TensorFlow Lattice (TFL)

TensorFlow Lattice ist eine Bibliothek, die Arbeitsgeräte flexible, kontrolliert und interpretierbar Gitterbasierte Modelle. Die Bibliothek ermöglicht es Ihnen , Domänenwissen in den Lernprozess durch gesunden Menschenverstand oder richtliniengesteuerte einzuspritzen Formeinschränkungen . Dies geschieht , eine Sammlung von mit Keras Schichten , die Einschränkungen wie Monotonie, Konvexität und paarweise Vertrauen befriedigen. Die Bibliothek bietet auch einfach zu installieren Konserven Schätzer .

Konzepte

Dieser Abschnitt ist eine vereinfachte Version der Beschreibung in Monotone kalibrierte Interpolated Look-Up - Tables , JMLR 2016.

Die Gitter

Ein Gitter ist eine interpolierte Look-Up - Tabelle , die beliebigen Eingabe-Ausgabe - Beziehungen in Ihren Daten annähern kann. Es überlappt ein regelmäßiges Gitter auf Ihren Eingangsraum und lernt Werte für die Ausgabe in den Ecken des Gitters. Für einen Testpunkt x $ $ ist $ f (x) $ linear von den Gitterwerten interpoliert umgebenden $ x $.

Das einfache Beispiel oben ist eine Funktion mit 2 Eingangs Merkmale und 4 Parameter: $ \ theta = [0, 0,2, 0,4, 1], $, die die Funktion der Werte an den Ecken des Eingangsraums sind; der Rest der Funktion wird aus diesen Parametern interpoliert.

Die Funktion $ f (x) $ erfassen können nichtlineare Wechselwirkungen zwischen den Merkmalen. Sie können wie die Höhe der Pole der Gitterparameter denken im Boden auf einem regelmäßigen Gitter gesetzt, und die sich ergebende Funktion ist wie ein Tuch fest gegen die vier Polen gezogen.

Mit $ D $ entlang jeder Dimension verfügt und 2 Ecken, wird ein regelmäßiges Gitter $ 2 ^ D $ Parameter. Passend für eine flexiblere Funktion können Sie ein feinkörniges Gitter über den Merkmalsraum angeben mit mehr Ecken entlang jeder Dimension. Lattice Regressionsfunktionen sind kontinuierlich und abschnittsweise unendlich differenzierbar.

Kalibrierung

Nehmen wir an, die vorhergehende Probe Gitter eines gelernten Benutzer Glück mit einem empfohlenen lokalen Coffee - Shop stellt Funktionen berechnet:

  • Kaffeepreis, in Bereich von 0 bis 20 Dollar
  • Entfernung zu dem Benutzer, im Bereich von 0 bis 30 Kilometern

Wir wollen unser Modell Benutzer Glück mit einem lokalen Coffee-Shop-Vorschlag zu lernen. TensorFlow Lattice Modelle können abschnittsweise lineare Funktionen verwenden (mit tfl.layers.PWLCalibration ) zu kalibrieren und zu normalisieren der Eingabe - Features auf den Bereich , der durch das Gitter angenommen: 0,0 bis 1,0 in dem obigen Beispiel Gitter. Die folgenden Beispiele solcher Kalibrierungen Funktionen mit 10 keypoints:

Es ist oft eine gute Idee, die Quantile der Funktionen als Eingabe keypoints zu verwenden. TensorFlow Lattice in Dosen Schätzer kann den Eingang keypoints auf die Funktion quantiles automatisch eingestellt.

Für kategorische Funktionen liefert TensorFlow Lattice kategorische Kalibrierung (mit tfl.layers.CategoricalCalibration ) mit ähnlichem Ausgang in ein Gitter einzuzuspeisen Bounding.

Ensembles

Die Anzahl der Parameter einer Gitterschicht steigt exponentiell mit der Anzahl von Eingangsfunktionen, Skalierung daher nicht gut zu sehr hohen Maße. Um diese Einschränkung zu überwinden, TensorFlow Lattice bietet Ensembles von Gittern , die ( im Durchschnitt) mehr kleine Gitter kombinieren, die das Modell linear in der Anzahl von Merkmalen wachsen können.

Die Bibliothek bietet zwei Varianten dieser Ensembles:

  • Zufällige Tiny Gitter (RTL): Jeder submodel verwendet eine zufällige Teilmenge von Funktionen (mit Ersatz).

  • Kristalle: Die Kristalle Algorithmus ersten Züge eine Vormontage - Modell , dass die Schätzungen Feature - Interaktionen paarweise. Es ordnet dann die endgültige Ensemble solcher, der mit mehreren nicht-linearen Wechselwirkungen Merkmale sind in den gleichen Gittern.

Warum TensorFlow Lattice?

Sie können eine kurze Einführung in TensorFlow Lattice in dieser finden TF Blog Post .

Interpretierbarkeit

Da die Parameter jeder Schicht die Ausgabe dieser Schicht sind, ist es leicht zu analysieren, zu verstehen und jeden Teil des Modells debuggen.

Präzise und flexible Modelle

Mit feinkörnig Gittern können Sie beliebig komplexe Funktionen mit einer einzigen Gitterschicht erhalten. Die Verwendung mehrerer Schichten von Kalibratoren und Gittern oft gut in der Praxis funktionieren und passen oder übertreffen DNN Modelle ähnlicher Größen können.

Common-Sense-Form-Constraints

Reale Welt Trainingsdaten nicht ausreichend können die Laufzeitdaten darstellen. Flexible ML-Lösungen wie DNNs oder Wälder oft unerwartet und sogar wild in Teilen des Eingangsraums wirken nicht durch die Trainingsdaten abgedeckt. Dieses Verhalten ist besonders problematisch, wenn Politik oder Fairness Bedingungen verletzt werden können.

Obwohl gemeinsame Formen der Regularisierung in vernünftiger Extrapolation zur Folge haben können, kann Standard-regularizers nicht garantieren, vernünftige Modellverhalten über den gesamten Eingangsraum, insbesondere bei hochdimensionalen Eingaben. Der Wechsel zu einfacheren Modellen mit kontrolliertem und vorhersagbares Verhalten kann zu einem schwer Kosten für die Modellgenauigkeit kommen.

TF Lattice ermöglicht es , mit flexiblen Modellen zu halten, aber mehrere Optionen einzuspritzen Domänenwissen in den Lernprozess bietet durch semantisch sinnvolle common-sense oder richtliniengesteuerte Formeinschränkungen :

  • Monotonie: Sie können festlegen , dass die Ausgabe nur in Bezug erhöhen / verringern , um eine Eingabe. In unserem Beispiel möchten Sie vielleicht, dass die erhöhte Entfernung zu einem Coffee-Shop angeben sollten nur die vorhergesagte Benutzereinstellung verringern.

  • Konvexität / Konkavität: Sie können festlegen , dass die Funktion Form konvex oder konkav sein kann. Gemischt mit Monotonie, kann dies die Funktion zwingen, abnehmende Erträge in Bezug auf eine gegebene Funktion darstellen.

  • Unimodalität: Sie können festlegen , dass die Funktion eine einzigartige Spitze oder einzigartiges Tal haben sollte. Auf diese Weise können Sie repräsentieren Funktionen , die einen Sweet - Spot in Bezug auf eine Funktion.

  • Pairwise Vertrauen: Diese Einschränkung arbeitet an einem Paar von Merkmalen und schlägt vor , dass ein Eingabe - Feature spiegelt semantisch Vertrauen in einer anderen Funktion. Zum Beispiel können höhere Anzahl von Bewertungen macht Sie zuversichtlich, im Durchschnitt Sterne eines Restaurants. Das Modell wird noch sensitiver in Bezug auf die Sterne (dh eine größere Neigung in Bezug auf die Bewertung hat), wenn die Anzahl der Bewertungen ist höher.

Kontrollierte Flexibilität mit Regularizers

Zusätzlich zu Formeinschränkungen stellen TensorFlow Gitter eine Anzahl von regularizers die Flexibilität und Glätte der Funktion für jede Schicht zu steuern.

  • Laplace Regularisator: Ausgänge des Gitters / Kalibrierung Eckpunkte / keypoints auf die Werte ihrer jeweiligen Nachbarn regularisiert worden sind. Dies führt zu einer flacheren Funktion.

  • Hessian Regularisator: Dieses nachteilige Auswirkungen auf die erste Ableitung der PWL Kalibrierungsschicht auf die Funktion mehr linear zu machen.

  • Wrinkle Regularisator: Diese nachteiligen Auswirkungen auf die zweite Ableitung der PWL Kalibrierungsschicht plötzliche Veränderungen in der Krümmung zu vermeiden. Es macht die Funktion glatter.

  • Torsion Regularisator: Ausgänge des Gitters wird in Richtung zu den Merkmalen Torsion verhindert regularisiert werden. Mit anderen Worten, wird das Modell in der Unabhängigkeit zwischen den Beiträgen der Merkmale regularisiert werden.

Mix and match mit anderen Keras Schichten

Sie können TF Gitterschichten in Kombination mit anderen Schichten verwenden Keras teilweise eingeschränkt oder regula Modelle zu konstruieren. Zum Beispiel Gitter oder PWL Kalibrierungsschichten können auf der letzten Schicht tiefer Netze verwendet werden, die Einbettungen oder andere Keras Schichten umfassen.

Papiere

Tutorials und API-Dokumentation

Für gemeinsame Modell - Architekturen können Sie verwenden Keras vorgefertigte Modelle oder in Dosen Schätzer . Sie können auch benutzerdefinierte Modelle erstellen TF Lattice Keras Schichten oder mischen und mit anderen Keras Schichten. Überprüfen Sie die aus vollständigen API - Dokumentation für weitere Einzelheiten.