Новая технология, о которой гудит СМИ

Машинное обучение. Это то, что показывает вам ваши рекомендации TikTok, что позволяет Google Assistant отвечать на ваши запросы, эта страшная технология, которая когда-нибудь захватит мир. Но что на самом деле под капотом? Давайте погрузимся и посмотрим 🧐

Основы

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

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

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

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

Вот что произойдет в процессе обучения набора данных MNIST:

  1. Все изображения рукописных цифр загружаются в модель.
  2. Последовательность пикселей в каждом изображении умножается на набор весов. Затем продукт подается на следующий слой.
  3. Этот процесс продолжается слой за слоем, пока не будет достигнут выходной слой.
  4. Еще одна функция, в данном случае функция softmax, применяется к набору значений в этом выходном слое…
  5. Прогноз (метка классификации цифры) вычисляется и сравнивается с меткой истинности, которая представляет собой метку, содержащуюся в исходном наборе данных, которая указывает, к какому классу на самом деле относится изображение.

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

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

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

Итак, вот ваше резюме:

  1. Ввод данных в модель
  2. Умножьте на набор весов, повторите!
  3. Применить функцию softmax к выходным данным
  4. Вывод softmax используется для прогнозирования метки класса
  5. Используйте значение потерь и оптимизатор, чтобы вернуться и исправить веса, вызывающие проблемы (обратное распространение)

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

Основные типы нейронных сетей и их использование

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

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

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

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

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

Краткое содержание

  1. Проще говоря, алгоритм ИИ — это очень большая математическая задача.
  2. Входные данные, такие как изображения или наборы данных, умножаются на набор весов, которые оптимально настраиваются в процессе обучения для наилучшего выполнения поставленной задачи.
  3. После прохождения этих «слоев» умножения весов достигается выходной слой.
  4. К выходному слою применяется функция для достижения окончательного прогноза или классификации, которые можно использовать для принятия реальных решений.
  5. Существует множество различных типов нейронных сетей, каждая из которых используется для решения своих уникальных задач (распознавание изображений, предсказание на основе данных, изучение новых навыков и т. д.).

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