Krata TensorFlow (TFL)

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

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 .