Autonomus Публикации Не забудьте надеть спасательный жилет: глубины глубокого обучения

Не забудьте надеть спасательный жилет: глубины глубокого обучения

1032
1

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

Это звучит круто, но насколько они подходят для бизнес-задач?

Нейронные сети представляют собой слабое подобие мозга человека. Говоря по-простому, это огромное количество нейронов, которые передают сигналы друг другу через синапсы.

Что является наиболее важным для глубокого обучения?

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

Машины учатся на примере — точно так же, как дети

Представьте, каким бы был мир, если бы люди сразу воспринимали все, что впервые услышали, как абсолютную истину: никакого прогресса и движения вперед, человечество бы застыло на месте, разрываясь от противоположных точек зрения, будучи не в силах их опровергнуть. К счастью, мы непрерывно учимся, используя опыт многих источников и пытаясь их обобщить. Младенцы слышат слова «мама» и «папа» сотни и тысячи раз, прежде чем понимают, что именно означают эти звуки. Для того, чтобы научиться ходить, человеку требуется 7-15 месяцев, говорить — в среднем 18-36 месяцев. Мы нарабатываем опыт постепенно, повторяя, анализируя, и непрерывно улучшая свои навыки. То же самое требуется для глубокого обучения нейронных сетей: как можно больше данных, всестороннее рассмотрение ситуации с последующим анализом и выработкой оптимального решения.

Учитывая последние новости о глубоком обучении и искусственном интеллекте, принято думать, что Deep Learning может делать все и вся. Тем не менее, есть еще много вещей, которые они не могут освоить.

Но отчаиваться не стоит! Ведь имеются еще классические методы машинного обучения, такие как:

  • Метод опорных векторов
  • Random forest («Случайный лес»)
  • «Байесовский классификатор»

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

Глубокое обучение или классический метод?

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

Большинство ученых-аналитиков будут руководствоваться принципом KISS («Keep It Stupid Simple» — «Делай это максимально просто»), и выберут один из классических методов обучения.

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

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

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

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

1. Изучение данных, поиск соответствий, понимание взаимодействий между элементами

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

Исследователь должен понимать:

а) проблему, которую модель пытается решить;
б) данные, поступающие в систему;
в) атрибуты или «функции» этих данных, которые имеют отношение к решению проблемы.

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

Алгоритм модели глубокого обучения позволяет проанализировать и систематизировать свойства данных самостоятельно. И если традиционный метод обеспечивает 90% точности, что мешает улучшить этот показатель, применив глубокое обучение?

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

Кстати, о ручном процессе в традиционном обучении: одной из самых интересных особенностей глубокого обучения является то, что модели самообучаются и способны осваивать самые сложные функции с течением времени. Подобно тому, как мозг человека анализирует информацию, например, в виде фотонов, попавших на сетчатку глаза, нейронные сети изучают информацию об изображении от пикселя к пикселю. Не обходится и без «ложки дёгтя»: дело в том, что процесс автоматизированного обучения требует огромного количества данных, и чем больше это количество, тем точнее будет результат. И если традиционный метод обеспечивает 90% точности, что мешает улучшить этот показатель, применив Deep Learning?

Нейронные сети состоят из нейронов и синапсов

2. Требования к ресурсам.

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

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

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

3. Недостаточное количество данных, затруднение сбора информации

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

А теперь, внимание! Для процесса глубокого обучения потребуется еще больше данных. Академические современные модели распознавания изображений, такие как AlexNet , обычно оперируют миллионами примеров изображений. Чат-боты, опирающиеся на словарные векторы, имеют в своем распоряжении весь материал Википедии, или полные данные бюллетеня Google News (к счастью, технология Word2vec — это неконтролируемый алгоритм, поэтому вам не нужно вручную аннотировать эти миллиарды слов, но вам нужно маркировать документы для последующих задач, таких как анализ настроений или классификация тем).

Подобные массивы данных могут создавать и обрабатывать только цифровые гиганты, такие как Google и Facebook, которые собирают миллионы документов в день в течение многих лет.

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

Заключение

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

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

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

Не используйте Deep Learning только потому, что это круто. Воспользуйтесь этой технологией тогда, когда простые методы перестают работать. Примените её в тот момент, когда ручная обработка данных и классические методы машинного обучения перестают давать оптимальные результаты.

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

(11 оценок, среднее: 5,00 из 5)
Загрузка...

1 КОММЕНТАРИЙ

ОСТАВИТЬ КОММЕНТАРИЙ

Please enter your comment!
Please enter your name here

шестнадцать − 12 =