Skip to content

AIFramework/AIFrameworkOpen

Stars Forks Watchers

AIFramework версия 2.2 Open — это универсальный кроссплатформенный фреймворк для разработки и внедрения решений, связанных с искусственным интеллектом (ИИ), на языке C#. Он охватывает широкий спектр задач: от классификации и регрессии до обучения с подкреплением и обработки данных, интегрируя возможности работы с нейронными сетями, цифровой обработки сигналов, статистического анализа и многого другого.

Основные компоненты и возможности фреймворка:

1. Ядро (Core):

Ядро AIFramework предоставляет базовые структуры и типы данных, необходимые для построения сложных ИИ-систем. Среди основных возможностей:

  • Типы данных: поддержка работы с векторами, матрицами, тензорами различных рангов, включая их комплексные аналоги.
  • Тензоры: многомерные тензоры с поддержкой градиентов, что делает ядро пригодным для использования в задачах глубокого обучения, оптимизации и других вычислительно сложных задачах.
  • Математические функции и структуры: линейная алгебра, многомерные массивы, обработка комплексных чисел и их использование в вычислениях.
Статистика и анализ данных:
  • Оценка данных с использованием методов корреляции и регрессионного анализа.
  • Генерация и анализ распределений данных.
  • Возможности для работы с вероятностными моделями.

2. Конвейеры обработки данных (Data Pipelines):

AIFramework предлагает мощные конвейеры для подготовки данных, которые включают этапы:

  • Загрузка данных из различных форматов, в том числе поддержка работы с большими объемами данных.
  • Нормализация и стандартизация данных для подготовки к дальнейшей обработке и обучению моделей.
  • Аугментация данных: добавление вариативности в обучающие данные для улучшения устойчивости моделей.
  • Векторизация текстов и других типов данных, что делает фреймворк полезным для анализа естественного языка (NLP).

3. Модули машинного обучения и нейронных сетей:

AIFramework поддерживает классические и современные подходы к машинному обучению:

  • Классификация: встроенные алгоритмы для задач классификации с возможностью кастомизации моделей.
  • Регрессия: поддержка линейных и нелинейных методов регрессии для прогнозирования.
  • Обучение с подкреплением: возможность построения моделей для задач, требующих взаимодействия с окружением и обучения на основе получаемой обратной связи.
Нейронные сети:
  • Полная поддержка многослойных нейронных сетей (MLP), рекуррентных нейронных сетей (RNN) и сверточных нейронных сетей (CNN).
  • Различные типы слоев и активационных функций (ReLU, Sigmoid, Tanh и другие).
  • Функции потерь (Loss Functions) и оптимизаторы (SGD, Adam, RMSprop) для обучения моделей.
  • Возможность регуляризации для предотвращения переобучения и улучшения качества моделей.

4. Интеграция с ONNX:

AIFramework поддерживает интеграцию с ONNX (Open Neural Network Exchange), что позволяет использовать предварительно обученные модели из других фреймворков, таких как Keras, PyTorch и TensorFlow. Это делает AIFramework гибким и позволяет комбинировать результаты, полученные в других средах, с C#-экосистемой.

5. Модуль цифровой обработки сигналов (DSP):

AIFramework предоставляет расширенные возможности для цифровой обработки сигналов, что особенно актуально для задач, связанных с аудио, видео и временными рядами. Среди поддерживаемых функций:

  • Фильтрация сигналов (фильтры Баттерворта, Чебышева и другие).
  • Модуляция и демодуляция сигналов.
  • Анализ спектров, включая преобразования Фурье (FFT) и волновые преобразования.
  • Поддержка адаптивной фильтрации и других методов улучшения качества сигналов.

6. Обработка естественного языка (NLP):

Модуль NLP фреймворка предоставляет инструменты для обработки текстов и анализа семантики:

  • Токенизация текстов с использованием кастомных и предварительно обученных токенизаторов (например, на базе BERT).
  • Векторизация текстов для использования в моделях машинного обучения.
  • Анализ последовательностей: поддержка моделей на основе марковских процессов и скрытых марковских моделей (HMM).
  • Генерация текстов и поддержка задач автоматической классификации текстовых данных.

7. Модуль для вероятностной логики и нечетких систем:

Фреймворк включает возможности для работы с вероятностными и нечеткими логическими системами:

  • Нечеткая логика: поддержка моделей, основанных на нечётких множествах и правилах логического вывода.
  • Генетические алгоритмы для оптимизации и решения сложных задач на основе эволюционных принципов.

8. Фреймворки для визуализации данных и компьютерного зрения (CV):

AIFramework предлагает встроенные инструменты для работы с графикой и компьютерным зрением:

  • Обработка и фильтрация изображений, включая свертки, реконструкцию и фильтрацию.
  • Извлечение признаков из изображений для дальнейшей обработки в задачах классификации и других моделях.
  • Визуализация данных через графики, диаграммы и другие графические элементы.

9. Модуль ExplainitALL для интерпретируемого ИИ:

Этот модуль помогает анализировать генерацию моделей RAG:

  • Метрики измерения схожести текстов для интерпретации RAG и валидации LLM.
  • Методы для оценки вероятности галлюцинаций в RAG сеттинге.

Структура проекта:

Структура AIFramework тщательно организована и включает несколько отдельных модулей, которые обеспечивают гибкость при разработке и тестировании приложений на базе ИИ. Основные директории:

  • src: включает все исходные коды модулей фреймворка (алгоритмы, обработка данных, DSP, нейронные сети и другие).
  • Demo: примеры использования фреймворка для различных задач (например, классификация изображений или конвертация моделей ONNX).
  • Tests: тестовые приложения для проверки и валидации функциональности фреймворка.

Примеры использования:

  1. Демо-приложения для классификации изображений (например, проект DogCatClassif).
  2. Примеры конвертации и использования моделей ONNX.
  3. Примеры текстовой классификации и генерации с помощью NLP модулей.

Лицензия:

Проект распространяется под лицензией Apache 2.0, что обеспечивает свободу использования, модификации и распространения.

Заключение:

AIFramework версия 2.2 Open — это гибкая и мощная платформа для создания и интеграции ИИ-решений. Поддержка множества типов данных, интеграция с ONNX, возможность работы с нейронными сетями, статистикой, цифровой обработкой сигналов и текстами делают его отличным выбором для разработки как академических, так и коммерческих приложений в области ИИ.

About

AI Framework 2.2 для языка C#

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages