No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de TensorFlow.js

Curso de TensorFlow.js

Alejandro Santamaria

Alejandro Santamaria

Entradas, capas y salidas

7/21
Recursos

Aportes 12

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

La implementación de capas mediante el API de layers de tensorflow.JS, es equivalente a la implementación de la API de Keras en tensorflow para python o c++. De hecho “layers” está basada en “Keras”.

Ref: https://www.tensorflow.org/js/guide/layers_for_keras_users

Acá dejo una comparativa:

  • Python:
  • JS:

Entradas, capas y salidas

  • Las capas se encargan de transformar los datos de entrada para:
    • Aprender el patrón de los datos de entrenamiento
    • Inferir o predecir un resultado
  • Para crear modelos se puede usar:
    • Layers API (Usuario básico)
    • API Core (Usuario avanzado)
  • Funciones de activación
    • ReLU
    • Softmax: crea una distribución de probabilidades (útil para modelos de clasificación)
  • El modelo expone los componentes:
    • layers
    • inputLayers
    • outputLayers
  • Validación del modelo (Tensorflow.js hace una validación automática de los valores de las capas si se utiliza Layers API)
  • Ventajas de Layers:
    • Inicialización automática de pesos
    • Serialización de los modelos
    • Monitoreo del entrenamiento
    • Portabilidad (a otras plataformas)
    • Revisión de seguridad
  • API Core:
    • Brinda mayor control
    • Se deben crear manualmente los métodos para serializar, inicializar y validar los parámetros

Como se ve en el slide del minuto 06:30, “Softmax” es una generalización de lo que se conoce como Función Sigmoide o Función de Regresión Logística, que se usa para comprimir valores arbitrarios (convertirlos por equivalencia directa) en un rango controlado de entre 0 y 1. De manera similar la función tanh (tangente hiperbólica) comprime los valores en un rango de -1 a 1 … así hay otras funciones que dependiendo del caso se pueden usar con mejor resultado.

para iniciar con api Layers
para hacer cosas complejas Core API

La API Core

Si utilizas esta API tendras mas control, pero es mas dificil ya que deberas crear metodos para serializar, inicializar y validar sus parametros.

Componentes Principales del Modelo para una Red Neuronal

  • Dos entradas (i1, i2)
  • Una capa escondida (h1.1, h1.2, h1.3)
  • La capa de salida (o)

Las ventajas de Layers

Ademas de la validacion, Layers proporciona:

  • Inicializacion de pesos

  • Serializacion (para guardar los modelos)

  • Monitoreo del entrenamiento

  • Portabilidad

  • Revision de seguridad

Validacion del Modelo

Ambos modelos son instancias LayersModels y requieren la especificacion de la forma que recibira la entrada (input), TensorFlow.js hace un calculo automatico de las formas que tendran los tensores intermedios y de crear los parametros.

Si existiera alguna incompatibilidad entre dos capas consecutivas, la libreria se encargara de notificartelo.

La base de una red neuronal:

  • 2 entradas
  • Capas ocultas
  • Una salida
* La en cantidad en el `inputShape` en la primera capa corresponde a la cantidad de pixeles en la imagen de entrada, en este caso las imágenes de entrada son de 28 x 28 = 784. * La cantidad de `units` en la capa de salida corresponden a a la cantidad de posibilidades que esperamos tener de la red, en este caso, se requiere detectar números del 0 al 9 por lo que la cantidad de neuronas de salida son 10.

Recomiendo este video expilca muy bien el tema y hace un ejemplo con codigo para los que les gusta programar:
https://www.youtube.com/watch?v=_TInU2fI__I&t=1234s

Importante determinar cual sera la capa de entrada , la capa oculta y la capa de salia, previo a ello hacer un pre procesamiento de datos,antes de empezar con el entrenamiento.