Шрифт:
Интервал:
Закладка:
На сегодняшний день AlphaStar является, по всей видимости, наиболее сложной системой игрового ИИ, созданной человеком, и представляет собой настоящий памятник человеческому разуму и вдохновенному труду исследователей, бросивших вызов сложнейшим проблемам современной науки и технологии.
6.2.4 Распознание образов: кое-что ещё
И в небе, и в земле сокрыто больше,
Чем снится вашей мудрости, Горацио.
Уильям Шекспир. Гамлет[1994]
Конечно, задачи в области распознавания образов могут возникать в отношении любых разновидностей данных, и совсем не обязательно эти данные должны быть результатом оцифровки изображений или звука.
В науке нейронные сети позволили добиться прогресса в решении задач газогидродинамики; они успешно применяются, например, при работе с усреднёнными по Рейнольдсу уравнениями турбулентности Навье — Стокса (Reynolds-averaged Navier–Stokes, RANS), позволяя повысить производительность вычислений[1995], [1996].
Свёрточные нейронные сети неплохо показали себя при решении задачи о поиске быстрых радиовсплесков (Fast Radio Bursts, FRB), успешно обнаружив нужные закономерности в данных, собранных радиотелескопами[1997].
Нейронные сети неплохо показали себя в биохимии — например в предсказании свойств сложных соединений по их структурным формулам[1998].
В медицине глубокие нейронные сети применяются для поиска аномалий в электрокардиографических данных[1999], а также при анализе данных электроэнцефалографии[2000]. Автоматизация обработки сигналов медицинских датчиков привела к созданию множества носимых устройств [wearables] для спортивных и медицинских целей. Анализируя данные с гироскопов и акселерометров носимых устройств, нейронные сети могут распознавать различные виды человеческой активности (ходьбу, бег, подъём по ступеням, сон и т. д.) и даже прогнозировать ожидаемую продолжительность жизни (разумеется, с весьма заметной погрешностью)[2001].
Несмотря на проблему размерности данных, в последние годы удалось успешно применить свёрточные нейронные сети не только для анализа статичных двумерных изображений, но также и для анализа видео и трёхмерных снимков (например, данных магнитно-резонансной томографии[2002]).
В беспилотных автомобилях нейронные сети обрабатывают данные лидаров[2003], [2004].
Глубокие нейронные сети прекрасно справляются с поиском закономерностей в финансовых транзакциях. Например, при помощи вейбулловских временно-событийных рекуррентных нейронных сетей (Weibull Time To Event Recurrent Neural Network, WTTE-RNN) удаётся довольно точно предсказывать момент ухода клиента банка[2005].
Нейронные сети применяют для анализа профилей[2006] и поведения людей в социальных сетях[2007]. При помощи некоторых трюков нейронные сети можно научить анализу графов[2008] и даже построению рассуждений в символьных системах[2009], то есть решению задач, традиционно являющихся прерогативой символьных моделей ИИ.
Многие задачи ИИ требуют совмещения данных, принадлежащих к различным модальностям. Например, системы распознавания речи могут использовать данные видеоканала, получая дополнительные данные за счёт наблюдения за губами говорящего[2010]. А система, предназначенная для рекомендации блюд, может учитывать не только данные из рецепта, но и сведения о структуре вкусовых рецепторов человека[2011]. В последнее время нейросети способны успешно конкурировать с людьми даже в распознавании запахов и описании их при помощи естественного языка[2012]. Примеров таких мультимодальных задач в области ИИ довольно много.
В наши дни глубокие нейронные сети так популярны, что их используют даже там, где раньше никому бы в голову не пришло применить коннекционистскую модель. И нередко такие эксперименты приводят к успеху.
Многие применяемые сегодня системы представляют собой синтез символьных и коннекционистских подходов. Символьные методы часто применяются для преобразования данных в форму, удобную для подачи их в нейросетевую модель. В свою очередь, выход нейросетевой модели может служить входом для классических моделей, построенных на системах правил или методах поиска в деревьях и графах. Поэтому нередко коннекционистские модели не вытесняют классические методы, а, напротив, дают им второе рождение, как это произошло, например, с MCTS.
Специалисты активно исследуют гибридные модели, такие, например, как нейронные машины Тьюринга (Neural Turing Machine, NTM)[2013] или дифференцируемые нейронные вычислители (Differentiable neural computers, DNC)[2014]. В этих моделях нейросетевые контроллеры используются для работы с адресуемой памятью, что позволяет успешно находить алгоритмы обработки данных, недоступные пока традиционным рекуррентным нейросетевым архитектурам. Сегодня модели, подобные NTM и DMC, объединены в большой класс, получивший название MANN (Memory-Augmented Neural Networks, Нейронные сети, дополненные памятью)[2015].
Уследить за всеми успехами коннекционистских моделей в настоящее время практически невозможно — столь обширна лавина публикаций по этой тематике. Вы можете самостоятельно поиграть в игру, добавляя к названию какой-либо задачи слова neural network и выполняя соответствующие запросы в поисковом сервисе: cookies recipe neural network; detect a pig neural network; predict when you last shaved neural network. Если результат поиска вас не удовлетворит, возможно, настало время задуматься о собственном стартапе.
6.3 Машина учится понимать: обработка естественного языка
Полоний: …Что вы читаете, мой принц?
Гамлет: Слова, слова, слова.
Полоний: Но в чём же именно тут дело, принц?
Гамлет: Чьё дело, с кем?
Полоний: В чём суть того, что вы читаете, мой принц?
Уильям Шекспир. Гамлет[2016]
Различные области науки и технологий содержат множество пересечений, что делает невозможным построение их простой древовидной классификации. Обработка естественного языка (Natural language processing, NLP) — так сказать, NLP здорового человека, в отличие от раскрученного «нейролингвистического программирования», — является одновременно областью лингвистики, информатики, информационной инженерии и искусственного интеллекта. К области NLP относят распознавание речи, понимание естественного языка и его генерацию. При этом с NLP совершенно очевидным образом пересекается распознавание образов, методы которого применяются в решении различных задач NLP. Мы уже обсудили прогресс в области распознавания речи, вызванный революцией глубокого обучения, теперь пришла пора обратить внимание на другие задачи из области NLP.
В широком смысле к области NLP относят все задачи, связанные с взаимодействием между машинами и человеческими (естественными) языками. Методы NLP применяются для создания диалоговых и справочных систем, систем поиска информации и машинного перевода, систем анализа тональности высказываний (так называемый сентимент-анализ [sentiment analysis]), систем реферирования текста, уточнения текста при оптическом распознавании, проверки правописания и так далее. В отношении последней задачи я рекомендую всем интересующимся детальное исследование Татьяны Шавриной «Методы обнаружения и исправления опечаток: исторический обзор»[2017]. Вообще, для того