• No results found

Capítulo 7: Redes neuronales artificiales

7.1 Introducción a las redes neuronales artificiales

Las redes neuronales artificiales (Artificial Neural Networks, ANN) se inspiran en los sistemas neuronales biológicos. El cerebro (animal) está compuesto por una multitud de neuronas que reciben señales en forma de pulsos eléctricos de otras neuronas. El conjunto de pulsos eléctricos que recibe una neurona genera una respuesta en esta que es transmitida a todas las neuronas interconectadas a ella. Las redes neuronales artificiales pretenden emular este comportamiento. También se componen por elementos simples de procesamiento denominados neuronas, que se conectan entre sí mediante conexiones que tienen un valor numérico asociado llamado peso. Cada una de estas neuronas es capaz de recibir información de otras neuronas o entradas externas y proporcionar una respuesta. Esta respuesta es el resultado de una función de activación (generalmente no lineal) cuya entrada es una combinación lineal de los valores de entrada, concretamente una suma ponderada [59]:

𝑦𝑖= 𝑓𝑖(∑ 𝑤𝑖𝑗𝑥𝑗− 𝜃𝑖

𝑛

𝑗=1

) (45)

Donde:

yi: valor de salida de la neurona i.

xj: valor de la entrada j.

wij: peso de la conexión entre las neuronas i y j.

𝛉i: umbral o sesgo (bias) de la neurona.

fi: función de activación.

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 92 Las funciones de activación pueden ser lineales o no lineales, pero en la mayoría de las aplicaciones son de tipo no lineal (sigmoidales, gaussianas, lineales a tramos, tangentes hiperbólicas, función de Heaviside, etc.) ya que esta no linealidad convierte a las redes neuronales en “aproximadores universales” y allí radica gran parte de sus capacidades. A continuación, se describe la neurona artificial y el origen de la ecuación (45) de una forma más detallada.

Figura 56: Neurona artificial. Fuente: Elaboración propia

Tal como se presenta en la Figura 56, una neurona artificial consta de [60]:

 Un nodo que recibe un conjunto de entradas xj y unos pesos sinápticos wij, con j=1,…,n.

 Una regla de propagación h1, definida a partir del conjunto de entradas y pesos:

1(𝑥1, … , 𝑥𝑛, 𝑤𝑖1, … , 𝑤𝑖𝑛) → 𝐿𝑖𝑛𝑒𝑎𝑙 = ∑ 𝑤𝑖𝑗𝑥𝑗

𝑛

𝑖=1

(46)

 Un umbral 𝛉i, que representa un parámetro de off-set que se acostumbra a restar al potencial post-sináptico:

1(𝑥1, … , 𝑥𝑛, 𝑤𝑖1, … , 𝑤𝑖𝑛) → 𝐿𝑖𝑛𝑒𝑎𝑙 = ∑ 𝑤𝑖𝑗𝑥𝑗− 𝜃𝑖

𝑛

𝑖=1

(47)

 Una función de activación, (f) la cual representa la salida de la neurona. Si se le denomina yi se obtiene el resultado presentado en la ecuación (46):

𝑦𝑖 = 𝑓𝑖(ℎ𝑖) = 𝑓𝑖 (∑ 𝑤𝑖𝑗𝑥𝑗− 𝜃𝑖

𝑛

𝑗=1

) (48)

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 93 Perceptron

En este caso la función de activación es una función escalonada:

𝑦𝑖 =

{

1 𝑠𝑖 ∑ 𝑤𝑖𝑗𝑥𝑗

𝑛

𝑗=1

≥ 𝜃𝑖

0 𝑠𝑖 ∑ 𝑤𝑖𝑗𝑥𝑗

𝑛

𝑗=1

< 𝜃𝑖 (49)

Neurona sigmoidal

Las funciones sigmoideas más utilizadas son la función logística o Log-sigmoidea y la función tangente hiperbólica sigmoidea [60]:

a) Log-sigmoidea:

𝐹𝑜𝑟𝑚𝑎 𝑔𝑒𝑛𝑒𝑟𝑎𝑙 → 𝑔(𝑎) = 1 1 + 𝑒−(𝑎)

𝐸𝑛 𝑒𝑙 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 → 𝑦𝑖 = 1

1 + 𝑒−(∑𝑛𝑗=1𝑤𝑖𝑗𝑥𝑗−𝜃𝑖)

(50)

b) Tangente hiperbólica sigmoidea:

𝐹𝑜𝑟𝑚𝑎 𝑔𝑒𝑛𝑒𝑟𝑎𝑙 → 𝑔(𝑎) =𝑒(𝑎)− 𝑒−(𝑎) 𝑒(𝑎)+ 𝑒−(𝑎)

𝐸𝑛 𝑒𝑙 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 → 𝑦𝑖 =𝑒(∑𝑛𝑗=1𝑤𝑖𝑗𝑥𝑗−𝜃𝑖)− 𝑒−(∑𝑛𝑗=1𝑤𝑖𝑗𝑥𝑗−𝜃𝑖) 𝑒(∑𝑛𝑗=1𝑤𝑖𝑗𝑥𝑗−𝜃𝑖)+ 𝑒−(∑𝑛𝑗=1𝑤𝑖𝑗𝑥𝑗−𝜃𝑖)

(51)

Ambas funciones son continuas y diferenciables, un requisito indispensable en algunas reglas de aprendizaje como por ejemplo la regla de retro-propagación (backpropagation). Existen muchas otras funciones de activación, como el escalón simétrico, la función lineal a tramos, la función gaussiana, etc. La elección de la función de activación depende de la naturaleza de los datos y de la regla de aprendizaje que se quiere utilizar.

Arquitecturas de interconexión de neuronas artificiales

La estructura de una red neuronal depende de la colocación de las neuronas y en la forma en que estas están interconectadas. Las neuronas se agrupan en capas, y en función del número de capas se pueden clasificar en redes monocapa o multicapa.

- Monocapa: están formadas por una capa de entrada y una capa de salida.

- Multicapa: estas redes incorporan una o varias capas intermedias denominadas capas ocultas.

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 94 Una capa de entrada, también denominada sensorial, está compuesta por neuronas que reciben datos o señales procedentes del entorno. Una capa de salida se compone de neuronas que proporcionan la respuesta de la red neuronal. Una capa oculta no tiene conexión directa con el entorno, su función es la de proporcionar grados de libertad a la red neuronal gracias a las cuales es capaz de representar mejor determinadas características del entorno que trata de modelar. En función de la forma de interconexión de las capas, las redes neuronales se pueden dividir en redes unidireccionales (feed-forward) y redes recurrentes (feed-back):

- Unidireccionales: la propagación de la señal se produce des de la entrada hacia la salida, no hay ningún tipo de realimentación.

- Recurrentes: estas redes se caracterizan por disponer de lazos de realimentación que pueden darse sobre una misma neurona, entre neuronas de una misma capa, o neuronas de capas distintas.

Figura 57: Ejemplo del flujo de información en una red neuronal unidireccional multicapa. Fuente: Elaboración propia.

Capacidades de las redes neuronales

La estructura de las redes neuronales se asemeja a una estructura de procesamiento distribuida en paralelo, que es capaz de resolver problemas no lineales de forma óptima, y con un coste computacional relativamente pequeño. Una de las características más importantes es que son capaces de “aprender”. Este aprendizaje consiste en el ajuste de los pesos de las conexiones entre neuronas, con el objetivo de determinar las relaciones existentes entre los pares de vectores de entrada y salida. Las redes neuronales pueden aprender de diferentes maneras [61]:

- Aprendizaje supervisado: en este tipo de aprendizaje la red neuronal dispone del valor de los vectores de entrada y del vector de valores de la salida objetivo. Durante el entrenamiento la red neuronal va ajustando los pesos de manera que se minimice la diferencia entre el valor de salida proporcionado y el valor de la salida objetivo.

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 95

Figura 58: Aprendizaje supervisado. Fuente: Elaboración propia

Las principales estrategias de aprendizaje del aprendizaje supervisado son la corrección del error y el aprendizaje estocástico.

a) Corrección del error: se ajustan los pesos de las conexiones de la red en función de la diferencia entre los valores deseados y los obtenidos en la salida. Algunos ejemplos son la regla de aprendizaje del Perceptron, la regla delta o error cuadrático mínimo (LMS, usado en modelos neuronales como el Adaline y el Madaline), y la regla delta generalizada o retropropagación del error.

b) Aprendizaje estocástico: se realizan ajustes aleatorios de los pesos de conexión, y se evalúa el efecto a partir de los valores objetivos mediante una distribución de probabilidad.

- Aprendizaje no supervisado: en este tipo de aprendizaje la red neuronal no recibe un vector de valores de salida objetivo. Intenta encontrar un patrón que le permita clasificar los valores de entrada.

Figura 59: Aprendizaje no supervisado. Fuente: Elaboración propia

La principal estrategia de aprendizaje no supervisado es el aprendizaje hebbiano, que consiste en el ajuste de los pesos de conexión en función de la correlación de los valores de las neuronas conectadas.

Es un aprendizaje competitivo, las neuronas “luchan” para activarse.

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 96 - Aprendizaje reforzado: en este tipo de aprendizaje la red neuronal no recibe un vector de

salida objetivo, pero sí que recibe información sobre si la salida proporcionada es la esperada o no.

Figura 60: Aprendizaje reforzado. Fuente: Elaboración propia.

A parte de la capacidad de aprendizaje, las redes neuronales presentan una elevada tolerancia a fallos.

En la computación tradicional la pérdida de un fragmento pequeño de información puede acarrear comúnmente la inutilización del sistema. Se entiende por ello que las redes neuronales pueden reconocer patrones de información con ruido, distorsión o incompletos, y además pueden seguir trabajando, aunque se destruya parte de la red (con cierta degradación). La explicación de este fenómeno se encuentra en que mientras la computación tradicional almacena la información en espacios únicos, localizados y direccionables, las redes neuronales lo hacen de forma distribuida y con un alto grado de redundancia [62].

Otra característica a resaltar es la capacidad de adaptabilidad que tienen frente a cambios del sistema.

Esta característica las hace muy útiles para realizar operaciones en tiempo real, pero hay que destacar que esta es limitada ya que a medida que aumenta la adaptabilidad también se incrementa la inestabilidad frente a variaciones en las entradas.

Como desventajas se puede mencionar que las redes neuronales suelen requerir de gran cantidad de datos para que su fase de entrenamiento sea satisfactoria. Además, durante la fase de entrenamiento existe la posibilidad de que el entrenamiento se detenga en un mínimo local en lugar del mínimo global.

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 97

7.2 EVOLUCIÓN HISTÓRICA DE LAS REDES NEURONALES