ML flessibile, controllato e interpretabile con modelli basati su reticolo
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 è una libreria che implementa modelli basati su reticoli vincolati e interpretabili. La libreria consente di iniettare la conoscenza del dominio nel processo di apprendimento attraverso vincoli di forma basati sul buon senso o basati su criteri. Questo viene fatto utilizzando una raccolta di livelli Keras in grado di soddisfare vincoli come la monotonia, la convessità e il modo in cui le funzionalità interagiscono. La libreria fornisce anche modelli predefiniti e stimatori prefabbricati facili da configurare.
Con TF Lattice puoi utilizzare la conoscenza del dominio per estrapolare meglio le parti dello spazio di input non coperte dal set di dati di addestramento. Ciò consente di evitare comportamenti imprevisti del modello quando la distribuzione di servizio è diversa dalla distribuzione di addestramento.
