Mnożenie macierzy jest jedną z najważniejszych i najbardziej wymagających operacji arytmetycznych w uczeniu maszynowym. W rezultacie przeprowadzono wiele badań dotyczących mnożenia macierzy, które można dobrze aproksymować. Naukowcy starają się opracować system oparty na uczeniu się, który działa znacznie lepiej niż obecne metody w tym badaniu. Działa 100 razy szybciej niż rzeczywiste produkty macierzowe i dziesięć razy szybciej niż najpopularniejsze algorytmy aproksymacyjne, zgodnie z eksperymentami wykorzystującymi setki macierzy z różnych dziedzin. To podejście ma również interesującą zaletę polegającą na tym, że wymaga operacji zerowej sumy podwójnej, gdy znana jest już pojedyncza tablica, co jest typowym scenariuszem.
Wyniki te wskazują na bardziej obiecującą podstawę uczenia maszynowego na podstawie rzadkich, podzielonych na czynniki i ilościowych produktów macierzowych, które zostały ostatnio szeroko przebadane i zainwestowane w sprzęt: połączenie haszowania, mediacji i tasowania bajtów. Główną trudnością jest skrócenie czasu obliczeniowego potrzebnego do aproksymacji operacji liniowych z zadanym poziomem dokładności. Kiedy otrzymujemy macierz danych A, której wiersze są próbkami i chcemy zastosować do tych próbek liniowy czynnik B, sytuacja ta naturalnie występuje w uczeniu maszynowym i eksploracji danych. B może być między innymi klasyfikatorem liniowym, nachyleniem liniowym lub macierzą imputacji.
Jako praktyczną ilustrację zrób przybliżenie klasyfikatora softmax, który jest wyszkolony do przewidywania etykiet obrazów przy użyciu motywów uzyskanych z sieci neuronowej. Tutaj kolumny B reprezentują wektory wag dla każdej kategorii, podczas gdy wiersze A reprezentują motywy dla każdego obrazu. Klasyfikacja jest osiągana przez obliczenie iloczynu AB i uzyskanie argmax w każdym wierszu wyniku. W zestawach danych CIFAR-10 i CIFAR-100 nasza technologia przewyższała najlepszych konkurentów. Wyniki przedstawiono na poniższym rysunku.
Zamiast tego MADDNESS1 implementuje funkcję przetwarzania nieliniowego i upraszcza problem do wyszukiwania tabel. Co więcej, gdy B jest znane na początku, na przykład gdy wytrenowany model liniowy jest stosowany do nowych danych, MADDNESS nie wymaga mnożenia dodawania. Podejście to jest ściśle powiązane z metodami badania podobieństwa wektorów. Zamiast używać kosztownej funkcji kwantyzacji z wielokrotnymi mnożeniami, wprowadzono zestaw funkcji kwantyzacji bez dodawania mnożenia.
Wkład artykułu można podsumować w następujący sposób:
- Szybka rodzina edukacyjnych algorytmów kwantyzacji wektorowej zdolnych do kodowania ponad 100 gigabajtów danych na sekundę w pojedynczym wątku procesora.
- Prawidłowa technika łączenia dla niskiej przepustowości pozwala uniknąć nagłych wahań, nasycenia i zalania.
- Metoda przybliżonego mnożenia macierzy oparta na tych funkcjach. Eksperymenty z setkami różnych matryc pokazują, że nasze podejście znacznie wykracza poza obecne możliwości. Obejmuje również teoretyczne gwarancje jakości.
Kluczowym wnioskiem empirycznym jest to, że proponowane podejście MADDNESS zapewnia przyspieszenie o jeden rząd wielkości w porównaniu z obecnymi metodami AMM oraz przyspieszenie do dwóch rzędów wielkości w stosunku do zmobilizowanej linii bazowej. Tablice można również skompresować do trzech razy. Te wyniki są obliczane na procesorze i są dostępne tylko wtedy, gdy istnieje jeden zestaw uczący macierzy. Naukowcy twierdzą, że wyższą wydajność można uzyskać tylko wtedy, gdy jedna macierz jest większa od drugiej i obie macierze są długie. Jest to system, w którym przydatna jest funkcja szybkiego (ale mniej precyzyjnego) szyfrowania.
Gdy z góry znana jest najbardziej wszechstronna macierz, podejście traci swoją użyteczność; To założenie jest częste w wyszukiwaniu podobieństw i eliminuje potrzebę korzystania z funkcji szybkiego enkodera. Możliwe, że sumowanie przybliżonych liczb całkowitych i połączone wyszukiwania tabel będą użyteczne nawet bez tych założeń, ale ich utworzenie to zadanie na przyszłość. Kod źródłowy MADDNESS jest dostępny bezpłatnie na GitHub.
This Article is written as a summary article by Marktechpost Staff based on the paper 'Multiplying Matrices Without Multiplying'. All Credit For This Research Goes To Researchers on This Project. Checkout the paper, github. Please Don't Forget To Join Our ML Subreddit