Машинное обучение – попытка смоделировать интеллект через обучение компьютерных алгоритмов. История развития искусственного интеллекта начиналась с машины Тьюринга. Было доказано, что простое устройство может вычислить все, что только поддается вычислению. Но возникла проблема – как научить это устройство считать что-то полезное для человека.
В 60-70-е годы сформировались конкурирующие за финансирование направления, были предприняты попытки смоделировать интеллект как строгие логические рассуждения, появились базы знаний, началось интенсивное развитие парадигм программирования, четко выделились фрейм-системы Марвина Минского (1975), нечеткая логика Лотфи Заде (1965), персептрон Фрэнка Розенблатта.
Сегодня наш собеседник – Андрей Хомич, специалист машинного обучения, инженер-программист. Его основная специализация – программное обеспечение вычислительных комплексов и распределенных систем. В последнее время занимается проблемами баз данных, сложностью вычислений, численными методами оптимизации, прикладной статистикой и искусственным интеллектом, метафизикой и философией:
Каковы итоги развития искусственного интеллекта и машинного обучения на сегодняшний день?
Сформировались два направления. Это базы знаний и советующие системы в медицине и других узких областях. Сильный искусственный интеллект создать не удалось, но были побочные практически полезные результаты.
Второе направление – формальные нейросети, не имеющие никакого отношения к естественным обучающимся организмам. В действительности они представляют собой методы нелинейной аппроксимации особым классом функций. Находят ограниченное применение, и обязательно вместе с другими технологиями, в задачах распознавания образов. Это оцифровка текстов, распознавание лиц, классификация объектов.
Каково твое видение текущего положения дел в области искусственного интеллекта?
Направление баз знаний и продукционных систем фактически остановилось в развитии. Развитие технологий программирования также остановилось. Думаю, как специалист, прошедший от ассемблера и Си, до современных формальных языков типа Java и Golang, у меня есть основания на такое мнение. Машины могут решать гораздо больше задач, но люди не могут дать машинам необходимые для этого алгоритмы.
В машинном обучении последние крупные новшества – сверточные сети (Ян Лекун, 1988), конкурентное обучение впервые примененное в сетях Кохонена (Teuvo Kalevi Kohonen, 1988). По всем направлением – тупик с 90-х годов прошлого века с “выхлопом” очень далеким от изначально декларируемых целей.
С удешевлением вычислительных мощностей возникла возможность применения некоторых ресурсоемких методов оптимизации – эволюционные алгоритмы, метод машины Больцмана. По сути за счет “brute force” мы несколько расширили сферу применения технологий второй половины прошлого века. Все остальное – чистый маркетинг, искусство стимулирования продаж старого в новой яркой упаковке.
В свое время мы с тобой разрабатывали блочные нейронные сети и развивали эволюционно-генетические алгоритмы. Какой был твой дальнейший опыт применения технологий машинного обучения и искусственного интеллекта?
В практическом приложении в основном это кредитный скоринг для банков, оптимизация рекламных кампаний, прогнозирование финансовых рынков, анализ текстовых данных. В частности, это технология формальных нейронных сетей для классификации клиентов банка по степени риска банкротства. Также применял на практике технологию для создания баз данных из частично упорядоченных текстов.
В чем заключаются твои идеи для развития машинного обучения и искусственного интеллекта?
Идея заключается в моделировании комплексов нейронов. Например, использовать рабочую гипотезу, что комплексы, подобные колонкам неокортекса в мозге высших животных включая человека, есть лучший уровень моделирования интеллекта. Такие комплексы могут представляться как достаточно универсальные мини-био-компьютеры. Пусть они имеют небольшую память и не сложное программное обеспечение, но они могут выполнять роль обучающихся био-машин Тьюринга. Сеть же так таких мини-компьютеров снимает ограниченность отдельного узла сети.
“Формальный нейрон” позволяет только вычислить взвешенную сумму сигналов и применить к ней простой нелинейный преобразователь. В отличие от “формального нейрона” мы можем позволить намного большую функциональность для нашего нового вычислительного модуля. Например, мы можем создать умную “Китайскую комнату”.
Понятие “Китайской комнаты” ввел философ Джон Сёрл в 1980 году. Он предложил мысленный эксперимент, призванный доказать неспособность машины, что-либо понимать. Если кратко, то это комната с двумя окнами. В одно окно поступают тексты на китайском языке, в другом окне тексты из комнаты забираются. В комнате сидит человек, не знающий китайского языка, но снабженный инструкциями по замене одних иероглифовов на другие, для получения нового текста, который он отдает наружу. При правильных инструкциях внешним наблюдателям может показаться, что человек внутри комнаты ведет осмысленный диалог, но на самом деле он просто механически следует инструкциям.
Парадокс в том, что мы видим именно в этом эксперименте выход из тупика для ИИ. Дело в том, что мы постулируем интеллект как чисто утилитарное свойство организма. Интеллект, способность обучаться и вариабельно реагировать на ситуации необходимы организму ради процветания его популяции.
Для этой задачи “понимания” не требуется. Требуется находить пищу, избегать опасности и размножаться. Развитие решения этих задач – создание среды под организм, от муравейника до человеческого мегаполиса и космических баз. Природа в процессе эволюции “натолкнулась” на интеллект как полезное приспособление для индивида и косвенно для его популяции. Она создала интеллект из того, что у нее было под рукой – из клеток, молекулярных соединений, химических реакций и физических явлений.
То есть интеллект строго материален и скорее всего поддается изучению без необходимости спускаться на уровень квантовой механики. В процессе формализации “китайской комнаты” она становится эквивалентной машине Тьюринга. То есть, что нельзя посчитать “китайской комнатой”, того вообще нельзя посчитать.
Мы немного изменили оригинальный эксперимент. Мы не даем “жильцу китайской комнаты” готовых инструкций. У него есть блокнот для самостоятельной записи инструкций, не стачиваемый карандаш и ластик. Ресурсы для существования он может получить только извне, за “правильные” действия. Поставки необходимого, как и в реальности, могут происходить с задержкой, возможны перебои из-за неизвестных факторов.
Каковы результаты этих экспериментов?
Большее время мы потратили на создание прототипа программного обеспечения. Зато после удалось практически сходу решить задачу, которая системами формального вывода, системами машинного обучения решается очень дорого. Задача сводилась к восстановлению пробелов символьного ряда со сложными зависимостями. Например, когда элемент ряда зависит от сочетания сотни и более прилежащих символов. Это похоже на сложность символьных последовательностей естественного языка.
Теоретически конечно можно решить эту задачу и обычным машинным обучением. Вопрос только в наличии и стоимости ресурсов – данные, время, энергия, деньги, наличие высококлассных и узкопрофильных специалистов.
В дальнейшем мы готовы решать больший круг задач и с большей коммерческой составляющей. Например, оптимизация рекламных кампаний в социальных сетях, создание систем советников, автоматически и индивидуально выделяя цифровой контент для человека. Конечная цель – создание единой промышленной технологии искусственного интеллекта.
Сейчас разработано множество платформ для машинного обучения. Чего не хватает во всех этих решениях?
Потребность в автономных самообучающихся системах возрастает. Но создание “мозгов” для таких систем остается на уровне “искусства”, на уровне штучных эксклюзивных решений. Промышленность же требует индустриальный уровень.
Каковы перспективы машинного обучения, что будет, по твоему мнению, дальше?
Где же ошиблись предшествующие исследователи? На мой взгляд одни использовали слишком верхний уровень детализации (формальные системы и базы знаний). Другие использовали слишком низкий уровень детализации – уровень отдельных клеток, нейронов.
Назрела необходимость отступить немного назад к исходным позициям, критически осмыслить полученный опыт, сверить с накопленными данными биологических наук.