Начнем с самого начала

Трудно сказать, что такое машинное обучение на самом деле, не понимая всех программ, стоящих за ним, но я попытаюсь. Машинное обучение (сокращенно ML) — это подразделение искусственного интеллекта, которое занимается построением и изучением алгоритмов, способных учиться на данных. Другими словами, речь идет о том, как создавать компьютерные системы, которые автоматически совершенствуются с опытом.

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

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

  • Сэмюэлс (1959). Некоторые исследования в области машинного обучения с использованием игры в шашки. IBM Journal of Research and Development 3(3): 210–229. Вышеупомянутый Сэмюэлс изучал возможности машинного обучения в игре в шашки, и эта работа довольно быстро стала своего рода классикой в ​​этой области, поскольку в ней были изложены общие возможности ML как класса программ.
  • Минский и Пейперт (1969). Персептроны: Введение в вычислительную геометрию. MIT Press. Эта работа вызвала давние дебаты о так называемых «персептронах», типе искусственной нейронной сети, появившейся еще в 50-х годах и породившей тогда большие волны в отрасли. Книга остается актуальной на сегодняшний день и до сих пор вызывает разногласия среди ученых.
  • Румельхарт и Макклелланд (1986). Параллельная распределенная обработка: исследования микроструктуры познания. MIT Press. Модель памяти с параллельной распределенной обработкой (PDP) предполагает, что мозг поддерживает несколько процессов одновременно, а не выполняет их один за другим. Румельхарт и Макклелланд должны были объяснить публике, какие реализации он имеет на практике, а также раскрыть некоторые лежащие в его основе теории. .

Это все красиво и блестяще, но какое нам дело?

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

  1. Прогнозы трафика. Машинное обучение внутри Waze или Google Maps пытается понять закономерности пробок, чтобы предсказать, будут ли они в этом районе и насколько вам следует бояться идти по любимому маршруту, отправляясь на работу в 8.30 утра.
  2. Рекомендации продукта. Да, вам не нравится, что кто-то пытается продать вам вещи, но это не так уж и плохо, когда они продают что-то ценное. Сделать рекламу менее раздражающей и более приятной — это то, что пытаются сделать инженеры машинного обучения (вместе с маркетинговыми командами, но эти звери находятся за пределами моего поля зрения).
  3. Мошенничество. Тонны и физические тонны денег будут сэкономлены на безопасности банковских транзакций и других вещах, когда ML достаточно хорошо поймет, как найти мошенников и мошенников. Тогда вы сможете спать спокойно, не опасаясь, что кто-то взломает вашу PlayStation и пройдет все уровни Mario Kart без вас.

Я упомянул «под наблюдением» в начале. Что это такое?

На этом уровне мы должны понимать два основных типа машинного обучения: «контролируемое» и «неконтролируемое».

Обучение с учителем — это тип алгоритма машинного обучения, который использует известный набор данных (называемый обучающим набором) для прогнозирования. Обучающий набор содержит набор входных данных и соответствующие метки (или целевые значения). Алгоритм контролируемого обучения ищет шаблоны в обучающем наборе и использует их для прогнозирования новых данных. Допустим, у вас есть килограмм яблок, и вы говорите: «Собери все хорошие яблоки. Зеленые яблоки — хорошие яблоки, а синие — плохие (не спрашивайте, где я нашел синие яблоки). Затем машина поймет для будущих итераций, что зеленые яблоки хорошие, а синие яблоки гнилые. У более сложной машины будет даже шанс подумать о том, что такое красные яблоки в этом контексте.

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

Пример использования O’Plenty

Самый простой способ понять, влияет ли какой-то малоизвестный технический термин на вашу жизнь, — проверить, часто ли его использует Big Tech. Крупные компании, которые используют контролируемое обучение, включают Google, Amazon и Facebook. Google использует контролируемое обучение для многих задач, таких как фильтрация спама, маркировка изображений и распознавание голоса. Amazon использует контролируемые алгоритмы обучения для рекомендаций по продуктам и обнаружения мошенничества. Facebook использует контролируемое обучение для распознавания лиц и предложения друзей.

У каждой из этих компаний разные причины для использования контролируемого обучения, поэтому у этих компаний есть много возможностей для роста в каждом из аспектов с точки зрения использования контролируемого машинного обучения. Например, Google использует алгоритмы обучения с учителем, потому что они могут масштабироваться до больших наборов данных и давать точные результаты. Amazon использует контролируемое обучение, поскольку оно может обрабатывать сложные отношения между продуктами и клиентами. Facebook использует обучение с учителем, потому что он может работать с многомерными данными (такими как фотографии) и делать прогнозы о социальных взаимодействиях между людьми.

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

Что нам следует ожидать в будущем?

Есть несколько способов продвижения в этой области. Буквально не так давно мы придумали целую новую подкатегорию машинного обучения — Deep Learning, и теперь нам приходится заниматься этим отдельно, и это невероятно увлекательно. Вот еще несколько интересных направлений:

  1. Более сложные методы выбора функций могут автоматически выбирать наиболее релевантные функции для данной задачи.
  2. Новые способы регуляризации моделей, чтобы избежать «переобучения» и повысить эффективность обобщения. Переобучение — это проблема машинного обучения, из-за которой модели отлично работают с заданным набором данных, но они разваливаются, как только мы выходим за пределы заданных данных.
  3. Улучшенные методы оптимизации, позволяющие более эффективно обучать сложные модели.
  4. Методы включения знаний предметной области в процесс обучения для дальнейшего повышения точности.

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

  1. Глубокое обучение, Джеффри Хинтон, Йошуа Бенджио и Аарон Курвиль (MIT Press, 2016 г.). В этой книге представлен обзор глубокого обучения — нового мощного подхода к обучению высокоточных моделей машинного обучения. Об этом мы поговорим чуть позже, так как это отдельная сложная тема.
  2. Нейронные сети и машинное обучение Кристофера Молнара (Springer, 2016). Эта книга представляет собой введение в нейронные сети и их использование для задач машинного обучения. В нем также обсуждаются некоторые из последних достижений в области глубокого обучения. Нейронные сети — одна из самых горячих идей в отрасли, и, хотя входной барьер в этой области очень высок, у нее есть свои преимущества.
  3. Распознавание образов и машинное обучение Кристофера Бишопа (Springer, 2006). Эта классическая книга представляет собой введение в алгоритмы распознавания образов и машинного обучения. Он охватывает широкий круг тем, включая линейную регрессию, методы опорных векторов, деревья решений и нейронные сети. Поначалу это математика, но если вы освоите ее, книга позволит вам лучше понять машинное обучение и стать более опытным в этой области.

Заключение

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

Все твое,

Шон!