Новый подход OpenAI для обучения имитации одним выстрелом, взгляд в будущее ИИ

Изучение имитации одним выстрелом Ян Дуан, Марцин Андрыхович, Брэдли С. Стади, Джонатан Хо, Йонас Шнайдер, Илья Суцкевер, Питер Аббил, Войцех Заремба

16 мая исследователи OpenAI поделились видео об одном из своих проектов вместе с двумя важными документами, в которых рассматриваются решения трех ключевых узких мест текущей разработки ИИ: мета-обучение, однократное обучение и автоматическое генерирование данных. В моем предыдущем посте я пообещал статью, посвященную увлекательной проблеме однократного обучения. Вы можете начать с просмотра видео, которое они выпустили, которое объясняет их удивительную работу:

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

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

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

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

Задачи

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

Достижение частиц

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

Рисунок 2. Робот представляет собой точечную массу, контролируемую с помощью двухмерной силы. Семейство задач - достичь целевой ориентир. Идентичность ориентира отличается от задачи к задаче, и модель должна выяснить, какую цель преследовать, основываясь на демонстрации. (слева) иллюстрация робота; (в центре) задача - добраться до оранжевого прямоугольника, (справа) - до зеленого треугольника.

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

Обученная политика оценивается по новым сценариям и обусловлена ​​новыми демонстрационными траекториями, невидимыми во время обучения.

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

Блокировка укладки

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

Единовременная политика. Единая политика обучена решать множество задач. Верхняя задача: {abc, def}, Нижняя задача: {ab, cd, ef}

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

Обучение с использованием рандомизации домена

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

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

Учебный комплект для достижения частиц

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

Учебный комплект для укладки блоков

Конкретно, мы собрали 140 учебных заданий и 43 тестовых задания, каждое с разным желаемым расположением блоков. Количество блоков в каждой задаче может варьироваться от 2 до 10. Мы собираем 1000 траекторий для каждой задачи для обучения и поддерживаем отдельный набор траекторий и исходных конфигураций, которые будут использоваться для оценки. Подобно задаче достижения частиц, мы вводим шум в процесс сбора траекторий. Траектории собраны с использованием жестко заданной политики.

Успешные демонстрации собираются с использованием жесткой политики

Обратите внимание, что во время обучения правильные траектории генерируются процедурной «жестко закодированной» политикой, которая, как я считаю, опирается на классические методы идентификации и управления системой. Таким образом, во время обучения и тестирования агент имеет два входа: a) демонстрация в конфигурации A и b) начальная конфигурация B. Только во время обучения алгоритм обучения также имеет доступ к идеальному ответу: траектории, начинающейся с конфигурации B, которая отвечает на проблему и с которой ответ агента будет сравниваться во время обучения - делая это контролируемой проблемой обучения.

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

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

Алгоритм оптимизации и функция потерь

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

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

Во время обучения сетей политик (всей сети, способной на основе входных данных решить, какое действие предпринять) они сначала обрабатывают успешную демонстрационную траекторию. В этой части они будут сравнивать два подхода: классическое поведенческое клонирование (не совсем уверенное в используемой ими реализации) и алгоритмы DAGGER. Это тогда позволит итеративную минимизацию функции потерь либо через l2, либо через кросс-энтропийную потерю в зависимости от того, являются ли действия непрерывными или дискретными (на основе распределения событий в последовательности). Во всех экспериментах они использовали алгоритм Adamax для выполнения оптимизации со скоростью обучения 0,001.

Размер шага начинается с малого и уменьшается в геометрической прогрессии.

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

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

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

Цели

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

Это должно быть легко применить к экземплярам задач, которые имеют различное количество блоков.
Естественно, оно должно обобщать различные варианты одной и той же задачи. Например, политика должна хорошо работать для задачи {dcba}, даже если она обучена только для задачи {abcd}.
Он должен вместить демонстрации переменной длины.

У них было несколько вопросов, на которые они хотели ответить.

Как обучение с поведенческим клонированием сравнивается с DAGGER, учитывая, что достаточное количество данных может быть собрано в автономном режиме?
Как согласование на всей демонстрации сравнивается с подготовкой на конечной требуемой конфигурации, даже если в конечной конфигурации достаточно информации для полного определения задачи?
Как согласование на всей демонстрации сравнивается с подготовкой на «снимке» траектории, которая представляет собой небольшое подмножество кадров, которые являются наиболее информативными
Может ли наша структура успешно обобщить на типы задач, которые она никогда не видела во время обучения? (++)
Каковы текущие ограничения метода?

Архитектура

Достижение частиц

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

Здесь они используют эти три конкретных условия:

  1. Обычный LSTM: учится встраивать траекторию и текущее состояние, чтобы подать ее на многослойный персептрон, который будет производить двигательное действие
  2. LSTM с вниманием: произвести взвешенное представление над ориентирами траектории
  3. Конечное состояние с вниманием: используйте при обучении только конечное состояние, чтобы произвести взвешивание по ориентирам, аналогично предыдущей архитектуре

Блокировка укладки

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

Модули внимания

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

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

Сеть временного внимания, с c: вектор контекста, m: вектор памяти, q: вектор запроса, v: вес изученного вектора. Выход имеет тот же размер, что и вектор памяти. Это линейная комбинация этих векторов, которая позволяет некоторому вектору памяти оказывать большее влияние на вывод, основанный на векторах контекста и запроса.Та же самая идея здесь, конкуренция между пространственной информацией динамически поддерживается системой внимания.

Политика сети

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

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

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

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

Их описание функции сетей является, на мой взгляд, наиболее важной частью статьи:

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

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

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

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

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

Полученные результаты

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

Достижение частиц

Блок укладки

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

Убедительное доказательство способности системы обобщать тождество куба

обсуждение

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

Задачи и конфигурации: казалось бы, произвольное определение

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

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

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

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

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

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

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

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

Там нет обучения без неизменности

Трансферное обучение является, пожалуй, самой увлекательной концепцией познания, будь то in silico или in vivo, это очень горячая тема как для исследователей искусственного интеллекта, так и для нейробиологов, и она является темой моей кандидатской диссертации. Обратите внимание, что тесно связанные понятия были изучены во многих областях до машинного обучения, и это абстрактное и всегда частично определенное понятие имеет много названий. Философы, антропологи и социологи могут называть его «постструктурализмом» (Клод Леви-Стросс, Мишель Фуко), лингвист расскажет о структурах «Синтагма» и «Вложенное дерево» (Ноам Хомский), математики, вероятно, подумают о гомеоморфизме или инвариантах и ​​образовании. исследователи или нейробиологи могут называть это структурным обучением. Вы также можете увидеть связанную концепцию в области машинного обучения, такую ​​как репрезентативное обучение и метаобучение, которое в зависимости от автора может относиться к трансферному обучению или парадигме обучения, используемой для выполнения трансферного обучения. Когда речь идет о глубоких нейронных сетях, эти различия размыты, так как по сути нейронная сеть учится встраивать определенную проблему (обучение репрезентации), изменяя свою структуру (метаобучение), обычно в шумной среде, которая подразумевает форму трансферного обучения.

Исследователи искусственного интеллекта и Cognitive Scientist часто имеют очень конкретное определение трансферного обучения, это процесс, который позволяет системе использовать знания, полученные в определенной задаче, для выполнения другой задачи, разделяющей общую композиционную структуру (как описано в статье). Когнитивная наука имеет понятие о ближнем и дальнем переносе, в зависимости от того, как эти две задачи кажутся разными. Но с более абстрактной точки зрения, в шумной и сложной среде, все обучение является формой трансферного обучения, а разница между очень близким и очень дальним переносом - это только вопрос общей информации - опять-таки, вопрос масштаба, а не природы.

В контролируемой среде заранее предпринимаются усилия для создания жестко закодированной дискретизации реальности, но на самом деле эта дискретизация воспроизводит процедурно то, что делает трансферное обучение, она объединяет бесконечный набор состояний, обнаруженных в реальности, в рамках общей ограждающей структуры. В сущности, «Transfer Learning» относится напрямую или в качестве расширения к процессу, посредством которого обучающие агенты используют инварианты для построения моделей мира. Это процесс, который использует сходства, повторения и вариации одного и того же для формирования все более абстрактного и составного представления, которое будет структурировать ансамбли по всему диапазону дисперсии входными данными. В общем смысле это позволяет создавать основные операции, посредством которых мы манипулируем информационными группами, так же, как в математике, это позволяет объединять и пересекать. Это позволяет идентифицировать, это объясняет нашу способность классифицировать объекты. Джош Тенембаум приводит пример, который действительно говорил мне: представьте, что вы учите двухлетнего ребенка впервые узнавать лошадь, вы показываете ему пару изображений разных лошадей, а затем вы показываете ему изображение другой лошади и картина дома и попросите его сказать вам, какой из них лошадь. Ребенок справится с этой задачей довольно легко, но компьютер все равно не справляется с таким небольшим количеством входных данных (однократное обучение).

Как ребенок это сделал?

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

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

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

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

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

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

Нервные системы являются адаптивными, они не нуждаются в эволюции и медленных генетических мутациях для изменения поведения соответствующими способами. Простая нервная система, подобная той, что есть у C. Elegans, служит врожденным внутренним координатором и внешним сенсором: ощущать пищу и двигаться к ней, спасаться от боли, размножаться. Эти простые системы изначально были жесткими и выполняли чрезвычайную аппроксимацию нашего очень шумного мира, чтобы дискретизировать его в небольшом наборе возможных состояний (еда слева, жара внизу и т. Д.). Наши моторные и сенсорные способности развивались рука об руку с нашей предсказательной способностью нервной системы. Когда наши датчики стали более точными, нервная система постепенно стала способна изменять свою структуру, чтобы хранить информацию и учиться на собственном опыте. Первоначально он смог научиться распознавать определенные категории входных сигналов, такие как типы запахов или световые паттерны, а также научился методом проб и ошибок управлять своей все более сложной двигательной системой. Обратите внимание, что мир настолько сложен, что наш мозг естественным образом эволюционировал в сторону обучающей парадигмы, а не врожденного процедурного подхода. В вычислительном отношении это имеет смысл, простая игра в Го имеет пространство состояний, намного большее (2,10 ¹⁷⁰), чем число атомов во вселенной (10 ⁸⁰), и поскольку организмы становятся более сложными, пытаясь жестко закодировать приближения всех возможных состояния, в которых это может быть, быстро становятся неразрешимыми из-за комбинаторного взрыва.

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

Композиционные структуры трудно увидеть, но везде

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

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

Хотя структура на самом деле находится на более низком уровне, чем укладка блоков, и недоступна для экспериментальных манипуляций, задача действительно состоит из общей структуры. Приближая мир к плоскости, одна композиционная структура состоит в том, что идентичность куба (цвет) сохраняется с переводом и происходит от блока A - или от случайной начальной позиции - в позиции (Xa1, Ya1) до блока B в позиции (Xb1, Yb2 ) является частью той же композиционной структуры более высокого порядка, чем переход от блока A в позиции (Xa2, Ya2) к блоку B в позиции (Xb2, Yb2).

Интерфейсы между сетями

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

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

Случаи сбоев намекают на возможные роли, которые могут иметь новые модули

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

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

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

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

Заключение

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

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