Neuronsko programiranje koristi se za stvaranje softvera koji oponaša osnovne funkcije mozga. To je ključna komponenta umjetne inteligencije (AI) i stvara softver koji može predvidjeti nepoznanice, kao što su vremenske prilike i trendovi na burzi, kao i igre u kojima se cyber protivnik poboljšava kako stječe iskustvo. Prednost neuronskog programiranja u odnosu na tradicionalno programiranje je što njegov softver može učiti i prilagođavati se novim podacima.
Općenito, neuronsko programiranje koristi računalnu arhitekturu zvanu neuronska obrada, koja koristi umjetne neurone ili čvorove koji su grupirani u mreže za obavljanje složenih zadataka. Svaki umjetni neuron pokreće određena brojčana vrijednost, koja određuje kada i gdje će poslati signal sljedećem neuronu. Jedan neuron je programiran jednostavnim ako-onda pravilom za osnovni zadatak. Ako podaci imaju vrijednost -1, tada obavljaju jednu funkciju. Ako je vrijednost podataka 0, radi nešto drugo.
Neuronsko programiranje je proces u dva koraka. Prvi korak je unos temeljnih informacija i pravila koja su potrebna softverskoj aplikaciji da bi razumjela podatke koje će primiti. Ovaj je softver obično programiran s dijelovima pristranosti, dajući više povjerenja određenim vrstama informacija. Na primjer, neuronsko programiranje softvera za burzu uključivat će osnovne funkcije trgovanja na burzi, kao što je pretpostavka da veća potražnja za dionicama povećava njezinu vrijednost. Također će uključivati određene pristranosti, kao što je to kako softver treba obratiti veliku pozornost na trendove u tromjesečnim izvješćima o prihodima.
Drugi korak u neuronskom programiranju naziva se trening. Podaci se koriste za podučavanje softvera određenim trendovima i mogućnostima; općenito, što više podataka softver uzima, to postaje bolji u stvaranju točnih izlaza. Na primjer, podaci mogu naučiti računalo da kada određena industrija ima jaku zaradu u drugom tromjesečju, to općenito znači da je njezino četvrto tromjesečje sporo. Vrijednosti dionica su vezane uz izvješća o zaradi, tako da bi softver na kraju mogao predvidjeti da će dionice za tu industriju pasti nakon izvješća za četvrto tromjesečje kada je industrija imala snažno drugo tromjesečje. Izlaz softvera bi na kraju mogao savjetovati trgovca da proda prije nego što izađu izvješća o zaradi u četvrtom tromjesečju.
Tipično, prednost neuronskog programiranja je u tome što softver ne treba savršene informacije da bi funkcionirao. Za razliku od tradicionalnog programiranja, koje se gasi kada se pojave pogreške, neuronsko programiranje može se prilagoditi nesavršenim ulazima korištenjem prošlih informacija za rješavanje problema. Tako funkcionira i ljudski mozak, iako je daleko složeniji. Na primjer, čovjek bi mogao prepoznati starog prijatelja, čak i ako se taj prijatelj udebljao ili pustio bradu; drugi aspekti prijatelja – strukture lica, oči, njegov način hoda ili glas – pokreću prepoznavanje. Neuralni programeri nastavljaju usavršavati softver koji ne samo da će oponašati mozak, već će u nekim slučajevima biti brži i još točniji.