Uso del proyecto BONN
A continuación se detallan ejemplos de cómo ejecutar diferentes experimentos y modelos desde el repositorio.
1. Ejecutar BONN con entrenamiento superficial
python src/app.py
Este script entrena el modelo BONN con una sola capa entrenable tras proyecciones fijas y mide su precisión.
2. Ejecutar GateBONN (PyTorch)
python src/gatebonn/gatebonn_experiment.py
Este script entrena GateBONN sobre MNIST para distintos tamaños de entrenamiento y devuelve un DataFrame con la precisión media y desviación estándar.
3. Evaluar ensambles BONN
from src.ensemble.ensemble_bonn import EnsembleBONN
Puedes construir un ensamble de modelos BONN con:
ensemble = EnsembleBONN(fit_fn=my_fit_function)
accs = ensemble.evaluate_ensemble(X_test, y_test, ensemble_sizes=[1, 2, 5, 10])
4. Análisis de activación y escasez
from src.analysis.multimodality import analyze_kc_digit_multimodality
from src.analysis.neuron_ranking import kill_progressive_neurons
Estos módulos permiten medir multimodalidad y simular pruning sobre las KCs.
5. Visualización de resultados
from src.analysis.plot_utils import plot_surfaces_adjusted
from src.analysis.pruning_analysis import plot_pruning_progress_stylized
Las funciones de visualización permiten comparar arquitecturas y evaluar degradación de precisión ante eliminación de neuronas.