Глубокое обучение также способствовало прорывам в сфере обработки языка и последовательностей благодаря использованию структуры, называемой рекуррентной нейронной сетью. Как вы помните из предыдущей главы, традиционные методы анализа текста оказываются неэффективными по причине игнорирования порядка слов, которые просто помещаются в «мешок слов».
Но порядок слов имеет большое значение. Рассмотрим следующие два предложения со словом «апельсиновый». Можете ли вы предсказать последнее слово в каждом из них?
Рис. 12.8. Простое представление рекуррентной нейронной сети
1. За завтраком я люблю пить апельсиновый __________.
2. Мой двоюродный брат живет в калифорнийском «апельсиновом __________».
Вероятно, ваш мозг без промедления вставил пропущенные слова: «сок» и «округ». К тому моменту, когда вы достигли пропущенного слова в первом предложении, слова «завтрак» и «пить» уже находились в вашей кратковременной памяти. Очевидным ответом был «сок».
Во втором примере ваша память о «Калифорнии» и слова «живет в», скорее всего, натолкнули вас на мысль о калифорнийском «апельсиновом округе» (Ориндж Каунти). В обоих случаях ваш мозг удерживал уже известную ему информацию во время обработки новой. Рекуррентная нейронная сеть[135] – вычислительный эквивалент этого процесса.
На рис. 12.8 показана простая рекуррентная нейронная сеть, в которой выходные данные подаются обратно в сеть, в результате чего создается «память».
В случае с вышеописанной задачей классификации текста обучающую выборку образуют тысячи или миллионы входных-выходных пар, пересекающихся последовательностей слов. Например, вход «За завтраком я» будет сопоставлен с выходом «завтраком я люблю». Когда система просматривает последовательности слов в предложении, она также «запоминает» те слова, которые встретились ей ранее. Таким образом, когда сеть видит вход «пить апельсиновый», то выходом, скорее всего, будет «пить апельсиновый сок», если исторические данные содержат предложения с фразой «апельсиновый сок» или «пить сок».
Вы уже наверняка понимаете, как подобные алгоритмы глубокого обучения можно использовать для более быстрого сочинения ответов на письма и исправления грамматических ошибок прямо в процессе набора текста. Эта технология была реализована в функции «Smart Compose» сервиса Google Gmail в 2018 году; она предлагает текст, помогая вам заканчивать свои _________, и работает на основе рекуррентных нейронных сетей[136].
Теперь, когда мы обсудили технические подробности процесса глубокого обучения, давайте рассмотрим его практические аспекты.
Глубокое обучение на практике
По поводу глубокого обучения очень сложно не проникнуться энтузиазмом. Мы коснулись лишь поверхности его потенциала. А крупнейшие мыслители современности убедительно доказывают, что эта технология во многом будет определять наше будущее. Однако этот энтузиазм может отвлечь нас от проблем, свойственных работе с данными.
Какой бы захватывающей ни казалась технология глубокого обучения, вероятно, самую большую трудность для компаний представляет недостаток размеченных обучающих данных. Как говорилось в эпиграфе к этой главе, данные – это «топливо, питающее наши интеллектуальные машины, без которого ничего не было бы возможно». Тем не менее, как уже не раз было сказано, мы снова и снова видим, как многие компании торопятся приступить к глубокому обучению, не имея достаточного объема размеченных данных для решения стоящей перед ними специфической задачи.
Эксперт по глубокому обучению и ИИ Эндрю Ын сформулировал эту проблему так:[137]
Главное препятствие для использования преимуществ ИИ в экономике – огромный объем необходимой кастомизации. Чтобы использовать компьютерное зрение для проверки промышленных товаров, нам нужно обучать разные модели для каждого продукта, который мы хотим проверить: для каждой модели смартфона, для каждого полупроводникового чипа, для каждого бытового прибора и так далее.
И для каждой из этих моделей потребуется собственный – и, скорее всего, очень большой набор размеченных изображений.