обучение нейросети без учителя

Обучение нейросети с учителем, без учителя, с подкреплением — в чем отличие? Какой алгоритм лучше?

обучение нейросети без учителя. obuchenie s bez uchitelja s podkrepleniem e1539953799444. обучение нейросети без учителя фото. обучение нейросети без учителя-obuchenie s bez uchitelja s podkrepleniem e1539953799444. картинка обучение нейросети без учителя. картинка obuchenie s bez uchitelja s podkrepleniem e1539953799444.

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

Есть руководство по эксплуатации и все нужные детали? Просто следуйте инструкции. Ну как, получается? Можно выбросить руководство и работать самостоятельно. Но стоит перепутать порядок действий, и уже вам решать, что делать с этой кучей деревянных болтов и досок.

Все то же самое с глубоким обучением (deep learning). Разработчик предпочтет алгоритм с конкретным способом обучения, учитывая вид данных и стоящую перед ним задачу.

обучение нейросети без учителя. unsupervised learning. обучение нейросети без учителя фото. обучение нейросети без учителя-unsupervised learning. картинка обучение нейросети без учителя. картинка unsupervised learning.Результат обучения нейронной сети — кластеризация изображений

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

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

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

Обучение с учителем

Обучение с учителем (supervised learning) предполагает наличие полного набора размеченных данных для тренировки модели на всех этапах ее построения.

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

обучение нейросети без учителя. obuchenie s uchitelem. обучение нейросети без учителя фото. обучение нейросети без учителя-obuchenie s uchitelem. картинка обучение нейросети без учителя. картинка obuchenie s uchitelem.Пример обучения с учителем — классификация (слева), и дальнейшее ее использование для сегментации и распознавания объектов

В основном обучение с учителем применяется для решения двух типов задач: классификации и регрессии.

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

А вот задачи регрессии связаны с непрерывными данными. Один из примеров, линейная регрессия, вычисляет ожидаемое значение переменной y, учитывая конкретные значения x.

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

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

Обучение без учителя

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

В обучении без учителя (unsupervised learning) у модели есть набор данных, и нет явных указаний, что с ним делать. Нейронная сеть пытается самостоятельно найти корелляции в данных, извлекая полезные признаки и анализируя их.

обучение нейросети без учителя. obuchenie bez uchitelja klasterizacija. обучение нейросети без учителя фото. обучение нейросети без учителя-obuchenie bez uchitelja klasterizacija. картинка обучение нейросети без учителя. картинка obuchenie bez uchitelja klasterizacija.Кластеризация данных на основе общих признаков

В зависимости от задачи модель систематизирует данные по-разному.

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

Обучение с частичным привлечением учителя

Это золотая середина.

Обучение с частичным привлечением учителя (semi-supervised learning) характеризуется своим названием: обучающий датасет содержит как размеченные, так и неразмеченные данные. Этот метод особенно полезен, когда трудно извлечь из данных важные признаки или разметить все объекты – трудоемкая задача.

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

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

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

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

обучение нейросети без учителя. obuchenie s chastichnym privlecheniem uchitelja. обучение нейросети без учителя фото. обучение нейросети без учителя-obuchenie s chastichnym privlecheniem uchitelja. картинка обучение нейросети без учителя. картинка obuchenie s chastichnym privlecheniem uchitelja.Как работает GAN: дискриминатору «D» показывают исходные изображения и данные, созданные генератором «G». Дискриминатор должен определить, какие изображения являются реальными, а какие поддельными.

Обучение с подкреплением

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

Обучение с подкреплением (reinforcement learning) действует по тому же принципу. Видеоигры — популярная тестовая среда для исследований.

обучение нейросети без учителя. result of reinfircement learning. обучение нейросети без учителя фото. обучение нейросети без учителя-result of reinfircement learning. картинка обучение нейросети без учителя. картинка result of reinfircement learning.Результат обучения с подкреплением — «агент» проходит трассу, не выезжая за ее пределы. Далее можно добивиться повышения скорости прохождения трассы.

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

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

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

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

Источник

Собираем нейросети. Классификатор животных из мультфильмов. Без данных и за 5 минут. CLIP: Обучение без Обучения + код

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.

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

Цель: Научиться быстро создавать классификаторы для множества задач, без данных и без разметки, используя нейросеть CLIP от OpenAI.

Уровень: Туториал подходит под любой уровень: от нулевого до профи.

Совсем недавно я писал статью про нейронную сеть CLIP от OpenAI — классификатор изображений, решающий практически любую задачу, и который вообще не нужно обучать! Теперь давайте посмотрим, как CLIP работает на практике. Собираем CLIP из рубрики: Разбираем и Собираем Нейронные Сети на примере мультфильмов.

Дисклеймер: Пять минут, пять минут. Как же я устал от «все за пять минут». TensorFlow за пять минут, PyTorch за пять часов. Нейронные сети за выходные. Любой язык за двадцать один день. Но что я могу сделать, если OpenAI выложили в открытый доступ нейронную сеть CLIP? И на написание кода, и создание готового обученного классификатора и у меня и у любого, даже не знакомого с Python, уйдет именно столько времени. Интересно как? На самом деле все очень просто. + Рабочий код: Читай и запускай! Приятного прочтения!

О рубрике Разбираем и Собираем Нейронные Сети

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

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.


Если тебе интересно машинное обучение, то приглашаю в
«Мишин Лернинг» — мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

Перед началом сборки?

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

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.

Я подготовил более полусотни изображений 10ти классов животных. От четырех до десяти изображений на класс. Этого явно не хватит, чтобы обучиться (хотя чем черт не шутит 1 ), но хватит, чтобы протестировать нейросеть обученную на CLIP в режиме Обучения без Обучения. Теперь осталось лишь прояснить, как работает CLIP.

Если коротко:

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.Разница между классическим подходом к классификации и гибридным подходом CLIP

Разберем, как именно должно реализовываться обучение без обучения, и как получить классификатор под новый класс задач, и как его использовать. На самом деле все очень просто. CLIP принимает изображение и текстовые описания. На выходе для каждой картинки мы можем получить метрику схожести всех текстовых описаний, что мы подали в модель. Например, мы подаем на вход изображение собаки и несколько текстовых описаний: a photo of a plane, a photo of a car, a photo of a dog, …, a photo of a bird. Если CLIP хорошо предобучен, то мы можем ожидать, что для фотографии собаки максимальную численную схожесть получит вариант a photo of a dog. Двигаясь дальше в нашем рассуждении, мы можем подавать на вход и другие изображения, получать (ранжируя, сортируя по метрике схожести) текст, который будет ближе всего соответствовать новому изображению. Можно сказать, что это классификация изображений на классы, описанные на естественном языке!

Обратите внимание, что запрос стоит формулировать специфически: а photo of a ____ или a centered satellite photo of ____. Как можно догадаться, подобная формулировка позволяет более узко производить настройку или адаптацию под конкретный датасет во время обучения без обучения. Черт возьми, это чуть ли не машинное обучение на словах! Правильная словесная формулировка и описание классов — готовый классификатор.

Если подробно: Вот целая статья Разбираем CLIP, написанная мной неделю назад, и посвященная теории, результатам и аспектам обучения без обучения нейронной сети:

Теория — хорошо, а практика лучше! Так что начнем!

Модель для сборки: CLIP

Подготовка Colab. Установка PyTorch 1.7.1.

Загружаем CLIP. Загружаем Нейронную Сеть.

Препроцессинг данных. Разбираем препроцессинг изображений и текстов.

Обучение без Обучения. Получаем классификатор в режиме «обучение без обучения» для своей задачи не имея никаких данных!

Результаты. Смотрим и анализируем примеры классификации.

Beyond the Infinite. Неужели мы получили машинное обучение на словах?

Загружаем CLIP

Скачиваем CLIP, предобученный на 400М пар изображение-текст. Его можно использовать в режиме обучения без обучения (например ViT-B/32 CLIP). После запуска блока нас ждет установка скачивание model.pt модели CLIP: Visual Transformer 2 «ViT-B/32» + Text Transformer

Параметры модели: CLIP: Visual Transformer «ViT-B/32» + Text Transformer

Model parameters: 151,277,313

Input resolution: 224

Препроцессинг данных

Так как модель CLIP представляет из себя Visual Transformer «ViT-B/32», это означает, что вход модели должен быть фиксированного разрешения 224×224 пикселя. Препроцессинг изображений представляет из себя изменение размера входного изображения и обрезку его по центру. Перед этим нормализуем яркость пикселей картинки, используя поканальное среднее значение датасета 400М пар изображение-текст и стандартное отклонение.

Текстовый препроцессинг для Text Transformer части сети CLIP использует нечувствительный к регистру токенизатор. Код токенизатора скрыт во второй ячейке блока. Далее текст паддится до длины сontext length, и готов подаваться в трансформер.

Обучение без обучения

Перед непосредственным обучением без обучения разберем на примере, как работает CLIP.

Давайте скормим модели 10 изображений по одному примеру на класс и их текстовые описания. А потом построим матрицу косинусных расстояний между векторами изображений и векторами текстов (cosine similarity в общем пространстве визуальных и текстовых репрезентаций).

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.Матрица поэлементных cosine similarity между парами векторных репрезентаций изображений и текстовых описаний

Numpy-like pseudocode архитектуры CLIP. Подробнее читай в моей статье Нейронная Сеть CLIP от OpenAI: Классификатор, который не нужно обучать: https://habr.com/ru/post/539312/

Как мы видим, по матрице cosine similarity, максимальная схожесть векторных репрезентаций изображений и текстовых описаний находится на главной диагонали. Из этого мы можем сделать вывод, что CLIP подходит под нашу задачу.

В нашем примере тонкую настройку головы классификатора в режиме обучения без обучения под домен мультфильмов я решил производить префиксом this is a painting of cartoon ________.

Так как же получить классификатор под свою задачу в режиме обучения без обучения?
На самом деле мы его уже получили. Ведь если cosine similarity векторных репрезентаций изображений и текстовых описаний максимальна у правильных пар изображение-текст, то все что нам нужно, это прогнать тексты и изображения, и найти для каждой картинки текст, чья векторная репрезентация будет ближе всего. Это и есть классификация. Но нам не нужно прогонять текст каждый раз, для каждого вызова классификатора. Мы можем сделать это один раз и получить готовый классификатор. Теперь осталось прогнать эти текстовые описания через Text Transformer и забрать векторные репрезентации.

Cosine similarity — это косинус угла между векторами, что по определению есть скалярное произведение между отнормированными (по длине, L 2 ) этими векторами. Значит, мы можем отнормировать текстовые векторные репрезентации и сохранить их. Вот мы и обучили классификационную голову в режиме обучения без обучения.

Результаты

Для того, чтобы говорить о качестве, нужен хоть какой-то датасет. OpenAI cделали сравнение CLIP и слоя logistic regression на фичах классического ResNet-50, полученного обычным обучением с учителем, и показали, что CLIP на 16 из 27 датасетов превосходит baseline классификаторы (обучение с учителем).

Сравнение точности CLIP в режиме обучения без обучения на разных датасетах.

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.

Обучение без обучения на CLIP может конкурировать с baseline (слоя logistic regression на фичах классического ResNet-50), полученного обычным обучением с учителем. Перед вами список из 27 датасетов. Обучение без обучения на CLIP превосходит baseline классификаторы, полученные обучением с учителем на 16 из 27 датасетов, включая ImageNet! В качестве фича-экстрактора выступает ResNet-50. Интересно и то, что CLIP значительно превосходит baseline по двум датасетам Kinetics700 и UCF101 в задаче «распознавания действий на видео«. Это связано с тем, что естественный язык обеспечивает более подробную репрезентацию для этой задачи.

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

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.

Сразу бросается в глаза то, что Леди похожа на львенка, а болонка королевы — на кошку (разве что хвост собачий). Собаки из adventure time, кстати, чаще определяются как свинки.

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.

Тут все отлично. Достаточно легкие оказались примеры. Я добавил еще несколько примеров под спойлер. Остальное найдете уже в Colab.

Тут почти без ошибок. Хотя коты кардинала — явно не олени. И похожего тоже мало. Стоит лишь сказать, что Кот в сапогах на одном из изображений имеет что-то общее с лисой (хотя бы цвет). Дальше вообще все отлично. Чистая случайность.

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader. обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader. обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader. обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.

Beyond the Infinite

Оценим время написания классификатора:

Установка PyTorch и загрузка модели CLIP

Загрузка изображений по url и вызов всех команд в colab

Написание 10-ти предложений на английском языке + проверка и переформулировка

Написать 1 строчку и c_pickle_ить (сериализовать) векторы головы классификатора text_features /= text_features.norm(dim=-1, keepdim=True)

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

Заключение

Как мы видим, нейрогибридная сеть CLIP — это действительно новый взгляд на объединение NLP и CV. Последние несколько лет мы наблюдали триумфы в области обработки естественного языка, и языковые модели действительно наделали много шума, совершив новую революцию и, в очередной раз, отложив новую «зиму» искусственного интеллекта в долгий ящик. Совсем недавно мы начали наблюдать явление, когда технологии, вроде бы изначально присущие только NLP, стали бить рекорды в компьютерном зрении: Vision Transformers. Методы few-shot и zero-shot learning проникают в сферу компьютерного зрения уже благодаря гибридным nlp и cv моделям. Посмотрим, что нас ждет дальше, и какие еще модели и методы пополнят наши славные ряды!

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

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.Colab c кодом «Собираем CLIP: Обучение без Обучения. Классификатор животных из мультфильмов.»

Полезные ссылки

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

Качество zero-shot CLIP сопоставимо с BiT-M после 16-shot linear probes. При этом, если продолжать few-shot learning на CLIP, он начинает быстро обгонять другие модели, обучаемые тем же linear probes на том же количестве новых размеченных данных. Теперь идея с обучением на плюс-минус восьми картинках на класс кажется возможной, что даже превосходит Big Transfer (BiT).

Vision Transformers начинают вытеснять сверточные нейронные сети. И в ближайшее время мы увидим все больше интереса именно к этим архитектурам. Создатели CLIP обучили CLIP-ViT на основе Vision Transformer’ов. Это три модели обученные на разрешении 224×224 : ViT-B/32, ViT-B/16, ViT-L/14, и модель ViT-L/14, fine-tune которой производился на изображениях 336х336.

Ну вот и все! Надеюсь, что материал оказался полезным. Спасибо за прочтение!

Что ты думаешь о CLIP и об Обучении без Обучения? Какой интересный пример использования «обучения без обучения» можешь предложить ты? Где, по-твоему, может быть полезна такая технология? Насколько тебя впечатлили результаты? Есть ли какие-то вопросы? Интересна ли тебе новая рубрика «Разбираем и Собираем Нейронные Сети«? Какие темы тебе были бы интересны? Давай обсудим в комментариях!

Источник

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

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.

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

Как известно, в основе нейронного переводчика механизм двунаправленных рекуррентных нейронных сетей (Bidirectional Recurrent Neural Networks), построенный на матричных вычислениях, который позволяет строить существенно более сложные вероятностные модели, чем статистические машинные переводчики. Однако всегда считалось, что нейронный перевод, как и статистический, требует для обучения параллельных корпусов текстов на двух языках. На этих корпусах обучается нейросеть, принимая человеческий перевод за эталонный.

Как теперь выяснилось, нейросети способны освоить новый язык для перевода даже без параллельного корпуса текстов! На сайте препринтов arXiv.org опубликованы сразу две работы на эту тему.

«Представьте, что вы даёте какому-то человеку много китайских книг и много арабских книг — среди них нет одинаковых — и этот человек обучается переводить с китайского на арабский. Это кажется невозможным, правда? Но мы показали, что компьютер способен на такое», — говорит Микель Артетксе (Mikel Artetxe), учёный, работающий в области компьютерных наук в Университете Страны Басков в Сан-Себастьяне (Испания).

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

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

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.
«Универсальный язык» нейронной сети Google Neural Machine Translation (GNMT). На левой иллюстрации разными цветами показаны кластеры значений каждого слова, справа внизу — смыслы слова, полученные для него из разных человеческих языков: английского, корейского и японского

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

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

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.
Архитектура предлагаемой системы. Для каждого предложения на языке L1 система учится чередованию двух шагов: 1) шумоподавление (denoising), которое оптимизирует вероятность кодирования зашумлённой версии предложения с общим энкодером и его реконструкции декодером L1; 2) обратный перевод (back-translation), когда предложение переводится в режиме вывода (то есть кодируется общим энкодером и декодируется декодером L2), а затем оптимизируется вероятность кодирования этого переведённого предложения с общим энкодером и восстановления оригинального предложения декодером L1. Иллюстрация: научная статья Микеля Артетксе и др.

обучение нейросети без учителя. image loader. обучение нейросети без учителя фото. обучение нейросети без учителя-image loader. картинка обучение нейросети без учителя. картинка image loader.
Предлагаемая архитектура и цели обучения системы (из второй научной работы). Архитектура представляет собой модель перевода по предложениям, где и энкодер, и декодер работают на двух языках, в зависимости от идентификатора входного языка, который меняет местами поисковые таблицы. Вверху (автокодирование): модель обучается выполнять шумоподавление в каждом домене. Внизу (перевод): как и прежде, плюс мы кодируем с другого языка, используя в качестве входных данных перевод, произведённый моделью в предыдущей итерации (голубой прямоугольник). Зелёные эллипсы указывают термины в функции потерь. Иллюстрация: научная статья Гильома Лампла и др.

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

Отметим, что вторую научную работу опубликовали исследователи из подразделения Facebook AI.

Работы представлены для Международной конференции по обучающим представлениям 2018 года (International Conference on Learning Representations). Ни одна из статей ещё не опубликована в научной прессе.

Источник

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

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