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

Перевод статьи с Techspot. Тема довольно сложная, но интересная. Также добавил ссылки на термины и события, кому интересно почитать дополнительно.

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

Машинное обучение стало обсуждаемой темой в последние несколько лет. Но сама концепция существует уже несколько десятилетий. Проектирование используемых по сей день систем основано на модели человеческого мозга, описанной Дональдом Хеббом в 1949 году в его книге «The Organization of Behavior».

Хебб отметил, что клетки мозга работают по повторяющейся схеме. А синаптические узлы, если они уже присутствуют — формируются или увеличиваются. Тот же принцип применяется и к узлам цифровой нейронной сети. Узлы развивают связи, которые становятся сильнее, т.е. задействуются одновременно. Они слабеют, если срабатывают отдельно. «Обучение с подкрепление» — это одна из форм машинного обучения, основанная на этой системе. Но давайте не будем забегать вперед.

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

Том Митчелл, американский учёный, профессор Университета Карнеги-Меллон, основатель первой в мире кафедры машинного обучения и автор первого учебника по этому предмету

В 1952 году Артур Сэмюэл, программист IBM, и пионер искусственного интеллекта ввел термин «машинное обучение». Он написал программу для игры в шашки, которая «училась» и становилась лучше с каждой партией. Артур использовал технику, называемую «альфа-бета-отсечение». Она оценивала доску основываясь на положении фигур и шансах каждой из сторон на победу. Эта модель эволюционировала в «Минимакс», которая преподается сегодня.

На протяжении десятилетий другие первопроходцы совмещали, адаптировали и применяли модели Хебба и Сэмюэля (и те, которые последуют) для различных приложений. Например, Фрэнк Розенблатт в 1957 году построил перцептрон Mark 1, один из самых первых аппаратов для распознавания образов и первый успешный нейрокомпьютер.

Десять лет спустя, в 1967 году, Марчелло Пелильо разработал «метод ближайших соседей» для распознавания образов. Этот алгоритм является дедушкой современных GPS приложений. Остальные продолжали те же идеи — в 1960х создан перцептрон с многослойными нейронными сетям, а в 1970-х годах «метод обратного распространения ошибки», который исследователи используют для глубокого обучения нейронных сетей.

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

МО (ML) — машинное обучение (machine learning)

ГО (DL) — глубокое обучение (deep learning)

ИИ (AI) — искусственный интеллект (artificial intelligence)

НС (ANN) — нейронные сети (artificial neural network)

ГНС (DNN) — глубокие нейронные сети (deep neural network)

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

Научное сообщество не урегулировало одно стандартное определение «машинного обучения». Сфера применения МО очень широка и не сводится к одному предложению, хоть некоторые и пытались…

Определение Массачусетского технологического института гласит: «алгоритмы машинного обучения используют статистику для поиска закономерностей в огромных объемах данных, [включая] числа, слова, изображения, клики. Если что-то может быть сохранено в цифровом виде — его можно использовать в алгоритме машинного обучения.»

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

В то же время, Университет Карнеги-Меллона утверждает: «Область машинного обучения стремится ответить на вопрос: как построить компьютерные системы, которые улучшаются автоматически (набираясь опыта), и каковы фундаментальные законы, которые управляют всеми процессами обучени?»

Для практических целей мы можем объединить все описания:

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

Не все «мыслящие компьютеры» созданы равными

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

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

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

Все ML считаются AI. Но не все AI — ML.
Все ML считаются AI. Но не все AI — ML.

Машинное обучение — это подгруппа ИИ, которая может действовать автономно. В отличие от общего ИИ, алгоритму МО не должны сообщать то, как интерпретировать информацию. Нейронные сети (ANN) состоят из одного слоя (уровня) алгоритмов машинного обучения (см. ниже).

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

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

Глубокое обучение — это подраздел искусственного интеллекта и машинного обучения. Эти конструкции состоят из нескольких слоев МО алгоритмов. Поэтому, их часто называют «глубокими нейронными сетями» (DNN). Входные данные передаются через слои, причем каждый из них добавляет квалификаторы или теги. Таким образом, глубокое обучение не требует предварительно классифицированных данных для интерпретации.

Мы еще поговорим о различиях между МО и ГО.

Как учатся нейронные сети?

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

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

То, как программы МО используют этот огромный объем данных, зависит от того, какой тип обучения используется. На данный момент, в зависимости от задачи используются три модели обучения: «с учителем», «без учителя» и «c подкреплением».

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

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

Это является наиболее распространенным методом МО и используется во многих известных приложениях.

Например, многие сервисы: PlayStation Network, Netflix, Spotify и другие, прибегают к нему, для автоматического формирования списков на основе пользовательских предпочтений. Каждый раз, когда пользователь покупает игру, смотрит фильм или слушает песню, алгоритмы МО записывают и анализируют эти данные и их теги, а затем ищут аналогичный контент. Чем чаще используется услуга, тем лучше система узнает и предсказывает то, что хочет пользователь.

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

«Обучение без учителя» не требует меток. В этом случае система ищет закономерности и создает свои собственные категории. Например, если выдать ей изображение собаки, она не сможет классифицировать его как таковое, потому что нет данных, чтобы сказать ей, что это такое. Вместо этого система смотрит на такие вещи, как форма или цвет. И затем она создает базовую классификацию. По мере поступления большего количества данных, совершенствуется профайл собак. Создаются дополнительные ярлыки, которые помогают отличить их от других животных или объектов.

Однослойные МО системы не эффективны при работе с немаркированными входные данными. Отчасти это связано с тем, что для понимания информации требуются глубокие нейронные сети. Многослойные сети больше подходят для такого типа обработки данных, поскольку каждый слой перед передачей другому (вместе с результатами) выполняет определенную функцию с входными данными. Поскольку НС встречаются значительно чаще, чем ГНС, «обучение без учителя» используется довольно редко.

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

Однако есть хорошо известные примеры МО систем, которые используют «обучение без учителя». Google Lens использует этот метод, чтобы научиться идентифицировать объекты, статистические и видео/изображения. Другим примером могут служить алгоритмы, которые использует фирма по кибербезопасности Darktrace — для обнаружения утечек внутренней безопасности. Эта компания использует обучение так, будто это иммунная система человека.

В интервью MIT Technology Review, совладелец Николь Иган сказала: “Это очень похоже на иммунную систему человеческого организма. Как бы сложно это ни было, у неё есть врожденное чувство того, что должно быть в ней, а что нет. И когда система находит нечто, что ей не принадлежит, она реагирует чрезвычайно точно и быстро.”

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

Третий метод обучения также занимается немаркированными данными. Поэтому, «обучение с подкреплением» также используется только в ГО. Как ОБУ, так и ОСП обрабатывают данные с определенными заранее заданными целями. То, как они достигают их – и есть разница в алгоритмах.

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

Алгоритмы пробуют различные способы достижения своей цели. Работает метод «кнута и пряника», в зависимости от того, был ли подход эффективным или неэффективным. Такая система хорошо подходит для обучения ИИ тому, как играть и выигрывать в играх. Например в шахматы, Go, Dota 2 или даже Pac-Man.

Этот метод можно сравнить с детской забавой «Холодно-горячо». У ребенка есть задача – найти мяч. С помощью слов вы направляете его. Основываясь на том, приближается ли он к заветной цели или наоборот отдаляется, произносятся фразы: «горячо» значит ближе, «холодно» — дальше. Используя «обучение с подкреплением», малыш должен найти этот круглый объект. То есть, он следует заранее определенной карте или указаниям. В любом случае ему еще предстоит выяснить, что такое мяч.

ОСП — это новейшая форма обучения для МО систем, и в последние годы наблюдается рост исследований. Как упоминалось ранее, шашки Артура Сэмюэла 1952 года были ранней формой машинного «обучения с подкреплением». Теперь глубокое обучение, типа Alpha Go (Google) и бота в Dota 2 (OpenAi), используют такой метод, чтобы победить профессиональных киберспортсменов в играх гораздо более сложных, чем шашки.

Машинное обучение: сегодня и завтра

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

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

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

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

Cатья Наделла, генеральный директор Microsoft

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

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

Вероятно, следующим большим прорывом будет квантовое МО. Исследователи из Массачусетского технологического института, IBM и НАСА уже экспериментировали с применением квантовых вычислений для машинного обучения. Неудивительно, что они обнаружили, что с помощью современного оборудования для обработки данных, некоторые проблемы могут быть решены за «считанные минуты». Microsoft и Google тоже не отстают. Недавно IT гиганты объявили о планах продвижения в области квантового МО. Поэтому, скорей всего, мы услышим и увидим гораздо больше об этом в ближайшем будущем.

9191
8 комментариев

Как знакомый с темой на практике, должен сказать, что красивые картинки, графики и матан создают обманчивое впечатление. На самом деле ML и DL сделаны из костылей.

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

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

Плюс все это очень затратно в плане ресурсов - обучение нейросети требует значительных мощностей. Иначе вы до пенсии будете ждать окончания обучения. 

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

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

16
Ответить

Комментарий недоступен

5
Ответить

я хз, я покушал

2
Ответить

покушалПоел.
Удаляй программу обучения ИИ.

2
Ответить

Машинное обучение это мем.

1
Ответить

Комментарий недоступен

Ответить

А че при чем железо ?

Ответить