Google I/O to frajda! Nadrobić zaległości w sesjach TensorFlow Zobacz sesje

Krata TensorFlow (TFL)

TensorFlow Lattice to biblioteka, która implementuje elastyczne, kontrolowane i interpretowalne modele oparte na sieci. Biblioteka pozwala wstrzyknąć dziedziny wiedzy w procesie uczenia się przez zdrowego rozsądku lub politycznych napędzany ograniczeniami kształtu . Odbywa się to za pomocą zbiór warstw Keras które mogą spełniać ograniczeń, takich jak monotoniczności, wypukłości i parami zaufania. Biblioteka zapewnia także łatwy w instalacji w puszkach estymatorów .

Koncepcje

Ta sekcja jest uproszczona wersja opisu w Monotonic Calibrated interpolowana Look-Up Tables , JMLR 2016.

Kraty

Kratowy jest interpolowana look-up table, które mogą zbliżyć dowolnych relacji wejście-wyjście w Twoich danych. Nachodzi na zwykłą siatkę w przestrzeni wejściowej i uczy się wartości wyjściowych w wierzchołkach siatki. Przez punkt testowy \(x\), \(f(x)\) są interpolowane liniowo od wartości kratowych otaczających \(x\).

Prosty przykład powyżej funkcja 2 cech wejściowych i 4 parametry:\(\theta=[0, 0.2, 0.4, 1]\), które to wartości dla tej funkcji w narożach przestrzeni wejściowej; reszta funkcji jest interpolowana z tych parametrów.

Funkcja \(f(x)\) może uchwycić nieliniowych oddziaływań wzajemnych między funkcjami. 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 \(D\) funkcji i 2 wierzchołki wzdłuż każdego wymiaru, regularna kratownica będzie miał \(2^D\) parametry. 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

Powiedzmy poprzedniego pomiaru kraty reprezentuje nauczył szczęście użytkownika z sugerowanym lokalnej kawiarni obliczonej 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 kratowy można używać funkcji odcinkowo liniowego (z tfl.layers.PWLCalibration ) do kalibrowania i znormalizowania wejściowych zawiera się w zakresie akceptowanych przez kratę: 0,0 do 1,0, na przykład krata 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. TensorFlow Lattice puszkach estymatory może automatycznie ustawić keypoints wprowadzany do kwantyli fabularnych.

Na kategoryczne funkcji TensorFlow Krata stanowi kategoryczne kalibracji (z tfl.layers.CategoricalCalibration ) o podobnej mocy ograniczające się do kanału w sieci krystalicznej.

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 obejść to ograniczenie, TensorFlow Krata oferuje zespołami krat, które łączą (średnia) kilka maleńkich Gratki, która umożliwia model rośnie liniowo w liczbie funkcji.

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

  • Losowe Tiny Kraty (RTL): Każdy submodel wykorzystuje losowe podzbiór funkcji (z wymianą).

  • Kryształy: Kryształy pierwszego algorytmu pociągów prefitting model, który szacunki parami interakcje fabularnych. 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?

Można znaleźć krótkie wprowadzenie do TensorFlow kratę w tym TF Blog postu .

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

Korzystanie z drobnym uziarnieniu Gratki, można uzyskać dowolnie złożonych funkcji z pojedynczej warstwy siatkowej. 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 Krata pozwala zachować przy użyciu elastycznych modeli, ale oferuje kilka opcji, aby wprowadzić wiedzy domeny w procesie uczenia się poprzez semantycznie sensowne zdrowego rozsądku lub politycznych napędzany ograniczeniami kształtu :

  • Monotoniczność: Można określić, że wyjście powinno tylko wzrost / spadek 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żna określić, że kształt funkcja może być wypukłe lub wklęsłe. W połączeniu z monotonicznością może to zmusić funkcję do reprezentowania malejących zwrotów w odniesieniu do danej cechy.

  • Funkcja unimodalna: Można określić, że funkcja powinna mieć unikalny pik lub unikalną dolinę. To pozwala reprezentować funkcje, które mają słodki miejsce pod względem funkcji.

  • Parami zaufanie: Ograniczenie to działa na parę cech 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.

  • Laplace'a Regularizer: Wyjścia kratownica / kalibracja wierzchołki / keypoints są uregulowane w kierunku wartości swoich sąsiadów. Skutkuje to funkcja bardziej płaski.

  • Juty Regularizer: jest to niekorzystne dla pierwszej pochodnej warstwy kalibracji PWL do funkcji bardziej liniowa.

  • Zmarszczek Regularizer: jest to niekorzystne dla drugiej pochodnej warstwy kalibracji PWL do uniknięcia gwałtownych zmian w krzywiźnie. To sprawia, że ​​funkcja jest płynniejsza.

  • Skrętne Regularizer: Wyjścia kraty zostaną uregulowane w kierunku zapobiegania skręcaniu między funkcjami. 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 kratowe 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

Do wspólnego modelu architektury, można użyć modeli predefiniowanych Keras lub puszkach estymatorów . Można również tworzyć własne modele za pomocą warstw TF Krata Keras lub łączyć z innymi warstwami Keras. Sprawdź pełne docs API dla szczegółów.