Машинное обучение: руководство по обучению искусственному интеллекту для начинающих.

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

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

Как я объясняю машинное обучение

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

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

Проблема с явным программированием

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

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

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

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

Золотой век машинного обучения

Чтобы помочь компьютеру учиться, необходимы две основные вещи:

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

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

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

Возможно, проще всего будет понять, как работает алгоритм, визуально. Это видео о том, как компьютер учится играть в Super Mario, - отличное введение:

Как сегодня используется машинное обучение?

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

  • Машинное обучение помогает Amazon решить, какие продукты рекомендовать вам, исходя из ваших прошлых покупок.
  • Facebook использует ветвь машинного обучения, известную как компьютерное зрение, чтобы предложить друзей, которых вы должны отметить на своих фотографиях.
  • Машинное обучение помогает Siri и Alexa распознавать голос методом проб и ошибок
  • Gmail использует машинное обучение для выявления и фильтрации спама
  • Netflix использует машинное обучение, чтобы предсказать, какие шоу вам понравятся, на основе тех, что вы смотрели в прошлом.

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

Соблюдайте осторожность: у машинного обучения есть недостатки

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

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

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

Обещание ИИ

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