Введение
Привет! Сегодня я хотел бы рассказать вам об истории машинного обучения.
Почему история? Я думаю, полезно знать, как именно развивалось машинное обучение. Особенно в наши дни, когда он разрабатывается, например, как инструмент для рекрутинга.
Многие из нас, должно быть, уже имели дело с таким программным обеспечением ИИ, даже не подозревая об этом!
Начнем с того, о чем, собственно, мы и будем говорить.
Что такое глубокое обучение?
Сначала нам нужно определить, что скрывается за словом ИИ — что означают искусственный интеллект, машинное обучение и глубокое обучение и как они взаимосвязаны?
- Искусственный интеллект: попытка автоматизировать интеллектуальные задачи, обычно выполняемые людьми.
- Машинное обучение: изучение компьютерных алгоритмов, которые автоматически улучшаются благодаря опыту.
- Глубокое обучение: подкатегория ML, целью которой является создание нейронной сети любого типа (например, распознавание речи, распознавание лиц).
Краткая история машинного обучения
В настоящее время глубокое обучение достигло уровня общественного внимания и отраслевых инвестиций, невиданных ранее в истории ИИ. На самом деле, это не первый успех этого домена. Современные алгоритмы машинного обучения, используемые в отрасли, не являются алгоритмами глубокого обучения.
Почему это? Ответ прост: глубокое обучение не всегда подходит для решения проблем. Иногда данных недостаточно или данную проблему можно решить, просто используя другой алгоритм. Часто под шумихой многие люди хотели бы использовать глубокое обучение для решения разного рода задач.
Чтобы избежать такой ситуации, необходимо ознакомиться с другими подходами и практиковать их при необходимости. Но сначала я хотел бы кратко описать историю машинного обучения — его развитие.
1. Вероятностное моделирование
Это была одна из самых ранних форм машинного обучения, и она до сих пор широко используется. Наиболее известным алгоритмом в этой категории является Наивный байесовский алгоритм. Это тип классификатора машинного обучения, основанный на теореме Байеса. Чтобы начать использовать Наивный байесовский классификатор, вам достаточно знать теорему Байеса и основы статистики.
Другой популярный алгоритм, который также считается «привет миром» современного машинного обучения, — это логистическая регрессия — logreg. Logreg также полезен в наши дни благодаря своей простоте.
2. Ранние нейронные сети
Первые итерации нейронных сетей были полностью вытеснены современными подходами к нейронным сетям. В середине 1980-х, когда многие люди заново открыли алгоритм обратного распространения ошибки — способ обучения цепочек параметрических операций с использованием нейронных сетей оптимизации градиентного спуска.
Первое практическое применение нейронных сетей произошло в 1989 году. Янн ЛеКун объединил более ранние идеи сверточных нейронных сетей и обратного распространения. Его нейросеть смогла решить проблему классификации рукописных цифр. Получившаяся в результате сеть использовалась Почтовой службой США в 1990-х годах для автоматического считывания почтовых индексов на почтовых конвертах.
3. Методы ядра
После успеха нейронной сети после 1990 года возникла новая тенденция — методы ядра. Методы ядра отправили нейросеть во тьму на пару лет. Методы ядра представляют собой группу алгоритмов классификации.
Наиболее известным алгоритмом из методов ядра является SVM — Машина опорных векторов. SVM направлен на решение проблем классификации путем нахождения хороших границ решения между двумя наборами точек, принадлежащих к двум разным категориям.
Вы можете думать о границе как о линии, которая разделяет два набора обучающих данных на две категории (я опускаю объяснение того, что такое SVM, потому что эта статья может быть слишком большой). В то время, когда они были разработаны, SVM были очень эффективны в простых задачах классификации и были одним из немногих методов машинного обучения, подкрепленных обширной теорией и поддающихся серьезному математическому анализу, что делало их понятными и легко интерпретируемыми.
Недостатком SVM было масштабирование до больших наборов данных, что не давало хороших результатов. SVM требовали сначала извлечения полезных представлений вручную (разработка функций), что сложно.
4. Деревья решений, случайные леса и машины повышения градиента
Деревья решений представляют собой блок-схемы, подобные структурам, которые позволяют классифицировать точки входных данных или прогнозировать выходные значения с учетом входных данных. Их легко представить и интерпретировать. Интерес начался в 2000-х годах, и к 2010 году их часто предпочитали ядерным методам.
Случайный лес использует обучение деревьев решений и строит большое количество специализированных деревьев решений, а затем объединяет их результаты. Случайные леса применимы к широкому кругу задач. Когда появился Kaggle (сайт машинного обучения https://kaggle.com), случайные леса были самым популярным алгоритмом.
В 2014 году машины для повышения градиента свергли случайные леса с трона. Машины повышения градиента, такие как случайный лес, основаны на объединении слабых моделей прогнозирования, обычно деревьев решений. Он использует повышение градиента для улучшения любой модели машинного обучения путем итеративного обучения новых моделей, которые специализируются на устранении слабых мест предыдущих моделей. Техника повышения градиента большую часть времени превосходит случайные леса, имея схожие параметры.
5. Нейронные сети — возвращение
Нейронные сети почти полностью избегались научным сообществом. Ряд людей, все еще работающих над нейронными сетями, начали делать важные прорывы.
В 2011 году Дэн Сиресан из IDSIA (Институт исследований искусственного интеллекта им. Далле Молле) выиграл соревнования по классификации изображений с помощью GPU (графического процессора), обученных глубокими нейронными сетями. Это был первый практический успех современного глубокого обучения.
Но важный момент наступил в 2012 году, когда группа Хинона приняла участие в ежегодном крупномасштабном соревновании по классификации изображений ImageNet. Задача ImageNet была очень сложной — она заключалась в классификации цветных изображений высокого разрешения по 1000 различных категорий после обучения на 1,4 миллионах изображений.
В 2011 году точность пятерки победивших моделей составила всего 74,3%, а в 2012 году точность пятерки лучших моделей составила 83,6% — значительный прорыв. В 2015 году победитель достиг точности 96,4%, а задача классификации ImageNet считалась полностью решенной. С 2012 года глубокие сверточные нейронные сети стали основным алгоритмом для всех задач компьютерного зрения, они работают со всеми задачами восприятия.
6. Что отличает глубокое обучение
Основная причина, по которой глубокое обучение так быстро стало популярным, заключается в том, что оно обеспечивало лучшую производительность при решении многих задач. Глубокое обучение также значительно упрощает решение проблем, поскольку оно полностью автоматизирует разработку функций.
Благодаря глубокому обучению вы изучаете все функции за один проход, а не разрабатываете их самостоятельно. Это упрощает рабочие процессы машинного обучения, часто заменяя многоэтапные конвейеры единой сквозной моделью глубокого обучения.
Краткое содержание
Как видите, история машинного обучения весьма интересна! Вы можете узнать больше, если самостоятельно углубитесь в приведенные выше запросы — я хотел представить историю только в двух словах.
Этим постом я планирую начать серию статей, связанных с машинным обучением, которые мне очень нравятся.
Надеюсь, вам понравится узнавать больше об ИИ в целом так же, как и мне. . :D
Спасибо за внимание и до скорой встречи! :)
DOMINIK MARCINISZYN
Senior Backend Developer