AA flexible, controlado e interpretable con modelos basados en cuadrículas
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 es una biblioteca que implementa modelos basados en cuadrículas que son limitados e interpretables. La biblioteca te permite incorporar conocimiento de área en el proceso de aprendizaje mediante restricciones de forma basadas en el sentido común o en políticas. Esto se logra mediante una colección de capas de Keras que pueden satisfacer restricciones como la monotonía, la convexidad y la forma en que interactúan las funciones. La biblioteca también proporciona modelos prediseñados y estimadores estándar fáciles de configurar.
Con TF Lattice, puedes usar el conocimiento del dominio para extrapolar mejor las secciones del espacio de entrada que no estén cubiertas por el conjunto de datos de entrenamiento. Esto ayuda a evitar el comportamiento imprevisto del modelo cuando la distribución de la deriva es diferente de la distribución del entrenamiento.