Разберись в Data Science. Как освоить науку о данных и научиться думать как эксперт - Алекс Дж. Гатман
Шрифт:
Интервал:
При этом получаются уравнения в уравнениях – математическое подобие матрешки. Вот как это может выглядеть.
«Внешняя» функция представляет собой функцию активации в последнем слое сети. Для сети, изображенной на рис. 12.2, это будет:
Вероятность приглашения =
Однако каждый из признаков в этом уравнении – достижения, опыт и набор навыков – представляют собой отдельные уравнения. Если мы заменим в приведенном выше уравнении только «Достижения», то получим (не пугайтесь):
И это если мы ограничимся только признаком «Достижения»! Мы не стали заменять остальные, но надеемся, что нам удалось проиллюстрировать высказанную ранее мысль о том, что нейронные сети представляют собой гигантские математические уравнения.
Результат этой вложенной структуры – огромное уравнение с множеством параметров, которое принимает входной набор данных и различными способами их комбинирует. Именно наслоение этих функций и позволяет сети выявлять более сложные представления в данных, что делает возможным более детальные предсказания.
Описать процесс работы нейронной сети так же сложно, как и процесс мышления. На практике скрытый слой, скорее всего, не будет выдавать понятные для людей представления, показанные здесь (достижения, опыт и набор навыков). Хуже того, сложность будет возрастать по мере добавления дополнительных слоев и нейронов. Иногда эти модели называют черными ящиками из-за сложности понимания процесса их работы на уровне слоев и нейронов.
Поэтому при объяснении принципа работы нейронных сетей не стоит прибегать к драматическим сравнениям с человеческим мозгом. Более реалистично представление о нейронных сетях как о больших математических уравнениях, обычно используемых при решении задач контролируемого обучения (классификация или регрессия) и способных находить новые представления входных данных, упрощая тем самым процесс прогнозирования.
Что же такое глубокое обучение?
Применение глубокого обучения
Глубокое обучение – это семейство алгоритмов, использующих структуру искусственной нейронной сети с двумя или более скрытыми слоями. (Другими словами, это искусственная нейронная сеть с улучшенным брендингом.) Идея углубления (или расширения, как показано на рис. 12.3) нейронной сети состоит в последовательном наложении скрытых слоев, при котором выходные сигналы одного слоя становятся входными сигналами для следующего. В каждом слое реализуются новые абстракции и представления данных, в результате чего из набора входных данных создаются все более нюансированные признаки.
Это сложный процесс, который не всегда было легко осуществить. В 1989 году исследователи под руководством Янна ЛеКуна[130] создали модель глубокого обучения, которая принимала в качестве входных данных рукописные цифры и автоматически присваивала им соответствующую выходную числовую метку. Это было сделано для автоматического распознавания индексов на почтовых отправлениях.
Эта сеть содержала более 1200 нейронов и почти 10 000 параметров. (Только задумайтесь об этом. Модель в уравнении 12.2 содержит всего пять параметров.) Команде исследователей требовался обучающий набор данных, содержащий тысячи рукописных цифр с метками. Все это нужно было осуществить, используя технологии 1980-х годов.
Казалось, что новейшие компьютеры, большой набор размеченных данных и терпение должны были гарантировать успех в сфере глубокого обучения. Но несмотря на некоторый прогресс в этой области, настоящих прорывов пришлось ждать еще несколько лет, потому что (1) обучение глубокой нейронной сети происходило мучительно медленно даже на самых мощных и дорогих компьютерах того времени, и (2) доступ к наборам размеченных входных-выходных данных был ограничен. А на одном терпении далеко не уедешь.
Рис. 12.3. Глубокая нейронная сеть с двумя скрытыми слоями
Однако в 2010-х годах сочетание больших наборов данных (благодаря Интернету), усовершенствования алгоритмов (в частности, применения более эффективных по сравнению с логистическими функций активации) и компьютерного оборудования, известного как графические процессоры (GPU), произвело настоящую революцию в сфере глубокого обучения. Графические процессоры позволили сократить время обучения в сто раз[131]. Благодаря этому для изучения тысяч параметров глубокой нейронной сети требовались уже не недели или месяцы, а всего несколько часов или дней. С тех пор успехи в области глубокого обучения росли как снежный ком, особенно в том, что касалось таких неструктурированных данных, как текст, изображения и звук. Это проявилось в создании систем, позволяющих решать всевозможные задачи – от идентификации и маркировки лиц до преобразования аудио в текст.
Преимущества глубокого обучения
Прежде чем приступать к обсуждению того, как методы глубокого обучения позволяют обрабатывать неструктурированные данные, давайте поговорим о том, чем глубокое обучение отличается от алгоритмов, с которыми вы познакомились ранее. Мы уже сказали, что скрытые нейроны способны генерировать новые и более нюансированные представления набора данных, взаимодействия моделей и нелинейные взаимосвязи, тем самым позволяя обнаруживать тонкости, упускаемые другими методами.
С практической точки зрения это может быть невероятно полезно для специалистов по работе с данными, поскольку сокращает время на ручное конструирование признаков.
Конструирование признаков – это процесс объединения или преобразования необработанных данных в новые признаки (новые столбцы) в наборе данных с использованием экспертных знаний. Например, в случае с набором данных, предсказывающим вероятность дефолта по кредиту, создание показателя доступности путем деления стоимости жилья на доход домохозяйства может повысить эффективность модели. Однако этот процесс может оказаться очень трудоемким и запутанным. Благодаря использованию скрытых слоев методы глубокого обучения часто позволяют автоматизировать процесс конструирования признаков, создавая представления данных, более подходящие для решения задачи прогнозирования.
При использовании большого количества данных, все более глубоких сетей, автоматического конструирования признаков и последовательного наслоения нейронов в данных могут обнаруживаться все более сложные и богатые представления, которые улучшают производительность модели по мере того, как она обучается на все более объемных наборах данных. Это показано на рис. 12.4.
Рис. 12.4. Теоретическое сравнение динамики роста производительности традиционных алгоритмов регрессии и классификации и нейронных сетей разного масштаба по мере увеличения размера набора размеченных данных[132]
На данном изображении показаны теоретические кривые производительности различных алгоритмов и то, что производительность традиционных методов (например, логистической и линейной регрессии) может стагнировать даже при увеличении размера набора размеченных обучающих данных. Линейные методы способны захватывать очень ограниченное количество сигналов.
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!