Произошел поразительный рост возможностей нейронных сетей, и следующим шагом будет объединение видения с языком для создания сети, которая может описывать то, что она видит.
На данный момент нейронные сети, как правило, используются для решения задач с одним фокусом. Например, сверточные нейронные сети кажутся хорошими для идентификации объектов на фотографиях. Кажется, что более сложные рекуррентные нейронные сети хороши для языкового анализа. Рано или поздно уровень техники достигнет точки, когда нейронные сети будут объединены в системы, решающие сложные задачи.
Похоже, что это происходит быстрее, чем вы могли ожидать, поскольку новость заключается в том, что команда Google по искусственному интеллекту Ориол Виньялс, Александр Тошев, Сами Бенжио и Думитру Эрхан прикрепили сверточную нейронную сеть (CNN) к передней части повторяющейся нейронной сети (RNN). ) для создания комбинированной сети, которая может описать то, на что она смотрит.
В сообщении в блоге они описывают, как возникла эта идея:
«Эта идея возникла из недавних достижений в области машинного перевода между языками, где рекуррентная нейронная сеть (RNN) преобразует, скажем, французское предложение в векторное представление, а вторая RNN использует это векторное представление для генерации целевого предложения на немецком языке.
А что, если мы заменим эту первую RNN и ее входные слова глубокой сверточной нейронной сетью (CNN), обученной классифицировать объекты на изображениях? »
Можно сказать, что система предназначена для перевода изображений в слова, а не между языками.
Обычно последний уровень CNN принимает решение о том, на что смотрит сеть, на основе характеристик, обнаруженных нижними уровнями. В этой архитектуре уровень принятия решений был удален, а функции передаются прямо в RNN, которая может создавать фразы.
Вся система была обучена путем показа изображений с соответствующими описательными подписями. CNN изучила особенности изображения, RNN выучила фразы, которые соответствовали характеристикам.
Ключевым фактором успеха любого приложения нейронной сети является то, насколько хорошо обобщаются результаты. То есть что говорит сеть, когда ей показывают фотографии, которых не показывали во время обучения? В этом случае, похоже, это работает хорошо.На тесте установлена стандартная система оценок, которая дает оценку 69 людям, выполняющим задачу, и 25 — предыдущим попыткам ИИ, новая система получает 59 баллов.
Например, всех следующих фотографий не было в обучающей выборке, и созданные фразы кажутся подходящими:
Если вы все еще думаете, что это тривиальное сопоставление фраз с входными изображениями, стоит отметить, что примерно в 50% случаев система также генерировала фразы, которых не было в исходном обучающем наборе, то есть создавала совершенно новые описания. Например: фраза:
Мужчина бросает фрисби в парке
был в обучающем наборе, но сеть также сгенерировала:
Мужчина держит в руке фрисби. Мужчина стоит в траве с фрисби.
в ответ на соответствующие фото.
Вы также можете многое узнать о том, как работает нейронная сеть, из ее ошибок:
Даже если это совершенно неверно, вы можете понять, как могла возникнуть ошибка.
Очевидно, что перевод изображений в слова имеет потенциал для использования во многих приложениях, но для него все еще требуется гораздо больший обучающий набор, прежде чем его можно будет опубликовать. Также очевидно, что интеграция зрения с языком является важной частью человеческого интеллекта. Если вы можете преобразовать изображение в язык, вы можете использовать этот язык для символических рассуждений о вещах.