Одно из определений понятия “мышление”, которые можно найти, гласит:

Мышление — это способность человека рассуждать, представляющая собой процесс отражения объективной действительности в представлениях, суждениях, понятиях.
Иначе говоря, процесс мышления неразрывно связан с объективной действительностью через представления и понятия, которыми он оперирует. Для робота это означает необходимость “видеть” в прямом и переносном смысле, а также “понимать”.


Мыслящий робот


Так что же такое мыслить, и можно ли научить этому робота?


What?

«Научить робота», «робот мыслит»… ЧТО???


Исходя из определения понятия “мышление”, мыслить можно именно научить. Это подтверждают и наиболее успешные решения в области Искусственного интеллекта (ИИ), использующие именно возможность систем обучаться.


Так зачем нужен мыслящий робот


Мыслящий робот — это тот самый робот, которого ожидает “человек”. Робот, с которым будет достаточно просто взаимодействовать обычному человеку и который сможет взаимодействовать с меняющимся человеческим окружением. На сегодня создание такого робота — огромный вызов для любой компании.


Любая задача в человеческом окружении, например дома, становится невыполнимой сейчас даже для самого навороченного робота.


Для примера давайте рассмотрим команду “Приготовь чай”. Для понимания даже упростим ее до “Поставь чайник”. Это высоко-абстрактная команда, которая совершенно привычна для человека. “Думать” и “мыслить” совершенно обычные и понятные для человека процессы и часто множество задач люди выполняют на подсознательном уровне, т.е. не задумываясь сознанием.


Попробуем решить ее осознанно. Перед выполнением данной задачи необходимо ответить на вопросы: “Что?”, “Где?” и “Когда?” нужно сделать.


  • когда? — ответа и указаний нет, значит, вероятно, безотлагательно
  • что? — ответ есть в задаче, но не в явном виде: поставить чайник = включить чайник с водой. Формулировка задачи “поставить чайник” для человека незнакомого с подобными терминами будет существенным осложнением. Значит и роботу необходимо знать терминологию, применяемую в данной сфере. Очевидно, что в нашем понимании сейчас эти фразы очень близки по смыслу. Получается роботу необходимо не только знать слова (терминология), но и понимать смысл целых фраз. Об этом чуть позже.
  • где? — ответа нет, но человек может размышлять так: “чайник обычно находится на кухне” или “я видел чайник на кухне”. И если робот не мыслит, то для него подобный ответ недоступен. Роботу, для того чтобы найти ответ, необходимо знать терминологию, уметь использовать визуальное восприятие мира и уметь воспринимать и обрабатывать абстрактные понятия.

Абстрактное мышление


Так, а что значит “абстрактно” или “абстракция”?

Абстракция — мысленное отвлечение, обособление от тех или иных сторон, свойств или связей предметов и явлений для выделения существенных их признаков.
Получается, что абстрактные понятия в языке неразрывно связаны с терминологией.

Сегодня существуют довольно неплохие языковые модели для задач перевода и обработки речи, и очень часто в них применяется модель векторного представления слов, т.е. терминологическая модель, например, word2vec. Она не лишена недостатков, но очень любопытно, что она позволяет роботу “выучить” понимание однозначных слов в рамках одного терминологического поля, и может служить некоторой образной картой абстракций.


Такая модель, например, позволит алгоритму пройти по цепочке:


молоко > холодильник > кухня


или, как в нашем случае:


чайник > кухня


Существующие языковые модели также используют другие подходы, например, различные модели рекуррентных сетей RNN для задач обработки естественного языка. Такие модели способны обучиться выделять смысл и, после обучения, сказать:


поставить чайник ? включить чайник с водой


Итак, теперь робот знает что делать: ему необходимо безотлагательно включить чайник с водой на кухне, но пока еще не знает как.


Как же обычно мыслит человек? Необходимо:

  1. Добраться в нужное место — Кухня
  2. Найти нужный объект — Чайник
  3. Найти на чайнике Кнопку включения
  4. Нажать Кнопку включения чайника


Каждую из этих задач необходимо, кроме всего прочего, превратить в движение ног и рук или колес и манипуляторов. Можно заметить, что в процессе исполнения многое может пойти не по плану. Человек достаточно просто решает мелкие трудности:


  • Дверь на кухню закрыта — открыть
  • Дверь не открывается — спросить у людей вокруг или вызвать специалиста
  • В чайнике нет воды — набрать воды из-под крана
  • На чайнике не кнопка, а рычажок — потянуть
  • Кухни нет — чайник где-то еще — ищем предмет похожий на чайник
  • И т.д.


А как будет действовать робот?


Роботы еще только учатся выполнять свои функции в непосредственной близости от людей. Они обучаются действовать, используя алгоритм планирования действий и абстрактное мышление. В этом процессе роботы исследуют свои возможности, а также изучают доступный им окружающий мир. Сначала случайным путем, а с появлением опыта — стремятся действовать наилучшим образом для достижения поставленной им локальной цели.


Функции выполняемые интеллектом


Можно заметить, что в голове у робота множество алгоритмов. Это алгоритмы восприятия окружающего мира, алгоритм обучения, различные механизмы обеспечения безопасности и многое другое. Также роботу необходимо пространство для обучения — школа нужна даже роботам. Для ускорения обучения на ранних этапах могут быть использованы различные виртуальные среды и среды симуляции.



Какие же функции, выполняемые интеллектом, нужны роботу?


В зависимости от назначения робота могут понадобиться разные интеллектуальные алгоритмы. Среди них могут быть алгоритмы:


  • Визуального восприятия мира
  • Ориентации в пространстве
  • Коммуникации (речь или передача данных)
  • Восприятия и обработки абстрактных понятий
  • Планирования
  • Принятия решений
  • И др.


Процесс создания мыслящих роботов достаточно сложный, но и очень интересный. Каждый робот обязательно включает программную и аппаратную начинку. Множество компаний в мире работают над созданием роботов и их различных частей. Одни производят компоненты, вроде приводов и различных сенсоров, другие разрабатывают новые типы приводов и сенсоров. Кто-то учит своих роботов ходить и кувыркаться, иные стараются наделить их антропоморфными признаками. Есть еще компании, которые работают над тем, чтобы наделить роботов и другие устройства интеллектом.

Всем нам еще предстоит пройти длинный путь, и на этом пути самых серьезных результатов смогут добиться те, кто не боится мечтать и стремится работать сообща, в партнерстве с другими коллективами.

Комментарии (9)


  1. LastNormal
    19.03.2018 00:59

    Опять птаются научить тому о чм сами имеют очень мутное представление :)
    И оперируют понятием «обеъктивная реальность».
    ИМХО самый классный алгоритм для робота гипотетический прописан… Пелевиным. В SNUFF в разговоре с сурологом о принципе работы суры.


    1. lpwaterhouse
      19.03.2018 10:01

      Пелевина в приличном обществе не упоминают.


  1. vassabi
    19.03.2018 01:19

    Роботов заставляют «мыслить»
    какой ужас!
    несмотря на сопротивление железных резисторов, эти человеки заставляют их мыслить!


  1. OMR_Kiruha
    19.03.2018 09:05

    Был такой исследователь в советское время, Эвальд Ильенков. Самым большим его достижением было изучение мышления и Загорский эксперимент. В результате этого эксперимента было выяснено как формируется у человека мышление, интеллект и личность.
    Ссылку на десертацию не найду, а вот ссылку на статью — пожалуйста caute.ru/ilyenkov/texts/ums/ii.html
    По прочтению обеих статей напрашиваются выводы:
    -чтобы робот мог мыслить у него должна быть физическая возможность это делать. Робот должен обладать подобием мозга, нервной системы и вообще тела человека(повторяю подобием)
    -чтобы робот имеющий потенциальную возможность мыслить должен обучаться и воспитываться как ребёнок и робот должен будет пройти все этапы развития аналогичные человеческим от рождения до взрослого мыслящего человека
    -в полной мере мыслящий робот на данный момент невозможен(нет аналога физического тела человека и мозга)
    P.S. Вперёд, друзья, к новым свершениям.


  1. Ckpyt
    19.03.2018 09:11

    "Поставь чайник".

    Ну вы, блин, и задачки задаете! У меня не всегда получается ее выполнить, а вы ее роботам задаете. В кругосветке было весело с переходниками/розетками. Приезжаешь в новую страну — а там свой, местный стандарт… Или жена один раз воткнула чайник на 12А в удлинитель на 10А. Еще веселее стало, когда кипятильник сгорел. Проклятые буржуины не знают что такое кипятильник и зачем он нужен! Только в Индии нашли...


    П.с. решение задачи интересно именно что в новой обстановке. В обыденной — это абсолютно не интересно, потому что задача УЖЕ решена и только повторяется.


    1. barbanel
      19.03.2018 11:19

      В обыденной — это абсолютно не интересно, потому что задача УЖЕ решена и только повторяется

      Да легко!
      — Я купил новый чайник, и он отличается от старого как по цвету/форме так и способу взаимодействия (вместо одной кнопки — несколько, + несколько регуляторов).
      — Я поменял на кухне мебель. Расположение 50-70% кухонных предметов изменилось. Чайник теперь не стоит на открытом месте, его нужно достать.
      — Старый чайник стоит на старом месте. Но сегодня он отказывается включаться/заклинило крышку.

      Для таких случаев предлагаю научить робота фразе «Ой, все!» =)


      1. OMR_Kiruha
        19.03.2018 12:07

        Робот должен определять всю окружающую его обстановку, определять чайник, уметь перейти от абстрактного чайника в команде человека к конкретному чайнику стоящему на кухне. Робот должен иметь все необходимые методы манипуляций с чайником. Да к тому же желательно чтобы робот сам мог выработать эти методы, а не так что всё основано на машинном зрении и формальном программировании.
        Предрекаю что сильный ИИ(робот) будет обучаться как человеческий ребёнок, постепенно овладевая как своим телом и его органами чувств(да, не будет в СИИ никакого машинного зрения, зрение, различение предметов будет самостоятельно освоено СИИ, а не запрограммировано, пусть даже через нейросеть), различными уровнями абстрагирования и логическим операциям с абстракциями


  1. hengenvaarallinen
    19.03.2018 15:05

    Формализовать признаки кухни тоже та еще задачка


    1. eugenius_nsk
      21.03.2018 05:43

      Элементарно — «место, где обычно стоит чайник»