Библиотека для генерации нейронной сети по обученному ансамблю деревьев.
Нейронные сети редко используют для табличных данных, т.к. их сложнее обучать, чем ансамбли деревьев. Но у нейронных сетей есть важные преимущества:
В рамках проекта предлагается разработать открытую библиотеку для конвертации обученных моделей на основе ансамблей деревьев (случайный лес, градиентный бустинг) в нейронную сеть.
Задача автоматического распознавания устной речи, несмотря на длинную историю и уже существующие решения, по-прежнему актуальна. Современные подходы к распознаванию речи достигают весьма высокого качества только в специальных условиях, например, в условиях так называемой reading speech, характерной для аудиокниг (типичный пример - это корпус LibriSpeech [1], на котором едва ли не все исследователи любят тестировать свои алгоритмы распознавания речи). Смена жанра и лексики разговора может критично повлиять на качество распознавания. Что же делать? А вот что.
В настоящее время существует два основных подхода к построению систем распознавания речи: модульный (компонентный) и сквозной (end-to-end). Типичным представителем модульного подхода является Kaldi [2], где явно выделены акустико-фонетический и лингвистический уровни. В рамках “сквозного” подхода были созданы такие глубокие нейросети для распознавания речи, как DeepSpeech, Wav2Letter, Jasper, QuartzNet и другие.
Для решения задачи “сквозного” распознавания речи популярность набирают методы глубокого обучения на основе механизма внимания, а именно алгоритм Wave2Vec2, впервые предложенный исследователями из компании Facebook [3] и имеющий реализацию в виде открытого кода и обученных моделей, в том числе многоязычной и даже специализированной для русского языка [4]. Подобного рода “сквозные” методы глубокого обучения кажутся более перспективными, чем модульный подход, принятый в упомянутом выше Kaldi, и не требуют больших размеченных корпусов речевых данных для своей адаптации под конкретную задачу, лексику и акустические условия за счёт способности к так называемому переносу обучения [5]. Кроме того, модели на базе модульного подхода, реализованного в Kaldi, демонстрируют линейный рост вычислительной сложности с увеличением размера словаря, а вычислительная сложность “сквозных” методов никак не зависит от размера словаря, а определяется лишь архитектурой глубокой нейронной сети. К сожалению, несмотря на существование обученных моделей распознавания русской речи на основе алгоритма Wave2Vec, эти модели оставляют желать лучшего при распознавании любой речи, кроме речи дикторов аудиокниг.
Поэтому для получения эффективной и робастной модели распознавания русской речи необходимо дообучить Wave2Vec 2.0 с помощью метода иерархического многозадачного обучения, который, с одной стороны, вносит эффективное индуктивное смещение [6, 7] в процесс обучения глубокой нейронной сети за счёт учёта естественной иерархии лингвистических задач при восприятии речи (фонетика-лексика-морфология-синтаксис-семантика), а с другой стороны, решает проблему затухания градиента (наличие такой проблемы мешает эффективному обучению глубоких нейросетей - см., напр., [8]). В качестве речевых корпусов для обучения и тестирования модели распознавания речи предполагается использовать речевой корпус размеченной русской речи SberDevices Golos [9], а также звуковой корпус различных неречевых акустических событий AudioSet, собранный компанией Google [10]. Лексический уровень разметки речи задан непосредственно в корпусе SberDevices Golos в виде точных текстовых расшифровок каждого речевого сигнала. Фонетический уровень разметки предполагается моделировать на основе авторского метода генерации фонетических транскрипций русских текстов [11]. Уровень же морфологической, синтаксической и семантической разметки логичнее всего реализовать с помощью автоматического определения частей речи, синтаксических тегов и именованных сущностей для текстовой расшифровки каждого речевого сигнала. Такую морфо-синтактико-семантическую разметку можно сгенерировать автоматически с использованием открытой системы морфо-синтаксического анализа UDPipe [12] и открытой авторской системы распознавания именованных сущностей DeepNER [13]. Основная цель подобного иерархического многозадачного обучения - это достижение высокого качества на лексическом уровне (то есть качественного преобразования речи в текст), а другие уровни - от фонетического до семантического - являются источниками вспомогательных задач, тем самым эффективно регуляризируя глубокую нейронную сеть и вводя индуктивное смещение в процесс её обучения.
Вся совокупность задач анализа текста - морфо-синтаксический анализ, распознавание именованных сущностей, анализ тональности, тематическая сегментация и тому подобное - может быть реализована однотипными архитектурами глубоких нейронных сетей типа BERT [1, 2]. Но применение последовательности из нескольких больших нейросетей является весьма вычислительно затратным - как в смысле быстродействия, так и в смысле расходов памяти. Соответственно, возникает важная задача, обладающая не только практической значимостью, но и научной новизной - создание модели глубокого обучения с механизмом внимания, способной одновременно решать множество задач понимания текста на естественном языке за счёт “массового” многозадачного обучения. Попытки подобного рода предпринимались и ранее [3, 4], но, во-первых, они были ограничены неполнотой разметки обучающей выборки на основе структуры гиперссылок англоязычной Википедии, а во-вторых, ни одна из этих попыток не включала в себя создание глубоких лингвистических моделей для русского языка. В нашем же подходе предполагается многозадачное обучение глубокой нейросети на основе как большого объединённого текстового корпуса с частично ручной, частично синтетической разметкой на основе объединения ряда существующих размеченных корпусов для русского языка в проекте Russian SuperGLUE [5], так и на основе неразмеченных корпусов с полностью синтетической разметкой путём выборки из Common Crawl [6]. И здесь многозадачное обучение, в отличие от применения этого метода к дообучению модели преобразования речи в текст, нужно не только для регуляризации процесса самого обучения, а ещё и в качестве средства вычислительной оптимизации в режиме применения обученных моделей (вместо последовательности глубоких нейронных сетей используется одна нейросетевая система с несколькими иерархически организованными выходами).