TensorFlow Lattice: 柔軟で制御可能、説明可能な機械学習

TensorFlow Lattice: 柔軟で制御可能、説明可能な機械学習

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

機械学習の専門家のほとんどは、実行時にモデルを評価するために使用されるトレーニング データとサンプルが大きく異なる状況に遭遇したことがあります。そのため、トレーニング データのモデルのみに依存する DNN やランダム フォレストなどの比較的柔軟な機械学習ソリューションは、トレーニング データセットと検証データセットでカバーされていない入力空間では予期しない、あるいは大幅に異なるパフォーマンスを示すことがよくあります。この問題は、重要なポリシーや公平性の制約に違反する可能性がある場合に特に深刻になります。

制約のないモデルは、少数のトレーニング例のみでカバーされる入力空間では予期しない動作をする可能性があります。図に示すように、ディープ ニューラル ネットワークと勾配ブースティング ツリーの予測結果は、テスト セットの実際の結果とは大きく異なります。

正規化は一般的にはより堅牢な推論結果をもたらしますが、標準的な正規化ツールでは、特に入力空間の次元が高い場合、モデルがすべての入力空間で適切に動作することを保証できません。予測可能な動作を持つシンプルで制御可能なモデルに切り替えると、モデルの精度が大幅に低下します。

TF Lattice を使用すると、意味的に意味のある一般的な制約やポリシー主導の形状制約などのいくつかのオプションを通じて、ドメイン知識を学習プロセスに注入しながら、柔軟なモデル (高精度) を使用することが可能になります。たとえば、モデルへの入力が特定の入力に対して単調に増加するように指定できます。この追加のドメイン知識により、モデルはトレーニング データを超えた知識を学習し、モデルの動作をユーザーが予測および制御できるようになります。

TensorFlow Lattice ライブラリ

TensorFlow Lattice は、制約付きで解釈可能なラスターベースのモデルをトレーニングするためのライブラリです。ラスターは、データ内の任意の入力と出力の関係を近似するために使用できる補間ルックアップ テーブルです。

上記の例は、2 つの入力フィーチャと 4 つのパラメータに基づくグリッド関数です。これらの 4 つのパラメータは、入力空間の 4 つの頂点におけるグリッド関数の関数値であり、その他の関数値は、これらのパラメータを通じて得られる補間値です。より柔軟な機能を得るために、より高次元のグリッドやより細かいグリッド パラメータを使用することもできます。このライブラリは、Keras レイヤー オブジェクト tfl.layers.Lattice を使用して上記のグリッドを実装します。 TensorFlow Grid は、入力機能をグリッド関数の許容入力範囲 (上記のグリッドの例では 0 ~ 1) に揃えて正規化するための区分線形関数 (tfl.layers.PWLCalibration Keras レイヤー) も提供します。

分類された特徴については、TensorFlow Grid は分類タイプのキャリブレーションを提供し、グリッドへの入力を容易にするために同様の出力境界を取得します。上記のキャリブレーターとグリッドを組み合わせると、キャリブレーションされたグリッド モデルが得られます。

TensorFlow Lattice レイヤーは、モデル トレーニング プロセスにドメイン知識を注入するために使用できる多くの種類の制約を提供します。

  • 単調性: モデル出力が入力に対して単調に増加または減少するように指定できます。この場合、距離に応じて単調に減少する、つまり距離が遠くなるほど、コーヒー ショップに対するユーザーの好みが低くなるというように、モデルを制約することができます。

  • 凸性と凹性: 関数の形状が凸か凹かを指定できます。単調性と組み合わせることで、凸性と凹性を制約し、関数が特定の機能に関して収穫逓減などの特性を示すように強制することができます。
  • 単峰性: 関数が単峰性であるか、谷が 1 つしかないかを指定できます。これにより、特定の機能に関して予想される最良の認識ポイントを持つ関数を取得できます。
  • ペアの肯定的な確認: この制約は、1 つの入力機能が意味的に別の機能の信頼性を高めることを示します。たとえば、レビュー数が多いレストランは、平均星評価も高くなる可能性が高くなります。ただし、レビュー数が多い場合、モデルは星評価に対してより敏感になります (たとえば、相対評価とレビュー数の間の傾きが大きくなります)。
  • ペアワイズ優位性: この制約は、モデルが、ある特徴が別の特徴よりも重要であると見なす必要があることを示します。この特性は、関数の傾きが主要な特徴上でより大きくなるようにすることで実現されます。

TensorFlow lattice は、形状制約に加えて、各機能における関数の柔軟性と滑らかさを制御するための一連の正規化子を提供します。これらには、ラプラス正則化 (より平坦な関数)、ヘッセ行列正則化 (より線形なキャリブレーション関数)、しわ正則化 (より滑らかなキャリブレーション関数)、およびワープ正則化 (よりペアワイズ線形なグリッド関数) が含まれます。

事例: 訪問の並べ替え

この例は、エンドツーエンドの関数形状制約チュートリアルからのものであり、上記の制約をすぐに使用できる多くの推定器が含まれています。ユーザーがレストランの検索結果をクリックするかどうかを判断するというシナリオを想定します。これはクリックスルー率 (CTR) 予測タスクです。指定されている機能は次のとおりです。

  • 平均評価: 1から5までの値を持つ数値特性
  • コメント数: 0 から 200 までの値を持つ数値特性
  • ラダースコア: カテゴリ特性、値の範囲は「$」から「$$$$」、データは0から3で表され、欠損値は-1

モデルの動作を制限または無効化するための次のドメイン知識があります。

  • モデルの出力は平均スコアに対して単調に増加している
  • モデルの出力はレビュー数に応じて単調に増加していますが、限界利益は減少しています。
  • しかし、レビュー数が増えれば、モデルは平均評価が高くなると確信するはずです。
  • ユーザーは、「$」付きのレストランよりも「$$」付きのレストランを好む傾向があります。

TensorFlow Lattice が提供する Keras レイヤーを使用して、キャリブレーションされたラスター モデルを作成できます。

  1. モデル = tf.keras.models.Sequential()モデル.add(
  2. tfl.layers.ParallelCombination([
  3. # 機能: 平均評価 tfl.layers.PWLCalibration(
  4. #区分線形関数入力キーポイント input_keypoints=np.linspace( 1 ., 5 ., num= 20 ),
  5. #この機能では出力は単調に増加します monotonicity= 'increasing'
  6. # このレイヤーは2つの頂点を持つ格子に入力されます output_min= 0.0
  7. 出力最大値 = 1.0 )、
  8. # 機能: レビュー数 tfl.layers.PWLCalibration(
  9. 入力キーポイント = np.linspace( 0 ., 200 ., num= 20 ),
  10. #この機能では出力は単調に増加します monotonicity= 'increasing'
  11. # レビュー数には収穫逓減の傾向がある。convexity= 'concave'
  12. # 正規化子はタプルとして定義されます ( 'name' , l1, l2) kernel_regularizer=( 'wrinkle' , 0.0 , 1.0 ),
  13. # このレイヤーは3つの頂点を持つ格子に入力されます output_min= 0.0
  14. 出力最大値 = 2.0 )、
  15. # 機能: ドル評価 tfl.layers.CategoricalCalibration(
  16. # 4 つの評価カテゴリ + 1 つの欠落カテゴリ num_buckets = 5
  17. デフォルト入力値=- 1
  18. # 部分的な単調性: calib( 0 ) <= calib( 1 ) monotonicities=[( 0 , 1 )],
  19. # このレイヤーは2つの頂点を持つ格子に入力されます output_min= 0.0
  20. 出力最大値 = 1.0 )、
  21. ]))モデルを追加します(
  22. tfl.layers.ラティス(
  23. # 2x3x2 グリッド格子 lattice_size=[ 2 , 3 , 2 ],
  24. # 出力はすべての入力に対して単調です monotonicities=[ 'increasing' , 'increasing' , 'increasing' ]
  25. # 信頼: 入力に対する応答性の向上0  入力1 が増加する場合edgeworth_trusts=( 0 , 1 , 'positive' )))model.compile(...)

上記のグリッドにより、トレーニングされたモデルは指定されたすべての制約を満たすようになり、追加の正規化によりモデルはより滑らかになります。

ツールキットによって提供されるすぐに使用できる推定器を使用して上記のモデルを構築することもできます。詳細については、上記の制約の役割と効果についても説明されている、シェイプ コントロールのエンドツーエンドの Colab チュートリアルをご覧ください。 TF Lattice Keras レイヤーを他の Keras レイヤーと組み合わせて使用​​することで、部分的に制約されたモデルや正規化されたモデルを作成できます。たとえば、グリッドまたは PWL キャリブレーション レイヤーは、他の埋め込みや Keras レイヤーを参照するディープ ニューラル ネットワークの最後のレイヤーとして使用できます。詳細については、Tensorflow Lattice の Web サイトをご覧ください。形状制約、統合推定器、カスタム推定器、Keras レイヤーなど、始めるのに役立つチュートリアルが多数あります。その間、TF 開発者会議のビデオを見て、詳細を確認してください。 (https://youtu.be/ABBnNjbjv2Q)

<<:  百度言語知識技術サミットが開催され、王海鋒氏がNLP技術の進化の道筋を明らかにした

>>:  中国の優秀な人工知能人材の70%が米国に奪われた

ブログ    
ブログ    
ブログ    

推薦する

2024年のAIトレンド、このグラフをご覧ください、LeCun: オープンソースのビッグモデルがクローズドソースを上回る

2023年ももうすぐ終わりです。過去1年間で、さまざまな大型モデルがリリースされました。 OpenA...

負荷分散アルゴリズムを理解していますか?

[[286998]]負荷分散アルゴリズムには、ポーリング、ランダム、最小接続の 3 つがあります。...

Google DeepMind の最新研究: 敵対的攻撃は人間に対しても有効であり、人間も AI も花瓶を猫と間違える!

人間のニューラルネットワーク(脳)と人工ニューラルネットワーク(ANN)の関係は何ですか?ある先生が...

...

すぐに理解できます: 電流制限におけるリーキーバケットとトークンバケットアルゴリズム

[[346652]]この記事は、陳建宇氏が執筆したWeChatパブリックアカウント「私の脳は揚げ魚で...

ハイブリッドクラウドプラットフォームがデータの障壁を打ち破り、人工知能がデータの価値を活性化

デジタル経済の時代において、企業の将来の競争力を形成する鍵として、データの価値は企業からますます注目...

インテリジェントな意思決定理論: AI 主導の意思決定企業の創出

人工知能モデルを使用してより優れた意思決定を促進する方法は、現在非常に注目されている研究テーマです。...

強化学習 AI は 1 対 5 の戦いに役立ちますか? MITの新研究:AIは人間にとって最高のチームメイトではない

[[433351]]強化学習AIは囲碁、スタークラフト、王者栄耀などのゲームで絶対的な優位性を持って...

2019 AIIA開発者会議記者会見が北京で開催

10月10日、2019 AIIA人工知能開発者会議の記者会見が北京で開催されました。 2019年AI...

...

OpenAI は GPT-4 をすべての有料 API ユーザーに公開します

OpenAIは7月7日、今年3月にGPT-4をリリースしたが、テストへの参加を申請した一部の開発者の...

人工知能に関するTEDトークトップ10

この一連の講演では、人工知能 (AI) と機械学習に関する興味深い議論やセッションを「全体像」の観点...

8つのソートアルゴリズムのPython実装

この記事では、主に 8 つの一般的なソート アルゴリズムの基本概念とそれらの Python 実装を紹...

...

完全な自動運転まであとどれくらいでしょうか?答えはセンサー技術の発展にある

近年、新エネルギー車が次々と登場し、販売も増加し続けています。テスラ、ウェイラン、小鵬汽車などの新エ...