Función de activación – Redes neuronales

por | Dic 7, 2018 | R, Redes neuronales | 13 Comentarios

Definición de función de activación

La función de activación se encarga de devolver una salida a partir de un valor de entrada, normalmente el conjunto de valores de salida en un rango determinado como (0,1) o (-1,1).

Se buscan funciones que las derivadas sean simples, para minimizar con ello el coste computacional.

 

Tipos de función de activación

Sigmoid – Sigmoide

La función sigmoide transforma los valores introducidos a una escala (0,1), donde los valores altos tienen de manera asintótica a 1 y los valores muy bajos tienden de manera asintótica a 0.

 

Función Sigmoide

Función Sigmoide

Características de la función signoide:

  • Satura y mata el gradiente.
  • Lenta convergencia.
  • No esta centrada en el cero.
  • Esta acotada entre 0 y 1.
  • Buen rendimiento en la última capa.

 

Tanh – Tangent Hyperbolic – Tangente hiperbólica

La función tangente hiperbólica transforma los valores introducidos a una escala (-1,1), donde los valores altos tienen de manera asintótica a 1 y los valores muy bajos tienden de manera asintótica a -1.

Función tangente hiperbólica

Función tangente hiperbólica

 

Características de la función tangente hiperbólica:

  • Muy similar a la signoide
  • Satura y mata el gradiente.
  • Lenta convergencia.
  • Centrada en 0.
  • Esta acotada entre -1 y 1.
  • Se utiliza para decidir entre uno opción y la contraria.
  • Buen desempeño en redes recurrentes.

 

ReLU – Rectified Lineal Unit

La función ReLU transforma los valores introducidos anulando los valores negativos y dejando los positivos tal y como entran.

Función ReLU

Función ReLU

 

Características de la función ReLU:

  • Activación Sparse – solo se activa si son positivos.
  • No está acotada.
  • Se pueden morir demasiadas neuronas.
  • Se comporta bien con imágenes.
  • Buen desempeño en redes convolucionales.

 

Leaky ReLU – Rectified Lineal Unit

La función Leaky ReLU transforma los valores introducidos multiplicando los negativos por un coeficiente rectificativo y dejando los positivos según entran.

Función Leaky ReLU

Función Leaky ReLU

 

Características de la función Leaky ReLU:

  • Similar a la función ReLU.
  • Penaliza los negativos mediante un coeficiente rectificador.
  • No está acotada.
  • Se comporta bien con imágenes.
  • Buen desempeño en redes convolucionales.

 

Softmax – Rectified Lineal Unit

La función Softmax transforma las salidas a una representación en forma de probabilidades, de tal manera que el sumatorio de todas las probabilidades de las salidas de 1.

Función Softmax

Función Softmax

 

Características de la función Softmax:

  • Se utiliza cuando queremos tener una representación en forma de probabilidades.
  • Esta acotada entre 0 y 1.
  • Muy diferenciable.
  • Se utiliza para para normalizar tipo multiclase.
  • Buen rendimiento en las últimas capas.

13 Comentarios

  1. ruben garcia

    Estimado buenas tardes. Una consulta, tratare de simplificarla con un ejemplo.
    Si el objetivo de mi modelo es encontrar patrones por ejemplo, que es exactamente lo que me entrega la funcion de activacion?, como represento esa idea graficamente?, es la funcion de activacion una curva que se aproxima al grupo de datos en el plano donde se encuentre el patron mas preciso?, como se que funcion debo utilizar?…..muchas gracias

    Responder
  2. Angel

    Hola. Qué pasaría si no se usa ninguna función de activación? (Ya sé que es obligatoria porque es un parámetro que hay que poner en el código pero para entender realmente el concepto y saber cual es su utilidad necesito saber qué pasaría si no se utiliza ninguna función de activación)

    Responder
    • Diego Calvo

      Creo que te lo explicaré mejor con un ejemplo, Si no aplico la función de activación el conjunto de datos podria ser cualquiera 1, 3, 26, 2102, 23819218, … puede que no tubiera cota de máximo. Por el contrario la función de activación nos permite acotar la salida por ejemplo entre 0 y 1.

      Responder
      • Marcos

        No le veo problema a eso mientras, por ejemplo, el perceptron funcione bien y se logre encontrar la forma matemática adecuada para la muestra, logrando describir el fenómeno…creo que tanto la función de activación como los resguardos de cotas internas de los valores que pueden tomar las salidas y entradas de las neuronas internas son cosas que se tienen que aplicar a nivel biológico en pos de imitar su funcionamiento, ya que se cuenta con recursos limitados de uso. No asi en las artificiales que no tenemos límites mas allá de la convergencia.

        Responder
    • Francisco Contreras

      Si no utilizas ninguna función de activación lo que sucedería es que el sistema funcionaría como un modelo de regresión lineal y no podrías obtener relaciones no lineales entre los datos de entrada y de salida. Es más si haces el ejercicio matemático verás que no tiene sentido tener más de una capa si no tienes función de activación.

      Responder
      • Julián Yepes Daza

        Esta es la respuesta correcta, la principal función de la función de activación (valga la redundancia) es cambiar la linealidad al modelo.

        Responder
  3. Americo

    Cual seria la mejor función de activación cuando tengo como salida números continuos como por ejemplo en la solución de una ecuación, cual seria la mejor función de activación para la compilación también.

    Responder
  4. Fernando Augusto Deheza Zambrana

    ¡Las funciones de activación en Redes Neurales cumplen función similar al escalamiento en regresiones?

    Responder
  5. FERNANDO BLANCO ALBENDEA

    Muy buen artículo. Una pregunta, la función sigmoide no sería 1/(1+exp(-x)) ?

    Creo que hay un error en el signo del denominador.

    Saludos!!

    Responder
  6. Juan Carlos

    La función sigmoide y leaky ReLU deben revisarse.

    Responder
  7. Ami

    Hola , si necesito conocer los inputs y los outpust de la función Relu que podría hacer?

    Responder
  8. edgar ricardo perodmo ayala

    oye Diego tu página está muy bien ranqueada en Google es la primera en Junio de 2022, pero creo que la función sigmoide está errada.

    debería ser
    f(x) = 1 over { 1 + exp( -x)) (como la escribiría en el editor de formulas de libreOffice – Aun no me grabo la sintanxis LatEx)

    la que tienes para cero es indeterminada.. 1-exp(-0= 1 – 1 = 0 en el denominador

    Responder
  9. vicenta

    cuales son las condiciones necesarias para que sea una función de activación ?

    Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *