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 می‌توانید از دانش دامنه برای برون‌یابی بهتر قسمت‌هایی از فضای ورودی که توسط مجموعه داده آموزشی پوشش داده نمی‌شود، استفاده کنید. این به جلوگیری از رفتار مدل غیرمنتظره در زمانی که توزیع سرویس متفاوت از توزیع آموزشی است، کمک می کند.