2022-08-26 15:41:27 +04:00
# Общие сведения
< img title = "Me" src = "me.jpg" width = "224" height = "224" align = "right" / >
### Ткаченко Андрей Александрович
- **Дата рождения:** 12.12.1988 (33 года)
- **Телефон для связи:** +7 987 317 99 92
- **Email:** andrey@aidev.ru
2022-08-27 02:14:31 +04:00
- **Место проживания:** г . Саратов, Российская Федерация
2022-08-26 15:41:27 +04:00
- **Общий стаж в разработке**: более 13 лет
# Ключевые навыки
2022-08-27 02:14:31 +04:00
- Rust, Python, Rescript, PostgreSQL, NLP, Computer Vision, Torch, Onnx, Speech Recognition, AWS, Docker, WebAssembly, Git, Linux
2022-08-26 15:41:27 +04:00
2022-08-27 02:14:31 +04:00
# Исследования и разработки
2022-08-26 15:41:27 +04:00
2022-08-27 02:14:31 +04:00
#### Исследование в области трекинга объектов
2022-08-26 15:41:27 +04:00
Исследование проводилось в ходе разработки системы детектирования ДТП
с камер наружного наблюдения в рамках сотрудничества с компанией http://satellite-soft.ru .
Изначально использовался переписанный мною [deep-sort ](https://arxiv.org/abs/1703.07402 ) на
Rust (код доступен по < https: / / git . aidev . ru / andrey / deep-sort > ) затем был разработан
улучшенный подход в предсказании учитывающий движение автомобилей по
кривой (квадратичной параболе) - [qtrack ](https://git.aidev.ru/andrey/qtrack ).
Проект завершен.
2022-08-27 02:14:31 +04:00
#### Исследование - дообучение языковой модели (LM) для системы разпознавания речи на базе VOSK
2022-08-26 15:41:27 +04:00
В рамках проекта (по заказу RingDNA) был разработан сервер по переводу речи в текст (STT)
на базе [VOSK ](https://github.com/alphacep/vosk-api ), а также дообучена языковая модель
по представленному датасету. Была также предпринята попытка дообучения акустической модели.
Проект завершен.
2022-08-27 02:14:31 +04:00
#### Исследование в области применения технологий constraint programming в анализе текста
К сожалению, исследования были начаты в рамках стартапа, который не смог состояться.
2022-08-26 15:41:27 +04:00
Н о были проведены весьма интересные изыскания. Был выбран открытый проект и базовой
фунциональностью [puzzle-solver ](https://git.aidev.ru/andrey/puzzle-solver ) и доработана
поддежка [диапазонных чисел ](https://gitlab.com/bit-refined/ranges/ ), а также начата
разработка по адаптации данного решателя к дереву [FST ](https://en.wikipedia.org/wiki/Finite-state_transducer ) которое было сгенерированно
по списку из команд для голосового помощника.
Проект не завершен.
2022-08-27 02:14:31 +04:00
#### Исследование - разработка стекового процессора на языке verilog
2022-08-26 15:41:27 +04:00
В рамках курсовой в университете был разработан процессор с минимальным набором инструкций [Forth ](https://en.wikipedia.org/wiki/Forth_(programming_language )).
А также компилятор с языка [Forth ](https://en.wikipedia.org/wiki/Forth_(programming_language )).
Исходный код планирую опубликовать, пока не доступен.
2022-08-27 02:14:31 +04:00
#### Исследование - разработка системы подавления фонового шума с массива микрофонов
2022-08-26 15:41:27 +04:00
Подавление шума при распознавании команды для голосового помощника методом выбора направления источника ([DOA](https://en.wikipedia.org/wiki/Direction_of_arrival))
и подавления сигналов пришедших из других направлений (с помощью [NMF ](https://en.wikipedia.org/wiki/Non-negative_matrix_factorization ) и
[Dictionary Learning ](https://en.wikipedia.org/wiki/Sparse_dictionary_learning )).
Исходный код планирую опубликовать, пока не доступен.
2022-08-27 02:14:31 +04:00
#### Исследование - эффективное использование алгоритмом кешей процессора
2022-08-26 15:41:27 +04:00
Целью данной работы было исследовать техники оптимизации и проблемы возникающие при оптимизации работы с памятью сложных алгоритмов.
В качестве алгоритма был выбран алгоритм матричного умножения.
Результат - [gemm ](https://git.aidev.ru/andrey/gemm )
2022-08-27 02:14:31 +04:00
#### Исследование алгоритмов лежащих в основе технологий нейросетей
2022-08-26 15:41:27 +04:00
Целью данной работы было детально исследовать работу различных типов слоев
нейросетей (свертка, pooling, batch normalization etc.) и их обучение, а также различные типы оптимизаторов.
Результат - [yarnn ](https://git.aidev.ru/andrey/yarnn )
2022-08-27 02:14:31 +04:00
#### Исследование - возможность создания иерархической структуры Sparce Coding
2022-08-26 15:41:27 +04:00
Собственная исследовательская работа. Цель - создание алгоритмов разпознавание объектов
на изображении (стереопаре) с высокой точность без 'черного ящика' в виде нейронной сети.
Была проделана огромная исследовательская работа, в качестве начальной точки отсчета был взят
алгоритм [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> ) и их декомпозиция сильно упростилась).
Наработки в рамках данного исследования не публиковал и не планирую.
2022-08-27 02:14:31 +04:00
#### Индексированный поиск по изображениям и сематический поиск по тексту
2022-08-26 15:41:27 +04:00
Использование векторных БД типа [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.
2022-08-27 02:14:31 +04:00
#### Системная шина высокоэффективного обмена сообщениями
2022-08-26 15:41:27 +04:00
как между компонентами в рамках одной программы так и между приложениями с помощью Redis, RabbitMQ, Kafka или TCP(QUIC).
Библиотека используется на нескольких проектах и эффективно организует большое количество очередей и асинхронных задач.
Код проекта - [MessageBus ](https://git.aidev.ru/andrey/messagebus )
2022-08-27 02:14:31 +04:00
#### Сервер транскрипции телефонной речи в текст (STT) на базе [VOSK](https://github.com/alphacep/vosk-api)
Разработан многопоточный сервер на языке Rust, нарезающий текст по паузам с помощью библиотеки [VAD ](https://github.com/dpirch/libfvad )
2022-08-26 15:41:27 +04:00
и подающий отрезки на вход [VOSK ](https://github.com/alphacep/vosk-api ), а также биндинги к библиотекам.
2022-08-27 02:14:31 +04:00
#### Система детектирования ДТП по камерам наружного наблюдения за дорожной обстановкой
2022-08-26 15:41:27 +04:00
Сервер, обрабатывающий много потоков видео (RTSP), поиск объектов на кадрах,
трекинг объектов, детекторы различных событий/ситуаций, хранилище с функцией ротации, связь с внешней системой принятия решения.
2022-08-27 02:14:31 +04:00
# Опыт работы
2022-08-26 23:58:01 +04:00
#### Архитектор ПО
- Ноябрь 2018 — по настоящее время (3 года 10 месяцев)
- США, [ShakaCode Ltd. ](https://www.shakacode.com ) -
Проектирование и разработка высоконагруженных систем с большим количеством данных на Rust.
Системы поиска и индексирования. Поиск дублирующихся данных.
Нейросетевые технологии комьпютерного зрения и NLP.
#### Инженер-программист
- Декабрь 2015 — Сентябрь 2018 (2 года 10 месяцев)
- США, [TimelineRX Ltd. ](http://www.timelinepi.com ) -
разработка существующего продукта (nodejs, postgres sql, AngularJS), разработка
алгоритмов анализа событийно-временных данных на основе нейронных сетей.
#### Инженер-программист
- Июнь 2015 — Октябрь 2015 (5 месяцев)
- Ирландия, [Tapastreet Ltd. ](https://tapastreet.com ) -
Разработка системы анализа облака хеш тегов из соц. сетей (выделение событий)
#### UI Инженер
- Август 2014 — Июнь 2015 (11 месяцев)
- Саратов, [Grid Dynamics ](https://www.griddynamics.com ) -
Разработка и поддержка проектов на AngularJS для платформы https://www.ringcentral.com/
#### Старший инженер программист
- Март 2011 — Август 2014 (3 года 6 месяцев)
- Саратов, [OpenSoft ](https://www.opensoftdev.ru ) -
2022-08-27 02:14:31 +04:00
Информационные технологии, системная интеграция, автоматизации технологических и бизнес-процессов предприятия, ИТ-консалтинг
2022-08-26 23:58:01 +04:00
Разработка и поддержка сайта http://overnightprints.com
#### Web-разработчик
- Июнь 2008 — Сентябрь 2010 (2 года 4 месяца)
- Саратов, [О О О "АйТи Акцент" ](http://itaccent.ru ) -
2022-08-27 02:14:31 +04:00
Информационные технологии, системная интеграция, разработка программного обеспечения.
2022-08-26 23:58:01 +04:00
Разработка сайтов на PHP и JavaScript.
2022-08-27 02:14:31 +04:00
# Образование
Высшее.
**Саратовский Государственный Технический Университет им. Ю.А . Гагарина**
Факультет Электронной Техники и Приборостроения
Специальность: Управление и информатика в технических системах
2007-2012г г .
# Иностранные языки
Английский - Upper-Intermediate
2022-08-26 15:41:27 +04:00
# Участие в публичных проектах
- [Helix ](https://github.com/helix-editor/helix ) - https://github.com/helix-editor/helix/pulls?q=author%3Aandreytkachenko
- [MilvusSDK ](https://github.com/milvus-io/milvus-sdk-rust ) - https://github.com/milvus-io/milvus-sdk-rust/pulls?q=author%3Aandreytkachenko
# Хобби
Сноубординг, Кайтсерфинг, Кайтбординг, Велопоходы, Конные походы, Скалолазание