Red neuronal artificial: conceptos básicos
Las redes neuronales son dispositivos de computación paralelos, que es básicamente un intento de hacer un modelo computarizado del cerebro. El objetivo principal es desarrollar un sistema para realizar diversas tareas computacionales más rápido que los sistemas tradicionales. Estas tareas incluyen reconocimiento y clasificación de patrones, aproximación, optimización y agrupación de datos.
¿Qué es la red neuronal artificial?
La red neuronal artificial (ANN) es un sistema informático eficiente cuyo tema central se toma prestado de la analogía de las redes neuronales biológicas. Las ANN también se denominan "sistemas neuronales artificiales" o "sistemas de procesamiento distribuido en paralelo" o "sistemas conexionistas". ANN adquiere una gran colección de unidades que están interconectadas en algún patrón para permitir la comunicación entre las unidades. Estas unidades, también denominadas nodos o neuronas, son procesadores simples que operan en paralelo.
Cada neurona está conectada con otra neurona a través de un enlace de conexión. Cada enlace de conexión está asociado con un peso que tiene información sobre la señal de entrada. Esta es la información más útil para que las neuronas resuelvan un problema particular porque el peso suele excitar o inhibir la señal que se está comunicando. Cada neurona tiene un estado interno, que se llama señal de activación. Las señales de salida, que se producen después de combinar las señales de entrada y la regla de activación, pueden enviarse a otras unidades.
Una breve historia de ANN
La historia de ANN se puede dividir en las siguientes tres eras:
ANN durante las décadas de 1940 a 1960
Algunos desarrollos clave de esta era son los siguientes:
1943 - Se ha asumido que el concepto de red neuronal comenzó con el trabajo del fisiólogo Warren McCulloch y el matemático Walter Pitts, cuando en 1943 modelaron una red neuronal simple utilizando circuitos eléctricos para describir cómo podrían funcionar las neuronas en el cerebro. .
1949- El libro de Donald Hebb, The Organization of Behavior , expone el hecho de que la activación repetida de una neurona por otra aumenta su fuerza cada vez que se utilizan.
1956 - Taylor introdujo una red de memoria asociativa.
1958 - Rosenblatt inventó un método de aprendizaje para el modelo de neuronas de McCulloch y Pitts llamado Perceptron.
1960 - Bernard Widrow y Marcian Hoff desarrollaron modelos llamados "ADALINE" y "MADALINE".
ANN durante las décadas de 1960 a 1980
Algunos desarrollos clave de esta era son los siguientes:
1961 - Rosenblatt hizo un intento fallido pero propuso el esquema de "retropropagación" para redes multicapa.
1964 Taylor construyó un circuito en el que el ganador se lo lleva todo con inhibiciones entre las unidades de salida.
1969 - El perceptrón multicapa (MLP) fue inventado por Minsky y Papert.
1971 - Kohonen desarrolló memorias asociativas.
1976 - Stephen Grossberg y Gail Carpenter desarrollaron la teoría de resonancia adaptativa.
ANN desde 1980 hasta la actualidad
Algunos desarrollos clave de esta era son los siguientes:
1982 - El mayor avance fue el enfoque energético de Hopfield.
1985 - La máquina de Boltzmann fue desarrollada por Ackley, Hinton y Sejnowski.
1986 - Rumelhart, Hinton y Williams introdujeron la regla delta generalizada.
1988 - Kosko desarrolló Binary Associative Memory (BAM) y también dio el concepto de Fuzzy Logic en ANN.
La revisión histórica muestra que se han logrado avances significativos en este campo. Están surgiendo chips basados en redes neuronales y se están desarrollando aplicaciones para problemas complejos. Sin duda, hoy es un período de transición para la tecnología de redes neuronales.
Neurona biológica
Una célula nerviosa (neurona) es una célula biológica especial que procesa información. Según una estimación, hay una gran cantidad de neuronas, aproximadamente 10 11 con numerosas interconexiones, aproximadamente 10 15 .
Diagrama esquemático
Funcionamiento de una neurona biológica
Como se muestra en el diagrama anterior, una neurona típica consta de las siguientes cuatro partes con la ayuda de las cuales podemos explicar su funcionamiento:
Dendrites- Son ramas con forma de árbol, encargadas de recibir la información de otras neuronas a las que está conectada. En otro sentido, podemos decir que son como los oídos de una neurona.
Soma - Es el cuerpo celular de la neurona y se encarga del procesamiento de la información que han recibido de las dendritas.
Axon - Es como un cable a través del cual las neuronas envían la información.
Synapses - Es la conexión entre el axón y otras dendritas neuronales.
ANN versus BNN
Antes de echar un vistazo a las diferencias entre la red neuronal artificial (ANN) y la red neuronal biológica (BNN), echemos un vistazo a las similitudes basadas en la terminología entre estos dos.
Red neuronal biológica (BNN) | Red neuronal artificial (ANN) |
---|---|
Soma | Nodo |
Dendritas | Entrada |
Sinapsis | Pesos o interconexiones |
Axon | Salida |
La siguiente tabla muestra la comparación entre ANN y BNN en base a algunos de los criterios mencionados.
Criterios | BNN | ANA |
---|---|---|
Processing | Masivamente paralelo, lento pero superior a ANN | Masivamente paralelo, rápido pero inferior a BNN |
Size | 10 11 neuronas y 10 15 interconexiones | 10 2 a 10 4 nodos (depende principalmente del tipo de aplicación y diseñador de red) |
Learning | Pueden tolerar la ambigüedad | Se requieren datos muy precisos, estructurados y formateados para tolerar la ambigüedad |
Fault tolerance | El rendimiento se degrada incluso con daños parciales | Es capaz de un rendimiento robusto, por lo que tiene el potencial de ser tolerante a fallas. |
Storage capacity | Almacena la información en la sinapsis | Almacena la información en ubicaciones de memoria continua |
Modelo de red neuronal artificial
El siguiente diagrama representa el modelo general de ANN seguido de su procesamiento.
Para el modelo general anterior de red neuronal artificial, la entrada neta se puede calcular de la siguiente manera:
$$ y_ {in} \: = \: x_ {1} .w_ {1} \: + \: x_ {2} .w_ {2} \: + \: x_ {3} .w_ {3} \: \ dotso \: x_ {m} .w_ {m} $$
es decir, entrada neta $ y_ {in} \: = \: \ sum_i ^ m \: x_ {i} .w_ {i} $
La salida se puede calcular aplicando la función de activación sobre la entrada neta.
$$ Y \: = \: F (y_ {in}) $$
Salida = función (entrada neta calculada)