格子ベースのモデルによる柔軟でわかりやすい制御された 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 レイヤのコレクションを使用して行われ、単調性、凸性、特徴の相互作用などの制約条件を満たすことが可能です。また、ライブラリにはセットアップが簡単な事前に作成されたモデルと Estimator も用意されています。
TF Lattice を使用すると、特定分野の知識を使用して、入力空間のトレーニング データセットでカバーできない部分に対してより適切な推定を行えます。これにより、サービング分布がトレーニング分布と異なる場合に、モデルの予期しない動作を回避できます。