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%が米国に奪われた

ブログ    
ブログ    

推薦する

2023 年までにデータセンターで注目される AI と ML の 10 大アプリケーション

人工知能 (AI) と機械学習 (ML) は、データセンター分野の重要なテクノロジーとなっています。...

量子プロセッサのパフォーマンスはなぜ変動するのでしょうか? Googleが見つけた答えは、素材に欠陥があるということだ

量子プロセッサは最先端の研究テーマです。世界トップクラスの研究室や企業の研究機関が常に新たな進歩を遂...

ビッグデータアルゴリズムにもっと積極的な役割を担わせる

近年、ビッグデータコンピューティングの継続的な発展に伴い、ユーザーを中毒に誘導したり、悪いアイデアを...

COVID-19により公益事業の人工知能への移行が加速

人工知能 (AI) は、医療から自動車、小売、ファーストフードまで、考えられるほぼすべての業界で幅広...

「機械」が他より賢く、「技術」が他より劣っているという観察と思考

[[277716]] 9月21日、CCTV-1の「スーパースマート」番組では、杭州の霊隠寺に毎日訪れ...

アジャイル開発が機械学習に役立つ5つの方法

[51CTO.com クイック翻訳] フレームワークと方法として、アジャイル開発は現在、ソフトウェア...

...

インターネットの罪:Google がいかにして私たちを愚かにしているのか

[[322291]]オリジナル記事はThe Atlantic、著者ニコラス・カーよりこの記事のハイラ...

...

Baidu Smart Cloud Qianfan AppBuilder を解体し、次世代の大規模モデル アプリケーションを予測する

ゲスト|百度インテリジェントクラウド技術委員会委員長 孫克氏執筆者 | Yun Zhao 2023年...

画像内のオブジェクト検出のための ML データを探索および視覚化する方法

近年、機械学習データ(MLデータ)を深く理解する必要性に対する認識が高まっています。しかし、大規模な...

スタンフォード大学がトランプ政権のCTOと会談: AI、移民、技術インフラなどについて

[[282007]] ▲写真:スタンフォード大学のアイリーン・ドナホー氏(左)が、米国政府の最高技術...

2023年に出現するサイバー脅威、AI、量子コンピューティング、データ汚染まで

ハッカーや詐欺師が新しいテクノロジーを入手したり、古い脆弱性を悪用する新しい方法を考え出したりするに...

LSTM、GRU、ニューラルチューリングマシン: ディープラーニングで最も人気のあるリカレントニューラルネットワークの詳細な説明

リカレント ニューラル ネットワーク (RNN) は、ネットワークに追加の重みを追加してネットワーク...