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