Neural Networks/es
| Article | |
|---|---|
| Topic area | Deep Learning |
| Difficulty | Introductory |
Las redes neuronales (tambien llamadas redes neuronales artificiales o RNA) son modelos computacionales inspirados en la estructura de los sistemas nerviosos biologicos. Consisten en capas interconectadas de unidades de procesamiento simples denominadas neuronas (o nodos) y constituyen la base del aprendizaje profundo moderno.
Inspiracion biologica
La neurona biologica recibe senales electricas a traves de sus dendritas, las integra en el cuerpo celular y, si la senal combinada supera un umbral, emite una senal de salida a lo largo de su axon hacia las neuronas posteriores. Las redes neuronales artificiales abstraen este proceso: cada neurona artificial calcula una suma ponderada de sus entradas, anade un termino de sesgo y pasa el resultado a traves de una funcion de activacion no lineal.
Aunque la analogia con la biologia motivo la investigacion temprana, las redes neuronales modernas se entienden mejor como aproximadores de funciones parametrizados y flexibles, mas que como simulaciones fieles del cerebro.
El perceptron
El perceptron, introducido por Frank Rosenblatt en 1958, es la red neuronal mas simple. Calcula:
- $ y = \sigma\!\left(\sum_{i=1}^{n} w_i x_i + b\right) = \sigma(\mathbf{w}^\top \mathbf{x} + b) $
donde $ \mathbf{x} $ es el vector de entrada, $ \mathbf{w} $ son los pesos aprendibles, $ b $ es un sesgo y $ \sigma $ es una funcion escalon que produce 1 si el argumento es positivo y 0 en caso contrario. El perceptron puede aprender cualquier funcion linealmente separable, pero notoriamente no puede representar la funcion XOR — una limitacion que detuvo la investigacion en redes neuronales durante mas de una decada.
Redes prealimentadas
Una red neuronal prealimentada (tambien llamada perceptron multicapa o MLP) apila multiples capas de neuronas. La informacion fluye en una sola direccion — desde la capa de entrada a traves de una o mas capas ocultas hasta la capa de salida.
Para una red con una capa oculta, el calculo es:
- $ \mathbf{h} = g(\mathbf{W}_1 \mathbf{x} + \mathbf{b}_1) $
- $ \mathbf{y} = f(\mathbf{W}_2 \mathbf{h} + \mathbf{b}_2) $
donde $ g $ y $ f $ son funciones de activacion, $ \mathbf{W}_1, \mathbf{W}_2 $ son matrices de pesos y $ \mathbf{b}_1, \mathbf{b}_2 $ son vectores de sesgo. La capa oculta permite a la red aprender relaciones no lineales que un unico perceptron no puede capturar.
Las redes con muchas capas ocultas se denominan redes neuronales profundas, y su entrenamiento es el tema del aprendizaje profundo.
Funciones de activacion
La funcion de activacion introduce no linealidad; sin ella, una red multicapa se reduciria a una unica transformacion lineal. Las opciones comunes incluyen:
| Funcion | Formula | Rango | Notas |
|---|---|---|---|
| Sigmoide | $ \sigma(z) = \frac{1}{1+e^{-z}} $ | (0, 1) | Historicamente popular; sufre de gradientes que se desvanecen |
| Tanh | $ \tanh(z) = \frac{e^z - e^{-z}}{e^z + e^{-z}} $ | (−1, 1) | Centrada en cero; aun se satura para entradas grandes |
| ReLU | $ \max(0, z) $ | [0, ∞) | Opcion predeterminada en redes modernas; puede causar "neuronas muertas" |
| Leaky ReLU | $ \max(\alpha z, z) $ para $ \alpha > 0 $ pequeno | (−∞, ∞) | Aborda el problema de las neuronas muertas |
| Softmax | $ \frac{e^{z_i}}{\sum_j e^{z_j}} $ | (0, 1) | Utilizada en la capa de salida para clasificacion multiclase |
Teorema de aproximacion universal
El teorema de aproximacion universal (Cybenko 1989, Hornik 1991) establece que una red prealimentada con una unica capa oculta que contenga un numero finito de neuronas puede aproximar cualquier funcion continua en un subconjunto compacto de $ \mathbb{R}^n $ con precision arbitraria, siempre que la funcion de activacion satisfaga condiciones suaves (por ejemplo, que sea no constante, acotada y continua).
Este teorema garantiza la existencia de una buena aproximacion pero no dice nada sobre como encontrarla — en la practica, entrenar redes profundas con muchas capas es mucho mas efectivo que utilizar una unica capa ancha.
Vision general del entrenamiento
El entrenamiento de una red neuronal implica:
- Definir una funcion de perdida — una medida de cuan lejos estan las predicciones de la red de los objetivos verdaderos (vease Loss Functions).
- Pasada hacia adelante — calcular la salida de la red para una entrada dada propagando los valores capa por capa.
- Pasada hacia atras (backpropagation) — calcular el gradiente de la perdida con respecto a cada peso aplicando la regla de la cadena en orden inverso a traves de la red (vease Backpropagation).
- Actualizacion de parametros — ajustar los pesos utilizando un algoritmo de optimizacion como el descenso de gradiente o alguna de sus variantes.
- Iteracion — repetir los pasos 2–4 durante muchas pasadas (epocas) sobre los datos de entrenamiento.
Un entrenamiento exitoso tambien requiere atencion a la inicializacion (por ejemplo, esquemas de Xavier o He), la regularizacion (para prevenir el sobreajuste) y el ajuste de hiperparametros (tasa de aprendizaje, tamano de lote, arquitectura de la red).
Arquitecturas comunes
Mas alla de la red prealimentada basica, se han desarrollado varias arquitecturas especializadas:
- Convolutional Neural Networks (CNN) — disenadas para datos con estructura de cuadricula como imagenes, utilizando conectividad local y comparticion de pesos.
- Recurrent Neural Networks (RNN) — disenadas para datos secuenciales, con conexiones que forman ciclos para mantener un estado oculto.
- Transformers — arquitecturas basadas en atencion que se han convertido en dominantes en el procesamiento del lenguaje natural y cada vez mas en vision.
- Autoencoders — redes entrenadas para reconstruir su entrada, utilizadas para reduccion de dimensionalidad y modelado generativo.
- Redes generativas adversarias (GAN) — pares de redes (generador y discriminador) entrenadas en competencia para generar datos realistas.
Aplicaciones
Las redes neuronales se aplican en una amplia gama de dominios:
- Vision por computador (clasificacion de imagenes, deteccion de objetos, segmentacion)
- Procesamiento del lenguaje natural (traduccion, resumen, respuesta a preguntas)
- Reconocimiento y sintesis de voz
- Juegos (AlphaGo, agentes de Atari)
- Descubrimiento cientifico (plegamiento de proteinas, diseno de farmacos, prediccion meteorologica)
- Vehiculos autonomos y robotica
Vease tambien
- Gradient Descent
- Backpropagation
- Loss Functions
- Convolutional Neural Networks
- Recurrent Neural Networks
- Overfitting and Regularization
Referencias
- Rosenblatt, F. (1958). "The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain". Psychological Review.
- Cybenko, G. (1989). "Approximation by Superpositions of a Sigmoidal Function". Mathematics of Control, Signals, and Systems.
- Hornik, K. (1991). "Approximation Capabilities of Multilayer Feedforward Networks". Neural Networks.
- LeCun, Y., Bengio, Y. and Hinton, G. (2015). "Deep learning". Nature, 521, 436–444.
- Goodfellow, I., Bengio, Y. and Courville, A. (2016). Deep Learning. MIT Press.