TensorFlow Lattice to biblioteka implementująca elastyczne, kontrolowane i interpretowalne modele oparte na kratach. Biblioteka umożliwia włączenie wiedzy dziedzinowej do procesu uczenia się poprzez zdroworozsądkowe lub oparte na regułach ograniczenia kształtu . Odbywa się to za pomocą zbioru warstw Keras , które mogą spełniać takie ograniczenia, jak monotoniczność, wypukłość i zaufanie parami. Biblioteka udostępnia również łatwe w konfiguracji, gotowe modele .
Koncepcje
Niniejsza sekcja stanowi uproszczoną wersję opisu zawartego w publikacji Monotonic Calibrated Interpolated Look-Up Tables , JMLR 2016.
Kraty
Krata to interpolowana tablica przeglądowa, która może aproksymować dowolne relacje wejścia-wyjścia w danych. Nakłada ona regularną siatkę na przestrzeń wejściową i uczy się wartości dla wyjścia w wierzchołkach siatki. W przypadku punktu testowego \(x\), \(f(x)\) jest liniowo interpolowana z otaczających wartości sieciowych \(x\).

Powyższy prosty przykład to funkcja z 2 cechami wejściowymi i 4 parametrami:\(\theta=[0, 0.2, 0.4, 1]\), które są wartościami funkcji w narożnikach przestrzeni wejściowej; reszta funkcji jest interpolowana z tych parametrów.
Funkcja \(f(x)\) Potrafi uchwycić nieliniowe interakcje między obiektami. Parametry sieci można porównać do wysokości słupów osadzonych w ziemi na regularnej siatce, a wynikowa funkcja przypomina tkaninę naciągniętą na cztery słupy.
Z \(D\) cechy i 2 wierzchołki wzdłuż każdego wymiaru, regularna krata będzie miała \(2^D\) Parametry. Aby dopasować bardziej elastyczną funkcję, można określić bardziej ziarnistą sieć w przestrzeni cech z większą liczbą wierzchołków w każdym wymiarze. Funkcje regresji sieciowej są ciągłe i nieskończenie różniczkowalne fragmentarycznie.
Kalibrowanie
Załóżmy, że poprzednia przykładowa krata reprezentuje poznane zadowolenie użytkownika z sugerowanej lokalnej kawiarni, obliczone przy użyciu cech:
- cena kawy w przedziale od 0 do 20 dolarów
- odległość do użytkownika w zakresie od 0 do 30 kilometrów
Chcemy, aby nasz model uczył się zadowolenia użytkowników na podstawie sugestii dotyczących lokalnej kawiarni. Modele kratowe TensorFlow mogą wykorzystywać funkcje liniowe kawałkami (z tfl.layers.PWLCalibration ) do kalibracji i normalizacji cech wejściowych do zakresu akceptowanego przez kratę: od 0,0 do 1,0 w przykładowej kratce powyżej. Poniżej przedstawiono przykłady takich funkcji kalibracyjnych z 10 punktami kluczowymi:


Często dobrym pomysłem jest użycie kwantyli cech jako punktów kluczowych wejściowych. Gotowe modele TensorFlow Lattice mogą automatycznie ustawiać punkty kluczowe wejściowe na kwantyle cech.
W przypadku cech kategorycznych TensorFlow Lattice umożliwia kalibrację kategoryjną (za pomocą tfl.layers.CategoricalCalibration ) z podobnym ograniczeniem wyjściowym w celu przekazania do sieci.
Zespoły
Liczba parametrów warstwy sieci rośnie wykładniczo wraz z liczbą cech wejściowych, przez co nie skaluje się dobrze do bardzo dużych wymiarów. Aby pokonać to ograniczenie, TensorFlow Lattice oferuje zespoły sieci, które łączą (uśredniają) kilka małych sieci, co umożliwia liniowy wzrost liczby cech modelu.
Biblioteka oferuje dwie wersje tych zespołów:
Losowe małe kratki (RTL): Każdy podmodel wykorzystuje losowy podzbiór cech (z zastępowaniem).
Kryształy : Algorytm Kryształów najpierw trenuje model pre-fitingowy , który szacuje interakcje cech parami. Następnie porządkuje końcowy zespół tak, aby cechy o bardziej nieliniowych interakcjach znajdowały się w tych samych sieciach.
Dlaczego TensorFlow Lattice?
Krótkie wprowadzenie do TensorFlow Lattice można znaleźć w tym wpisie na blogu TF .
Interpretowalność
Ponieważ parametry każdej warstwy stanowią dane wyjściowe tej warstwy, można łatwo analizować, rozumieć i debugować każdą część modelu.
Dokładne i elastyczne modele
Używając sieci drobnoziarnistych, można uzyskać dowolnie złożone funkcje za pomocą jednej warstwy sieci. Użycie wielu warstw kalibratorów i sieci często sprawdza się w praktyce i może dorównywać lub przewyższać modele DNN o podobnych rozmiarach.
Ograniczenia kształtu zgodne ze zdrowym rozsądkiem
Rzeczywiste dane treningowe mogą nie odzwierciedlać w wystarczającym stopniu danych w czasie wykonywania. Elastyczne rozwiązania uczenia maszynowego, takie jak sieci neuronowe (DNN) czy lasy, często zachowują się nieoczekiwanie, a nawet w sposób chaotyczny w częściach przestrzeni wejściowej nieobjętych danymi treningowymi. Takie zachowanie jest szczególnie problematyczne w przypadku naruszenia zasad lub ograniczeń dotyczących uczciwości.

Chociaż popularne formy regularyzacji mogą prowadzić do bardziej sensownej ekstrapolacji, standardowe regularyzatory nie gwarantują rozsądnego zachowania modelu w całej przestrzeni wejściowej, zwłaszcza w przypadku danych wejściowych o dużej liczbie wymiarów. Przejście na prostsze modele o bardziej kontrolowanym i przewidywalnym zachowaniu może wiązać się z poważnym obniżeniem dokładności modelu.
TF Lattice umożliwia dalsze korzystanie z elastycznych modeli, ale oferuje również kilka opcji włączania wiedzy dziedzinowej do procesu uczenia się poprzez semantycznie znaczące ograniczenia kształtu oparte na zdrowym rozsądku lub na zasadach:
- Monotoniczność : Możesz określić, że dane wyjściowe powinny rosnąć/maleć tylko w stosunku do danych wejściowych. W naszym przykładzie możesz określić, że zwiększona odległość do kawiarni powinna jedynie zmniejszać przewidywane preferencje użytkownika.




Wypukłość/wklęsłość : Możesz określić, że kształt funkcji może być wypukły lub wklęsły. W połączeniu z monotonicznością może to wymusić na funkcji reprezentację malejących zysków względem danej cechy.
Unimodalność : Można określić, że funkcja powinna mieć unikalny szczyt lub dolinę. Pozwala to na reprezentowanie funkcji, które mają optymalny punkt względem danej cechy.
Zaufanie parami : To ograniczenie działa na parze cech i sugeruje, że jedna cecha wejściowa semantycznie odzwierciedla zaufanie do innej cechy. Na przykład, większa liczba recenzji zwiększa pewność co do średniej oceny restauracji w gwiazdkach. Model będzie bardziej wrażliwy na ocenę w gwiazdkach (tj. będzie miał większe nachylenie względem oceny), gdy liczba recenzji będzie wyższa.
Kontrolowana elastyczność z regularyzatorami
Oprócz ograniczeń kształtu, sieć TensorFlow udostępnia szereg regularyzatorów kontrolujących elastyczność i płynność funkcji dla każdej warstwy.
Regularyzator Laplace'a : Wyjścia kraty/wierzchołków kalibracyjnych/punktów kluczowych są regularyzowane względem wartości ich sąsiadów. W rezultacie powstaje funkcja płaska .
Regularizer hesjański : nakłada karę na pierwszą pochodną warstwy kalibracji PWL, aby funkcja była bardziej liniowa .
Wrinkle Regularizer : Ten element karze drugą pochodną warstwy kalibracyjnej PWL, aby uniknąć nagłych zmian krzywizny. Dzięki temu funkcja staje się płynniejsza.
Regularyzator skrętu : Wyniki sieci będą regularyzowane w celu zapobiegania skrętom między cechami. Innymi słowy, model będzie regularyzowany w celu zapewnienia niezależności między wkładami cech.
Mieszaj i dopasowuj z innymi warstwami Keras
Warstwy sieci TF (TF Lattice) można używać w połączeniu z innymi warstwami Keras do konstruowania modeli częściowo ograniczonych lub regularyzowanych. Na przykład warstwy sieci lub kalibracji PWL można stosować na ostatniej warstwie głębszych sieci, które zawierają osadzenia lub inne warstwy Keras.
Dokumenty tożsamości
- Etyka deontologiczna według ograniczeń kształtu monotoniczności , Serena Wang, Maya Gupta, Międzynarodowa Konferencja na temat sztucznej inteligencji i statystyki (AISTATS), 2020
- Ograniczenia kształtu dla funkcji zbiorów , Andrew Cotter, Maya Gupta, H. Jiang, Erez Louidor, Jim Muller, Taman Narayan, Serena Wang, Tao Zhu. Międzynarodowa konferencja poświęcona uczeniu maszynowemu (ICML), 2019
- Malejące zwroty kształtują ograniczenia interpretowalności i regularyzacji , Maya Gupta, Dara Bahri, Andrew Cotter, Kevin Canini, Postępy w systemach przetwarzania informacji neuronowych (NeurIPS), 2018
- Sieci głębokiej kraty i częściowo monotoniczne funkcje , Seungil You, Kevin Canini, David Ding, Jan Pfeifer, Maya R. Gupta, Postępy w systemach przetwarzania informacji neuronowych (NeurIPS), 2017
- Szybkie i elastyczne funkcje monotoniczne z zespołami krat , Mahdi Milani Fard, Kevin Canini, Andrew Cotter, Jan Pfeifer, Maya Gupta, Postępy w systemach przetwarzania informacji neuronowej (NeurIPS), 2016
- Monotonic Calibrated Interpolated Look-Up Tables , Maya Gupta, Andrew Cotter, Jan Pfeifer, Konstantin Voevodski, Kevin Canini, Alexander Mangylov, Wojciech Moczydlowski, Alexander van Esbroeck, Journal of Machine Learning Research (JMLR), 2016
- Zoptymalizowana regresja dla efektywnej oceny funkcji , Eric Garcia, Raman Arora, Maya R. Gupta, IEEE Transactions on Image Processing, 2012
- Regresja kratowa , Eric Garcia, Maya Gupta, Postępy w systemach przetwarzania informacji neuronowych (NeurIPS), 2009
Samouczki i dokumentacja API
W przypadku typowych architektur modeli można korzystać z gotowych modeli Keras . Można również tworzyć modele niestandardowe, korzystając z warstw Keras TF Lattice lub mieszać je z innymi warstwami Keras. Szczegółowe informacje można znaleźć w pełnej dokumentacji API .