Las Redes Neuronales Artificiales (RNA) son sistemas adaptativos complejos que pueden cambiar su estructura interna en función de la información que pasa por ella.
El resumen de su funcionamiento es muy sencillo de explicar. Con las entradas recibidas (números) realiza una serie de productos y sumas, a estos les aplica otros cálculos mediante una fórmula (función de activación) que transforma el valor recibido y produce un resultado numérico, así de fácil. Entonces, por qué dicen que son sistemas complejos y están al alcance de pocos, esto lo veremos a continuación.
Computacionalmente no son algorítmicas, no tienen algoritmos pre establecidos que las hagan seguir una secuencia de instrucciones, pero constan de funciones tan complicadas con tantos parámetros (millones) que finalmente son una solución matemática a un problema.



La clase de problemas que mejor se resuelven con las redes neuronales son los mismos que el ser humano resuelve mejor: Asociación, evaluación y reconocimiento de patrones. Ellas generan sus propias “reglas” para asociar la respuesta a la entrada, aprendiendo de ejemplos y de sus errores, y almacenando el conocimiento en la función de activación y en los valores de sus pesos.
Mencionar que se está investigando la capacidad de estas redes en un intento de resolver el problema de la factorización de números primos. En el supuesto de obtención de buenos resultados, los sistemas de cifrado tipo RSA deberían replantearse. Boris Jansen y Kenji Nakayama publicaron en 2.005 un trabajo interesante a este respecto. También existen trabajos utilizando las FHNN (Fuzzy Hopfield Neural Networks) como generadoras de números seudo aleatorios que se podrían utilizar en los métodos de factorización o en cualquier otro.
La historia de las RNA comienza en la década de 1.940 con la arquitectura propuesta por Warren McCulloc y Walter Pitts, pero el primer paso significativo se produjo en 1.958 con la introducción del perceptrón de Rosenblatt. Las primeras arquitecturas RNA de McCulloch y Pitts en 1.943 no tenían capacidad de aprendizaje pero en las siguientes décadas, desde 1.958 a 1.974, trajeron redes simples supervisadas y desde 1.969 a 1.976 no supervisadas, en el artículo aprendizaje se detalla este aspecto que es fundamental. A partir de este último periodo la dimensión de las redes neuronales se dispara, la complejidad también y las distintas versiones y aplicaciones también lo hacen rápidamente.
Para conocer la computación neuronal debemos identificar unos conceptos fáciles pero fundamentales, detrás de ellos hay un trasfondo complejo y extenso que se debe mostrar en otro contexto, ahora daremos una vuelta por las partes exteriores:
- Una neurona computacional es la unidad mínima de cómputo, un modelo matemático que intenta representar el comportamiento de una neurona del cerebro humano, se la suele denominar nodo o PE (Procesador elemental), tienen un conjunto de valores de entrada, pesos, sesgo/umbral y función de activación.
- Cada neurona recibe una entrada desde otras neuronas o de una fuente de datos externa, son los sentidos, (por cada entrada existe una neurona de entrada), a esta entrada se le asocia un peso(w), sesgo/umbral que van se modificando en el aprendizaje. El aprendizaje implica modificar las acciones que se realizan en la entrada / proceso / salida y para ello necesitamos ajustar los pesos (w) y distinguir los datos de las muestras y encontrar características comunes entre ellas. Este es el objetivo fundamental del aprendizaje, encontrar la configuración de pesos que corresponda al mínimo global de la función de error, aunque sería suficiente encontrar un mínimo local lo suficientemente bueno, para ello se utiliza el método del Gradiente Descendente. Los algoritmos más comunes utilizados en las RNA para el aprendizaje son el BP (Backpropagation), BPTT (Retrocesión a través del tiempo) y el RTRL (Aprendizaje recurrente en tiempo real), el resto se pueden clasificar como el de una estrategia intermedia o híbrida que combina las mejores características de los anteriores.
- Computacionalmente la RNA es un proceso masivamente paralelo distribuido, tolerante a fallos, con algoritmos de aprendizaje y en modelo de “caja negra”
Las neuronas de una RNA están situadas en 3 capas:

Capa de entrada.
Se ciñe a recibir la información y distribuirla a cada una de las neuronas de la siguiente capa.
Capa oculta.
La información va desde la capa de entrada a las capas ocultas dónde procesan la información recibida (hacen una transformación lineal con los pesos y sesgos, y la no lineal con la función de activación) y el resultado lo envían a la capa de salida, a este movimiento se le denomina, propagación hacia adelante.
Una de las operaciones más importantes es fijarnos en los datos de entrada, dado que los valores se deben transformar a un valor cuyo rango esté en base a la función de activación, estos deben ser normalizados, es decir, estudiar los diferentes órdenes de magnitud para reducirlos a rangos [0,1] o [-1,1]. Si no se realiza la normalización, la entrada tendrán un efecto indeseado sobre la neurona, dando lugar a soluciones incorrectas.
Un ejemplo de normalización podría ser:
A continuación los valores son modificados por los pesos que dan lugar a un valor único que es procesado para obtener un:
- Sumatorio: es la suma de los valores de entrada multiplicados por sus pesos.
- Producto: es el producto de todos los valores de entrada multiplicados por sus pesos.
- Máximo: sólo toma el valor de entrada más fuerte, previamente multiplicado por su peso.
Umbrales, Sesgo, pesos o Bias. Es un valor constante que se aplica al (sumatorio, producto, maximo) de cada una de las neuronas y que siempre toma como valor único (1,0).
Con los resultados anteriores las funciones de activación deciden si una neurona debe activarse o no, su cálculo viene dado por:
Y = FdeActivación × [ ∑ ( peso × entrada) + sesgo ].
Las funciones de activación más comunes son:
- Lineal. Tiene un rango [-∞ , ∞], también deficiencias cuando existe complejidad o varios parámetros de datos.
- Binario. Dado un umbral, la neurona se activa sí el valor de X está por encima del valor dado, en caso contrario se desactiva.
- Sigmoidea. La función de activación sigmoidea σ (x) = 1 / (1 + e-x) es una función en forma de S que transforma cada valor x en el rango [0, 1]. Es la ideal para modelos en los que utilizamos la probabilidad como salida.
- Hiperbólica. También es sigmoidea pero más amplia, el rango de salida va desde [ -1 , 1].
- ReLU (Unidad lineal rectificada). Se usa en casi todas las redes neuronales convolucionales o en aprendizaje profundo. Rango: [0 , ∞], cualquier entrada negativa la convierte en cero, esto desvirtúa el resultado.
- Softmax. Es un tipo de función sigmoidea aplicada a problemas de clasificación.
Capa de Salida.
El valor de la capa oculta llega con uno de estos valores:
- Ninguno: la salida es la misma que la entrada.
- Binario – Bipolar.
En el supuesto de que la salida estuviese lejana a los valores esperados, deberíamos actualizar los pesos sobre la base del error, a este proceso se le conoce como retrocesión/retro-propagación.
Desde el punto de vista físico las RNA pueden ser desarrolladas con tecnología electrónica analógica o digital. Las soluciones analógicas tienen ventajas en cuanto a la alta densidad y rápida operación, pero son sensibles al ruido, a la temperatura y a las interferencias electricas. La tecnología digital es flexibilible en el aprendizaje, crecimiento y precisión, construyéndose sobre circuitos reconfigurables, una de las opciones más interesantes el FPGA (Field Programmable Gate Arrays).
Algunos Modelos de Redes Neuronales Artificiales | |||
Año | Nombre | Autor | Comentarios |
1.957 | Perceptron | Frank Rosenblatt | Reconocimiento de carácteres impresos |
1.960 | ADALINE/ MADALINE | Bernand Widrow y Marcian E. Hoff | Filtrado de señales, Modems. |
1.967 | Avalancha | Stephen Grossberg | Reconocimiento del habla y control brazos de robot |
1.969 | Cerebellatron | David Marr, J. Albus, Andrés Pellionez | Control del movimiento de los brazos de un robot. |
1.977 | Brain-Estate-in-a-Box. | James Anderson | Obtención de conocimiento desde bases de datos |
1.978-80 | Neocognitron | Kunihiko Fukushima | Reconocimiento de caracteres manuscritos. Es el precursor de los modelos CNN – DNN. |
1.982 | SOM (Self-Organizing Map) | Teuvo Kohonen | Red Autorganizativa |
1.982 | Hopfield | John Hopfield | Reconstrucción de patrones y optimización. |
1.985 | Memoria Asociativa Bidireccional (BAM) | Bart Kosko | Memoria heteroasociativa |
1.985 | Máquinas de Boltzmann y Cauchy | J. Hinton, T.Sejnowski, D. Ackley, Harold Szu. | Reconocimiento de imágenes, sonar y radar. |
1.986 | ART (Teoría Resonancia Adaptativa) | Gail Carpenter, Stephen Grossberg. | Reconocimiento de sonar y radar, … |
1.986 | Counter-propagation | Robert Hecht-Nielsen | Identificación y comprensión de imágenes. |
1.990 | SRNN ( Simple Recurrent Neural Network). | Jeffrey L. Elman | Surge para los algoritmos de procesamiento del lenguaje, pero también es útil para cualquier otra área que implique secuencias. |
1.990 | NARX (Nonlinear Autoregressive with eXogenous input) | K. S. Narendra y K. Parthasarathy | Es una red dinámica recurrente, con conexiones de retroalimentación que encierran varias capas de la red, se basa en el modelo ARX lineal, para el modelado de series de tiempo. |
1.992 | MNN (Maximum Neural Network ) | Nobuo Funabiki y Yoshivasu Takefuji | Reduce el espacio de búsqueda sin la necesidad de optimizar ningún parámetro. Se aplica a muchos problemas NP-completos. |
1.993 |
QSNN (Quantum Symmetric Neural Networks) FQSNN (Fluctuation Quantum Symmetric Neural Networks) |
Satoshi Matsuda | Red de neuronas simétricas, donde cada neurona toma uno de los valores cuantificados (por ejemplo, enteros) en lugar de solo valores binarios o valores continuos. Al aplicar este modelo a los problemas de optimización combinatoria que toman los enteros como soluciones, la cantidad de neuronas y conexiones entre neuronas y el tiempo de cálculo disminuyen respecto a otros métodos. Por lo tanto, es posible obtener mejores soluciones en el mismo tiempo de cálculo. La simulación del problema de Hitchcock demuestra las ventajas. |
1.995 | TCNN (Transiently Chaotic Neural Network) | Luonan Chen y Kazuyuki Aihara | En este modelo la neurodinámica caótica se genera temporalmente para la búsqueda y autoorganización, y eventualmente desaparece con la disminución autónoma de un parámetro de bifurcación. La red se acerca gradualmente, a través del caos transitorio, a una estructura similar a los modelos convencionales como la red neural de Hopfield que converge a un punto de equilibrio estable. |
1.996 | WEBSOM | Krista Lagus, Timo Honkela, Samuel Kaski, Teuvo Kohonen | Ordena gran cantidad de información (texto completo) |
1.996 | FHNN (Fuzzy Hopfield Neural Networks ) | Incluyen una estrategia FCM dentro de una red de Hopfield para reducir la función de energía y encontrar el grado de afinidad de los miembros. Utilizan el Sw (“within classes scatter matrix”), el principio de «matriz de dispersión dentro de la clase». | |
1.997 | LSTM (Long Short-Term Memory) | Sepp Hochreiter y Jürgen Schmidhuber | Es un modelo de los más eficaces y escalables para varios problemas de aprendizaje relacionados con datos secuenciales. |
1.997 | BRNN (Bidirectional Recurrent Neural Networks) | Mike Schuster y Kuldip K. Paliwal | La idea básica es conectar dos capas ocultas de direcciones opuestas a la misma salida. Con esta estructura, la capa de salida puede obtener información de estados pasados y futuros. |
1.998 | LeNet | Yann LeCun, León Bottou, Yoshua Bengio y Patrick Haffner | Fue la primera red convolucional (CNN) con apliación práctica y basada en el Neocognitron de Kunihiko Fukushima. |
1.998 | HHNN (Hysteretic Hopfield Neural Network) | Sunil Bharitkar y Jerry M. Mendel | Introducen una nueva función de activación, basada en la histéresis, en una red de Hopfield. La red mejora la frecuencia de convergencia a una solución, cuando los parámetros asociados con la función de activación son variados. Utilizan la prueba de Lyapunov para probar su estabilidad. |
1.999 | QHN (Quantized Hopfield Network) |
Satoshi Matsuda | Red de Hopfield cuantificada. Es una evolución de QSNN. |
1.999 | GNN (Gradual Neural Network) | Nobuo Funabiki y Junji Kitamichi | Algoritmo de optimización combinatoria para problemas de programación de transmisión (NP-completa) en redes PR. El objetivo de GNN es encontrar un ciclo TDMA con el tiempo de retardo mínimo para que cada nodo emita paquetes. |
2.001 | ESN (Echo State Network) | Herbert Jaeger | Son una generalización de las RNR que surgieron de la necesidad de algoritmos de entrenamiento más simples y eficientes. |
2.005 | NCNN (Noisy Chaotic Neural Network) | Puede simular un SCSA para resolver problemas de optimización combinatoria mejor que HNN o TCNN. | |
2.006 | G-NCNN (Gradual Noisy Chaotic Neural Network ) | Resuelve el problema BSP (NP-completo) en redes de radio por paquetes. En una primera fase utiliza una NCNN y el esquema de expansión gradual para encontrar una longitud mínima de trama. En la segunda, la NCNN encuentra transmisiones máximas de nodos en la trama TDMA de la primera fase. | |
2.008 | MMNN (Matrix Modular Neural Network) | Zhong-Qiu Zhao, Jun Gao, Herve Glotin y Xindong Wu | La red descompone las tareas de clasificación en muchas subtareas, cada una de los cuales se trata en dos subespacios que se resuelven mediante un solo módulo de red. Todos los módulos forman una matriz que produce otra matriz integrada de salida, con la cuál se toma la mejor decisión de clasificación. |
2.008 | NCNN-VT (Noisy Chaotic Neural Network with Variable Thresholds) | Red neuronal caótica ruidosa con umbrales variables. Resuelve el problema de asignación de frecuencia en las comunicaciones por satélite. Reduce la interferencia del canal entre dos sistemas de satélites reorganizando las asignaciones de frecuencia. | |
2.009 |
HRNN (Hysteretic Recurrent Meural Network ) |
Desarrollada para modelar materiales y sistemas histeréticos. Utiliza funciones de activación sigmoides conjuntas, con la capacidad de utilizar recurrencia simple para «seleccionar por sí misma» funciones de activación relevantes con un número pequeño de neuronas. | |
2.009 | SORN (self-organizing recurrent neural network). | Andreea Lazar, Gordon Pipa y Jochen Triesch | Combina tres formas distintas para aprender patrones espacio-temporales |
2.010 | HNCNN (Hysteretic Noisy Chaotic Neural Network) | Utiliza como base una NCNN y la dinámica histerética, SCSA, sin introducir parámetros adicionales y aumentando la convergencia efectiva hacia soluciones óptimas o casi óptimas a niveles altos de ruido. | |
2.010 | Tree-CRF (Dependency tree with Conditional Random Fields) | Tetsuji Nakagawa, Kentaro Inui y Sadao Kurohashi | Árbol de dependencia con campos aleatorios condicionales. |
2.011 | RAE (Recursive Autoencoders) | Richard Socher, Jeffrey Pennington, Eric H. Huang, Andrew Y. Ng y Christopher D. Manning | Autoencoders recursivos con vectores de palabras pre-entrenados. |
2.012 | MV-RNN (Matrix-Vector Recursive Neural Network ) | Richard Socher, Brody Huval, Christopher D. Manning y Andrew Y. Ng | Es una RNR que aprende representaciones semánticas de vectores de frases en una estructura en árbol. Cada palabra y frase está representada por un vector y una matriz. |
2.012 | NBSVM (Naive Bayes Support Vector Machine), MNB | Sida Wang y Christopher D. ManningNaive | Bayes SVM y Naive Bayes multinomial con uni-bigrams |
2.013 | RNTN (Recursive Neural Tensor Network) | Richard Socher, Alex Perelygin, Jean Y. Wu, Jason Chuang, Christopher D. Manning, Andrew Y. Ng y Christopher Potts | Se utiliza para el procesamiento del lenguaje natural. Tienen una estructura en árbol con una red neuronal en cada nodo. |
2.013 | CCAE (Combinatorial Category Autoencoders) | Karl Moritz Hermann y Phil Blunsom | Combinatorial Category Autoencoders. Autoencoders de categoría combinatoria con combinatoria operadores de gramática de categoría |
2.014 | CRF-PR (Conditional Random Fields with Posterior Regularization) | Claire Cardie y Xiaofeng Yang | Campos aleatorios condicionales con regularización posterior. |
2.014 | NTM (Neural Turing machine) | Alex Graves, Greg Wayne e Ivo Danihelka | Extiende las redes RNR y las acopla a memorias externas de acceso directo. |
2.014 | CRF-PR | Claire Cardie y Xiaofeng Yang | Conditional Random Fields with Posterior Regularization. Campos aleatorios condicionales con regularización posterior. |
2.014 | AdaRNN (Adaptive Recursive Neural Network) |
Li Dong, Furu Wei, Chuanqi Tan, Duyu Tang, Ming Zhou y Ke Xu | Red Neural Recursiva Adaptativa. Nace con la intención de transmitir el sentimiento de las palabras para orientar la frase según el contexto y las relaciones sintácticas entre ellas. |
2.015 | RM-SORN «A Reward-Modulated Self-Organizing Recurrent Neural Network” | Witali Aswolinskiy y Gordon Pipa | Aprende a través de la interacción de la Plasticidad intrínseca (IP) y la plasticidad dependiente de la puntualidad (STDP). |
2.016 | HDNN (Harnessing Deep Neural Networks) | Zhiting Hu, Xuezhe Ma y Zhengzhong Liu | Proponen una mejora de las RNR y CNN combinando representaciones simbólicas y métodos neuronales. |
2.018 | MIST RNN Mixed History Recurrent Neural Networks | Robert DiPietro, Christian Rupprecht, Nassir Navab y Gregory D. Hager | Proponen un nuevo modelo que dicen mejoran a LSTM y NARX |
2.018 | DNN- FC- CRF | Chengjiang Long, Roddy Collins, Eran Swears y Anthony Hoogs | Deep Neural Networks In Fully Connected CRF. Es un método de campo aleatorio condicional totalmente conectado (CRF), donde cada nodo es una imagen y consta de dos redes neuronales convolucionales (CNN) profundas y una red neuronal recurrente (RNR) que modelan el nodo textual e información de la imagen. |
Tipos de estructura en las RNA:
- Autoasociativa. La red aprende de manera que ante una entrada responde con la información que más se le parece.
- Heteroasociativa. La red aprende con parejas de datos, cuando se presenta cierta información de entrada debe responder generando la correspondiente salida asociada a su par.
- Monocapa. Una sola capa de neuronas.
- Multicapa. Varias capas de neuronas.
- Conexión hacia adelante.La salida de una neurona nunca es entrada de neuronas del mismo nivel o precedentes.
- Conexión hacia atrás. La salida de una neurona es entrada de neuronas del mismo nivel ó precedentes.
Agrupación básica de las RNA

Aprendizaje de las Redes Neuronales Artificiales.

Como dijimos anteriormente, las RNA son sistemas adaptativos complejos que puede cambiar su estructura interna en función de la información que pasa por ella, esto implica modificar las acciones que realizan en la entrada / proceso / salida y para ello necesitamos ajustar los pesos (w) y distinguir los datos de las muestras y encontrar características comunes entre ellas. Este es el objetivo fundamental, encontrar la configuración de pesos que corresponda al mínimo global de la función de error, aunque sería suficiente encontrar un mínimo local lo suficientemente bueno, para ello se utiliza el método del Gradiente Descendente. Los algoritmos más comunes utilizados en las RNA para el aprendizaje son el BP (Backpropagation), BPTT (Retrocesión a través del tiempo) y el RTRL (Aprendizaje recurrente en tiempo real), el resto se pueden clasificar como el de una estrategia intermedia o híbrida que combina las mejores características de los anteriores.
Well, I thought that hispanics are far away on these issues. It has been difficult for me to translate it, but it has a good level. You should continue expanding some sections.