Руководство по глубокому обучению CNN

Опубликовано: 2022-10-14

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

Оглавление

Наши программы искусственного интеллекта и машинного обучения в США

Магистр наук в области машинного обучения и искусственного интеллекта от LJMU и IIITB Программа Executive PG в области машинного обучения и искусственного интеллекта от IIITB
Чтобы изучить все наши курсы, посетите нашу страницу ниже.
Курсы по машинному обучению

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

Получите сертификат по машинному обучению от лучших университетов мира. Заработайте программы Masters, Executive PGP или Advanced Certificate Programs, чтобы ускорить свою карьеру.

Что такое сверточная нейронная сеть?

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

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

Архитектура сверточной нейронной сети

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

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

CNN состоит из двух частей:

Извлечение признаков из скрытых слоев

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

Раздел Классификация

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

Извлечение признаков

Одним из ключевых компонентов CNN является свертка. Математическое объединение двух функций для получения третьей функции называется сверткой. Он объединяет два набора данных. Карта функций создается путем свертки входных данных в случае CNN с использованием фильтра или ядра. Свертка выполняется перемещением фильтра по входу. Каждое местоположение выполняет матричное умножение и суммирует выходные данные на карте объектов.

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

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

Типы сверточной нейронной сети

Сверточный слой:

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

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

Объединенный слой:

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

Объединение среднего и максимального объединения — это два разных типа стратегий объединения.

В отличие от Max-pooling, который просто берет наибольшее значение среди всех значений внутри области объединения, Average-pooling усредняет все значения в пределах области объединения.

Теперь у нас есть матрица с ключевыми элементами изображения после объединения слоев, и эта матрица имеет еще меньшие размеры, что будет очень полезно на следующем этапе.

Полностью подключенный слой:

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

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

Слои нелинейности:

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

Нелинейные операции бывают разных форм, наиболее распространенными из которых являются:

сигмовидная

Математическая формула сигмовидной нелинейности: () = 1/(1+e). Он сносит вещественное число в диапазон от 0 до 1. Градиент сигмоиды становится почти нулевым, когда активация либо в хвосте, что является очень неблагоприятной особенностью сигмоиды. Обратное распространение эффективно убьет градиент, если локальный градиент станет слишком маленьким. Кроме того, предположим, что входной сигнал нейрона исключительно положительный. В этом случае выход сигмоиды будет либо исключительно положительным, либо исключительно отрицательным, что приведет к зигзагообразной динамике обновлений градиента веса.

Тан

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

РеЛУ

Выпрямленная линейная единица (ReLU) в последнее время приобрела большую популярность. Он выполняет вычисление функции ()=max(0,). Другими словами, активация просто существует при нулевых порогах. ReLU ускоряет сходимость в шесть раз и более надежен, чем сигмоид и танх.

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

Популярные блоги о машинном обучении и искусственном интеллекте

Интернет вещей: история, настоящее и будущее Учебное пособие по машинному обучению: Изучите машинное обучение Что такое алгоритм? Просто и легко
Заработная плата инженера-робототехника в Индии: все роли Один день из жизни инженера по машинному обучению: что они делают? Что такое IoT (Интернет вещей)
Перестановка против комбинации: разница между перестановкой и комбинацией 7 основных тенденций в области искусственного интеллекта и машинного обучения Машинное обучение с R: все, что вам нужно знать

Начните свое руководство по глубокому обучению CNN с UpGrad

Запишитесь на степень магистра наук в области машинного обучения и искусственного интеллекта в UpGrad в сотрудничестве с LJMU.

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

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

Что такое алгоритм глубокого обучения CNN?

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

Что отличает CNN от глубокого обучения?

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

Почему CNN лучше полносвязного?

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

CNN используется только для изображений?

Да. Любой 2D и 3D массив данных может быть обработан с помощью CNN.