Elastyczne, kontrolowane i interpretowalne ML z modelami opartymi na siatce
import numpy as np import tensorflow as tf import tensorflow_lattice as tfl model = tf.keras.models.Sequential() model.add( tfl.layers.ParallelCombination([ # Monotonic piece-wise linear calibration with bounded output tfl.layers.PWLCalibration( monotonicity='increasing', input_keypoints=np.linspace(1., 5., num=20), output_min=0.0, output_max=1.0), # Diminishing returns tfl.layers.PWLCalibration( monotonicity='increasing', convexity='concave', input_keypoints=np.linspace(0., 200., num=20), output_min=0.0, output_max=2.0), # Partially monotonic categorical calibration: calib(0) <= calib(1) tfl.layers.CategoricalCalibration( num_buckets=4, output_min=0.0, output_max=1.0, monotonicities=[(0, 1)]), ])) model.add( tfl.layers.Lattice( lattice_sizes=[2, 3, 2], monotonicities=['increasing', 'increasing', 'increasing'], # Trust: model is more responsive to input 0 if input 1 increases edgeworth_trusts=(0, 1, 'positive'))) model.compile(...)
TensorFlow Lattice to biblioteka, która implementuje ograniczone i możliwe do interpretacji modele oparte na kratach. Biblioteka umożliwia wprowadzenie wiedzy dziedzinowej do procesu uczenia się poprzez ograniczenia kształtu oparte na zdrowym rozsądku lub zasadach. Odbywa się to za pomocą zbioru warstw Keras , które mogą spełniać ograniczenia, takie jak monotoniczność, wypukłość i sposób interakcji obiektów. Biblioteka udostępnia także łatwe w konfiguracji, gotowe modele .
Dzięki TF Lattice możesz wykorzystać wiedzę dziedzinową, aby lepiej ekstrapolować na części przestrzeni wejściowej nieobjęte zbiorem danych szkoleniowych. Pomaga to uniknąć nieoczekiwanego zachowania modelu, gdy dystrybucja obsługi różni się od dystrybucji szkoleniowej.