AIDev

Общие сведения

Ткаченко Андрей Александрович

Образование

Саратовский Государственный Технический Университет им. Ю.А. Гагарина

Факультет Электронной Техники и Приборостроения

Специальность: Управление и информатика в технических системах

2007-2012гг.

Ключевые навыки

Исследования и разработки

Исследование в области трекинга объектов

Исследование проводилось в ходе разработки системы детектирования ДТП с камер наружного наблюдения в рамках сотрудничества с компанией http://satellite-soft.ru . Изначально использовался переписанный мною deep-sort на Rust (код доступен по https://git.aidev.ru/andrey/deep-sort) затем был разработан улучшенный подход в предсказании учитывающий движение автомобилей по кривой (квадратичной параболе) - qtrack.

Проект завершен.

Исследование - дообучение языковой модели (LM) для системы разпознавания речи на базе VOSK

В рамках проекта (по заказу RingDNA) был разработан сервер по переводу речи в текст (STT) на базе VOSK, а также дообучена языковая модель по представленному датасету. Была также предпринята попытка дообучения акустической модели.

Проект завершен.

Исследование в области применения технологий constraint programming в анализе текста

К сожалению, исследования были начаты в рамках стартапа, который не смог состояться. Но были проведены весьма интересные изыскания. Был выбран открытый проект и базовой фунциональностью puzzle-solver и доработана поддежка диапазонных чисел, а также начата разработка по адаптации данного решателя к дереву FST которое было сгенерированно по списку из команд для голосового помощника.

Проект не завершен.

Исследование - разработка стекового процессора на языке verilog

В рамках курсовой в университете был разработан процессор с минимальным набором инструкций Forth. А также компилятор с языка Forth.

Исходный код планирую опубликовать, пока не доступен.

Исследование - разработка системы подавления фонового шума с массива микрофонов

Подавление шума при распознавании команды для голосового помощника методом выбора направления источника (DOA) и подавления сигналов пришедших из других направлений (с помощью NMF и Dictionary Learning).

Исходный код планирую опубликовать, пока не доступен.

Исследование - эффективное использование алгоритмом кешей процессора

Целью данной работы было исследовать техники оптимизации и проблемы возникающие при оптимизации работы с памятью сложных алгоритмов. В качестве алгоритма был выбран алгоритм матричного умножения.

Результат - gemm

Исследование алгоритмов лежащих в основе технологий нейросетей

Целью данной работы было детально исследовать работу различных типов слоев нейросетей (свертка, pooling, batch normalization etc.) и их обучение, а также различные типы оптимизаторов.

Результат - yarnn

Исследование - возможность создания иерархической структуры Sparce Coding

Собственная исследовательская работа. Цель - создание алгоритмов разпознавание объектов на изображении (стереопаре) с высокой точность без ‘черного ящика’ в виде нейронной сети. Была проделана огромная исследовательская работа, в качестве начальной точки отсчета был взят алгоритм Dictionary Learning и были попытки каскадировать его (аналог слоев с нейросети), потом была реализация идеи добавления инвариантности к трансформациям (масштаб, поворот), а также сделан динамический размер словаря и индексированный поиск по нему, потом изменен принцип обучения (хотя базовый принцип OMP остался прежним, только отпала в небходимости в SVD так как элементы словаря были ортогональны по природе - это кватернионы и их факторизация сильно упростилась).

Наработки в рамках данного исследования не публиковал и не планирую.

Индексированный поиск по изображениям и сематический поиск по тексту

Использование векторных БД типа Milvus и QDrant. Развитие SDK для Milvus. Разработка UI на языке ReScript + React.

Системная шина высокоэффективного обмена сообщениями

как между компонентами в рамках одной программы так и между приложениями с помощью Redis, RabbitMQ, Kafka или TCP(QUIC). Библиотека используется на нескольких проектах и эффективно организует большое количество очередей и асинхронных задач.

Код проекта - MessageBus

Сервер транскрипции телефонной речи в текст (STT) на базе VOSK

Разработан многопоточный сервер на языке Rust, нарезающий текст по паузам с помощью библиотеки VAD и подающий отрезки на вход VOSK, а также биндинги к библиотекам.

Система детектирования ДТП по камерам наружного наблюдения за дорожной обстановкой

Сервер, обрабатывающий много потоков видео (RTSP), поиск объектов на кадрах, трекинг объектов, детекторы различных событий/ситуаций, хранилище с функцией ротации, связь с внешней системой принятия решения.

Опыт работы

Ведущий разработчик

Архитектор ПО

Инженер-программист

Инженер-программист

UI Инженер

Старший инженер программист

Web-разработчик

Участие в публичных проектах

Хобби

Сноубординг, Кайтсерфинг, Кайтбординг, Велопоходы, Конные походы, Скалолазание