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