격자 기반 모델을 사용하여 유연하고 제어 가능하며 해석 가능한 ML
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를 사용하면 도메인 지식을 활용하여 학습 데이터세트에서 다루지 않는 입력 공간 부분에 더 잘 외삽할 수 있습니다. 따라서 서빙 분포가 학습 분포와 다를 때 예기치 못한 모델 동작을 피할 수 있습니다.