DeepMind jaunākais AI projekts risina programmēšanas problēmas kā iesācējs

Pietuvināt / Ja AI tiktu lūgts izstrādāt attēlu šim rakstam, par ko tā domātu? matrica?

Google DeepMind AI nodaļa apstrādāja visu, sākot no StarCraft man saliekamais proteīns. Tāpēc, iespējams, nav pārsteigums, ka radītāji galu galā pievērsās tam, kas neapšaubāmi ir personīgās intereses: datorprogrammēšana. Ceturtdienas izdevumā Science uzņēmums apraksta savu izstrādāto sistēmu, kas ražo kodu, reaģējot uz programmēšanu, kas raksturīga cilvēku programmēšanas sacensībās.

Vidējā izaicinājumā AI sistēma var iegūt gandrīz dalībnieku augšējo pusi. Taču tai bija zināmas grūtības ar mērogošanu, jo bija mazāka iespēja izveidot programmu, kas strādāja pie problēmām, kurām parasti bija nepieciešams vairāk koda. Tomēr fakts, ka tas vispār darbojas bez strukturālas informācijas par algoritmiem vai programmēšanas valodām, ir nedaudz pārsteigums.

Pieņemiet izaicinājumu

Datorprogrammēšanas izaicinājumi ir diezgan vienkārši: cilvēkiem tiek dots uzdevums pabeigt un izveidot kodu, kuram jāveic nepieciešamais uzdevums. Jaunā dokumenta piemērā programmētājiem tika dotas divas virknes, un viņiem tika lūgts noteikt, vai īsāko no divām virknēm var izveidot, aizstājot dažus taustiņsitienus, kas nepieciešami, lai ievadītu lielāku virkni. Pēc tam iesniegtās programmas tiek pārbaudītas, lai noskaidrotu, vai tās nodrošina vispārīgu problēmas risinājumu vai neizdodas, kad tiek pārbaudīti papildu piemēri.

Ņemot vērā pietiekami daudz programmatūras piemēru, kas var atrisināt vienu problēmu, AI sistēmai, iespējams, vajadzētu būt iespējai secināt algoritmisko struktūru, kas nepieciešama panākumiem. Taču tas nebūs vispārējs risinājums problēmu risināšanai; AI, kas ir apmācīts vienas kategorijas izaicinājumiem, neizdosies, ja tiks lūgts risināt nesaistītu izaicinājumu.

Lai padarītu kaut ko vispārināmāku, DeepMind komanda to uztvēra vairāk kā valodas problēmu. Zināmā mērā izaicinājuma apraksts ir izteiksme tam, kas algoritmam būtu jādara, savukārt kods ir vienas un tās pašas lietas izpausme, tikai citā valodā. Tātad attiecīgais AI ir veidots tā, lai tajā būtu divas daļas: viena daļa ņem aprakstu un pārvērš to par iekšējo attēlojumu, bet otrā daļa izmanto iekšējo attēlojumu, lai ģenerētu funkcionālu kodu.

READ  ''Divreiz lielāks par Zemi''

Arī sistēmas apmācība bija divpakāpju process. Pirmajā fāzē sistēmai vienkārši bija jāapstrādā GitHub materiāla momentuzņēmums, kurā kopumā bija vairāk nekā 700 GB koda. (Šajās dienās, kad to var ievietot diskdzinī, tas var neizklausīties daudz, taču atcerieties, ka kods ir tikai neapstrādāts teksts, tāpēc katrā gigabaitā saņemat daudz rindu.) Ņemiet vērā, ka šajos datos būs iekļauti arī komentāri, kas jums būtu jāizmanto Dabiskā valoda, lai izskaidrotu, ko dara tuvumā esošais kods, un tāpēc tai vajadzētu palīdzēt gan ievades, gan izvades uzdevumos.

Kad sistēma ir apmācīta, tā iziet pielāgošanās periodu. DeepMind izveido savas programmēšanas viktorīnas un pēc tam ievada sistēmā rezultātus: problēmas aprakstu, darba kodu, neveiksmīgu kodu un pārbaudes gadījumus, ko izmanto, lai to pārbaudītu.

Līdzīgas pieejas ir izmēģinātas jau iepriekš, taču DeepMind ziņo, ka tā spēja apmācībā izmantot vairāk resursu. Rakstā teikts, ka “galvenais AlphaCode veiktspējas virzītājspēks bija modeļu paraugu skaita palielināšana līdz vairākām kārtām nekā iepriekšējais darbs.”

Angelica Johnson

"Tīmekļa praktizētājs. Sašutinoši pazemīgs ēdiena entuziasts. Lepns twitter advokāts. Pētnieks."

Atbildēt

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *

Back to top