Использование семейства ПЛИС iCE40 UltraPlus для распознования ключевых фраз

Компания Lattice Semiconductor разработала IP-блок, позволяющий сократить время проектирования систем с голосовым управлением. IP-блок реализует бинаризованную  нейронную сеть (Binarized Neural Network - BNN) и предназначен для использования в ПЛИС семейства iCE40 UltraPlus, имеющих сверхнизкое энергопотребление. Для данного IP-блока создан пример разработки (reference design) системы определения ключевых фраз, который можно запустить на отладочном наборе iCE40 UltraPlus Mobile Development Platform (iCE40UP5K-MDP-EVN).

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

Компания Lattice предлагает малогабаритные, недорогие, гибкие и энергоэффективные решения для определения ключевых фраз на основе нейронных сетей, которые позволят ускорить разработку устройств с поддержкой голосового управления. В отличие от облачных решений, использующих удалённые вычислители на базе нейронных сетей, Lattice предлагает выполнять все вычисления непосредственно в конечном устройстве, без необходимости подключения к интернету (решая тем самым проблемы обеспечения безопасности и конфиденциальности).

Предлагаемый Lattice пример разработки системы для обнаружения ключевых фраз основан на стеке Lattice sensAI. Бинаризованная нейронная сеть (BNN) работает на ПЛИС с низким энергопотреблением семейства iCE40 UltraPlus и позволяет обнаруживать ключевое слово длительностью до 1 секунды при захвате аудиопотока с частотой 16 кГц. При этом ПЛИС iCE40 UltraPlus постоянно анализирует аудиопоток в энергосберегающем режиме с энергопотреблением около 800 мкВт. Это делает её идеальной для приложений с батарейным питанием. Как только во входном аудиопотоке обнаружен звук, для поиска ключевой фразы запускается нейронная сеть. При этом система работает на частоте 27 МГц и потребляет 7,7 мВт в течение 25 мс. Потребляемая мощность может быть снижена за счет работы на более низкой частоте. Обнаружение ключевых фраз может быть выполнено даже в условиях шумовых помех (музыка, разговор в фоновом режиме), если нейронная сеть была соответствующим образом обучена.

Демонстрационный проект и пример разработки, показывающие возможности такого решения, находятся в свободном доступе на сайте Lattice. В них нейронная сеть обучалась с использованием общедоступного набора данных для определения английского слова "seven" ("семь"). Эти проекты можно запустить на отладочном наборе iCE40UP5K-MDP-EVN, с подключённым по интерфейсу I2S цифровым микрофоном. Модель бинаризованной нейронной сети (BNN) и компилятор Neural Network Compiler, необходимые для выполнения этой демонстрации, также находятся в свободном доступе на сайте Lattice

Разработчикам, которые хотят попробовать использовать это решение, нужно приобрести отладочный набор iCE40UP5K-MDP-EVN, скачать необходимое программное обеспечение и воспроизвести демонстрационный пример. Если разработчик хочет использовать свой набор данных для обучения нейронных сетей, он может использовать стандартные инструменты обучения, такие как Caffe и TensorFlow, для настройки модели нейронной сети от Lattice на определение других ключевых фраз.