нейросеть с которой можно поговорить

«Яндекс» научил генеративную модель выдавать тексты «в стиле Хабра»

нейросеть с которой можно поговорить

«Яндекс» в первом выпуске онлайн-журнала «Техно» открыл всем желающим доступ к общению с ИИ, генеративная модель которого обучена выдавать тексты «в стиле Хабра». Разработанная командой «Яндекса» «болтливая» языковая модель из семейства YaLM (Yet another Language Model), вдохновленная GPT-3 от компании Open AI, очень любит говорить про нейросети или может рассказать, как переустановить винду.

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

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

В середине октября «Яндекс» в сотрудничестве с изданием N+1 запустили онлайн-журнал «Техно». Каждый выпуск журнала будет посвящен одной из технологий «Яндекса». Первый номер о языковых моделях с интерактивными дополнениями и тестами уже доступен всем желающим.

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

нейросеть с которой можно поговорить
Можете написать в комментариях, что вам ответила нейросеть по-Хабровски.

Источник

19 отличных бесплатных нейросетей

нейросеть с которой можно поговорить

К 2019 году искусственные нейронные сети стали чем-то большим, чем просто забавная технология, о которой слышали только гики. Да, среди обычных людей мало кто понимает что из себя представляют нейросети и как они работают, но проверить действие подобных систем на практике может каждый – и для этого не нужно становиться сотрудником Google или Facebook. Сегодня в Интернете существуют десятки бесплатных проектов, иллюстрирующих те или иные возможности современных ИНС, о самых интересных из них мы и поговорим.

Из 2D в 3D

нейросеть с которой можно поговорить

На этом сервисе вы сможете вдохнуть новую жизнь в свои старые фотографии, сделав их объемными. Весь процесс занимает меньше минуты, необходимо загрузить изображение и через несколько секунд получить 3D-модель, которую можно покрутить и рассмотреть во всех деталях. Впрочем, есть два нюанса — во-первых, фотография, должна быть портретной (для лучшего понимания требований на главной странице сайта представлены наиболее удачные образцы снимков, которые ранее загружали другие пользователи; во-вторых, детализация получаемой модельки зачастую оставляет желать лучшего, особенно, если фотография в низком разрешении. Однако авторы разрешают не только ознакомиться с результатом в окне браузера, но и скачать получившийся файл в формате obj к себе на компьютер, чтобы затем самостоятельно его доработать.

Нейминг брендов

нейросеть с которой можно поговорить

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

Выбор досуга

нейросеть с которой можно поговорить

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

Рай для искусствоведа

нейросеть с которой можно поговорить

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

Озвучивание картинок

нейросеть с которой можно поговорить

Японская студия Qosmo разработала очень необычную нейросеть Imaginary Soundscape, которая воспроизводит звук, соответствующий тому или иному изображению. В качестве источника информации вы можете указать ссылку на любую картинку в Интернете, загрузить свой файл либо выбрать случайную локацию на Google Maps.

Не умеешь рисовать – тогда тебе к нам!

нейросеть с которой можно поговорить

Если вы пробовали использовать рукописный ввод на своем смартфоне, эта нейросеть покажется вам до боли знакомой: она превращает любые каракули в аккуратные 2D-рисунки.

Генерация людей

нейросеть с которой можно поговорить

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

Генерация… котов

нейросеть с которой можно поговорить

Тот же автор разработал аналогичный сайт, генерирующий изображения несуществующих котов.

Быстрое удаление фона

нейросеть с которой можно поговорить

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

Написать стихотворение

нейросеть с которой можно поговорить

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

Окрашивание черно-белых фотографий

нейросеть с которой можно поговорить

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

Апскейлинг фото

нейросеть с которой можно поговорить

Лет 10-15 назад камеры мобильных устройств не отличались высоким разрешением, и слабый сенсор в телефоне никак не мог справиться с детализированной картиной окружающего мира. Теперь же, если вы захотите повысить разрешение своих старых фотографий, это можно сделать на сервисах вроде Bigjpg и Let’s Enhance, которые позволяют увеличить размер изображения без потери в качестве.

Чтение текста голосом знаменитостей

нейросеть с которой можно поговорить

Благодаря высоким технологиям, сегодня у вас есть возможность озвучить любую фразу голосом самых известных в мире людей. Все просто: пишите текст и выбираете человека (среди последних — Дональд Трамп, Тейлор Свифт, Марк Цукерберг, Канье Уэст, Морган Фриман, Сэмюель Л Джексон и другие).

Описание фотографий

нейросеть с которой можно поговорить

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

Музыкальная шкатулка

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

Птичий хор

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

Виртуальный пианист

В A. I. Duet пользователю предлагается сыграть какую-нибудь мелодию на пианино, а искусственный интеллект попробует самостоятельно закончить композицию, подобрав наиболее логичное и гармоничное продолжение.

Распознавание рисунков

нейросеть с которой можно поговорить

Еще во время первых экспериментов с нейросетями в середине прошлого века основной задачей машинного обучения было распознавание визуальных образов. Спустя десятки лет эта технология выбралась из лабораторий и доступна всем желающим: на сайте quickdraw.withgoogle.com/ вам предложат быстро рисовать простые наброски определенных предметов, при этом ИИ будет все время комментировать происходящее на экране синтезированной речью.

Объяснение логики машинного обучения

нейросеть с которой можно поговорить

Проект Visualizing High-Dimensional Space (“Визуализация многомерного пространства”) создавался для того, чтобы объяснить простым людям и начинающим разработчикам, как работают нейросети. Когда ИИ, оперируя большими базами данных, получает информацию (например, вашу фотографию, введенную фразу или только что нарисованное изображение), он сравнивает входящие данные с теми, что у него уже есть. VHDS наглядно демонстрирует корреляцию одного лишь выбранного вами слова с миллионами аналогичных понятий.

Источник

Русский нейросетевой чатбот

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

нейросеть с которой можно поговорить

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

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

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

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

Почему нейронные сети?
Нельзя ли подойти к задаче более классическим методом? Загрузить набор ответов в БД и искать полнотекстовым индексом по предыдущей фразе? Ответ, так сделать можно, но результат получается не очень. Вот допустим:

Ч: привет!
К: грег, мария, это али…
Ч: как дела?
К: из соседнего номера поступила жалоба на шум, месье
Ч: как тебя зовут?
К: спасибо, спасибо.
Ч: сколько тебе лет?
К: ты живешь где-то рядом.

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

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

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

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

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

Второй вариант отличается тем, что до “смешивания” контекста и ответа им дан “свой собственный” слой для формирования представления. Ну и дальше может быть несколько слоев обработки, на рисунке показано два.

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

нейросеть с которой можно поговорить
Рис.1. Архитектура нейронных сетей

Результаты
По способности выбирать правильный ответ из нескольких предложенных вариантов (случайно взятых ответов), самый лучший результат показала модель номер 2, с пятью слоями для анализа данных по 700 нейронов в каждом (+1 слой репрезентации входных данных, тоже из 700 нейронов). Чтобы обучить такую глубокую сеть, пришлось использовать Хайвей (Highway) слои, которые позволяют информации проще распространятся от нижних слоев к верхним, также подождать несколько дней пока модель рассчитывалась на GPU. Модель номер 1 явно недообучилась, а номер 3 долго думала, и тоже не добрала до результатов модели номер 2 несколько процентов. Что напоминает нам о том, хотя самые простые модели не годятся для больших объемом данных, все же никогда не следует умножать сущности сверх необходимости.

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

Какие же диалоги можно в результате получить?

Ч: Привет
К: привет.
Ч: Как твои дела?
К: Не знаю.
Ч: Как тебя зовут?
К: меня зовут юнис.
Ч: Сколько тебе лет?
К: Пятнадцать.
Ч: Где ты живешь?
К: Дома.
Ч: ты учишься в школе?
К: Нет
Ч: а где ты учишься?
К: в бундесвере.
Ч: Ты любишь музыку?
К: да, я люблю музыку.
Ч: Какая музыка тебе нравится?
К: в основном я слушаю r&b, фанк.
Ч: Ты веришь в бога?
К: я и сейчас верю в бога, старина
Ч: что такое мораль?
К: два человека вместе — разве это не мораль?
Ч: какого цвета море?
К: цвета океана после шторма.

Достаточно хорошо, на мой взгляд. Вот еще пример:

Ч: Где живет бегемот?
К: Жил
Ч: а что, сейчас не живет?
К: Я не знаю.
Ч: тогда где он жил раньше?
К: у парка, на мэйпл стрит.
Ч: куда же он пропал?
К: куда он пропал?
Ч: я тебя спрашиваю, куда он пропал?
К: я не понимаю, почему я снова в больнице.
Ч: потому что ты болеешь
К: я просто хочу помогать людям.
Ч: Тогда скажи мне, где бегемот!
К: почему ты так сильно хочешь это знать?
Ч: просто ответь мне
К: ты хочешь, чтобы я помогла тебе попрощаться с родными?
Ч: Это угроза?
К: Наблюдение
Ч: Так где же все-таки бегемот?
К: он на гавайях, но радж управляет отсюда
Ч: Кто такой радж?
К: не встречалась с ним?
Ч: Нет, никогда
К: жили-были муж с женой, только муж каждую ночь исчезал.

Я попробовал сделать android-приложение которое общается с сервером, на котором расположен бот. Приложение сырое, находится в стадии тестирования, чтобы его установить надо вступить в группу бета-тестировщиков:
plus.google.com/u/0/communities/103302070341792486151

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

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

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

Источник

Робот-собеседник на основе нейронной сети

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

Так как тема общения с роботом довольно обширна, диалог в целом я не оцениваю (привет товарищу Тьюрингу), рассматривается лишь адекватность ответа «собеседника» на реплику человека.

Далее будем называть вопросом предложение, поступающее на вход ИНС, и ответом предложение, полученное на её выходе.

Архитектура 1. Двухслойная нейронная сеть прямого распространения с одним скрытым слоем

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

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

Категория 1Категория 2Категория 3Категория 4
1
2
3
4
5
6
7
ты
твой
тебя
твои
тебе
тобой
я
хорошо
прекрасно
замечательно
превосходно
хороший
хорошим
хорошие
плохо
ужасно
отвратительно
плохой
плохие
привет
здравствуй
приветствую
приветик
здорова

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

Каждое предложение (вопрос и ответ) может состоять максимум из десяти слов. Таким образом получается сеть с 20 входами и 20 выходами.

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

нейросеть с которой можно поговорить

где m — число входов, n — число выходов, N — число примеров.

Число связей в сети с одним скрытым слоем, состоящим из H нейронов

нейросеть с которой можно поговорить

откуда требуемое число скрытых нейронов

нейросеть с которой можно поговорить

Для нейросеть с которой можно поговорить, нейросеть с которой можно поговоритьполучается соответствие

нейросеть с которой можно поговорить

В результате получаем зависимость числа скрытых нейронов от количества примеров:

нейросеть с которой можно поговорить

Структура обучаемой сети представлена на рисунке 1.

нейросеть с которой можно поговорить

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

Большего и не потребовалось…

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

нейросеть с которой можно поговорить

Рисунок 2. Ошибка НС при обучении на 32 примерах

Пример диалога (все вопросы из обучающей выборки):

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

Архитектура 2. Двухслойная нейронная сеть прямого распространения

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

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

Архитектура 3. Двухслойная нейронная сеть прямого распространения
с одним скрытым слоем и word2vec-кодировка

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

На вход нейронной сети подаётся шесть слов (вектор длины 300) и предлагается получить ответ, также состоящий из шести слов. При обратном кодировании вектор предложения разделяется на шесть векторов слов, для каждого из которых в словаре ищется максимально возможное соответствие по косинусу угла между векторами нейросеть с которой можно поговоритьи нейросеть с которой можно поговорить:

нейросеть с которой можно поговорить

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

МНЕ МОЙ МЕНЯ Я МОЁ МОИХ
ТЫ ТЕБЯ ТЕБЕ ТВОИ ТВОЙ ТВОЁ ТОБОЙ
НЕ НЕТ НА У С И ДА ДО О ЧЁМ А ТОЖЕ ДАЖЕ ТОЛЬКО ЭТО
КТО ЧТО ТАКОЙ
РОДИЛСЯ РОЖДЕНИЯ
РОБОТ РОБОТАМ РОБОТЫ РОБОТОВ РОБОТАМИ

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

Однако вместе с этим, из-за большой близости синонимов в ответе (беседа=беседую=беседовал=…, я=меня=моё=мне=…) они чаще всего путаются при незначительной переформулировке вопроса («Как ты учишься?» Вместо «Как ты учишься у человека?»).

Злоключение

Как видите, при попытке использовать ИНС для общения с человеком, у меня получилось «две блондинки»: одна не может запомнить больше 15 предложений, а вторая много знает, но ничего не понимает.

Судя по описаниям как на Хабрахабре, так и на других сайтах, с такой проблемой сталкиваются не все. Поэтому возникает вопрос: где собака зарыта? Какой подход нужно использовать для получения ИНС, способной запоминать и понимать хотя бы 100 – 200 фраз?

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

Источник

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

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