Context
El sistema nerviós està construït amb complexes xarxes neuronals. Una xarxa neuronal artificial és un model inspirat en el cervell humà. Està formada per moltes unitats anomenades neurones artificials, connectades entre elles. Cada neurona rep informació, la processa i envia un resultat a altres neurones.
Neurones biològiques
En altres Seccions i Capítols de la pàgina web hem reflexionat sobre la tendència a l’augment de complexitat de molts organismes. Els més simples s’adapten (resisteixen) durant l’evolució perquè tenen poques necessitats mentre que els més complexos s’adapten (malgrat que han de complir amb moltes necessitats fisiològiques) per haver adquirit recursos convenients.
Els recursos més rellevants per coordinar la complexitat són els relacionats en la comunicació de les diferents parts, els suportats pels sistemes vascular-endocrí i nerviós. El primer amb milers de quilòmetres de canonades, el segon amb milers de quilòmetres de cables, vehiculen respectivament molècules senyalitzadores i senyals elèctrics. Tots dos permeten superar grans distàncies per comunicar senyals, però el sistema neuronal té els valors afegits de velocitat, precisió i plasticitat que han permès construir els òrgans del pensament.
Les neurones han adquirit i potenciat els mecanismes bàsics per generar senyals elèctrics. En primer lloc, incorporen en la membrana lipídica plasmàtica (i altres), una bona bateria de proteïnes integrals amb funcions de bombes, transportadors, cotransportadors i canals que treballen en conjunt per produir i mantenir gradients iònics electroquímics entre els dos costats de la membrana. Membrana i gradients dels principals ions són la bateria, actualitzada permanentment, que generarà corrents elèctrics transmembrana quan canals iònics, més o menys específics, siguin motivats a augmentar la seva probabilitat d’obertura i produir un curtcircuit per on correran els ions del costat més concentrat al que menys. Això amb el permís de la càrrega elèctrica igual (els rebutjarà) o contrària (els atraurà) del costat on es dirigeixen seguint el gradient químic (de concentració).
Els canals iònics necessiten activar-se de forma motivada en resposta a estímuls interns o externs, estímuls que s’han d’analitzar pels recursos neuronals i valorar com se’ls ha de tenir en compte. En primer lloc, doncs, és necessari disposar de molècules i mecanismes receptors d’estímuls (genèricament receptors) que directament o indirectament estan acoblats als canals iònics que generaran els senyals de comunicació.
Així és que els canals en la membrana que poden permetre el pas d’un o diversos ions rellevants (sodi, potassi, calci i clor) poden estar directament acoblats al receptor (o formar part inclús de la mateixa molècula receptora) que en ser activada modifica directament la probabilitat d’obertura del canal. Aquests receptors són ionotròpics, estan en moltes sinapsis i l’agent que els activa normalment és una molècula externa, un neurotransmissor.
Altres canals estan separats del receptor que en ser activat (per un neurotransmissor, un neuromodulador, una hormona, etc.) inicia una cascada metabòlica intracel·lular amb la producció de segons missatgers que, entre altres regulacions, poden també activar canals des de l’interior cel·lular.
Altres canals poden detectar directament canvis en el potencial elèctric de la membrana, en la distribució de càrregues elèctriques en els dos costats de la membrana mentre que altres són sensibles a la deformació (estiraments) de la membrana que els allotja per a modificar la probabilitat d’obertura.
Així és que les neurones generen senyals elèctrics i els poden utilitzar també quan els reben, els integren, els condueixen i els transmeten.
La superfície receptora neuronal, on se situen la majoria dels receptors i canals, és la membrana de les dendrites i del soma on conflueixen terminacions nervioses sinàptiques d’altres neurones.

Els senyals rebuts comencen a integrar-se “in situ” mentre que van confluint pel hialoplasma neuronal. Això no obstant, un lloc estratègic i definitiu és el conus de naixement de l’axó on s’inicia en termes generals la conducció del senyal propi de la neurona involucrada. Aquest senyal discorre en direcció a les seves pròpies terminacions nervioses, en direcció a les sinapsis que aquestes originen en la xarxa de la qual formen part i on es repeteix el procés en el context del circuit neuronal implicat.
Xarxes neuronals
El sistema nerviós està construït amb complexes xarxes neuronals. Moltes xarxes i circuits, sobretot aquells que una bona part és perifèrica, són relativament assequibles a l’estudi i comprensió (per exemple els arcs reflexos com el miotàctic). En el sistema nerviós central no és tan fàcil la cosa. Hem vist exemples en els capítols immediatament anteriors. Per exemple, com s’aconsegueix a partir d’un mecanisme com el registre (i la memòria) d’una certa activitat, passar a la consciència del record.
Queda molt per fer. Hem d’estudiar i simular de manera repetida, experimentalment i teòrica les funcions cel·lulars implicades. Grans concentracions d’instruments artificials de memòria i processament de dades han permès desenvolupar xarxes neuronals artificials que són un dels principals mecanismes que fan possible la intel·ligència artificial (IA) moderna amb extraordinàries prestacions a l’abast de quasi tothom. És molt interessant veure on podran arribar aquestes construccions amb un entrenament cada vegada més extens i precís i qui en farà ús i per a què. Per a les persones, disposar d’uns companys intel·ligents als quals consultar és una gran i positiva cosa.
Una xarxa neuronal artificial és un model inspirat en el cervell humà. Està formada per moltes unitats anomenades neurones artificials, connectades entre elles. Cada neurona rep informació, la processa i envia un resultat a altres neurones.
Neurona artificial
Anem a fer una descripció simple a una neurona artificial.
Cada neurona artificial és un petit dispositiu de càlcul que fa una operació matemàtica. Rep valors (entrades, inputs, x1, x2… xn) (que poden representar, per exemple, píxels d’una imatge o valors d’altres magnituds), els multiplica per uns pesos (weights, p1, p2…pn, que s’han donat prèviament a cada entrada i que tenen el significat de valorar la importància de cada input) i suma els resultats per donar el valor de la sortida (z).
El resultat d’una neurona artificial amb dues entrades és:
Sortida = Z = p1 * x1 + p2 * x2
L’operació formulada d’aquesta manera no té en compte l’estat de la neurona artificial que (pensant en com funcionen les neurones biològiques) pot tenir més o menys predisposició a ser activada per les entrades. Per exemple, com hem vist en altres llocs i veurem aquí en les analogies que valorarem més endavant, les neurones biològiques no gestionen igual les entrades sinàptiques que reben segons sigui el potencial de repòs (el potencial de partida) de la membrana neuronal en cada moment.
Així és que a la fórmula anterior s’afegeix externament un paràmetre addicional a cada neurona, el bias (biaix, b) per ajustar millor el resultat i les seves prediccions.
Z = p1 * x1 + p2 * x2 + b
El bias és un desplaçament que permet a la neurona moure la seva funció cap amunt o cap avall. Sense el bias la neurona només pot produir sortides que passen per l’origen (0,0 en una representació gràfica), mentre que amb el bias, la neurona pot adaptar-se millor a les dades en diferents quadrants cartesians.
Per qualsevol valor de x (per exemple 2) i un pes (per exemple p=0,5), els resultats sense bias passen per l’origen.
y = 0,5 * 2
El bias permet moure la funció i millorar la seva flexibilitat i l’ajust a les dades. Amb la incorporació d’un bias (per exemple b=3), que se suma a la combinació lineal de les entrades es pot moure la funció.
Per x = 1, y = 0,5 * 1 + 3
Per x = 2, y = 0,5 * 2 +3

El bias pot prendre qualsevol valor real. En la pràctica, sol deixar-se dins d’un rang moderat, aproximadament entre −1 i +1.
En una xarxa neuronal cada neurona té diversos pesos (un per cada entrada) i un bias propi.
En incorporar tantes entrades com es vulgui tindrem el resultat numèric variat del càlcul neuronal i el seu significat és clar. Això no obstant, com en faria ús una neurona biològica del resultat d’integrar algebraicament els inputs rebuts? Si el valor de les entrades que ha rebut arriba a un llindar d’activació la neurona posaria en marxa el seu senyal. Un o una tanda de potencials d’acció segons sigui més curt o més llarg el temps de persistència de la situació llindar.
En la nostra neurona artificial podem dir per simplificar que el llindar té un valor molt precís, el valor 1 que és el seu objectiu o target per funcionar (enviar informació) en la xarxa on està inserida.
Així és que ara hem de veure com el resultat de la computació d’entrades i pesos (cada vegada que funciona la neurona), s’acosta o se separa del valor 1.
La funció matemàtica sigmoide (que aquí podem anomenar funció d’activació) ens pot ser útil. Té forma de S (corba suau) i els valors de sortida estan entre 0 i 1. Aquesta propietat de la funció Sigma, permet veure si un resultat (x) de l’operació neuronal s’acosta a 1 (100 % de coincidència amb el target) i si no quina és la diferència o Error.
σ(x) = 1/ 1 + e^{-x}
Podem fer una simulació amb una sola neurona que rep dues entrades (x1 = 1, x2 = 2) amb els respectius pesos (p1 = 0,3, p2 = 0,5). També li assignarem a la neurona un bias de 0,1.
Un bias gran positiu fa que la neurona s’activi més fàcilment mentre que amb un bias negatiu la neurona necessita més entrades per activar-se. Això a semblança de l’estat de despolarització o hiperpolarització de la membrana d’una neurona biològica.
El càlcul de la neurona que fem servir com a exemple és com segueix:
z = (x1 * p1) + (x2 * p2) + bias
z = (1 * 0.3) + (2 * 0.5) + 0.1
z = 1,4
En aplicar la funció sigmoide:
σ(x) = 1/ 1 + e^{-x}
σ(1,4) = 1/ 1 + e^{-1,4}
σ(1,4) = 0,8
Una interpretació simple ens diu que el valor obtingut (0,8) en aquest càlcul de sortida està una mica lluny de l’objectiu que consideràvem i que volíem assolir (1, és a dir, un 100% de probabilitats de generar un potencial d’acció). Hi ha un error.
Error = objectiu – sortida = 1 – 0.8 = 0.2
Així és que nosaltres manualment en aquesta simulació o bé automàticament en una xarxa neuronal artificial (backpropagation, o tornar enrere per modificar les condicions) es podran corregir els pesos de les entrades per acostar-nos al blanc desitjat.
Backpropagation és el mecanisme que permet aprendre. L’error es calcula a la sortida. Es propaga cap enrere per la xarxa (cap als inputs en la nostra neurona solitària). Cada connexió s’ajusta una mica i així la xarxa aprèn dels errors. Durant l’entrenament els pesos i els bias es van ajustant amb un algorisme de backpropagation.
En el nostre exemple podem ajustar els pesos fent una petita correcció que anomenarem taxa d’aprenentatge (η, eta). La taxa d’aprenentatge (learning rate) és una modificació percentual dels pesos (per un 10% de modificació es pot multiplicar el pes per 0,1).
La taxa controla com s’actualitzen els pesos, no és part de la neurona i no s’aprèn (es fixa externament). La seva funció és determinar la velocitat d’aprenentatge i controlar la mida dels canvis.
La taxa d’aprenentatge és diferent del bias donat que aquest és part de la neurona. En biologia el bias és l’excitabilitat de la neurona definida per l’equilibri entre potencial de repòs (o potencial en un moment donat) i el llindar mentre que la taxa d’aprenentatge té a veure amb la plasticitat sinàptica (vegeu el pròxim capítol).
En el nostre exemple podem modificar els pesos de les dues entrades aplicant una taxa d’aprenentatge de 0,1.
P1 nou = P1 anterior + (η * error * x1)
P1 nou = 0,3 + (0,1 * 0,2 * 1)
p1 nou = 0,32
P2 nou = P2 anterior + (η * error * x2)
p2 nou = 0.5 + (0,1 * 0,2 * 2)
P2 nou = 0,54
Amb aquestes noves dades de pesos, el valor de z = 1,5 i el valor de σ (sigma) = 0,82. L’error s’ha reduït dos punts percentuals (0,18).
Així és que la nostra neurona artificial ha fet una predicció amb els valors i pesos de les entrades, ha detectat error i ha ajustat els pesos (ho ha pogut fer amb un algorisme de backpropagation) per millorar la següent vegada. Aquest procés es pot repetir milers de vegades fins que millora.
Xarxa artificial
Podem fer un petit exercici amb la simulació d’una xarxa medul·lar que inclogui dues entrades (potser de la via piramidal voluntària), dues interneurones (una excitadora i l’altra inhibidora) i una sortida (una motoneurona).

Entrades: x1 = 0.6, x2 = 0.4
En la capa oculta una neurona excitadora (neurona 1) amb els pesos: p1 = 0.8, p2 = 0.5 i amb un bias = 0.1
Càlcul lineal:
z1 = (0.6 * 0.8) + (0.4 * 0.5) + 0.1
z1 = 0.48 + 0.20 + 0.1 = 0.78
Activació sigmoide: σ(0,78)=1/ 1 + e^{-0,78} = 0,685
I una neurona inhibidora (neurona 2) amb els pesos: p1 = -0.3, p2 = -0.2 amb un bias = 0.3
Càlcul lineal:
z2 = (0.6 * (-0.3)) + (0.4 * (-0.2)) + 0.3
z2 = -0.18 – 0.08 + 0.3 = 0.04
Activació sigmoide: σ(0,04) = 1/ 1 + e^{-0,04} = 0,51
En la Motoneurona de sortida amb els pesos: p1 = 1.0 (excita) i p2 = -1.0 (inhibeix) amb un bias = 0
Càlcul
z = (0.685 * 1.0) + (0.510 * ( -1.0))
z = 0.685 – 0.510 = 0.175
Activació final (sigmoide)
σ(0.175) = 0.544
Així és que la motoneurona de sortida rep senyals excitadors i senyals inhibitoris fent una suma ponderada i aplicant una funció sigmoide amb el resultat de donar una resposta modulada que es pot acostar o allunyar de la probabilitat d’arribar al llindar i disparar els seus potencials d’acció. No pas una resposta del tot o res.
El resultat depèn de la competència entre els senyals, dominant un efecte excitador o inhibidor amb una resposta gradual molt semblant a les neurones biològiques. La sortida = σ (Excitació − Inhibició).