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

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

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

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

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

Давайте рассмотрим здание в правом нижнем углу этого изображения. Как обученный телеканал CNN может узнать и распознать, что это изображение здания, а не некоторые другие элементы, изображенные на фотографии, например человек или даже те облака в небе?

Что ж, на этапе обучения CNN будут получать в качестве входных данных множество изображений зданий. Тогда CNN автоматически обнаружат, что лучшими примитивными элементами для здания были бы такие вещи, как горизонтальные и вертикальные линии. Как и нейроны, срабатывающие в зрительной коре головного мозга человека, первый слой CNN реагирует на получение изображения с горизонтальными или вертикальными линиями. Как только эти более простые элементы, такие как линии, объединены, CNN учатся формировать более высокие абстрактные компоненты, такие как окна здания и внешняя форма здания. Затем он может использовать эти основные части, чтобы сформировать законченный объект и узнать, как, по сути, выглядит все здание. Позже, если они увидят изображение здания, которое они не видели раньше, CNN могут принять решение, относится ли новое входное изображение к зданию, на основе постоянства различных характеристик, которые оно хранит. Это тот же процесс для изучения и обнаружения других объектов, таких как лица, животные, автомобили и т. Д. Итак, как вы можете видеть, CNN - это набор уровней, каждый из которых отвечает за обнаружение набора наборов функций, и эти функции будут более абстрактными по мере дальнейшего изучения следующего уровня. Итак, на данный момент у вас должно быть базовое понимание принципов, лежащих в основе сверточной нейронной сети, и того, как CNN могут использоваться в приложении. Спасибо за прочтение.