Pull to refresh

Что такое machine learning?

Reading time14 min
Views7K
Original author: Daniel Faggella

Данный пост содержит выдержки из одноименной статьи Дэниела Фагеллы, руководителя отдела исследований в компании Emerj от 26.02.2020. Дэниел является всемирно востребованным экспертом по последствиям ИИ в рамках конкурентных стратегий для лидеров бизнеса и лидеров государств. Его услугами пользуются ООН, Всемирный банк, Интерпол и ведущие компании.

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

Прежде чем продолжить, следует еще раз определиться с понятием learning. Что такое learning? Во многих латинских языках learning имеет тот же корень, что и apprehending в английском (постижение, усвоение знаний): apprendre по-французски, aprender по-испански и по-португальски... Действительно, learning - это схватывание фрагмента реальности, его улавливание и перенос в наш мозг. В когнитивистике говорится, что learning состоит в формировании внутренней модели мира. Благодаря learning сырые данные, которые поражают наши чувства, превращаются в утонченные идеи, достаточно абстрактные, чтобы их можно было многократно использовать в новом контексте — в моделях реальности меньшего масштаба.

Главный тезис предыдущего поста звучал так:

Мы имеем феномен, который называется «усвоением знаний человеком и животными». Этот феномен объясняется теориями усвоения знаний (в частности павловской теорией условных-безусловных рефлексов). В 60-х годах XX-го века компьютерные ученые задались вопросом о том, как создать самообучающуюся машину, и дали классическое определение такой машины, как способной автоматически усваивать знания из данных, не будучи для этого программируемой. То есть признавалось, что вычислительную машину, в отличие от людей и животных, которые наделены такой способностью по природе, надо еще наделить способностью усваивать знания. Это делается путем строительства специальных моделей машинного усвоения знаний, в основе которых лежит алгоритм машинного усвоения. Строительство таких моделей и алгоритмов и является предметом подобласти ИИ под названием «машинное усвоение» (machine learning) знаний.

Приведенный ниже перевод сделан с учетом именно такого понимания термина «machine learning». Если вы настроены к такому пониманию , как говорится по-аглицки, upfront враждебно, то прошу не тратить свое время на мои призывы подумать о присоединении к принятому во всем мире пониманию machine learning как машинному (автоматическому) усвоению знаний, где под знанием подразумеваются закономерности, регулярности, шаблоны и линии поведения.

Итак, вот перевод. Все очепятки - мои…

Набрав в поисковой строке Google «что такое machine learning?», можно открыть ящик Пандоры из форумов, научных исследований и фейковой информации – и цель этой статьи состоит в том, чтобы упростить определение и понимание термина «машинное усвоение» благодаря прямой помощи со стороны группы экспертов-исследователей.

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

Эта статья будет разбита на следующие ниже разделы:

  • Что такое машинное усвоение?

  • Как мы пришли к нашему определению (посредством разных точек зрения экспертов-исследователей)

  • Базовые концепции машинного усвоения

  • Визуальные представления моделей машинного усвоения

  • Как мы обеспечиваем машины способностью усваивать знания

  • Обзор трудностей и пределов машинного усвоения

  • Краткое введение в глубокое усвоение знаний

  • Цитируемые работы

  • Интервью по данной теме

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

Что такое машинное усвоение?

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

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

Как мы пришли к нашему определению

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

  • «Машинное усвоение в своей основе - это практика использования алгоритмов для анализа данных, усвоения из них знаний, а затем принятия решения или генерирования предсказания о чем-то, что присутствует в окружающем мире» – Nvidia 

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

  • «Машинное усвоение основывается на алгоритмах, которые способны усваивать знания из данных, не опираясь в этом на программирование, которое в основном базируется на правилах» - McKinsey & Co.

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

  • «Область машинного усвоения стремится ответить на вопрос о том, «как строить компьютерные системы, которые совершенствуются автоматически по мере накопления опыта, и каковы фундаментальные законы, которые управляют всеми процессами усвоения знаний?» – Университет Карнеги Меллона

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

Д-р Иошуа Бенжио, Монреальский университет:

Данный термин не должен определяться с использованием отрицаний (отсюда, пункты №2 и №3 исключаются). Вот мое определение:

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

Д-р Данко Николич, CSC и Институт Макса Планка:

(Пункт №2 с исправлением): Машинное усвоение знаний - это наука о том, как наделять компьютеры способностью действовать без явного на то программирования, и вместо оного наделять их возможностями усваивать решения самостоятельно.

Д-р Роман Ямпольский, Университет Луисвилла:

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

Д-р Эмили Фокс, Вашингтонский университет:

Мое любимое определение приведено в пункте №5.

Базовые концепции машинного усвоения

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

  • Представление (набор классификаторов или понятный компьютеру язык)

  • Оценивание (целевая функция/функция оценивания)

  • Оптимизация (метод поиска; нередко, например, классификатор с наивысшей оценкой; используются как готовые, так и конкретно-прикладные методы оптимизации)

Представление

Оценивание

Оптимизация

Экземпляры

    K-ближайших соседей

    Опорно-векторные машины

Гиперплоскости

    Наивный Байес

    Логистическая регрессия

Деревья решений

Наборы правил

    Пропозициональные правила

    Логические программы

Нейронные сети

Графические модели

    Байесовы сети

    Условные случайные поля

Точность/частота ошибки

Прецизионность и полнота

Квадратическая ошибка

Правдоподобие

Апостериорная вероятность

Прирост информации

Дивергенция Кульбака-Лейблера

Стоимость/полезность

Зазор/Маржа

Комбинаторная оптимизация

    Жадный поиск

    Лучевой поиск

    Поиск методом ветвей и границ

Непрерывная оптимизация

    Неограниченная

        Градиентный спуск

        Конъюгатный градиент

        Квази-ньютоновы методы

    Ограниченная

        Линейное программирование

        Квадратичное программирование

Автор таблицы: д-р Педро Доминго, Вашингтонский университет

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

Визуализации моделей машинного усвоения знаний

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

Модель на основе дерева решений:

Дерево решений
Дерево решений

Модель на основе гауссовой смеси:

Гауссова смесь
Гауссова смесь

Нейронная сеть с отсевом

Как мы наделяем машины способностью усваивать знания

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

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

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

Иногда прорывы также происходят «непреднамеренно». В качестве такого примера можно взять модельные ансамбли, или комбинации многочисленных алгоритмов усвоения, позволяющие повышать точность. Коллективы разработчиков, участвовавшие в конкурсе «Приз Netflix» 2009 года, обнаружили, что они стали получать наилучшие результаты после того, как совместили своих учеников с учениками других коллективов, что привело к сверхбыстрому рекомендательному алгоритму (подробнее о том, почему они не применили свой ансамбль, читайте в блоге Netflix).

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

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

Обзор трудностей и пределов машинного усвоения

«Машинное усвоение не способно получать что-то из ничего… но оно умеет получать больше из меньшего» – Доктор Педро Доминго, Вашингтонский университет

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

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

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

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

Глубокое усвоение и новейшие разработки в нейронных сетях

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

Международная конференция по машинному усвоению (International Conference on Machine Learning, аббр. ICML) считается одной из самых важных в мире. В 2019 году она проводилась в Нью-Йорке и собрала исследователей со всего мира, работающих над решением животрепещущих проблем в области глубокого усвоения знаний:

  1. Неконтролируемое усвоение в малых наборах данных

  2. Усвоение на основе симуляций и переносимость в реальный мир

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

Ключевые тезисы по применению машинного усвоения

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

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

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

  • «Из простоты не следует точность» – (согласно Доминго) между числом модельных параметров и склонностью к переподгонке нет никакой связи

  • По возможности следует получать экспериментальные данные (в отличие от эмпирических наблюдений, какой-либо контроль над которыми у нас отсутствует) (например, данные, почерпнутые из отправки разных вариантов электронного письма случайной выборке испытуемых из пользовательской базы)

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

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

Цитируемые работы

1 – http://homes.cs.washington.edu/~pedrod/papers/cacm12.pd

2 – http://videolectures.net/deeplearning2016_precup_machine_learning/

3 – http://www.aaai.org/ojs/index.php/aimagazine/article/view/2367/2272

4 – https://research.facebook.com/blog/facebook-researchers-focus-on-the-most-challenging-machine-learning-questions-at-icml-2016/

5 – https://sites.google.com/site/dataefficientml/

6 – http://www.cl.uni-heidelberg.de/courses/ws14/deepl/BengioETAL12.pdf

Интервью в Emerj по темам, связанным с машинным усвоением знаний

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

Выводы из перевода статьи

Приведенный выше перевод наглядно демонстрирует, что предлагаемый русскоязычный вариант термина machine learning как «машинное (или автоматическое) усвоение знаний» лишен двусмысленности (присущей слову «обучение») и хорошо укладывается в принятую во всем мире парадигму, проистекающую из теорий усвоения знаний.

Этот вывод замечательно резюмируется ниже:

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

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

В поддержку тезиса «никто машину не обучает»

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

Возьмем шаги типичного рабочего потока:

  • сбор данных,

  • предобработка данных,

  • инженерия признаков,

  • отбор модели,

  • тренировка модели

  • гиперпараметрическая настройка модели,

  • валидация работоспособности модели,

  • оценивание результативности модели,

  • продукционализация модели,

  • эксплуатация модели в производстве,

  • перетренировка модели в случае дрейфа данных или концепции модели.

На каком шаге человек говорит своей модели, что нужно делать, т.е. где происходит «обучение» им своей модели? Правильный ответ - НИГДЕ.

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

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

И в заключении на этапе запуска модели в производство у человека чисто обеспечительская функция - ML/Ops.

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

Никакого волшебства, никаких демиургов-учителей машин!

Прошу отнестись с пониманием ;-)

Only registered users can participate in poll. Log in, please.
Как вы оцениваете материал в настоящем посте?
31.25% Качественный5
25% Нейтральный4
43.75% Некачественный7
16 users voted. 6 users abstained.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+1
Comments41

Articles

Change theme settings