Как стать автором
Обновить

Комментарии 15

НЛО прилетело и опубликовало эту надпись здесь
Предположим, каждый выход описывает один объект (вектор А). Значит, кол-во выходов задаёт максимальное кол-во объектов, которое может найти сеть? (и при этом некоторые будут нулевые)

Совершенно верно.

Можете пояснить — как здесь могут использоваться рекуррентные сети? (Что будет входом для рекуррентной сети?)

Это идея описана здесь Attend, Infer, Repeat: Fast Scene Understanding with Generative Models
Если коротко, подаете на вход картинку и состояние (hidden state — изначально инициализированное нулями), на выходе будет описание и новое состояние. И так до тех пор пока сеть не скажет что это не объект.
НЛО прилетело и опубликовало эту надпись здесь

А почему нет?

Скажите пожалуйста, есть результаты на каких ни будь датасетах? Имеется ли paper в arxiv или где ни будь?
В статье я привел пример реальной работы из Фейсбука: Spatially Invariant Unsupervised Object Detection with Convolutional Neural Networks. Их исследование базируется на VAE.
И к тому же они предоставляют исходники на github.

Идеи про использование infomax для этой задачи у меня уже достаточно давно крутятся в голове, но к сожалению на сегодняшний день не было написано ни одной строчки кода. Мои предыдущие эксперименты были с GAN и просто физически не остается времени. Но в ближайшее время планирую начать неспеша ставить эти эксперименты.
НЛО прилетело и опубликовало эту надпись здесь
Именно эти исходники.
Уточню по философии. Объекты и связи между ними — это отражение наиболее существенных объективно существующих моментов единой материи. При выделении объектов и связей происходит абстрагирование от единства, как несущественного в контексте решаемой задачи.
Я бы ещё добавил, что разбиение на объекты нужно не только чтобы восстановить сцену из объектного описания. Для чего это нужно, для экономии памяти? Объекты и связи между ними должны также помогать прогнозировать будущее меньшими ресурсами. Мозг ведь как работает? Постоянно пытается прогнозировать будущее. Если реальность не соответствует ожиданиям, мозг через систему поощрения удивляется, запоминает этот момент и корректирует связи, чтобы внутренняя модель была ближе к реальности.

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

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

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

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

Я бы ещё добавил, что разбиение на объекты нужно не только чтобы восстановить сцену из объектного описания. Для чего это нужно, для экономии памяти? Объекты и связи между ними должны также помогать прогнозировать будущее меньшими ресурсами.

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

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

Я бы ещё добавил, что разбиение на объекты нужно не только чтобы восстановить сцену из объектного описания. Для чего это нужно, для экономии памяти? Объекты и связи между ними должны также помогать прогнозировать будущее меньшими ресурсами.

Все верно. Только вы сами написали «прогнозировать будущее меньшими ресурсами», а это тоже самое что «экономии памяти». Все равно все сходится на «экономии». Потому что для прогнозирования будущего нам не надо никакого описания — имея достаточно гибкие модели и большой датасет это можно делать на пиксельном уровне. Достаточно построить и обучить модель совместной плотности всех переменных (пикселей изображения или пикселей всех изображений во временном ряду если мы говорим о будущем). Вот только проблема — такую модель построить очень сложно (если вообще возможно), да и датасетов у нас таких нет. Вот для этого и необходимо описание — мы надеемся что распределение описаний будет иметь намного более простую структуру. Т.е мы хотим выиграть в двух моментах: 1) использовать более простые модели, что сразу снижает вычислительную сложность и требования к размеру датасета, 2) уменьшить диспресию монте-карло оценок градиента, что автоматически приводит к более высокому качеству предсказаний и более быстрому обучению.
Если кому-то интересно, я могу немного более подробно рассмотреть вопрос «зачем на нужны описания» в следующих статьях.
Пожалуйста.
Спасибо за интересную статью! Мы недавно опубликовали работу о salient region discovery с подходом, который, кажется, довольно близок к описанному в «Spatially Invariant Unsupervised Object Detection with Convolutional Neural Networks», но я как-то умудрился упустить эту статью из вида.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории