Введение в сверточные нейронные сети

Введениевсверточныенейронныесети

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

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

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

Во-первых, давайте освежим наши знания о том, как работают нейронные сети в целом.

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

An image with connected nodes

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

Feed forward networks

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

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

Weights in neural networks

Обычно узел работает с несколькими входящими значениями. Затем он суммирует все вместе.

Unit step function

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

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

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

В чем проблема с простыми NN?

Обычные искусственные нейронные сети плохо масштабируются. Например, в CIFAR, наборе данных, который обычно используется для обучения моделей компьютерного зрения, изображения имеют только размер 41Икс39 px и имеет 3 цветовых канала. Это означает, что один полностью связанный нейрон в первом скрытом слое этой нейронной сети будет иметь 41 39 3 = 69808 веса. Это все еще управляемо. Но теперь представьте себе более крупное изображение, например 315Икс315 х3. Было бы 412, 03 веса (обучение которых требует огромных вычислительных мощностей)!

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

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

Как работает ли CNN?

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

Что такое свертка?

Свертка – это математическая операция, которая позволяет объединить два набора информации. В случае CNN свертка применяется к входным данным для фильтрации информации и создания карты характеристик .

filter

Этот фильтр также называется ядром или детектором функций, и его размеры могут быть, например, 3×3. Чтобы выполнить свертку, ядро ​​просматривает входное изображение, выполняя матричное умножение элемент за элементом. Результат для каждого воспринимающего поля (область, в которой происходит свертка) записывается в карту признаков.

feature map

Мы продолжаем перемещать фильтр, пока не будет завершена карта объектов.

Отступ и шаг

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

Leave a comment

Your email address will not be published. Required fields are marked *

2 × 2 =