##### Исследование - дообучение языковой модели (LM) для системы разпознавания речи на базе VOSK
В рамках проекта (по заказу RingDNA) был разработан сервер по переводу речи в текст (STT)
на базе [VOSK](https://github.com/alphacep/vosk-api), а также дообучена языковая модель
по представленному датасету. Была также предпринята попытка дообучения акустической модели.
Проект завершен.
##### Исследование в области применеие технологий constraint programming в анализе текста
К сожаление исследования были начаты в рамках стартапа который не смог состояться.
Но были проведены весьма интересные изыскания. Был выбран открытый проект и базовой
фунциональностью [puzzle-solver](https://git.aidev.ru/andrey/puzzle-solver) и доработана
поддежка [диапазонных чисел](https://gitlab.com/bit-refined/ranges/), а также начата
разработка по адаптации данного решателя к дереву [FST](https://en.wikipedia.org/wiki/Finite-state_transducer) которое было сгенерированно
по списку из команд для голосового помощника.
Проект не завершен.
##### Исследование - разработка стекового процессора на языке verilog
В рамках курсовой в университете был разработан процессор с минимальным набором инструкций [Forth](https://en.wikipedia.org/wiki/Forth_(programming_language)).
А также компилятор с языка [Forth](https://en.wikipedia.org/wiki/Forth_(programming_language)).
Исходный код планирую опубликовать, пока не доступен.
##### Исследование - разработка системы подавления фонового шума с массива микрофонов
Подавление шума при распознавании команды для голосового помощника методом выбора направления источника ([DOA](https://en.wikipedia.org/wiki/Direction_of_arrival))
и подавления сигналов пришедших из других направлений (с помощью [NMF](https://en.wikipedia.org/wiki/Non-negative_matrix_factorization) и
Исходный код планирую опубликовать, пока не доступен.
##### Исследование - эффективное использование алгоритмом кешей процессора
Целью данной работы было исследовать техники оптимизации и проблемы возникающие при оптимизации работы с памятью сложных алгоритмов.
В качестве алгоритма был выбран алгоритм матричного умножения.
Результат - [gemm](https://git.aidev.ru/andrey/gemm)
##### Исследование алгоритмов лежащих в основе технологий нейросетей
Целью данной работы было детально исследовать работу различных типов слоев
нейросетей (свертка, pooling, batch normalization etc.) и их обучение, а также различные типы оптимизаторов.
Результат - [yarnn](https://git.aidev.ru/andrey/yarnn)
##### Исследование - возможность создания иерархической структуры Sparce Coding
Собственная исследовательская работа. Цель - создание алгоритмов разпознавание объектов
на изображении (стереопаре) с высокой точность без 'черного ящика' в виде нейронной сети.
Была проделана огромная исследовательская работа, в качестве начальной точки отсчета был взят
алгоритм [Dictionary Learning](https://en.wikipedia.org/wiki/Sparse_dictionary_learning) и были попытки каскадировать его (аналог слоев с нейросети),
потом была реализация идеи добавления инвариантности к трансформациям (масштаб, поворот),
а также сделан динамический размер словаря и индексированный поиск по нему, потом изменен принцип
обучения (хотя базовый принцип [OMP](https://en.wikipedia.org/wiki/Matching_pursuit) остался прежним,
только отпала в небходимости в [SVD](https://en.wikipedia.org/wiki/Singular_value_decomposition) так как элементы словаря были ортогональны
по природе - это [кватернионы](<https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D1%82%D0%B5%D1%80%D0%BD%D0%B8%D0%BE%D0%BD>) и их декомпозиция сильно упростилась).
Наработки в рамках данного исследования не публиковал и не планирую.
### Опыт разработки
##### Индексированный поиск по изображениям и сематический поиск по тексту
Использование векторных БД типа [Milvus](<https://milvus.io/>) и [QDrant](<https://qdrant.tech/>).
Развитие [SDK](<https://github.com/milvus-io/milvus-sdk-rust>) для [Milvus](<https://milvus.io/>).
Разработка UI на языке [ReScript](<https://rescript-lang.org/>) + React.
##### Системная шина высокоэффективного обмена сообщениями
как между компонентами в рамках одной программы так и между приложениями с помощью Redis, RabbitMQ, Kafka или TCP(QUIC).
Библиотека используется на нескольких проектах и эффективно организует большое количество очередей и асинхронных задач.
Код проекта - [MessageBus](https://git.aidev.ru/andrey/messagebus)
##### Сервер транскрипции телефонной речи в текст (STT) на базе [VOSK](https://github.com/alphacep/vosk-api)
Разработан сам многопоточный сервер на языке Rust, нарезающий текст по паузам с помощью библиотеки [VAD](https://github.com/dpirch/libfvad)
и подающий отрезки на вход [VOSK](https://github.com/alphacep/vosk-api), а также биндинги к библиотекам.
##### Система детектирования ДТП по камерам наружного наблюдения за дорожной обстановкой
Сервер, обрабатывающий много потоков видео (RTSP), поиск объектов на кадрах,
трекинг объектов, детекторы различных событий/ситуаций, хранилище с функцией ротации, связь с внешней системой принятия решения.