Гибкое, контролируемое и интерпретируемое машинное обучение с решетчатыми моделями.
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 — это библиотека, которая реализует ограниченные и интерпретируемые модели на основе решетки. Библиотека позволяет вам внедрять знания предметной области в процесс обучения посредством ограничений формы , основанных на здравом смысле или на основе политик. Это делается с использованием набора слоев Keras , которые могут удовлетворять таким ограничениям, как монотонность, выпуклость и взаимодействие функций. Библиотека также предоставляет простые в настройке готовые модели .
С TF Lattice вы можете использовать знания предметной области, чтобы лучше экстраполировать части входного пространства, не охваченные набором обучающих данных. Это помогает избежать неожиданного поведения модели, когда распределение обслуживания отличается от распределения обучения.