Разберись в Data Science. Как освоить науку о данных и научиться думать как эксперт - Алекс Дж. Гатман
Шрифт:
Интервал:
Закладка:
Тем не менее мы настоятельно рекомендуем вам воспользоваться всеми доступными алгоритмами, включая методы текстовой аналитики. Понимание зависит не столько от мощности компьютеров, сколько от контекста и ожиданий. Если вы осознаете ограничения текстовой аналитики до того, как приступите к ней, вы будете готовы правильно ее использовать.
Подведение итогов
Мы надеемся, что с помощью данной главы нам удалось убедить вас в том, что компьютеры понимают язык не так, как люди, – для компьютера это просто цифры. На наш взгляд, понимание одного этого факта уже очень важно. В следующий раз вы с меньшей вероятностью клюнете на маркетинговую удочку, когда услышите о том, что искусственный интеллект способен решить любую бизнес-задачу, связанную с текстом: в процессе преобразования текста в числа теряется часть смысла, который мы вкладываем в слова и предложения. В этой главе мы обсудили три метода:
– мешок слов;
– N-граммы;
– векторное представление слов.
После преобразования текста в числа вы можете применять методы обучения без учителя, например, тематическое моделирование, или методы обучения с учителем, такие как классификация текстов. Наконец, мы поговорили о том, почему технологические гиганты одерживают верх, и порекомендовали вам формулировать свои ожидания исходя из имеющихся данных и ресурсов.
В следующей главе мы продолжим анализировать неструктурированные данные и поговорим о нейронных сетях и глубоком обучении.
Глава 12
Концептуализируйте глубокое обучение
«Появление искусственного интеллекта иногда называют новой промышленной революцией. И если глубокое обучение – это паровой двигатель этой революции, то данные – это уголь: топливо, питающее наши интеллектуальные машины, без которого ничего не было бы возможно»
– Франсуа Шолле, исследователь ИИ и автор книг[123]
Поздравляем: вам удалось добраться до главы, которая во многих отношениях является кульминацией вашего пути становления главным по данным. В ней мы соберем вместе различные фрагменты мозаики и погрузимся в развивающуюся область машинного обучения, называемую глубоким обучением.
Сегодня использование глубокого обучения стимулирует развитие передовых технологий, а его человекоподобные проявления периодически вызывают восхищение общественности. Сфера глубокого обучения охватывает технологии, лежащие в основе работы систем распознавания лиц, автономного вождения, обнаружения рака и перевода речи. То есть они помогают принимать решения, которые некогда считались прерогативой человека. Однако, как будет показано далее, глубокое обучение не является чем-то новым и не настолько похоже на работу человеческого разума, как может показаться на первый взгляд.
Большая часть ожиданий и ажиотажа в сфере работы с данными обусловлена потенциалом глубокого обучения. Неудивительно, что представители делового мира тратят много денег на внедрение этой технологии, что в ближайшие годы может повлиять на многие отрасли. Однако по мере развития сферы глубокого обучения нарастает и шумиха вокруг нее. При этом из виду часто упускаются порождаемые ею этические проблемы.
В этой главе мы рассмотрим компоненты глубокого обучения, начав с его структуры. В основе глубокого обучения лежит семейство моделей, называемых искусственными нейронными сетями. Считается, что эти алгоритмы имитируют то, как мозг обдумывает идеи, – однако, как мы увидим далее, это верно лишь отчасти. Затем мы поговорим о том, как нейронные сети можно модифицировать для решения более сложных задач (вроде распознавания образов). В конце главы мы коснемся практических проблем, связанных с применением технологии глубокого обучения, поговорим о ее неправильном использовании и более широких последствиях применения моделей типа «черный ящик».
Нейронные сети
Прежде чем концептуализировать глубокое обучение, сначала необходимо познакомиться с его строительными блоками – искусственными нейронными сетями.
Чем нейронные сети похожи на мозг?
Человеческий мозг – это сеть, состоящая из биологических нейронов. Считается, что эти нейроны «поглощают информацию» в виде химических сигналов и электрических импульсов. В определенный момент – мы не до конца понимаем, в какой именно – эта информация «активирует» нейрон, то есть заставляет его среагировать. Если вы ведете машину, и на дорогу внезапно выбегает олень, ваш мозг быстро обрабатывает входные данные (вашу скорость, расстояние до оленя, присутствие машин поблизости), активируя миллионы нейронов, которые, в свою очередь, принимают решение (нажать на тормоз или свернуть с дороги)[124].
В связи с этим возникает вопрос: можно ли создать серию моделей и алгоритмов, способных учиться так же, как это делает наш мозг? Можно ли быстро преобразовать входные параметры в виде данных, изображений или звука в осмысленные выходные данные? Только подумайте, какие возможности предоставил бы нам алгоритм, имитирующий работу нашего мозга. Сколько оценок, делаемых нами каждую секунду, мы могли бы оптимизировать, поручив компьютеру решение соответствующих задач?
Для ответа на этот вопрос и были созданы искусственные нейронные сети – вычислительный аналог биологических нейронных сетей.
Все это звучит невероятно, и, разумеется, авторы этой книги считают все связанное с нейронными сетями чрезвычайно захватывающим. Первые нейронные сети были созданы в 1940-х годах для имитации биологии человека в ее тогдашнем понимании. Большая часть ажиотажа вокруг нейронных сетей – а значит, и глубокого обучения – обусловлена тем, что они вдохновлены работой нашего мозга. Однако уподоблять нейронную сеть мозгу весьма рискованно, поскольку такая аналогия приписывает уровень абстракции и общих знаний моделям нейронных сетей, которые, по сути, являются всего лишь гигантскими математическими уравнениями.
Таким образом, несмотря на заявления СМИ и маркетологов, мы не должны обманываться, думая, будто последние достижения в области нейронных сетей и глубокого обучения отражают их более тесную связь с человеческим мозгом. Успех этих алгоритмов скорее обусловлен более быстрыми компьютерами, огромными объемами данных и множеством исследований, проводимых в области машинного обучения, статистики и математики.
Давайте рассмотрим принцип работы нейронных сетей на двух примерах.
Простая нейронная сеть
Как вы помните, в главе 10 мы создали модель, предсказывающую, получит ли кандидат приглашение на собеседование, исходя из его среднего балла, курса обучения, специализации и количества внеклассных занятий. На рис. 12.1 показана ее визуализация в виде простейшей нейронной сети.
На рис. 12.1 представлены четыре входных параметра:
– Средний балл = 3,90
– Курс = 4
– Специализация = «Статистика» (закодирована с помощью цифры 2)
– Внеклассные занятия = 5 (общее количество внеклассных занятий)
Рис. 12.1. Простейшая нейронная сеть из всех возможных. Четыре входных параметра обрабатываются функцией активации одного нейрона, определяющей выходной сигнал
Эти значения передаются в вычислительную единицу – нейрон, который представлен на рисунке в виде кружка. Внутри