Когда дело доходит до искусственного интеллекта, IBM является исключением. Большинство других компаний выбирают путь нейронных сетей, но IBM очень сильно увлечена старомодной инженерией. В новой системе задействованы нейронные сети, но они не являются основным инструментом в комплекте.
Project Debater — следующий в линейке систем искусственного интеллекта IBM, следующий за Watson и Deep Blue. Он пытается освоить человеческое речевое взаимодействие, чтобы IBM могла предлагать голосовые услуги, такие как техническая поддержка, медицинские консультации и так далее. В этом случае идея состоит в том, чтобы машина участвовала в формальных дебатах, используя голосовой ввод и вывод. Тема дискуссии не устанавливается заранее, и человек и компьютер должны построить аргумент.
Чтобы показать, насколько далеко продвинулась система, IBM организовала небольшую общественную дискуссию. Формат заключался в подготовке четырехминутного вступительного заявления, затем четырехминутного опровержения и двухминутного резюме. Первой темой было «мы должны субсидировать освоение космоса», а затем «мы должны расширить использование телемедицины». По результатам голосования небольшой аудитории был получен счет: Machine 1: Humans 1.
Синтез и распознавание речи были очень плавными — аргументы порой не столь убедительны, но все же общий эффект был впечатляющим. Было задействовано очень много «сценического мастерства». Высокая черная панель с очень большим синим анимированным ртом доминировала в жалких людях-спорщиках, и бывали моменты, когда приходилось думать, что, возможно, одна или две шутки были предварительно загружены и были произведены более или менее независимо от темы.
Ясно, что, как и в случае с играющим в шахматы Deep Blue и участником игры Watson, IBM хочет устроить хорошее шоу, и все, что делает систему более интеллектуальной или более научно-фантастической, является честной игрой.
Что действительно интересно, так это то, что это старый инженерный подход к ИИ. Этот термин не является уничижительным, просто существует два основных подхода к ИИ. Первый почти волшебный в том смысле, что мы позволяем системе выяснить, как выполнять эту работу. Это то, что делают нейронные сети — мы обучаем их получать желаемый ответ, но мы не занимаемся подробной настройкой и реализацией. Второй подход — разработать то, что необходимо, и реализовать это с помощью кода. Это сводит к минимуму этап обучения, потому что вы разрабатываете код, скажем, для анализа произносимого слова.
В течение долгого времени инженерный подход к ИИ был наиболее успешным, но затем мощность компьютеров выросла до такой степени, что нейронные сети могли обучаться достаточно, чтобы выполнять реальные задачи, и затмили альтернативный подход. Проблема с подходом к обучению заключается в том, что вы на самом деле не знаете, как работает система — это делает ее еще более волшебной, когда она действительно работает, но вызывает большее беспокойство, что она может не работать. Чисто инженерный подход обычно детерминирован в том смысле, что инженер должен иметь хорошее представление о том, что система собиралась делать с учетом входных данных.
IBM держит в секрете общий дизайн своего ИИ, но опубликовала множество статей о подсистемах, из которых состоит Debater. Включены нейронные сети, но они в основном используются в качестве инструментов для измерения таких вещей, как анализ настроений. В списке методов «Argument Mining» занимает первое место, и это кажется сложной комбинацией алгоритмов обработки естественного языка — обнаружение утверждений в документах. обнаружение доказательств, опровержение заявлений и т. д. Есть и другие — «Классификация позиций» и «Анализ настроений» — это определение аргумента «за» или «против».
Кажется, что нейронные сети действительно широко используются в распознавании и производстве речи. Это разумно, поскольку данные гораздо труднее анализировать и понимать, и, следовательно, сложно разработать решение.
Чтобы создать контраст между обучением и разработкой, как будет выглядеть полный дизайн нейронной сети? Самый простой подход состоит в том, чтобы построить сквозное решение нейронной сети, то есть получить входные данные, речь и научиться сопоставлять их с выходами — речью. Однако это вряд ли сработает, поскольку существует слишком много проблемных областей. Лучшим подходом, который становится возможным только сейчас благодаря имеющемуся в нашем распоряжении аппаратному обеспечению, является построение ряда взаимодействующих сетей. Один для распознавания речи, один для производства речи, один для понимания слов и третий для аргументации по делу. Как видите, это сложная проблема.
Сконструированный ИИ, такой как Дебатер, работает хорошо, но обычно ему не хватает возможности для глубокого обобщения. Нейронные сети изучают шаблоны и структуру данных, и мы надеемся, что любые новые случаи также будут следовать тем же шаблонам и структуре, что и в образце. Если вы обучите нейронную сеть классифицировать кошек и покажете ей собаку, то вы получите классификацию, соответствующую близкому взгляду кошки. Если вы разрабатываете систему зрения для распознавания кошек, то, когда вы показываете ей собаку, система ломается, и вы обычно получаете сообщение об ошибке. Это немного несправедливо, поскольку умный дизайн может этого избежать, но суть в том, что спроектированная система может иметь дело только с ситуациями, которые инженеру хватило ума распознать или вообразить. Как только реальность выходит за рамки, нет никаких обобщений. В этом и преимущество, и недостаток систем искусственного интеллекта.
Ясно одно: IBM привносит те же преимущества «большого оборудования», которые сделали нейронные сети практичными для ее систем искусственного интеллекта. Возможно, оба подхода могут сработать, если вы вложите в них достаточно оборудования.