3 funciones de activación en Deep Learning

| Última modificación: 29 de septiembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Las principales funciones de activación en Deep Learning son tres: la Sigmoide, la Tanh y la ReLU. Estas tres se encuentran en la cima de la pirámide de las más utilizadas, ya que son, en orden creciente, las más sencillas de emplear. Su factor más distintivo es que, a pesar de ello, su efectividad no corre peligro, por lo que puedes confiarte de un buen análisis del Big Data en Deep Learning a través de ellas.

Sin embargo, deber tener en cuenta que esto también recae en tu destreza como data scientist y en cómo se comportan tus datos procesados. Para que lo comprendas con más profundidad, en este post te presentamos tres de las principales funciones de activación en Deep Learning.

3 funciones de activación en Deep Learning

Sigmoide

La Sigmoide es la principal de las funciones de activación en Deep Learning, puesto que es la más utilizada gracias a que es la más sencilla de emplear para el análisis de los macrodatos.

Ahora, te mostramos cómo es su proceso dentro de las funciones de activación en Deep Learning:

# probamos la sigmoid
activation_function = tf.nn.sigmoid
learning_rate = 0.1
lr_decay = 1e-3
n_epochs = 10
batch_size = 128
train_network_decay_fnact(activation_function, learning_rate, lr_decay, batch_size, n_epochs)

[0] cost: 0.03613612315637044 lr: 0.0999
[1] cost: 0.006143541028071844 lr: 0.0998001
[2] cost: 0.0038131086578015163 lr: 0.0997002999
[3] cost: 0.0028054684328375525 lr: 0.0996005996001
[4] cost: 0.0022318459328672133 lr: 0.0995009990004999
[5] cost: 0.001871975824249896 lr: 0.0994014980014994
[6] cost: 0.0016054004276907258 lr: 0.0993020965034979
[7] cost: 0.0014098625009258598 lr: 0.09920279440699441
[8] cost: 0.001265944427151736 lr: 0.09910359161258742
[9] cost: 0.001140994936339601 lr: 0.09900448802097483
Entrenamiento finalizado!!
Accuracy: 0.6705

Tanh

# probamos la tanh
activation_function = tf.nn.tanh
learning_rate = 0.1
lr_decay = 1e-3
n_epochs = 10
batch_size = 128
train_network_decay_fnact(activation_function, learning_rate, lr_decay, batch_size, n_epochs)

[0] cost: nan lr: 0.0999
[1] cost: nan lr: 0.0998001
[2] cost: nan lr: 0.0997002999
[3] cost: nan lr: 0.0996005996001
[4] cost: nan lr: 0.0995009990004999
[5] cost: nan lr: 0.0994014980014994
[6] cost: nan lr: 0.0993020965034979
[7] cost: nan lr: 0.09920279440699441
[8] cost: nan lr: 0.09910359161258742
[9] cost: nan lr: 0.09900448802097483
Entrenamiento finalizado!!
Accuracy: 0.098

Su gráfica se expresaría así:

ReLU

Esta función se expresa: f(x) = max(0,x). Principalmente, en el desarrollo de esta función, podrás confiar en que no se saturará. Además, una de sus principales ventajas es que converge mucho más rápido que Sigmoide/Tanh en la práctica.

# probamos la ReLU
activation_function = tf.nn.relu
learning_rate = 0.1
lr_decay = 1e-3
n_epochs = 10
batch_size = 128
train_network_decay_fnact_b1_mse(activation_function, learning_rate, lr_decay, batch_size, n_epochs)
[0] cost: 0.048904583674349626 lr: 0.0999
[1] cost: 0.03353494863375364 lr: 0.0998001
[2] cost: 0.031159759462227068 lr: 0.0997002999
[3] cost: 0.029930923863516007 lr: 0.0996005996001
[4] cost: 0.028990925018326112 lr: 0.0995009990004999
[5] cost: 0.028483179968831714 lr: 0.0994014980014994
[6] cost: 0.027880319999856566 lr: 0.0993020965034979
[7] cost: 0.027376772123790583 lr: 0.09920279440699441
[8] cost: 0.027265699866872568 lr: 0.09910359161258742
[9] cost: 0.02697569243219142 lr: 0.09900448802097483
Entrenamiento finalizado!!
Accuracy: 0.8351

Otra de las funciones de activación en Deep Learning

Leaky RELU

Esta función de Leaky RELU no se satura, es computacionalmente eficiente y, además, converge mucho más rápido en la práctica que las funciones de activación en Deep Learning de Sigmoid y Tanh.

# probamos la Leaky ReLU, bias = 1 y loss_fn = mse
activation_function = tf.nn.leaky_relu
learning_rate = 0.1
lr_decay = 1e-3
n_epochs = 10
batch_size = 128
train_network_decay_fnact_b1_mse(activation_function, learning_rate, lr_decay, batch_size, n_epochs)
[0] cost: 0.05360441170372328 lr: 0.0999
[1] cost: 0.03818855355200654 lr: 0.0998001
[2] cost: 0.03445717724504726 lr: 0.0997002999
[3] cost: 0.032228429534739554 lr: 0.0996005996001
[4] cost: 0.03057753916022244 lr: 0.0995009990004999
[5] cost: 0.02961376473516018 lr: 0.0994014980014994
[6] cost: 0.02878872549165656 lr: 0.0993020965034979
[7] cost: 0.028258110793841464 lr: 0.09920279440699441
[8] cost: 0.027951052138855414 lr: 0.09910359161258742
[9] cost: 0.02770054349914576 lr: 0.09900448802097483
Entrenamiento finalizado!!
Accuracy: 0.902

La gráfica de esta función se vería de la siguiente forma:

En este post, te hemos expuesto cuáles son las tres funciones de activación en Deep Learning para el desarrollo de un análisis dentro de este amplio campo del Big Data. Sin embargo, todavía hay muchas más funciones para estudiar dentro del manejo de los macrodatos. Por ello, nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning es ideal para que avances con tu formación.

Con esta formación, podrás contar con una serie de módulos que te pondrán en contexto con los desarrolladores y herramientas más importantes para el procesamiento de los macrodatos, como Machine Learning, Spark & Scala, Tableau, Hadoop, etc. Todo ello de forma tanto teórica como práctica y con el acompañamiento de grandes profesionales y expertos en el universo del Big Data. ¿A qué esperas para empezar? ¡Apúntate ya!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado