TensorFlow Lattice est une bibliothèque qui implémente des modèles basés sur des treillis flexibles, contrôlés et interprétables. La bibliothèque vous permet d'injecter de la connaissance de domaine dans le processus d'apprentissage par le sens commun ou inspiration politique des contraintes de forme . Cela se fait à l' aide d' une collection de couches KERAS qui peuvent satisfaire des contraintes telles que monotonicité, convexité et la confiance de par paires. La bibliothèque offre également facile à installer estimateurs en conserve .
notions
Cette section est une version simplifiée de la description dans Monotonic Calibré interpolée Tables Look-Up , JMLR 2016.
Treillis
Un réseau est une table de consultation interpolée qui peut rapprocher les relations entrées-sorties arbitraires dans vos données. Il chevauche une grille régulière sur votre espace d'entrée et apprend les valeurs pour la sortie dans les sommets de la grille. Pour un point de test \(x\), \(f(x)\) est interpolée de façon linéaire à partir des valeurs treillis entourant \(x\).
L'exemple simple ci - dessus est une fonction de 2 fonctions d'entrée et 4 paramètres:\(\theta=[0, 0.2, 0.4, 1]\), qui sont des valeurs dans les coins de l'espace d'entrée de la fonction; le reste de la fonction est interpolé à partir de ces paramètres.
La fonction \(f(x)\) peut capturer des interactions non linéaires entre les fonctions. Vous pouvez considérer les paramètres de réseau comme la hauteur des poteaux fixés dans le sol sur une grille régulière, et la fonction résultante est comme un tissu serré contre les quatre poteaux.
Avec \(D\) caractéristiques et 2 sommets le long de chaque dimension, un réseau régulier aura \(2^D\) paramètres. Pour adapter une fonction plus flexible, vous pouvez spécifier un réseau à grain plus fin sur l'espace des entités avec plus de sommets le long de chaque dimension. Les fonctions de régression sur réseau sont continues et infiniment dérivables par morceaux.
Étalonnage
Disons que le réseau échantillon précédent représente un bonheur utilisateur appris avec un café local suggéré calculée en utilisant les caractéristiques:
- prix du café, compris entre 0 et 20 dollars
- distance à l'utilisateur, dans une plage de 0 à 30 kilomètres
Nous voulons que notre modèle apprenne le bonheur des utilisateurs avec une suggestion de café local. Tensorflow modèles treillis peuvent utiliser des fonctions linéaires par morceaux (avec tfl.layers.PWLCalibration
) pour calibrer et normaliser les entités en entrée à la plage acceptée par le réseau: 0,0 à 1,0 dans l'exemple ci - dessus treillis. Les exemples suivants montrent de telles fonctions d'étalonnage avec 10 points clés :
C'est souvent une bonne idée d'utiliser les quantiles des caractéristiques comme points clés d'entrée. Tensorflow treillis estimateurs en conserve peuvent régler automatiquement les points clés d'entrée à la fonction quantile.
Pour connaître les caractéristiques nominales, tensorflow Lattice fournit étalonnage catégorique (avec tfl.layers.CategoricalCalibration
) délimitant avec des résultats similaires à alimentation dans un réseau.
Ensembles
Le nombre de paramètres d'une couche de réseau augmente de façon exponentielle avec le nombre d'entités en entrée, ce qui ne permet pas une bonne mise à l'échelle vers des dimensions très élevées. Pour surmonter cette limitation, tensorflow Lattice offre des ensembles de réseaux qui combinent (moyenne) plusieurs petits réseaux, ce qui permet au modèle de croître de façon linéaire dans le nombre de caractéristiques.
La bibliothèque propose deux variantes de ces ensembles :
Au hasard minuscules Treillis (RTL): Chaque sous - modèle utilise un sous - ensemble aléatoire de caractéristiques (avec remplacement).
Cristaux: Les cristaux Algorithm premiers trains un modèle que les estimations autoradio prémonté interactions caractéristique deux à deux. Il organise ensuite l'ensemble final de telle sorte que les entités avec plus d'interactions non linéaires se trouvent dans les mêmes réseaux.
Pourquoi le treillis TensorFlow ?
Vous trouverez une brève introduction à tensorflow Lattice dans cette TF Blog post .
Interprétabilité
Étant donné que les paramètres de chaque couche sont la sortie de cette couche, il est facile d'analyser, de comprendre et de déboguer chaque partie du modèle.
Modèles précis et flexibles
Utilisant des treillages grains fins, vous pouvez obtenir des fonctions complexes de façon arbitraire avec une couche de réseau unique. L'utilisation de plusieurs couches de calibrateurs et de réseaux fonctionne souvent bien dans la pratique et peut égaler ou surpasser les modèles DNN de tailles similaires.
Contraintes de forme de sens commun
Les données d'entraînement du monde réel peuvent ne pas représenter suffisamment les données d'exécution. Les solutions de ML flexibles telles que les DNN ou les forêts agissent souvent de manière inattendue et même sauvage dans des parties de l'espace d'entrée non couvertes par les données d'apprentissage. Ce comportement est particulièrement problématique lorsque des contraintes de politique ou d'équité peuvent être violées.
Même si les formes courantes de régularisation peuvent entraîner une extrapolation plus sensée, les régularisations standard ne peuvent pas garantir un comportement raisonnable du modèle dans tout l'espace d'entrée, en particulier avec des entrées de grande dimension. Le passage à des modèles plus simples avec un comportement plus contrôlé et prévisible peut avoir un coût considérable pour la précision du modèle.
TF Lattice permet de continuer à utiliser des modèles flexibles, mais fournit plusieurs options pour injecter de la connaissance de domaine dans le processus d'apprentissage par le biais de sens commun ou de finalité politique sémantiquement significative des contraintes de forme :
- Monotonie: Vous pouvez spécifier que la sortie ne devrait augmenter / diminuer par rapport à une entrée. Dans notre exemple, vous souhaiterez peut-être spécifier que l'augmentation de la distance jusqu'à un café ne devrait que diminuer la préférence prédite de l'utilisateur.
Convexité / Concavité: Vous pouvez spécifier que la forme de fonction peut être convexe ou concave. Mélangé à la monotonie, cela peut forcer la fonction à représenter des rendements décroissants par rapport à une caractéristique donnée.
Unimodalité: Vous pouvez spécifier que la fonction doit avoir un pic unique , ou vallée unique. Cela vous permet de représenter des fonctions qui ont une tache douce par rapport à une fonction.
Confiance par paires: Cette contrainte fonctionne sur une paire de caractéristiques et suggère que une caractéristique d'entrée reflète sémantiquement la confiance dans une autre fonction. Par exemple, un nombre plus élevé d'avis vous rend plus confiant dans le nombre d'étoiles moyen d'un restaurant. Le modèle sera plus sensible par rapport au classement par étoiles (c'est-à-dire qu'il aura une pente plus importante par rapport au classement) lorsque le nombre d'avis est plus élevé.
Flexibilité contrôlée avec les régularisateurs
En plus des contraintes de forme, le réseau TensorFlow fournit un certain nombre de régulateurs pour contrôler la flexibilité et la fluidité de la fonction pour chaque couche.
Laplacien régularisateur: Les sorties du réseau / étalonnage sommets / keypoints sont régularisés vers les valeurs de leurs voisins respectifs. Il en résulte une fonction plus plate.
Hessian régularisateur: Cela pénalise la dérivée première de la couche d'étalonnage de PWL pour rendre la fonction plus linéaire.
Rides régularisateur: Cela pénalise la dérivée seconde de la couche d'étalonnage de PWL pour éviter des changements brusques de la courbure. Cela rend la fonction plus fluide.
Torsion régularisateur: Les sorties du réseau seront régularisés en vue de prévenir la torsion entre les fonctions. En d'autres termes, le modèle sera régularisé vers l'indépendance entre les contributions des caractéristiques.
Mélanger et assortir avec d'autres couches Keras
Vous pouvez utiliser des couches TF Lattice en combinaison avec d'autres couches Keras pour construire des modèles partiellement contraints ou régularisés. Par exemple, les couches d'étalonnage en treillis ou PWL peuvent être utilisées au niveau de la dernière couche de réseaux plus profonds qui incluent des encastrements ou d'autres couches Keras.
Papiers
- Par Déontologique éthique Monotonie contraintes de forme , Serena Wang, Maya Gupta, Conférence internationale sur l' intelligence artificielle et de la statistique (AISTATS), 2020
- Contraintes de forme pour définir les fonctions , Andrew Cotter, Maya Gupta, H. Jiang, Erez Louidor, Jim Muller, Taman Narayan, Serena Wang, Tao Zhu. Conférence internationale sur l'apprentissage automatique (ICML), 2019
- Les rendements décroissants Forme Contraintes pour l'intelligibilité et Régularisation , Maya Gupta, Dara Bahari, Andrew Cotter, Kevin Canini, Advances in Neural Systèmes de traitement (NeurIPS), 2018
- Profondes Lattice Réseaux et fonctions partielles monotones , Seungil vous, Kevin Canini, David Ding, Jan Pfeifer, Maya R. Gupta, Advances in Neural Systèmes de traitement (NeurIPS), 2017
- Rapide et flexible Fonctions monotones avec des ensembles de Treillis , Mahdi Milani Fard, Kevin Canini, Andrew Cotter, Jan Pfeifer, Maya Gupta, Advances in Neural Systèmes de traitement (NeurIPS), 2016
- Monotones Calibré interpolée Les tables de recherche , Maya Gupta, Andrew Cotter, Jan Pfeifer, Konstantin Voevodski, Kevin Canini, Alexander Mangylov, Wojciech Moczydlowski, Alexander van Esbroeck, Journal of Research Machine Learning (JMLR), 2016
- Optimisation de régression pour l' évaluation efficace de fonction , Eric Garcia, Arora Raman, Maya R. Gupta, IEEE Transactions on Image Processing, 2012
- Lattice régression , Eric Garcia, Maya Gupta, Advances in Neural Systèmes de traitement (NeurIPS), 2009
Tutoriels et documents API
Pour les architectures de modèle commun, vous pouvez utiliser des modèles KERAS premade ou Estimateurs en conserve . Vous pouvez également créer des modèles personnalisés en utilisant des couches TF treillis KERAS ou mélanger et assortir avec d' autres couches KERAS. Consultez les documents complets de l' API pour plus de détails.