GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.4 (8)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Робот-слуга
Yandersen
Сообщений: 351
На: Робот-слуга
Добавлено: 25 авг 16 11:55
Изменено: 25 авг 16 12:22
Цитата:
Автор: Yandersen
Пора бы уже начать думать в техническом ключе и приближаться к программной реализации этого узла.
Ментальный эксперимент выявил проблему. Рассмотрим на примере сенсорной картины, состоящей из сигналов трёх сенсоров (А,Б,В). Пусть сенсоры Б и В напрямую зависят от исполнения моторных функций. Возьмём два примера - первый банальный, второй - проблемный.

1) Пусть И обнаружил, что А принимает значение "а" когда Б="б" и В="в". В таком случае, если целью будет А="а" целевая сенсорная картина переинтерпретируется в {Б="б" && В="в"}. Тут всё очевидно.

2) А в этом примере А принимает значение "а" при разных значениях Б и В, но общей закономерностью является лишь то, что А="а" в тех случаях, когда Б>В. В таком случае нет однозначного варианта переинтерпретации картины для цели А="а": требуемое значение Б является функцией от В ( Б=f(В) ), а значение В - функцией от Б ( В=f(Б) ).

[Если брать пример сложнее с несколькими этапами переинтерпретации, то такое выражение через функции может привести к возникновению рекуррентности, когда функция, выражающая требуемое значение сенсора включает в качестве переменных функцию от того же самого сенсора. Задача может быть трудной или нерешаемой вапще, не имея алгоритмизируемого общего вида решения. Поэтому я щитаю выражение целевых значений сенсоров через функции мёртвым путём, этого надо избежать.]

Можно предположить, что для второго примера существет два зеркальных варианта переинтерпретации картины, отличающихся тем, значение какого сенсора назначить целевым: если не трогать Б, то целью будет получить В<"б", т.е. понизить сигнал сенсора В. Другая вариация - не трогать В и затребовать повышение значения Б. А можно и равноправный вариант применить - затребовать одновременно повышение значения Б и понижение В (В<"б"&&Б<"в").

В любом случае, второй пример показывает, что сенсорная картина (т.е. массив значений сенсорных сигналов) и целевая сенсорная картина не могут быть представлены одним и тем же форматом данных (как тупо массивы значений). В целевой сенсорной картине значение каждого сенсора является не обязательно конкретным значением (Х="х"), а может быть выражено в виде интервала (Х>"х"), диапазона значений (X>"x" && X<="y") или вапще множества значений ( X={"x","y",...} ).
[Ответ][Цитата]
Yandersen
Сообщений: 351
На: Робот-слуга
Добавлено: 28 авг 16 15:02
Андрей, Вы уже потеряли интерес к топику? Если вдруг нет, у меня появились кое-какие идеи...
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Робот-слуга
Добавлено: 28 авг 16 16:04
1. Мой интерес к роботам продиктован в первую очередь тем, что они будут нашими слугами, поэтому данный топик я считаю одним из самых главных на форуме, просто добавить по существу мне пока нечего.
2. У меня у самого есть подобный топик и я его не развиваю по тем же соображениям. А повторять уже сказанное - не вижу смысла.
3. Чтобы существенно продвинуть вопрос построения искусственного восприятия, мотивации, воли и прочего, как мне кажется, необходимо разобраться с искусственным сознанием раз и навсегда. Этот назойливый вопрос, который постоянно откладывается на потом или выноится за скобки, перезрел.
4. NO. задал интересную задачку, думаю о ней.
5. Это - Ваш топик, Вы вольны писать в него любые мысли. Ведь форум не только место диалога, но и своеобразный блог. А если что-то срезонирует - народ подключится.
[Ответ][Цитата]
Luarvik.
Сообщений: 17287
На: Робот-слуга
Добавлено: 28 авг 16 16:32
Изменено: 28 авг 16 16:40
Тут сам собой напрашивается вопрос: должна ли быть у робота личная жизнь, свои собственные интересы, которые никого не касаются и как быть с ответственностью за совершаемые им действия ?
В не столь древнем мире, если хозяйский бык кого-то забодал - его отправляли на мясо, а хозяина пороли.
Вопрос с роботами возникает весьма серьезный о субъектности права.
По всей видимости и здесь придется искать тонкое равновесие между правами и обязанностями .
Много говорится об аппаратной и алгоритмической архитектуре, но мало, или почти ничего не сказано об архитектуре решаемых задач, среди которых есть "жизненно" необходимые, неотложные, актуальные, текущие, отсроченные, запредельные и т.д. и т.п.
[Ответ][Цитата]
Yandersen
Сообщений: 351
На: Робот-слуга
Добавлено: 28 авг 16 23:42
Изменено: 28 авг 16 23:56
Согласен, интересная тема для дискуссии, кстати КОТ уже указывал на это. Но будет оффтопом. Перенесите куда-нить в свой топиик или создайте отдельный - пост вскоре удалю.
Цитата:
Автор: Андрей
3. Чтобы существенно продвинуть вопрос построения искусственного восприятия, мотивации, воли и прочего, как мне кажется, необходимо разобраться с искусственным сознанием раз и навсегда. Этот назойливый вопрос, который постоянно откладывается на потом или выноится за скобки, перезрел.
Что за проблема, не понял, можно поподробнее?
[Ответ][Цитата]
Yandersen
Сообщений: 351
На: Робот-слуга
Добавлено: 29 авг 16 1:30
Я размышлял о программной реализации главных принципов работы ИИ в моей интерпретации. Насчёт формата входящей информации, вроде, всё банально: каждый такт работы опрашивается массив сенсоров и полученный массив значений (тип значений - float, диапазон [0...1]) записывается новой колонкой в матрицу, в которой хранятся все предыдущие их значения (этот массив и есть "сенсорная картина", "СК"). Таким образом робот "помнит" всё, что с ним происходило до данного момента (насколько ресурсы памяти позволяют). Т.е. в колонках СК собраны значения всех сенсоров в определённый момент времени, а в строках СК находятся значения одного и того же сенсора во все моменты времени.

На следующем этапе колонки СК сканируются на наличие в них повторяющихся паттернов. Возникновение паттернов в СК обусловлено тем, что каждый объект внешнего мира состоит из неразрывно связанных между собой регистрируемых сенсорами признаков. Таким образом, если группа сенсоров (или в простейшем случае лишь один сенсор) одновременно принимают одно и то же значение в разных колонках, мы можем предположить, что это вызвано регистрацией определённого объекта (общо говоря, "сущности") сенсорным аппаратом робота.

Процесс выявления паттерна мне видится таковым:
1) в каждой новой добавленной колонке мы берём поочерёдно каждое значение;
2) затем двигаемся по строке, и если встречаем такое же значение, сравниваем две эти колонки;
3) те части колонок, что совпадают в обеих - и есть искомый паттерн;
4) пройдя по всем значениям новой колонки и выделив все нововстреченные паттерны мы ищем совпадающие паттерны, чтобы отсеять повторки.

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

Как работает ВС? Он, как и обычные сенсоры, выдаёт значение в пределах [0...1], но в зависимости от того, присутствует ли соответствующий ему паттерн в свежедобавленной колонке СК: 1 если 100% совпадения и 0, если 0% совпадения. Как вычисляется процент совпадения расписывать не буду, важно лишь то, что 100% означает совпадение значений всех входящих в паттерн ячеек один-в-один.

Так мне видится информационное представление мира роботом - каждой сущности окружающего мира (как то объект, ситуационная картина, какая-то характеристика чего-либо или собственное состояние) соответствует свой сенсор (обычный или виртуальный), эту сущность регистрирующий: значение 0 говорит об её отсутствии, значение 1 - о присутствии, а значение в диапазоне (0...1) - о возможном или частичном присутствии.

Ну а теперь о накоплении опыта, т.е. о выделении взаимосвязей между изменениями состояний сенсоров. Изменение выдаваемого сенсором значения имеет причину, т.е. увеличение / уменьшение / принятие какого-то определённого значения / значение в диапазоне между... - это следствие процесса взаимодействия сущностей реального мира. А взаимодействуют они по определённым законам. Чтобы робот мог этим воспользоваться для достижения своих целей, он должен изучить характер этих изменений и выделить как можно большее количество взаимосвязей между ними.

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

Таким образом опыт - это совокупность выделенных зависимостей между изменениями состояний отдельных сенсоров.

По каким алгоритмам выделять в СК эти зависимости (т.е. накапливать опыт, строить "модель мира"), как программно их описывать и как применять выделенные зависимости для целедостижения - об этом и предлагаю сейчас поговорить.
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Робот-слуга
Добавлено: 29 авг 16 17:27
Цитата:
Автор: Yandersen
каждый такт работы опрашивается массив сенсоров и полученный массив значений (тип значений - float, диапазон [0...1])

Как работает ВС? Он, как и обычные сенсоры, выдаёт значение в пределах [0...1], но в зависимости от того, присутствует ли соответствующий ему паттерн в свежедобавленной колонке СК: 1 если 100% совпадения и 0, если 0% совпадения.

Изменение выдаваемого сенсором значения имеет причину, т.е. увеличение / уменьшение
Тут нарисовался ряд вопросов, их нужно разрешить.
1. Значение сенсора [0...1] характеризует что? Его интенсивность, нарастание/убывание или вероятность? Из Вашего описания можно сделать любой из этих выводов. Я полагаю, что сенсор характеризуется интенсивностью, из анализа памяти которой можно выяснить нарастала она или убывала.
2. Человеческое восприятие не оперирует вероятностями. Восприятие всегда однозначно и абсолютно. При этом оно может абсолютно ошибаться, но оно не может находиться в состоянии неопределённости.
3. Представим, что робот наблюдает вращающийся чайник. Когда выступающие части чайника скрываются из вида - они перестают восприниматься, однако в память робота должно записываться, что он продолжает наблюдать именно чайник. Я веду к тому, что объект не всегда опознаётся по всем своим признакам. Более того, я уверен, что в большинстве случаев объекты идентифицируются однозначно при распознании всего одного-двух признаков.

Цитата:
Автор: Yandersen
Что за проблема, не понял, можно поподробнее?
Подробно в специализированном топике.
Здесь в двух словах могу сказать. Когда человека спрашивают, например, "Осознаёшь ли ты, что натворил?" или "Ты осознанно принимаешь это решение?" - имеют в виду предельно возможный уровень вовлечения мыслительных ресурсов человека в принимаемое решение. Считается, что если человек что-то совершил в сознании, то он сделал всё, что мог. Но что по существу имеется в виду? Что в этом сознании такого особенного? А такого в нём то, что сознание позволяет соединить всё со всем. То что секунду назад воспринималось задачей, через секунду под управлением сознания уже признано инструментом, а ещё через секунду - мусором. Сознание позволяет ставить задачи максимально абстрактного уровня, выделять самые мелкие детали, конструировать совершенно произвольные комплексы ЦСК. Как я полагаю сейчас, сознание - это реактор - место постоянного создания/разрыва соединений (связей, коммуникаций). В стиле Egg'а, наверное можно было бы сказать, что сознание управляет сложностью или в его работе проявляется такое управление.
В ключе данного топика совершенно понятно, что было бы очень желательно, чтобы робот-слуга обладал проверяемым сознанием, это было бы гарантией максимальной вовлечённости его мыслительных ресурсов в служение. А для этого необходимо понять по каким принципам сознание работает.
Часто на форуме можно услышать байку о том, что дескать сознание человека может вместить не более 7-и объектов. Чушь конечно. Очевидная. Даже если примерно прикинуть сколько объектов находится одновременно в моём сознании то это число, минимум, с четырмя нулями. Другое дело что этот массив очень эффективно фильтруется сознанием, выделяя ситуативно главное.

Цитата:
Автор: Yandersen
опыт - это совокупность выделенных зависимостей между изменениями состояний отдельных сенсоров
Да, в первом приближении, думаю, с этим можно согласиться.
[Ответ][Цитата]
Yandersen
Сообщений: 351
На: Робот-слуга
Добавлено: 29 авг 16 23:08
Изменено: 29 авг 16 23:21
Цитата:
Автор: Андрей
1. Значение сенсора [0...1] характеризует что?

А что вообще такое - сенсор? Это дискретный специализированный аппарат регистрации конкретной сущности реального мира. К примеру датчик заряда батареи, показывающий текущий уровень заряда. Выдаваемое им значение показывает состояние регистрируемой им сущности: значение 1 означает полный заряд: это значение практически означает, что батарея полностью заряжена и дальнейшая зарядка бессмысленна; значение 0 практически означает израсходование всей батареи, невозможность роботом действовать; значение, скажем, меньше 0.1 может означать, что энергии хватит лишь для того, чтоб добраться до зарядной станции; значение в диапазоне [0.1...1] робот может интерпретировать как рабочий диапазон. Т.е. разные состояния данного сенсора несут в себе различный практический смысл.

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

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

Ну а границы диапазона возможных значений [0...1] тоже для конкретики выбрал. Чтобы заранее знать макисмально и минимально возможное значение, которое любой сенсор может принимать. Интуиция подсказывает, что это также сыграет свою роль в упрощении нашей следующей задачи.
Цитата:
Автор: Андрей
3. Представим, что робот наблюдает вращающийся чайник. Когда выступающие части чайника скрываются из вида - они перестают восприниматься, однако в память робота должно записываться, что он продолжает наблюдать именно чайник. Я веду к тому, что объект не всегда опознаётся по всем своим признакам. Более того, я уверен, что в большинстве случаев объекты идентифицируются однозначно при распознании всего одного-двух признаков.

Неверно. Робот запоминает лишь то, что данный признак был замечен некоторое количество тактов назад (ведь показания сенсоров записываются в СК). Робот может "понимать", что перед ним чайник потому, что несколько тактов назад он видел его носик.
---
Насчёт сознания - я бы не стал это сюда приплетать, это относится к общим характеристикам полноценной системы и вапще я считаю такой же абстракцией, как ассоциирование, творчество и пр. слова без ясного конкретного практически целесообразного (как минимум на данной стадии развития топика) смысла. Филосовский это вопрос, общий и размытый. Хотелось бы держаться более в инженерном ключе чтоли.
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Робот-слуга
Добавлено: 30 авг 16 16:40
Цитата:
Автор: Yandersen
в дальнейших планах у нас нахождение взаимосвязей между сенсорами
И, что более интересно - между показаниями сенсоров и своими собственными действиями. Ведь шевелить лапами - это активность "изнутри-наружу" и её нужно запускать в особые моменты, когда это будет целесообразно. А если, как мы договорились, цель - это достижение ЦСК, то роботу нужно выяснить из анализа своего опыта и запомнить, какого рода активность приводит к заданной ЦСК. И тут возникает один из моих любимых вопросов (который хорошо решается в рефлекторной схеме), как Вы видите целесообразную активность робота в самый первый раз, когда робот ещё не знает какую активность и где нужно проявлять? Ведь чтобы научиться правильно шевелить лапами, нужно получить опыт шевеления ими, и через анализ памяти связать действия с сопутствующим сенсорным опытом. Но шевеление лапами всегда должно быть целесообразным. Иначе можно получить сильную попаболь... Как же роботу правильно совершить действие в самый первый раз? В каком смысле оно будет "правильным" и целесообразным? Если никакого опыта шевеления ещё нет. Получается парадокс - чтобы научиться шевелить лапами, нужно уже уметь шевелить лапами.

Цитата:
Автор: Yandersen
Робот может "понимать", что перед ним чайник потому, что несколько тактов назад он видел его носик.
Точнее, потому что он до сих пор видит видимые части чайника и связывает эти части с невидимыми в данный момент. Т.е., как я и сказал, опознаёт объект целиком по ограниченному количеству его признаков.
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Робот-слуга
Добавлено: 30 авг 16 23:50
Изменено: 31 авг 16 0:46
Цитата:
Автор: Андрей
...Получается парадокс - чтобы научиться шевелить лапами, нужно уже уметь шевелить лапами...


Никакого парадокса нет. Ситуация равносильна той, что и со стороны сенсоров, а не только со стороны эффекторов (уж не говорю о том, что и "внутри" мозга то же самое).
Ощущение парадокса может быть связано с тем, что под словом "уметь" подразумевается уметь именно так как надо. Но прелесть в том, что уметь как надо, это уже следующий этап, этап отбора и сохранения того "как надо", но до этого просто обязано быть шевеление то так, то сяк (включая "так как надо") и "парадокса" соответственно не будет.
[Ответ][Цитата]
Yandersen
Сообщений: 351
На: Робот-слуга
Добавлено: 31 авг 16 0:07
Цитата:
Автор: Андрей
Как же роботу правильно совершить действие в самый первый раз?
Бинго! Я ждал этого вопроса!

Взглянем на эволюцию мозга. Как мы знаем, этот процесс пошаговый - при каждом эволюционном скачке каждая новая фича добавляется как апгрэйд - полностью принцип функционирования не заменяется на иной. Таким образом, изначально были безусловные рефлексы. Затем добавились условные - исполнение безусловных рефлексов в ответ на предетерминированные раздражители начало связываться с условиями их срабатывания, после чего условия срабатывания стали запускать те же самые рефлексы. И уж потом добавилась фича планирования. Грубо говоря, ибо очевидно, что я много пропустил, но для краткости сойдёт. Суть в том, что все предыдущие фичи всё так же присутствуют в человеческом мозге - рефлексивное исполнение действий всё так же имеет место быть.

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

Но в ИИ мы можем схитрить. Можно заменить рефлекторную систему дистанционным управлением, чтобы изначально управлять роботом вручную. Ну или базовую программу действий напишем.

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

Если же опыта недостаточно, рекурсивный циклический процесс переинтерпретации может оборваться на неэффекторных сенсорах, для которых нет возможности переинтерпретации (если не известно зависимости, которая приводит значение сенсора в требуемое). В таком случае переинтерпретация "вылетает с ошибкой" и исполнения не произойдёт.
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Робот-слуга
Добавлено: 31 авг 16 0:45
Цитата:
Автор: Андрей
... Как же роботу правильно совершить действие в самый первый раз?...

Цитата:
Автор: Yandersen
Бинго! Я ждал этого вопроса!

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

Вопрос остался... - а вместо объяснения просто заменены слова. Итак, старый вопрос с новыми словами. Как же роботу (И системе) правильно совершить действие (правильно посчитать целесообразным) в самый первый раз...?
[Ответ][Цитата]
Yandersen
Сообщений: 351
На: Робот-слуга
Добавлено: 31 авг 16 2:47
Ну так переинтерпретация целей же, основной принцип. Необходим опыт, пусть дискретный, о всех вовлечённых в генерируемое решение процессах. Например если А приводит к Б, а Б к В (два не связанных дискретных результата наблюдения), и А - сенсор собственной моторики, то когда потребуется получить В, робот переинтерпретирует задачу как требование Б, что затем переинтерпретируется как требование А. И поскольку А - моторный сенсор, то результатом будет активация А. Предельно упрощённо говоря.
[Ответ][Цитата]
гость
78.25.123.*
На: Робот-слуга
Добавлено: 31 авг 16 3:23
Y.> рекурсивный циклический процесс переинтерпретации
хотелось бы иметь слугу который в принципе не может зависнуть - либо систему с автоперезапуском, либо систему со структурными гарантиями от зависания (типа потоковой кольцевой архитектуры (или нейромашины которая не способна зависнуть или которая легко выходит из зависания).
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Робот-слуга
Добавлено: 31 авг 16 3:33
Цитата:
Автор: Yandersen
Ну так переинтерпретация целей же, основной принцип. Необходим опыт, пусть дискретный, о всех вовлечённых в генерируемое решение процессах. Например если А приводит к Б, а Б к В (два не связанных дискретных результата наблюдения), и А - сенсор собственной моторики, то когда потребуется получить В, робот переинтерпретирует задачу как требование Б, что затем переинтерпретируется как требование А. И поскольку А - моторный сенсор, то результатом будет активация А. Предельно упрощённо говоря.

Умный же у Вас робот..., все сразу знает, даже "переинтерпретировывать" умеет...
[Ответ][Цитата]
 Стр.4 (8)1  2  3  [4]  5  6  7  8<< < Пред. | След. > >>