Deep Claster - алгоритм глубокой кластеризации изображений |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-10-20 16:00 Кластеризация изображений считается хорошо изученной областью машинного обучения. Однако, на самом деле, до сих пор не было сделано значимых попыток адаптировать этот подход к изучению визуальных особенностей на датасетах высокого разрешения. Создание датасета ImageNet внесло огромный вклад в обучение сверточных нейронных сетей. Однако, датасет ImageNet не такой большой по современным меркам: он содержит всего лишь миллион изображений. Современные задачи машинного обучения требуют создания более крупных и разнообразных датасетов, содержащих миллиарды изображений. Обучение без учителя Можете ли Вы представить количество вручную сделанных меток, необходимых для такого датасета? Очевидно, что их требуется невероятно много. Замена меток необработанными метаданными не решет проблему, так как это приведет к отклонениям в визуальных представлениях с непредсказуемыми последствиями. Хуже недостатка данных только неверно размеченные данные. Истинным решением может стать обучение без учителя с использованием изображений из интернета. Именно этот подход предлагают исследователи из Facebook AI. DeepCluster – это новейший метод кластеризации путем «крупномасштабного обучения» свёрточных нейронных сетей. Авторы данного метода заявляют, что результирующая модель значительно превосходит все современные подходы к кластеризации по всем параметрам. Прежде, чем рассмотреть предлагаемый метод, обратимся к более ранним работам в этой области. Ранние работы Каждая из работ по рассматриваемой теме может быть отнесена к одной из категорий:
Deep Claster DeepCluster – это метод кластеризации, который итеративно группирует особенности с помощью стандартного алгоритма кластеризации (метод К-средних) и использует последовательные приписывания в качестве контролирующего фактора для обновления весов нейросети. Исследователи используют в работе метод К-средних из-за его простоты, однако, ничто не мешает применять другие методы кластеризации, такие как, например, Power Iteration Clustering (PIC). Такой подход имеет существенное преимущество перед другими самообучающимися нейросетями: он не требует специальных сигналов из output или дополнительной информации об областях изображения. DeepCluster показывает гораздо большую производительность в сравнении с ранее опубликованными методами, что вы увидите позднее. Итак, давайте рассмотрим структуру предлагаемой модели кластеризации детально. Обзор метода Результат случайных (random) сверточных сетей тесно связан с их структурой, который получает предысторию на входном сигнале. Идея DeepCluster — в использовании этого слабого сигнала для усиления разрешающей способности сверточной сети. Как показано на рисунке, метод подразумевает итеративную кластеризацию глубинных признаков и приписывание кластеру псевдо-меток для дальнейшего обучения параметров сети. Такой тип чередующихся действий подвержен тривиальным решениям (trivial solutions), о которых мы кратко поговорим сейчас:
DeepCluster основан на стандартной AlexNet архитектуре с пятью сверточными и тремя полносвязными слоями. Чтобы удалить цвет и увеличить локальную контрастность, исследователи применяют фиксированную линейную трансформацию, основанную на фильтрах Sobel. Модель не выглядит сложной. Давайте проверим её производительность на трансферных задачах и задачах ImageNet классификации. Результаты Ниже представлены предварительные результаты:
Для оценки качества целевого фильтра, исследователи изучают входное изображение, которое максимизирует его функцию активацию. Рисунок внизу показывает визуализации фильтров и топ-9 активированных изображений из подвыборки в 1 миллион картинок из YFCC100M. Более глубокие слои в сети захватывают соответственно более крупные текстурные структуры. Однако похоже, что некоторые фильтры в сверточных слоях лишь немного заменяют уже захваченные в прошлых слоях текстуры. Ниже можно наблюдать результаты последних сверточных сетей. Стоит заметить, в этот раз используется архитектура VGG-16 вместо AlexNet. Как можно видеть, обученные без учителя фильтры могут справляться с весьма сложными структурами. Следующий рисунок показывает для выбранного фильтра первые 9 активированных изображений, которые выглядят семантически связанными. Фильтры в верхнем ряду отражают структуры, высоко коррелированные с целевым классом, тогда как фильтры в нижнем ряду срабатывают на похожие стили. Сравнение Чтобы сравнить DeepCluster с остальными методами, исследователи тренируют линейный классификатор поверх различных замороженных сверточных слоев. Таблица ниже показывает точность классификации различных современных подходов в ImageNet и Places датасетах. В ImageNet DeepCluster превосходит в результатах современные подходы с conv2 до conv5 слоев на 1-6%. Плохой результат на первом слое связан, возможно, с Собель-фильтрацией, отбрасывающей цвет. Заметим, различие в результате между DeepCluster и AlexNet с учителем возрастает с 4% в conv2-conv3 слоях до 12.3% в conv5. Этот факт показывает, где AlexNet хранит большую часть информации о классе. Такой же эксперимент на датасете Places показывает, что DeepCluster даёт признаки на conv3-conv4, сравнимые с теми, которые получены при тренировке с ImageNet метками. Это означает, что в случаях, когда целевая задача достаточно далека от покрываемой ImageNet области, метки менее важны. Следующая таблица объединяет сравнения DeepCluster с другими подходами по обучению на признаках в трех задачах: классификация, детектирование, семантическая сегментация. Можно видеть, DeepCluster превосходит в качестве все предыдущие методы обучения без учителя на всех трёх задачах. Причем наибольший отрыв достигается в семантической сегментации. Резюме Предложенный командой исследователей из Facebook AI Research метод DeepCluster позволяет достичь результатов, которые существенно превосходят существующие методы при решении каждой стандартной трансферной задачи. Более того, при тестировании на Pascal VOC 2007 для задачи детектирования при хорошей регулировке параметров DeepCluster показывает результат лишь на 1.4% ниже верхней линии обучения с учителем. Этот подход требует подробного описания входящих данных и предметно-ориентированных знаний. Это делает DeepCluster эффективной моделью для обучения глубоким представлениям специальных областей, когда не доступен размеченный датасет.
Источник: neurohive.io Комментарии: |
|