Быстрый старт ENN
Установка
Заголовок раздела «Установка»cd enn-projectpip install -r requirements.txtБазовое использование
Заголовок раздела «Базовое использование»1. Простое обучение
Заголовок раздела «1. Простое обучение»import torchfrom core.enn_core import EmergentNeuralNetwork
# Создание сетиenn = EmergentNeuralNetwork( input_size=10, output_size=1, initial_hidden=5, max_neurons=50)
# Данныеx = torch.randn(100, 10)y = torch.sum(x, dim=1, keepdim=True) / 10
# Обучениеfor i in range(100): metrics = enn.learn(x[i:i+1], y[i:i+1], reward=1.0) if (i + 1) % 20 == 0: print(f"Эпоха {i+1}: ошибка={metrics['error']:.6f}")
# Предсказаниеpredictions = enn.forward(x)2. Автономный агент
Заголовок раздела «2. Автономный агент»from modules.autonomous_agents import AutonomousAgentENN
agent = AutonomousAgentENN(input_size=8, output_size=2)
# Онлайн обучениеobservation = torch.randn(8)action = torch.randn(2)reward = 1.0
metrics = agent.learn_online(observation, action, reward)print(f"Ошибка: {metrics['error']:.6f}")3. Continual Learning
Заголовок раздела «3. Continual Learning»from modules.continual_learning import ContinualLearningENN
cl_enn = ContinualLearningENN(input_size=10, output_size=1)
# Задача 1x1 = torch.randn(50, 10)y1 = torch.randn(50, 1)for i in range(50): cl_enn.learn_task(0, x1[i:i+1], y1[i:i+1], importance=1.0)
# Задача 2x2 = torch.randn(50, 10)y2 = torch.randn(50, 1)for i in range(50): cl_enn.learn_task(1, x2[i:i+1], y2[i:i+1], importance=1.0)
# Оценка забыванияstats = cl_enn.get_forgetting_statistics()print(f"Забывание: {stats['average_forgetting']:.6f}")4. Ресурсно-ограниченная система
Заголовок раздела «4. Ресурсно-ограниченная система»from modules.resource_constrained import ResourceConstrainedENN
rc_enn = ResourceConstrainedENN( input_size=5, output_size=1, max_energy_per_step=1.0, max_neurons=30)
# Адаптация к ресурсамrc_enn.adapt_to_resources(available_energy=10.0, available_memory=20)
# Обучениеx = torch.randn(50, 5)y = torch.randn(50, 1)for i in range(50): metrics = rc_enn.learn(x[i:i+1], y[i:i+1], reward=1.0) print(f"Энергия использована: {metrics.get('energy_used', 0):.2f}")Запуск примеров
Заголовок раздела «Запуск примеров»python examples/basic_usage.pyБенчмарки
Заголовок раздела «Бенчмарки»from benchmarks.compare_models import compare_with_baselines
# Подготовьте данныеX_train = torch.randn(100, 10)y_train = torch.randn(100, 1)X_test = torch.randn(20, 10)y_test = torch.randn(20, 1)
# Сравнениеresults = compare_with_baselines( "synthetic", (X_train, y_train), (X_test, y_test), epochs=50)
from benchmarks.compare_models import print_comparison_resultsprint_comparison_results(results)Тесты робастности
Заголовок раздела «Тесты робастности»from benchmarks.robustness_tests import RobustnessTesterfrom core.enn_core import EmergentNeuralNetwork
# Обучение моделиenn = EmergentNeuralNetwork(input_size=10, output_size=1)# ... обучение ...
# Тестыtester = RobustnessTester()
# Устойчивость к шумуtester.test_noise_robustness(enn, X_test, y_test)
# Катастрофическое забываниеtester.test_catastrophic_forgetting(enn, task1_data, task2_data)
# Отчетprint(tester.generate_report())Дополнительная информация
Заголовок раздела «Дополнительная информация»README.md- Полная документацияARCHITECTURE.md- Архитектура проектаSUMMARY.md- Резюме реализацииBREAKTHROUGH_PAPER.md- Научная статья