Федеративное обучение для обнаружения пробуждающих слов

Дэвид Лерой, Элис Кук, Тибо Лаврил, Тибо Гиссельбрех и Джозеф Дюро

Мы предлагаем практический подход, основанный на федеративном обучении, для решения проблем вне домена, возникающих при постоянно работающих встроенных речевых моделях, таких как детекторы пробуждающих слов. Мы проводим обширное эмпирическое исследование федеративного алгоритма усреднения для слова пробуждения Hey Snips на основе краудсорсингового набора данных, имитирующего федерацию пользователей слова пробуждения. Мы эмпирически демонстрируем, что использование стратегии адаптивного усреднения, вдохновленной Адамом, вместо стандартной взвешенной модели усреднения, значительно сокращает количество раундов общения, необходимых для достижения нашей целевой производительности. Соответствующие затраты на восходящую связь на пользователя оцениваются в 8 МБ, что является разумным в контексте голосовых помощников умного дома. Кроме того, набор данных, используемый для этих экспериментов, имеет открытый исходный код с целью содействия дальнейшим прозрачным исследованиям в области применения федеративного обучения к речевым данным.

Это сообщение в блоге основано на нашей исходной статье, которую мы немного изменили для удобства чтения. Если вы заинтересованы в получении набора данных Hey Snips, вот инструкции!

Вступление

Обнаружение слова пробуждения используется для начала взаимодействия с голосовым помощником. На карту поставлена ​​задача - конкретный случай обнаружения ключевых слов (KWS): он включает непрерывное прослушивание аудиопотока для обнаружения заранее определенного ключевого слова или набора ключевых слов. Хорошо известные примеры слов для пробуждения включают Привет, Siri от Apple или Окей, Google от Google. Как только слово пробуждения обнаружено, голосовой ввод обрабатывается механизмом понимания разговорной речи, обеспечивая возможности восприятия голосового помощника [2].

Детекторы слов пробуждения обычно работают на устройстве постоянно, что создает две основные проблемы.

  • Во-первых, он должен работать с минимальным объемом памяти и вычислительными затратами. Ограничения по ресурсам для нашего детектора слов следа составляют 200 тыс. Параметров (на основе модели среднего размера, предложенной в [3]) и 20 MFLOPS.
  • Во-вторых, детектор слов пробуждения должен вести себя одинаково в любых условиях использования и демонстрировать устойчивость к фоновому шуму. Аудиосигнал очень чувствителен к записываемой близости (ближнее или дальнее поле), записывающему оборудованию, а также к конфигурации комнаты. Устойчивость также подразумевает широкий охват говорящих (пол, акцент и т. Д.). Хотя использование внешних интерфейсов цифровой обработки сигналов может помочь смягчить проблемы, связанные с плохими условиями записи, вариативность динамиков остается серьезной проблемой. Высокая точность тем более важна, поскольку модель может быть запущена в любое время: поэтому ожидается, что она будет захватывать большинство команд (высокий уровень отзыва или низкий уровень ложных отклонений), не срабатывая непреднамеренно (низкий уровень ложных тревог).

Сегодня детекторы слов пробуждения обычно обучаются на наборах данных, собранных в реальных условиях использования, например. пользователи дома в случае голосовых помощников. Речевые данные по своей природе очень конфиденциальны, централизованный сбор вызывает серьезные проблемы с конфиденциальностью. В этой работе мы исследуем использование федеративного обучения (FL) [4] в контексте встроенного детектора слов пробуждения. FL - это децентрализованная процедура оптимизации, которая позволяет обучать центральную модель на локальных данных многих пользователей без необходимости когда-либо загружать эти данные на центральный сервер. Рабочая нагрузка по обучению перемещается на устройства пользователя, которые выполняют шаги обучения с использованием локальных данных. Затем локальные обновления от пользователей усредняются сервером параметров для создания глобальной модели.

Связанных с работой

Большинство исследований децентрализованного обучения исторически проводилось в контексте строго контролируемых кластеров / центров обработки данных, например с набором данных, равномерно разделенным i.i.d способом. Настройка распределенного обучения для многоядерных процессоров и графических процессоров была специально изучена в контексте распознавания речи в [5]. Усилия по децентрализованному обучению с сильно распределенными, несбалансированными и не iid данными были предприняты относительно недавно, поскольку основы были заложены в [4] с введением алгоритма федеративного усреднения (FedAvg) и его приложение к набору задач компьютерного зрения (MNIST, CIFAR-10) и языкового моделирования (применяется к наборам данных Shakespeare и Google Plus). На данный момент известно очень мало реальных экспериментов, о которых мы знаем, за исключением клавиатуры Google Gboard для Android [6] и недавней панели предложений URL Mozilla [7]. Насколько нам известно, настоящая работа является первым в своем роде экспериментом с пользовательскими речевыми данными.

Задача объединенной оптимизации в контексте выпуклых целевых функций изучалась в [8]. Авторы предложили процедуру оптимизации градиентного спуска со стохастической дисперсией SVRG с локальным и глобальным масштабированием градиента по координатам для улучшения сходимости. Их глобальная стратегия усреднения градиента для каждой координаты основана на измерении разреженности данной координаты в пользовательских локальных наборах данных и применима только в контексте разреженных моделей линейных функций. Последнее предположение не выполняется в контексте нейронных сетей для речевых приложений.

Было предложено несколько улучшений исходного алгоритма FedAvg с упором на выбор клиентов [9], оптимизацию с ограничениями по бюджету [10] и снижение затрат на загрузку для клиентов [11]. Стратегия усреднения динамической модели, устойчивая к дрейфу концепций, основанная на критерии расхождения локальной модели, была недавно введена в [12]. В то время как эти статьи представляют собой эффективные стратегии для снижения коммуникационных затрат, присущих объединенной оптимизации, настоящая работа, насколько нам известно, является первой, вводящей динамическое обновление градиента для каждой координаты вместо шага глобального усреднения.

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

Федеративная оптимизация

Мы рассматриваем стандартную целевую функцию контролируемого обучения f (w) = l (x_i, y_i, w), которая является функцией потерь для прогноза в примере (x_i, y_i) при использовании модели, описываемой вектором параметров с действительным знаком w размерности d. В условиях объединения мы предполагаем, что точки данных i разделены между K пользователями, причем каждому пользователю назначается собственный раздел P_k, | P_k | = n_k. Таким образом, цель оптимизации заключается в следующем:

Алгоритм FedAvg, представленный в [4], направлен на минимизацию целевой функции (1), предполагая синхронную схему обновления и общую невыпуклую функцию потерь нейронной сети. Модель инициализируется с заданной архитектурой на центральном сервере параметров с весами w_0. После инициализации сервер параметров и устройства пользователя синхронно взаимодействуют друг с другом во время раундов связи. Раунд связи в момент времени t в [1, .., T] описан ниже:

  1. Центральная модель w_ {t-1} используется совместно с подмножеством пользователей S_t, которые случайным образом выбираются из пула K пользователей с заданным коэффициент участия C.
  2. Каждый пользователь k в S_t выполняет один или несколько шагов обучения на своих локальных данных на основе минимизации их локальной цели F_k с использованием мини-пакетного стохастического градиентного спуска (SGD) с местный уровень обучения η_ {local}. Количество шагов, выполняемых локально, составляет E * max (ceil (n_k / B), 1), n_k - количество доступных локально точек данных, E количество локальных эпох и B размер локального пакета.
  3. Пользователи из S_t отправляют свои обновления своих моделей w_ {t, k}, k в S_t на сервер параметров после завершения локального обучения.
  4. Сервер вычисляет среднюю модель w_t на основе индивидуальных обновлений пользователя w_ {t, k}, k в S_t, при этом каждое обновление пользователя взвешивается. на n_k / n_r, где n_r - это среднее количество точек данных, используемых в каждом раунде, и будет считаться константой n.

Когда B = ∞ (т. Е. Размер пакета равен размеру локального набора данных) и E = 1, то для данных каждого пользователя выполняется одно обновление градиента. Это строго эквивалентно выполнению одного вычисления градиента в пакете, включающем все выбранные точки данных пользователя. Этот конкретный случай называется FedSGD, например стохастический градиентный спуск, где каждый пакет представляет собой данные объединения выбранных пользователей в данном раунде. FedAvg (федеративное усреднение) - это общий случай, когда для каждого пользователя локально выполняется несколько обновлений.

Шаг глобального усреднения можно записать следующим образом, используя глобальную частоту обновления η_ {global}:

Установка глобальной частоты обновления η_ {global} на 1 эквивалентна случаю взвешенного усреднения без скользящего среднего. Уравнение (2) подчеркивает параллель между глобальным усреднением и обновлением градиента G_t. Эта параллель мотивирует использование адаптивных обновлений по координате для G_t, которые оказались успешными для централизованной оптимизации глубоких нейронных сетей, таких как Adam [13]. Усреднение на основе моментов позволяет сгладить усредненную модель, принимая во внимание обновления предыдущих раундов, которые были вычислены для разных подмножеств пользователей. Мы предполагаем, что экспоненциально затухающие моменты первого и второго порядка выполняют ту же регуляризацию, что и в настройке мини-пакетного градиентного спуска, где Адам оказался успешным в широком спектре задач с различными архитектурами на основе нейронных сетей. В этой работе мы установили экспоненциальные скорости затухания для оценок момента равными β_ {1} = 0,9 и β_ {2} = 0,999 и ε = 10 ^ -8, как первоначально предложили авторы [ 13].

Эксперименты

Наборы данных

В отличие от общих задач распознавания речи, для обнаружения слова пробуждения нет эталонного набора данных. Эталонным набором данных для мультиклассового определения ключевых слов является набор данных речевых команд [14], но задаче речевых команд обычно предшествует детектор слов пробуждения и он направлен на минимизацию путаницы между классами, а не на устойчивость к ложным тревогам. Мы составили краудсорсинговый набор данных для пробуждения Hey Snips. Мы публикуем этот набор данных [1] в надежде, что он может быть полезен сообществу определения ключевых слов.

Данные, использованные здесь, были собраны от 1,8 тыс. Участников, которые записали себя на свое устройство с помощью собственного микрофона, произнося при этом несколько случаев пробуждения Hey Snips вместе со случайно выбранными отрицательными предложениями. Каждый записанный аудиосэмпл прошел процесс проверки, в ходе которого не менее двух из трех отдельных участников подтвердили, что произнесенное высказывание соответствует транскрипции.

Такое распределение данных, вызванное краудсорсингом, имитирует реальную не-i.i.d, несбалансированную и сильно распределенную среду, и поэтому в следующей работе проводится параллель между участником краудсорсинга и пользователем голосового помощника. Статистические данные о наборе данных, подтверждающие эту аналогию, сведены в Таблицу 1. Разделы для обучения, разработки и тестирования специально построены с использованием отдельных пользователей, 77% пользователей используются исключительно для обучения, а оставшиеся 23% используются для настройки параметров и окончательной оценки. , измеряя возможности обобщения модели для новых пользователей.

Модель

Акустические характеристики генерируются на основе 40-мерных коэффициентов мелкочастотного кепстра (MFCC), вычисляемых каждые 10 мс в окне 25 мс. Окно ввода состоит из 32 составных кадров, симметрично распределенных в левом и правом контекстах. Архитектура представляет собой CNN с 5 сложенными расширенными сверточными слоями с увеличивающейся скоростью расширения, за которыми следуют два полностью связанных слоя и softmax, вдохновленный [15]. Общее количество параметров - 190 852. Модель обучается с использованием кросс-энтропийной потери при прогнозировании кадров. Нейронная сеть имеет 4 выходных метки, назначаемых с помощью настраиваемого выравнивателя, специализирующегося на целевом высказывании Hey Snips: Hey, sni, ps и filler, который учитывает все остальные случаи. (тишина, шум и др.). Апостериорная обработка [16] генерирует оценку достоверности для каждого кадра, комбинируя сглаженные апостериорные части метки. Модель запускается, если показатель достоверности достигает определенного порога 𝛕, определяя рабочую точку, которая максимизирует отзыв для определенного количества ложных тревог в час (FAH). Мы установили количество ложных срабатываний в час на 5 в качестве критерия остановки на наборе разработчика. Набор разработчика - это жесткий набор данных, когда дело касается ложных срабатываний, поскольку он принадлежит к тому же домену, что и данные, используемые для обучения. В конце концов, отзыв модели оценивается на положительных данных тестового набора, в то время как ложные тревоги вычисляются как на отрицательных данных тестового набора, так и на различных фоновых отрицательных аудиосистемах. См. Раздел результатов для получения дополнительной информации об оценке.

Полученные результаты

Мы проводим обширное эмпирическое исследование алгоритма федеративного усреднения для слова пробуждения Hey Snips на основе краудсорсинговых данных из таблицы 1. Результаты объединенной оптимизации сравниваются со стандартной настройкой, например централизованная мини-пакетная SGD с случайным перемешиванием данных от пользователей набора поездов. Наша цель - оценить количество раундов связи, необходимых для достижения нашего критерия остановки на наборе разработчика. Для целей этого эксперимента ранняя остановка оценивается централизованно, и мы предполагаем, что пользователи набора разработчиков согласились поделиться своими данными с сервером параметров. В реальных настройках продукта оценка ранней остановки будет выполняться локально на устройствах пользователей-разработчиков, они будут загружать последнюю версию центральной модели в конце каждого раунда и оценивать критерий ранней остановки на основе оценок прогноза для своих собственных высказывания. Затем эти отдельные показатели будут усреднены сервером параметров для получения оценки критерия глобальной модели. Окончательная оценка тестовых пользователей будет производиться таким же распределенным образом после завершения обучения.

Стандартный базовый уровень: наш базовый уровень, например стандартная централизованная настройка данных с одним обучающим сервером и оптимизатором Adam достигает цели ранней остановки за 400 шагов (~ 2 эпохи), что является значительным ускорением сходимости по сравнению со стандартным SGD, который остается ниже 87% после 28 эпох, несмотря на скорость обучения и настройка отсечения градиента на наборе разработчика.

Параллелизм пользователей. Чем выше процент пользователей, выбранных на каждом этапе C, тем больше данных используется для распределенного локального обучения и тем быстрее ожидается сходимость, если предположить, что локальное обучение особо не расходится. На рисунке 1 показано влияние C на конвергенцию: выгода от использования половины пользователей ограничена по сравнению с использованием 10%, особенно на более поздних этапах конвергенции. Доля 10% пользователей за раунд также более реалистична на практике, поскольку выбранные пользователи должны быть в сети. При более низком коэффициенте участия (C = 1%) градиенты гораздо более чувствительны и могут потребовать использования стратегии сглаживания скорости обучения. Поэтому C установлен на 10%.

Глобальное усреднение. Глобальные скорости адаптивного обучения на основе Адама ускоряют сходимость по сравнению со стандартными стратегиями усреднения со скользящими средними или без них. В таблице 2 приведены экспериментальные результаты в настройке FedSGD с оптимизированной локальной скоростью обучения. Применение стандартного глобального усреднения дает низкую производительность даже после 400 циклов обмена данными по сравнению с адаптивным усреднением по параметрам.

Местное обучение. Наши результаты демонстрируют согласованность между локальными конфигурациями обучения с ограниченными улучшениями, связанными с увеличением нагрузки на локальное обучение. Количество раундов связи, необходимых для достижения критерия остановки в наборе разработчика, колеблется от 63 до 112 раундов связи для E в [1,3] и B в [20, 50, ], используя C = 10%, Adam глобальное усреднение с η_ {global} = 0,001, и местная скорость обучения 0,01. В наших экспериментах лучшая производительность была получена для E = 1 и B = 20 в среднем 2,4 локальных обновления на одного рабочего, участвующего в раунде, что дает 80% ускорение по сравнению с FedSGD. Тем не менее, мы наблюдали вариабельность в экспериментах в отношении инициализации веса и поведения на ранних стадиях. В отличие от некоторых экспериментов, представленных в [4], ускорение за счет увеличения количества локальных обучающих шагов не приводит к увеличению на порядок скорости сходимости, в то время как скорость локального обучения и настройка глобального усреднения оказались решающими в нашей работе. Мы предполагаем, что это различие связано с семантической изменчивостью входных данных для разных пользователей. В экспериментах MNIST и CIFAR из [4] семантика ввода одинакова для эмулируемых пользователей. Например, изображения цифры 9, присвоенные разным пользователям, очень похожи. В настройке слова пробуждения у каждого пользователя есть своя собственная вокализация одного и того же произнесения слова пробуждения со значительными различиями в высоте тона и акцента, что может привести к расхождению в представлениях более низких уровней, которые могут плохо работать при усреднении.

Оценка. Мы оцениваем частоту ложных срабатываний лучшей модели (E = 1 и B = 20) для фиксированного отзыва 95% на набор тестов. Мы наблюдаем 3,2 FAH на отрицательных тестовых данных, 3,9 FAH на Librispeech [17] и соответственно 0,2 и 0,6 FAH на наших внутренних новостях и собранных наборах телевизионных данных. Неудивительно, что ложные срабатывания чаще встречаются в непрерывных наборах данных ближнего поля, чем в наборах фоновых отрицательных звуковых сигналов.

Анализ стоимости связи

Стоимость связи является серьезным ограничением при изучении децентрализованных данных, особенно когда устройства пользователя имеют ограниченные возможности подключения и пропускную способность. Учитывая асимметричный характер скоростей широкополосного доступа, узким местом для федеративного обучения является передача обновленных весов от клиентов к серверу параметров после завершения локального обучения [11]. Мы предполагаем, что стоимость восходящей связи, связанная с пользователями, участвующими в оценке модели на каждом раунде коммуникации, является минимальной, поскольку они будут загружать только несколько показателей с плавающей запятой за раунд, что намного меньше размера модели. Общие требования к пропускной способности для загрузки клиентом представлены в уравнении (3):

Основываясь на наших результатах, это будет стоить 8 МБ на клиента, если критерий остановки достигается в течение 100 раундов связи. В свою очередь, сервер получает 137 обновлений за раунд при C = 10%, что составляет 110 ГБ в течение всего процесса оптимизации с участием 1,4 тыс. Пользователей во время обучения. Эта стоимость, конечно, напрямую связана с критерием ранней остановки. Дальнейшие эксперименты с последними стадиями конвергенции (400 раундов) дали 98% отзыв / 0,5 FAH на тестовом наборе при бюджете загрузки 32 МБ на пользователя.

Заключение и дальнейшая работа

В этой работе мы исследуем использование федеративного обучения на основе краудсорсинговых речевых данных для изучения детектора пробуждающих слов с ограниченными ресурсами. Мы показываем, что пересмотренный алгоритм федеративного усреднения с усреднением по координате на основе Адама вместо стандартного глобального усреднения позволяет обучению достичь целевого критерия остановки 95% отзыва на 5 FAH в течение 100 раундов связи на наш краудсорсинговый набор данных для соответствующих затрат на восходящую связь на одного клиента в размере 8 МБ. Мы также открываем исходный код набора данных wake word Hey Snips.

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

Если вам понравилась эта статья и вы хотите поддержать Snips, поделитесь ею!

Следите за нами в Twitter: Дэвид Лерой, Элис Кук, Тибо Лаврил, Тибо Гиссельбрехт, Джозеф Дюро и Snips.

Если вы хотите работать над AI + Privacy, посетите нашу страницу вакансий!

использованная литература

[1] Элис Кук, Мохаммед Члих, Тибо Гиссельбрехт, Дэвид Лерой и Тибо Лаврил, «Эффективное определение ключевых слов с использованием расширенных сверток и стробирования», 2018 г.

[2] Элис Кук, Алаа Сааде, Адриан Болл, Теодор Блюш, Александр Колье, Дэвид Лерой, Клемент Думуро, Тибо Гиссельбрехт, Франческо Кальтаджироне, Тибо Лаврил, Маэль Примет и Джозеф Дюро, «Голосовая платформа Snips: встроенное понимание разговорного языка. система индивидуальных голосовых интерфейсов », CoRR, т. abs / 1805.10190, 2018.

[3] Юньдун Чжан, Навин Суда, Лянчжэнь Лай и Викас Чандра, «Привет, край: определение ключевых слов на микроконтроллерах», CoRR, vol. abs / 1711.07128, 2017.

[4] Х. Брендан МакМахан, Эйдер Мур, Дэниел Рэймидж и Блейз Агера-и-Аркас, «Федеративное обучение глубоких сетей с использованием усреднения моделей», CoRR, vol. абс / 1602.05629, 2016.

[5] Дэниел Пови, Сяохуэй Чжан и Санджив Худанпур, «Параллельное обучение глубоких нейронных сетей с естественным градиентом и усреднением параметров», CoRR, vol. абс / 1410.7455, 2014.

[6] Брендан МакМахан и Дэниел Рэймидж Федеративное обучение: совместное машинное обучение без централизованных данных обучения, https://ai.googleblog.com/2017/04/ federated-Learning-Collaborative. html , 2017.

[7] Флориан Хартманн, Федеративное обучение, https://florian.github.io/federated-learning/, 2018.

[8] Якуб Конечны, Х. Брендан МакМахан, Дэниел Рэймидж и Питер Ричтарик, «Федеративная оптимизация: распределенное машинное обучение для интеллектуального анализа устройств», CoRR, vol. абс / 1610.02527, 2016.

[9] Такаюки Нисио и Рио Йонетани, «Выбор клиентов для федеративного обучения с разнородными ресурсами в мобильной периферии», CoRR, vol. abs / 1804.08333, 2018.

[10] Шицян Ван, Тиффани Туор, Теодорос Салонидис, Кин К. Леунг, Кристиан Макайя, Тинг Хе и Кевин Чан, «Когда край встречается с обучением: адаптивное управление для распределенного машинного обучения с ограниченными ресурсами», CoRR, vol. abs / 1804.05271, 2018.

[11] Якуб Конечны, Х.Брендан МакМахан, FelixX.Yu, Питер Ричтарик, Ананда Тирта Суреш и Дэйв Бэкон, «Федеративное обучение: стратегии повышения эффективности коммуникации», CoRR, vol. абс / 1610.05492, 2016.

[12] Иоахим Сикинг, Фабиан Хгер, Петер Шлихт, Тим Вирц, Майкл Камп, Линара Адилова и Стефан Вробель, «Эффективное децентрализованное глубокое обучение путем усреднения динамической модели», CoRR, vol. abs / 1807.03210, 2018.

[13] Дидерик П. Кингма и Джимми Ба, «Адам: метод стохастической оптимизации», CoRR, vol. абс / 1412.6980, 2014.

[14] Пит Уорден, «Речевые команды: набор данных для распознавания речи с ограниченным словарным запасом», CoRR, vol. abs / 1804.03209, 2018.

[15] Виджаядитья Педдинти, Дэниел Пови и Санджив Худанпур, «Архитектура нейронной сети с временной задержкой для эффективного моделирования длинных временных контекстов», в Шестнадцатой ежегодной конференции Международной ассоциации речевой коммуникации, 2015.

[16] Гуого Чен, Каролина Парада и Георг Хейголд, «Компактное определение ключевых слов с использованием глубоких нейронных сетей» в журнале «Акустика, обработка речи и сигналов (icassp)», Международная конференция 2014 г. IEEE, 2014, стр. 4087–4091.

[17] Васил Панайотов, Гуого Чен, Даниэль Пови и Санджив Худанпур, «Librispeech: корпус ASR, основанный на аудиокнигах, являющихся общественным достоянием», в ICASSP. 2015, стр. 5206–5210, IEEE