Un neurone artificiale è una funzione matematica nella programmazione di software per sistemi informatici che tenta in una certa misura di emulare la complessa interazione dei neuroni biologici, o cellule conduttrici di impulsi nel cervello umano e nel sistema nervoso. La prima versione del neurone artificiale fu creata nel 1943 da Warren McCulloch e Walter Pitts come una forma di neurone binario, dove l’input poteva essere un valore di 1 o -1. Insieme viene pesata una combinazione di questi input. Se viene superata una certa soglia, l’output del neurone artificiale è 1 e, se gli input sono insufficienti quando combinati, l’output è un valore di -1.
Insieme, un insieme di neuroni artificiali interconnessi dovrebbe funzionare in modo basilare come fa il cervello umano. Tale progettazione di reti neurali artificiali è vista come un trampolino di lancio chiave lungo il percorso verso lo sviluppo di vita artificiale, sistemi informatici sintetici che possono ragionare in qualche modo come fanno gli esseri umani. I sistemi informatici intelligenti oggi impiegano già reti neurali che consentono l’elaborazione parallela dell’input dei dati in modo più rapido rispetto alla programmazione informatica lineare tradizionale.
Un esempio di un sistema in funzione che dipende dal neurone artificiale è un sistema di protezione delle colture sviluppato nel 2006, che utilizzava un veicolo volante per scansionare le condizioni delle colture alla ricerca di malattie stagionali e parassiti. Il software di rete neurale è stato scelto per controllare la scansione delle colture, poiché le reti neurali sono essenzialmente computer di apprendimento. Man mano che vengono inseriti più dati in base alle condizioni locali, diventano più efficienti nel rilevare i problemi in modo che possano essere controllati rapidamente prima che si diffondano. Un sistema computerizzato standard, d’altra parte, avrebbe trattato l’intero campo di colture allo stesso modo, indipendentemente dalle condizioni variabili in determinate sezioni. Senza una continua riprogrammazione da parte dei progettisti, si sarebbe rivelato molto più inefficiente di un sistema basato su adattamenti neuronali artificiali.
Il software di rete neurale offre anche il vantaggio di essere adattabile da parte di ingegneri che non conoscono a fondo la progettazione di base del software a livello di codifica. Il software è in grado di essere adattato a un’ampia gamma di condizioni e acquisisce competenza man mano che viene esposto a tali condizioni e raccoglie dati su di esse. Inizialmente una rete neurale produrrà output errati come soluzioni ai problemi, ma, man mano che questo output viene prodotto, viene reimmesso nel sistema come input e un processo continuo di raffinamento e pesatura dei dati lo porta a una comprensione sempre più accurata del reale condizioni del mondo, dato abbastanza tempo e feedback.
L’adattamento nel modo in cui viene progettata una rete neurale ha portato ad altri tipi di neuroni artificiali oltre alla struttura neuronale binaria di base creata nel 1943. Le reti neurali semilineari incorporano funzioni sia lineari che non lineari che vengono attivate dalle condizioni. Se il problema analizzato mostra condizioni non lineari, o non chiaramente prevedibili e non minori, le funzioni non lineari del sistema vengono utilizzate dando più peso ai calcoli lineari. Man mano che l’addestramento del sistema neurale continua, il sistema migliora nel controllare le condizioni del mondo reale che sta monitorando rispetto a quelle che dovrebbero essere le condizioni ideali del sistema. Ciò comporta spesso l’incorporazione di modelli neuro-fuzzy nella rete neurale, che sono in grado di tenere conto dei gradi di imprecisione nella produzione di output significativi e stati di controllo.