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

TensorFlow Lattice(TFL)

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

概念

このセクションは、JMLR 2016のMonotonic Calibrated Interpolated Look-Up Tablesの説明を簡略化したものです。

格子

ラティスは、データの任意の入出力関係を近似できる補間されたルックアップテーブルです。通常のグリッドを入力スペースに重ね、グリッドの頂点の出力の値を学習します。テストポイント$ 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 )を使用して、ラティスによって受け入れられる範囲(上記のラティスの0.0から1.0)に入力フィーチャを較正および正規化できます。次の例は、10個のキーポイントを持つそのようなキャリブレーション関数の例を示しています。

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

カテゴリ機能の場合、TensorFlow Latticeは、( tfl.layers.CategoricalCalibration )カテゴリ校正を提供し、同様の出力境界をラティスにフィードします。

アンサンブル

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

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

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

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

TensorFlow Latticeを選ぶ理由

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

解釈可能性

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

正確で柔軟なモデル

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

常識的な形状制約

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

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

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

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

  • 凸/陥凹 :あなたは関数形状が凸状または凹状でできるように指定することができます。単調性と混合すると、これにより、関数は特定の機能に関して減少するリターンを表すことができます。

  • 単峰性 :関数に一意のピークまたは一意の谷が必要であることを指定できます。これにより、機能に関してスイートスポットを持つ機能を表すことができます。

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

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

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

  • ラプラシアンレギュラライザー :ラティス/キャリブレーション頂点/キーポイントの出力は、それぞれの近傍の値に向かって正規化されます。これにより、関数がより平坦になります。

  • Hessian Regularizer :PWLキャリブレーションレイヤーの1次導関数にペナルティを課し、関数をより線形にします。

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

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

他のKerasレイヤーと混合して一致させる

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

論文

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

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