Обучающие капсулы

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

Интерпретации и контекст

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

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

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

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

Если векторы контекста совпадают, то интерпретации, найденные среди различных модулей, объединяются в концепцию более высокого уровня. Образцы мохнатого коричневого и оранжевого с ямочками образуют «мертвую лужайку» и «тыкву». Вместе слова «тыква» и «мертвая лужайка» образуют концепцию «Хэллоуина», позволяя нейронной сети, обученной описанию сцен, принимать решение об описании: «группа мастеров трюка или обработки проходит между домами». Высшие концепции Хеллоуин и трюк или лечение - это интерпретации, производные от интерпретации нижнего уровня как "тыква". Эти концепции более высокого уровня возникают только в том случае, если интерпретация «тыквы» совпадает с контекстом из других областей изображения. Метод сравнения этих контекстов не такой простой, как векторы «ориентации» Хинтона - их необходимо изучить.

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

Обратное распространение через выбор

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

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

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