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

К счастью, блестящий Andrew Ng предлагает полезную эвристику:

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

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

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

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

Контролируемое обучение требует обучающих данных, показывающих примеры входных и выходных данных, например

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

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

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

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

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