TensorFlow
Tutorial TensorFlow: Redes neuronales de múltiples capas
Descubre cómo funcionan las redes neuronales de múltiples capas, su arquitectura y aplicaciones prácticas con TensorFlow y Keras en este tutorial completo.
Aprende TensorFlow GRATIS y certifícateConcepto y arquitectura de las redes neuronales de múltiples capas
Las redes neuronales de múltiples capas (MLP, por sus siglas en inglés) son un tipo de red neuronal artificial que consta de al menos tres capas de neuronas: una capa de entrada, una o más capas ocultas y una capa de salida. Estas arquitecturas permiten a las redes aprender funciones no lineales complejas, lo que las hace esenciales para resolver problemas de clasificación y regresión más sofisticados.
En una MLP, cada neurona de una capa está conectada a todas las neuronas de la capa siguiente mediante pesos sinápticos. Estas conexiones se conocen como capas totalmente conectadas o densas. Los pesos se ajustan durante el entrenamiento para minimizar el error entre las predicciones de la red y los valores reales, permitiendo a la red aprender patrones complejos en los datos.
La arquitectura típica de una MLP se compone de:
- Capa de entrada: recibe el conjunto de características (features) del problema.
- Capas ocultas: procesan y transforman la información recibida mediante funciones de activación no lineales.
- Capa de salida: genera la predicción final del modelo, que puede ser una clase en problemas de clasificación o un valor continuo en problemas de regresión.
Las funciones de activación no lineales en las capas ocultas permiten a la MLP aprender relaciones no lineales entre las variables de entrada y salida. Sin estas funciones, la red se comportaría como una combinación lineal simple de las entradas, limitando su capacidad para resolver problemas complejos.
El proceso de entrenamiento de una MLP implica el uso del algoritmo de backpropagation, que ajusta los pesos sinápticos mediante el cálculo de los gradientes del error con respecto a cada peso. Este algoritmo se basa en la regla de la cadena para propagar el error desde la capa de salida hacia atrás a través de las capas ocultas.
En TensorFlow, las MLP se implementan utilizando la API de Keras, que simplifica la creación y entrenamiento de modelos de aprendizaje profundo. A continuación se muestra un ejemplo básico de cómo construir una MLP con Keras:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
# Definir el modelo
modelo = keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(n_features,)),
layers.Dense(64, activation='relu'),
layers.Dense(n_outputs)
])
# Compilar el modelo
modelo.compile(optimizer='adam', loss='mse')
# Entrenar el modelo
modelo.fit(X_train, y_train, epochs=10, batch_size=32)
En este ejemplo, se utiliza la clase Sequential de Keras para definir una MLP con dos capas ocultas de 64 neuronas cada una y función de activación ReLU. La capa de entrada está definida por el parámetro input_shape, que indica el número de características de entrada. La capa de salida tiene tantas neuronas como salidas requiera el problema.
Las arquitecturas de las MLP pueden variar significativamente en profundidad (número de capas ocultas) y ancho (número de neuronas por capa), dependiendo de la complejidad del problema y del conjunto de datos disponible. Un mayor número de capas y neuronas permite a la red aprender patrones más complejos, pero también aumenta el riesgo de sobreajuste, especialmente si no se cuenta con suficientes datos de entrenamiento.
Es fundamental seleccionar cuidadosamente la arquitectura de la red para equilibrar la capacidad de generalización y el rendimiento en el conjunto de entrenamiento. Técnicas como la regularización y el early stopping pueden ayudar a prevenir el sobreajuste en redes profundas, temas que se discutirán en secciones posteriores.
Ventajas frente a redes neuronales de una sola capa
Las redes neuronales de múltiples capas (MLP) ofrecen una serie de ventajas significativas en comparación con las redes neuronales de una sola capa. Estas ventajas se reflejan en su capacidad para abordar problemas más complejos y proporcionar soluciones más precisas.
Una de las principales ventajas es su capacidad para modelar relaciones no lineales. Mientras que las redes de una sola capa, como el perceptrón simple, solo pueden resolver problemas linealmente separables, las MLP pueden aprender y representar funciones altamente no lineales gracias a sus capas ocultas y funciones de activación no lineales.
Otra ventaja crucial es su mayor poder de representación. Las redes de múltiples capas pueden combinar y transformar las características de entrada a través de las capas ocultas, permitiendo la extracción de características de alto nivel. Esto es especialmente útil en problemas donde las relaciones entre las variables de entrada y salida no son evidentes o están ocultas en patrones complejos.
Las MLP también se benefician del teorema de aproximación universal, que establece que una red neuronal con al menos una capa oculta y funciones de activación no lineales puede aproximar cualquier función continua con suficiente exactitud, dadas las condiciones adecuadas. Esto significa que las MLP tienen la capacidad teórica de resolver una amplia variedad de problemas, siempre y cuando se disponga de suficiente entrenamiento y recursos computacionales.
Además, las redes neuronales de múltiples capas pueden capturar interacciones complejas entre las variables de entrada que las redes de una sola capa no pueden modelar. Al tener múltiples niveles de procesamiento, las MLP pueden aprender representaciones jerárquicas de los datos, donde cada capa sucesiva captura patrones más abstractos y combinaciones de características más sofisticadas.
La flexibilidad de las MLP permite su aplicación en una amplia gama de dominios, desde reconocimiento de imágenes y procesamiento del lenguaje natural hasta predicciones financieras y análisis de datos médicos. Su capacidad para adaptarse a diferentes tipos de datos y problemas las hace una herramienta esencial en el campo del aprendizaje automático.
Por último, las redes de múltiples capas suelen ofrecer un mejor rendimiento general en términos de precisión y generalización en comparación con las redes de una sola capa. Gracias a su estructura más profunda, pueden minimizar mejor la función de pérdida, logrando modelos que no solo se ajustan bien a los datos de entrenamiento, sino que también generalizan eficazmente a datos no vistos.
Funciones de activación utilizadas en MLP
Las funciones de activación juegan un papel crucial en las redes neuronales de múltiples capas, ya que introducen no linealidad en el modelo y permiten que la red aprenda relaciones complejas entre las entradas y las salidas. Sin estas funciones, la salida de cada neurona sería una combinación lineal de las entradas, limitando la capacidad representativa de la red.
A continuación, se describen las funciones de activación más comunes utilizadas en las MLP:
1 . Sigmoide: Mapea los valores de entrada a un rango entre 0 y 1, siguiendo una curva en forma de "S". Es adecuada para modelos donde se requiere una interpretación probabilística de la salida. Sin embargo, presenta problemas como el desvanecimiento del gradiente y puede ralentizar el aprendizaje en redes profundas.
$$ \sigma(x) = \frac{1}{1 + e^{-x}} $$
2. Tangente hiperbólica (tanh): Similar a la sigmoide, pero mapea los valores de entrada entre -1 y 1. Tiende a centrarse en cero, lo que puede facilitar el aprendizaje. Al igual que la sigmoide, puede sufrir de desvanecimiento del gradiente en valores extremos.
$$ \tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}} $$
3. ReLU (Rectified Linear Unit): Es la función de activación más utilizada en la actualidad. Su fórmula es sencilla: devuelve cero si la entrada es negativa y el valor de entrada si es positivo. Esto introduce no linealidad sin saturación en el lado positivo y acelera el entrenamiento al evitar el desvanecimiento del gradiente en ese dominio.
$$ \text{ReLU}(x) = \max(0, x) $$
4. Leaky ReLU: Variante de ReLU que permite un pequeño gradiente cuando la entrada es negativa, evitando que las neuronas queden inactivas. Esto se logra multiplicando las entradas negativas por un pequeño valor α.
$$ \text{Leaky ReLU}(x) =
\begin{cases}
x & \text{si } x \geq 0 \\
\alpha x & \text{si } x < 0
\end{cases} $$
Donde $( \alpha )$ suele ser un valor pequeño como 0.01.
5. ELU (Exponential Linear Unit): Combina las ventajas de ReLU y Leaky ReLU, proporcionando una activación suave en el dominio negativo y manteniendo una media cercana a cero, lo que puede mejorar la velocidad de entrenamiento.
$$ \text{ELU}(x) =
\begin{cases}
x & \text{si } x \geq 0 \\
\alpha (e^{x} - 1) & \text{si } x < 0
\end{cases} $$
6. Softmax: Utilizada principalmente en la capa de salida para problemas de clasificación multiclase, convierte un vector de valores en probabilidades que suman uno.
$$ \text{softmax}(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}} $$
La elección de la función de activación afecta directamente el rendimiento y la eficiencia del entrenamiento. Por ejemplo, ReLU es preferida en las capas ocultas de las MLP modernas debido a su simplicidad y eficacia en la mitigación del desvanecimiento del gradiente. Sin embargo, tiene el problema de la "neurona muerta" si las entradas son siempre negativas, lo que se puede evitar con Leaky ReLU o ELU.
En TensorFlow con Keras, la especificación de funciones de activación es sencilla y se puede realizar al definir cada capa:
import tensorflow as tf
from tensorflow.keras import layers
# Capa densa con función de activación ReLU
capa_relu = layers.Dense(128, activation='relu')
# Capa densa con función de activación tanh
capa_tanh = layers.Dense(128, activation='tanh')
# Capa densa con función de activación sigmoide
capa_sigmoide = layers.Dense(128, activation='sigmoid')
Para funciones de activación que requieren parámetros adicionales, como Leaky ReLU, se utilizan como capas separadas:
# Capa densa sin función de activación
capa_densa = layers.Dense(128)
# Aplicación de Leaky ReLU como capa adicional
activacion_leaky_relu = layers.LeakyReLU(negative_slope=0.01)
# Modelo que incluye la capa densa y la activación Leaky ReLU
modelo = tf.keras.Sequential([
capa_densa,
activacion_leaky_relu
])
Es posible también utilizar funciones de activación personalizadas definiéndolas como:
# Función de activación personalizada
def activacion_personalizada(x):
return tf.math.maximum(0.1 * x, x)
# Uso en una capa densa
capa_personalizada = layers.Dense(128, activation=activacion_personalizada)
Al seleccionar una función de activación, es esencial considerar aspectos como:
- La profundidad de la red y el riesgo de desvanecimiento del gradiente.
- El tipo de problema (regresión, clasificación binaria o multiclase).
- La velocidad de convergencia y estabilidad durante el entrenamiento.
Por ejemplo, en problemas de regresión, es común no utilizar función de activación en la capa de salida o seleccionar una que permita valores continuos. En clasificación binaria, la función sigmoide es adecuada en la capa de salida, mientras que para clasificación multiclase se utiliza softmax.
Técnicas de regularización para redes neuronales profundas
El entrenamiento de redes neuronales profundas puede conducir a modelos que se ajustan demasiado bien a los datos de entrenamiento, perdiendo la capacidad de generalizar a datos nuevos. Este fenómeno, conocido como sobreajuste, puede mitigarse mediante técnicas de regularización que mejoran el rendimiento del modelo en el conjunto de validación y en datos no vistos. A continuación, se presentan las técnicas de regularización más utilizadas en redes neuronales profundas y cómo implementarlas en TensorFlow con Keras.
Regularización L1 y L2 (Penalización de pesos): Estas técnicas añaden un término de penalización a la función de pérdida, incentivando al modelo a mantener los pesos pequeños. La regularización L1 promueve la esparsidad, llevando a algunos pesos a ser exactamente cero, mientras que la regularización L2 dispersa el valor de los pesos reduciendo su magnitud.
La implementación en Keras es sencilla mediante los parámetros kernel_regularizer
y bias_regularizer
en las capas:
from tensorflow.keras import layers, regularizers
# Capa densa con regularización L2
capa_regularizada = layers.Dense(
64,
activation='relu',
kernel_regularizer=regularizers.L2(0.001)
)
En este ejemplo, se aplica una penalización L2 con un factor de regularización de 0.001
. Esto añade el término 0.001 * sumatorio(pesos^2)
a la función de pérdida, penalizando pesos grandes y ayudando a prevenir el sobreajuste.
Dropout: Esta técnica consiste en desactivar aleatoriamente (poner a cero) un porcentaje de neuronas en cada capa durante el entrenamiento. Esto fuerza a la red a no depender excesivamente de neuronas específicas, promoviendo la robustez y reduciendo el sobreajuste.
En Keras, se implementa mediante la capa Dropout
:
# Añadiendo Dropout después de una capa densa
modelo = tf.keras.Sequential([
layers.Dense(128, activation='relu'),
layers.Dropout(0.5),
layers.Dense(10, activation='softmax')
])
Aquí, Dropout(0.5)
indica que el 50% de las neuronas se desactivarán aleatoriamente en cada paso de entrenamiento. Es importante recordar que Dropout solo se aplica durante el entrenamiento y se desactiva durante la inferencia.
Early Stopping: El early stopping supervisa el rendimiento del modelo en un conjunto de validación y detiene el entrenamiento cuando el rendimiento deja de mejorar. Esto evita que el modelo continúe ajustando los datos de entrenamiento una vez alcanzado el rendimiento óptimo en validación.
En Keras, se utiliza el callback EarlyStopping:
from tensorflow.keras.callbacks import EarlyStopping
early_stopping = EarlyStopping(
monitor='val_loss',
patience=5,
restore_best_weights=True
)
modelo.fit(
X_train,
y_train,
validation_data=(X_val, y_val),
epochs=100,
callbacks=[early_stopping]
)
Con patience=5
, el entrenamiento se detendrá si la pérdida en validación no mejora después de 5 épocas consecutivas. El argumento restore_best_weights=True
asegura que los pesos del modelo se restablezcan al estado con mejor rendimiento en validación.
Batch Normalization: Aunque inicialmente propuesta para acelerar el entrenamiento, la normalización por lotes también actúa como una forma de regularización. Al normalizar las activaciones de las capas intermedias, reduce la dependencia del modelo en inicializaciones específicas y tasas de aprendizaje, y puede disminuir el sobreajuste.
Se implementa añadiendo capas BatchNormalization
:
# Modelo con Batch Normalization
modelo = tf.keras.Sequential([
layers.Dense(128),
layers.BatchNormalization(),
layers.Activation('relu'),
layers.Dense(10, activation='softmax')
])
La capa BatchNormalization
se inserta antes de la activación, normalizando las salidas de la capa densa. Esto ayuda a mantener las distribuciones de activaciones estables a lo largo del entrenamiento.
Data Augmentation: En problemas de visión por computadora, aumentar la cantidad y diversidad de datos de entrenamiento mediante transformaciones de las imágenes puede mejorar significativamente la generalización. Rotaciones, traslaciones, volteos y escalados son ejemplos comunes de aumentos.
En Keras, se emplean capas de preprocesamiento:
from tensorflow.keras import layers
data_augmentation = tf.keras.Sequential([
layers.RandomFlip('horizontal'),
layers.RandomRotation(0.1),
layers.RandomZoom(0.1),
])
modelo = tf.keras.Sequential([
data_augmentation,
layers.Conv2D(32, (3,3), activation='relu'),
# Resto del modelo...
])
Estas capas aplican transformaciones aleatorias a las imágenes en cada época, aumentando efectivamente el tamaño del dataset y mejorando la robustez del modelo.
Regularización mediante ruido en las entradas: Añadir ruido gaussiano a las entradas o a las activaciones de las capas intermedias puede actuar como regularizador, obligando al modelo a ser más resistente a variaciones en los datos.
# Añadiendo ruido a las entradas
modelo = tf.keras.Sequential([
layers.GaussianNoise(0.1),
layers.Dense(128, activation='relu'),
# Resto del modelo...
])
La capa GaussianNoise
aplica ruido con desviación estándar de 0.1
a las entradas, ayudando a generalizar mejor.
Regularización mediante la reducción de la complejidad del modelo: Limitar el número de capas y neuronas es una forma básica pero efectiva de regularización. Un modelo sobredimensionado tiene más probabilidades de sobreajustar. Es importante encontrar un equilibrio entre la capacidad del modelo y la cantidad de datos disponibles.
Aprendizaje temprano o "Warmup Learning Rate": Ajustar dinámicamente la tasa de aprendizaje puede contribuir a la regularización. Empezar con una tasa de aprendizaje baja y aumentarla gradualmente, o utilizar programas de decaimiento como el Cosine Annealing, puede mejorar la convergencia y evitar mínimos locales.
En Keras, se pueden emplear callbacks como LearningRateScheduler
:
def scheduler(epoch, lr):
if epoch < 10:
return lr + 0.0001
else:
return lr * tf.math.exp(-0.1)
lr_scheduler = tf.keras.callbacks.LearningRateScheduler(scheduler)
modelo.fit(
X_train,
y_train,
epochs=50,
callbacks=[lr_scheduler]
)
Este ejemplo incrementa la tasa de aprendizaje durante las primeras 10 épocas y luego la reduce exponencialmente.
Ensemble de modelos: Combinar las predicciones de múltiples modelos puede reducir la varianza y mejorar la generalización. Aunque implica un mayor costo computacional, es una técnica efectiva para mejorar el rendimiento en competiciones y aplicaciones críticas.
Aplicaciones comunes de las redes neuronales de múltiples capas
Las redes neuronales de múltiples capas (MLP) tienen una amplia variedad de aplicaciones en diversos campos debido a su capacidad para modelar relaciones no lineales complejas. Algunas de las aplicaciones más comunes incluyen:
- Clasificación y reconocimiento de patrones en datos tabulares: Las MLP son ampliamente utilizadas en problemas de clasificación donde los datos se presentan en forma de atributos numéricos o categóricos. Por ejemplo, en el análisis de fraude financiero, las MLP pueden aprender a distinguir entre transacciones legítimas y fraudulentas basándose en patrones detectados en los datos históricos.
- Predicción y análisis de series temporales simples: En ámbitos como la economía o la meteorología, las MLP pueden predecir valores futuros basándose en datos históricos. Al capturar las tendencias y patrones temporales, pueden ser una herramienta eficaz para pronosticar variables como precios de acciones, demanda energética o condiciones climáticas.
- Procesamiento de señales y control: En ingeniería, las MLP se emplean para el procesamiento y análisis de señales, como filtrado, compresión y reconocimiento de patrones en señales de audio o electromagnéticas. También se aplican en sistemas de control donde se requieren aproximaciones de funciones complejas para el control de dispositivos y procesos industriales.
- Sistemas de recomendación simples: Las MLP pueden utilizarse para crear sistemas de recomendación que sugieren productos o contenidos a los usuarios basándose en preferencias y comportamientos previos. Aunque en sistemas más complejos se emplean arquitecturas avanzadas, las MLP son efectivas en escenarios donde las relaciones entre las variables son manejables.
- Reconocimiento de escritura y dígitos manuscritos: Un ejemplo clásico es el reconocimiento de dígitos en el conjunto de datos MNIST. Las MLP pueden clasificar imágenes de números escritos a mano, identificando correctamente el dígito representado. Aunque para imágenes más complejas se prefieren las redes convolucionales (CNN), las MLP son adecuadas para imágenes pequeñas y simples.
- Detección de fallos y mantenimiento predictivo: En el sector industrial, las MLP se utilizan para predecir fallos en maquinaria y equipos. Analizando datos sensoriales y operativos, pueden anticipar fallos potenciales, permitiendo realizar mantenimiento preventivo y evitando costos asociados a paradas inesperadas.
- Análisis de sentimientos y opiniones en texto estructurado: Aunque el procesamiento del lenguaje natural avanzado suele requerir redes recurrentes o transformadores, las MLP pueden abordar tareas básicas de análisis de sentimientos si los textos se representan mediante técnicas como Bolsa de Palabras (Bag of Words) o TF-IDF. Esto es útil para clasificar opiniones como positivas o negativas en reseñas y comentarios.
- Problemas de regresión múltiple: Las MLP son eficaces en modelos de regresión donde se predicen valores continuos. Por ejemplo, en el sector inmobiliario, se pueden estimar precios de viviendas en función de características como ubicación, tamaño y antigüedad, aprendiendo relaciones no lineales entre estas variables.
- Clasificación de enfermedades y diagnóstico médico sencillo: En medicina, las MLP se emplean para ayudar en el diagnóstico basándose en datos clínicos y de laboratorio. Por ejemplo, pueden clasificar si un paciente tiene riesgo de padecer cierta enfermedad según sus parámetros biomédicos.
A continuación, se muestra un ejemplo de cómo implementar una MLP para clasificar dígitos manuscritos utilizando el conjunto de datos MNIST en TensorFlow:
import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical
# Cargar y preprocesar los datos
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# Aplanar las imágenes de 28x28 píxeles a vectores de 784 elementos
X_train = X_train.reshape(60000, 784).astype('float32') / 255
X_test = X_test.reshape(10000, 784).astype('float32') / 255
# Convertir las etiquetas a categorías
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
# Definir el modelo MLP
modelo = models.Sequential()
modelo.add(layers.Dense(512, activation='relu', input_shape=(784,)))
modelo.add(layers.Dense(256, activation='relu'))
modelo.add(layers.Dense(10, activation='softmax'))
# Compilar el modelo
modelo.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# Entrenar el modelo
modelo.fit(X_train, y_train, epochs=10, batch_size=128, validation_split=0.1)
# Evaluar el modelo
loss, accuracy = modelo.evaluate(X_test, y_test)
print(f"Precisión en el conjunto de prueba: {accuracy:.2%}")
En este ejemplo, hemos construido una red neuronal de múltiples capas con dos capas ocultas de 512 y 256 neuronas respectivamente, utilizando la función de activación ReLU. La capa de salida emplea la función softmax para clasificar las imágenes en una de las diez categorías posibles (dígitos del 0 al 9). Este modelo es capaz de lograr una precisión alta en la tarea de reconocimiento de dígitos.
Otra aplicación notable es en el ámbito de las finanzas, donde las MLP pueden predecir el comportamiento de los mercados o el riesgo crediticio. Analizando datos históricos y variables económicas, las redes pueden ayudar en la toma de decisiones de inversión y en la evaluación de solicitudes de crédito.
En el sector energético, se utilizan para predecir la demanda de consumo eléctrico, optimizando la producción y distribución de energía. Las MLP pueden modelar las variaciones en el consumo basadas en factores como el clima, la hora del día y patrones de uso.
Todas las lecciones de TensorFlow
Accede a todas las lecciones de TensorFlow y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción Al Deep Learning Y Redes Neuronales
Introducción Y Entorno
Introducción A Tensorflow
Introducción Y Entorno
Introducción A Keras
Introducción Y Entorno
Redes Neuronales De Múltiples Capas
Introducción Y Entorno
Algoritmo De Backpropagation
Introducción Y Entorno
Implementación De Una Red Neuronal Con Numpy
Introducción Y Entorno
Modelo Con Api Secuencial
Construcción De Modelos Con Keras
Modelo Con Api Funcional
Construcción De Modelos Con Keras
Subclases De Modelos
Construcción De Modelos Con Keras
Capas En Keras
Construcción De Modelos Con Keras
Funciones De Activación
Construcción De Modelos Con Keras
Redes Neuronales Densas De Regresión
Construcción De Modelos Con Keras
Redes Neuronales Densas De Clasificación Binaria
Construcción De Modelos Con Keras
Redes Neuronales Densas De Clasificación Multiclase
Construcción De Modelos Con Keras
Redes Convolucionales Cnn
Construcción De Modelos Con Keras
Redes Recurrentes Rnn
Construcción De Modelos Con Keras
Redes Neuronales Mixtas
Construcción De Modelos Con Keras
Api Dataset
Procesamiento De Datos
Manejo De Valores Faltantes
Procesamiento De Datos
Encoding De Valores Categóricos En Continuos
Procesamiento De Datos
Preprocesados De Escalado, Normalización Y Estandarización
Procesamiento De Datos
Generación De Nuevas Características
Procesamiento De Datos
Algoritmos De Optimización
Entrenamiento Y Evaluación De Modelos
Técnicas De Validación
Entrenamiento Y Evaluación De Modelos
Monitorización De Entrenamiento
Entrenamiento Y Evaluación De Modelos
Redes Generativas Adversariales Gans
Técnicas Avanzadas
Transformers
Técnicas Avanzadas
Autoencoders
Técnicas Avanzadas
Carga De Capas Ya Hechas
Técnicas Avanzadas
Regularización De Modelos
Herramientas Y Optimización
Hiperparámetros Con Keras Tuner
Herramientas Y Optimización
Tensorboard
Herramientas Y Optimización
Uso De Tensorflow Keras En Gpu
Herramientas Y Optimización
Objetivos de aprendizaje de esta lección
- Comprender la arquitectura de las redes neuronales de múltiples capas (MLP).
- Aprender a implementar MLP utilizando TensorFlow y Keras.
- Diferenciar entre funciones de activación y su efecto en MLP.
- Reconocer técnicas de regularización para mejorar modelos.
- Aplicar MLP a problemas reales en diversas áreas como finanzas o medicina.