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

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

Чем сверточные нейронные сети отличаются от искусственных нейронных сетей?

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

Архитектура CNN

Слой свертки является основным строительным блоком сверточной нейронной сети. Слой свертки (CONV) состоит из набора независимых фильтров. Каждый фильтр независимо сворачивается с изображением. Все эти фильтры инициализируются случайным образом и становятся параметрами, которые впоследствии будут изучены сетью. CNN демонстрируют обмен параметрами и локальное подключение. Совместное использование параметров — это совместное использование весов всеми нейронами на определенной карте признаков. Локальная связность — это концепция каждого нейрона, связанного только с подмножеством входного изображения. Уровень пула (POOL) постепенно уменьшает пространственный размер представления, чтобы уменьшить количество параметров и вычислений в сети. FC — это полностью связанный слой нейронов в конце CNN.

На вышеупомянутом изображении система способна убедительно предсказать объект в кадре.

CNN в играх

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

С точки зрения производительности CNN превосходит NN при решении многих обычных задач, что делает его оптимальной техникой для реализации!