Способ сжатия модели нейронной сети, а также способ и устройство для перевода языкового корпуса

Изобретение относится к способу, устройству, машиночитаемому носителю данных для сжатия модели нейронной сети и способу перевода языкового корпуса. Технический результат заключается в повышении эффективности сжатия модели нейронной сети. Способ включает получение набора обучающих образцов, включающего множество пар обучающих образцов, при этом каждая пара обучающих образцов включает исходные данные и целевые данные, соответствующие исходным данным; обучение исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных; обучение одной или более промежуточных моделей-учителей на основе упомянутого набора обучающих образцов и исходной модели-учителя, при этом упомянутые одна или более промежуточных моделей-учителей образуют набор моделей-учителей; обучение множества кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, при этом упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников; оценку точности выходных результатов множества кандидатных моделей-учеников при помощи набора контрольных данных и выбор одной из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с этой точностью, при этом количество параметров модели у любой из промежуточных моделей-учителей меньше, чем у исходной модели-учителя, а количество параметров модели у кандидатных моделей-учеников меньше, чем у любой из промежуточных моделей-учителей. 4 н. и 14 з.п. ф-лы, 9 ил.

 

Область техники

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

Предпосылки создания изобретения

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

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

[0004] Для сжатия моделей сетевых сетей обычно используют методы, включающие квантование параметров, разложение матрицы, отсечение ветвей и дистилляцию знаний. Метод дистилляции знаний отличается тем, что он не только позволяет сжать модель и снизить ее сложность, но также и частично избежать снижения точности предсказания из-за сжатия модели, поэтому этот метод стал наиболее распространенным методом сжатия моделей нейронных сетей. В методе сжатия модели на основе дистилляции знаний, модели с большим числом параметров и сложной сетевой структурой обычно называют «моделями-учителями», а модели с меньшим числом параметров и сравнительно простой структурой называют «моделями-учениками». Из моделей-учителей получают выходную информацию, в скрытых слоях сети, или классификационную информацию в выходном слое, и знания, полученные на основе моделей-учителей, используют для обучения моделей-учеников. При обучении в качестве целевого значения оптимизации для дистилляции знаний может применяться расстояние Кульбака-Лейблера или аналогичная мера.

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

Сущность изобретения

[0006] Для преодоления затруднений, имеющихся на существующем уровне техники, в соответствии с первым аспектом настоящего изобретения предложен способ сжатия модели нейронной сети, включающий: получение набора обучающих образцов, включающего множество пар обучающих образцов, при этом каждая пара обучающих образцов включает исходные данные и целевые данные, соответствующие исходным данным; обучение исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных; обучение одной или более промежуточных моделей-учителей на основе упомянутого набора обучающих образцов и исходной модели-учителя, при этом упомянутые одна или более промежуточных моделей-учителей образуют набор моделей-учителей; обучение множества кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, при этом упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников; и выбор одной из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с результатами обучения множества кандидатных моделей-учеников.

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

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

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

[0010] В некоторых из вариантов осуществления настоящего изобретения обучение множества кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, где упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников, включает: определение множества путей обучения, каждый из которых соответствует одной из кандидатных моделей-учеников и каждый из которых начинается от исходной модели-учителя и оканчивается непосредственно на текущей кандидатной модели-ученике, или начинается от исходной модели-учителя, проходит по меньшей мере через одну из промежуточных моделей-учителей и оканчивается на соответствующей кандидатной модели-ученике; и обучение соответствующей кандидатной модели-ученика на каждом из путей обучения или обучение соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения, в порядке расположения моделей на этом пути обучения.

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

[0012] В некоторых из вариантов осуществления настоящего изобретения выбор одной из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с результатом обучения множества кандидатных моделей-учеников включает оценку точности выходных результатов множества кандидатных моделей-учеников при помощи набора контрольных данных и выбор целевой модели-ученика в соответствии с этой точностью.

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

[0014] В некоторых из вариантов осуществления настоящего изобретения получение набора обучающих образцов включает получение языкового корпуса на первом языке в качестве исходных данных и получение языкового корпуса на втором языке, имеющего такое же содержание, что и корпус на первом языке, в качестве целевых данных.

[0015] В некоторых из вариантов осуществления настоящего изобретения обучение исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных включает: сегментацию корпуса на первом языке и корпуса на втором языке с получением множества слов первого языка и множества слов второго языка, соответственно; векторизацию множества слов первого языка и множества слов второго языка с обеспечением соответствия множеству векторов слов первого языка и множеству векторов слов второго языка, соответственно; получение вектора корпуса на первом языке на основе векторов слов первого языка при помощи кодера и механизма внимания; получение вектора корпуса на втором языке на основе векторов слов второго языка при помощи кодера и механизма внимания; и обучение исходной модели-учителя в соответствии с вектором корпуса на первом языке и вектором корпуса на втором языке.

[0016] В соответствии со вторым аспектом вариантов осуществления настоящего изобретения, предложен способ перевода корпуса, включающий: получение корпуса; перевод корпуса с использованием модели нейронной сети, при этом моделью нейронной сети является целевая модель-ученик, полученная при помощи способа сжатия модели нейронной сети по первому аспекту настоящего изобретения, и вывод результата перевода.

[0017] В соответствии с третьим аспектом вариантов осуществления настоящего изобретения предложено устройство для сжатия модели нейронной сети, включающее: блок получения обучающих образцов, сконфигурированный для получения набора обучающих образцов, включающего множество пар обучающих образцов, при этом каждая пара обучающих образцов включает исходные данные и целевые данные, соответствующие исходным данным; блок обучения исходной модели, сконфигурированный для обучения исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных; блок обучения промежуточной модели, сконфигурированный для обучения одной или более промежуточных моделей-учителей на основе упомянутого набора обучающих образцов и исходной модели-учителя, при этом упомянутые одна или более промежуточных моделей-учителей образуют набор моделей-учителей; блок обучения модели-ученика, сконфигурированный для обучения множества кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, при этом упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников; и блок выбора целевой модели, сконфигурированный для выбора одной из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с результатами обучения множества кандидатных моделей-учеников.

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

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

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

[0021] В некоторых из вариантов осуществления настоящего изобретения блок обучения модели-ученика дополнительно включает: подблок определения пути, сконфигурированный для определения множества путей обучения, каждый из которых соответствует одной из кандидатных моделей-учеников и каждый из которых начинается от исходной модели-учителя и оканчивается непосредственно на текущей кандидатной модели-ученике, или начинается от исходной модели-учителя, проходит по меньшей мере через одну из промежуточных моделей-учителей и оканчивается на соответствующей кандидатной модели-ученике; и подблок обучения, сконфигурированный для обучения соответствующей кандидатной модели-ученика на каждом из путей обучения или для обучения соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения, в порядке расположения моделей на этом пути обучения.

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

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

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

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

[0026] В некоторых из вариантов осуществления настоящего изобретения блок обучения исходной модели дополнительно сконфигурирован: для сегментации корпуса на первом языке и корпуса на втором языке с получением множества слов первого языка и множества слов второго языка, соответственно; для векторизации множества слов первого языка и множества слов второго языка с обеспечением соответствия множеству векторов слов первого языка и множеству векторов слов второго языка, соответственно; для получения вектора корпуса на первом языке на основе векторов слов первого языка при помощи кодера и механизма внимания; для получения вектора корпуса на втором языке на основе векторов слов второго языка при помощи кодера и механизма внимания; и для обучения исходной модели-учителя в соответствии с вектором корпуса на первом языке и вектором корпуса на втором языке.

[0027] В соответствии с четвертым аспектом вариантов осуществления настоящего изобретения предложено устройство для перевода корпуса, включающее: приемный блок, сконфигурированный для получения корпуса; блок обработки данных, сконфигурированный для перевода корпуса с использованием модели нейронной сети, при этом моделью нейронной сети является целевая модель-ученик, полученная при помощи способа сжатия модели нейронной сети по первому аспекту настоящего изобретения; и блок вывода, сконфигурированный для вывода результата перевода.

[0028] В соответствии с пятым аспектом вариантов осуществления настоящего изобретения предложено электронное устройство, включающее: память для хранения инструкций; и процессор для вызова инструкций, хранимых в памяти, с целью выполнения способа сжатия модели нейронной сети по первому аспекту настоящего изобретения или способа перевода корпуса по второму аспекту настоящего изобретения.

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

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

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

Краткое описание чертежей

[0032] На приложенных чертежах, которые входят в состав настоящего описания и являются его неотъемлемой частью, проиллюстрированы варианты осуществления, соответствующие настоящему изобретению. Приложенные чертежи, вместе с описанием, служат для разъяснения замысла настоящего изобретения.

[0033] Фиг. 1 представляет собой эскизную блок-схему алгоритма для способа сжатия модели нейронной сети в соответствии с одним из примеров осуществления настоящего изобретения.

[0034] Фиг. 2 представляет собой эскизную блок-схему алгоритма для другого способа сжатия модели нейронной сети в соответствии с одним из примеров осуществления настоящего изобретения.

[0035] Фиг. 3 представляет собой эскизную блок-схему архитектуры модели нейронной сети в соответствии с одним из примеров осуществления настоящего изобретения.

[0036] На фиг. 4 приведена эскизная блок-схема различных путей обучения для моделей-учеников в соответствии с одним из примеров осуществления настоящего изобретения.

[0037] Фиг. 5 представляет собой эскизную блок-схему алгоритма для способа перевода корпуса в соответствии с одним из примеров осуществления настоящего изобретения.

[0038] Фиг. 6 представляет собой эскизную блок-схему устройства для способа сжатия модели нейронной сети в соответствии с одним из примеров осуществления настоящего изобретения.

[0039] Фиг. 7 представляет собой эскизную блок-схему устройства для перевода корпуса в соответствии с одним из примеров осуществления настоящего изобретения.

[0040] Фиг. 8 представляет собой эскизную блок-схему устройства в соответствии с одним из примеров осуществления настоящего изобретения.

[0041] Фиг. 9 представляет собой эскизную блок-схему электронного устройства в соответствии с одним из примеров осуществления настоящего изобретения.

Подробное описание изобретения

[0042] Далее настоящее изобретение будет описано более подробно с помощью конкретных примеров его осуществления, которые проиллюстрированы на приложенных чертежах. Приведенное ниже описание выполнено со ссылками на приложенные чертежи, где, если не указано обратное, аналогичными числовыми обозначениями на различных чертежах обозначены одинаковые или аналогичные элементы. Реализации примеров осуществления настоящего изобретения, рассмотренные в приведенном ниже описании, не являются всеми возможными реализациями, соответствующими настоящему изобретению. Напротив, они являются исключительно примерами устройств и способов, которые соответствуют аспектам, связанным с настоящим изобретением и изложенным в приложенной формуле изобретения.

[0043] В целях повышения эффективности обучения модели-ученика в вариантах осуществления настоящего изобретения предложен способ 10 сжатия модели нейронной сети. В соответствии с иллюстрацией фиг. 1, способ 10 сжатия модели нейронной сети включает шаги S11-S15, каждый из которых будет более подробно рассмотрен ниже.

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

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

[0046] На шаге S12 исходную модель-учителя обучают с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных.

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

[0048] В соответствии с иллюстрацией фиг. 2, в одном из вариантов осуществления настоящего изобретения шаг S12 может включать: сегментацию корпуса на первом языке и корпуса на втором языке с получением множества слов первого языка и множества слов второго языка, соответственно, на шаге S121; векторизацию множества слов первого языка и множества слов второго языка с обеспечением соответствия множеству векторов слов первого языка и множеству векторов слов второго языка, соответственно, на шаге S122; получение вектора корпуса на первом языке на основе векторов слов первого языка при помощи кодера и механизма внимания, на шаге S123; получение вектора корпуса на втором языке на основе векторов слов второго языка при помощи кодера и механизма внимания, на шаге S124; и обучение исходной модели-учителя в соответствии с вектором корпуса на первом языке и вектором корпуса на втором языке, на шаге S125.

[0049] В случае модели для перевода корпуса, вектор корпуса, полученный при помощи векторизации, извлечения признаков и механизма внимания, сравнивают с вектором, сформированным из стандартной семантики, что позволяет проводить обучение.

[0050] В рассмотренном выше варианте осуществления настоящего изобретения архитектура исходной модели-учителя может соответствовать показанной на фиг. 3. Множество слов Хn первого языка получают при помощи сегментации корпуса на первом языке на слова, затем их векторизуют при помощи слоя представления вектора слов, в результате чего получают вектора слов первого языка, извлекают характеристические признаки при помощи множества слоев кодера, и получают вектор корпуса на первом языке при помощи механизма внимания. С другой стороны, получают множество слов Yn второго языка при помощи пословной сегментации корпуса на втором языке, и векторизуют их при помощи слоя представления векторов слов второго языка, в результате чего получают вектора слов второго языка, извлекают характеристические признаки при помощи множества слоев декодера, и получают вектор корпуса на втором языке при помощи механизма внимания. Наконец, применяют функцию потерь для получения значения потерь между вектором корпуса на втором языке и вектором корпуса на втором языке. В зависимости от значения потерь корректируют параметры исходной модели-учителя, в результате чего получают обученную исходную модель-учителя. Слои кодера и слои декодера могут иметь одинаковое или отличающееся количество слоев.

[0051] На шаге S13 одну или более промежуточных моделей-учителей обучают на основе упомянутого набора обучающих образцов и исходной модели-учителя, при этом упомянутые одна или более промежуточных моделей-учителей образуют набор моделей-учителей.

[0052] В зависимости от фактических требований, если необходимо обучение моделей-учеников по множеству путей обучения, могут быть сформированы множество промежуточных моделей-учителей. Тип и архитектура промежуточных моделей-учителей совпадают с исходной моделью-учителем. В одном из вариантов осуществления настоящего изобретения количество параметров модели у любой из промежуточных моделей-учителей меньше, чем у исходной модели-учителя. Другими словами, промежуточные модели-учителя являются более простыми, чем исходная модель-учитель. В одном из вариантов осуществления настоящего изобретения количество слоев модели для любой из промежуточных моделей-учителей меньше, чем количество слоев исходной модели-учителя. То есть количество параметров модели уменьшают за счет уменьшения количества слоев модели. За счет уменьшения собственно количества параметров модели, или за счет уменьшения количества слоев модели, может быть уменьшен объем вычислений, необходимый для модели, при этом обучение может осуществляться с использованием выходных данных исходной модели-учителя.

[0053] В одном из вариантов осуществления настоящего изобретения, если исходная модель-учитель имеет архитектуру, показанную на фиг. 3, промежуточные модели-учителя могут иметь меньше слоев кодера и/или меньше слоев кодера, чем исходная модель-учитель.

[0054] Некоторые из множества промежуточных моделей-учителей могут иметь одинаковый уровень упрощения. Уровни упрощения множества промежуточных моделей-учителей могут соответствовать ступенчатой кривой. То есть уровни упрощения моделей последовательно и постепенно увеличиваются в множестве промежуточных моделей-учителей, благодаря чему различные модели могут использоваться для контроля при последующем обучении, с формированием множества путей обучения.

[0055] Способ обучения промежуточных моделей-учителей по существу может быть аналогичен способу обучения исходной модели-учителя.

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

[0057] В данном варианте осуществления настоящего изобретения, после обучения исходной модели-учителя и промежуточных моделей-учителей, исходные данные снова вводят в модель, чтобы получить выходные данные модели, которые представляют собой упомянутые выше псевдо-целевые данные, и эти псевдо-целевые данные могут использоваться для контроля обучения модели, которая является упрощенной по сравнению с текущей. А именно, при обучении промежуточной модели-учителя исходные данные вводят в промежуточную модель-учителя, и из этой промежуточной модели-учителя получают результирующие выходные данные. Результат сравнивают с псевдоцелевыми данными, поданными на выход исходной моделью-учителем, которая была обучена на основе исходных данных, и получают значение потерь, или результат сравнивают с псевдо-целевыми данными с выхода другой промежуточной модели-учителя, которая была обучена и которая является более сложной, чем обучаемая в текущий момент промежуточная модель-учитель, и получают значение потерь. Параметры модели корректируют в соответствии с полученным значением потерь, после чего обучение текущей модели завершают.

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

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

[0060] В некоторых из вариантов осуществления настоящего изобретения выходные данные исходной модели-учителя могут быть получены на основе алгоритма лучевого поиска. По завершении обучения исходные данные, то есть корпус на первом языке, вводят в исходную модель-учителя, при этом выходные данные получают при помощи алгоритма лучевого поиска.

[0061] На шаге S14 обучают множество кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, при этом упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников.

[0062] Чтобы обеспечить возможность развертывания моделей нейронной сети на ряде терминальных устройств со сравнительно низкой вычислительной мощностью, могут накладываться ограничения на сложность модели и требуемый объем вычислений. В зависимости от фактического состояния терминального устройства может быть задано множество кандидатных моделей-учеников, аналогичных по архитектуре исходной модели-учителю и промежуточным моделям-учителям, но более простых, чем исходная модель-учитель и промежуточные модели-учителя. В одном из вариантов осуществления настоящего изобретения шаг S14 может включать получение множества идентичных моделей-учеников, при этом количество параметров модели и/или количество слоев модели у кандидатных моделей-учеников меньше, чем у любых из промежуточных моделей-учителей.

[0063] Способ обучения кандидатных моделей-учеников по существу может быть идентичен обучению промежуточных моделей-учителей.

[0064] В одном из вариантов осуществления настоящего изобретения шаг S14 может включать определение множества путей обучения, каждый из которых соответствует одной из кандидатных моделей-учеников и каждый из которых начинается от исходной модели-учителя и оканчивается непосредственно на текущей кандидатной модели-ученике, или начинается от исходной модели-учителя, проходит по меньшей мере через одну из промежуточных моделей-учителей и оканчивается на соответствующей кандидатной модели-ученике; и обучение соответствующей кандидатной модели-ученика на каждом из путей обучения или обучение соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения в порядке расположения моделей на этом пути обучения.

[0065] При обучении кандидатной модели-ученика в соответствии с некоторым путем обучения, когда путь обучения начинается от исходной модели-учителя и оканчивается непосредственно на соответствующей кандидатной модели-ученике, исходные данные используют в качестве входных данных, а псевдо-целевые данные с выхода исходной модели-учителя, которая была обучена, используют в качестве контрольных данных для соответствующей кандидатной модели-ученика, благодаря чему обучают кандидатную модель-ученика. Альтернативно, когда путь обучения начинается от исходной модели-учителя, проходит по меньшей мере через одну промежуточную модель-учителя и оканчивается на соответствующей кандидатной модели-ученике, исходные данные используют в качестве входных данных, а псевдо-целевые данные, поданные на выход непосредственно предшествующей на этом пути обучения сложной моделью-учителем, используют в качестве контрольных данных, благодаря чему обучают соответствующие промежуточные модели-учителя, а псевдо-целевые данные, поданные на выход промежуточной моделью-учителем, непосредственно предшествующей кандидатной модели-ученику на пути обучения, используют в качестве контрольных данных для кандидатной модели-ученика, благодаря чему обучают кандидатную модель-ученика. Упомянутой сложной моделью-учителем является исходная модель-учитель, которая была обучена, или другая промежуточная модель-учитель, которая была обучена и имеет большее количество параметров модели, чем текущая промежуточная модель-учитель, которую обучают в текущий момент.

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

[0067] Описанный выше способ обучения кандидатных моделей-учеников будет рассмотрен ниже в одном из конкретных вариантов осуществления настоящего изобретения. К примеру, в соответствии с иллюстрацией фиг. 4, имеется исходная модель-учитель TN, а также промежуточные модели-учителя TN-1 и TN-2 двух рангов сложности, постепенно уменьшающихся. Исходную модель-учителя TN обучают на наборе обучающих образцов где х - исходные данные, а у - соответствующие целевые данные. Когда исходная модель-учитель обучена, исходные данные х снова вводят в исходную модель-учителя и получают псевдо-целевые данные уT, и таким образом, получают набор псевдо-целевых данных исходной модели-учителя. Промежуточная модель-учитель TN-1, поскольку сложнее нее лишь одна исходная модель-учитель TN, может быть обучена исключительно при помощи исходной модели-учителя TN, то есть, обучена с использованием псевдо-целевых данных исходной модели-учителя, После обучения промежуточной модели-учителя TN-1 с использованием исходных данных х в качестве входных данных и псевдо-целевых данных уT в качестве контрольных данных, аналогично, получают набор псевдо-целевых данных. Поскольку промежуточная модель-учитель TN-2 более проста, чем исходная модель-учитель TN, и чем промежуточная модель-учитель TN-1, она может быть обучена как исходной моделью-учителем TN, так и промежуточной моделью-учителем TN-1. А именно, обучение может проводиться с использованием исходных данных в качестве входных данных и использования, в качестве контрольных данных, либо псевдо-целевых данных исходной модели-учителя TN, либо псевдо-целевых данных промежуточной модели-учителя TN-1. Соответственно, могут присутствовать две промежуточные модели-учителя TN-2, обученная исходной моделью-учителем TN и обученная промежуточной моделью-учителем TN-1, соответственно, и таким образом получают различные пути обучения. В этой ситуации могут быть заданы четыре кандидатные модели-ученики S, которые могут быть обучены, по аналогичному принципу, исходной моделью-учителем TN, промежуточной моделью-учителем TN-1, или двумя промежуточными моделями-учителями TN-2, каждая из которых была обучена по собственному пути. Кандидатные модели-ученики, обученные по различным путям обучения, будут иметь различные параметры.

[0068] На шаге S15, выбирают одну из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с результатами обучения множества кандидатных моделей-учеников.

[0069] В качестве целевой модели-ученика выбирают одну из множества кандидатных моделей-учеников, полученных по различным путям обучения. Целевая модель-ученик может отвечать требованиями терминального устройства в отношении сложности модели, а также требованиям качества, предъявляемым к модели нейронной сети. В одном из вариантов осуществления настоящего изобретения шаг S15 может включать оценку точности выходных результатов множества кандидатных моделей-учеников при помощи набора контрольных данных, а также выбор целевой модели-ученика в соответствии с точностью. Из множества кандидатных моделей-учеников, прошедших обучение, в качестве целевой модели-ученика выбирают кандидатную модель-ученика с наивысшим качеством. Выбор может быть выполнен при помощи тестирования множества моделей-учеников на наборе контрольных данных, при этом набор контрольных данных задан аналогично набору обучающих образцов и включает тестовые данные, а также стандартные результирующие данные, соответствующие этим тестовым данным. Также в тестовые данные могут быть добавлены шумовые помехи, создающие отличие от исходных данных в наборе обучающих образцов, и тогда выбор осуществляют, сравнивая точность выходных результатов кандидатных моделей-учеников и стандартных результирующих данных, то есть в качестве целевой модели-ученика выбирают кандидатную модель-ученика с максимальной точностью.

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

[0071] В соответствии с тем же замыслом настоящего изобретения предложен также способ 20 перевода языкового корпуса. В соответствии с иллюстрацией фиг. 5 способ 20 перевода корпуса включает получение корпуса на шаге S21; перевод корпуса с использованием модели нейронной сети на шаге S22, при этом моделью нейронной сети является целевая модель-ученик, полученная при помощи способа 10 сжатия модели нейронной сети по любому из рассмотренных выше вариантов осуществления настоящего изобретения; и вывод результата перевода на шаге S23.

[0072] В соответствии с тем же замыслом изобретения предложено устройство 100 для сжатия модели нейронной сети, проиллюстрированное на фиг. 6. В соответствии с иллюстрацией фиг. 6 устройство 100 для сжатия модели нейронной сети включает: блок 110 получения обучающих образцов, сконфигурированный для получения набора обучающих образцов, включающего множество пар обучающих образцов, при этом каждая пара обучающих образцов включает исходные данные и целевые данные, соответствующие исходным данным; блок 120 обучения исходной модели, сконфигурированный для обучения исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных; блок 130 обучения промежуточной модели, сконфигурированный для обучения одной или более промежуточных моделей-учителей на основе упомянутого набора обучающих образцов и исходной модели-учителя, при этом упомянутые одна или более промежуточных моделей-учителей образуют набор моделей-учителей; блок 140 обучения модели-ученика, сконфигурированный для обучения множества кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, при этом упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников; и блок 1250 выбора целевой модели, сконфигурированный для выбора одной из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с результатами обучения множества кандидатных моделей-учеников.

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

[0074] В одном из вариантов осуществления настоящего изобретения блок 130 обучения промежуточной модели сконфигурирован также для обучения каждой из промежуточных моделей-учителей, подлежащих обучению, с использованием исходных данных в качестве входных данных и с использованием псевдо-целевых данных, поданных на выход сложной моделью-учителем, в качестве контрольных данных. Упомянутой сложной моделью-учителем является исходная модель-учитель, которая была обучена, или другая промежуточная модель-учитель, которая была обучена и имеет большее количество параметров модели, чем текущая промежуточная модель-учитель, которую обучают в текущий момент.

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

[0076] В одном из вариантов осуществления настоящего изобретения блок 140 обучения модели-ученика включает подблок определения путей, сконфигурированный для определения множества путей обучения, каждый из которых соответствует одной из кандидатных моделей-учеников и каждый из которых начинается от исходной модели-учителя и оканчивается непосредственно на текущей кандидатной модели-ученике, или начинается от исходной модели-учителя, проходит по меньшей мере через одну из промежуточных моделей-учителей и оканчивается на соответствующей кандидатной модели-ученике; и подблок обучения, сконфигурированный для обучения соответствующей кандидатной модели-ученика на каждом из путей обучения или для обучения соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения, в порядке расположения моделей на этом пути обучения.

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

[0078] В одном из вариантов осуществления настоящего изобретения блок 150 выбора целевой модели дополнительно сконфигурирован для оценки точности выходных результатов множества кандидатных моделей-учеников при помощи набора контрольных данных, и для выбора целевой модели-ученика в соответствии с точностью.

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

[0080] В одном из вариантов осуществления настоящего изобретения блок 110 получения обучающих образцов дополнительно сконфигурирован для получения языкового корпуса на первом языке в качестве в качестве исходных данных и получение языкового корпуса на втором языке, имеющего такое же содержание, что и корпус на первом языке, в качестве целевых данных.

[0081] В одном из вариантов осуществления настоящего изобретения блок 120 обучения исходной модели дополнительно сконфигурирован для сегментации корпуса на первом языке и корпуса на втором языке с получением множества слов первого языка и множества слов второго языка, соответственно; для векторизации множества слов первого языка и множества слов второго языка с обеспечением соответствия множеству векторов слов первого языка и множеству векторов слов второго языка, соответственно; для получения вектора корпуса на первом языке на основе векторов слов первого языка при помощи кодера и механизма внимания; для получения вектора корпуса на втором языке на основе векторов слов второго языка при помощи кодера и механизма внимания; и для обучения исходной модели-учителя в соответствии с вектором корпуса на первом языке и вектором корпуса на втором языке.

[0082] В устройстве 100 для сжатия модели нейронной сети, предложенном в рассмотренном выше варианте осуществления изобретения, модули, выполняющие соответствующие операции, действуют в соответствии с принципами, подробно описанными в вариантах осуществления соответствующего способа. Их описание здесь повторено не будет.

[0083] На фиг. 7 проиллюстрировано устройство 200 для перевода языкового корпуса, которое основано на том же замысле изобретения. В соответствии с фиг. 7, устройство 200 для перевода корпуса включает приемный блок 210, сконфигурированный для приема корпуса; блок 220 обработки данных, сконфигурированный для перевода корпуса с использованием модели нейронной сети, при этом моделью нейронной сети является целевая модель-ученик, полученная при помощи способа 10 сжатия модели нейронной сети по любому из рассмотренных выше вариантов осуществления изобретения; и блок 230 вывода, сконфигурированный для вывода результата перевода.

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

[0085] Фиг. 8 представляет собой эскизную блок-схему любого из устройств в рассмотренных выше вариантах осуществления изобретения, в соответствии с одним из примеров осуществления настоящего изобретения. Например, устройство 300 может представлять собой мобильный телефон, компьютер, терминал цифрового вещания, устройство обмена сообщениями, игровую приставку, планшетный компьютер, медицинское устройство, тренажерное оборудование, карманный персональный компьютер и т.п.

[0086] В соответствии с иллюстрацией фиг. 8, устройство 300 может включать один или более следующих компонентов: процессорный компонент 302, память 304, компонент 306 электропитания, мультимедийный компонент 308, аудиокомпонент 310, интерфейс 312 ввода-вывода (input/output, I/O), измерительный компонент 314 и компонент 316 связи.

[0087] Процессорный компонент 302, как правило, осуществляет общее управление функционированием устройства 300, например, операциями, связанными с отображением, телефонными вызовами, обменом данными, работой с камерой и операциями записи. Процессорный компонент 302 может включать один или более процессоров 320, исполняющих инструкции с целью выполнения всех шагов описанных выше способов или части этих шагов. Также, процессорный компонент 302 может включать один или более модулей, обеспечивающих взаимодействие между процессорным компонентом 302 и другими компонентами. Например, процессорный компонент 302 может включать мультимедийный модуль, обеспечивающий взаимодействие между мультимедийным компонентом 308 и процессорным компонентом 302.

[0088] Память 304 сконфигурирована для хранения различных типов данных с целью поддержки функционирования устройства 300. Примерами подобных данных могут служить инструкции любых приложений или методов, исполняемых на устройстве 300, контактные данные, данные телефонной книги, сообщения, изображения, видеоданные и т.п. Память 304 может быть реализована с использованием энергозависимых или энергонезависимых устройств любого типа, а также их комбинаций, например, статической памятью с произвольным доступом (static random access memory, SRAM), электрически перепрограммируемой памяти в режиме «только для чтения» (erasable programmable read-only memory, EPROM), программируемой памяти в режиме «только для чтения» (programmable read-only memory, PROM), памяти в режиме «только для чтения», магнитной памяти, флэш-памяти, магнитного или оптического диска.

[0089] Компонент 306 электропитания обеспечивает электропитание различных компонентов устройства 300. Компонент 306 электропитания может включать систему управления электропитанием, один или более источников питания, а также любые другие компоненты, связанные с производством, управлением и распределением электрической энергии в устройстве 300.

[0090] Мультимедийный компонент 308 включает экран, который обеспечивает интерфейс вывода между устройством 300 и пользователем. В некоторых из вариантов осуществления настоящего изобретения экран может включать дисплей на жидких кристаллах (liquid crystal display, LCD) и сенсорную панель (touch panel, TP). Если экран включает сенсорную панель, то в этом случае экран может быть реализован как сенсорный экран, принимающий сигналы ввода от пользователя. Сенсорная панель включает один или более датчиков касания, предназначенных для регистрации касаний, скольжений и других жестов на сенсорной панели. Датчики касания могут не только регистрировать границы операций касания или скольжения, но также измерять временную длительность и силу давления, связанные с этими операциями. В некоторых вариантах осуществления настоящего изобретения мультимедийный компонент 308 включает фронтальную камеру и/или тыловую камеру. Фронтальная камера и/или тыловая камера могут принимать внешние мультимедийные данные, когда устройство 300 находится в определенном режиме работы, например, в режиме фотографирования или в режиме видеосъемки. Как фронтальная камера, так и тыловая камера могут представлять собой фиксированные системы оптических линз или иметь функциональность фокусировки и оптического зуммирования.

[0091] Аудиокомпонент 310 сконфигурирован для вывода и/или ввода аудиосигналов. Например, аудиокомпонент 310 включает микрофон ("MIC"), сконфигурированный для приема вспомогательного аудиосигнала, когда устройство 300 находится в определенном режиме работы, например, в режиме вызова, в режиме записи или в режиме распознавания голоса. Принятые аудиосигналы могут затем быть сохранены в памяти 304 или переданы при помощи компонента 316 связи. В некоторых из вариантов осуществления настоящего изобретения аудиокомпонент 310 включает также громкоговоритель для вывода аудиосигналов.

[0092] Интерфейс 312 ввода/вывода обеспечивает интерфейс между процессорным компонентом 302 и модулями периферийных интерфейсов, например, клавиатуры, поворотного-нажимного выключателя («колеса»), кнопок и т.п. Кнопки могут включать, без ограничения перечисленным, «домашнюю» кнопку, кнопку громкости, кнопку «пуск» или кнопку блокировки.

[0093] Измерительный компонент 314 включает один или более датчиков, обеспечивающих оценку состояния различных элементов устройства 300. Например, измерительный компонент 314 может обнаруживать состояние «открыто» или «закрыто» устройства 300, относительное расположение компонентов, например, дисплея и клавиатуры устройства 300, изменение положения устройства 300 или одного из компонентов устройства 300, присутствие или отсутствие контакта пользователя с устройством 300, ориентацию или ускорение/замедление устройства 300 и изменение температуры устройства 300. Измерительный компонент 314 может включать датчик близости, сконфигурированный для обнаружения присутствия приближенных объектов без физического контакта с ними. Измерительный компонент 314 может также включать светочувствительный датчик, например, датчик изображений CMOS или CCD, для использования в приложениях формирования изображений. В некоторых из вариантов осуществления настоящего изобретения измерительный компонент 314 может также включать акселерометрический датчик, гироскопический датчик, магнитный датчик, датчик давления или датчик температуры.

[0094] Компонент 316 связи сконфигурирован для обеспечения связи, проводной или беспроводной, между устройством 300 и другими устройствами. Устройство 300 может осуществлять доступ к беспроводной сети, основанной на таких стандартах связи, как WiFi, 2G или 3G, или их комбинации. В одном из примеров осуществления настоящего изобретения компонент 316 связи принимает широковещательный сигнал или соответствующую широковещательную информацию от внешней широковещательной системы управления по широковещательному каналу. В одном из примеров осуществления настоящего изобретения компонент 316 связи включает также модуль ближней бесконтактной связи (near field communication, NFC) для обеспечения связи в ближней зоне. Например, NFC-модуль может быть реализован на базе технологии радиочастотной идентификации (radio frequency identification, RFID), технологии ассоциации передачи данных в инфракрасном диапазоне (infrared data association, IrDA), технологии сверхширокой полосы пропускания (ultra-wideband, UWB), технологии Bluetooth (ВТ) или других технологий.

[0095] В примерах осуществления настоящего изобретения устройство 300 может быть реализовано с использованием одной или более заказных интегральных схем (ASIC), цифровых сигнальных процессоров (DSP), цифровых устройств обработки сигналов (digital signal processing devices, DSPD), программируемых логических устройств (programmable logic devices, PLD), электрически программируемых вентильных матриц (field programmable gate arrays, FPGA), процессорах, контроллерах, микроконтроллерах, микропроцессорах или других электронных блоках, предназначенных для исполнения описанных выше способов.

[0096] В примерах осуществления настоящего изобретения предложен также машиночитаемый носитель, который включает инструкции, например, содержащиеся в памяти 304 и исполняемые процессором 320 в устройстве 300 с целью выполнения описанных выше способов. К примеру, машиночитаемый носитель может представлять собой память ROM, RAM, CD-ROM, магнитную ленту, гибкий диск, оптическое запоминающее устройство для хранения данных и т.п.

[0097] Фиг. 6 представляет собой блок-схему, иллюстрирующую структуру электронного устройства 400 в соответствии с одним из примеров осуществления настоящего изобретения. Например, устройство 400 может быть выполнено в виде сервера. В соответствии с иллюстрацией фиг. 9, устройство 400 может включать в себя процессорный компонент 422, который, в свою очередь, включает в себя один или более процессоров и накопительные ресурсы, представленные памятью 432, для хранения инструкций, например, прикладных программ, исполняемых процессорным компонентом 422. Прикладные программы, хранимые в памяти 432, могут включать в себя один или более модулей, каждый из которых соответствует набору инструкций. При этом процессорный компонент 422 сконфигурирован для исполнения инструкций с целью выполнения описанных выше способов.

[0098] Устройство 400 может также включать в себя компонент 426 электропитания, сконфигурированный для осуществления управления электропитанием устройства 400, проводный или беспроводной сетевой интерфейс (или интерфейсы) 450, сконфигурированный для подключения устройства 400 к сети, и интерфейс 458 ввода-вывода (I/O). Устройство 400 может функционировать на основе операционной системы, например, Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, и т.п., хранимой в памяти 432.

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

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

1. Компьютерно-реализуемый способ сжатия модели нейронной сети, включающий:

получение набора обучающих образцов, включающего множество пар обучающих образцов, при этом каждая пара обучающих образцов включает исходные данные и целевые данные, соответствующие исходным данным;

обучение исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных;

обучение одной или более промежуточных моделей-учителей на основе упомянутого набора обучающих образцов и исходной модели-учителя, при этом упомянутые одна или более промежуточных моделей-учителей образуют набор моделей-учителей;

обучение множества кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, при этом упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников;

оценку точности выходных результатов множества кандидатных моделей-учеников при помощи набора контрольных данных и выбор одной из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с этой точностью,

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

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

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

4. Способ по п. 1, в котором упомянутое обучение множества кандидатных моделей-учеников на основе набора обучающих образцов, исходной модели-учителя и набора моделей-учителей включает:

определение множества путей обучения, каждый из которых соответствует одной из кандидатных моделей-учеников и каждый из которых начинается от исходной модели-учителя и оканчивается непосредственно на соответствующей кандидатной модели-ученике, или начинается от исходной модели-учителя, проходит по меньшей мере через одну из промежуточных моделей-учителей и оканчивается на соответствующей кандидатной модели-ученике; и

обучение соответствующей кандидатной модели-ученика на каждом из путей обучения или обучение соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения, в порядке расположения моделей на этом пути обучения.

5. Способ по п. 4, в котором обучение соответствующей кандидатной модели-ученика на каждом из путей обучения или обучение соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения в порядке расположения моделей на этом пути обучения включает:

обучение соответствующей кандидатной модели-ученика с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых псевдо-целевых данных, поданных на выход исходной моделью-учителем, которая была обучена, в качестве контрольных данных для соответствующей кандидатной модели-ученика, когда путь обучения начинается от исходной модели-учителя и оканчивается непосредственно на соответствующей кандидатной модели-ученике, или

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

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

7. Способ по п. 1, в котором упомянутое получение набора обучающих образцов, включающего множество пар обучающих образцов, включает получение языкового корпуса на первом языке в качестве исходных данных и получение языкового корпуса на втором языке, имеющего такое же содержание, что и корпус на первом языке, в качестве целевых данных.

8. Способ по п. 7, в котором упомянутое обучение исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных включает:

сегментацию корпуса на первом языке и корпуса на втором языке с получением множества слов первого языка и множества слов второго языка, соответственно;

векторизацию множества слов первого языка и множества слов второго языка с обеспечением соответствия множеству векторов слов первого языка и множеству векторов слов второго языка, соответственно;

получение вектора корпуса на первом языке на основе векторов слов первого языка при помощи кодера и механизма внимания;

получение вектора корпуса на втором языке на основе векторов слов второго языка при помощи декодера и механизма внимания; и

обучение исходной модели-учителя в соответствии с вектором корпуса на первом языке и вектором корпуса на втором языке.

9. Компьютерно-реализуемый способ перевода языкового корпуса, включающий:

получение языкового корпуса;

перевод языкового корпуса с использованием модели нейронной сети, при этом моделью нейронной сети является целевая модель-ученик, полученная при помощи способа сжатия модели нейронной сети по любому из пп. 1-8; и

вывод результата перевода.

10. Устройство для сжатия модели нейронной сети, включающее:

один или более процессоров и

энергозависимую или энергонезависимую память для хранения инструкций, исполняемых одним или более процессорами;

при этом один или более процессоров исполняют упомянутые инструкции для выполнения способа сжатия модели нейронной сети, включающего:

получение набора обучающих образцов, включающего множество пар обучающих образцов, при этом каждая пара обучающих образцов включает исходные данные и целевые данные, соответствующие исходным данным;

обучение исходной модели-учителя с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых целевых данных в качестве контрольных данных;

обучение одной или более промежуточных моделей-учителей на основе упомянутого набора обучающих образцов и исходной модели-учителя, при этом упомянутые одна или более промежуточных моделей-учителей образуют набор моделей-учителей;

обучение множества кандидатных моделей-учеников на основе упомянутого набора обучающих образцов, исходной модели-учителя и набора моделей-учителей, при этом упомянутое множество кандидатных моделей-учеников образует набор моделей-учеников;

оценку точности выходных результатов множества кандидатных моделей-учеников при помощи набора контрольных данных и

выбор одной из множества кандидатных моделей-учеников в качестве целевой модели-ученика в соответствии с этой точностью,

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

11. Устройство по п. 10, в котором обучение одной или более промежуточных моделей-учителей на основе набора обучающих образцов и исходной модели-учителя включает обучение каждой из промежуточных моделей-учителей с использованием упомянутых исходных данных в качестве входных данных и с использованием псевдо-целевых данных, поданных на выход сложной моделью-учителем, в качестве контрольных данных, при этом сложной моделью-учителем является исходная модель-учитель, которая была обучена, или другая промежуточная модель-учитель, которая была обучена и количество параметров модели у которой больше, чем у промежуточной модели-учителя, которую обучают в текущий момент.

12. Устройство по п. 11, в котором одну или более промежуточных моделей-учителей в наборе моделей-учителей ранжируют в порядке убывания количества параметров этих моделей таким образом, что количество параметров модели у промежуточной модели-учителя следующего ранга меньше, чем у промежуточной модели-учителя предыдущего ранга, при этом сложной моделью-учителем для обучения промежуточной модели-учителя текущего ранга является исходная модель-учитель, которая была обучена, или промежуточная модель-учитель любого из предшествующих рангов, которая была обучена.

13. Устройство по п. 10, в котором обучение множества кандидатных моделей-учеников на основе набора обучающих образцов, исходной модели-учителя и набора моделей-учителей включает:

определение множества путей обучения, каждый из которых соответствует одной из кандидатных моделей-учеников и каждый из которых начинается от исходной модели-учителя и оканчивается непосредственно на соответствующей кандидатной модели-ученике, или начинается от исходной модели-учителя, проходит по меньшей мере через одну из промежуточных моделей-учителей и оканчивается на соответствующей кандидатной модели-ученике; и

обучение соответствующей кандидатной модели-ученика на каждом из путей обучения или обучение соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения, в порядке расположения моделей на этом пути обучения.

14. Устройство по п. 13, в котором обучение соответствующей кандидатной модели-ученика на каждом из путей обучения или обучение соответствующей по меньшей мере одной промежуточной модели-учителя и соответствующей кандидатной модели-ученика на пути обучения в порядке расположения моделей на этом пути обучения включает:

обучение соответствующей кандидатной модели-ученика с использованием упомянутых исходных данных в качестве входных данных и с использованием упомянутых псевдо-целевых данных, поданных на выход исходной моделью-учителем, которая была обучена, в качестве контрольных данных для соответствующей кандидатной модели-ученика, когда путь обучения начинается от исходной модели-учителя и оканчивается непосредственно на соответствующей кандидатной модели-ученике, или

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

15. Устройство по п. 10, в котором то, что количество параметров модели у любой из промежуточных моделей-учителей меньше, чем у исходной модели-учителя, включает следующее: количество слоев модели у любой из промежуточных моделей-учителей меньше, чем у исходной модели-учителя.

16. Устройство по п. 10, в котором получение набора обучающих образцов, включающего множество пар обучающих образцов, включает получение языкового корпуса на первом языке в качестве исходных данных и получение языкового корпуса на втором языке, имеющего такое же содержание, что и корпус на первом языке, в качестве целевых данных.

17. Устройство по п. 16, в котором обучение исходной модели-учителя с использованием исходных данных в качестве входных данных и с использованием целевых данных в качестве контрольных данных включает:

сегментацию корпуса на первом языке и корпуса на втором языке с получением множества слов первого языка и множества слов второго языка, соответственно;

векторизацию множества слов первого языка и множества слов второго языка с обеспечением соответствия множеству векторов слов первого языка и множеству векторов слов второго языка, соответственно;

получение вектора корпуса на первом языке на основе векторов слов первого языка при помощи кодера и механизма внимания;

получение вектора корпуса на втором языке на основе векторов слов второго языка при помощи декодера и механизма внимания; и

обучение исходной модели-учителя в соответствии с вектором корпуса на первом языке и вектором корпуса на втором языке.

18. Машиночитаемый носитель данных, на котором хранят инструкции, которые, при исполнении процессором, выполняют способ сжатия модели нейронной сети по любому из пп. 1-8.



 

Похожие патенты:

Изобретение относится к системе, носителю данных и способу преобразования последовательности на основе внимания. Технический результат заключается в повышении быстродействия преобразования последовательности.

Изобретение относится к комплексу обучения и/или дообучения алгоритмов обработки аэрофотоснимков видимого и дальнего инфракрасного диапазонов. Технический результат заключается в повышении качества обучения алгоритмов обработки аэрофотоснимков.

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

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

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

Изобретение относится к области вычислительной техники. Способ обнаружения дорожной полосы включает получение изображения участка дорожной полосы и его обработку.

Изобретение относится к способу обучения нейросетевой модели для генерации трёхмерных облаков точек. Технический результат заключается в генерировании более качественных трехмерных облаков точек.

Изобретение относится к области вычислительной техники. Технический результат заключается в безопасности персональных данных пользователя за счет идентификации пользователя на основании обученной на персональных данных пользователя модели поведения пользователя.

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

Изобретение относится к области вычислительной техники для обработки изображений. Технический результат заключается в повышении разрешения выходных данных изображения.

Изобретение относится к цифровой платформе классификации исходных данных. Техническим результатом является повышение эффективности обобщения исходных данных за счет уточнения точности их идентификации в едином информационном пространстве путем создания классификатора с присвоением цифрового кода и закреплением описания исходных данных в виде эталона.
Наверх