Одно из определений понятия “мышление”, которые можно найти, гласит:
Мышление — это способность человека рассуждать, представляющая собой процесс отражения объективной действительности в представлениях, суждениях, понятиях.
Иначе говоря, процесс мышления неразрывно связан с объективной действительностью через представления и понятия, которыми он оперирует. Для робота это означает необходимость “видеть” в прямом и переносном смысле, а также “понимать”.
Мыслящий робот
Так что же такое мыслить, и можно ли научить этому робота?
«Научить робота», «робот мыслит»… ЧТО???
Исходя из определения понятия “мышление”, мыслить можно именно научить. Это подтверждают и наиболее успешные решения в области Искусственного интеллекта (ИИ), использующие именно возможность систем обучаться.
Так зачем нужен мыслящий робот
Мыслящий робот — это тот самый робот, которого ожидает “человек”. Робот, с которым будет достаточно просто взаимодействовать обычному человеку и который сможет взаимодействовать с меняющимся человеческим окружением. На сегодня создание такого робота — огромный вызов для любой компании.
Любая задача в человеческом окружении, например дома, становится невыполнимой сейчас даже для самого навороченного робота.
Для примера давайте рассмотрим команду “Приготовь чай”. Для понимания даже упростим ее до “Поставь чайник”. Это высоко-абстрактная команда, которая совершенно привычна для человека. “Думать” и “мыслить” совершенно обычные и понятные для человека процессы и часто множество задач люди выполняют на подсознательном уровне, т.е. не задумываясь сознанием.
Попробуем решить ее осознанно. Перед выполнением данной задачи необходимо ответить на вопросы: “Что?”, “Где?” и “Когда?” нужно сделать.
когда? — ответа и указаний нет, значит, вероятно, безотлагательно
что? — ответ есть в задаче, но не в явном виде: поставить чайник = включить чайник с водой. Формулировка задачи “поставить чайник” для человека незнакомого с подобными терминами будет существенным осложнением. Значит и роботу необходимо знать терминологию, применяемую в данной сфере. Очевидно, что в нашем понимании сейчас эти фразы очень близки по смыслу. Получается роботу необходимо не только знать слова (терминология), но и понимать смысл целых фраз. Об этом чуть позже.
где? — ответа нет, но человек может размышлять так: “чайник обычно находится на кухне” или “я видел чайник на кухне”. И если робот не мыслит, то для него подобный ответ недоступен. Роботу, для того чтобы найти ответ, необходимо знать терминологию, уметь использовать визуальное восприятие мира и уметь воспринимать и обрабатывать абстрактные понятия.
Абстрактное мышление
Так, а что значит “абстрактно” или “абстракция”?
Абстракция — мысленное отвлечение, обособление от тех или иных сторон, свойств или связей предметов и явлений для выделения существенных их признаков.
Получается, что абстрактные понятия в языке неразрывно связаны с терминологией.
Сегодня существуют довольно неплохие языковые модели для задач перевода и обработки речи, и очень часто в них применяется модель векторного представления слов, т.е. терминологическая модель, например, word2vec. Она не лишена недостатков, но очень любопытно, что она позволяет роботу “выучить” понимание однозначных слов в рамках одного терминологического поля, и может служить некоторой образной картой абстракций.
Такая модель, например, позволит алгоритму пройти по цепочке:
молоко → холодильник → кухня
или, как в нашем случае:
чайник → кухня
Существующие языковые модели также используют другие подходы, например, различные модели рекуррентных сетей RNN для задач обработки естественного языка. Такие модели способны обучиться выделять смысл и, после обучения, сказать:
поставить чайник ≈ включить чайник с водой
Итак, теперь робот знает что делать: ему необходимо безотлагательно включить чайник с водой на кухне, но пока еще не знает как.
Как же обычно мыслит человек? Необходимо:
Добраться в нужное место — Кухня
Найти нужный объект — Чайник
Найти на чайнике Кнопку включения
Нажать Кнопку включения чайника
Каждую из этих задач необходимо, кроме всего прочего, превратить в движение ног и рук или колес и манипуляторов. Можно заметить, что в процессе исполнения многое может пойти не по плану. Человек достаточно просто решает мелкие трудности:
Дверь на кухню закрыта — открыть
Дверь не открывается — спросить у людей вокруг или вызвать специалиста
В чайнике нет воды — набрать воды из-под крана
На чайнике не кнопка, а рычажок — потянуть
Кухни нет — чайник где-то еще — ищем предмет похожий на чайник
И т.д.
А как будет действовать робот?
Роботы еще только учатся выполнять свои функции в непосредственной близости от людей. Они обучаются действовать, используя алгоритм планирования действий и абстрактное мышление. В этом процессе роботы исследуют свои возможности, а также изучают доступный им окружающий мир. Сначала случайным путем, а с появлением опыта — стремятся действовать наилучшим образом для достижения поставленной им локальной цели.
Функции выполняемые интеллектом
Можно заметить, что в голове у робота множество алгоритмов. Это алгоритмы восприятия окружающего мира, алгоритм обучения, различные механизмы обеспечения безопасности и многое другое. Также роботу необходимо пространство для обучения — школа нужна даже роботам. Для ускорения обучения на ранних этапах могут быть использованы различные виртуальные среды и среды симуляции.
Какие же функции, выполняемые интеллектом, нужны роботу?
В зависимости от назначения робота могут понадобиться разные интеллектуальные алгоритмы. Среди них могут быть алгоритмы:
Визуального восприятия мира
Ориентации в пространстве
Коммуникации (речь или передача данных)
Восприятия и обработки абстрактных понятий
Планирования
Принятия решений
И др.
Процесс создания мыслящих роботов достаточно сложный, но и очень интересный. Каждый робот обязательно включает программную и аппаратную начинку. Множество компаний в мире работают над созданием роботов и их различных частей. Одни производят компоненты, вроде приводов и различных сенсоров, другие разрабатывают новые типы приводов и сенсоров. Кто-то учит своих роботов ходить и кувыркаться, иные стараются наделить их антропоморфными признаками. Есть еще компании, которые работают над тем, чтобы наделить роботов и другие устройства интеллектом.
Всем нам еще предстоит пройти длинный путь, и на этом пути самых серьезных результатов смогут добиться те, кто не боится мечтать и стремится работать сообща, в партнерстве с другими коллективами.