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
- 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 zestawu , Andrew Cotter, Maya Gupta, H. Jiang, Erez Louidor, Jim Muller, Taman Narayan, Serena Wang, Tao Zhu. Międzynarodowa konferencja nt. uczenia maszynowego (ICML), 2019
- Zmniejszanie ograniczeń kształtu zwrotów dla interpretacji i regularyzacji , Maya Gupta, Dara Bahri, Andrew Cotter, Kevin Canini, Postępy w neuronowych systemach przetwarzania informacji (NeurIPS), 2018
- Głębokie sieci kratowe i częściowe funkcje monotoniczne , Seungil You, Kevin Canini, David Ding, Jan Pfeifer, Maya R. Gupta, Postępy w neuronowych systemach przetwarzania informacji (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 neuronowych systemach przetwarzania informacji (NeurIPS), 2016
- Monotoniczne kalibrowane interpolowane tabele przeglądowe, 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 neuronowych systemach przetwarzania informacji (NeurIPS), 2009
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.