«Машинное обучение - это исследование, которое дает компьютеру возможность учиться без явного программирования». (Артур Сэмюэл 1959)

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

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

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

Но что такое машинное обучение и какие изменения принесет машинное обучение в будущем?

Что такое машинное обучение?

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

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

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

Типы машинного обучения

Существует четыре типа машинного обучения:

  • Контролируемое обучение
  • Неконтролируемое обучение
  • Полуавтоматическое обучение
  • Обучение с подкреплением

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

При обучении с учителем в систему для обучения предоставляется огромное количество помеченных данных, например, изображения рукописных цифр, снабженные аннотациями для обозначения каждого отдельного числа. На основе заданных данных система распознает кластеры пикселей и формы, связанные с каждым числом, может распознавать рукописные числа, способные четко различать 0 и 8 или 5 и 2.

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

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

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

Например, у вас есть набор данных, относящийся к посетителям блога. Вы должны определить разные категории посетителей и попытаться найти похожих посетителей. Когда вы запустите алгоритм для набора данных, система попытается связать посетителей по их вкусу. И в зависимости от вкусов алгоритм будет формировать кластеры связанных посетителей.

Полуавтоматическое обучение

Некоторые алгоритмы могут работать с частично размеченными данными и частично немаркированными данными. Это называется полууправляемым обучением. Метод полууправления заключается в использовании небольшого количества помеченных данных и огромного количества немаркированных данных для обучения системы. Генеративные состязательные сети (GAN) работают с техникой полууправляемого обучения. GAN может создавать новые изображения из нескольких существующих изображений.

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

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

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

Программа DeepMind AlphaGO - лучший пример обучения с подкреплением. AlphaGO попала в заголовки газет в марте 2016 года, победив чемпиона мира Ли Седола. AlphaGO извлекла уроки из политики выигрыша, проанализировав миллионы игр, а затем сама поиграв во многие игры.

Подводя итог, машинное обучение полезно для:

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