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

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

Info

Publication number
RU2749970C1
RU2749970C1 RU2020102388A RU2020102388A RU2749970C1 RU 2749970 C1 RU2749970 C1 RU 2749970C1 RU 2020102388 A RU2020102388 A RU 2020102388A RU 2020102388 A RU2020102388 A RU 2020102388A RU 2749970 C1 RU2749970 C1 RU 2749970C1
Authority
RU
Russia
Prior art keywords
model
teacher
models
training
language
Prior art date
Application number
RU2020102388A
Other languages
English (en)
Inventor
Сян Ли
Юхуэй СУНЬ
Цзялян ЦЗЯН
Цзяньвэй ЦУЙ
Original Assignee
Бейдзин Сяоми Интиллиджент Текнолоджи Ко., ЛТД.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Бейдзин Сяоми Интиллиджент Текнолоджи Ко., ЛТД. filed Critical Бейдзин Сяоми Интиллиджент Текнолоджи Ко., ЛТД.
Application granted granted Critical
Publication of RU2749970C1 publication Critical patent/RU2749970C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/06Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics
    • G09B23/08Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for statics or dynamics
    • G09B23/10Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for statics or dynamics of solid bodies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)

Abstract

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

Description

Область техники
[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 обучают на наборе обучающих образцов
Figure 00000001
где х - исходные данные, а у - соответствующие целевые данные. Когда исходная модель-учитель обучена, исходные данные х снова вводят в исходную модель-учителя и получают псевдо-целевые данные уT, и таким образом, получают набор псевдо-целевых данных
Figure 00000002
исходной модели-учителя. Промежуточная модель-учитель TN-1, поскольку сложнее нее лишь одна исходная модель-учитель TN, может быть обучена исключительно при помощи исходной модели-учителя TN, то есть, обучена с использованием псевдо-целевых данных исходной модели-учителя,
Figure 00000003
После обучения промежуточной модели-учителя 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] Нужно понимать, что настоящее изобретение не ограничено конкретной конструкцией, описанной выше и проиллюстрированной на приложенных чертежах, и в пределах объема настоящего изобретения могут быть выполнены множество различных модификаций и изменений. Предполагается, что объем настоящего изобретения ограничен только приложенной формулой изобретения.

Claims (55)

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.
RU2020102388A 2019-10-24 2019-11-26 Способ сжатия модели нейронной сети, а также способ и устройство для перевода языкового корпуса RU2749970C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201911019142.1 2019-10-24
CN201911019142.1A CN110826344B (zh) 2019-10-24 2019-10-24 神经网络模型压缩方法、语料翻译方法及其装置
PCT/CN2019/120801 WO2021077529A1 (zh) 2019-10-24 2019-11-26 神经网络模型压缩方法、语料翻译方法及其装置

Publications (1)

Publication Number Publication Date
RU2749970C1 true RU2749970C1 (ru) 2021-06-21

Family

ID=69550504

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020102388A RU2749970C1 (ru) 2019-10-24 2019-11-26 Способ сжатия модели нейронной сети, а также способ и устройство для перевода языкового корпуса

Country Status (7)

Country Link
US (1) US11556723B2 (ru)
EP (1) EP3812969A1 (ru)
JP (1) JP2022509892A (ru)
KR (1) KR102433834B1 (ru)
CN (1) CN110826344B (ru)
RU (1) RU2749970C1 (ru)
WO (1) WO2021077529A1 (ru)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008305B (zh) * 2019-11-29 2023-06-23 百度在线网络技术(北京)有限公司 一种视觉搜索方法、装置以及电子设备
CN111506702A (zh) * 2020-03-25 2020-08-07 北京万里红科技股份有限公司 基于知识蒸馏的语言模型训练方法、文本分类方法及装置
CN111461212B (zh) * 2020-03-31 2023-04-07 中国科学院计算技术研究所 一种用于点云目标检测模型的压缩方法
US11386302B2 (en) * 2020-04-13 2022-07-12 Google Llc Systems and methods for contrastive learning of visual representations
US11354778B2 (en) 2020-04-13 2022-06-07 Google Llc Systems and methods for contrastive learning of visual representations
CN111598216B (zh) * 2020-04-16 2021-07-06 北京百度网讯科技有限公司 学生网络模型的生成方法、装置、设备及存储介质
US11837238B2 (en) * 2020-10-21 2023-12-05 Google Llc Assessing speaker recognition performance
CN112785887A (zh) * 2020-12-31 2021-05-11 深圳市木愚科技有限公司 一种基于教师背景的在线教育互动系统及方法
CN113569608A (zh) * 2021-02-08 2021-10-29 腾讯科技(深圳)有限公司 基于深度学习的文本识别方法、装置、设备及存储介质
CN113204633B (zh) * 2021-06-01 2022-12-30 吉林大学 一种语义匹配蒸馏方法及装置
CN113377915B (zh) * 2021-06-22 2022-07-19 厦门大学 对话篇章解析方法
CN113656644B (zh) * 2021-07-26 2024-03-15 北京达佳互联信息技术有限公司 手势语识别方法、装置、电子设备及存储介质
CN113505614A (zh) * 2021-07-29 2021-10-15 沈阳雅译网络技术有限公司 一种面向小型cpu设备的小模型训练方法
US11599794B1 (en) 2021-10-20 2023-03-07 Moffett International Co., Limited System and method for training sample generator with few-shot learning
KR102461997B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR102461998B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
CN114118061A (zh) * 2021-11-30 2022-03-01 深圳市北科瑞声科技股份有限公司 轻量级意图识别模型训练方法、装置、设备及存储介质
CN114202076B (zh) * 2021-12-10 2023-05-23 北京百度网讯科技有限公司 深度学习模型的训练方法、自然语言处理方法和装置
CN114663714B (zh) * 2022-05-23 2022-11-04 阿里巴巴(中国)有限公司 图像分类、地物分类方法和装置
CN115063875B (zh) * 2022-08-16 2022-12-16 北京百度网讯科技有限公司 模型训练方法、图像处理方法、装置和电子设备
CN115879446B (zh) * 2022-12-30 2024-01-12 北京百度网讯科技有限公司 文本处理方法、深度学习模型训练方法、装置以及设备
CN116416500B (zh) * 2023-03-24 2024-04-05 北京百度网讯科技有限公司 图像识别模型训练方法、图像识别方法、装置及电子设备
CN116522152B (zh) * 2023-07-05 2023-11-10 深圳须弥云图空间科技有限公司 基于回译的翻译模型训练方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843801A (zh) * 2016-03-25 2016-08-10 北京语言大学 多译本平行语料库的构建系统
CN108921294A (zh) * 2018-07-11 2018-11-30 浙江大学 一种用于神经网络加速的渐进式块知识蒸馏方法
WO2018223822A1 (zh) * 2017-06-07 2018-12-13 北京深鉴智能科技有限公司 基于剪枝和蒸馏的卷积神经网络压缩方法
US20190034764A1 (en) * 2017-07-31 2019-01-31 Samsung Electronics Co., Ltd. Method and apparatus for generating training data to train student model using teacher model
CN109711544A (zh) * 2018-12-04 2019-05-03 北京市商汤科技开发有限公司 模型压缩的方法、装置、电子设备及计算机存储介质
CN109783824A (zh) * 2018-12-17 2019-05-21 北京百度网讯科技有限公司 基于翻译模型的翻译方法、装置及存储介质
WO2019143946A1 (en) * 2018-01-19 2019-07-25 Visa International Service Association System, method, and computer program product for compressing neural network models
CN110070183A (zh) * 2019-03-11 2019-07-30 中国科学院信息工程研究所 一种弱标注数据的神经网络模型训练方法及装置
CN110162800A (zh) * 2019-05-08 2019-08-23 北京百度网讯科技有限公司 翻译模型的训练方法和装置
CN110276413A (zh) * 2019-06-28 2019-09-24 深圳前海微众银行股份有限公司 一种模型压缩方法及装置
RU2702978C1 (ru) * 2018-10-15 2019-10-14 Самсунг Электроникс Ко., Лтд. Байесовское разреживание рекуррентных нейронных сетей

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102492318B1 (ko) * 2015-09-18 2023-01-26 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
KR102589637B1 (ko) * 2016-08-16 2023-10-16 삼성전자주식회사 기계 번역 방법 및 장치
WO2018126213A1 (en) * 2016-12-30 2018-07-05 Google Llc Multi-task learning using knowledge distillation
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation
US11195093B2 (en) * 2017-05-18 2021-12-07 Samsung Electronics Co., Ltd Apparatus and method for student-teacher transfer learning network using knowledge bridge
US10817650B2 (en) * 2017-05-19 2020-10-27 Salesforce.Com, Inc. Natural language processing using context specific word vectors
EP3471005B1 (en) * 2017-10-13 2021-11-03 Nokia Technologies Oy Artificial neural network
US10643602B2 (en) * 2018-03-16 2020-05-05 Microsoft Technology Licensing, Llc Adversarial teacher-student learning for unsupervised domain adaptation
US11741355B2 (en) * 2018-07-27 2023-08-29 International Business Machines Corporation Training of student neural network with teacher neural networks
US10963748B1 (en) * 2018-08-31 2021-03-30 Snap Inc. Generative neural network distillation
CN109492232A (zh) 2018-10-22 2019-03-19 内蒙古工业大学 一种基于Transformer的增强语义特征信息的蒙汉机器翻译方法
US10311334B1 (en) * 2018-12-07 2019-06-04 Capital One Services, Llc Learning to process images depicting faces without leveraging sensitive attributes in deep learning models
US11556778B2 (en) * 2018-12-07 2023-01-17 Microsoft Technology Licensing, Llc Automated generation of machine learning models
CN109448706A (zh) * 2018-12-12 2019-03-08 苏州思必驰信息科技有限公司 神经网络语言模型压缩方法及系统
CN109919300B (zh) * 2019-02-25 2021-03-05 北京市商汤科技开发有限公司 神经网络训练方法及装置以及图像处理方法及装置
US20200272905A1 (en) * 2019-02-26 2020-08-27 GE Precision Healthcare LLC Artificial neural network compression via iterative hybrid reinforcement learning approach
CN110175627A (zh) * 2019-04-18 2019-08-27 浙江大学 一种基于知识重组的复杂分类方法
CN110059323B (zh) 2019-04-22 2023-07-11 苏州大学 基于自注意力机制的多领域神经机器翻译方法
CN110175338B (zh) 2019-05-31 2023-09-26 北京金山数字娱乐科技有限公司 一种数据处理方法及装置
CN110263353B (zh) 2019-06-25 2023-10-13 北京金山数字娱乐科技有限公司 一种机器翻译方法及装置
US11302309B2 (en) * 2019-09-13 2022-04-12 International Business Machines Corporation Aligning spike timing of models for maching learning
US11640527B2 (en) * 2019-09-25 2023-05-02 Salesforce.Com, Inc. Near-zero-cost differentially private deep learning with teacher ensembles

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843801A (zh) * 2016-03-25 2016-08-10 北京语言大学 多译本平行语料库的构建系统
WO2018223822A1 (zh) * 2017-06-07 2018-12-13 北京深鉴智能科技有限公司 基于剪枝和蒸馏的卷积神经网络压缩方法
US20190034764A1 (en) * 2017-07-31 2019-01-31 Samsung Electronics Co., Ltd. Method and apparatus for generating training data to train student model using teacher model
WO2019143946A1 (en) * 2018-01-19 2019-07-25 Visa International Service Association System, method, and computer program product for compressing neural network models
CN108921294A (zh) * 2018-07-11 2018-11-30 浙江大学 一种用于神经网络加速的渐进式块知识蒸馏方法
RU2702978C1 (ru) * 2018-10-15 2019-10-14 Самсунг Электроникс Ко., Лтд. Байесовское разреживание рекуррентных нейронных сетей
CN109711544A (zh) * 2018-12-04 2019-05-03 北京市商汤科技开发有限公司 模型压缩的方法、装置、电子设备及计算机存储介质
CN109783824A (zh) * 2018-12-17 2019-05-21 北京百度网讯科技有限公司 基于翻译模型的翻译方法、装置及存储介质
CN110070183A (zh) * 2019-03-11 2019-07-30 中国科学院信息工程研究所 一种弱标注数据的神经网络模型训练方法及装置
CN110162800A (zh) * 2019-05-08 2019-08-23 北京百度网讯科技有限公司 翻译模型的训练方法和装置
CN110276413A (zh) * 2019-06-28 2019-09-24 深圳前海微众银行股份有限公司 一种模型压缩方法及装置

Also Published As

Publication number Publication date
EP3812969A1 (en) 2021-04-28
JP2022509892A (ja) 2022-01-25
KR102433834B1 (ko) 2022-08-18
CN110826344B (zh) 2022-03-01
WO2021077529A1 (zh) 2021-04-29
US20210124881A1 (en) 2021-04-29
US11556723B2 (en) 2023-01-17
CN110826344A (zh) 2020-02-21
KR20210050485A (ko) 2021-05-07

Similar Documents

Publication Publication Date Title
RU2749970C1 (ru) Способ сжатия модели нейронной сети, а также способ и устройство для перевода языкового корпуса
CN111460150B (zh) 一种分类模型的训练方法、分类方法、装置及存储介质
US20220165288A1 (en) Audio signal processing method and apparatus, electronic device, and storage medium
CN107291690B (zh) 标点添加方法和装置、用于标点添加的装置
CN107221330B (zh) 标点添加方法和装置、用于标点添加的装置
EP3901948A1 (en) Method for training a voiceprint extraction model and method for voiceprint recognition, and device and medium thereof
US11556761B2 (en) Method and device for compressing a neural network model for machine translation and storage medium
EP3923202A1 (en) Method and device for data processing, and storage medium
CN108399914B (zh) 一种语音识别的方法和装置
CN112154465A (zh) 一种意图识别模型的学习方法、装置及设备
CN114154459A (zh) 语音识别文本处理方法、装置、电子设备及存储介质
CN113362813A (zh) 一种语音识别方法、装置和电子设备
US20230386448A1 (en) Method of training speech recognition model, electronic device and storage medium
CN113486978B (zh) 文本分类模型的训练方法、装置、电子设备及存储介质
CN115510194A (zh) 问答语句检索方法、装置、电子设备及存储介质
CN114462410A (zh) 实体识别方法、装置、终端及存储介质
CN108346423B (zh) 语音合成模型的处理方法和装置
CN112579767A (zh) 搜索处理方法、装置和用于搜索处理的装置
CN117474084B (zh) 预训练模型与下游序列任务双向迭代方法、设备及介质
CN111950688A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN117521844A (zh) 译文打分模型的训练方法及译文选取方法
CN114297344A (zh) 文本匹配方法、装置、存储介质及终端
CN118092679A (zh) 基于九宫格输入法的文字输入方法、装置、设备及产品
CN111428496A (zh) 文本分词模型的训练方法、分词处理方法及装置、介质
CN112926343A (zh) 一种数据处理方法、装置和电子设备