enn-project
Алгоритм нейронной сети с динамической топологией
Section titled “Алгоритм нейронной сети с динамической топологией”Emergent Neural Network (ENN) - это научно обоснованный алгоритм нейронной сети, объединяющий динамическую топологию, энергобюджет и формальные методы анализа.
🎯 Ключевые особенности
Section titled “🎯 Ключевые особенности”Научная новизна:
Section titled “Научная новизна:”- Динамическая топология - сеть сама определяет оптимальную структуру
- Энергобюджет - формализованное управление ресурсами
- Теоретический анализ - условия сходимости и стабильности
- Формальная каузальность - Granger Causality, SCM, do-calculus
- Модульная архитектура - специализированные модули для разных применений
📁 Структура проекта
Section titled “📁 Структура проекта”🚀 Быстрый старт
Section titled “🚀 Быстрый старт”Базовое использование
Section titled “Базовое использование”from core import EmergentNeuralNetworkimport torch
# Создание сетиenn = EmergentNeuralNetwork( input_size=10, output_size=1, initial_hidden=5, max_neurons=100)
# Обучениеx = torch.randn(100, 10)y = torch.randn(100, 1)
for i in range(100): enn.learn(x[i:i+1], y[i:i+1], reward=1.0)
# Использованиеpredictions = enn.forward(x)Специализированные модули
Section titled “Специализированные модули”Автономные агенты
Section titled “Автономные агенты”from modules import AutonomousAgentENN
agent = AutonomousAgentENN(input_size=8, output_size=2)agent.learn_online(observation, action, reward)Continual Learning
Section titled “Continual Learning”from modules import ContinualLearningENN
cl_enn = ContinualLearningENN(input_size=10, output_size=1)cl_enn.learn_task(task_id=0, x, y, importance=1.0)cl_enn.learn_task(task_id=1, x2, y2, importance=1.0)Ресурсно-ограниченные системы
Section titled “Ресурсно-ограниченные системы”from modules import ResourceConstrainedENN
rc_enn = ResourceConstrainedENN( input_size=5, output_size=1, max_energy_per_step=1.0, max_neurons=50)rc_enn.adapt_to_resources(available_energy=10.0, available_memory=30)🔬 Научные компоненты
Section titled “🔬 Научные компоненты”Теоретический анализ
Section titled “Теоретический анализ”from core import StabilityAnalyzer
analyzer = StabilityAnalyzer()report = analyzer.get_stability_report(weights, energy_history, neuron_counts, max_neurons)Причинно-следственная логика
Section titled “Причинно-следственная логика”from core import CausalityAnalyzer
causality = CausalityAnalyzer()causal_graph = causality.build_causal_graph(activations_history)📊 Бенчмарки
Section titled “📊 Бенчмарки”Сравнение с базовыми моделями
Section titled “Сравнение с базовыми моделями”from benchmarks import compare_with_baselines
results = compare_with_baselines( dataset_name="synthetic", train_data=(X_train, y_train), test_data=(X_test, y_test), epochs=100)Тесты робастности
Section titled “Тесты робастности”from benchmarks import RobustnessTester
tester = RobustnessTester()tester.test_noise_robustness(model, x, y)tester.test_catastrophic_forgetting(model, task1_data, task2_data)report = tester.generate_report()📚 Документация
Section titled “📚 Документация”BREAKTHROUGH_PAPER.md- Полная научная статьяcore/- Документация ядраmodules/- Документация модулейbenchmarks/- Документация бенчмарков
🎯 Области применения
Section titled “🎯 Области применения”- Автономные агенты - адаптация к новым условиям
- Continual Learning - обучение на последовательности задач
- Ресурсно-ограниченные системы - мобильные устройства, IoT
- Научные исследования - изучение эмерджентных свойств
📝 Установка
Section titled “📝 Установка”pip install -r requirements.txtSource · AGPL-3.0