CodeNet, IBM-i masinõppesüsteemide projekt 

IBMi logo

IBM avalikustas hiljuti tema uus projekt nimega "CodeNet" mis eesmärk on anda teadlastele masinõppevõtete katsetamiseks andmekogum tõlkijate loomiseks ühest programmeerimiskeelest teise, samuti generaatorite ja koodianalüsaatorite loomiseks.

CodeNet sisaldab 14 miljoni koodinäidise kogu mis lahendavad 4053 tavalist programmeerimisprobleemi. Kokku sisaldab kogu umbes 500 miljonit koodirida ja hõlmab 55 programmeerimiskeelt, nii tänapäevaseid keeli nagu C ++, Java, Python ja Go, kui ka pärandit, sealhulgas COBOL, Pascal ja FORTRAN.

"Tarkvara sööb maailma," kirjutas kuulus Ameerika ärimees Marc Andreessen 2011. aastal. Edasi tänapäevani: tarkvara leidub finantsteenustes ja tervishoius, nutitelefonides ja nutikodudes. Isegi autodel on nüüd üle 100 miljoni koodirea.

Projekti arendused antakse välja Apache 2.0 litsentsi alusel ja andmekogumid avaldatakse eeldatavasti avalikult.

Näited on kommenteeritud ja rakendavad ühesuguseid algoritme erinevates programmeerimiskeeltes. Kavandatav komplekt peaks aitama koolitada masinõppesüsteeme ja arendada uuendusi koodide automaatse tõlkimise ja analüüsi valdkonnas analoogia põhjal sellega, kuidas annoteeritud piltide andmebaas ImageNet aitas pildituvastussüsteemide ja kunstliku nägemise arendamist. Kollektsiooni ehitamise ühe peamise allikana mainitakse erinevaid programmeerimiskonkursse.

Projekt CodeNet saab konkreetselt juhtida algoritmilisi uuendusi selle konteksti väljavõtmiseks järjestikuste jadamudelite abil, mis on sarnased inimkeeltes kasutatavatele, et muuta kood masina mõistmise olulisemaks kui koodi töötlemiseks.

Erinevalt traditsioonilistest tõlkereeglitel põhinevatest tõlkijatest masinõppesüsteemid suudavad koodikasutuse konteksti haarata ja arvesse võtta. Üleminekul ühelt programmeerimiskeelelt teisele on kontekst sama oluline kui ühelt inimkeelelt teisele tõlkimisel. Just kontekstuaalse teadlikkuse puudumine takistab koodi teisendamist pärandkeeltest nagu COBOL.

Suure hulga algoritmide juurutuste olemasolu erinevates keeltes aitab luua universaalseid masinõppesüsteeme, mis konkreetsete keelte vahelise reaalajas tõlke asemel manipuleerivad koodi abstraktsema esitusega, sõltumata konkreetsetest programmeerimiskeeltest.

Sellist süsteemi saab kasutada tõlkijana, kes tõlgib edastatava koodi mis tahes toetatud keeles oma sisemisele abstraktsele esitusele, millest saab genereerida paljudes keeltes koodi.

Kaasa arvatud süsteem, saate teha kahesuunalisi teisendusi. Näiteks jätkavad pangad ja valitsusasutused COBOLi pärandprojekte. Masinõppe tõlk võib teisendada COBOL-koodi Java-esituseks ja soovi korral Java-jupi COBOL-koodiks tagasi tõlkida.

Lisaks keeltevahelisele tõlkimisele mainitakse ka CodeNeti rakendusalasid nagu intelligentsete koodiotsingusüsteemide loomine ja kloonide tuvastamise automatiseerimine, samuti optimeerijate ja süsteemide väljatöötamine koodi automaatseks parandamiseks.

Eelkõige CodeNetis toodud näited on varustatud jõudluskontrolli tulemusi kirjeldavate metaandmetega, tulemuseks oleva programmi suurus, mälu tarbimine ja olek, mis võimaldab eristada õiget koodi valest koodist (et eristada õiget koodi valest koodist, lisatakse kollektsiooni spetsiaalselt vigadega näiteid, mille osakaal on 29,5 (XNUMX%).

Masinõppesüsteem võib neid metaandmeid kõige optimaalsema koodi genereerimiseks või regressioonide tuvastamiseks analüüsitud koodis arvesse võtta (süsteem saab aru, et algoritm pole edastatud koodis optimaalselt rakendatud või sisaldab vigu).

Lõpuks Kui olete huvitatud CodeNeti kohta lisateabe saamisest, saate üksikasju kontrollida Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.