Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simulador Neuronal 🧠

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.

Descripción del Proyecto

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

Características

  • 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

Requisitos Previos

  • Python 3.7 o superior
  • pip (gestor de paquetes de Python)

Despliegue con Docker

  1. Construye la imagen Docker:
docker compose build
  1. Ejecuta el contenedor:
docker compose up

Uso

  1. Selecciona el número de entradas: Usa el slider para elegir cuántas entradas deseas (1-10)

  2. Configura entradas y pesos: Para cada entrada, ingresa:

    • El valor de la entrada
    • El peso asociado a esa entrada
  3. Establece el sesgo: Configura el valor del sesgo (bias) en la sección correspondiente

  4. Elige una función de activación: Selecciona una de las cuatro funciones disponibles

  5. Calcula la salida: Haz clic en el botón "Calcular Salida" para ver el resultado

Estructura del Proyecto

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

Tecnologías Utilizadas

  • Streamlit: Framework para crear aplicaciones web interactivas en Python
  • NumPy: Biblioteca para computación numérica
  • Python 3: Lenguaje de programación

Dependencias

Las dependencias del proyecto se encuentran en requirements.txt:

  • streamlit
  • numpy

Funciones de Activación

Sigmoide

Función suave que mapea valores a un rango (0, 1). Usada tradicionalmente en redes neuronales.

$$\sigma(x) = \frac{1}{1 + e^{-x}}$$

ReLU (Rectified Linear Unit)

Función lineal rectificada que devuelve el máximo entre 0 y el valor de entrada.

$$f(x) = \max(0, x)$$

Tanh (Tangente Hiperbólica)

Similar a sigmoide pero mapea valores a un rango (-1, 1).

$$f(x) = \tanh(x)$$

Binary Step

Función escalón binario que devuelve 0 o 1 basado en si la entrada es negativa o positiva.

$$f(x) = \begin{cases} 1 & \text{si } x \geq 0 \ 0 & \text{si } x < 0 \end{cases}$$

Autor

© 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.

About

Aplicación web interactiva para simular una neurona artificial con posibilidad de ajustar la cantidad de pesos, entradas, sesgo y función de activación

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages