Kuidas oma QGAN-i koolitada

Kvantmasinaõpe PennyLane'i abil

Autorid Nathan Killoran, Josh Izaac ja Christian Gogolin

Masinõpet esitatakse sageli kvantarvutite ühe tapjarakendusena. Erinevalt tavalistest digitaalsetest arvutitest, mis kasutavad klassikalisi bitte, manipuleerivad kvantarvutid füüsikalisi süsteeme kõige põhilisel tasemel, avades arvutamiseks palju rikkama struktuuri. Kvantarvutid töötlevad natiivselt kvantteavet, mis vastab väga kõrgmõõtmelistes vektorruumides olevatele vektoritele.

Intuitiivselt tähendab see, et kvantarvutid sobivad masinõppe ülesanneteks väga hästi. Tõepoolest, piisavalt suured tõrketaluvusega kvantarvutid annavad lõpuks arvutusliku kiirenduse paljudes masinõppe algoritmides levinud põhiliste lineaarse algebra arvutuste jaoks.

Esimese põlvkonna kvantriistvara on nüüd siin. Samuti on sellele pilve kaudu juurdepääsetav - sageli tasuta. See kujunev kvantriistvara on inspireerinud kvantarvutuseksperte oma eelnevat mõtteviisi ümber mõtlema. Täiuslike suuremahuliste seadmete algoritmide väljatöötamise asemel oleme asunud uurima vingeid asju, mida juba olemasolevate seadmetega teha saab.

See on põhjustanud uute algoritmide tuhmu: kvant-ligikaudsed optimeerimisalgoritmid (QAOA), variatsioonilised kvant-omalahendused (VQE), kvantklassifikaatorid, kvantgeneratiivsed vastandvõrgud (QGAN), kvantneuraalvõrgud (QNN) ja - üldisemalt - idee. hübriidsed kvantklassikalised mudelid. Need tipptasemel ideed on põnevad, kuid nende potentsiaal on veel suures osas uurimata. Kvantmasinõpe ja kvantimise optimeerimine on viimasel ajal muutunud väga kuumaks uurimisvaldkonnaks, mille pöördetelg on viimastel aastatel välja töötatud.

Aastas ilmuvate teadustööde arv, mis sisaldavad mõistet „kvantmasinõpe” (allikas: Google Scholar)

Xanadu juures on meil üks parimaid kvantmasinõppe uurimisrühmi maailmas, aidates regulaarselt valdkonna tipptasemel. Siiski tõdesime varakult vajadust avada see kuum piirkond laiemale publikule, viies selle kaugemale praegusest siseringi ja ekspertide ringist. Teeme seda uute algoritmide uurimise kiirendamiseks, uute lähiajaliste kvantmasina õppimise algoritmide otsingu laiendamiseks ja kvant- ja hübriidmudelite loomise parimate tavade loomiseks.

Kujutage ette ideid, mis tekivad siis, kui keegi saab kvantarvuteid treenima sama hõlpsalt kui neuraalvõrku. Seda silmas pidades lõime spetsiaalse tarkvararaamatukogu kvantmasinate õppimiseks - PennyLane.

Sisenege PennyLane'i

PennyLane'i kujundamisel võtsime klassikalise masinõppe ideed, mis meile kõige rohkem meeldivad, ja teisaldasime need kvantarvutites töötamiseks.

Näiteks on viimase poole kümnendi jooksul toimunud tohutu kasv sügava õppimise valdkonnas - masinõppe alamväljas, mis tegeleb paljude kihtidega närvivõrkudega. Selle laienemise üks peamisi tõukejõude on spetsiaalsed tarkvararaamatukogud nagu Theano, TensorFlow, Pytorch ja palju muud. Võimalus neid kõrgetasemelisi raamatukogusid mudeleid kiiresti rakendada ja koolitada on andnud valdkonnale tohutu tõuke, kuna praktikas hästi töötavad heuristilised meetodid avastatakse sageli katse-eksituse meetodil.

Nendel raamatukogudel on kaks ühist põhijoont:

i) võime arvutada eriotstarbelist riistvara (GPU, TPU); ja

(ii) automaatne diferentseerimine, mida tavaliselt rakendatakse kuulsa tagasiulatuva algoritmi abil.

PennyLane'i jaoks on eriotstarbeline riistvara - ilmselt - kvantarvutusseadmed. Enne PennyLane'it polnud aga kvantarvutuste jaoks automaatset diferentseerimise tarkvara.

PennyLane'i kaudu paljundamine tagasi

Liiga tehniliseks muutmata on automaatne eristamine tarkvara võime arvutada arvutikoodi tuletisi (või kaldeid) automaatselt vabade parameetrite suhtes.

Kui kuulete süvaõppes õppimisest või koolitusest, on peamine koostisosa automaatne eristamine. Funktsiooni tuletis ütleb meile, kuidas see funktsioon muutub, kui kohandame selle parameetrit pisikesega. Sellele tuletisteabele juurdepääsu kaudu saame masinõppe mudelit järk-järgult muuta ja optimeerida vastavalt meie vajadustele. Tavaliselt rakendatakse automaatset diferentseerimist backpropagatsiooni algoritmi abil, mis ehitab gradiendi ahelreegli abil arvutuslikust arvutusest, vaadates tükkhaaval kogu arvutuse kõikides alamprogrammides.

Automaatsete diferentseerimistehnikate rakendamiseks kvantarvutustele on kaks võimalust. Esimene on simuleerida kvantarvutust klassikalise masinõppe raamatukogu abil. Selle aasta alguses andsime välja Strawberry Fields, mis teeb seda täpselt oma TensorFlow simulaatori taustprogrammi kaudu. See strateegia ei saa aga kunagi kvantieelist anda, kuna seda piirab olemuslikult kvantfüüsika klassikaliste arvutitega simuleerimise ebaefektiivsus.

Teine strateegia on ehitada automaatse diferentseerimise versioon, mis ühildub loomulikult kvantriistvaraga ja mis töötab edasi ning muutub üha kasulikumaks, kui kvantarvutid muutuvad järjest arenenumaks. Kuid kuidas saame arvutada kvantarvutusahelate gradiente, kui isegi nende väljundi simuleerimine on klassikaliselt keerukas? Peamine teadmine on sama kvantriistvara kasutamine kvantringi hindamiseks ja selle gradientide arvutamiseks.

Kvantrülituse iga värav viib läbi teatud teisenduse. Selgub, et enamikul huvipakkuvatel juhtudel võime sama väravat, kasutades ainult väikseid modifikatsioone, kasutada tuletise hindamiseks selle teisenduse parameetri suhtes. Selle väravakohase tuletisteabe saab seejärel sisestada tagasiproduktsiooni algoritmi. Tagasipööramise algoritmi rakendatakse endiselt klassikalises arvutis ja see ei näe kvantringi sisemist tööd (s.o ahela vahepealseid kvantseisundeid).

Kuna aga kvantseadmed saavad omaenda gradiente tõhusalt hinnata, ei pea tagasiulatuvus kunagi kvantringi tungima. PennyLane kasutab Pythoni autogrammi teeki automaatse diferentseerimise teostamiseks, pakkudes võtmelisasid, mis võimaldavad kvantarvutusi diferentseerida. See tähendab, et PennyLane'il on täielik automaatne diferentseerimise tugi klassikalisele, kvant- ja hübriidarvutusele.

Näide visandist hübriidse klassikalise kvantmudeli jaoks, mis on PennyLane'i abil võimalik

PennyLane'is jalutuskäik

PennyLane'i hõlpsasti kasutatava liidese abil (inspireeritud NumPy'st ja TensorFlow'st) saate kodeerida kvantarvutusahelad ja siduda need koos klassikaliste töötlemisetappidega, et luua täisväärtuslik hübriidarvutus.

PennyLane sisaldab ka gradiendil laskumisel põhinevate optimeerijate komplekti, mis tähendab, et variatsionaalseid kvantlülitusi saab optimeerida samamoodi nagu sügavaid närvivõrke.

Mis siis, kui soovite teisaldada simulaatoril testitud koodi reaalse kvant riistvaraga või isegi võrrelda erinevaid riistvara pakkumisi? See on ka lihtne; PennyLane on täielikult riistvaranoomiline. Üherealise muudatusega saate oma arvutusmudeli kvantosa käitavat seadet „kiiresti vahetada” või isegi ehitada mudeli, mis kasutab koos mitu erinevat kvantseadet.

Meie eesmärk on toetada kogu kasvavat lähiajalise kvantriistvara ökosüsteemi. Selle jaoks pakub PennyLane pistikprogrammi API, mille abil saab uued kvantiseadmed hõlpsalt QML-i valmis teha. Juba PennyLane'il on pistikprogrammid meie kodus kasvatatud Strawberry Fieldsi kvantfotoonika API-le, kvoodiarvutuse avatud lähtekoodiga ProjectQ raamistikule ja riistvaratugile IBMQ jaoks. Varsti: tugi veelgi kvantarvutitele, sealhulgas PennyLane'i pistikprogrammidele Rigetti PyQuilile ja IBMi Qiskitile.

PennyLane'i kohta lisateabe saamiseks lugege meie dokumentatsiooni ja uurige mitmesuguseid saadaolevaid õpetusi. Lähtekoodi saate vaadata ka meie GitHubi hoidlas ja liituda PennyLane'i foorumites toimuva aruteluga. Me tervitame koodi kaastööd - kõigile kasutajatele, kes panustavad sellesse koodi märkimisväärselt, pakutakse võimalust olla PennyLane'i valgelehe autorina üles toodud.

Meil on tohutult hea meel jagada PennyLane'i teiega. Liituge meiega järgmiste tipptasemel kvantmasina õppimise algoritmide väljatöötamisel!