Tensorflow es una biblioteca de aprendizaje automático de código abierto desarrollada por Google. Una de sus aplicaciones es desarrollar redes neuronales profundas.
El módulo tensorflow.nn brinda soporte para muchas operaciones básicas de redes neuronales.
Una de las muchas funciones de activación es la función sigmoidea que se define como .
Las salidas de la función sigmoidea están en el rango (0, 1), lo que la hace ideal para problemas de clasificación binaria donde necesitamos encontrar la probabilidad de que los datos pertenezcan a una clase en particular. La función sigmoidea es diferenciable en todos los puntos y su derivada resulta ser . Dado que la expresión involucra la función sigmoidea, su valor se puede reutilizar para hacer que la propagación hacia atrás sea más rápida.
La función sigmoidea sufre el problema de los «gradientes que se desvanecen», ya que se aplana en ambos extremos, lo que da como resultado cambios muy pequeños en los pesos durante la retropropagación. Esto puede hacer que la red neuronal se niegue a aprender y se atasque. Por esta razón, el uso de la función sigmoidea está siendo reemplazado por otras funciones no lineales como la Unidad lineal rectificada (ReLU).
La función tf.nn.sigmoid() [alias tf.sigmoid] brinda soporte para la función sigmoid en Tensorflow.
Sintaxis : tf.nn.sigmoid(x, nombre=Ninguno) o tf.sigmoid(x, nombre=Ninguno)
Parámetros :
x : un tensor de cualquiera de los siguientes tipos: float16, float32, float64, complex64 o complex128.
nombre (opcional): el nombre de la operación.
Tipo de retorno : Un tensor con el mismo tipo que el de x.
Código #1:
Python3
# Importing the Tensorflow library import tensorflow as tf # A constant vector of size 6 a = tf.constant([1.0, -0.5, 3.4, -2.1, 0.0, -6.5], dtype = tf.float32) # Applying the sigmoid function and # storing the result in 'b' b = tf.nn.sigmoid(a, name ='sigmoid') # Initiating a Tensorflow session with tf.Session() as sess: print('Input type:', a) print('Input:', sess.run(a)) print('Return type:', b) print('Output:', sess.run(b))
Producción:
Input type: Tensor("Const_1:0", shape=(6, ), dtype=float32) Input: [ 1. -0.5 3.4000001 -2.0999999 0. -6.5 ] Return type: Tensor("sigmoid:0", shape=(6, ), dtype=float32) Output: [ 0.7310586 0.37754068 0.96770459 0.10909683 0.5 0.00150118]
Código #2: Visualización
Python3
# Importing the Tensorflow library import tensorflow as tf # Importing the NumPy library import numpy as np # Importing the matplotlib.pyplot function import matplotlib.pyplot as plt # A vector of size 15 with values from -5 to 5 a = np.linspace(-5, 5, 15) # Applying the sigmoid function and # storing the result in 'b' b = tf.nn.sigmoid(a, name ='sigmoid') # Initiating a Tensorflow session with tf.Session() as sess: print('Input:', a) print('Output:', sess.run(b)) plt.plot(a, sess.run(b), color = 'red', marker = "o") plt.title("tensorflow.nn.sigmoid") plt.xlabel("X") plt.ylabel("Y") plt.show()
Producción:
Input: Input: [-5. -4.28571429 -3.57142857 -2.85714286 -2.14285714 -1.42857143 -0.71428571 0. 0.71428571 1.42857143 2.14285714 2.85714286 3.57142857 4.28571429 5. ] Output: [ 0.00669285 0.01357692 0.02734679 0.05431327 0.10500059 0.19332137 0.32865255 0.5 0.67134745 0.80667863 0.89499941 0.94568673 0.97265321 0.98642308 0.99330715]
Publicación traducida automáticamente
Artículo escrito por vaibhav29498 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA