Construyendo Funciones de Activación para Redes Profundas

Funciones de Activación para Redes Profundas

Imagen generada por IA (craiyon)

Un componente básico de una red neuronal profunda es la función de activación (AF) – una función no lineal que da forma a la salida final de un nodo (“neurona”) en la red. Las funciones de activación comunes incluyen sigmoidal, tangente hiperbólica (tanh) y unidad lineal rectificada (ReLU).

Más a menudo que no, los constructores de redes desarrollarán nuevos algoritmos de aprendizaje, arquitecturas, etc., mientras siguen usando AFs estándar.

En dos trabajos recientes me he centrado en las AFs, preguntándome qué pasaría si las cambiáramos.

En “Redes neuronales con selección a la carta de funciones de activación”, combiné una serie de AFs conocidas en arquitecturas de redes exitosas. Lo hice utilizando Optuna, un software de optimización automática de hiperparámetros de última generación.

Entonces, ¿qué tienen que ver los hiperparámetros con las AFs? Bueno, en última instancia, depende de ti, el programador, definir qué constituye un hiperparámetro. “Le di” a Optuna una lista de 48 posibles AFs de PyTorch:

Algunos de estos están “oficialmente” definidos como AFs (por ejemplo, ReLU y Sigmoid), mientras que los otros son simplemente funciones matemáticas sobre tensores (por ejemplo, Abs y Sin). Como medida adicional, también agregué 4 nuevas AFs que encontré en la literatura de investigación.

Se le dio a Optuna esta lista para tratarla como hiperparámetros. Más precisamente, ejecuté Optuna con redes neuronales de 5 capas y con redes neuronales de 10 capas, y la tarea de Optuna era encontrar la lista de 5 o 10 AFs que funcionara mejor, respectivamente.

Pude demostrar que este método a menudo producía resultados significativamente mejores para 25 problemas de clasificación, en comparación con una red estándar compuesta por unidades ocultas ReLU y una unidad de salida softmax.

En “Evolución de las funciones de activación para la clasificación de imágenes basada en aprendizaje profundo”, mi estudiante de posgrado Raz Lapid y yo investigamos la generación de nuevas AFs. Utilizamos la programación genética, una forma potente de algoritmo evolutivo, donde los grafos evolucionan en un proceso que simula la evolución por selección natural.

Por ejemplo, el siguiente grafo:

representa la conocida AF sigmoidal.

Se le dio al algoritmo evolutivo un conjunto de primitivas, a partir de las cuales componer nuevas AFs:

Como puedes ver, utilizamos como bloques básicos de construcción AFs estándar, así como funciones matemáticas básicas, dejando suelta la evolución para descubrir combinaciones novedosas – posiblemente potentes. Estas últimas combinaciones fueron las nuevas AFs.

También aplicamos otra “trampa” evolutiva, utilizando tres poblaciones de AFs en evolución, en lugar de una; esto se conoce como coevolución. La idea era tener una población de AFs para la capa de entrada, otra población para las AFs de la capa de salida y una tercera población para todas las AFs de las capas ocultas. Razonamos que esto tenía sentido en lo que respecta a las redes neuronales:

Probamos nuestro método en cuatro conjuntos de datos de imágenes y descubrimos que la coevolución (y la evolución “regular”) funcionaron bastante bien, capaces de encontrar buenas AFs que mejoraron el rendimiento de la red en comparación con las AFs estándar. Además, nuestro uso de diferentes AFs en diferentes etapas de la red resultó beneficioso.

Si quieres aprender más sobre la evolución, te remito a algunas de mis otras historias de VoAGI:

Algoritmos Evolutivos, Programación Genética y Aprendizaje

Los algoritmos evolutivos son una familia de algoritmos de búsqueda inspirados en el proceso de evolución (darwiniana) en la Naturaleza…

VoAGI.com

Ataques Adversarios Evolutivos en Redes Profundas

A pesar de su éxito indiscutible, estudios recientes han demostrado que las Redes Neuronales Profundas (DNNs) son vulnerables a…

VoAGI.com

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Esta investigación de IA presenta Photo-SLAM Elevando el mapeo fotorealista en tiempo real en dispositivos portátiles

En visión por computadora y robótica, la localización y mapeo simultáneos (SLAM, por sus siglas en inglés) con cámara...

Ciencia de Datos

La Inteligencia Artificial ayuda a mostrar cómo fluyen los líquidos del cerebro.

Un equipo de científicos creó mediciones de velocimetría basadas en inteligencia artificial para cuantificar el flujo...

Inteligencia Artificial

Sorprendente descubrimiento magnético revelado en el grafeno de ángulo mágico

Los imanes y los superconductores normalmente no se llevan bien, pero un nuevo estudio muestra que el grafeno de 'áng...

Inteligencia Artificial

Investigadores de Microsoft proponen PIT (Transformación Permutación Invariante) un compilador de aprendizaje profundo para la escasez dinámica.

Recientemente, el aprendizaje profundo se ha caracterizado por un aumento en la investigación orientada a optimizar m...

Inteligencia Artificial

Simplifica la preparación de datos para la IA generativa con Amazon SageMaker Data Wrangler

Los modelos de inteligencia artificial generativa (IA generativa) han demostrado impresionantes capacidades para gene...

Aprendizaje Automático

Ajusta de forma interactiva Falcon-40B y otros LLMs en los cuadernos de Amazon SageMaker Studio utilizando QLoRA.

Ajustar modelos de lenguaje grandes (LLMs) permite adaptar modelos fundamentales de código abierto para lograr un mej...