211service.com
„Facebook“ turi neuroninį tinklą, kuris gali atlikti pažangią matematiką
Štai iššūkis matematiškai linkusiems tarp jūsų. Išspręskite šią diferencialinę lygtį Y :
Turite 30 sekundžių. Greitai! Jokio juoko.
Atsakymas, žinoma, yra:
Jei nepavyko rasti sprendimo, nesijauskite labai blogai. Ši išraiška yra tokia sudėtinga, kad net ir įvairūs galingi matematikos programinės įrangos paketai sugedo net po 30 sekundžių skaičių gniuždymo.
Tačiau šiandien Guillaume'as Lample'as ir François Chartonas iš „Facebook AI Research“ Paryžiuje teigia, kad sukūrė algoritmą, kuris atlieka darbą akimirksniu pagalvojus. Šie vaikinai išmokė neuroninį tinklą atlikti būtinus simbolinius samprotavimus, kad atskirtų ir pirmą kartą integruotų matematines išraiškas. Darbas yra reikšmingas žingsnis siekiant galingesnių matematinių samprotavimų ir naujo būdo pritaikyti neuroninius tinklus už tradicinių modelių atpažinimo užduočių ribų.
Pirma, šiek tiek fono. Neuroniniai tinklai tapo labai sėkmingi atliekant modelio atpažinimo užduotis, tokias kaip veido ir objektų atpažinimas, tam tikros natūralios kalbos apdorojimo rūšys ir netgi žaidžiant tokius žaidimus kaip šachmatai, Go ir Space Invaders.
Tačiau nepaisant daug pastangų, niekas negalėjo išmokyti jų atlikti simbolinių samprotavimo užduočių, pavyzdžiui, susijusių su matematika. Geriausias dalykas, kurį pasiekė neuroniniai tinklai, yra sveikųjų skaičių pridėjimas ir dauginimas.
Neuroniniams tinklams ir žmonėms vienas iš sudėtingų matematinių išraiškų sunkumų yra jų santrumpa. Pavyzdžiui, išraiška x 3 yra sutrumpintas rašymo būdas x padaugintas iš x padaugintas iš x . Šiame pavyzdyje daugyba yra sutrumpinimas pakartotiniam sudėjimui, kuris pats savaime yra dviejų dydžių sujungtų bendrosios vertės santrumpa.
Nesunku suprasti, kad net paprasta matematinė išraiška yra labai sutrumpintas daug paprastesnių matematinių operacijų sekos aprašymas.
Taigi nenuostabu, kad neuroniniai tinklai kovojo su tokia logika. Jei jie nežino, ką reiškia santrumpa, yra mažai galimybių išmokti jį naudoti. Iš tiesų, žmonės turi panašią problemą, kuri dažnai įskiepyta nuo mažens.
Nepaisant to, pagrindiniu lygmeniu tokie procesai kaip integracija ir diferenciacija vis dar apima modelio atpažinimo užduotis, nors ir paslėptas matematiniais trumpiniais.
Įveskite Lample'ą ir Chartoną, kurie sugalvojo elegantišką būdą, kaip išpakuoti matematinį stenografiją į pagrindinius vienetus. Tada jie moko neuroninį tinklą atpažinti matematinio manipuliavimo modelius, kurie yra lygiaverčiai integracijai ir diferenciacijai. Galiausiai jie leido neuroniniam tinklui atsikratyti reiškinių, kurių jis niekada nematė, ir palygino rezultatus su atsakymais, gautais naudojant įprastinius sprendimus, tokius kaip Mathematica ir Matlab.
Pirmoji šio proceso dalis yra suskaidyti matematines išraiškas į sudedamąsias dalis. Lample'as ir Chartonas tai daro pateikdami išraiškas kaip į medį panašias struktūras. Šių medžių lapai yra skaičiai, konstantos ir panašūs kintamieji x ; vidiniai mazgai yra operatoriai, tokie kaip sudėjimas, daugyba, diferencijavimas su atžvilgiu ir pan.
Pavyzdžiui, išraišką 2 + 3 x (5+2) galima parašyti taip:
Ir išraiška
yra:
Ir taip toliau.
Medžiai yra lygūs, kai yra matematiškai lygiaverčiai. Pavyzdžiui,
2 + 3 = 5 = 12 - 7 = 1 x 5 yra visi lygiaverčiai; todėl jų medžiai taip pat yra lygiaverčiai.
Daugelį matematinių operacijų tokiu būdu atlikti lengviau. Pavyzdžiui, išraiškos supaprastinimas reiškia trumpesnio ekvivalento medžio atvaizdavimo radimą, tarkime, Lample ir Charton.
Šie medžiai taip pat gali būti parašyti kaip sekos, paimdami kiekvieną mazgą iš eilės. Šioje formoje jie yra subrendę apdoroti neuroninio tinklo metodu, vadinamu seq2seq.
Įdomu tai, kad šis metodas dažnai naudojamas ir mašininiam vertimui, kai vienos kalbos žodžių seka turi būti išversta į žodžių seką kita kalba. Iš tiesų, Lample'as ir Chartonas teigia, kad jų požiūris iš esmės traktuoja matematiką kaip natūralią kalbą.
Kitas etapas yra mokymo procesas, o tam reikia didžiulės duomenų bazės pavyzdžių, iš kurių būtų galima pasimokyti. Lample'as ir Chartonas sukuria šią duomenų bazę, atsitiktinai sudėliodami matematines išraiškas iš dvejetainių operatorių bibliotekos, pvz., sudėties, daugybos ir pan.; vienetiniai operatoriai, tokie kaip cos, sin ir exp; ir kintamųjų, sveikųjų skaičių ir konstantų rinkinys, pvz., π ir e. Jie taip pat riboja vidinių mazgų skaičių, kad lygtys netaptų per didelės.
Net esant santykinai nedideliam mazgų ir matematinių komponentų skaičiui, galimų išraiškų skaičius yra didžiulis. Tada kiekviena atsitiktinė lygtis integruojama ir diferencijuojama naudojant kompiuterinę algebros sistemą. Bet kokia išraiška, kurios negalima integruoti, atmetama.
Tokiu būdu mokslininkai sukuria didžiulį mokymo duomenų rinkinį, kurį sudaro, pavyzdžiui, 80 milijonų pirmosios ir antrosios eilės diferencialinių lygčių pavyzdžių ir 20 milijonų išraiškų pavyzdžių, integruotų dalimis.
Sugrąžindamas šį duomenų rinkinį, neuroninis tinklas išmoksta apskaičiuoti tam tikros matematinės išraiškos išvestinę arba integralą.
Galiausiai, Lample'as ir Chartonas įvedė savo neuroninį tinklą, suteikdami jam 5000 išraiškų, kurių jis niekada anksčiau nematė, ir palygindami rezultatus, gautus 500 atvejų, su rezultatais, gautais iš komercinių sprendimų, tokių kaip Maple, Matlab ir Mathematica.
Šie sprendėjai naudoja algoritminį metodą, kurį septintajame dešimtmetyje sukūrė amerikiečių matematikas Robertas Rischas. Tačiau Rischo algoritmas yra didžiulis – vien tik integracijai reikia 100 puslapių. Taigi simbolinės algebros programinė įranga dažnai naudoja sumažintas versijas, kad pagreitintų veiklą.
Palyginimas tarp šių ir neuroninio tinklo metodo yra atskleidžiantis. Atliekant visas užduotis, pastebime, kad mūsų modelis gerokai lenkia „Mathematica“, sako mokslininkai. Integruojant funkcijas, mūsų modelis pasiekia beveik 100 % tikslumą, o Mathematica vos pasiekia 85 %. Maple ir Matlab paketai veikia prasčiau nei Mathematica vidutiniškai.
Daugeliu atvejų įprasti sprendėjai iš viso negali rasti sprendimo, skiriant 30 sekundžių pabandyti. Palyginimui, neuroninis tinklas užtrunka maždaug sekundę, kad surastų savo sprendimus. Šio puslapio viršuje esantis pavyzdys yra vienas iš tų.
Vienas įdomus rezultatas yra tas, kad neuroninis tinklas dažnai randa kelis lygiaverčius tos pačios problemos sprendimus. Taip yra todėl, kad matematines išraiškas paprastai galima parašyti įvairiais būdais.
Šis gebėjimas tyrinėtojams yra tarsi gluminanti paslaptis. Lample'as ir Chartonas sako, kad modelio gebėjimas atkurti lygiavertes išraiškas be išmokimo tai daryti yra labai intriguojantis.
Tai reikšmingas lūžis. Mūsų žiniomis, nė vienas tyrimas neištyrė neuroninių tinklų gebėjimo aptikti matematinių išraiškų modelius, sako pora.
Dabar, kai jie turi, rezultatas akivaizdžiai turi didžiulį potencialą vis svarbesniame ir sudėtingesniame skaičiavimo matematikos pasaulyje.
Tyrėjai neatskleidžia „Facebook“ šio požiūrio planų. Tačiau nesunku suprasti, kaip ji galėtų pasiūlyti savo simbolinės algebros paslaugą, kuri lenkia rinkos lyderius.
Tačiau konkurentai vargu ar sėdės vietoje. Tikėtis galingos kovos skaičiavimo matematikos pasaulyje.
Nuoroda: arxiv.org/abs/1912.01412 : gilus simbolinės matematikos mokymasis