enn-project
Алгоритм нейронной сети с динамической топологией
Заголовок раздела «Алгоритм нейронной сети с динамической топологией»Emergent Neural Network (ENN) - это научно обоснованный алгоритм нейронной сети, объединяющий динамическую топологию, энергобюджет и формальные методы анализа.
🎯 Ключевые особенности
Заголовок раздела «🎯 Ключевые особенности»Научная новизна:
Заголовок раздела «Научная новизна:»- Динамическая топология - сеть сама определяет оптимальную структуру
- Энергобюджет - формализованное управление ресурсами
- Теоретический анализ - условия сходимости и стабильности
- Формальная каузальность - Granger Causality, SCM, do-calculus
- Модульная архитектура - специализированные модули для разных применений
📁 Структура проекта
Заголовок раздела «📁 Структура проекта»🚀 Быстрый старт
Заголовок раздела «🚀 Быстрый старт»Базовое использование
Заголовок раздела «Базовое использование»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)Специализированные модули
Заголовок раздела «Специализированные модули»Автономные агенты
Заголовок раздела «Автономные агенты»from modules import AutonomousAgentENN
agent = AutonomousAgentENN(input_size=8, output_size=2)agent.learn_online(observation, action, reward)Continual Learning
Заголовок раздела «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)Ресурсно-ограниченные системы
Заголовок раздела «Ресурсно-ограниченные системы»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)🔬 Научные компоненты
Заголовок раздела «🔬 Научные компоненты»Теоретический анализ
Заголовок раздела «Теоретический анализ»from core import StabilityAnalyzer
analyzer = StabilityAnalyzer()report = analyzer.get_stability_report(weights, energy_history, neuron_counts, max_neurons)Причинно-следственная логика
Заголовок раздела «Причинно-следственная логика»from core import CausalityAnalyzer
causality = CausalityAnalyzer()causal_graph = causality.build_causal_graph(activations_history)📊 Бенчмарки
Заголовок раздела «📊 Бенчмарки»Сравнение с базовыми моделями
Заголовок раздела «Сравнение с базовыми моделями»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)Тесты робастности
Заголовок раздела «Тесты робастности»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()📚 Документация
Заголовок раздела «📚 Документация»BREAKTHROUGH_PAPER.md- Полная научная статьяcore/- Документация ядраmodules/- Документация модулейbenchmarks/- Документация бенчмарков
🎯 Области применения
Заголовок раздела «🎯 Области применения»- Автономные агенты - адаптация к новым условиям
- Continual Learning - обучение на последовательности задач
- Ресурсно-ограниченные системы - мобильные устройства, IoT
- Научные исследования - изучение эмерджентных свойств
📝 Установка
Заголовок раздела «📝 Установка»pip install -r requirements.txtИсходный код · AGPL-3.0