Механизмы трансформер: Завод Трансформер — производитель механизмов трансформации

«Незаметный днем,
незаменимый ночью».

История завода «Трансформер» началась в феврале 1997 года с небольшого производственного участка по созданию трехскладного механизма. На протяжении последующих 20 лет «Трансформер» выпустил более 300 видов механизмов и фурнитуры.

На данный момент завод предлагает самый широкий спектр механизмов трансформации — от традиционных «книжек», простых и привлекательных по своей функциональности механизмов «софа» и пользующихся высоким спросом «раскладушек», до перспективных механизмов с пружинным матрасом или трансформирующимися элементами.

Наши механизмы трансформации защищены Свидетельством Российского Агентства по патентам и товарным знакам и отмечены дипломами международных специализированных выставок.

Качество продукции и надежное деловое партнерство позволило «Трансформеру» развить широкую дилерскую сеть по всей России, а также за её пределами: Украину, Белоруссию, Казахстан, Армению и Молдавию.

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

В наше время завод «Трансформер» остается лидером отрасли и крупнейшим российским производителем механизмов трансформации, а также фурнитуры для мягкой мебели.

Современное производство, расположенное на собственных площадях в Московской области, является основой для дальнейшего развития предприятия. 2017 год ознаменовался расширением портфеля продуктов. Завод «Трансформер» приступил к серийному выпуску лицевой фурнитуры, включая декоративные опоры и ручки.

Завод «Трансформер» всегда открыт для сотрудничества и новых идей!

Приезжайте: 141281, г. Ивантеевка, Московской области, Санаторный проезд. д.1

Звоните: +7 (499) 400-32-98 
Пишите: [email protected] 
Заходите: www. trsm.ru

 

Содержание

Мебель-трансформер: преимущества и недостатки

Популярные модели диванов-трансформеров. Что собой представляет современная мебель 2 в 1 и 3 в 1. На что обращать внимание при выборе трансформеров. Преимущества и недостатки мультифункциональной мебели.

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

Современные варианты мультифункциональной мебели

Пожалуй, все вы знакомы с трансформируемыми диванами. Мебель, пользующаяся огромной популярностью. Одним движением делает доступными сразу два спальных места, в сложенном состоянии компактна. В зависимости от механизмов трансформации, выделим такие востребованные варианты диванов:

  • Книжка,
  • Еврокнижка,
  • Дельфин,
  • Пантограф,
  • Конрад.

Модель «Книжка» — классическое решение, простое и надежное, доступное по стоимости. Чтобы расширить подобный диван, мы приподнимаем одну его часть до щелчка, слегка тянем на себя, затем просто опускаем – спинка становиться дополнительным спальным местом.

Для раскладывания «еврокнижки» мы одну часть дивана толкаем на себя, а в образовавшееся место укладываем ту часть, которая выполняла функцию спинки.

Диван «Дельфин» углового типа. В уютное место для сна он превращается путем выкатывания нижней платформы. В разложенном состоянии – удобная двуспальная кровать.

Механизм «Пантограф» — модернизированная «Еврокнижка». В отличие от последней не предполагает ролики, вместо них установлены специальные ножки, поддерживающие выдвигающуюся часть. Принцип действия прост: сиденье выдвигаем, на его место опускаем спинку.

Система «Конрад», в свою очередь, состоит из трех частей, выдвижная, предполагает роликовые направляющие.

В сложенном виде эти части составляют сиденье.

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

Используемая фурнитура

Реализуется мультифункциональность за счет особой фурнитуры. За выдвижение модулей отвечают направляющие – роликовые или шариковые; подъем берут на себя газлифты и механические шарнирные устройства; поворотное открывание за четырехшарнирными петлями.

В специализированных магазинах можно купить механизмы трансформации мебели

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

Плюсы и минусы трансформируемых предметов интерьера

Мебель-трансформер позволяет экономить свободное место в квартире. Кроме компактности выделим и такие преимущества:

  • Многофункциональность и удобство. Один блок может преобразовываться сразу в несколько эргономичных предметов интерьера, быстро и легко, в пару движений рукой.
  • Привлекательное внешнее исполнение. Не составит больших хлопот подобрать мебель 3 в 1, которая идеально впишется в интерьер комнаты.
  • Безопасность. Качественные механизмы готовы к интенсивной эксплуатации, износостойкие, способны выдержать множество рабочих циклов. Однако в данном случае важно не допускать перегруз: если указанная производителем максимальная нагрузка на исполнительные механизмы будет превышена, естественно, о надежности и безопасности использования мебели говорить не приходится.

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

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

Подъемные механизмы для трансформации шкаф-кроватей

Обратите внимание! Механизмы двух видов:

1. Standard (стандартная) — глубина корпуса мебели 400 мм !!!  для матрасов высотой до 240 мм

  2.  Сlassic (старого образца) — глубина корпуса мебели

350 мм !  для матрасов высотой до 200 мм 

Механизмы трансформации Механизмы трансформации Механизмы трансформации Механизмы трансформации Механизмы трансформации Механизмы трансформации

Особые характеристики 

Damping
  • Малошумная функция равномерного движения на протяжении всего процесса открывания и закрывания.
  • Мягкое торможение и плавное опускание при достижении конечного положения.

Мебель трансформер | Hetger

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

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

Одними из лучших  в этой сфере являются механизмы немецкой фирмы Hafele. Клиенты из более чем 150 стран доверяют компетенции и профессионализму Hafele. Фабрика занимается производством механизмов более 80-ти лет. Материалы, используемые при производстве, подобраны идеальным образом для обеспечения прочности и лёгкости всей конструкции, патентованные откидные и поворотные механизмы имеют большой запас прочности, рассчитаны на 20 000 циклов открывания в годах это примерно 50 лет. Контроль качества на этапе производства.

А  теперь о каждом механизме конкретно.

Подъёмный механизм для кроватей с бельевым ящиком.

  • Область применения: для кроватей с тяжелым матрацем.
  • Материал: сталь.
  • Покрытие: цвет белый.
  • Угол раскрытия: 36 градусов.
  • Исполнение: с 4 съёмными пружинами.
  • Усилие пружин равно 700 Ньютон = 71,38 кг/м.с.
  • Для кроватей шириной до 2000 мм.
  • При установке дополнительной пары пружин на правую и левую сторону, — усилие пружин возрастает до 900 Ньютон = 91,77кг/м.с.
  • В этом случае подъёмный механизм для кровати Swing-Away Super возможно устанавливать на кровать с подъёмной частью, — весом до 90 кг.

 

Подъёмный механизм с газовым амортизатором.

  • Для кровати с тяжёлым матрацем.
  • Размер кровати по ширине: до 2 200 мм.
  • Угол раскрытия: 30 градусов.
  • Материал: сталь.
  • Поверхность/цвет: оцинкованная.
  • Несущая способность: с 2-мя газовыми амортизаторами LIFT-O-MAT Dinamic Damping 1150N.
  • Усилие амортизатора равно 1150 Ньютон = 117,26 кг/м.с.
  • За счёт изменяющегося сечения канавки в поршне амортизатора меняется давление в процессе движения. Таким образом, движение непрерывно замедляется до тех пор, пока оно доходит до остановки.
  • Динамическое демпфирование амортизатора LIFT-O-MAT Dynamic Damping определяет лёгкий и комфортный процесс подъёма кровати.

 

 

Подъёмный механизм для кровати Swing.

  • Для откидываемых поперёк кушеток и кроватей с ящиком для белья.
  • Размер кровати: максимально 1 000 х 2 000 мм.
  • С двумя съёмными пружинами растяжения.
  • Угол раскрытия: 60 градусов.
  • Материал: сталь.
  • Поверхность/цвет: оцинкованная.

 

 

 

Подъёмный механизм Lattenrostlift для кровати шириной 900мм, 1000мм, 1400 мм.

  • Размер кровати по ширине: 900мм; 1000мм; 1400мм.
  • Материал: сталь.
  • Поверхность/цвет: серый.

 

 

 

 

 

Комплект фурнитуры для откидной  вертикальной кровати.

Подъёмный механизм для вертикальной кровати.

  • Материал: сталь.
  • Цвет: чёрный.
  • Используется с газозаполненным амортизатором, который подбирается в зависимости от веса кровати.

Газовый амортизатор для откидной вертикальной кровати.

  • Максимальное давление: 160 Бар.
  • Температурный интервал: от — 20 до +80 градусов по Цельсию.
  • Максимальная скорость хода = 300 мм/сек в смонтированном состоянии.
  • Продолжительность жизни: испытаны установленными в комплекте с фурнитурой для откидной кровати и весом матраца до 25 кг. в количестве 30 000 циклов открывания / закрывания откидной кровати.

Поворотные ножки для откидной кровати

  • Материал: сталь.
  • Покрытие / цвет: порошковое покрытие, цвет под алюминий RAL 9006.
  • Основание: порошковое покрытие, цвет чёрный RAL 9011.
  • Исполнение: с крепёжной пластиной.
  • Диаметр трубы: 20 мм.

 

Ремень для матраца откидной кровати

  • Комплект – 3 шт;
  • С удобным замком для фиксации матраца при подъеме кровати.

Крепление — уголок для откидных кроватей защитный от опрокидывания.

  • Защищает кровати от опрокидывания.
  • Материал: сталь, черного цвета.

 

 

 

Комплект фурнитуры для откидной  поворотной стол-кровати Tavoletto.

  • Размер матраца: 900х2000 мм. / 1400х2000 мм.
  • Максимальная высота матраца: 305 мм. / 286 мм.
  • Пространство над письменным столом в позиции кровати: 454 мм. / 550 мм.
  • Материал: сталь.
  • Покрытие / цвет: порошковое покрытие, цвет чёрный.
  • Проверка безопасности с помощью LGA по DIN EN 1129.

Отзывы о мебели-трансформер Зум

Наша команда работает на высшем уровне.

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

Инга

У меня сын на такой похожей уже девятый год спит, и мы с мужем, только на полуторке, спим уже около семи лет! Если кто-то думает, делайте не пожалеете. В маленьких квартирах — это 100 процентов выручалочка.

Экономия пространства

Администрация Zym

Спасибо, что поделились. Приходите теперь к нам за трансформером для себя с мужем побольше))

София

Совершенно случайно наткнулась в инстаграме на фотографии ваших кроватей-трансформеров и захотела заказать. Могу сказать, что не ошиблась, так как очень довольна результатом. Хотелось бы выразить благодарность дизайнеру Анастасии за выделенное время, проработанный дизайн, советы по поводу фрезеровки и материалов! Искала кровать, а получилась полноценная гостиная со спальным местом!


Адрес:  Дражня
Профессионализм, внимание

Администрация Zym

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

Ольга

Проект детской комнаты
Дизайнер Анастасия

Адрес:  г. Молодечно

Наталья

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

Дизайнер, Надежда — профессионал в своём деле. Если вам необходима качественная мебель и дорого ваше спокойствие — рекомендую.

Адрес:  Уручье
Профессионализм, внимание

Администрация Zym

Спасибо, Наталья, за ваши приятные слова).

Александра

Механизм трансформации «аккордеон» легок в раскладывании и предлагает просторное и ровное спальное место с ортопедическим эффектом. Прост в эксплуатации и предназначен для ежедневного использования.

 

Механизм трансформации «Дельфин»

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

Механизм трансформации «Еврокнижка»

Механизм «еврокнижка» — самый привычный для покупателя. Он считается классикой среди механизвом трансформации. Диваны на основе механизма «еврокнижка» отличаются надежностью, и долговечностью. Механизм позволяет дивану трансформироваться в просторное и ровное спальное место. Еще один неоспоримый плюс механизма «еврокнижка» — большой ящик для белья, который поможет сэкономить место в квартире и сделать диван более функциональным.

Механизм трансформации «Клик-кляк» (Книжка)

Механизм трансформации «Клик-клак», иначе называемый «Книжкой», сочетает в себе простоту и функциональное удобство. Это может казаться удивительным, однако он столь прост, что сломать его или повредить практически невозможно.

Механизм трансформации «Тик-так»

Механизм «Тик-Так» является разновидностью всем известной «Еврокнижки», но представляет собой ее продвинутую версию. А именно: «Тик-так» приподнимает сиденье и перемещает его вперед, не повреждая трением напольное покрытие, будь то дорогостоящий паркет, ламинат, ковролин или ковер с длинным ворсом. Дополнительное преимущество диванов с механизмом «Тик-так» — это, как правило, глубокий вместительный короб. Туда помещается вся постель и есть место для хранения дополнительных постельных принадлежностей.

Механизм трансформации «Французская раскладушка»

Механизм трансформации диванов «Французская раскладушка» принадлежит к одному из самых простых и в то же время надежных. Вероятно, по этой причине мягкая мебель с таким трансформером признана самой популярной в мире. Помимо этого, диван «Французская раскладушка» замечательно сохраняет пространство, поскольку занимает гораздо меньше места, чем любые его аналоги.

Механизм трансформации «Рибалто»

 

Механизм трансформации «Седафлекс»

Механизм трансформации «Седафлекс» или «Дионис» по конструкции напоминает механизм «французская раскладушка», при этом отличается невероятной прочностью и не требует особого обращения. Он прост в использовании, прекрасно подойдет для любой модели и благодаря своей компактности позволит уменьшить габариты мебели.
    Трансформер типа «Седафлекс» (или «Дионис«) идеально подойдет для ежедневного использования и прослужит без поломок в течение многих лет. Диваны с таким механизмом считаются элитными моделями, а потому чаще всего для них используется кожаная обивка, однако и тканевая, и комбинированная обивки в равной степени хороши для них.
    Система раскладывания «Седафлекс», или «Дионис», отличается прочностью и потому зачастую выбирается опытными мебельщиками. По принципу работы «Дионис» близок к трансформеру Французская раскладушка, однако он гораздо компактнее и практичнее
    Трансформер «Седафлекс» («Дионис») может ежедневно выдержать нагрузку до 200 килограмм. Работает он элементарно: вы тянете вперед сиденье и приподнимаете его немного вверх, а звенья распрямляются и сами устанавливаются на опоры-ножки.
    В конструкции используется полноценный пороллоновый матрас толшиной 10 см. Таким образом, вы получаете в свое распоряжение настоящую кровать.

Механизм трансформации «Спартак» (Ifagrid)

Диванный механизм «СПАРТАК» / IFAGRID надежный и очень практичный. В его конструкции отсутствуют деревянные и пластиковые соединения, что делает его исключительно прочным.
Каркас механизма собран из стальных труб 1,5 мм. толщиной с порошковым покрытием и усилен продольными элементами, чем обеспечивается жесткость и сохранность геометрии изделия. Производится с металлической сварной сеткой из прутков стали диаметром 4 мм. Способ установки позволяет быстро монтировать и демонтировать механизм трансформации. Механизм трансформации можно транспортировать отдельно от мебели.
Диваны с механизмом «СПАРТАК» хорошо подходят для ежедневного использования, а не только, как гостевой вариант. Механизм раскладывается вперед в 3 шага, образуя эргономичный диван со спальным местом. Изделие занимает немного места в сложенном состоянии, но обеспечивает максимальный комфорт во время сна. В конструкции используется поролоновый матрац толщиной 7 см.

Механизм трансформации «Рибалто», как правило, используется в трехместных конструкциях. При раскладывании быстро образует просторную полноценную двухспальную кровать.

Механизм «Рануччи»

Новинка! Механизм трансформации «Рануччи»!

  Итальянцы, законодатели мебельной моды, уверены: сидеть и спать надо на разных элементах дивана, т.к. для сидения требуется более мягкий наполнитель, а для здорового сна – более твёрдый. Механизм двойного сложения «Рануччи» — это уникальный механизм для ежедневного сна, комфорт которого сравним с полноценной кроватью. Спальное место состоит из трех частей, две из которых являются до трансформации основанием сиденья, а третья, складываясь, образует спинку. Диваны с механизмом «Рануччи» в собранном виде занимают минимальную площадь, т.к. сам механизм «Рануччи» является и диваном и спальным местом одновременно, что позволяет экономить пространство в жилом помещении. Механизм раскладывается за одно движение, подушки сидения и спинки не надо снимать, т. к. они уходят под спальное место. В результате раскладывания мы получаем отличное спальное место, без стыков, без перепадов уровня (что часто бывает, когда используются различные выкатные системы). Матрац сделан из из качественного пенополиуретана, и опорой для него является сварная стальная сетка, закреплённая на раме механизма с помощью пружин (это создаёт дополнительный комфорт). Рама механизма сделана из стальных труб, а детали само го механизма – из стального листа. Простоту, комфорт и надежность механизма «Рануччи» по достоинству оценила и выбрала для своей мебели такая всемирно известная сеть отелей, как “Hilton” («Хилтон»). Мировой мебельный гигант “NATUZZI” («Натуцци») также использует эти механизмы для своих диванов.

Итальянская фирма Fratelli Ranucci s.n.c. специализируется на производстве раскладных механизмов для мягкой мебели на металлокаркасе. Компания существует с 1960 года

Механизм сертифицирован по Европейским стандартам

Механизмы трансформации диванов: как выбрать подходящий?

Механизмы трансформации диванов: как выбрать подходящий?

18 февраля 2021

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

Типы диванов по механизму раскладывания

Диваны с механизмом бывают двух видов: гостевые и для ежедневного сна.

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

Для ежедневного использования

Если вы подбираете диван именно для сна, обратите внимание на модели с прочным механизмом раскладывания и ортопедическими свойствами. Это могут быть «еврокнижка», «тик-так», «пума», «остин», «высоковыкатной», «дельфин» или «кушетка». Надежные и прочные, такие механизмы прослужат долго даже при постоянном использовании.

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

Многие раскладные диваны заменяют двуспальную кровать, другие — рассчитаны на одного человека. Так что подходящий трансформер можно подобрать и для семейной пары, и для ребенка, и для холостяка.

Гостевые

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

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

Виды механизмов трансформации

Механизмы раскладки диванов постоянно модернизируются. У обычной «книжки» уже есть несколько улучшенных вариантов: «еврокнижка», «клик-кляк», «пантограф».

Среди новых видов трансформации диванов — механизм «реклайнер», который встраивают, в основном, в кресла. Это не полноценное спальное место, но на нем приятно вздремнуть или расслабиться за просмотром фильма. Рассмотрим подробно самые популярные виды.

Еврософа (Еврокнижка)

«Еврософу» сможет разложить даже ребенок, поэтому они так популярны. Из-за минимального количества элементов такой механизм редко ломается. Механизм раскладывания устроен максимально просто: вам надо потянуть сиденье вперед, а на его место поставить спинку. Поверхность получается ровной и большой по площади, а во внутренних ящиках можно хранить постельное белье, подушки и одеяла. 

Преимущества 
— прочный;
— просторный; 
— в собранном виде — полноценное спальное место на одного человека; 
— легко раскладывается; 
— имеет встроенный отсек для белья.


Тик-Так (Пантограф)

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

«Тик-Так» легко раскладывается: вам надо приподнять сиденье и потянуть его вперед, а на освободившееся мест вложить спинку. Спать на нем так же удобно, как и на «еврокнижке».

Преимущества: 
— просторный;
— в собранном виде — полноценное спальное место на одного человека;
— имеет встроенный отсек для белья;
— легко трансформируется.


Дельфин

Механизм получил название из-за особого складывания: спальное место задвигается под сиденье дивана — визуально это напоминает нырок дельфина в воду. Некоторые мебельные фабрики называют называют этот механизм «кенгуру», нетрудно догадаться почему.

Диваны с механизмом «дельфин» раскладывать просто: нужно выдвинуть нижнюю часть дивана из-под сиденья, а затем потянуть ее вверх за ремешок, пока подушки не сравняются. «Дельфин» часто устанавливают на угловые модели, в таком случае отсек для белья находится в неподвижной части — угловом модуле (канапе).

Преимущества:
— просторный; 
— в разобранном виде не занимает много места;
— надежный;
— легко трансформируется.


Пума / Остин

Механизм «пума» по типу трансформации напоминает «тик-так». Чтобы его разложить, нужно поднять сиденье и выдвинуть его вперед, а подушку под сиденьем поднять наверх, чтобы обе части сравнялись и образовали ровное спальное место. Благодаря пружинам в механизме, часть трансформации происходит автоматически, поэтому особых усилий прикладывать не нужно. 

У «пумы» нет выдвижных роликов, поэтому они не оставят вмятин на линолеуме и не поцарапают ламинат.

Еще один похожий на «пуму» механизм — «остин». Он раскладывается по такому же принципу, но сделан из трех частей: две части поднимаются и раскладываются, а третья вытягивается из-под сиденья.

Преимущества:

— компактный; 
— надежный;
— удобен для сна.


Высоковыкатной

«Высоковыкатной» напоминает сразу два механизма раскладки диванов: «выкатной» и «дельфин». Он состоит из нескольких частей и выдвигается вперед, как выкатные модели, но одна из деталей разбирается по сходному принципу с «дельфином» — вытягивается и поднимается вверх.

«Высоковыкатной» перенял лучшие качества двух механизмов сразу: спать на нем также высоко и комфортно, как на моделях с «дельфином», а в собранном виде выглядит компактно и экономит место в комнате. Благодаря длинной и ровной поверхности, спать на нем комфортно, как на двуспальной кровати.

Преимущества: 
— большая площадь; 
— надежный;
— высокое и ровное спальное место;
— подойдет для небольших помещений. 

Кушетка

«Кушеткой» называют небольшие диваны, которые разбираются в одноместную кровать, но раскладываться они могут по-разному.

Встречаются два разных механизма под названием «кушетка». Первый трансформируется в кровать, благодаря мягким подлокотникам, которые опускаются и образуют ровную вытянутую поверхность. Второй — похож на механизм раскладки «еврокнижка». Его боковая часть выдвигается и оставляет место под изголовье дивана, которое туда опускается.

Даже после трансформации «кушетка» занимает мало места. Идеально подойдет для детских комнат, спален для одного человека и даже лоджий, где иногда так хочется вздремнуть.

Преимущества:
— легко трансформируется в кровать;     
— есть отсек для белья;
— вариант для небольшой комнаты.


Французская раскладушка (Миксотойл)

Диваны с механизмом «французская раскладушка» лучше использовать для сидения, чем для сна. Рекомендуем использовать механизм как гостевой вариант спального места. 
Сама раскладушка находится под сиденьем. Чтобы ее разобрать, нужно убрать подушки и потянуть за край сиденья. Части раскладушки раздвинутся и встанут на ножки.

Преимущества: 
— просторный; 
— компактный.


Франко-бельгийская раскладушка (Седафлекс)

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

Усиленный металлический каркас, металлическая сетка, возможность выбора 12- сантиметрового матраса (ППУ или пружинного), жесткость конструкции- все это обеспечивает комфортный и спокойный сон. Механизм выдерживает нагрузку в 150 кг. на каждое спальное место. 

Большим достоинством «седафлекса» является также и то, что в сложенном виде он имеет параметры, позволяющие сделать настил сиденья максимально удобным.

Преимущества:

— просторный;

— компактный;

— надежный;

— матрас на выбор ППУ или ПБ (пружинный блок).


Подводим итоги: диван с каким механизмом лучше

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


Что такое трансформатор ?. Введение в трансформаторы и… | Максим | Машинное обучение изнутри

Новые модели глубокого обучения внедряются все чаще, и иногда бывает трудно уследить за всеми новинками. Тем не менее, одна конкретная модель нейронной сети оказалась особенно эффективной для общих задач обработки естественного языка. Модель называется Transformer и использует несколько методов и механизмов, которые я здесь расскажу. Статьи, на которые я ссылаюсь в посте, предлагают более подробное и количественное описание.

В документе «Внимание — это все, что вам нужно» описываются трансформаторы и так называемая архитектура «последовательность-последовательность». Sequence-to-Sequence (или Seq2Seq) — это нейронная сеть, которая преобразует заданную последовательность элементов, такую ​​как последовательность слов в предложении, в другую последовательность. (Что ж, это может не удивить вас, учитывая название.)

Модели Seq2Seq особенно хороши при переводе, когда последовательность слов одного языка преобразуется в последовательность разных слов другого языка.Популярным выбором для этого типа моделей являются модели на основе Long-Short-Term-Memory (LSTM). С данными, зависящими от последовательности, модули LSTM могут придавать значение последовательности, запоминая (или забывая) те части, которые он считает важными (или неважными). Предложения, например, зависят от последовательности, поскольку порядок слов имеет решающее значение для понимания предложения. LSTM — естественный выбор для этого типа данных.

Модели Seq2Seq состоят из кодировщика и декодера. Кодировщик берет входную последовательность и отображает ее в пространство более высокой размерности (n-мерный вектор).Этот абстрактный вектор подается в декодер, который превращает его в выходную последовательность. Последовательность вывода может быть на другом языке, символах, копии ввода и т. Д.

Представьте себе кодировщик и декодер как переводчиков, говорящих только на двух языках. Их первый язык — это их родной язык, который у них обоих разный (например, немецкий и французский), а их второй язык — это общий воображаемый язык. Для перевода немецкого языка на французский Encoder преобразует немецкое предложение на другой язык, который он знает, а именно на воображаемый язык.Поскольку декодер может читать этот воображаемый язык, теперь он может переводить с этого языка на французский. Вместе модель (состоящая из кодировщика и декодера) может переводить с немецкого на французский!

Предположим, что изначально ни кодировщик, ни декодер плохо владеют воображаемым языком. Чтобы научиться этому, мы обучаем их (модель) на множестве примеров.

Самый простой выбор для кодировщика и декодера модели Seq2Seq — это один LSTM для каждого из них.

Вам интересно, когда же Трансформер наконец войдет в игру, не так ли?

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

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

Другими словами, для каждого входа, который считывает LSTM (кодировщик), механизм внимания учитывает несколько других входов одновременно и решает, какие из них важны, присваивая этим входам разные веса. Затем декодер примет на вход закодированное предложение и веса, предоставленные механизмом внимания.Чтобы узнать больше о внимании, прочтите эту статью. А если вам нужен более научный подход, чем предложенный, прочтите о различных подходах, основанных на внимании, к моделям «последовательность-последовательность» в этой замечательной статье под названием «Эффективные подходы к нейронному машинному переводу на основе внимания».

В статье «Внимание — это все, что вам нужно» представлена ​​новая архитектура под названием Transformer. Как видно из названия, он использует механизм внимания, который мы видели ранее. Как и LSTM, Transformer — это архитектура для преобразования одной последовательности в другую с помощью двух частей (кодировщика и декодера), но она отличается от ранее описанных / существующих моделей последовательностей, поскольку не подразумевает никаких рекуррентных сетей ( ГРУ, LSTM и др.).

Рекуррентные сети до сих пор были одним из лучших способов фиксировать своевременные зависимости в последовательностях. Однако команда, представившая документ, доказала, что архитектура только с механизмами внимания без каких-либо RNN (рекуррентных нейронных сетей) может улучшить результаты в задаче перевода и других задачах! Одно улучшение в задачах естественного языка представлено командой, представляющей BERT: BERT: предварительное обучение глубоких двунаправленных преобразователей для понимания языка.

Итак, что такое трансформатор?

Изображение стоит тысячи слов, поэтому начнем с него!

Рисунок 1: Из «Внимание — все, что вам нужно» Васвани и др.

Энкодер находится слева, а декодер — справа. Как кодировщик, так и декодер состоят из модулей, которые можно многократно накладывать друг на друга, что на рисунке обозначено как Nx . Мы видим, что модули состоят в основном из слоев Multi-Head Attention и Feed Forward. Входы и выходы (целевые предложения) сначала встраиваются в n-мерное пространство, поскольку мы не можем использовать строки напрямую.

Одна небольшая, но важная часть модели — это позиционное кодирование различных слов. Поскольку у нас нет повторяющихся сетей, которые могут запомнить, как последовательности вводятся в модель, нам нужно каким-то образом присвоить каждому слову / части в нашей последовательности относительное положение, поскольку последовательность зависит от порядка ее элементов. Эти позиции добавляются к встроенному представлению (n-мерному вектору) каждого слова.

Давайте более подробно рассмотрим эти блоки Multi-Head Attention в модели:

Рисунок 2. Из «Attention Is All You Need» Vaswani et al.

Начнем с описания механизма внимания слева.Это не очень сложно и может быть описано следующим уравнением:

Q — матрица, содержащая запрос (векторное представление одного слова в последовательности), K — все ключи (векторные представления всех слов в последовательности) и V — значения, которые снова являются векторными представлениями всех слов в последовательности. Для кодера и декодера, модулей внимания с несколькими головами, V состоит из той же последовательности слов, что и Q. Однако для модуля внимания, который принимает во внимание последовательности кодера и декодера, V отличается от последовательности, представленной Q.

Чтобы немного упростить это, мы могли бы сказать, что значения в V умножаются и суммируются с некоторыми весами внимания a, , где наши веса определяются как:

Это означает, что веса a определяются как как на каждое слово последовательности (представленной Q) влияют все другие слова в последовательности (представленные K). Кроме того, функция SoftMax применяется к весам и , чтобы иметь распределение между 0 и 1. Эти веса затем применяются ко всем словам в последовательности, которые вводятся в V (те же векторы, что и Q для кодера и декодера, но разные для модуля, имеющего входы кодировщика и декодера).

На рисунке справа показано, как этот механизм внимания можно распараллелить на несколько механизмов, которые могут использоваться бок о бок. Механизм внимания повторяется несколько раз с линейными проекциями Q, K и V. Это позволяет системе учиться на различных представлениях Q, K и V, что полезно для модели. Эти линейные представления выполняются путем умножения Q, K и V на весовые матрицы W, полученные во время обучения.

Эти матрицы Q, K и V различны для каждой позиции модулей внимания в структуре в зависимости от того, находятся ли они в кодере, декодере или промежуточном кодере и декодере.Причина в том, что мы хотим обработать либо всю входную последовательность кодировщика, либо часть входной последовательности декодера. Модуль внимания с несколькими головами, который соединяет кодер и декодер, будет следить за тем, чтобы входная последовательность кодировщика учитывалась вместе с входной последовательностью декодера до заданной позиции.

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

Дрессировка

Как дрессировать такого «зверя»? Обучение и вывод на основе моделей Seq2Seq немного отличается от обычной задачи классификации. То же самое и с Трансформерами.

Мы знаем, что для обучения модели задачам перевода нам нужны два предложения на разных языках, которые являются переводами друг друга. Когда у нас будет много пар предложений, мы можем начать обучение нашей модели. Допустим, мы хотим перевести с французского на немецкий. Наш закодированный ввод будет предложением на французском языке, а ввод для декодера будет предложением на немецком языке.Однако вход декодера будет смещен вправо на одну позицию. .. Подождите, а почему?

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

Если мы не сдвинем последовательность декодера, модель научится просто «копировать» вход декодера, поскольку целевым словом / символом для позиции i будет слово / символ i на входе декодера.Таким образом, сдвигая ввод декодера на одну позицию, наша модель должна предсказать целевое слово / символ для позиции i , увидев только слово / символы 1,…, i-1 в последовательности декодера. Это мешает нашей модели изучить задачу копирования / вставки. Мы заполняем первую позицию ввода декодера токеном начала предложения, поскольку в противном случае это место было бы пустым из-за сдвига вправо. Точно так же мы добавляем маркер конца предложения во входную последовательность декодера, чтобы отметить конец этой последовательности, и он также добавляется к целевому выходному предложению.Через мгновение мы увидим, насколько это полезно для вывода результатов.

Это верно для моделей Seq2Seq и для трансформатора. В дополнение к сдвигу вправо, Трансформатор применяет маску к входу в первом модуле внимания с несколькими головами, чтобы не видеть потенциальных «будущих» элементов последовательности. Это характерно для архитектуры Transformer, потому что у нас нет RNN, в которые мы можем вводить нашу последовательность последовательно. Здесь мы вводим все вместе, и если бы не было маски, внимание с несколькими головками рассмотрело бы всю входную последовательность декодера в каждой позиции.

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

Целевая последовательность, которую мы хотим для наших расчетов потерь, — это просто вход декодера (немецкое предложение) без сдвига и с маркером конца последовательности в конце.

Вывод

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

Еще один пошаговый метод:

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

Мы видим, что нам нужно несколько прогонов нашей модели для перевода нашего предложения.

Я надеюсь, что эти описания сделали архитектуру Transformer немного более понятной для всех, кто начинает с Seq2Seq и структур кодер-декодер.

Мы видели архитектуру Transformer и знаем из литературы и авторов «Attention is All you Need», что модель очень хорошо справляется с языковыми задачами. Давайте теперь протестируем Transformer на примере использования.

Вместо задачи перевода давайте реализуем прогноз временных рядов для почасового потока электроэнергии в Техасе, предоставленный Советом по надежности электроснабжения Техаса (ERCOT). Здесь вы можете найти почасовые данные.

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

Поскольку мы можем использовать модели последовательность-последовательность на основе LSTM для составления многошаговых прогнозов, давайте взглянем на Трансформатор и его возможности для таких прогнозов. Однако сначала нам нужно внести несколько изменений в архитектуру, поскольку мы работаем не с последовательностями слов, а со значениями. Кроме того, мы делаем авторегрессию, а не классификацию слов / символов.

Данные

Имеющиеся данные дают нам почасовую нагрузку для всей области управления ERCOT. Я использовал данные с 2003 по 2015 год в качестве обучающей выборки и 2016 года в качестве тестовой. Имея только значение нагрузки и метку времени загрузки, я расширил метку времени на другие функции. Из метки времени я извлек день недели, которому он соответствует, и закодировал его. Кроме того, я использовал год (2003, 2004,…, 2015) и соответствующий час (1, 2, 3,…, 24) как само значение.Это дает мне в общей сложности 11 функций на каждый час дня. В целях сходимости я также нормализовал нагрузку ERCOT, разделив ее на 1000.

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

Изменения в модели из бумаги

В качестве первого шага нам нужно удалить вложения, поскольку у нас уже есть числовые значения во входных данных. Вложение обычно отображает данное целое число в n-мерное пространство. Здесь вместо использования встраивания я просто использовал линейное преобразование для преобразования 11-мерных данных в n-мерное пространство. Это похоже на вложение со словами.

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

После этих незначительных изменений можно начинать обучение!

Как уже упоминалось, я использовал принуждение учителя для обучения. Это означает, что кодер получает окно из 24 точек данных в качестве входных данных, а вход декодера представляет собой окно из 12 точек данных, где первая представляет собой значение «начала последовательности», а следующие точки данных являются просто целевой последовательностью. Введя значение «начало последовательности» в начале, я сдвинул ввод декодера на одну позицию относительно целевой последовательности.

Я использовал 11-мерный вектор только с -1 в качестве значений «начала последовательности». Конечно, это можно изменить, и, возможно, было бы полезно использовать другие значения в зависимости от варианта использования, но для этого примера это работает, поскольку у нас никогда не бывает отрицательных значений ни в одном из измерений последовательностей ввода / вывода.

Функция потерь для этого примера — это просто среднеквадратичная ошибка.

Результаты

Два графика ниже показывают результаты. Я взял среднее значение почасовых значений за день и сравнил его с правильными значениями.Первый график показывает 12-часовые прогнозы, сделанные за 24 предыдущих часа. Для второго графика мы предсказали один час с учетом предыдущих 24 часов. Мы видим, что модель очень хорошо улавливает некоторые колебания. Среднеквадратичная ошибка для обучающего набора составляет 859, а для набора проверки — 4 106 для 12-часовых прогнозов и 2583 для 1-часовых прогнозов. Это соответствует средней абсолютной процентной ошибке прогноза модели 8,4% для первого графика и 5,1% для второго.

Рисунок 3: 12-часовой прогноз с учетом предыдущих 24 часов за один год Рисунок 4: 1-часовой прогноз с учетом предыдущих 24 часов за один год

Результаты показывают, что можно было бы использовать архитектуру Transformer для прогнозирования временных рядов. Однако во время оценки это показывает, что чем больше шагов мы хотим спрогнозировать, тем выше будет ошибка. Первый график (рис. 3) выше был получен с использованием 24 часов для прогнозирования следующих 12 часов. Если мы прогнозируем только один час, результаты будут намного лучше, как мы видим на втором графике (Рисунок 4).

Есть много места, где можно поиграть с параметрами преобразователя, такими как количество уровней декодера и кодировщика и т. Д. Это не было задумано как идеальная модель, и при лучшей настройке и обучении результаты, вероятно, улучшатся.

Это может быть большим подспорьем для ускорения обучения с использованием графических процессоров. Я использовал локальную платформу Watson Studio для обучения своей модели с помощью графических процессоров и позволил ей работать там, а не на моем локальном компьютере. Вы также можете ускорить обучение с помощью графических процессоров Watson Machine Learning, которые бесплатны до определенного времени! Прочтите мой предыдущий блог, чтобы узнать, как это можно легко интегрировать в ваш код.

Большое спасибо за то, что прочитали это, и я надеюсь, что смог прояснить несколько понятий людям, которые только начинают изучать глубокое обучение!

Иллюстрированное руководство по трансформаторам — пошаговое объяснение | Майкл Фи

Трансформаторы штурмом захватывают мир обработки естественного языка. Эти невероятные модели бьют множество рекордов НЛП и продвигают современное состояние искусства. Они используются во многих приложениях, таких как машинный перевод, разговорные чат-боты и даже для улучшения поисковых систем.Трансформаторы сейчас в моде в области глубокого обучения, но как они работают? Почему они превзошли предыдущего короля проблем последовательности, такого как рекуррентные нейронные сети, GRU и LSTM? Вы, наверное, слышали о различных известных моделях трансформаторов, таких как BERT, GPT и GPT2. В этом посте мы сосредоточимся на одной статье, с которой все началось: «Внимание — это все, что вам нужно».

Перейдите по ссылке ниже, если вы хотите вместо этого посмотреть видеоверсию.

Чтобы понять трансформаторов, мы сначала должны понять механизм внимания.Механизм внимания позволяет трансформаторам иметь чрезвычайно долгую память. Модель-преобразователь может «присутствовать» или «фокусироваться» на всех ранее сгенерированных токенах.

Давайте рассмотрим пример. Допустим, мы хотим написать небольшой научно-фантастический роман с генеративным преобразователем. Мы можем сделать это с помощью приложения Write With Transformer от Hugging Face. Мы заполним модель нашими входными данными, а модель сгенерирует все остальное.

Наш вклад: «Когда пришельцы вошли на нашу планету».

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

Хорошо, история немного мрачная, но интересно то, как модель ее сгенерировала. По мере того как модель генерирует текст слово за словом, она может «следить» или «фокусироваться» на словах, имеющих отношение к сгенерированному слову. Способность знать, какие слова следует посещать, также усваивается во время обучения посредством обратного распространения ошибки.

Механизм внимания, фокусирующийся на разных токенах при генерации слов 1 на 1

Рекуррентные нейронные сети (RNN) также могут просматривать предыдущие входные данные. Но сила механизма внимания в том, что он не страдает кратковременной памятью. У RNN более короткое окно для ссылки, поэтому, когда история становится длиннее, RNN не может получить доступ к словам, сгенерированным ранее в последовательности. Это по-прежнему верно для сетей с закрытыми рекуррентными модулями (GRU) и долгосрочной краткосрочной памятью (LSTM), хотя они обладают большей емкостью для достижения долговременной памяти, следовательно, имеют более длительное окно для ссылки. Механизм внимания теоретически и при наличии достаточных вычислительных ресурсов имеет бесконечное окно, из которого можно ссылаться, поэтому он может использовать весь контекст истории при создании текста.

Гипотетическое справочное окно внимания, RNN, ГРУ и LSTM

Сила механизма внимания была продемонстрирована в статье «Внимание — это все, что вам нужно», где авторы представили новую новую нейронную сеть под названием Трансформеры, которая является кодировщиком на основе внимания. архитектура типа декодера.

Модель преобразователя

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

Давайте рассмотрим пример. В статье модель трансформатора применялась к задаче нейронного машинного перевода. В этом посте мы покажем, как это работает для разговорного чат-бота.

Наш ввод: «Привет, как дела»

Выход трансформатора: «Я в порядке»

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

преобразование слов во входные вложения

Следующим шагом является введение позиционной информации во вложения.Поскольку кодер-преобразователь не имеет повторения, как рекуррентные нейронные сети, мы должны добавить некоторую информацию о позициях во входные вложения. Это делается с помощью позиционного кодирования. Авторы придумали хитрый трюк, используя функции sin и косинус.

Мы не будем вдаваться в математические подробности позиционного кодирования, но вот основы. Для каждого нечетного индекса входного вектора создайте вектор с помощью функции cos. Для каждого четного индекса создайте вектор с помощью функции sin.Затем добавьте эти векторы к их соответствующим входным вложениям. Это успешно дает сети информацию о положении каждого вектора. Функции sin и косинус были выбраны в тандеме, потому что они обладают линейными свойствами, которым модель может легко научиться уделять внимание.

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

Субмодули уровня кодировщика

Чтобы разобраться в этом, давайте сначала рассмотрим модуль многоголового внимания.

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

Encoder Self-Attention Operations. Ссылка на это при просмотре иллюстраций ниже.

Векторы запроса, ключа и значения

Чтобы добиться самовнимания, мы передаем входные данные в 3 отдельных полностью связанных слоя для создания векторов запроса, ключа и значения.

Что именно это за векторы? Я нашел хорошее объяснение по обмену стеком, в котором говорится…

«Концепция ключа и значения запроса исходит из поисковых систем. Например, когда вы вводите запрос для поиска некоторого видео на Youtube, поисковая система сопоставляет ваш запрос с набором ключей (заголовок видео, описание и т. Д.), Связанных с видео кандидатов в базу данных, а затем представим вам наиболее подходящие видео ( значения ).

Точечное произведение запроса и ключа

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

Умножение скалярного произведения запроса и ключа

Матрица оценок определяет, насколько большое внимание следует уделять слову другие слова. Таким образом, каждое слово будет иметь оценку, соответствующую другим словам на временном шаге. Чем выше оценка, тем больше внимания. Вот как запросы сопоставляются с ключами.

Оценка внимания от скалярного произведения.

Уменьшение оценок внимания

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

Уменьшение оценок внимания

Softmax масштабированных оценок

Затем вы берете softmax масштабированной оценки, чтобы получить веса внимания, что дает вам значения вероятности от 0 до 1. Выполняя softmax, повышаются более высокие оценки, и более низкие баллы подавлены. Это позволяет модели быть более уверенной в выборе слов.

Взятие softmax масштабированных оценок для получения значений вероятности

Умножение выходных данных Softmax на вектор значений

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

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

Разделение Q, K, V, N раз перед применением самовнимания

Подводя итог, многоголовое внимание — это модуль в сети трансформаторов, который вычисляет веса внимания для входа и создает выходной вектор с закодированной информацией о том, как каждое слово должно соответствовать всем другим словам в последовательности.

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

Остаточное соединение позиционного встраивания ввода и вывода многоголового внимания

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

Остаточное соединение входа и выхода точечного прямого слоя.

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

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

Задача декодера — генерировать текстовые последовательности. Декодер имеет такой же подуровень, что и кодер. он имеет два многоголовых слоя внимания, слой точечной прямой связи и остаточные связи, а также нормализацию уровня после каждого подуровня.Эти подуровни ведут себя аналогично уровням в кодировщике, но каждый многоглавый уровень внимания выполняет свою работу. Декодер завершается линейным слоем, который действует как классификатор, и softmax для получения вероятностей слов.

Слой декодера. Ссылка на эту диаграмму при чтении.

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

Декодер является авторегрессивным, так как он генерирует токен 1 за раз, подавая его на предыдущие выходы.

Давайте пройдемся по этапам декодирования.

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

Этот многоглавый слой внимания работает несколько иначе. Поскольку декодер является авторегрессионным и генерирует последовательность слово за словом, вам необходимо предотвратить его преобразование в будущие токены. Например, при вычислении оценки внимания к слову «я» у вас не должно быть доступа к слову «отлично», потому что это слово является будущим словом, которое было сгенерировано после. Слово «am» должно иметь доступ только к самому себе и к словам перед ним. Это верно для всех других слов, где они могут относиться только к предыдущим словам.

Изображение первого многоголового внимания декодера по шкале оценки внимания. Слово «am» не должно иметь никаких значений для слова «штраф». Это верно для всех остальных слов.

Нам нужен метод, предотвращающий вычисление оценок внимания для будущих слов. Этот метод называется маскированием. Чтобы декодер не смотрел на будущие токены, вы применяете маску просмотра вперед. Маска добавляется перед вычислением softmax и после масштабирования оценок. Давайте посмотрим, как это работает.

Маска упреждения

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

Добавление предварительной маски к масштабированным оценкам

Причина использования маски в том, что как только вы берете softmax маскированных оценок, отрицательные бесконечности обнуляются, оставляя нулевые оценки внимания для будущих токенов. Как вы можете видеть на рисунке ниже, оценка внимания для «am» имеет значения для себя и всех слов перед ним, но равна нулю для слова «хорошо». По сути, это говорит модели не акцентировать внимание на этих словах.

Это маскирование — единственное отличие в том, как рассчитываются оценки внимания в первом многоглавом слое внимания. Этот слой по-прежнему имеет несколько головок, на которые накладывается маска, прежде чем объединяться и пропускаться через линейный слой для дальнейшей обработки. Результатом первого многоголового внимания является замаскированный выходной вектор с информацией о том, как модель должна присутствовать на входе декодера.

Многоголовое внимание с маскированием

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

Выходные данные последнего точечного слоя с прямой связью проходят через последний линейный слой, который действует как классификатор. Классификатор такой же большой, как и количество ваших классов. Например, если у вас есть 10 000 классов для 10 000 слов, результат этого классификатора будет иметь размер 10 000. Выходные данные классификатора затем передаются в слой softmax, который дает оценки вероятности от 0 до 1. Мы берем индекс наивысшей оценки вероятности, который равен нашему предсказанному слову.

Линейный классификатор с Softmax для получения вероятностей выходных данных

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

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

Кодировщик и декодер с накоплением

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

Посетите michaelphi.com, чтобы найти больше подобного контента.

Глубокое обучение: следующий шаг: трансформеры и механизм внимания

Прит Ганди.

От Alexa до Google Translate, одна из самых эффективных ветвей глубокого обучения — обработка естественного языка. Языковой перевод стал важной необходимостью в этом глобализирующемся мире. Достижения в области НЛП привели к появлению многих методов нейронного машинного перевода, таких как модели от последовательности к последовательности (Seq2Seq), которые можно дополнительно улучшить с помощью преобразователей и механизмов внимания.

Модели Seq2Seq

Seq2Seq — это широкий класс моделей, которые переводят одну последовательность в другую.Модели кодировщиков-декодеров являются широко используемым его подклассом. Кодировщик принимает входную последовательность (исходный язык) и сопоставляет ее с промежуточным скрытым вектором (пространство более высокой размерности), который кодирует всю информацию источника. Это, в свою очередь, принимается декодером и преобразуется в выходную последовательность (целевой язык). Модель может обрабатывать ввод переменной длины. Кодеры и декодеры являются RNN. Как правило, используется LSTM (Long Short Term Memory), поскольку данные зависят от последовательности (важен порядок слов).Следовательно, важно придать смысл последовательности, запоминая / забывая части, которые являются важными / неважными, используя входной / выходной вентиль для захвата зависимостей на большом расстоянии в последовательности. Выходные данные — это последовательность, которая математически отражает наивысшее значение P (Выходная последовательность | Входная последовательность). Однако у этого подхода есть проблема, поскольку он сжимает всю информацию входного исходного предложения в вектор фиксированной длины (выход последнего скрытого состояния), который затем принимается декодером.Было показано, что это приводит к снижению производительности при работе с длинными предложениями.

Рисунок 1: Кодер и декодер.

Внимание Механизм

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

Рисунок 2: Механизм внимания в RNN.

Виды внимания:

1) Глобальное внимание : Использует все скрытые состояния от кодировщика для вычисления вектора контекста. Это требует больших вычислительных затрат, так как все слова из источника рассматриваются для каждого целевого слова.

2) Местное внимание : выбирает позицию в исходном предложении для определения окна слов для рассмотрения

3) Двустороннее внимание : одна и та же модель касается гипотезы и предпосылки, и оба представления связаны. Однако эта модель не может различить, что выравнивание между стоп-словами менее важно, чем выравнивание между словами содержания.

4) Самовнимание : Механизм, связывающий разные позиции одной последовательности для вычисления ее внутреннего представления.

5) Ключевое значение внимания : Выходные векторы разделяются на ключи для вычисления внимания и значения для кодирования распределения следующего слова и представления контекста.

6) Иерархически вложенное внимание : два уровня внимания — первый на уровне слова и второй на уровне предложения. Это подчеркивает высокоинформативные компоненты документа.

Мы можем интерпретировать и визуализировать то, что делает модель. Визуализируя матрицу весов внимания, мы можем понять, как трансформируется модель:

Рисунок 3: Визуализация механизма внимания.

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

Трансформаторы

Преобразователь — это новая архитектура кодера-декодера, которая использует только механизм внимания вместо RNN для кодирования каждой позиции, чтобы связать два отдаленных слова как входов, так и выходов с.r.t. сам, который затем можно распараллелить, тем самым ускоряя обучение. Поскольку RNN является последовательным, требуется 10 шагов вычислений, если два слова разделены на десять слов, но при самовнимании это всего лишь один слой. Он имеет несколько уровней самовнимания, где все ключи (векторные представления всех слов в последовательности), значения и запросы (векторное представление одного слова в последовательности) исходят из самого входного предложения. Веса определяются тем, как на каждое слово последовательности влияют все другие слова в последовательности. Расчет веса может выполняться параллельно и называется многоголовым вниманием. Поскольку мы не используем RNN, мы добавили позиционные кодеры во встроенное представление слов для поддержания порядка.

Рисунок 4: Многоголовое внимание.

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

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

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

Вначале декодер имеет собственное внимание, а затем — внимание кодер-декодер и прямую связь. Вход декодера будет сдвинут вправо на одну позицию и будет использовать токен начала слова в качестве первого символа, поскольку мы не хотим, чтобы наша модель училась копировать входные данные декодера во время обучения, поскольку целевое слово / символ для позиции и будет слово / символ i на входе декодера.Однако мы хотим узнать, что, учитывая последовательность кодера и конкретную последовательность декодера, которая уже была замечена моделью, мы предсказываем следующее слово / символ. Таким образом, сдвигая ввод декодера на одну позицию, наша модель должна предсказать целевое слово / символ для позиции i , увидев только слово / символы 1,…, i-1 в последовательности декодера. Мы добавляем маркер конца предложения во входную последовательность декодера, чтобы отметить конец этой последовательности, и он также добавляется к целевому выходному предложению. Трансформатор применяет маску к входу в первом модуле внимания с несколькими головами, чтобы не видеть потенциальных «будущих» элементов последовательности. Если бы маски не было, внимание с несколькими головами рассматривало бы всю входную последовательность декодера в каждой позиции. Выходной сигнал одного декодера подается на другой на каждом временном шаге. Векторы положения также добавляются на каждом шаге. Выход декодера поступает на линейный слой (полностью подключенный NN), который выводит вектор логитов (гораздо больший вектор). Наконец, softmax выдает вероятности, когда соответствующее слово, связанное с наивысшей вероятностью, выбирается как результат этого временного шага.

Преобразователи

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

Артикул:

  1. http://jalammar.github.io/illustrated-transformer/
  2. https://medium.com/inside-machine-learning/what-is-a-transformer-d07dd1fbec04
  3. https://medium.com/@joealato/attention-in-nlp-734c6fa9d983

Биография: Прит Ганди был студентом факультета информатики в CDS Нью-Йоркского университета и страстным энтузиастом искусственного интеллекта.

Связанный:

Понимание шумихи вокруг моделей Transformer NLP

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

История возникновения механизмов внимания: машинный перевод

Парадигма внимания вошла в сферу НЛП еще в 2014 году, еще до ажиотажа в области глубокого обучения, и впервые была применена к проблеме машинного перевода.

Обычно система машинного перевода следует базовой архитектуре кодер-декодер (как показано на рисунке ниже), где и кодер, и декодер, как правило, являются вариантами рекуррентных нейронных сетей (RNN).Чтобы понять, как работает RNN, полезно представить ее как последовательность ячеек. Кодировщик RNN получает входное предложение и считывает его по одному токену за раз: каждая ячейка получает входное слово и создает скрытое состояние в качестве выходного, которое затем передается в качестве входных данных в следующую ячейку RNN, пока все слова в предложении не будут обработанный.

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

Но можно ли разумно предположить, что вектор контекста может сохранять ВСЮ необходимую информацию входного предложения? А если предложение состоит, скажем, из 50 слов? Из-за присущей РНС последовательной структуры каждая входная ячейка создает только один выходной вектор скрытого состояния для каждого слова в предложении, один за другим. Из-за последовательного порядка обработки текста контекстному вектору сложнее захватить всю информацию, содержащуюся в предложении, для длинных предложений со сложными зависимостями между словами — это называется «проблемой узкого места».

Устранение проблемы узкого места с вниманием

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

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

Если вы хотите еще больше разобраться в деталях моделей Transformer NLP и внутренней работе механизма внимания, мы рекомендуем вам прочитать этот пост в блоге «Данные из окопов» .

На пути к моделям трансформатора NLP

Как вы теперь понимаете, внимание было революционной идеей в системах последовательного перевода, таких как модели перевода. Модели Transformer NLP основаны на механизме Attention, который развивает его основную идею еще дальше: в дополнение к использованию Attention для вычисления представлений (т. Е. Векторов контекста) из векторов скрытого состояния кодировщика, почему бы не использовать Attention для вычисления векторов скрытых состояний кодировщика самих себя? Непосредственным преимуществом этого является избавление от неотъемлемой последовательной структуры RNN, которая препятствует распараллеливанию моделей.

Чтобы решить проблему распараллеливания, Attention увеличивает скорость преобразования модели из одной последовательности в другую. Таким образом, основным преимуществом моделей Transformer NLP является то, что они не являются последовательными, а это означает, что, в отличие от RNN, их легче распараллелить, и что все большие и большие модели могут быть обучены путем распараллеливания обучения.

Более того, модели Transformer NLP пока демонстрируют лучшую производительность и скорость, чем модели RNN.Из-за всех этих факторов большая часть исследований НЛП за последние пару лет была сосредоточена на моделях Трансформаторного НЛП, и мы можем ожидать, что это приведет к появлению новых интересных бизнес-сценариев.

Определение нейронной сети трансформатора | DeepAI

Что такое нейронная сеть-трансформер?

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

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

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

Что особенно важно, механизм внимания позволяет преобразователю сосредоточиться на определенных словах как слева, так и справа от текущего слова, чтобы решить, как его перевести. Трансформаторные нейронные сети заменяют ранее использовавшиеся рекуррентные нейронные сети (RNN), долговременную краткосрочную память (LSTM) и стробированные рекуррентные (GRU) нейронные сети.

Проектирование нейронной сети с трансформатором

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

Вложения вектора слова — это числовое представление текста. Необходимо преобразовать слова в представление встраивания, чтобы нейронная сеть могла их обработать. В представлении внедрения каждое слово в словаре представлено как вектор. Позиционные кодировки — это векторное представление позиции слова в исходном предложении.

Преобразователь суммирует вложения вектора слова и позиционное кодирование и передает результат через серию кодеров, а затем через серию декодеров. Обратите внимание, что в отличие от RNN и LSTM, весь вход подается в сеть одновременно, а не последовательно.

Каждый кодировщик преобразует свой ввод в другую последовательность векторов, называемых кодировками. Декодеры делают обратное: они преобразуют кодировки обратно в последовательность вероятностей различных выходных слов. Выходные вероятности могут быть преобразованы в другое предложение на естественном языке с помощью функции softmax.

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

Поскольку это должно быть вычислено много раз, мы реализуем несколько механизмов внимания параллельно, используя преимущества параллельных вычислений, предлагаемых графическими процессорами. Это называется механизмом многоголового внимания. Возможность передавать несколько слов через нейронную сеть одновременно — одно из преимуществ преобразователей по сравнению с LSTM и RNN.

Архитектура нейронной сети-преобразователя. В исходной статье было 6 кодеров, связанных с 6 декодерами.

Позиционное кодирование в нейронной сети трансформатора

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

Однако слово может иметь разное значение в разных контекстах. Сравните «Я пошел в банк» с «Я плавал в банке».

Конструкция преобразователя добавляет к этому вектору дополнительную синусоидальную функцию, которая позволяет встраиванию вектора слова варьироваться в зависимости от его положения в предложении. Например,

, где w — индекс слова в предложении.

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

Механизм внимания в нейронной сети трансформатора

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

Это очень важно при переводе. Например, английское «the red house» соответствует «la casa roja» на испанском языке: в этих двух языках порядок слов разный.

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

В качестве упрощенного примера, при переводе «красный дом» на испанский вектор внимания для первого выходного слова может быть следующим:

На практике внимание в нейронной сети трансформатора используется тремя различными способами:

(1) Внимание кодировщика-декодера, как в приведенном выше примере. Механизм внимания, позволяющий декодеру следить за входной последовательностью при генерации выходной последовательности.

(2) Собственное внимание в кодировщике. Это позволяет кодировщику следить за всеми частями вывода кодирования от предыдущего кодировщика.

(3) Собственное внимание в декодере. Это позволяет декодеру обрабатывать все части последовательности внутри декодера.

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

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

Вверху: матрица согласования перевода с английского на испанский.

Формула внимания в нейронной сети трансформатора

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

Самая распространенная формула внимания в нейронной сети трансформатора — это масштабируемое скалярное произведение внимания:

Математическое определение масштабированной функции внимания скалярного произведения

Объяснение символов формулы внимания


Вектор запросов размерности d k




Вектор ключей размерности d k
905 вектор значений 905 размера d k

Размер клавиш внимания.Это гиперпараметр, выбранный во время разработки.

Обратите внимание, что Q, K и V могут поступать из разных источников в зависимости от того, где в преобразователе используется механизм внимания (самовнимание или внимание кодировщика-декодера).

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

Расчет внимания в нейронной сети трансформатора

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

Сначала мы производим матричное умножение

Теперь рассчитаем масштабированные логиты внимания

Пройдя через функцию softmax, получаем

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

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

Нейронная сеть трансформатора

против RNN

РНС

принципиально отличаются от трансформаторов. RNN обрабатывает входные слова одно за другим и поддерживает скрытый вектор состояния с течением времени. Каждое входное слово проходит через несколько слоев нейронной сети и изменяет вектор состояния. Теоретически в данный момент вектор состояния может сохранять информацию о входах из далекого прошлого. Однако обычно скрытое состояние модели сохраняет мало полезной информации о ранних входах.Новые входы могут легко перезаписать состояние, что приведет к потере информации. Это означает, что производительность RNN имеет тенденцию ухудшаться из-за длинных предложений. Это называется проблемой долгосрочной зависимости.

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

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

Нейронная сеть трансформатора

против LSTM

LSTM — это особый вид RNN, который был очень успешным для решения множества задач, таких как распознавание речи, перевод, добавление подписей к изображениям, классификация текста и многое другое. Они были специально разработаны для решения проблемы долгосрочной зависимости, с которой сталкиваются стандартные RNN, но в них используется подход, совершенно отличный от подхода трансформатора.

Основная идея дизайна LSTM — это состояние ячейки. Это скрытое состояние, которое сохраняется с течением времени, когда LSTM получает входные токены. Поскольку LSTM — это своего рода рекуррентная нейронная сеть, она получает входные данные один за другим. Однако, в дополнение к стандартному дизайну RNN, LSTM тщательно регулирует возможность изменения информации в скрытом состоянии ячеек с помощью структур, называемых «воротами». В стандартной конструкции LSTM есть три логических элемента, которые называются «входным вентилем», «выходным вентилем» и «вентилем забывания».

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

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

До разработки архитектуры трансформатора многие исследователи добавляли механизмы внимания к LSTM, которые улучшали производительность по сравнению с базовой конструкцией LSTM. Трансформаторная нейронная сеть родилась из открытия, что повторяющийся дизайн с последовательным вводом слов больше не нужен, и только механизм внимания может обеспечить повышенную точность.Это проложило путь к параллельной конструкции трансформатора, который позволяет тренироваться на высокопроизводительных устройствах, таких как графические процессоры.

Применение трансформаторных нейронных сетей

Нейронные сети

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


Трансформаторные нейронные сети в поиске информации

С 2019 года Google Search начал использовать нейронную сеть-преобразователь Google BERT для поисковых запросов на более чем 70 языках.

До этого изменения поиск большей части информации основывался на ключевых словах, что означало, что Google проверял просканированные сайты без сильных контекстных подсказок. Возьмем, к примеру, слово «банк», которое может иметь много значений в зависимости от контекста.

Введение нейронных сетей-трансформеров в поиск Google означает, что запросы, в которых такие слова, как «от» или «до» влияют на значение, Google лучше понимает. Пользователи могут выполнять поиск на более естественном английском, а не адаптировать свой поисковый запрос к тому, что, по их мнению, поймет Google.

Примером из блога Google является запрос «Путешественнику из Бразилии в США в 2019 году нужна виза». Положение слова «до» очень важно для правильной интерпретации запроса. Предыдущая реализация Google Search не могла уловить этот нюанс и выдавала результаты о гражданах США, путешествующих в Бразилию, тогда как модель трансформера возвращает гораздо более релевантные страницы.

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


Трансформаторные нейронные сети для генерации текста

OpenAI продемонстрировали, как их модели преобразователей GPT-2 и GPT-3 могут генерировать чрезвычайно похожие на человека тексты.

В своей статье «Тонкая настройка языковых моделей на основе предпочтений человека»

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

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


История трансформаторных нейронных сетей

Трансформаторные нейронные сети и механизм внимания были впервые предложены командой под руководством Google в 2017 году в широко цитируемой статье под названием «Внимание — это все, что вам нужно». До изобретения преобразователя задачи, связанные с последовательностью, в основном решались с вариациями в рекуррентных нейронных сетях (RNN).

RNN были изобретены Дэвидом Румелхартом в 1986 году, но имеют серьезные ограничения для практического использования в их первоначальной форме, потому что, когда они обучаются на длинных последовательностях, градиенты, как правило, выходят из-под контроля или исчезают. Это известно как проблема исчезающего градиента и проблема взрывающегося градиента. Эта проблема была частично решена за счет внедрения нейронной сети с долговременной кратковременной памятью (LSTM) и стробируемого рекуррентного блока (GRU), которые были модификациями оригинальной конструкции RNN.И LSTM, и GRU используют компоненты, похожие на логические вентили, для запоминания информации с начала последовательности и предотвращения исчезновения и взрыва градиентов.

С 2007 года LSTM и GRU начали революцию в распознавании речи и машинном переводе. Однако их основные ограничения заключались в том, что они медленно обучались из-за отсутствия распараллеливания, и они не использовали весь окружающий контекст при кодировании слова. Обе эти проблемы были устранены авторами книги «Все, что вам нужно» с введением механизма многоглавого внимания.Прорыв в их статье заключался в понимании того, что если сеть основана на механизме внимания, то больше нет необходимости иметь повторяющуюся архитектуру, что открывает путь к более стабильным моделям, которые легче обучать.

В 2018 году Google открыл BERT, языковую модель в TensorFlow, основанную на преобразователях, а в 2019 году OpenAI частично выпустил GPT-2, основанный на несколько иной архитектуре преобразователя. GPT-2 попал в заголовки газет, потому что OpenAI заявил, что они не будут выпускать обученную модель из опасения, что она будет использована в злонамеренных целях, таких как фальшивые новости.


Блог Google AI: переосмысление внимания с помощью исполнителей

Авторы: Кшиштоф Чоромански и Люси Колуэлл, ученые-исследователи, Google Research

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

Для приложений, где требуется повышенное внимание, было предложено несколько быстрых и более компактных прокси, таких как методы кэширования памяти, но гораздо более распространенный способ — полагаться на редкое внимание . Редкое внимание сокращает время вычислений и требования к памяти для механизма внимания за счет вычисления ограниченного набора оценок сходства из последовательности, а не из всех возможных пар, в результате чего получается разреженная матрица, а не полная матрица.Эти разреженные записи могут быть предложены вручную, найдены с помощью методов оптимизации, изучены или даже рандомизированы, что демонстрируется такими методами, как Sparse Transformers, Longformers, Routing Transformers, Reformers, и Big Bird . Поскольку разреженные матрицы также могут быть представлены графами и ребрами, методы разрежения также мотивированы литературой по графовым нейронным сетям с конкретными отношениями к вниманию, изложенными в Graph Attention Networks .Такие архитектуры, основанные на разреженности, обычно требуют дополнительных уровней для неявного создания механизма полного внимания.

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

К сожалению, методы рассеянного внимания могут иметь ряд ограничений. (1) Они требуют эффективных операций умножения с разреженными матрицами, которые доступны не на всех ускорителях; (2) они обычно не предоставляют строгих теоретических гарантий своей репрезентативной силы; (3) они оптимизированы в первую очередь для моделей Transformer и генеративного предварительного обучения; и (4) они обычно складывают больше слоев внимания, чтобы компенсировать разреженные представления, что затрудняет их использование с другими предварительно обученными моделями, что требует переобучения и значительного расхода энергии. В дополнение к этим недостаткам, механизмов разреженного внимания зачастую недостаточно для решения всего спектра проблем, к которым применяются обычные методы внимания, такие как Pointer Networks. Есть также некоторые операции, которые нельзя разделить, например, обычно используемая операция softmax, которая нормализует оценки сходства в механизме внимания и активно используется в рекомендательных системах промышленного масштаба.

Чтобы решить эти проблемы, мы представляем Performer, архитектуру Transformer с механизмами внимания, которые масштабируются линейно, что обеспечивает более быстрое обучение, позволяя модели обрабатывать более длинные длины, как требуется для определенных наборов данных изображений, таких как ImageNet64, и наборов текстовых данных, таких как PG-19. .Performer использует эффективную (линейную) структуру обобщенного внимания, которая позволяет использовать широкий класс механизмов внимания, основанных на различных мерах (ядрах) сходства. Эта структура реализована с помощью нашего нового алгоритма Fast Attention Via Positive Orthogonal Random Features (FAVOR +) , который обеспечивает масштабируемую с низкой дисперсией и несмещенную оценку механизмов внимания, которая может быть выражена посредством случайных разложений карты признаков (в частности, штатный softmax-внимание). Мы получаем надежные гарантии точности для этого метода при сохранении линейной пространственной и временной сложности, что также может быть применено к автономным операциям softmax.

Generalized Attention
В исходном механизме внимания, query и key входы, соответствующие соответственно строкам и столбцам матрицы, умножаются вместе и передаются через операцию softmax, чтобы сформировать матрицу внимания, которая сохраняет сходство оценки.Обратите внимание, что в этом методе нельзя разложить продукт ключа запроса обратно на исходный запрос и ключевые компоненты после передачи его в нелинейную операцию softmax. Тем не менее, можно разложить матрицу внимания назад , на продукт случайных нелинейных функций исходных запросов и ключей, иначе известных как случайных признаков , что позволяет кодировать информацию о сходстве более эффективным способом. .

LHS: Стандартная матрица внимания, которая содержит все оценки сходства для каждой пары записей, сформированной операцией softmax над запросом и ключами, обозначается q и k . RHS: Стандартная матрица внимания может быть аппроксимирована рандомизированными матрицами более низкого ранга Q ‘ и K’ со строками, кодирующими потенциально рандомизированные нелинейные функции исходных запросов / ключей. Для обычного softmax-Внимание преобразование очень компактно и включает экспоненциальную функцию, а также случайные гауссовские проекции.

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

Насколько нам известно, мы первые показали, что любая матрица внимания может быть эффективно аппроксимирована в последующих приложениях Transformer с использованием случайных функций.Новым механизмом, обеспечивающим это, является использование положительных случайных признаков , т. Е. положительных значений нелинейных функций исходных запросов и ключей, которые оказываются критически важными для предотвращения нестабильности во время обучения и обеспечивают более точное приближение к обычному softmax. механизм внимания.

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

Слева: Вычисление стандартного модуля внимания, где окончательный желаемый результат вычисляется путем выполнения матричного умножения с матрицей внимания A и тензором значений V . Справа: Разъединяя матрицы Q ‘ и K’ , используемые в разложении нижнего ранга A , и проводя умножения матриц в порядке, обозначенном пунктирными прямоугольниками, мы получаем линейный механизм внимания, никогда явно не конструируя A или его приближение.

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

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

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

Двунаправленная синхронизация для обычной модели трансформатора в логарифмическом графике со временем ( T ) и длиной ( L ). Строки заканчиваются на пределе памяти графического процессора. Черная линия (X) обозначает максимально возможное сжатие памяти и ускорение при использовании «фиктивного» блока внимания, который, по сути, обходит вычисления внимания и демонстрирует максимально возможную эффективность модели.Модель Performer почти способна достичь этой оптимальной производительности в компоненте внимания.

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

Используя набор данных One Billion Word Benchmark (LM1B), мы перенесли исходные предварительно обученные веса Transformer в модель Performer, которая дает начальный ненулевой 0. 07 точность (оранжевая пунктирная линия). Однако после точной настройки Performer быстро восстанавливает точность за небольшую часть исходного количества шагов градиента.

Пример применения: моделирование белков
Белки — это большие молекулы со сложной трехмерной структурой и специфическими функциями, которые необходимы для жизни. Как и слова, белки задаются как линейные последовательности, где каждый символ является одним из 20 аминокислотных строительных блоков. Применение трансформеров к большим немеченым корпусам белковых последовательностей (например,грамм. UniRef) дает модели, которые можно использовать для точного предсказания складчатой ​​функциональной макромолекулы. Performer-ReLU (который использует внимание на основе ReLU, экземпляр обобщенного внимания, который отличается от softmax) хорошо работает при моделировании данных последовательности белков, в то время как Performer-Softmax соответствует производительности Transformer, как и предсказано нашими теоретическими результатами.

Эффективность моделирования белковых последовательностей.Поезд = Пунктир, Проверка = Сплошной, Однонаправленный = (U), Двунаправленный = (B). Мы используем параметры модели с 36 уровнями из ProGen (2019) для всех прогонов, в каждом из которых используется TPU-v2 16×16. Размеры пакетов были максимизированы для каждого прогона с учетом соответствующих вычислительных ограничений.

Ниже мы визуализируем модель Protein Performer, обученную с использованием механизма приблизительного внимания на основе ReLU. Использование Performer для оценки сходства между аминокислотами позволяет восстановить структуру, аналогичную хорошо известным матрицам замен, полученным путем анализа эволюционных паттернов замен в тщательно подобранных выравниваниях последовательностей.В более общем плане мы находим локальные и глобальные модели внимания, соответствующие моделям Transformer, обученным на данных о белках. Приближение плотного внимания исполнителя может улавливать глобальные взаимодействия между множеством белковых последовательностей. В качестве доказательства концепции мы обучаем модели на длинных конкатенированных белковых последовательностях, что перегружает память обычной модели Transformer, но не Performer из-за его компактности.

Слева: Матрица аминокислотного сходства, оцененная по весам внимания.Модель распознает очень похожие пары аминокислот, такие как (D, E) и (F, Y), несмотря на доступ только к последовательностям белков без предварительной информации о биохимии. Центр: Матрицы внимания из 4 слоев (строк) и 3 выбранных заголовков (столбцов) для белка BPT1_BOVIN, показывающие локальные и глобальные шаблоны внимания.
Работа с последовательностями длиной до 8192, полученными путем конкатенации отдельных белковых последовательностей. Чтобы поместиться в память TPU, размер Transformer (количество слоев и размеры встраивания) был уменьшен.

Заключение
Наша работа вносит свой вклад в недавние усилия по разработке методов, основанных на неразрежении, и интерпретаций Transformers на основе ядра. Наш метод совместим с другими методами, такими как обратимые слои, и мы даже интегрировали FAVOR с кодом Reformer. Мы предоставляем ссылки на документ, код исполнителя и код моделирования на языке Protein Language Modeling.Мы считаем, что наше исследование открывает совершенно новый взгляд на внимание, архитектуры Transformer и даже методы ядра.

Благодарности
Эта работа была выполнена основными дизайнерами Performer Кшиштофом Чоромански (Google Brain Team, технический и исследовательский руководитель), Валерием Лихошерстовым (Кембриджский университет) и Xingyou Song (Google Brain Team) при участии Дэвида Дохана и Андреи Гейн, Тамас Сарлос, Питер Хокинс, Джаред Дэвис, Афроз Мохиуддин, Лукаш Кайзер, Дэвид Белэнджер, Люси Колвелл и Адриан Веллер. Мы выражаем особую благодарность группе прикладных наук за совместное руководство исследованиями по применению эффективных архитектур трансформаторов к данным о последовательности белков.

Мы также хотим поблагодарить Джошуа Мейера, Джона Платта и Тома Вайнгартена за многие плодотворные обсуждения биологических данных и полезные комментарии к этому проекту, а также Йи Тай и Мостафу Дехгани за обсуждения по сравнению исходных данных. Мы также благодарим Никиту Китаева и Войцеха Гаевского за многочисленные обсуждения Реформатора, а также Аурко Роя и Ашиша Васвани за многочисленные обсуждения Трансформатора маршрутизации.

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

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

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

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

Для большинства очевидно, что в первом предложении пара «оно» относится к животному, а во втором — к улице. При переводе этих предложений на французский или немецкий язык перевод «it» зависит от пола существительного, к которому оно относится, а во французском «животное» и «улица» имеют разные полы.В отличие от текущей модели Google Translate, Transformer правильно переводит оба этих предложения на французский язык. Визуализация того, какие слова использовались кодировщиком при вычислении окончательного представления слова «оно», проливает свет на то, как сеть приняла решение. На одном из своих шагов Трансформатор четко определил два существительных, на которые он мог ссылаться, и соответствующее количество внимания отражает его выбор в различных контекстах.
Распределение самовнимания кодировщика для слова «оно» с 5-го по 6-й уровень Трансформатора, обученного переводу с английского на французский (одна из восьми голов внимания).
Учитывая это понимание, может быть неудивительно, что Transformer также очень хорошо справляется с классической задачей анализа языка синтаксического синтаксического анализа, задача, которую сообщество обработки естественного языка атакует с помощью узкоспециализированных систем на протяжении десятилетий.
Фактически, с небольшой адаптацией та же сеть, которую мы использовали для перевода с английского на немецкий, превзошла все ранее предложенные подходы к синтаксическому анализу, кроме одного.

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

Благодарности
Это исследование было проведено Ашишем Васвани, Ноамом Шазиром, Ники Пармар, Якобом Ушкорейтом, Ллионом Джонс, Эйданом Н.Гомес, Лукаш Кайзер и Илья Полосухин. Дополнительная благодарность Дэвиду Ченеллу за создание приведенной выше анимации.

Автор: Якоб Ушкорейт (Jakob Uszkoreit), инженер-программист, Natural Language Understanding

Нейронные сети, в частности рекуррентные нейронные сети (RNN), в настоящее время составляют основу ведущих подходов к решению задач понимания языка, таких как языковое моделирование, машинный перевод и ответы на вопросы. В статье «Внимание — это все, что вам нужно» мы представляем Transformer, новую архитектуру нейронной сети, основанную на механизме самовнимания, который, по нашему мнению, особенно хорошо подходит для понимания языка.

В нашей статье мы показываем, что Transformer превосходит как рекуррентные, так и сверточные модели в тестах перевода с академического английского на немецкий и с английского на французский. Помимо более высокого качества перевода, Transformer требует меньше вычислений для обучения и гораздо лучше подходит для современного оборудования для машинного обучения, ускоряя обучение на порядок.

Показатели BLEU (чем выше, тем лучше) отдельных моделей в стандартном тесте перевода WMT newstest2014 с английского на немецкий.
Показатели BLEU (выше — лучше) одиночных моделей в стандартном тесте перевода WMT newstest2014 с английского на французский.
Точность и эффективность в понимании языка
Нейронные сети обычно обрабатывают язык, генерируя представления в векторном пространстве фиксированной или переменной длины. Начав с представления отдельных слов или даже частей слов, они агрегируют информацию из окружающих слов, чтобы определить значение заданной части языка в контексте.Например, чтобы выбрать наиболее вероятное значение и подходящее представление слова «банк» в предложении «Я прибыл в банк после перехода…», необходимо знать, заканчивается ли предложение словами «… дорога». или «… река».

RNN в последние годы стали типичной сетевой архитектурой для перевода, обрабатывая язык последовательно слева направо или справа налево. При чтении одного слова за раз это вынуждает RNN выполнять несколько шагов для принятия решений, которые зависят от слов, находящихся далеко друг от друга.Обрабатывая приведенный выше пример, RNN может определить, что «берег», скорее всего, относится к берегу реки, только после пошагового чтения каждого слова между «берегом» и «рекой». Предыдущие исследования показали, что, грубо говоря, чем больше требуется таких шагов для принятия решений, тем сложнее повторяющейся сети научиться принимать эти решения.

Последовательный характер RNN также затрудняет полное использование преимуществ современных быстрых вычислительных устройств, таких как TPU и GPU, которые превосходят в параллельной, а не в последовательной обработке.Сверточные нейронные сети (CNN) намного менее последовательны, чем RNN, но в архитектурах CNN, таких как ByteNet или ConvS2S, количество шагов, необходимых для объединения информации из удаленных частей входных данных, по-прежнему растет с увеличением расстояния.

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

Более конкретно, чтобы вычислить следующее представление для данного слова — например, «банк» — Transformer сравнивает его с каждым другим словом в предложении.Результатом этих сравнений является оценка внимания к каждому второму слову в предложении. Эти оценки внимания определяют, насколько каждое из других слов должно способствовать следующему представлению слова «банк». В этом примере устраняющая неоднозначность «река» может получить высокий балл внимания при вычислении нового представления для «банка». Затем оценки внимания используются в качестве весов для средневзвешенного значения представлений всех слов, которое подается в полностью подключенную сеть для создания нового представления для слова «берег», отражающего, что в предложении говорится о берегу реки.

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

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

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

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

Для большинства очевидно, что в первом предложении пара «оно» относится к животному, а во втором — к улице. При переводе этих предложений на французский или немецкий язык перевод «it» зависит от пола существительного, к которому оно относится, а во французском «животное» и «улица» имеют разные полы.В отличие от текущей модели Google Translate, Transformer правильно переводит оба этих предложения на французский язык. Визуализация того, какие слова использовались кодировщиком при вычислении окончательного представления слова «оно», проливает свет на то, как сеть приняла решение. На одном из своих шагов Трансформатор четко определил два существительных, на которые он мог ссылаться, и соответствующее количество внимания отражает его выбор в различных контекстах.
Распределение самовнимания кодировщика для слова «оно» с 5-го по 6-й уровень Трансформатора, обученного переводу с английского на французский (одна из восьми голов внимания).
Учитывая это понимание, может быть неудивительно, что Transformer также очень хорошо справляется с классической задачей анализа языка синтаксического синтаксического анализа, задача, которую сообщество обработки естественного языка атакует с помощью узкоспециализированных систем на протяжении десятилетий.
На самом деле, с небольшой адаптацией, та же сеть, которую мы использовали для перевода с английского на немецкий, превзошла все ранее предложенные подходы к синтаксическому анализу, кроме одного.

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

Благодарности
Это исследование было проведено Ашишем Васвани, Ноамом Шазиром, Ники Пармар, Якобом Ушкорейтом, Ллионом Джонс, Эйданом Н.Гомес, Лукаш Кайзер и Илья Полосухин. Дополнительная благодарность Дэвиду Ченеллу за создание приведенной выше анимации.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *