RCN

Понимание механизма вывода RCN

Адаптация генеративной модели для классификации для взлома CAPTCHA

Если вы посмотрите на отчет Стэнфордского института AI Index за 2019 год, вы заметите, что эффективность моделей в решении известных задач начинает снижаться [1]. По этой причине я считаю, что нам нужно пролить свет на новые идеи, чтобы продвинуть глубокое обучение еще дальше, чем оно было достигнуто. И одна из областей, в которых, как мне кажется, следует активно стремиться к прогрессу, - это компьютерное зрение, потому что, как сказал Фей-Фей Ли, понимание зрения на самом деле означает понимание интеллекта [2].

Новая идея, которую мы исследуем в этой колонке статей, - это Рекурсивные корковые сети (RCN) [3], детище компании Vicarious, которая привлекла внимание инвесторов, таких как Маск и Цукерберг [4]. В этой статье мы поговорим о том, как RCN адаптированы для выполнения классификации, а не генерации.

Эта статья предполагает понимание структуры RCN и того, как они выполняют генерацию, которое вы можете получить, прочитав дополнительный материал к [3] или прочитав мою предыдущую статью.

Обнаружение одиночного объекта

Учитывая изображение с определенным объектом в нем, мы хотим, чтобы RCN сообщал нам, к какому классу принадлежит объект. RCN достигают этого, задавая вопрос: если мы предположим, что входное изображение было фактически сгенерировано RCN, какой канал на самом верхнем уровне является наиболее вероятным каналом, который его сгенерировал? В RCN ответ будет определять не только класс объекта, но и его местонахождение. Чтобы ответить на него, мы могли бы попытаться построить совместную модель распределения вероятностей всех состояний всех случайных величин (каналов), которые есть в RCN, модель, которая вычисляет вероятность каждого определенного полного присвоения состояний всем каналам. . Имея это, мы могли бы обусловить модель входным изображением, найти полное присвоение, которое имеет максимальную вероятность, а затем найти канал в самом верхнем слое, для которого установлено значение «истина».

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

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

Реконструкция объекта

В отличие от ConvNets, RCN могут естественно обрабатывать несколько объектов в сцене, а также реконструировать их. Для реконструкции мы собираемся сделать обратный проход распространения уверенности от канала обнаруженного класса в самом верхнем слое к каналам в самом нижнем слое. На этот раз, однако, сообщения обратного прохода смогут дать нам наиболее вероятное назначение для всех каналов в RCN, глобального приблизительного решения MAP. Если у нас есть это, мы сможем узнать, какие каналы в самом нижнем слое должны быть (state = ‘true’) и, таким образом, построить карту границ, используя их дескрипторы патчей. Это создаст весь объект, даже если его часть будет закрыта.

Обнаружение нескольких объектов

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

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

использованная литература

[1] Р. Перро, Й. Шохам, Э. Бриньолфссон и др., Годовой отчет AI Index за 2019 г. (2019 г.), Институт ИИ, ориентированный на человека - Стэнфордский университет.

[2] М. МакНил, Фей-Фей Ли: Если мы хотим, чтобы машины думали, нам нужно научить их видеть (2015), Wired .

[5] Д. Джордж, У. Лехрах, К. Кански и др., Генеративная модель видения, которая обучается с высокой эффективностью данных и нарушает текстовые CAPTCHA (2017), Science Mag (том 358 - выпуск 6368) .

[4] Дж. Mannes, Vicarious получает еще 50 миллионов долларов на расширение своей исследовательской группы и создание более умных роботов, TechCrunch .