Funciones de activación en las redes profundas
Summary
TLDREn este video, se explora el rol crucial de las funciones de activación en las redes neuronales. Se destaca que, aunque las combinaciones lineales son fundamentales en la calculación de la salida de una neurona, el uso exclusivo de estas combinaciones restringiría el modelo a ser lineal. Por ello, las funciones de activación, como la sigmoide y la tangente hiperbólica, son esenciales para introducir no linealidad, permitiendo a la red representar funciones más complejas. Además, se discuten las ventajas y desventajas de estas funciones, incluyendo el problema del desvanecimiento del gradiente. Se presenta la función ReLU (Rectified Linear Unit) como una solución eficiente a este problema, destacando su capacidad para mejorar el entrenamiento de redes neuronales profundas en tareas como la visión computacional. Finalmente, se resalta que la elección de la función de activación depende del problema específico y que lo más recomendable es probar diferentes funciones para encontrar la más adecuada.
Takeaways
- 🧠 La función de activación es necesaria en las redes neuronales para romper la linealidad de los productos punto y permitir la representación de funciones más complejas.
- 📈 La función sigmoide es utilizada en la regresión logística y su dominio de salida es entre 0 y 1, lo que la hace adecuada para problemas de clasificación binaria.
- 📉 La tangente hiperbólica amplía el rango de salida entre -1 y 1, lo que puede ser útil para problemas que requieren un rango más amplio de valores.
- 🔍 El problema del desvanecimiento del gradiente ocurre cuando los gradientes se vuelven muy pequeños a medida que se retropropagan a través de las capas de la red, lo que dificulta el entrenamiento.
- 🚀 La función de activación ReLU (Rectified Linear Unit) tiene propiedades que mitigan el problema del desvanecimiento del gradiente y es especialmente útil en redes con muchas capas.
- ➡️ La elección de la función de activación depende del problema en particular y no hay una regla estricta sobre cuál es la mejor opción; es una decisión empírica.
- 🤖 Las funciones de activación son fundamentales para el funcionamiento de las redes neuronales, ya que definen cómo las neuronas reaccionarán ante diferentes niveles de activación.
- 📊 La gráfica de la función de activación muestra su comportamiento y cómo se desplaza el equilibrio para representar diferentes rangos de salida.
- 🔢 La función sigmoide, aunque útil, tiene la limitación de limitar los valores de salida entre 0 y 1, lo que puede no ser ideal para todos los tipos de problemas.
- 📌 La función ReLU es simple en su definición y se ha popularizado debido a su efectividad en la extracción de características en redes neuronales profundas.
- 🔧 El ajuste de los pesos en las redes neuronales se ve afectado por el gradiente calculado, el cual es influenciado directamente por la elección de la función de activación.
Q & A
¿Por qué son necesarias las funciones de activación en las redes neuronales?
-Las funciones de activación son necesarias porque permiten romper la linealidad de las combinaciones lineales y darle a la red neuronal la capacidad de representar funciones más complejas.
¿Qué sucede si solo se utilizan combinaciones lineales en una red neuronal?
-Si solo se utilizan combinaciones lineales, incluso con múltiples capas, el resultado sigue siendo lineal y se podría representar como una sola capa, lo que limita la capacidad de la red para aprender funciones complejas.
¿Cuál es la función de activación más utilizada en la regresión logística?
-La función de activación más utilizada en la regresión logística es la función sigmoide.
¿Cómo se define la función sigmoide y cuál es su rango de salida?
-La función sigmoide se define como 1 / (1 + e^(-x)) y su rango de salida está entre 0 y 1.
¿Qué función de activación se utiliza cuando se desea un rango de salida más amplio que el sigmoide?
-Cuando se desea un rango de salida más amplio que el sigmoide, se utiliza la función tangente hiperbólica (tanh).
¿Cómo se define la función de activación tangente hiperbólica y cuál es su rango de salida?
-La función de activación tangente hiperbólica se define como (e^(x) - e^(-x)) / (e^(x) + e^(-x)) y su rango de salida está entre -1 y 1.
¿Qué es el problema del desvanecimiento del gradiente y cómo afecta el entrenamiento de una red neuronal?
-El problema del desvanecimiento del gradiente ocurre cuando los gradientes se van haciendo más pequeños a medida que se utiliza el algoritmo de retropropagación, lo que hace que el ajuste de los pesos sea muy lento y dificulte el entrenamiento, especialmente en capas profundas de la red.
¿Cuál es una función de activación que ayuda a mitigar el problema del desvanecimiento del gradiente?
-La función de activación ReLU (Rectified Linear Unit) ayuda a mitigar el problema del desvanecimiento del gradiente al mantener una pendiente constante de 1 para valores positivos.
¿Cómo se define la función de activación ReLU y cuál es su ventaja principal?
-La función de activación ReLU se define como max(0, x). Su ventaja principal es que para valores positivos, mantiene una pendiente de 1, lo que ayuda a evitar el desvanecimiento del gradiente y permite un entrenamiento más rápido.
¿En qué tipo de problemas funciona mejor la función de activación ReLU?
-La función de activación ReLU funciona mejor en problemas de visión computacional y en redes neuronales con muchas capas, como las redes neuronales convolucionales.
¿Cómo se debe seleccionar la función de activación en una red neuronal?
-La selección de la función de activación depende en gran medida de la experiencia empírica y del problema específico que se esté abordando. No existe una regla clara, pero en general, algunas funciones como la sigmoide, la tangente hiperbólica y la ReLU son comunes y han demostrado buen desempeño en diferentes situaciones.
Outlines
😀 Introducción a las funciones de activación en redes neuronales
Este primer párrafo introduce el propósito de las funciones de activación en las redes neuronales, explicando su importancia para evitar la limitación a operaciones lineales y cómo estas funciones rompen con la linealidad. Se menciona que, a pesar de tener múltiples capas, la ausencia de funciones de activación no lineales resultaría en una sola capa equivalente. Se explora la necesidad de estas funciones y se da un vistazo a su papel en la transformación de la salida de una neurona a través de una función de activación no lineal. Además, se presenta la función de activación sigmoide, destacando su utilidad en la regresión logística y su gráfica, que limita los valores de salida entre 0 y 1.
😉 Limitaciones de las funciones de activación y la tangente hiperbólica
El segundo párrafo aborda las limitaciones inherentes a las funciones de activación, como el problema del desvanecimiento del gradiente, que ocurre durante el proceso de retropropagación. Se describe cómo los gradientes se vuelven más pequeños a medida que se multiplican a través de las capas, lo que puede ralentizar el entrenamiento. Para superar esta limitación, se introduce la función de activación tangente hiperbólica, la cual tiene un rango de salida entre -1 y 1, lo que permite una mayor amplitud de valores y suelen funcionar mejor en problemas de visión computacional y redes neuronales recurrentes. Sin embargo, se deja en claro que no existe una regla estricta sobre cuál función de activación es mejor, ya que depende del problema específico.
😌 La función de activación ReLU y su impacto en el entrenamiento
El tercer párrafo examina la función de activación ReLU (Rectified Linear Unit), que ha demostrado ser eficaz en la reducción del problema del desvanecimiento del gradiente. Se define la función y se discute su gráfica, destacando que para valores negativos, la función tiene un gradiente de 0, y para valores positivos, mantiene una pendiente de 1. Esta característica permite un entrenamiento más rápido de la red, especialmente en problemas de visión computacional y en redes con muchas capas, como las redes neuronales convolucionales. Además, se menciona que la elección de la función de activación depende del problema en cuestión y que, en general, las funciones presentadas son las que mejor funcionan en la práctica.
Mindmap
Keywords
💡Funciones de activación
💡Redes neuronales
💡Linealidad
💡Regresión logística
💡Sigmoide
💡Tangente hiperbólica
💡Desvanecimiento del gradiente
💡ReLU (Rectified Linear Unit)
💡Aprendizaje profundo
💡Pesos
💡Redes neuronales recurrentes
Highlights
Sesión dedicada a entender el papel de las funciones de activación en las redes neuronales.
Funciones de activación son necesarias para romper con la linealidad y permitir la representación de funciones más complejas.
La combinación lineal de pesos y entradas más el sesgo en una neurona puede representarse como una sola capa si no hay otras operaciones.
La regresión logística utiliza la función sigmoide, que tiene un rango de salida entre 0 y 1.
La función sigmoide es útil en problemas de clasificación binaria y su gráfica muestra una curva suave que se acerca a 0 y 1.
La función tangente hiperbólica expande el rango de salida entre -1 y 1, lo que puede ser más adecuado para ciertos problemas.
La función de activación ReLU (Rectified Linear Unit) fue introducida por Nair y Hinton en 2010 y ayuda a disminuir el problema del desvanecimiento del gradiente.
La función ReLU es definida como el máximo entre 0 y x, y su gráfica muestra una pendiente de 1 para valores positivos de x.
Las funciones de activación como ReLU son especialmente útiles en redes neuronales profundas y para problemas de visión computacional.
El problema del desvanecimiento del gradiente ocurre cuando los gradientes se vuelven muy pequeños a medida que se retropropagan a través de las capas.
La elección de la función de activación depende del problema en cuestión y no hay una regla estricta para decidir cuál es la mejor.
Las funciones de activación son esenciales para la capacidad de las redes neuronales para modelar relaciones no lineales.
La función sigmoide es adecuada para la regresión logística debido a su rango de salida limitado entre 0 y 1.
La función tangente hiperbólica es más adecuada para problemas de visión computacional y redes neuronales recurrentes.
La función ReLU es simple y efectiva, y su implementación es común en modelos de redes neuronales modernas.
Las funciones de activación son un componente clave en el diseño y el rendimiento de las redes neuronales.
La sesión concluye con una revisión de las funciones de activación y su importancia en el aprendizaje profundo.
Transcripts
hola estimados estudiantes en esta
sesión lo que vamos a ver es como seguro
ya lo vieron en el título las funciones
de activación y lo que vamos a ver es
qué rol es el que están fungiendo dentro
de las redes neuronales
también veremos algunos tipos de
funciones de activación y pues algunos
consejos de cuando aplicarlas así es que
pues vamos al contenido
y lo primero es que veamos por qué
necesitamos estas funciones de
activación vamos a recordar un poco qué
es lo que está pasando dentro de una
neurona de la red
y entonces lo que podemos recordar es
que el ojito se calcula como ya lo hemos
visto en sesiones pasadas
como una combinación lineal
de los pesos con las entradas más el
sesgo pues tenemos una combinación línea
esto estaría representado dentro de una
sola neurona pero podríamos tener
múltiples neuronas
y entonces cada uno de los resultados de
estas neuronas pasarían
a su vez por cada una de las capas así
tengamos n capas y resulta que si
nosotros aplicamos únicamente estas
combinaciones lineales a pesar de que
tengamos varias capas el resultado sigue
siendo lineal la demostración no la
vamos a poner aquí pero existe la
demostración y por aquí voy a poner la
referencia y entonces
podríamos representar una serie de capas
como una sola capa si es que no hacemos
otras operaciones que no sean esta
operación lineal básica que nosotros
estamos especificando por lo tanto
es necesario que tengamos ciertas
funciones que rompan con la linealidad
de esta representación o de este modelo
y entonces pues es ahí donde entran las
funciones de activación por lo tanto ya
la salida de una neurona ya no es sólo
el ojito sino tenemos una función de
activación que recibe ese lógico
entonces esta función efe que nosotros
estamos especificando es la función de
activación y debe ser no lineal dicho
eso pues vamos a pasar a ver algunos
ejemplos y el primero es el de la
regresión logística entonces recordemos
que la regresión la logística la
resolvemos con la cig moi de pongamos
por acá
sigmoide
y esta función se mueve
tenemos como una función que que recibe
x que se define como uno entre uno más a
la menos x
esta es la definición sigmoide y por lo
tanto lo que tenemos como entrada es que
recibe el valor x
bueno podemos poner ahí h pero y te
estamos colocando x
entonces el lógico pasa por esta función
no lineal y da la salida de ella bueno
entonces estamos trasladando la equis
hacia un nuevo dominio para graficar la
pues vamos a traerla de algún lado y la
vamos a pegar aquí en 321 y listo
tenemos aquí nuestra gráfica de la
función sigma
entonces lo que podemos observar es que
el valor de los hits pues puede estar
aquí dentro de las artistas de esta
gráfica entonces podemos tener pues todo
el dominio completo de los números
reales aquí para nuestro logic sin
embargo ya lo que estamos limitando es
el dominio de la función es decir cuál
va a ser el resultado de pasar por esta
función de activación y entonces podemos
ver que pues ya las salidas de la
función de activación sólo van a estar
entre 0 y 1 y es por eso que se usa
también dentro de la regresión logística
porque ya nos está entregando valores de
0 que serían o activado y uno que sería
activado también lo que podemos observar
es que tenemos un
intervalo en el cual la función no es
precisamente cercana a 1 cercana a hacer
que y entonces esto es el intervalo que
podemos tener aquí en donde va a pasar
desde 0 hasta 1 podemos también analizar
qué pues independencia de cuál sea el
valor de lógico que resulta de la
combinación lineal que viene de la
neurona vamos a poner que estamos por
aquí el ojito entonces podemos tener un
valor en nuestra función de activación
al momento que nosotros calculamos el
gradiente
vamos a tener algo así si lo que
deseamos es que este valor se vaya a
cero entonces sabemos que debemos de
mover
nuestros pesos para un lado si deseamos
que entonces el valor de salida se vaya
hacia uno juntos tenemos que mover los
valores de los pesos hacia el otro lado
entonces estos estos puntos
nos van a servir para que el gradiente
nos indique hacia dónde tenemos que
ajustar los pesos para que podamos
obtener la salida adecuada por pues esto
pero bueno pues podemos ver también que
tiene ciertas limitaciones y en algunos
casos no queremos simplemente que
nuestra función esté limitada entre 0 y
1 sino tal vez nos conviene un rango un
poco más amplio entonces para eso existe
la función que se denomina tangente
hiperbólica sólo la voy a representar
con
h no me la sé de memoria así es que pues
utilicemos la documentación de pai torch
entonces vamos a definir nuestra función
efe de x como
a la x - al menos x
entre a la x más de al menos x
y entonces esa es nuestra definición de
nuestra función de activación tangente
hiperbólica y tiene una particularidad
lo vamos a ver a través de la gráfica
y listo aquí tenemos nuestra gráfica
vamos a pasarla
ok lo que podemos observar de esta
tangente y por bolt y acá es que ahora
el co dominio de la función o podemos
decir a dónde va el resultado de nuestra
función
está entre menos uno y uno entonces
expandimos hacia dónde van los
resultados de nuestra función de activa
por lo tanto la salida de cada neurona
que nosotros
coloquemos con esta función de
activación pues va a tener salidas entre
menos uno y uno estamos ampliando un
poco ese intervalo en el cual están
funcionando nuestras redes neuronales
y digamos que de forma empírica suele
funcionar mejor esta función tangente
hiperbólica para problemas de
visión computacional este de redes
neuronales recurrentes bueno pero si ya
y éste no hay una regla dura que diga
que va a funcionar mejor una u otra
función de activación ahora un problema
común para estas dos funciones de
activación es el problema del
desvanecimiento del gradiente y esto va
a pasar cuando nosotros estamos
utilizando el algoritmo de retro
propagación en donde pues ya los
gradientes como se van multiplicando en
cada una de esas capas conforme vamos
llegando hacia el inicio pues se van
haciendo más pequeños porque estos
valores son menores a cero y además
también podemos ver
y vamos a suponer que
nosotros tenemos pues un valor de lógica
por acá y el resultado de nuestra
función de activación está por acá
y lo que nosotros deseamos es que en
realidad el resultado de esta función de
activación esté
aquí en -1 no ahorita no está dando un 1
porque se está activando pero en
realidad nosotros que decimos que no se
active para este valor de entrada que es
lo que estaría pasando es que pues se
calcula aquí cuál es el gradiente pero
ese gradiente está en una superficie que
es casi plana por lo tanto el valor que
estamos calculando del creyente va a ser
cercano a 0 muy cercano a 0 y entonces
el movimiento para ajustar nuestro peso
pues va a ser muy pequeñito
no tanto si estuviéramos por ejemplo por
acá porque sabemos que si queremos irnos
para el otro lado pues este gradiente es
mayor recordemos que agredirte es como
la pendiente entonces aquí nos vamos a
ver rápido en estos puntos nos vamos a
ver más lento
entonces pues vamos a tener problemas
para estar entrenando este tipo de revés
cuando ya son muy grandes para eso pues
vamos a ver una tercera función de
activación que sería la reloj
o rectifique dinero y unit en inglés
este tipo de funciones de activación
aparece en este paper de nair y hinton
el 2010
en 2010 en esta conferencia
bueno pues resulta que
tiene ciertas propiedades que disminuyen
este
desvanecimiento del gradiente y entonces
bueno ahí está el paper para que le den
una revisada después con más detalle
de hecho estás este
este tipo de funciones de activación ya
se utilizaron en lo que fue álex net y
que pues bueno ya sabemos que fue toda
todo un evento de esta red de álex
bueno
podemos definir esta función de
activación como
efe de x es igual a el máximo en 30 y x
entonces es una definición bastante
sencilla
y pues bueno vamos a poner su gráfica
y listo vamos a vamos a verle para acá
entonces tenemos
esta función de activación reloj y si
nosotros analizamos qué es lo que está
pasando pues podemos ver que para esta
parte del dominio de la función pues
tenemos
el valor de salida cómo hacer que
entonces todo lo que esté de un lado lo
que estamos haciendo es ponerlo a cero
es decir no se está activando nuestra
neurona
por otro lado cuando el valor de entrada
de la función es positivo pues lo que
devolvemos en la función es ese mismo
valor que entonces tenemos aquí una
pendiente igual a 1 y esto éste se
mantiene para todos los valores que
podamos tener aquí hacia la derecha
entonces podemos ver que a pesar de que
nos encontremos lejos de este valor
central de 0 pues podemos saber cuál es
ese gradiente en todo momento y entonces
esto va a hacer que podamos entrenar la
red más rápido
entonces bueno pues el resultado de esta
tercera función de activación es que
funciona muchísimo mejor para problemas
de visión computacional y para los
problemas donde tenemos bastantes capas
porque sobre todo en la extracción de
características funciona bastante bien y
en las redes neuronales convolución al
es para algunas redes
recurrentes funcionan mejor que las
otras funciones de activación previas ya
sea para que tipper bolita o sigmoide
bueno hasta aquí vamos a dejarle con la
revisión de estas funciones de
activación pero bueno lo que podemos
tener como
síntesis es que estas funciones de
activación nos permiten romper con la
linealidad que tienen los productos
punto y entonces eso hace que podamos
representar funciones más complejas que
le damos capacidad a nuestra red
neuronal de representar funciones no
lineales la selección de ésta
función de activación pues no hay una
regla clara de cuál es la que debemos
seleccionar es una cosa también empírica
que depende mucho del problema que se
esté atacando pero en general digamos
que estas son las que éste funcionan
mejor en la práctica así es que bueno
pues aquí vamos a dejarle a esta sesión
rápida y nos veríamos en otra sesión con
estos temas de redes neuronales y
aprendizaje profundo
5.0 / 5 (0 votes)