Blog

Novosti i trendovi u svijetu umjetne inteligencije

Lucija Jusup

U prethodnom blog postu o novostima u svijetu umjetne inteligencije i znanosti o podacima pisali smo o sonifikaciji podataka i najnovijim dostignućima na tom području. Ovog puta pozabavit ćemo se novim radom DeepMinda, algoritmom koji je tim radom predstavljen i što to znači za računalnu znanost i svijet umjetne inteligencije. Početkom prošlog mjeseca DeepMind je objavio rad u časopisu Nature u kojem predstavlja AlphaTensor, prvi sustav umjetne inteligencije koji otkriva nove i učinkovite algoritme za izvođenje nekih fundamentalnih matematičkih operacija, kao što je množenje matrica.

Množenje matrica

Množenje matrica jedna je od najbitnijih i najčešćih matematičkih operacija koje se koriste u modernom računalstvu. Ova operacija nalazi se u pozadini brojnih optimizacijskih algoritama, kao i numeričkih algoritama linearne algebre.

Slika 1. Prikaz standardnog načina množenja matrica

Množenje matrica jedna je od najosnovnijih i računski najintenzivnijih operacija u strojnom i dubokom učenju. Budući da se neuronske mreže mogu izraziti matricama, operacija množenja matrica jedna je od najvažnijih operacija kada su u pitanju duboke neuronske mreže. Danas se veliki skupovi podataka također izražavaju pomoću matrica. Primjerice, u bag of words modelu svaki redak matrice odgovara jednom dokumentu. Slike se također izražavaju kao trodimenzionalne matrice, gdje je jedan piksel slike izražen 3D vektorom kao elementom matrice. Budući da se matricama prikazuje veliki dio podataka koje posjedujemo, ne čudi da tvrtke diljem svijeta troše velike količine resursa na razvoj računalnog hardvera za brzo i učinkovito množenje matrica. Dakle, čak i najmanji napredak u ubrzanju ovog procesa može znatno smanjiti vrijeme treniranja mnogih modela koji se koriste u strojnom i dubokom učenju.

Matematičari su stoljećima koristili metodu množenja matrica koja nam je poznata i danas. Međutim, 1969. godine njemački matematičar Volker Strassen predstavio je učinkovitiji način množenja matrica, koji je kod množenja dviju 2×2 matrica uz više operacija zbrajanja koristio sedam operacija množenja, za razliku od dotadašnjih osam.

Slika 2. Strassenov algoritam za množenje matrica

AlphaTensor

Deepmind je u svom radu istražio kako moderne tehnike umjetne inteligencije mogu unaprijediti otkrivanje novih algoritama množenja matrica. AlphaTensor je otkrio algoritme koji su učinkovitiji od nekih state-of-the-art tehnika za množenje matrica raznih veličina, a koji nadmašuju one koje je dizajnirao čovjek, što je veliki napredak u polju algoritamskih otkrića. AlphaTensor je izgrađen na lekcijama koje je naučio od svog prethodnika AlphaZero, već dobro poznatog agenta koji je pokazao nadljudske performanse u igrama na ploči, kao što su šah i Go. To pokazuje da je AlphaZero vrlo moćan algoritam koji se može proširiti daleko izvan svoje domene kako bi pomogao u rješavanju aktualnih matematičkih problema.

Slika 3. AlphaZero je pokazao performanse bolje od ljudskih u igrama na ploči kao što je šah

Problem pronalaženja učinkovitih algoritama za množenje matrica prvo je pretvoren u igru ​​za jednog igrača. U toj igri, ploča je trodimenzionalni tenzor, koji pokazuje koliko je trenutni algoritam daleko od točnog. Algoritam daje upute igraču te igrač pokušava modificirati tenzor pri čemu mora ostati unutar skupa dopuštenih poteza. Kada igrač uspije poništiti tenzor, to znači da je došao do kraja igre te da je pronađen novi algoritam množenja matrice koji je dokazano ispravan. Učinkovitost takvog algoritma mjeri se brojem koraka koje je igrač morao napraviti da bi poništio tenzor i došao do kraja igre.

DeepMindov pristup koristi oblik strojnog učenja koji se naziva ojačano učenje (engl. reinforcement learning), odnosno učenje s potkrepljenjem, u kojem AI agent kojeg često predstavlja neuronska mreža, uči komunicirati sa svojom okolinom kako bi postigao cilj, što je u ovom slučaju pobjeda u igri.

DeepMindov tim je naglasak stavio na težinu naizgled jednostavnog problema množenja dviju matrica uspoređujući broj mogućih algoritama koje igra treba razmotriti s brojem puno većim od broja svih atoma koji se nalaze u svemiru. Broj mogućih poteza u svakom koraku ove igre je 30 redova veličine veći od broja mogućih poteza u igri Go, koja je godinama predstavljala veliki izazov za AI.

Mogućnosti AlphaTensor algoritma

Gledajući performanse, AlphaTensor je uspio pronaći algoritam za množenje matrice 4×5 matricom 5×5 čija je učinkovitost 76 množenja, nadmašivši prethodni algoritam koji je zahtijevao 80 operacija množenja. Kod skupa većih matrica, 11×12 i 12×12, AlphaTensor je uspio smanjiti broj potrebnih množenja s 1022 na 990. AlphaTensor također može optimizirati množenje matrica za određeni hardver, s timom koji trenira sustav na dva različita procesora tako da je izvedba optimizirana za svaki procesor.

Ovi rezultati su uvod u buduća istraživanja u području teorije složenosti, koja se bavi određivanjem najbržih algoritama za rješavanje brojnih računalnih problema. Razumijevanje prostora mogućih algoritama može dovesti do novih saznanja i rezultata u određivanju asimptotičke složenosti množenja matrica, jednog od temeljnih otvorenih problema u računalnoj znanosti. Budući da je množenje matrica ključna komponenta u mnogim računalnim zadacima, algoritmi koje je otkrio AlphaTensor mogli bi računanje uskoro učiniti znatno učinkovitijim.

Reference

  1. https://www.deepmind.com/blog/discovering-novel-algorithms-with-alphatensor
  2. https://thenewstack.io/how-deepminds-alphatensor-ai-devised-a-faster-matrix-multiplication/
  3. https://www.nature.com/articles/d41586-022-03166-w