Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Krata TensorFlow (TFL)

TensorFlow Lattice to biblioteka, która implementuje elastyczne, kontrolowane i interpretowalne modele oparte na sieciach kratowych. Biblioteka umożliwia wprowadzenie wiedzy dziedzinowej do procesu uczenia się poprzez ograniczenia kształtu oparte na zdrowym rozsądku lub polityce. Odbywa się to za pomocą kolekcji warstw Keras, które mogą spełniać ograniczenia, takie jak monotoniczność, wypukłość i zaufanie parami. Biblioteka zapewnia również łatwe w konfiguracji estymatory puszkowe .

Koncepcje

Ta sekcja jest uproszczoną wersją opisu w Monotonic Calibrated Interpolated Look-Up Tables , JMLR 2016.

Kraty

Krata to interpolowana tablica przeglądowa, która może przybliżać dowolne relacje wejścia-wyjścia w danych. Nakłada zwykłą siatkę na przestrzeń wejściową i uczy się wartości dla danych wyjściowych w wierzchołkach siatki. Dla punktu testowego $ x $, $ f (x) $ jest liniowo interpolowane z wartości sieci otaczających $ x $.

Prosty przykład powyżej to funkcja z 2 cechami wejściowymi i 4 parametrami: $ \ theta = [0, 0,2, 0,4, 1] $, które są wartościami funkcji w rogach przestrzeni wejściowej; reszta funkcji jest interpolowana na podstawie tych parametrów.

Funkcja $ f (x) $ może uchwycić nieliniowe interakcje między cechami. Możesz myśleć o parametrach kraty jako o wysokości słupów ustawionych w ziemi na regularnej siatce, a wynikająca z tego funkcja jest jak tkanina mocno naciągnięta na cztery słupy.

Z elementami $ D $ i 2 wierzchołkami wzdłuż każdego wymiaru, zwykła krata będzie miała parametry $ 2 ^ D $. Aby dopasować bardziej elastyczną funkcję, można określić drobnoziarnistą siatkę nad przestrzenią elementów z większą liczbą wierzchołków wzdłuż każdego wymiaru. Funkcje regresji kratowej są ciągłe i odcinkowo nieskończenie różniczkowalne.

Kalibrowanie

Załóżmy, że powyższa przykładowa siatka przedstawia zadowolenie wyuczonego użytkownika z sugerowaną lokalną kawiarnią obliczoną za pomocą funkcji:

  • 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 dzięki sugestii z lokalnej kawiarni. Modele TensorFlow Lattice mogą wykorzystywać odcinkowo funkcje liniowe (z tfl.layers.PWLCalibration ) do kalibracji i normalizacji cech wejściowych do zakresu akceptowanego przez sieć: 0,0 do 1,0 w powyższym przykładzie kraty. Poniżej przedstawiono przykłady takich funkcji kalibracji z 10 punktami klawiszy:

Często dobrym pomysłem jest użycie kwantyli cech jako wejściowych punktów kluczowych. TensorFlow Lattice puszkach estymatory może automatycznie ustawić keypoints wprowadzany do kwantyli fabularnych.

W przypadku cech kategorialnych TensorFlow Lattice zapewnia kalibrację tfl.layers.CategoricalCalibration (z tfl.layers.CategoricalCalibration ) z podobnym wyjściem ograniczającym się do wprowadzenia do sieci.

Zespoły

Liczba parametrów warstwy sieciowej rośnie wykładniczo wraz z liczbą cech wejściowych, dlatego nie skaluje się dobrze do bardzo dużych wymiarów. Aby przezwyciężyć to ograniczenie, TensorFlow Lattice oferuje zespoły kratownic, które łączą (przeciętnie) kilka małych sieci, co umożliwia liniowy wzrost liczby cech modelu.

Biblioteka udostępnia dwie odmiany tych zestawów:

  • Random Tiny Lattices (RTL): każdy podmodel wykorzystuje losowy podzbiór funkcji (z zamiennikami).

  • Kryształy : algorytm Crystals najpierw trenuje model prefitting, który szacuje parowane interakcje cech. Następnie układa ostateczny zespół w taki sposób, że elementy o bardziej nieliniowych interakcjach znajdują się w tych samych sieciach.

Dlaczego krata TensorFlow?

Możesz znaleźć krótkie wprowadzenie do TensorFlow Lattice w tym poście na blogu TF .

Interpretowalność

Ponieważ parametry każdej warstwy są danymi wyjściowymi tej warstwy, łatwo jest analizować, rozumieć i debugować każdą część modelu.

Dokładne i elastyczne modele

Korzystając z drobnoziarnistych siatek, można uzyskać dowolnie złożone funkcje z pojedynczą warstwą sieci. Korzystanie z wielu warstw kalibratorów i kratownic często działa dobrze w praktyce i może dorównać lub przewyższać modele DNN o podobnych rozmiarach.

Zwykłe ograniczenia kształtu

Rzeczywiste dane treningowe mogą nie odzwierciedlać wystarczająco danych czasu wykonywania. Elastyczne rozwiązania ML, takie jak DNN lub lasy, często działają nieoczekiwanie, a nawet dziko w częściach obszaru wejściowego, których nie obejmują dane szkoleniowe. Takie zachowanie jest szczególnie problematyczne, gdy można naruszyć zasady lub ograniczenia dotyczące sprawiedliwości.

Chociaż powszechne formy regularyzacji mogą skutkować bardziej sensowną ekstrapolacją, standardowe regularyzatory nie mogą zagwarantować rozsądnego zachowania modelu w całej przestrzeni wejściowej, szczególnie w przypadku wysokowymiarowych danych wejściowych. Przejście na prostsze modele o bardziej kontrolowanym i przewidywalnym zachowaniu może wiązać się z poważnymi kosztami dla dokładności modelu.

TF Lattice umożliwia dalsze stosowanie elastycznych modeli, ale zapewnia kilka opcji wprowadzania wiedzy dziedzinowej do procesu uczenia się poprzez semantycznie znaczące, zdroworozsądkowe lub oparte na polityce ograniczenia kształtu :

  • Monotoniczność : Możesz określić, że wyjście powinno rosnąć / spadać tylko w stosunku do wejścia. W naszym przykładzie możesz chcieć określić, że zwiększona odległość do kawiarni powinna tylko zmniejszyć 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 zmusić funkcję do reprezentowania malejących zwrotów z danej cechy.

  • Jednomodalność : możesz określić, że funkcja powinna mieć unikalny szczyt lub unikalną dolinę. Pozwala to na reprezentowanie funkcji, które mają najlepszy punkt w odniesieniu do funkcji.

  • Zaufanie parami : to ograniczenie działa na parę funkcji i sugeruje, że jedna funkcja wejściowa semantycznie odzwierciedla zaufanie do innej funkcji. Na przykład większa liczba recenzji zwiększa pewność średniej liczby gwiazdek restauracji. Model będzie bardziej czuły w odniesieniu do oceny w gwiazdkach (tj. Będzie miał większe nachylenie w odniesieniu do oceny), gdy liczba recenzji będzie większa.

Kontrolowana elastyczność dzięki regulatorom

Oprócz ograniczeń kształtu, sieć TensorFlow zapewnia szereg regularyzatorów do kontrolowania elastyczności i gładkości funkcji dla każdej warstwy.

  • Laplaciański regulator : Wyjścia sieci / wierzchołków kalibracyjnych / punktów kluczowych są regulowane w kierunku wartości ich odpowiednich sąsiadów. Powoduje to bardziej płaską funkcję.

  • Hesyjski regulator: To penalizuje pierwszą pochodną warstwy kalibracji PWL, aby funkcja była bardziej liniowa .

  • Korektor zmarszczek : To ukara drugą pochodną warstwy kalibracyjnej PWL, aby uniknąć nagłych zmian krzywizny. Sprawia, że ​​funkcja jest płynniejsza.

  • Regulatory skręcania : Wyjścia siatki zostaną uregulowane w celu zapobiegania skręcaniu między elementami. Innymi słowy, model zostanie uregulowany w kierunku niezależności między wkładami cech.

Mieszaj i dopasowuj z innymi warstwami Keras

Możesz używać warstw TF Lattice w połączeniu z innymi warstwami Keras, aby tworzyć częściowo ograniczone lub regularyzowane modele. Na przykład warstwy kalibracyjne kratownicy lub PWL mogą być używane na ostatniej warstwie głębszych sieci, które zawierają osadzenia lub inne warstwy Keras.

Dokumenty tożsamości

Samouczki i dokumenty API

W przypadku typowych architektur modeli można używać gotowych modeli Keras lub gotowych estymatorów . Możesz także tworzyć własne modele przy użyciu warstw TF Lattice Keras lub mieszać i dopasowywać z innymi warstwami Keras. Sprawdź pełną dokumentację API, aby uzyskać szczegółowe informacje.