Keras

El aprendizaje profundo es uno de los principales subcampos del marco de aprendizaje automático. El aprendizaje automático es el estudio del diseño de algoritmos, inspirado en el modelo del cerebro humano. El aprendizaje profundo se está volviendo más popular en los campos de la ciencia de datos como la robótica, la inteligencia artificial (IA), el reconocimiento de audio y video y el reconocimiento de imágenes. La red neuronal artificial es el núcleo de las metodologías de aprendizaje profundo. El aprendizaje profundo es compatible con varias bibliotecas como Theano, TensorFlow, Caffe, Mxnet, etc., Keras es una de las bibliotecas de Python más potentes y fáciles de usar, que se basa en bibliotecas populares de aprendizaje profundo como TensorFlow, Theano, etc. , para crear modelos de aprendizaje profundo.

Descripción general de Keras

Keras se ejecuta sobre bibliotecas de máquinas de código abierto como TensorFlow, Theano o Cognitive Toolkit (CNTK). Theano es una biblioteca de Python que se utiliza para tareas de cálculo numérico rápido. TensorFlow es la biblioteca matemática simbólica más famosa que se utiliza para crear redes neuronales y modelos de aprendizaje profundo. TensorFlow es muy flexible y el beneficio principal es la computación distribuida. CNTK es un marco de aprendizaje profundo desarrollado por Microsoft. Utiliza bibliotecas como Python, C #, C ++ o kits de herramientas de aprendizaje automático independientes. Theano y TensorFlow son bibliotecas muy poderosas pero difíciles de entender para crear redes neuronales.

Keras se basa en una estructura mínima que proporciona una forma limpia y sencilla de crear modelos de aprendizaje profundo basados ​​en TensorFlow o Theano. Keras está diseñado para definir rápidamente modelos de aprendizaje profundo. Bueno, Keras es una opción óptima para aplicaciones de aprendizaje profundo.

Características

Keras aprovecha varias técnicas de optimización para hacer que la API de red neuronal de alto nivel sea más fácil y más eficiente. Es compatible con las siguientes funciones:

  • API consistente, simple y extensible.
  • Estructura mínima: fácil de lograr el resultado sin lujos.
  • Es compatible con múltiples plataformas y backends.
  • Es un marco fácil de usar que se ejecuta tanto en CPU como en GPU.
  • Gran escalabilidad de la computación.

Beneficios

Keras es un marco muy potente y dinámico y ofrece las siguientes ventajas:

  • Mayor apoyo de la comunidad.
  • Fácil de probar.
  • Las redes neuronales de Keras están escritas en Python, lo que simplifica las cosas.
  • Keras admite redes convolucionales y recurrentes.
  • Los modelos de aprendizaje profundo son componentes discretos, por lo que puede combinarlos de muchas formas.

mo instalar Keras en su máquina. Antes de pasar a la instalación, repasemos los requisitos básicos de Keras.

Prerrequisitos

Debe cumplir los siguientes requisitos:

  • Cualquier tipo de sistema operativo (Windows, Linux o Mac)
  • Python versión 3.5 o superior.

Python

Keras es una biblioteca de redes neuronales basada en Python, por lo que Python debe estar instalado en su máquina. Si python está instalado correctamente en su máquina, abra su terminal y escriba python, podría ver la respuesta similar a la que se especifica a continuación,

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) 
[MSC v.1900 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>

A partir de ahora, la última versión es ‘3.7.2’. Si Python no está instalado, visite el enlace oficial de Python – www.python.org y descargue la última versión basada en su sistema operativo e instálela inmediatamente en su sistema.

Pasos de instalación de Keras

La instalación de Keras es bastante sencilla. Siga los pasos a continuación para instalar correctamente Keras en su sistema.

Paso 1: Crear un entorno virtual

Virtualenv se utiliza para administrar paquetes de Python para diferentes proyectos. Esto será útil para evitar romper los paquetes instalados en los otros entornos. Por lo tanto, siempre se recomienda utilizar un entorno virtual al desarrollar aplicaciones Python.

Linux / Mac OS

Usuarios de Linux o Mac OS, vaya al directorio raíz de su proyecto y escriba el siguiente comando para crear un entorno virtual,

python3 -m venv kerasenv

Después de ejecutar el comando anterior, se crea el directorio «kerasenv» con bin, lib e incluye carpetas en su ubicación de instalación.

Ventanas

El usuario de Windows puede usar el siguiente comando,

py -m venv keras

Paso 2: Activa el medio

Este paso configurará los ejecutables de python y pip en su ruta de shell.

Linux / Mac OS

Ahora hemos creado un entorno virtual llamado «kerasvenv». Vaya a la carpeta y escriba el siguiente comando,

$ cd kerasvenv kerasvenv $ source bin/activate

Ventanas

Los usuarios de Windows se mueven dentro de la carpeta «kerasenv» y escriben el siguiente comando,

.\env\Scripts\activate

Paso 3: Bibliotecas de Python

Keras depende de las siguientes bibliotecas de Python.

  • Numpy
  • Pandas
  • Scikit-aprender
  • Matplotlib
  • Scipy
  • Seaborn

Con suerte, ha instalado todas las bibliotecas anteriores en su sistema. Si estas bibliotecas no están instaladas, utilice el siguiente comando para instalarlas una por una.

numpy

pip install numpy

podrías ver la siguiente respuesta,

Collecting numpy 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8/ 
   numpy-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

pandas

pip install pandas

Pudimos ver la siguiente respuesta,

Collecting pandas 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8/ 
pandas-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

matplotlib

pip install matplotlib

Pudimos ver la siguiente respuesta,

Collecting matplotlib 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8/ 
matplotlib-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

scipy

pip install scipy

Pudimos ver la siguiente respuesta,

Collecting scipy 
   Downloading 
https://files.pythonhosted.org/packages/cf/a4/d5387a74204542a60ad1baa84cd2d3353c330e59be8cf2d47c0b11d3cde8 
/scipy-3.1.1-cp36-cp36m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64. 
   macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 
      |████████████████████████████████| 14.4MB 2.8MB/s

scikit-learn

Es una biblioteca de aprendizaje automático de código abierto. Se utiliza para algoritmos de clasificación, regresión y agrupamiento. Antes de pasar a la instalación, se requiere lo siguiente:

  • Python versión 3.5 o superior
  • NumPy versión 1.11.0 o superior
  • SciPy versión 0.17.0 o superior
  • joblib 0.11 o superior.

Ahora, instalamos scikit-learn usando el siguiente comando:

pip install -U scikit-learn

Seaborn

Seaborn es una biblioteca increíble que le permite visualizar fácilmente sus datos. Utilice el siguiente comando para instalar:

pip install seaborn

Puede ver un mensaje similar al que se especifica a continuación:

Collecting seaborn 
   Downloading 
https://files.pythonhosted.org/packages/a8/76/220ba4420459d9c4c9c9587c6ce607bf56c25b3d3d2de62056efe482dadc 
/seaborn-0.9.0-py3-none-any.whl (208kB) 100% 
   |████████████████████████████████| 215kB 4.0MB/s 
Requirement already satisfied: numpy> = 1.9.3 in 
./lib/python3.7/site-packages (from seaborn) (1.17.0) 
Collecting pandas> = 0.15.2 (from seaborn) 
   Downloading 
https://files.pythonhosted.org/packages/39/b7/441375a152f3f9929ff8bc2915218ff1a063a59d7137ae0546db616749f9/ 
pandas-0.25.0-cp37-cp37m-macosx_10_9_x86_64.
macosx_10_10_x86_64.whl (10.1MB) 100% 
   |████████████████████████████████| 10.1MB 1.8MB/s 
Requirement already satisfied: scipy>=0.14.0 in 
./lib/python3.7/site-packages (from seaborn) (1.3.0) 
Collecting matplotlib> = 1.4.3 (from seaborn) 
   Downloading 
https://files.pythonhosted.org/packages/c3/8b/af9e0984f
5c0df06d3fab0bf396eb09cbf05f8452de4e9502b182f59c33b/ 
matplotlib-3.1.1-cp37-cp37m-macosx_10_6_intel.
macosx_10_9_intel.macosx_10_9_x86_64 
.macosx_10_10_intel.macosx_10_10_x86_64.whl (14.4MB) 100% 
   |████████████████████████████████| 14.4MB 1.4MB/s 
...................................... 
...................................... 
Successfully installed cycler-0.10.0 kiwisolver-1.1.0 
matplotlib-3.1.1 pandas-0.25.0 pyparsing-2.4.2 
python-dateutil-2.8.0 pytz-2019.2 seaborn-0.9.0

Instalación de Keras usando Python

A partir de ahora, hemos completado los requisitos básicos para la instalación de Kera. Ahora, instale Keras usando el mismo procedimiento que se especifica a continuación:

pip install keras

Salir del entorno virtual

Después de finalizar todos los cambios en su proyecto, simplemente ejecute el siguiente comando para salir del entorno:

deactivate

Nube Anaconda

Creemos que ha instalado anaconda cloud en su máquina. Si anaconda no está instalado, visite el enlace oficial, www.anaconda.com/distribution y elija descargar según su sistema operativo.

Crear un nuevo entorno de conda

Inicie el indicador de anaconda, esto abrirá el entorno base de Anaconda. Creemos un nuevo entorno de conda. Este proceso es similar al virtualenv. Escriba el siguiente comando en su terminal conda –

conda create --name PythonCPU

Si lo desea, también puede crear e instalar módulos utilizando GPU. En este tutorial, seguimos las instrucciones de la CPU.

Activar entorno conda

Para activar el entorno, use el siguiente comando:

activate PythonCPU

Instalar spyder

Spyder es un IDE para ejecutar aplicaciones de Python. Instalemos este IDE en nuestro entorno conda usando el siguiente comando:

conda install spyder

Instalar bibliotecas de Python

Ya conocemos las bibliotecas de python numpy, pandas, etc., necesarias para keras. Puede instalar todos los módulos utilizando la siguiente sintaxis:

Sintaxis

conda install -c anaconda <module-name>

Por ejemplo, desea instalar pandas:

conda install -c anaconda pandas

Como el mismo método, pruébelo usted mismo para instalar los módulos restantes.

Instalar Keras

Ahora, todo se ve bien, por lo que puede iniciar la instalación de keras usando el siguiente comando:

conda install -c anaconda keras

Lanzar spyder

Finalmente, inicie spyder en su terminal conda usando el siguiente comando:

spyder

Para asegurarse de que todo se instaló correctamente, importe todos los módulos, agregará todo y, si algo salió mal, obtendrá un mensaje de error de módulo no encontrado .

TensorFlow

TensorFlow es una biblioteca de aprendizaje automático de código abierto que se utiliza para tareas computacionales numéricas desarrolladas por Google. Keras es una API de alto nivel construida sobre TensorFlow o Theano. Ya sabemos cómo instalar TensorFlow usando pip.

Si no está instalado, puede instalar usando el siguiente comando:

pip install TensorFlow

Una vez que ejecutamos keras, podríamos ver que el archivo de configuración está ubicado en su directorio de inicio dentro y vamos a .keras / keras.json.

keras.json

{ 
   "image_data_format": "channels_last", 
   "epsilon": 1e-07, "floatx": "float32", "backend": "tensorflow" 
}

Aquí,

  • image_data_format representan el formato de datos.
  • épsilon representa una constante numérica. Se utiliza para evitar el error DivideByZero .
  • float x representa el tipo de datos predeterminado float32 . También puede cambiarlo a float16 o float64 usando el método set_floatx () .
  • image_data_format representan el formato de datos.

Supongamos que, si el archivo no se crea, muévase a la ubicación y cree siguiendo los pasos a continuación:

> cd home 
> mkdir .keras 
> vi keras.json

Recuerde, debe especificar .keras como su nombre de carpeta y agregar la configuración anterior dentro del archivo keras.json. Podemos realizar algunas operaciones predefinidas para conocer las funciones de backend.

Theano

Theano es una biblioteca de aprendizaje profundo de código abierto que le permite evaluar matrices multidimensionales de manera efectiva. Podemos instalar fácilmente usando el siguiente comando:

pip install theano

De forma predeterminada, keras usa el backend de TensorFlow. Si desea cambiar la configuración de backend de TensorFlow a Theano, simplemente cambie backend = theano en el archivo keras.json. Se describe a continuación:

keras.json

{ 
   "image_data_format": "channels_last", 
   "epsilon": 1e-07, 
   "floatx": "float32", 
   "backend": "theano" 
}

Ahora guarde su archivo, reinicie su terminal e inicie keras, se cambiará su backend.

>>> import keras as k 
using theano backend.

El aprendizaje profundo es un subcampo en evolución del aprendizaje automático. El aprendizaje profundo implica analizar la entrada capa por capa, donde cada capa extrae progresivamente información de nivel superior sobre la entrada.

Tomemos un escenario simple de analizar una imagen. Supongamos que su imagen de entrada está dividida en una cuadrícula rectangular de píxeles. Ahora, la primera capa abstrae los píxeles. La segunda capa comprende los bordes de la imagen. La siguiente capa construye nodos a partir de los bordes. Luego, el siguiente encontraría ramas de los nodos. Finalmente, la capa de salida detectará el objeto completo. Aquí, el proceso de extracción de características va desde la salida de una capa hasta la entrada de la siguiente capa subsiguiente.

Al utilizar este enfoque, podemos procesar una gran cantidad de funciones, lo que hace que el aprendizaje profundo sea una herramienta muy poderosa. Los algoritmos de aprendizaje profundo también son útiles para el análisis de datos no estructurados. Repasemos los conceptos básicos del aprendizaje profundo en este capítulo.

Redes neuronales artificiales

El enfoque más popular y principal del aprendizaje profundo es el uso de una «red neuronal artificial» (ANN). Están inspirados en el modelo del cerebro humano, que es el órgano más complejo de nuestro cuerpo. El cerebro humano está formado por más de 90 mil millones de células diminutas llamadas «neuronas». Las neuronas están interconectadas a través de fibras nerviosas llamadas «axones» y «dendritas». La función principal del axón es transmitir información de una neurona a otra a la que está conectada.

Del mismo modo, la función principal de las dendritas es recibir la información que transmiten los axones de otra neurona a la que están conectadas. Cada neurona procesa una pequeña información y luego pasa el resultado a otra neurona y este proceso continúa. Este es el método básico utilizado por nuestro cerebro humano para procesar una gran cantidad de información como el habla, visual, etc., y extraer información útil de ella.

Basado en este modelo, la primera Red Neural Artificial (ANN) fue inventada por el psicólogo Frank Rosenblatt , en el año de 1958. Las ANN están formadas por múltiples nodos que son similares a las neuronas. Los nodos están estrechamente interconectados y organizados en diferentes capas ocultas. La capa de entrada recibe los datos de entrada y los datos pasan por una o más capas ocultas secuencialmente y finalmente la capa de salida predice algo útil sobre los datos de entrada. Por ejemplo, la entrada puede ser una imagen y la salida puede ser la cosa identificada en la imagen, digamos un «gato».

Una sola neurona (llamada perceptrón en ANN) se puede representar como se muestra a continuación:

Redes neuronales artificiales

Aquí,

  • La entrada múltiple junto con el peso representan dendritas.
  • La suma de la entrada junto con la función de activación representa las neuronas. En realidad, la suma significa que el valor calculado de todas las entradas y la función de activación representan una función, que modifica el valor de la suma en 0, 1 o 0 a 1.
  • La salida real representa el axón y la salida será recibida por la neurona en la siguiente capa.

Entendamos los diferentes tipos de redes neuronales artificiales en esta sección.

Perceptrón multicapa

El perceptrón multicapa es la forma más simple de ANN. Consiste en una sola capa de entrada, una o más capas ocultas y finalmente una capa de salida. Una capa consta de una colección de perceptrón. La capa de entrada es básicamente una o más características de los datos de entrada. Cada capa oculta consta de una o más neuronas y procesa cierto aspecto de la característica y envía la información procesada a la siguiente capa oculta. El proceso de la capa de salida recibe los datos de la última capa oculta y finalmente genera el resultado.

Perceptrón multicapa

Red neuronal convolucional (CNN)

La red neuronal convolucional es una de las ANN más populares. Es ampliamente utilizado en los campos del reconocimiento de imágenes y video. Se basa en el concepto de convolución, un concepto matemático. Es casi similar al perceptrón multicapa, excepto que contiene una serie de capas de convolución y una capa de agrupación antes de la capa de neuronas ocultas completamente conectadas. Tiene tres capas importantes:

  • Capa de convolución : es el bloque de construcción principal y realiza tareas computacionales basadas en la función de convolución.
  • Capa de agrupación : se organiza junto a la capa de convolución y se utiliza para reducir el tamaño de las entradas eliminando información innecesaria para que el cálculo se pueda realizar más rápido.
  • Capa completamente conectada : se organiza junto a una serie de capas de convolución y agrupación y clasifica la entrada en varias categorías.

Una CNN simple se puede representar de la siguiente manera:

CNN

Aquí,

  • Se utilizan 2 series de capas de convolución y agrupación, que reciben y procesan la entrada (por ejemplo, la imagen).
  • Se utiliza una única capa completamente conectada y se utiliza para generar los datos (por ejemplo, clasificación de la imagen)

Red neuronal recurrente (RNN)

Las redes neuronales recurrentes (RNN) son útiles para abordar la falla en otros modelos de ANN. Bueno, la mayoría de la RNA no recuerda los pasos de situaciones anteriores y aprendió a tomar decisiones basadas en el contexto en el entrenamiento. Mientras tanto, RNN almacena la información pasada y todas sus decisiones se toman de lo que ha aprendido del pasado.

Este enfoque es principalmente útil en la clasificación de imágenes. A veces, es posible que necesitemos mirar hacia el futuro para arreglar el pasado. En este caso, la RNN bidireccional es útil para aprender del pasado y predecir el futuro. Por ejemplo, tenemos muestras escritas a mano en múltiples entradas. Supongamos que tenemos confusión en una entrada y luego tenemos que volver a comprobar otras entradas para reconocer el contexto correcto que toma la decisión del pasado.

Flujo de trabajo de ANN

Primero entendamos las diferentes fases del aprendizaje profundo y luego, aprendamos cómo Keras ayuda en el proceso de aprendizaje profundo.

Recopile los datos requeridos

El aprendizaje profundo requiere una gran cantidad de datos de entrada para aprender y predecir con éxito el resultado. Por lo tanto, primero recopile la mayor cantidad de datos posible.

Analizar datos

Analice los datos y adquiera una buena comprensión de los datos. Se requiere una mejor comprensión de los datos para seleccionar el algoritmo ANN correcto.

Elija un algoritmo (modelo)

Elija un algoritmo que se adapte mejor al tipo de proceso de aprendizaje (por ejemplo, clasificación de imágenes, procesamiento de texto, etc.) y los datos de entrada disponibles. El algoritmo está representado por Model en Keras. El algoritmo incluye una o más capas. Cada capa en ANN puede ser representada por Keras Layer en Keras.

  • Preparar datos : procese, filtre y seleccione solo la información requerida de los datos.
  • Dividir datos : divida los datos en conjuntos de datos de entrenamiento y de prueba. Los datos de prueba se utilizarán para evaluar la predicción del algoritmo / modelo (una vez que la máquina aprenda) y para verificar la eficiencia del proceso de aprendizaje.
  • Compile el modelo : compile el algoritmo / modelo, de modo que se pueda usar más para aprender mediante el entrenamiento y finalmente hacer la predicción. Este paso nos obliga a elegir la función de pérdida y el Optimizador. La función de pérdida y el Optimizador se utilizan en la fase de aprendizaje para encontrar el error (desviación de la salida real) y realizar la optimización para minimizar el error.
  • Ajustar el modelo : el proceso de aprendizaje real se realizará en esta fase utilizando el conjunto de datos de entrenamiento.
  • Predecir el resultado para el valor desconocido : predice la salida para los datos de entrada desconocidos (que no sean los datos de prueba y entrenamiento existentes)
  • Evaluar modelo : evalúe el modelo mediante la predicción de la salida de los datos de prueba y la comparación cruzada de la predicción con el resultado real de los datos de prueba.
  • Congelar, modificar o elegir un nuevo algoritmo : compruebe si la evaluación del modelo es correcta. En caso afirmativo, guarde el algoritmo para fines de predicción futura. Si no es así, modifique o elija un nuevo algoritmo / modelo y, finalmente, entrene, prediga y evalúe nuevamente el modelo. Repita el proceso hasta encontrar el mejor algoritmo (modelo).


Los pasos anteriores se pueden representar utilizando el siguiente diagrama de flujo:

ANA

Arquitectura de Keras

La API de Keras se puede dividir en tres categorías principales:

  • Modelo
  • Capa
  • Módulos centrales

En Keras, cada RNA está representada por Keras Models . A su vez, cada modelo de Keras es una composición de capas de Keras y representa capas de ANN como entrada, capa oculta, capas de salida, capa de convolución, capa de agrupación, etc., el modelo de Keras y la capa de acceso a los módulos de Keras para función de activación, función de pérdida, función de regularización, etc., utilizando el modelo de Keras, la capa de Keras y los módulos de Keras, cualquier algoritmo ANN (CNN, RNN, etc.) se puede representar de una manera simple y eficiente.

El siguiente diagrama muestra la relación entre el modelo, la capa y los módulos centrales:

Arquitectura de Keras

Veamos la descripción general de los modelos de Keras, las capas de Keras y los módulos de Keras.

Modelo

Los modelos Keras son de dos tipos, como se menciona a continuación:

Modelo secuencial: el modelo secuencial es básicamente una composición lineal de capas de Keras. El modelo secuencial es sencillo, mínimo y tiene la capacidad de representar casi todas las redes neuronales disponibles.

Un modelo secuencial simple es el siguiente:

from keras.models import Sequential 
from keras.layers import Dense, Activation 

model = Sequential()  
model.add(Dense(512, activation = 'relu', input_shape = (784,)))

Dónde,

  • La línea 1 importa el modelo secuencial de los modelos de Keras

  • La línea 2 importa la capa densa y el módulo de activación

  • Line 4 crea un nuevo modelo secuencial usando API secuencial

  • La línea 5 agrega una capa densa (API densa) con la función de activación relu (usando el módulo de activación).

El modelo secuencial expone la clase Model para crear modelos personalizados también. Podemos utilizar el concepto de subclasificación para crear nuestro propio modelo complejo.

API funcional: la API funcional se utiliza básicamente para crear modelos complejos.

Capa

Cada capa de Keras en el modelo de Keras representa la capa correspondiente (capa de entrada, capa oculta y capa de salida) en el modelo de red neuronal propuesto. Keras proporciona muchas capas preconstruidas para que cualquier red neuronal compleja se pueda crear fácilmente. Algunas de las capas importantes de Keras se especifican a continuación,

  • Capas centrales
  • Capas de convolución
  • Capas de agrupación
  • Capas recurrentes

Un código Python simple para representar un modelo de red neuronal usando un modelo secuencial es el siguiente:

from keras.models import Sequential 
from keras.layers import Dense, Activation, Dropout model = Sequential() 

model.add(Dense(512, activation = 'relu', input_shape = (784,))) 
model.add(Dropout(0.2)) 
model.add(Dense(512, activation = 'relu')) model.add(Dropout(0.2)) 
model.add(Dense(num_classes, activation = 'softmax'))

Dónde,

  • La línea 1 importa el modelo secuencial de los modelos de Keras

  • La línea 2 importa la capa densa y el módulo de activación

  • Line 4 crea un nuevo modelo secuencial usando API secuencial

  • La línea 5 agrega una capa densa (API densa) con la función de activación relu (usando el módulo de activación).

  • La línea 6 agrega una capa de abandono (API de abandono) para manejar el sobreajuste.

  • La línea 7 agrega otra capa densa (API densa) con la función de activación relu (usando el módulo de activación).

  • La línea 8 agrega otra capa de abandono (API de abandono) para manejar el sobreajuste.

  • La línea 9 agrega una capa densa final (API densa) con la función de activación softmax (usando el módulo de activación).

Keras también ofrece opciones para crear nuestras propias capas personalizadas. La capa personalizada se puede crear subclasificando la clase Keras.Layer y es similar a la subclasificación de modelos Keras.

Módulos centrales

Keras también proporciona muchas funciones integradas relacionadas con la red neuronal para crear correctamente el modelo de Keras y las capas de Keras. Algunas de las funciones son las siguientes:

  • Módulo de activaciones: la función de activación es un concepto importante en ANN y los módulos de activación proporcionan muchas funciones de activación como softmax, relu, etc.

  • Módulo de pérdida: el módulo de pérdida proporciona funciones de pérdida como mean_squared_error, mean_absolute_error, poisson, etc.

  • Módulo optimizador: el módulo optimizador proporciona una función de optimización como adam, sgd, etc.

  • Regularizadores : el módulo Regularizador proporciona funciones como regularizador L1, regularizador L2, etc.

Mas información en https://www.tutorialspoint.com/keras/

Un comentario sobre “Keras

  1. I as well as my pals happened to be reading the good tactics from the blog and then immediately I got a terrible suspicion I never expressed respect to the blog owner for those secrets. These guys were excited to see them and have in effect in fact been tapping into them. We appreciate you actually being quite helpful as well as for deciding on this sort of excellent useful guides most people are really desirous to know about. Our sincere regret for not expressing appreciation to you earlier.

Deja una respuesta