Improving TensorSketch Using Complex Random Variables
Dit artikel introduceert een nieuwe variant van het TensorSketch-algoritme die gebruikmaakt van complexe willekeurige variabelen om een superieure variantiebegrenzing van te bereiken voor hoogdimensionale polynomiale kernels, terwijl de efficiënte input-sparsity looptijd van de oorspronkelijke methode behouden blijft.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een enorme legpuzzel probeert op te lossen, maar in plaats van puzzelstukjes heb je miljoenen getallen die datapunten vertegenwoordigen. In de wereld van machine learning moeten computers vaak patronen vinden door deze getallen met elkaar te vergelijken. Soms zijn de patronen eenvoudig, zoals een rechte lijn. Maar vaak is de wereld rommelig en gebogen, dus gebruiken computers "kernels"—mathematische trucjes waarmee ze complexe, gebogen relaties tussen datapunten kunnen zien. Eén populaire truc is de "polynomiale kernel", die kijkt naar hoe kenmerken met elkaar interageren wanneer ze vele malen met elkaar worden vermenigvuldigd.
Het probleem is dat wanneer je deze kenmerken steeds vaker met elkaar vermenigvuldigt (door ze te verheffen tot een hogere "graad"), het aantal stukjes in je puzzel explodeert. Het groeit zo snel dat zelfs de snelste supercomputers vast zouden lopen bij het proberen te berekenen van elk afzonderlijk stukje. Om dit op te lossen, hebben wetenschappers "sketching" uitgevonden. Denk aan sketching als het maken van een foto met een hoge resolutie en deze vervolgens comprimeren tot een piepkleine thumbnail. Je verliest wat detail, maar je behoudt de belangrijkste vormen en kleuren, en je kunt de thumbnail direct verwerken. Jarenlang was de beste methode voor deze polynomiale puzzels een methode genaamd TensorSketch. Het was snel, maar het had een gebrek: naarmate de puzzel complexer werd, werd de "thumbnail" een beetje wazig, en begon de gok van de computer te wankelen met meer fouten.
Onlangs stelden onderzoekers een nieuwsgierige vraag: wat als we niet alleen gewone getallen gebruiken, maar "complexe" getallen—getallen die een imaginair deel bevatten, zoals de vierkantswortel van negatief één? Ze vroegen zich af of deze imaginaire draai de thumbnail scherper zou kunnen maken. Een eerdere studie toonde aan dat voor één type sketching, het gebruik van complexe getallen de afbeelding inder indeed duidelijker maakte (het verminderde de wazigheid). Echter, die methode was traag en onhandig, alsof je een zware rugzak draagt terwijl je rent. De onderzoekers in dit artikel wilden weten: kunnen we die super-scherpe, complexe-getallen-helderheid krijgen zonder de zware rugzak? Kunnen we de snelle, lichtgewicht TensorSketch-methode net zo goed maken als de trage, zware methode?
Het artikel met de titel "Improving TensorSketch Using Complex Random Variables" zegt ja. De auteurs, Amit Sharma, Mohammad Azhar Khan, Rameshwar Pratap en Keegan Kang, hebben een nieuwe versie van TensorSketch gebouwd die deze complexe getallen gebruikt, maar de snelheid van de originele behoudt. Ze hebben het niet alleen geraden; ze hebben het bewezen met wiskunde en getest met echte data.
Dit is hoe ze het deden. De originele TensorSketch werkt door je data te nemen, het te mengen met willekeurige tekens (zoals een muntje opgooien om te beslissen of een getal positief of negatief is) en het vervolgens samen te persen. De nieuwe methode, die ze "Complex-to-Real TensorSketch" (of CtR TensorSketch) noemen, verandert de muntopgooi. In plaats van alleen kop of munt (1 of -1), gebruiken ze een vierzijdige dobbelsteen die op 1, -1, of twee imaginaire getallen (i en -i) landt. Dit klinkt misschien alsoast het resultaat een vreemd, imaginair rommeltje zou worden, maar ze hebben een slimme truc. Ze nemen het resultaat, dat een complex getal is, en splitsen dit in twee delen: het "reële" deel en het "imaginaire" deel. Vervolgens plakken ze deze twee delen naast elkaar om een nieuwe, reële vector te vormen.
De magie gebeurt door de manier waarop deze imaginaire getallen interageren. Toen de onderzoekers de getallen berekenden, ontdekten ze dat de "wazigheid" (of variantie) van hun nieuwe methode veel langzamer groeide dan die van de oude methode. In de oude methode groeide de fout als (waarbij de complexiteit van de puzzel is). In hun nieuwe methode groeit de fout slechts als . Dat klinkt misschien als een klein verschil, maar in de wereld van exponentiële groei is het een enorme verbetering. Het betekent dat voor complexe puzzels hun nieuwe sketch aanzienlijk nauwkeuriger is.
Cruciaal is dat ze bewezen hebben dat deze nieuwe methode nog steeds net zo snel is als de oude. Terwijl andere methoden die complexe getallen gebruiken, zware, trage berekeningen vereisen (met een tijd die evenredig is aan de volledige grootte van de data), blijft hun methode "input-sparse". Dit betekent dat ze alleen tijd besteden aan de delen van de data die daadwerkelijk bestaan, en de nullen negeren. Ze toonden aan dat de tijd die nodig is om hun algoritme uit te voeren is, wat dezelfde snelheid is als de originele TensorSketch.
Om er zeker van te zijn dat dit niet alleen een wiskundige truc was die op papier werkte, hebben ze experimenten uitgevoerd. Ze testten hun methode op synthetische data (zelfgemaakte getallen) en real-world datasets zoals de MAGIC Gamma Telescope data en COD-RNA. Ze vergeleken hun CtR TensorSketch met de standaard TensorSketch en andere complexe methoden. De resultaten waren duidelijk: hun nieuwe methode produceerde veel nauwkeurigere benaderingen (gemeten met iets dat KL-divergentie wordt genoemd, wat controleert hoe vergelijkbaar de sketch is met het origineel) terwijl deze evenveel tijd kostte om te berekenen. In sommige tests was hun methode zelfs sneller dan de andere complexe methoden omdat deze niet de zware arbeid hoefde te verrichten.
Het artikel behandelt ook een mogelijke verwarring. Ze lieten zien dat het simpelweg gebruiken van complexe getallen in een ander type sketch (een zogenaamde "CountSketch") niet automatisch zorgt voor verbetering. De verbetering komt voort uit de specifieke manier waarop zij de complexe getallen combineerden met de TensorSketch-structuur. Dit bewijst dat hun resultaat geen toevalstreffer is; het is een specifieke, niet-triviale verbetering die voortkomt uit de manier waarop de wiskunde bepaalde fouttermen wegcijfert.
Kortom, dit artikel neemt een snelle maar ietwat wazige tool (TensorSketch), upgradet deze met een beetje imaginaire wiskunde om het scherper te maken, en zorgt ervoor dat het snel blijft. Het is alsof je een snelle schetskunstenaar neemt en hem een speciale set kleurpotloden geeft waarmee hij meer detail kan vastleggen zonder dat zijn hand langzamer gaat bewegen. Voor iedereen die machine learning-modellen bouwt die complexe relaties in enorme datasets moeten begrijpen, biedt deze nieuwe methode een manier om betere antwoorden te krijgen zonder langer te hoeven wachten tot de computer klaar is met zijn werk.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.