このページは Cloud Translation API によって翻訳されました。
Switch to English

TensorFlow Lattice(TFL)

TensorFlow Latticeは、柔軟で制御された解釈可能なラティスベースのモデルを実装するライブラリです。ライブラリを使用すると、常識的またはポリシー主導の形状制約を通じて、ドメイン知識を学習プロセスに注入できます。これは、単調性、凸性、ペアワイズ信頼などの制約を満たすことができるKerasレイヤーのコレクションを使用して行われます。ライブラリには、簡単にセットアップできる定型推定量も用意されています。

コンセプト

このセクションは、 JMLR2016のMonotonicCalibrated Interpolated Look-UpTablesの説明を簡略化したものです。

ラティス

ラティスは、データ内の任意の入出力関係を概算できる補間ルックアップテーブルです。通常のグリッドを入力スペースに重ね、グリッドの頂点の出力の値を学習します。テストポイント$ x $の場合、$ f(x)$は$ x $を囲む格子値から線形補間されます。

上記の簡単な例は、2つの入力機能と4つのパラメーターを持つ関数です。$ \ theta = [0、0.2、0.4、1] $は、入力スペースの隅にある関数の値です。関数の残りの部分は、これらのパラメーターから補間されます。

関数$ f(x)$は、フィーチャ間の非線形相互作用をキャプチャできます。格子定数は、規則的なグリッド上の地面に設定された極の高さと考えることができ、結果として得られる関数は、布が4つの極に対してしっかりと引っ張られたようなものです。

$ D $フィーチャと、各次元に沿った2つの頂点がある場合、通常のラティスには$ 2 ^ D $パラメーターがあります。より柔軟な関数に合わせるために、各次元に沿ってより多くの頂点を持つ、フィーチャスペース上でより細かいラティスを指定できます。格子回帰関数は連続的で区分的に無限に微分可能です。

較正

上記のサンプルラティスが、次の機能を使用して計算された、提案された地元のコーヒーショップで学習したユーザーの幸福を表しているとしましょう。

  • コーヒーの価格、0〜20ドルの範囲
  • ユーザーまでの距離(0〜30 kmの範囲)

モデルには、地元のコーヒーショップの提案でユーザーの幸せを学んでもらいたいと考えています。 TensorFlow Latticeモデルは、区分的線形関数tfl.layers.PWLCalibration )を使用して、入力フィーチャをキャリブレーションし、ラティスが受け入れる範囲(上記のラティスの例ではtfl.layers.PWLCalibration )に正規化できます。以下に、10個のキーポイントを持つこのようなキャリブレーション機能の例を示します。

多くの場合、特徴の分位数を入力キーポイントとして使用することをお勧めします。 TensorFlow Latticeの定型推定量は、入力キーポイントを特徴分位数に自動的に設定できます。

カテゴリカル機能の場合、TensorFlow Latticeは、ラティスにフィードするための同様の出力境界を持つカテゴリカルキャリブレーション( tfl.layers.CategoricalCalibration )を提供します。

アンサンブル

ラティスレイヤーのパラメーターの数は、入力フィーチャの数とともに指数関数的に増加するため、非常に高い次元に適切にスケーリングできません。この制限を克服するために、TensorFlow Latticeは、いくつかの小さなラティスを(平均して)組み合わせたラティスのアンサンブルを提供します。これにより、モデルは特徴の数で直線的に成長できます。

ライブラリは、これらのアンサンブルの2つのバリエーションを提供します。

  • Random Tiny Lattices (RTL):各サブモデルは、特徴のランダムなサブセットを使用します(置換あり)。

  • Crystals :Crystalsアルゴリズムは、最初にペアワイズ特徴の相互作用を推定する事前適合モデルをトレーニングします。次に、より非線形な相互作用を持つフィーチャが同じラティスにあるように、最終的なアンサンブルを配置します。

なぜTensorFlowラティス?

TensorFlow Latticeの簡単な紹介は、このTFブログ投稿にあります。

解釈可能性

各レイヤーのパラメーターはそのレイヤーの出力であるため、モデルの各部分の分析、理解、およびデバッグが容易です。

正確で柔軟なモデル

きめ細かい格子を使用すると、単一の格子層で任意の複雑な関数を取得できます。キャリブレータとラティスの複数のレイヤーを使用すると、実際にはうまく機能することが多く、同様のサイズのDNNモデルと一致するか、それを上回ることができます。

常識的な形状の制約

実際のトレーニングデータは、実行時データを十分に表していない可能性があります。 DNNやフォレストなどの柔軟なMLソリューションは、トレーニングデータでカバーされていない入力スペースの一部で、予期せず、さらには乱暴に動作することがよくあります。この動作は、ポリシーまたは公平性の制約に違反する可能性がある場合に特に問題になります。

正則化の一般的な形式はより賢明な外挿をもたらす可能性がありますが、標準の正則化は、特に高次元の入力では、入力空間全体にわたって妥当なモデルの動作を保証できません。より制御された予測可能な動作を備えたより単純なモデルに切り替えると、モデルの精度が大幅に低下する可能性があります。

TF Latticeは、柔軟なモデルの使用を継続することを可能にしますが、意味的に意味のある常識またはポリシー主導の形状制約を通じて、ドメイン知識を学習プロセスに注入するためのいくつかのオプションを提供します。

  • 単調性:出力が入力に対してのみ増加/減少するように指定できます。この例では、コーヒーショップまでの距離を長くすると、予測されるユーザーの好みだけが減少するように指定できます。

  • 凸/陥凹:あなたは関数形状が凸状または凹状でできるように指定することができます。単調性と混合すると、これにより、関数は特定の特徴に関して収穫逓減を表すようになります。

  • 単峰性:関数に固有の山または固有の谷を持たせるように指定できます。これにより、機能に関してスイートスポットを持つ関数を表すことができます。

  • ペアワイズ信頼:この制約は機能のペアで機能し、1つの入力機能が別の機能への信頼を意味的に反映していることを示します。たとえば、レビューの数が多いほど、レストランの平均的な星評価に自信が持てるようになります。レビューの数が多いほど、モデルは星の評価に対してより敏感になります(つまり、評価に対してより大きな傾きを持ちます)。

レギュラライザーによる制御された柔軟性

形状の制約に加えて、TensorFlowラティスは、各レイヤーの関数の柔軟性と滑らかさを制御するための多数のレギュラライザーを提供します。

  • ラプラシアン正則化:ラティス/キャリブレーション頂点/キーポイントの出力は、それぞれのネイバーの値に向かって正則化されます。これにより、関数がよりフラットになります。

  • ヘッセ正則化:これは、PWLキャリブレーションレイヤーの一次導関数にペナルティを課して、関数をより線形にします。

  • リンクル正則化:これは、曲率の突然の変化を回避するために、PWLキャリブレーションレイヤーの2次導関数にペナルティを課します。機能がスムーズになります。

  • ねじれ正則化:ラティスの出力は、フィーチャ間のねじれを防ぐために正則化されます。言い換えると、モデルは、機能の寄与間の独立性に向けて正規化されます。

他のKerasレイヤーと組み合わせて組み合わせる

TF Latticeレイヤーを他のKerasレイヤーと組み合わせて使用​​して、部分的に制約されたモデルまたは正規化されたモデルを構築できます。たとえば、ラティスまたはPWLキャリブレーションレイヤーは、埋め込みまたは他のKerasレイヤーを含むより深いネットワークの最後のレイヤーで使用できます。

論文

チュートリアルとAPIドキュメント

一般的なモデルアーキテクチャの場合、 Kerasの既成モデルまたは定型のEstimatorを使用できます。 TF Lattice Kerasレイヤーを使用してカスタムモデルを作成したり、他のKerasレイヤーと組み合わせたりすることもできます。詳細については、完全なAPIドキュメントを確認してください。