Una aplicación interactiva construida con Streamlit para visualizar y simular el comportamiento de una neurona artificial con diferentes configuraciones de entradas, pesos, sesgo y funciones de activación.
Este simulador permite comprender de manera práctica cómo funciona una neurona artificial, que es la unidad básica de procesamiento en redes neuronales. A través de una interfaz intuitiva, puedes:
- Configurar el número de entradas (1-10)
- Asignar valores personalizados a cada entrada
- Ajustar los pesos de cada entrada
- Configurar el sesgo (bias)
- Seleccionar diferentes funciones de activación
- Visualizar el resultado del cálculo de la neurona
- Interfaz Intuitiva: Desarrollada con Streamlit para una experiencia de usuario fluida
- Entradas Dinámicas: Ajusta el número de entradas según tus necesidades (1-10)
- Múltiples Funciones de Activación: Elige entre:
- Sigmoide
- ReLU (Rectified Linear Unit)
- Tanh (Tangente Hiperbólica)
- Binary Step
- Cálculos en Tiempo Real: Visualiza los resultados instantáneamente
- Educativo: Perfecto para aprender sobre redes neuronales artificiales
- Python 3.7 o superior
- pip (gestor de paquetes de Python)
- Construye la imagen Docker:
docker compose build- Ejecuta el contenedor:
docker compose up-
Selecciona el número de entradas: Usa el slider para elegir cuántas entradas deseas (1-10)
-
Configura entradas y pesos: Para cada entrada, ingresa:
- El valor de la entrada
- El peso asociado a esa entrada
-
Establece el sesgo: Configura el valor del sesgo (bias) en la sección correspondiente
-
Elige una función de activación: Selecciona una de las cuatro funciones disponibles
-
Calcula la salida: Haz clic en el botón "Calcular Salida" para ver el resultado
simulador-neuronal/
├── src/
│ ├── app.py # Aplicación principal con interfaz Streamlit
│ ├── Neurona.py # Clase Neurona con lógica de cálculo
│ └── data/
│ └── neurona.webp # Imagen de referencia
├── requirements.txt # Dependencias del proyecto
├── Dockerfile # Configuración para Docker
├── docker-compose.yml # Configuración de Docker Compose
└── README.md # Este archivo
- Streamlit: Framework para crear aplicaciones web interactivas en Python
- NumPy: Biblioteca para computación numérica
- Python 3: Lenguaje de programación
Las dependencias del proyecto se encuentran en requirements.txt:
- streamlit
- numpy
Función suave que mapea valores a un rango (0, 1). Usada tradicionalmente en redes neuronales.
Función lineal rectificada que devuelve el máximo entre 0 y el valor de entrada.
Similar a sigmoide pero mapea valores a un rango (-1, 1).
Función escalón binario que devuelve 0 o 1 basado en si la entrada es negativa o positiva.
© Cristina Vacas López - CPIFP Alan Turing
Nota: Este proyecto es educativo y está diseñado para ayudar a entender los conceptos fundamentales de las neuronas artificiales.