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

Нейронные сети (NN) наделили продукты и услуги машинного обучения сверхспособностями, которые выглядят так, как будто они взяты из научно-фантастического фильма, вам не кажется?

Это жизненно важный компонент машинного обучения, который до сих пор используется большинством современных архитектур компьютерного зрения, которые выигрывают соревнования, такие как ImageNet Challenge, известные как ImageNet Large Scale Visual Recognition Challenge (ILSVR for кратко) и многие другие.

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

ImageNet - это база данных изображений, состоящая из 14 миллионов изображений, и одна только NN не может извлекать уроки из такого огромного количества данных, особенно потому, что изображения не являются 2D (ширина x высота), как мы воспринимаем и видим в наших гаджетах. 3-е измерение, в котором расположены цветовые каналы, а именно красный, зеленый и синий (RGB), которые представляют собой матрицы, в основном матрицы значений, которые варьируются от 0 до 255 и при наложении представляют собой цветное изображение (ширина x высота x каналы). Бывают случаи, когда у нас есть 1 канал, который представляет собой черно-белое изображение.

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

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

Когда мы говорим о тензорах, мы обычно говорим о концепции, что матрица с N ≥ 3 измерениями считается тензором.

Примечание. С этого момента я предполагаю, что вы читали мою предыдущую статью, в противном случае, пожалуйста, прочтите ее.



Выходя за рамки нейронных сетей

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

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

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

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

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

Потерпи меня, все прояснится !!!

Как видите, тензор синего цвета - это наше изображение, а тензор зеленого цвета - фильтр.

Благодаря мощности CNN мы можем извлекать все особенности из любого изображения и передавать их в NN, чтобы классифицировать его, это секретный соус, который исследователи ИИ используют уже много лет и по-настоящему прославились только после 2012 года, когда AlexNet выиграл ILSVR 2012 Challenge.

Внутри такой архитектуры, как AlexNet, у нас есть блоки свертки, блок объединения, и в конце мы берем тензор фильтра и превращаем его в вектор размера (features, 1), откуда он затем передается в нашу полностью подключенную нейронную сеть для классификации.

Блок объединения - это способ дальнейшего уменьшения размера объектов (изображения) без потери большого количества информации. Максимальный пул извлекает максимальное значение для каждого канала. Он концептуально похож на Свертка, за исключением того, что вместо преобразования групп матриц по всем каналам с помощью выученного линейного преобразования (сверточное ядро ​​) они: повторное преобразование с использованием максимальной тензорной операции на каждом канале.

CNN очень мощны, они обеспечивают сверхчеловеческую точность алгоритмов искусственного интеллекта, катапультируя эту отрасль в одну из трех самых популярных технологий года в течение многих лет подряд до сегодняшнего дня - не только потому, что она также создала множество интерес инвесторов и предпринимателей к экспериментированию с бизнесом и инвестициями, который увеличил долю рынка области искусственного интеллекта и теперь, как ожидается, вырастет с 21,46 млрд долларов США в 2018 году до 190,61 млрд долларов США к 2025 году, согласно MarketsAndMarkets веб-сайт .

Я выпущу код для этой статьи через несколько дней и обновлю эту статью.

Есть новые и лучшие техники, о которых я расскажу в следующих статьях.

3 основных вывода:

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

ВЫЗОВ

Ваша задача на неделю - реализовать CNN с использованием библиотеки глубокого обучения Keras и использовать ее в наборе данных MNIST, а также написать мне в Твиттере свой профиль GitHub https://twitter.com/CanumaGdt

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

Следите за мной в твиттере на странице Prince Canuma, чтобы всегда быть в курсе событий в поле AI .

Если вам это нравится и вы относитесь к нему, пожалуйста, подарите мне аплодисменты 👏👏 👏 (+50) и поделитесь этим со своими друзьями.