Вы когда-нибудь задумывались, как Netflix выбирает, какие фильмы предлагать, как Siri может реагировать на ваши команды или как автономные транспортные средства могут перемещаться по дорогам? Что ж, все благодаря области исследований, известной как Искусственный интеллект, или сокращенно ИИ.

Но что именно представляет собой область искусственного интеллекта и с чем она связана?

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

Довольно просто, правда?

Но ИИ - это обобщающий термин для множества более конкретных подкатегорий или «ветвей», а также многих проявлений.

Давайте посмотрим на наиболее распространенную ветвь искусственного интеллекта: Машинное обучение.

Машинное обучение

Машинное обучение использует данные для ответа на вопросы.

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

1. Обучение без учителя

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

Примером этого является кластерный анализ. Визуально это похоже на график справа. Введенные точки данных были разделены на 3 кластера на основе выбранных сходств машины. Этот алгоритм известен как К-средние.

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

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

2. Обучение с учителем

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

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

Два полезных примера обучения с учителем - это классификация изображений и регрессия.

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

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

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

3. Обучение с подкреплением.

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

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

Но как во все это входит глубокое обучение?

Глубокое обучение

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

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

Используемые нейронные сети состоят из трех слоев: входного, скрытого и выходного.

  1. Входной уровень - это просто то место, где исходные данные вводятся в систему.
  2. Скрытый слой расположен посередине входного и выходного уровней, и именно там на самом деле происходит «глубокое обучение». Он работает, выполняя обучаемые вычисления на взвешенных входах, чтобы получить чистый вход, который затем применяется с нелинейной функцией активации для получения окончательного результата.
  3. Выходной уровень - это то, что дает результаты для заданных входных данных.

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

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

Генеративные состязательные сети (GAN)

Цель GAN - создать новые образцы.

В GAN есть 2 набора нейронных сетей: генератор и дискриминатор.

GAN сначала получает данные обучающего набора - как лица на рисунке выше. Затем генератор пытается сгенерировать поддельные выборки из случайного шума, которые соответствуют данным обучающего набора. Дискриминатор попытается определить, является ли сгенерированная выборка реальной или фальшивой, выводя вероятность того, что выборка является реальной (0–1). Генератор будет постепенно улучшать качество поддельных образцов. Однако в то же время дискриминатор также улучшит обнаружение поддельных образцов. Они оба будут улучшаться до тех пор, пока сгенерированные выборки не станут почти идентичными выборкам из исходных данных обучающего набора.

Спасибо, что нашли время прочитать мою статью об ИИ. Надеюсь, вам понравилось, и вы узнали что-то новое! Если вы хотите провести собственное исследование, я бы рекомендовал проверить следующие сайты (которые я также использовал в качестве источников):