Обучение dnn-студента посредством распределения вывода
Иллюстрации
Показать всеИзобретение относится к области алгоритмов машинного обучения. Техническим результатом является повышение точности модели DNN (Глубокая нейронная сеть) с уменьшенным размером. Для генерирования классификатора DNN посредством "обучения" модели DNN-"студента" на основании большей, более точной модели DNN-"учителя", DNN-студент может быть обучен на основании непомеченных обучающих данных посредством прохождения непомеченных обучающих данных через DNN-учитель, которая может быть обучена на основании помеченных данных. Итеративный процесс применяется для обучения DNN-студента посредством минимизирования расхождения распределений выводов на основании моделей DNN-учителя и студента. Для каждой итерации до схождения разница в выводах этих двух DNN используется для обновления модели DNN-студента, и выводы определяются снова, с использованием непомеченных обучающих данных. 3 н. и 7 з.п. ф-лы, 7 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
[0001] Глубокая нейронная сеть (DNN) обещает значительные улучшения точности для приложений комплексной обработки сигналов, включая распознавание речи и обработку изображений. Мощь DNN происходит из ее глубокой и широкой сетевой структуры, имеющей очень большое число параметров. Например, было показано, что скрытая марковская модель на основе контекстно-зависимой глубокой нейронной сети (CD-DNN-HMM) превосходит обыкновенную модель смеси гауссовых распределений (CD-GMM-HMM) в отношении многих задач автоматического распознавания речи (ASR). Однако, превосходная производительность CD-DNN-HMM влечет за собой гораздо большие затраты во время выполнения, так как DNN используют гораздо больше параметров, чем традиционные системы. Таким образом, хотя CD-DNN-HMM были развернуты с высокой точностью на серверах или других компьютерных системах, имеющих обширные вычислительные ресурсы и ресурсы хранения, развертывание DNN на устройствах, которые имеют ограниченные вычислительные ресурсы и ресурсы хранения, таких как смартфоны, носимые устройства или развлекательные системы, является вызовом.
[0002] Еще, при распространенности таких устройств и потенциальной пользе, которую DNN представляет приложениям, таким как ASR и обработка изображений, индустрия имеет твердый интерес в присутствии DNN на этих устройствах. Общим подходом к этой проблеме является уменьшение размерностей DNN, например, посредством уменьшения числа узлов в скрытых слоях и числа целей сенонов в слое вывода. Но хотя этот подход уменьшает размер модели DNN, потеря точности (например, вероятность ошибки в кодовом слове) увеличивается значительно и страдает эксплуатационное качество.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Это краткое изложение сущности изобретения предоставлено для введения подборки концепций в упрощенной форме, которые дополнительно описаны ниже в подробном описании. Это краткое изложение сущности изобретения не предназначено для идентификации ключевых признаков или существенных признаков заявленного изобретения, также не предназначено для использования в качестве помощи в определении объема заявленного изобретения.
[0004] Варианты осуществления данного изобретения направлены на системы и способы предоставления более точной модели DNN с уменьшенным размером для развертывания на устройствах посредством "обучения" развернутой DNN на основании DNN с большей емкостью (числом скрытых узлов). Чтобы обучить DNN с меньшим числом скрытых узлов, DNN-"учитель" большего размера (с большей точностью) используется для обучения меньшей DNN-"студента". В частности, как будет дополнительно описано, вариант осуществления данного изобретения использует свойство распределения вывода DNN посредством минимизирования расхождения между распределениями выводов DNN-студента малого размера и DNN-учителя большего размера, с использованием непомеченных данных, таких как нетранскрибированные данные. DNN-студент может быть обучен на основании непомеченных (или нетранскрибированных) данных посредством прохождения непомеченных обучающих данных через DNN-учитель, чтобы сгенерировать цель обучения. Без необходимости в помеченных (или транскрибированных) обучающих данных, для обучения становится доступно гораздо больше данных, тем самым дополнительно повышая точность DNN-студента для обеспечения более лучшей аппроксимации комплексных функций из DNN-учителя большего размера. DNN-студент можно итеративно оптимизировать, пока ее вывод не сойдется с выводом DNN-учителя. Таким образом, DNN-студент приближается к поведению учителя, так что независимо от вывода учителя, студент будет приблизительно соответствовать даже там, где учитель может ошибаться. Вариант осуществления данного изобретения таким образом особенно подходит для предоставления приложений точной обработки сигналов (например, ASR или обработки изображений), на смартфонах, развлекательных системах или аналогичных устройствах потребительской электроники.
[0005] Некоторые варианты осуществления данного изобретения включают в себя предоставление более точной модели DNN (например, малого или стандартного размера) посредством обучения модели DNN на основании даже большей "гигантской" DNN-учителя. Например, модель DNN стандартного размера для развертывания на сервере может быть сгенерирована с использованием процедур обучения учитель-студент, описанных в настоящем документе, при этом DNN-студент является моделью DNN стандартного размера, и DNN-учитель является DNN гигантского размера, которая может быть реализована как обученный ансамбль многочисленных DNN с разными шаблонами ошибок. В варианте осуществления, ансамбль обучается посредством комбинирования выводов членов ансамбля с помощью коэффициентов автоматически обученной комбинации, используя, например, критерий перекрестной энтропии, последовательный критерий, критерий ошибки по методу наименьших квадратов, критерий ошибки по методу наименьших квадратов с неотрицательным ограничением, или аналогичные критерии.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Настоящее изобретение проиллюстрировано в качестве примера, а не ограничения, на прилагаемых чертежах, на которых подобные ссылочные номера указывают аналогичные элементы, и на которых:
[0007] Фиг. 1 является блок-схемой примерной архитектуры системы, в которой вариант осуществления данного изобретения может быть использован;
[0008] Фиг. 2 изображает аспекты иллюстративного представления модели DNN, в соответствии с вариантом осуществления данного изобретения;
[0009] Фиг. 3 изображает аспекты иллюстративного представления обучения DNN-студента меньшего объема на основании DNN-учителя большего объема с использованием непомеченных данных, в соответствии с вариантом осуществления данного изобретения;
[0010] Фиг. 4 изображает аспекты иллюстративного представления модели ансамблевой DNN-учителя, в соответствии с вариантом осуществления данного изобретения;
[0011] Фиг. 5 изображает схему последовательности операций способа генерирования классификатора DNN с уменьшенным размером посредством обучения на основании большей модели DNN, в соответствии с вариантами осуществления данного изобретения;
[0012] Фиг. 6 изображает схему последовательности операций способа генерирования обученной модели DNN на основании модели ансамблевой DNN-учителя, в соответствии с вариантами осуществления данного изобретения; и
[0013] Фиг. 7 является блок-схемой примерного вычислительного окружения, подходящего для использования в реализации вариантов осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
[0014] Предмет настоящего изобретения описывается здесь со спецификой, чтобы отвечать установленным требованиям. Однако, само описание не предназначено для ограничения объема этого патента. Напротив, авторы изобретения предполагают, что заявленный предмет мог бы также быть осуществлен другими путями, чтобы включать в себя разные этапы или комбинации этапов, аналогичных этапам, описанным в этом документе, совместно с другими настоящими и будущими технологиями. Более того, хотя термины "этап" и/или "блок" могут быть использованы в настоящем документе, чтобы означать разные элементы используемых способов, данные термины не следует интерпретировать как предполагающие какой-либо конкретный порядок среди или между различными этапами, раскрытыми в настоящем документе, если только порядок индивидуальных этапов не описан явно.
[0015] Различные аспекты технологии, описанной в настоящем документе, в основном направлены, среди прочего, на системы, способы и машиночитаемые носители для предоставления первой модели DNN с уменьшенным размером для развертывания на устройствах посредством "обучения" первой DNN на основании второй DNN с большей емкостью (числом скрытых узлов). Чтобы обучить DNN с меньшим числом скрытых узлов, DNN-"учитель" большего размера (с большей точностью) используется для обучения меньшей DNN-"студента". В частности, вариант осуществления данного изобретения использует свойство распределения вывода DNN посредством минимизирования расхождения между распределениями выводов DNN-студента малого размера и стандартной (или большего размера) DNN-учителем, с использованием непомеченных данных, таких как нетранскрибированные данные. DNN-студент может быть обучен на основании непомеченных (или нетранскрибированных) данных, так как ее цель обучения получена посредством прохождения непомеченных обучающих данных через DNN-учитель. Без необходимости в помеченных (или транскрибированных) обучающих данных, гораздо больше данных становится доступно для обучения, тем самым дополнительно повышая точность DNN-студента для обеспечения более лучшей аппроксимации комплексных функций из DNN-учителя большого размера.
[0016] Как будет дополнительно описано, в одном варианте осуществления, DNN-студент итеративно оптимизируется, пока ее вывод не сойдется с выводом DNN-учителя. Таким образом, DNN-студент приближается к поведению учителя, так что независимо от вывода учителя, студент будет приблизительно соответствовать даже там, где учитель может ошибаться. Некоторые варианты осуществления данного изобретения таким образом особенно подходят для предоставления приложений точной обработки сигналов (например, ASR или обработки изображений), на смартфонах, развлекательных системах или аналогичных устройствах потребительской электроники. К тому же, некоторые из этих вариантов осуществления данного изобретения могут быть объединены с другими технологиями, чтобы дополнительно улучшить производительность во время выполнения для CD-DNN-HMM, такими как матрицы низкого ранга, используемые в слоях вывода или всех слоях, чтобы дополнительно уменьшить число параметров и затраты CPU, 8-битовое квантование для оценки SSE (потоковых SIMD-расширений), и/или технологии с пропусканием кадров или предсказанием.
[0017] В некоторых вариантах осуществления данного изобретения, развертываемая модель DNN (например, малая или модель стандартного размера) определяется посредством обучения развертываемой модели DNN на основании даже большей "гигантской" DNN-учителя. Например, модель DNN стандартного размера для развертывания на сервере (или DNN меньшего размера для развертывания на мобильном устройстве) может быть сгенерирована с использованием процедур обучения учитель-студент, описанных в настоящем документе, при этом DNN-студент является моделью DNN стандартного размера (или моделью DNN меньшего размера) и DNN-учитель является DNN гигантского размера. DNN гигантского размера может быть реализована как обученный ансамбль многочисленных DNN с разными шаблонами ошибок, в варианте осуществления. Ансамбль может быть обучен посредством комбинирования выводов членов ансамбля с помощью коэффициентов автоматически обученной комбинации, используя, например, критерий перекрестной энтропии, последовательный критерий, критерий ошибки по методу наименьших квадратов, критерий ошибки по методу наименьших квадратов с неотрицательным ограничением, или аналогичные критерии.
[0018] Как описано выше, преимущество некоторых вариантов осуществления, описанных в настоящем документе, состоит в том, что модель DNN-студента может быть обучена с использованием непомеченных (или нетранскрибированных) данных, так как ее цель обучения (, как будет дополнительно описано) получена посредством прохождения непомеченных обучающих данных через DNN-учитель. Так как пометка (или транскрибирование) данных для обучения стоит времени и денег, доступен гораздо меньший объем помеченных (или транскрибированных) данных по сравнению с непомеченными данными. (Помеченные (или транскрибированные) данные могут быть использованы для обучения DNN-учителя.) Без необходимости в транскрибированных (или помеченных) обучающих данных, гораздо больше данных становится доступно для обучения DNN-студента, чтобы приблизительно соответствовать поведению DNN-учителя. При большем объеме обучающих данных, доступных для покрытия пространства конкретного признака, точность развернутой модели DNN (-студента) даже дополнительно увеличивается. Это преимущество особенно полезно для сценариев индустрии с большим объемом доступных непомеченных данных из-за контура обратной связи развертывания (при этом развернутые модели предоставляют свои данные использования разработчикам приложений, которые используют данные для дополнительной адаптации будущих версий приложения). Например, многие поисковые механизмы используют такой контур обратной связи развертывания.
[0019] Возвращаясь теперь к Фиг. 1, предоставляется блок-схема, показывающая аспекты одного примера архитектуры системы, подходящей для реализации варианта осуществления данного изобретения и обозначенной в общем как система 100. Следует понимать, что эти и другие компоновки, описанные в настоящем документе, изложены только в качестве примеров. Таким образом, система 100 представляет только один пример из подходящих архитектур вычислительных систем. Другие компоновки и элементы (например, пользовательские устройства, хранилища данных и т.д.) могут быть использованы в дополнение к показанным компоновкам и элементам, или вместо них, и некоторые элементы могут быть вовсе опущены для ясности. К тому же, многие из элементов, описанных в настоящем документе, являются функциональными объектами, которые могут быть реализованы как дискретные или распределенные компоненты или совместно с другими компонентами, и в любой подходящей комбинации и размещении. Различные функции, описанные в настоящем документе, которые выполняются одним или более объектами, могут быть выполнены аппаратными средствами, программно-аппаратными средствами и/или программным обеспечением. Например, различные функции или сервисы могут быть выполнены процессором, исполняющим инструкции, хранящиеся в памяти.
[0020] Среди не показанных других компонентов, система 100 включает в себя сеть 110, коммуникационно соединенную с одним или более источником(ами) 180 данных, хранилище 106, клиентские устройства 102 и 104, и генератор 120 моделей DNN. Компоненты, показанные на Фиг. 1, могут быть реализованы на одном или более вычислительных устройствах или могут их использовать, таких как вычислительное устройство 700, описанное применительно к Фиг. 7. Сеть 110 может включать в себя, без ограничения, одну или более локальных сетей (LAN) и/или глобальных сетей (WAN). Такие сетевые окружения находятся обыкновенно в офисах, корпоративных компьютерных сетях, сетях Интранет и Интернет. Следует понимать, что любое число источников данных, компонентов хранения или хранилищ данных, клиентских устройств и генераторов моделей DNN, могут быть использованы внутри системы 100 в рамках объема настоящего изобретения. Каждый может содержать одиночное устройство или многочисленные устройства, взаимодействующие в распределенном окружении. Например, генератор 120 моделей DNN может быть обеспечен посредством многочисленных вычислительных устройств или компонентов, скомпонованных в распределенном окружении, которые совместно предоставляют функциональность, описанную в настоящем документе. Дополнительно, другие непоказанные компоненты могут также быть включены в сетевое окружение.
[0021] Примерная система 100 включает в себя один или более источник(ов) 180 данных. Источник(и) 180 данных содержит(ат) ресурсы данных для обучения моделей DNN, описанных в настоящем документе. Данные, предоставленные источником(ами) 180 данных могут включать в себя помеченные и непомеченные данные, такие как транскрибированные и нетранскрибированные данные. Например, в варианте осуществления, данные включают в себя один или более наборов речевых звуков (звуков) и могут также включать в себя соответствующую информацию транскрипции или метки сенонов, которые могут быть использованы для инициализации модели DNN-учителя. В варианте осуществления, непомеченные данные в источнике(ах) 180 данных предоставляются посредством одного или более контуров обратной связи развертывания, как описано выше. Например, данные использования из произнесенных поисковых запросов, выполняемых на поисковых механизмах, могут быть предоставлены как нетранскрибированные данные. Другие примеры источников данных могут включать в себя, в качестве примера и не ограничения, аудио на разговорном языке или источники изображений, включающие в себя потоковые звуки или видео; веб-запросы; камеру мобильного устройства или аудиоинформацию; потоки веб-камеры; потоки смарт-очков и смарт-часов; системы обслуживания заказчиков; потоки камер безопасности; веб-документы; каталоги; пользовательские потоки; журналы SMS; журналы мгновенной передачи сообщений; транскрипции проговариваемых слов; взаимодействия пользователя с игровой системой, такие как голосовые команды или захваченные изображения (например, изображения камеры глубины); твиты; записи чата или видеовызовов; или медиаданные социальных сетей. Конкретный(е) источник(и) 180 данных может(гут) быть определен(ы) на основе приложения, в том числе, являются ли данные по своей природе специфичными для области данными (например, данными, относящимися только к развлекательным системам, например) или общими (неспецифичными для области).
[0022] Примерная система 100 включает в себя клиентские устройства 102 и 104, которые могут содержать любой тип вычислительного устройства, где желательно иметь DNN-систему на устройстве и, в частности, при этом устройство имеет ограниченные вычислительные ресурсы и/или ресурсы хранения по сравнению с более мощным сервером или вычислительной системой. Например, в одном варианте осуществления, клиентские устройства 102 и 104 могут иметь один тип вычислительного устройства, описанного здесь относительно Фиг. 7. В качестве примера и не ограничения, пользовательское устройство может быть осуществлено как персональный цифровой помощник (PDA), мобильное устройство, смартфон, смарт-часы, смарт-очки (или другое носимое смарт-устройство), переносной компьютер, планшет, пульт управления, развлекательная система, компьютерная система транспортного средства, встроенный контроллер системы, электрическое бытовое устройство, домашняя компьютерная система, система безопасности, устройство потребительской электроники, или другое аналогичное электронное устройство. В одном варианте осуществления, клиентское устройство способно принять входные данные, такие как аудиоинформация и информация изображения, используемые DNN-системой, описанной в настоящем документе, которая функционирует в устройстве. Например, клиентское устройство может иметь микрофон или линейный вход для приема аудиоинформации, камеру для приема видеоинформации или информации изображения, или компонент связи (например, функциональность Wi-Fi) для приема такой информации от другого источника, такого как Интернет или источник 108 данных.
[0023] Используя вариант осуществления модели DNN-студента, описанный в настоящем документе, клиентское устройство 102 или 104 и модель DNN-студента обрабатывают введенные данные для определения используемой компьютером информации. Например, используя один вариант осуществления DNN-студента, функционирующий на клиентском устройстве, запрос, произнесенный пользователем, может быть обработан для определения намерения пользователя (т.е., чего просит пользователь). Аналогично, полученная камерой информация может быть обработана для определения форм, признаков, объектов, или других элементов в информации или видео.
[0024] Примерные клиентские устройства 102 и 104 включены в систему 100 для обеспечения примерного окружения, в котором могут быть развернуты модели DNN-студента (или меньшего размера), созданные посредством вариантов осуществления данного изобретения. Хотя, предполагается, что аспекты моделей DNN, описанных в настоящем документе, могут функционировать на одном или более клиентских устройствах 102 и 104, также предполагается, что некоторые варианты осуществления данного изобретения не включают в себя клиентские устройства. Например, DNN-студент стандартного размера или большего размера может быть осуществлена на сервере или в облаке. К тому же, хотя Фиг. 1 показывает два примерных клиентских устройства 102 и 104, может быть использовано больше или меньше устройств.
[0025] Хранилище 106 обычно хранит информацию включающую в себя данные, компьютерные инструкции (например, инструкции реализованной программными средствами программы, стандартные программы или сервисы), и/или модели, используемые в вариантах осуществления данного изобретения, описанных в настоящем документе. В варианте осуществления, хранилище 106 хранит данные от одного или более источника(ов) 180 данных, одну или более моделей DNN (или классификаторов DNN), информацию для генерирования и обучения моделей DNN, и используемую компьютером информацию, выводимою одной или более моделями DNN. Как показано на Фиг. 1, хранилище 106 включает в себя модели DNN 107 и 109. Модель 107 DNN представляет собой модель DNN-учителя, и модель 109 DNN представляет собой модель DNN-студента, имеющую меньший размер, чем модель 107 DNN-учителя. Дополнительные сведения и примеры моделей DNN описываются применительно к Фиг. 2-4. Хотя для ясности изображено как одиночный компонент хранения данных, хранилище 106 может быть осуществлено как одно или более хранилищ информации, включающих в себя память на клиентском устройстве 102 или 104, генератор 120 моделей DNN или в облаке.
[0026] Генератор 120 моделей DNN содержит компонент 122 доступа, компонент 124 инициализации, компонент 126 доступа и компонент 128 оценки. Генератор 120 моделей DNN, в общем, отвечает за генерирование моделей DNN, таких как классификаторы CD-DNN-HMM, описанные в настоящем документе, включающее в себя создание новых моделей DNN (или адаптирование существующих моделей DNN) посредством инициализации и обучения модели DNN-"студента" на основании обученной модели DNN-учителя, на основе данных из источника(ов) 180 данных. Модели DNN, сгенерированные генератором 120 моделей DNN, могут быть развернуты на клиентском устройстве, таком как устройство 104 или 102, сервере или другой компьютерной системе. В одном варианте осуществления, генератор 120 моделей DNN создает классификатор CD-DNN-HMM уменьшенного размера для развертывания на клиентском устройстве, которое может иметь ограниченные вычислительные ресурсы и ресурсы хранения, посредством обучения инициализированной модели DNN-"студента", чтобы приблизительно соответствовать обученной модели DNN-учителя, имеющей больший размер модели (например, число параметров), чем студент. В другом варианте осуществления, генератор 120 моделей DNN создает классификатор DNN для развертывания на клиентском устройстве, сервере или другой компьютерной системе посредством обучения инициализированной модели DNN-"студента", чтобы приблизительно соответствовать обученной модели DNN-учителя гигантского размера, имеющей больший размер модели (например, число параметров), чем студент, при этом модель DNN-учителя гигантского размера содержит ансамбль других моделей DNN.
[0027] Генератор 120 моделей DNN и его компоненты 122, 124, 126 и 128 могут быть осуществлены как набор скомпилированных компьютерных инструкций или функций, программные модули, сервисы компьютерного программного обеспечения или компоновка процессов, выполняющихся на одной или более компьютерных системах, таких как вычислительное устройство 700, описанное применительно к Фиг. 7, например. Генератор 120 моделей DNN, компоненты 122, 124, 126 и 128, функции, выполняемые этими компонентами, или сервисы, выполняемые этими компонентами, могут быть реализованы на соответствующем(их) слое(ях) абстракции вычислительных(ой) систем(ы), таком(их) как слой операционной системы, слой приложений, аппаратный слой и т.д. В качестве альтернативы, или в дополнение, функциональность этих компонентов, генератор 120 моделей DNN и/или варианты осуществления данного изобретения, описанные в настоящем документе, могут быть выполнены, по меньшей мере частично, посредством одного или более компонентов аппаратной логики. Например, и без ограничения, иллюстративные типы компонентов аппаратной логики, которые могут быть использованы, включают в себя программируемые пользователем вентильные матрицы (FPGA), специализированные интегральные микросхемы (ASIC), стандартные части специализированных интегральных микросхем (ASSP), системы "система на кристалле" (SOC), сложные программируемые логические устройства (CPLD) и т.д.
[0028] Продолжая с Фиг. 1, компонент 122 доступа в основном отвечает за осуществление доступа к обучающим данным и их предоставление генератору 120 моделей DNN из одного или более источников 108 данных и моделей DNN, таких как модели DNN 107 и 109. В некоторых вариантах осуществления, компонент 122 доступа может осуществлять доступ к информации о конкретном клиентском устройстве 102 или 104, такой как информация, касающаяся вычислительных ресурсов и/или ресурсов хранения, доступных на клиентском устройстве. В некоторых вариантах осуществления, эта информация может быть использована для определения оптимального размера модели DNN, сгенерированной генератором 120 моделей DNN, для развертывания на конкретном клиентском устройстве.
[0029] Компонент 124 инициализации в основном отвечает за инициализацию необученной модели DNN-"студента", и в некоторых вариантах осуществления инициализацию модели DNN-учителя для обучения студента. В некоторых вариантах осуществления, компонент 124 инициализации инициализирует модель DNN-студента конкретного размера (или модель не большую, чем конкретный размер) на основе ограничений клиентского устройства, на котором может быть развернута обученная модель DNN-студента, и может инициализировать DNN-студент на основе модели DNN-учителя (большей модели DNN). Например, в варианте осуществления, компонент 124 инициализации принимает от компонента 122 доступа полностью обученную DNN-учитель размером NT, которая уже обучена согласно способам, известным специалистам в данной области техники, и информацию об ограничениях клиентского устройства, на котором должна быть развернута обученная DNN-студент. DNN-учитель может быть инициализирована и/или обучена для специфичного для области приложения (как например, распознавание лиц или произносимые запросы для развлекательной системы) или для общих целей. На основе принятой информации, компонент 124 инициализации создает первоначальную, необученную модель DNN-студента с подходящим размером модели (на основе ограничений клиентского устройства). В одном варианте осуществления, модель DNN-студента может быть создана посредством копирования и разделения модели DNN-учителя на меньшую модель (меньшее число узлов). Как модель DNN-учителя, необученная модель DNN-студента включает в себя число скрытых слоев, которое может быть равно числу слоев учителя, или DNN-студент может содержать иное число скрытых слоев, чем модель DNN-учителя. В одном варианте осуществления, размер модели DNN-студента, включая число или узлы или параметры для каждого слоя, меньше, чем NT, размер учителя. Примерная модель DNN, подходящая для использования в качестве DNN-студента, описана применительно к Фиг. 2. В этом примере, модель CD-DNN-HMM наследует свою структуру модели, включающую в себя набор речевых звуков, топологию HMM, и связывание контекстно-зависимых состояний, непосредственно от обыкновенной системы CD-GMM-HMM, которая может существовать предварительно.
[0030] В одном варианте осуществления, компонент 124 инициализации создает и инициализирует необученную модель DNN-студента посредством присвоения случайных чисел весам узлов в модели (т.е., весам матрицы W). В другом варианте осуществления, компонент 124 инициализации принимает от компонента 122 доступа данные для предварительно обученной модели DNN-студента, такие как нетранскрибированные данные, которые используется для установки первоначальных весов узлов для модели DNN-студента.
[0031] В некоторых вариантах осуществления, компонент 124 инициализации также инициализирует или создает модель DNN-учителя. В частности, используя помеченные или транскрибированные данные из источника(ов) 180 данных, предоставленные компонентом 122 доступа, компонент 124 инициализации может создать модель DNN-учителя (которая может быть предварительно обучена) и предоставить инициализированную, но необученную модель DNN-учителя, компоненту 126 доступа для обучения. Аналогично, компонент 124 инициализации может создать модель ансамблевой DNN-учителя посредством определения множества моделей под-DNN (например, создания и передачи компоненту 126 доступа для обучения или идентификации уже существующей модели(ей) DNN), которые должны быть включены как члены ансамбля). В этих вариантах осуществления, компонент 124 инициализации может также определить взаимосвязи между слоем вывода ансамбля и слоями вывода моделей-членов под-DNN (например, принимая необработанное среднее выводов моделей-членов), или может предоставить компоненту 126 доступа для обучения инициализированную, но не обученную, ансамблевую DNN-учитель.
[0032] Компонент 126 доступа в основном отвечает за обучение DNN-студента на основе учителя. В частности, компонент 126 доступа принимает от компонента 124 инициализации и/или компонента 122 доступа необученную (или предварительно обученную) модель DNN, которая будет студентом, и обученную модель DNN, которая будет служить в качестве учителя. (Также предполагается, что модель DNN-студента может быть обучена, но может быть дополнительно обучена согласно вариантам осуществления, описанным в настоящем документе.) Компонент 126 доступа также принимает непомеченные данные от компонента 122 доступа для обучения DNN-студента.
[0033] Компонент 126 доступа способствует обучению DNN-студента посредством итеративного процесса с помощью компонента 128 оценки, который предоставляет одинаковые непомеченные данные моделям DNN-учителя и студента, оценивает распределения выводов моделей DNN для определения ошибки распределения вывода DNN-студента относительно учителя, выполняет обратное распространение в отношении модели DNN-студента на основе ошибки для обновления модели DNN-студента, и повторяет этот цикл, пока распределения выводов не сойдутся (или иначе, будут находиться достаточно близко). В некоторых вариантах осуществления, компонент 126 доступа обучает DNN-студента согласно способам 500 и 600, описанным применительно к Фиг. 5 и 6, соответственно.
[0034] В некоторых вариантах осуществления, компонент 126 доступа также обучает модель DNN-учителя. Например, в одном варианте осуществления, DNN-учитель обучается с использованием помеченных (или транскрибированных) данных согласно способам, известным специалистам в данной области техники. В некоторых вариантах осуществления, используя ансамблевую DNN-учитель, компонент 126 доступа обучает ансамблевую DNN-учитель. В качестве примера и не ограничения, компонент 126 доступа может обучить ансамбль посредством комбинирования выводов членов ансамбля с помощью коэффициентов автоматически обученной комбинации, используя, например, критерий перекрестной энтропии, последовательный критерий, критерий ошибки по методу наименьших квадратов, критерий ошибки по методу наименьших квадратов с неотрицательным ограничением или аналогичные критерии.
[0035] Компонент 128 оценки в основном отвечает за оценивание модели DNN-студента для определения, достаточно ли она обучена, чтобы приблизительно соответствовать учителю. В частности, в варианте осуществления, компонент 128 оценки оценивает распределения выводов DNN-студента и учителя, определяет разницу (которая может быть определена как сигнал ошибки) между выводами, и также определяет, продолжает ли студент улучшаться, или не улучшается ли студент больше (т.е., распределение вывода студента показывает отсутствие дальнейшей тенденции к схождению с выводом учителя). В одном варианте осуществления, компонент 128 оценки вычисляет расхождение Кульбака-Лейблера (KL) между распределениями выводов и, совместно с компонентом 126 доступа, пытается минимизировать расхождение посредством итеративного процесса, описанного применительно к компоненту 126 доступа. Некоторые варианты осуществления оценщика 128 могут использовать регрессию, среднеквадратичную ошибку (MSE), или другие аналогичные подходы для минимизации расхождения между выводами DNN-учителя и студента.
[0036] В дополнение к определению сигнала ошибки, некоторые варианты осуществления компонента 128 оценки, определяют, завершить ли еще одну итерацию (например, еще одну итерацию, содержащую: обновление DNN-студента на основе ошибки, прохождение непомеченных данных через DNN-учитель и студент, и оценивание их распределения выводов). В частности, некоторые варианты осуществления компонента 128 оценки применяют порог, для определения схождения распределений выводов DNN-учителя и DNN-студента. Если порог не удовлетворяется, итерация может продолжиться, тем самым дополнительно обучая студента для приблизительного соответствия учителю. Если порог удовлетворяется, то определяется схождение (указывающее, что распределение вывода студента является достаточно близким к распределению вывода DNN-учителя), и DNN-студент может считаться обученной и далее может быть развернута на клиентском устройстве или компьютерной системе. В качестве альтернативы, в некоторых вариантах осуществления, компонент 128 оценки определяет, продолжить ли осуществлять итерацию, на основе того, продолжает ли студент показывать улучшение (т.е., движется ли распределение вывода студента к схождению с распределением вывода учителя в течение многочисленных успешных итераций, указывая, что DNN-студент продолжает улучшаться с последующими итерациями). В таких вариантах осуществления, пока студент улучшается, итеративное обучение продолжается. Но в одном варианте осуществления, где обучение студента стоит (т.е., распределения выводов DNN-студента не становятся ближе к распределениям выводов DNN-учителя за несколько итераций), то "занятия закончены", и модель DNN-студента может считаться обученной. В одном варианте осуществления, схождение может быть определено, где распределения выводов DNN-студента не становятся ближе к распределениям выводов DNN-учителя в течение нескольких итераций. В некоторых вариантах осуществления, компонент 128 оценки оценивает DNN-студента согласно способам 500 и 600, описанным применительно к Фиг. 5 и 6, соответственно.
[0037] Возвращаясь теперь к Фиг. 2, предоставляются аспекты иллюстративного представления примерного классификатора DNN и в общем называются классификатором 200 DNN. Этот примерный классификатор 200 DNN включает в себя модель 201 DNN. (Фиг. 2 также показывает данные 202, которые показаны в целях понимания, но которые не считаются частью классификатора 200 DNN.) В одном варианте осуществления, модель 201 DNN содержит модель CD-DNN-HMM и может быть осуществлена как конкретная структура отображенных вероятностных взаимосвязей ввода в набор соответствующих выводов, такая как иллюстративно изображенная на Фиг. 2. Вероятностные взаимосвязи (показаны как соединенные линии между узлами 205 каждого слоя) могут быть определены посредством обучения. Таким образом, в некоторых вариантах осуществления данного изобретения, модель 201 DNN задается согласно ее обучению. (Необученная модель DNN, вследствие этого, может считаться имеющей иную внутреннюю структуру, чем внутренняя структура модели DNN, которая была обучена.) Глубокая нейронная сеть (DNN) может быть рассмотрена как обыкновенный многослойный перцептрон (MLP) со многими скрытыми слоями (таким образом, глубокая). В некоторых вариантах осуществления данного изобретения, три аспекта, способствующие превосходной производительности CD-DNN-HMM, включают в себя: моделирование сенонов напрямую, даже если могут быть тысячи сенонов; использование DNN вместо неглубоких MLP; и использование длинных контекстных окон кадров в качестве ввода.
[0038] Со ссылкой на Фиг. 2, ввод и вывод модели 201 DNN обозначены как и (210 и 250 по Фиг. 2), соответственно. Обозначим входной вектор в слое (220 по Фиг. 2) как (при =