Overview
La clase introduce la creación y entrenamiento de una red neuronal simple desde cero en Python usando TensorFlow y Keras, explicando las diferencias entre programación regular y aprendizaje automático.
Diferencias entre Programación Regular y Aprendizaje Automático
- En programación regular se define explícitamente el algoritmo que transforma una entrada en un resultado.
- En aprendizaje automático no conocemos la fórmula, el modelo aprende a partir de ejemplos de entrada y resultado.
Ejemplo: Conversión de Celsius a Fahrenheit
- La conversión tradicional usa la fórmula: F = C × 1.8 + 32.
- Se propone usar una red neuronal simple para aprender la conversión sin darle la fórmula.
Estructura de una Red Neuronal Simple
- Las redes neuronales tienen capas: entrada, salida y opcionalmente ocultas.
- Cada conexión tiene un peso (importancia de la conexión), cada neurona (excepto entrada) tiene un sesgo (ajuste adicional).
- En esta red, la entrada se multiplica por el peso y se suma el sesgo para obtener el resultado.
Entrenamiento de la Red Neuronal
- Inicialmente, los pesos y sesgos se asignan de forma aleatoria.
- Se entrenan con ejemplos (Celsius-Fahrenheit), ajustando pesos y sesgos según el error de predicción.
- Se utiliza Google Colab para programar sin necesidad de instalaciones.
- Se usan TensorFlow y Keras para definir el modelo y NumPy para los arreglos de datos.
- El modelo se compila con optimizador ADAM y función de pérdida "Mean Squared Error".
- Se entrena varias veces (épocas) para mejorar la precisión ajustando los parámetros.
Resultados y Observaciones
- Tras el entrenamiento, la red aprende valores de peso y sesgo cercanos a los de la fórmula original.
- Una red más compleja puede aprender más rápido pero sus parámetros pueden no ser interpretables.
- Redes complejas buscan combinaciones óptimas de pesos y sesgos, aunque sean difíciles de analizar.
Key Terms & Definitions
- Peso — Valor que multiplica la entrada en cada conexión de la red neuronal.
- Sesgo — Valor sumado en cada neurona (excepto entrada) para ajustar la salida.
- Época — Una pasada completa por todos los datos de entrenamiento.
- Optimizador ADAM — Algoritmo que ajusta los pesos y sesgos de manera eficiente.
- Error Cuadrático Medio (Mean Squared Error) — Método para medir qué tanto se equivoca la red en sus predicciones.
- Capa Densa — Tipo de capa en la que cada neurona está conectada a todas las neuronas de la siguiente capa.
Action Items / Next Steps
- Probar con distintos números de épocas y tasas de aprendizaje.
- Experimentar agregando más capas o neuronas para ver el efecto en el entrenamiento.
- Ver el siguiente video sobre redes neuronales convolucionales para visión artificial.