Возвращайте до 18% с пополнений рекламы
  • Все популярные рекламные сети в одном окне
  • Рекламные инструменты — бесплатно
  • Доступ к конструктору лендингов и WebApp-приложений
  • Закрывающие документы точно в срок
ring svg
  1. Главная >
  2. Блог >
  3. Погружаясь в нейронные сети

Погружаясь в нейронные сети

Погружаясь в нейронные сети

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

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

Современные нейросети: инсепшионизм и интерпретации

Сотрудники исследовательского отдела компании Google «тренируют» нейросеть, демонстрируя ей миллионы обучающих примеров и настраивая ее параметры до тех пор, пока классификация их не устроит. Как правило, сеть состоит из 10 — 30 слоев нейронов. Каждое изображение поступает в исходный слой, который взаимодействует с оставшимися слоями, вплоть до финального. Итоговый «ответ» сети мы получаем из последнего слоя.

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

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

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

нейросеть

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

нейросеть

Почему это важно? По словам представителей Google, сети демонстрируется множество примеров, чтобы она научилась отличать суть вещей (то есть, вилка состоит из ручки и 2 — 4 зубцов) от бесполезной информации (вилка может обладать любой формой, цветом или размерами). Но как понять, что система действительно освоила наиболее важные особенности объекта? При помощи абстрактных рисунков.

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

гантели

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

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

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

изображения

изображения

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

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

птица

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

результаты

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

inseptionism

Эта техника дает представление об уровне абстракции, которого достиг каждый слой нейронов в понимании образов. Сотрудники Google назвали данную методику «инсепшионизмом» (inseptionism) в соответствии с архитектурой, которая используется нейронной сетью.

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

inseptionism

Вместо заключения

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

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

По материалам: googleresearch.blogspot.co.uk, Image source: Birth Into Being 

blog comments powered by Disqus
Возвращайте до 18% с пополнений рекламы
  • Все популярные рекламные сети в одном окне
  • Рекламные инструменты — бесплатно
  • Доступ к конструктору лендингов и WebApp-приложений
  • Закрывающие документы точно в срок
ring svg
copyright © 2011–2024 Все права защищены
Запрещено любое копирование материалов ресурса без письменного согласия владельца — ООО "Центр рекламных бюджетов". ИНН:5902052888, КПП:590201001, ОГРН: 1195958009730, Пермь, ул. Окулова, д. 75 к. 8 офис 501Б

ООО «Центр рекламных бюджетов» — IT-компания с многолетним опытом работы, разрабатывающая инновационные решения для управления процессом лидогенерации (пост-клик маркетинг). Разработанное нами технологическое программное решение LPGENERATOR позволяет создавать целевые страницы в визуальном редакторе и управлять заявками (лидами) в CRM-системе в целях проведения эффективных, высококонверсионных рекламных кампаний