Krata TensorFlow (TFL)

TensorFlow Lattice to biblioteka, która implementuje elastyczne, kontrolowane i interpretowalne modele oparte na sieci. Biblioteka umożliwia wprowadzenie wiedzy o domenie do procesu uczenia się poprzez zdroworozsądkowe lub oparte na zasadach ograniczenia kształtu . Odbywa się to za pomocą kolekcji warstw Keras, które mogą spełnić ograniczenia, takie jak monotoniczność, wypukłość i zaufanie w parach. Biblioteka zapewnia również łatwe w konfiguracji gotowe estymatory .

Koncepcje

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

Kraty

Krata to interpolowana tabela przeglądowa, która może przybliżać dowolne relacje wejścia-wyjścia w danych. Nachodzi na zwykłą siatkę w przestrzeni wejściowej i uczy się wartości wyjściowych w wierzchołkach siatki. W przypadku punktu testowego \(x\), \(f(x)\) jest interpolowana liniowo na podstawie wartości siatki otaczającej \(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 rogach przestrzeni wejściowej; reszta funkcji jest interpolowana z tych parametrów.

Funkcja \(f(x)\) może przechwytywać nieliniowe interakcje między obiektami. Możesz myśleć o parametrach sieci jako o wysokości tyczek osadzonych w ziemi na regularnej siatce, a wynikowa funkcja jest jak tkanina naciągnięta ciasno na cztery tyczki.

Z funkcjami \(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ę w przestrzeni elementu 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 poprzednia przykładowa siatka reprezentuje 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 km

Chcemy, aby nasz model nauczył się szczęścia użytkownika dzięki sugestii lokalnej kawiarni. Modele TensorFlow Lattice mogą używać odcinkowych funkcji liniowych (z tfl.layers.PWLCalibration ) do kalibracji i normalizacji cech wejściowych do zakresu akceptowanego przez sieć: od 0,0 do 1,0 w przykładzie siatki powyżej. Poniżej przedstawiono przykłady takich funkcji kalibracji z 10 punktami kluczowymi:

Często dobrym pomysłem jest użycie kwantylów funkcji jako kluczowych punktów wejściowych. Standardowe estymatory TensorFlow Lattice mogą automatycznie ustawiać kluczowe punkty wejściowe na kwantyle cech.

W przypadku funkcji kategorycznych, TensorFlow Lattice zapewnia kalibrację kategoryczną (z tfl.layers.CategoricalCalibration ) z podobnym ograniczeniem danych wyjściowych do zasilania sieci.

Zespoły

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

Biblioteka udostępnia dwie odmiany tych zespołów:

  • Random Tiny Lattices (RTL): Każdy podmodel wykorzystuje losowy podzbiór funkcji (z wymianą).

  • Kryształy : Algorytm kryształów najpierw trenuje model wstępnego dopasowania , który szacuje interakcje między cechami. Następnie układa ostateczny zespół w taki sposób, aby elementy o bardziej nieliniowych interakcjach znajdowały się w tych samych sieciach.

Dlaczego krata TensorFlow?

Krótkie wprowadzenie do TensorFlow Lattice można znaleźć w tym poście na blogu TF .

Interpretowalność

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

Dokładne i elastyczne modele

Używając drobnoziarnistych siatek, możesz uzyskać dowolnie złożone funkcje z pojedynczą warstwą siatki. Korzystanie z wielu warstw kalibratorów i siatek często sprawdza się w praktyce i może dorównać lub przewyższyć modele DNN o podobnych rozmiarach.

Zdroworozsądkowe ograniczenia kształtu

Dane treningowe ze świata rzeczywistego mogą nie odzwierciedlać w wystarczającym stopniu danych z czasu wykonywania. Elastyczne rozwiązania ML, takie jak DNN lub lasy, często działają nieoczekiwanie, a nawet szaleńczo w częściach przestrzeni wejściowej, które nie są objęte danymi uczącymi. To zachowanie jest szczególnie problematyczne, gdy można naruszyć ograniczenia zasad lub uczciwości.

Mimo że powszechne formy regularyzacji mogą skutkować bardziej rozsądną ekstrapolacją, standardowe regularizery nie mogą zagwarantować rozsądnego zachowania modelu w całej przestrzeni wejściowej, szczególnie w przypadku danych wejściowych o dużej wielkości. Przejście na prostsze modele o bardziej kontrolowanym i przewidywalnym zachowaniu może mieć poważne konsekwencje dla dokładności modelu.

TF Lattice umożliwia dalsze korzystanie z elastycznych modeli, ale zapewnia kilka opcji wprowadzania wiedzy dziedzinowej do procesu uczenia się poprzez semantycznie znaczące ograniczenia kształtu wynikające ze zdrowego rozsądku lub polityki:

  • Monotoniczność : można określić, że dane wyjściowe powinny rosnąć/maleć tylko w odniesieniu do danych wejściowych. 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ć, czy 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 w odniesieniu do danej cechy.

  • Unimodalność : Możesz określić, że funkcja powinna mieć unikalny szczyt lub unikalną dolinę. Pozwala to reprezentować funkcje, które mają optymalny punkt w odniesieniu do funkcji.

  • Zaufanie parami : to ograniczenie działa na parze funkcji i sugeruje, że jedna funkcja wejściowa semantycznie odzwierciedla zaufanie do innej funkcji. Na przykład większa liczba recenzji sprawia, że ​​masz większą pewność co do średniej liczby gwiazdek restauracji. Model będzie bardziej czuły w odniesieniu do oceny w postaci gwiazdek (tj. będzie miał większe nachylenie w stosunku do oceny), gdy liczba recenzji będzie wyższa.

Kontrolowana elastyczność dzięki regularyzatorom

Oprócz ograniczeń kształtu, sieć TensorFlow zapewnia szereg regulatorów, które kontrolują elastyczność i gładkość funkcji dla każdej warstwy.

  • Regularizer Laplace'a : Dane wyjściowe kraty/kalibracji wierzchołków/punktów kluczowych są uregulowane względem wartości ich odpowiednich sąsiadów. Daje to bardziej płaską funkcję.

  • Hessian Regularizer : To karze pierwszą pochodną warstwy kalibracji PWL, aby funkcja była bardziej liniowa .

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

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

Mieszaj i łącz z innymi warstwami Keras

Warstw TF Lattice można używać w połączeniu z innymi warstwami Keras, aby konstruować modele częściowo ograniczone lub uregulowane. Na przykład warstwy kalibracyjne sieci lub PWL mogą być używane w ostatniej warstwie głębszych sieci, które zawierają osadzania lub inne warstwy Keras.

Dokumenty tożsamości

Samouczki i dokumenty API

W przypadku typowych architektur modeli można użyć 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ć je z innymi warstwami Keras. Zapoznaj się z pełną dokumentacją interfejsu API , aby uzyskać szczegółowe informacje.