Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Texto principal
Modelos de red neuronal de la función cerebral.
Una red neuronal avanzada se llama " profunda " cuando tiene más de una
capa oculta. El término también se utiliza en un sentido gradual, en el que la
profundidad denota el número de capas. Hemos visto anteriormente que
incluso las redes neuronales poco profundas , con una sola capa oculta, son
aproximadores de funciones universales. ¿Cuál es, entonces, la ventaja de las
redes neuronales profundas ?
Las redes neuronales profundas pueden reutilizar las características
computadas en una capa oculta dada en capas ocultas más altas. Esto permite
que una red neuronal profunda explote la estructura de la composición en una
función y se aproxime a muchas funciones naturales con menos pesos y
unidades. Mientras que una red neuronal superficial debe reconstruir la
función que se aproxima, como una tabla de búsqueda (aunque las piezas se
superponen y suman), una red neuronal profunda puede beneficiarse de su
estructura jerárquica. Una arquitectura más profunda puede aumentar la
precisión con la que se puede aproximar una función a un presupuesto fijo de
parámetros y puede mejorar la generalización después de conocer nuevos
ejemplos.
El aprendizaje profundo se refiere a la determinación automática de
parámetros profundos en una red sobre la base de la experiencia (datos). Las
redes neuronales con múltiples capas ocultas son una idea antigua y fueron un
tema popular en ingeniería y ciencia cognitiva en la década de los
ochenta. Aunque las ventajas de las arquitecturas profundas se entendían en
teoría, el método no se dio cuenta de su potencial en la práctica,
principalmente debido a la insuficiente capacidad de cálculo y los datos para
el aprendizaje. Técnicas de aprendizaje de máquinas poco profundas, como las
máquinas de vectores de soporte, funcionó mejor en la práctica y también se
prestó a un análisis matemático más riguroso. El reciente éxito del aprendizaje
profundo se debe a un aumento en el poder de cómputo, en particular la
llegada de unidades de procesamiento de gráficos, GPUs, hardware
especializado para la rápida matriz-multiplicación de matrices, y conjuntos de
datos a escala web para aprender. Además, las técnicas mejoradas para el
entrenamiento previo, inicialización, regularización y normalización, junto
con la introducción de unidades lineales rectificadas, han ayudado a mejorar el
rendimiento. El trabajo reciente ha explorado una amplia variedad de
arquitecturas de redes avanzadas y recurrentes, mejorando el estado del arte en
varios dominios de inteligencia artificial y estableciendo el aprendizaje
profundo como un elemento central del aprendizaje automático en los últimos
años.
La función para la cual se entrena a las redes neuronales profundas es a
menudo un mapeo de patrones de entrada a patrones de salida, por ejemplo,
clasificar imágenes naturales según categorías, traducir oraciones del inglés al
francés, o predecir el clima del mañana a partir de las mediciones de
hoy. Cuando el costo minimizado por la capacitación es una medida de la falta
de coincidencia entre las salidas de la red y las salidas deseadas (es decir, el
'error'), para un conjunto de capacitación de casos de ejemplo, la capacitación
se denomina supervisada. Cuando el costo minimizado por la capacitación no
implica salidas deseadas previamente especificadas para un conjunto de
entradas de ejemplo, la capacitación se denomina no supervisada.
Dos ejemplos de aprendizaje no supervisado son los autocodificadores y las
redes adversas generativas. Las redes de autocodificador aprenden a
transformar los patrones de entrada en una representación latente comprimida
explotando la estructura estadística inherente. Las redes de confrontación
generativas operan en la dirección opuesta, transformando patrones aleatorios
en una representación latente en ejemplos novedosos, sintéticos de una
categoría, como imágenes falsas de habitaciones. La red de generadores se
entrena simultáneamente con una red discriminadora que aprende a elegir las
falsificaciones del generador entre los ejemplos naturales de la categoría. Las
dos redes adversas aumentan el rendimiento de cada una al plantear desafíos
cada vez más difíciles de falsificación y detección entre sí. Las redes
neuronales profundas también pueden ser entrenadas por refuerzo (aprendizaje
por refuerzo profundo),control robótico .
Ajustamos cada peso en la dirección que reduce el costo (el error) y en una
cantidad proporcional a la derivada del costo con respecto al peso. Este
proceso se denomina descenso de gradiente , porque equivale a moverse en la
dirección del espacio de peso en el que el costo disminuye de manera más
pronunciada. Para ayudar a nuestra intuición, consideremos dos enfoques que
podríamos tomar. Primero, considere el enfoque de dar un paso para reducir el
costo de cada ejemplo de capacitación individual. El descenso de gradiente
hará ajustes mínimos y selectivos para reducir el error, lo cual tiene sentido ya
que no queremos que el aprendizaje del ejemplo actual interfiera con lo que
hemos aprendido de otros ejemplos. Sin embargo, nuestro objetivo es reducir
el error general., que se define como la suma de los errores en todos los
ejemplos. Entonces, en segundo lugar, considere el enfoque de sumar las
superficies de error (o, de manera equivalente, los gradientes) en todos los
ejemplos antes de dar un paso. Aún podemos dar un pequeño paso, porque la
superficie de error no es lineal y, por lo tanto, el gradiente cambiará a medida
que nos alejemos del punto en el que linealizamos la red.
En la práctica, la mejor solución es usar pequeños lotes de ejemplos de
entrenamientopara estimar el gradiente antes de dar un paso. En comparación
con el enfoque de ejemplo único, esto nos da un sentido de dirección más
estable. En comparación con el enfoque de conjunto de entrenamiento
completo, reduce en gran medida los cálculos necesarios para dar un
paso. Aunque el enfoque de conjunto de entrenamiento completo da
gradientes exactos para el error de conjunto de entrenamiento, todavía no nos
permite dar grandes pasos, debido a la no linealidad de la función de error. El
uso de lotes es un buen compromiso entre la estabilidad de la estimación del
gradiente y el costo computacional. Debido a que la estimación del gradiente
depende de la muestra aleatoria de ejemplos en el lote actual, el método se
llama estocásticopendiente de gradiente (SGD). Más allá de la motivación que
se acaba de dar, se piensa que la estocasticidad también contribuye a encontrar
soluciones que generalicen más allá del conjunto de capacitación.
El costo no es una función convexa de los pesos, por lo que podemos estar
preocupados por atascarnos en los mínimos locales. Sin embargo, la alta
dimensionalidad del espacio de peso resulta ser una bendición (no una
maldición) para el descenso del gradiente: hay muchas direcciones para
escapar, por lo que es poco probable que alguna vez nos encontremos
atrapados, con la superficie de error aumentando en todas las direcciones . En
la práctica, son los puntos de silla de montar (donde el gradiente se desvanece)
lo que plantea un desafío mayor que los mínimos locales. Además, la función
de costo generalmente tiene muchas simetrías, y cualquier conjunto de pesos
tiene muchos gemelos computacionalmente equivalentes (es decir, el modelo
calcula la misma función general para diferentes configuraciones de
parámetros). Como resultado, aunque nuestra solución puede ser un mínimo
local entre muchos, puede que no sea un mínimo local deficiente: