Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Обсуждаем рождающиеся мысли и результаты экспериментов.

Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 29 ноя 2009, 20:57

Вводный пост для тех, кто хочет присоединиться к обсуждению проблемы:

Мысль №1.

Масса подходов к созданию элементов ИИ и неких подобий ИИ затыкается на самых первых шагах - что же есть этот самый ИИ и как понять, что мы его создали. Я считаю, что создание даже подобия ИИ - это прежде всего проект. Теория управления проектами гласит, что прежде чем начинать проект мы должны иметь критерии оценки, что проект завершен успешно, чтобы 100% понимать, куда мы идём.

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

Мысль №2.

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

Чтобы нам не пришлось придумывать хитрых способов определения целей существования робота - мы сделаем просто, зададим ему базовые мотиваторы типа боль (уровень повреждений), голод/сытость(уровень заряда батарей) и т.п.

Критерии оценки успеха проекта:

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

Один из типовых тестов может быть таким - робот находится в комнате, в которой кормушка закрыта воротами, которые открываются при нажатии на кнопку, кнопку можно придавить находящимся в комнате предметом Х, который робот может двигать. Либо кнопка открывает ворота на какое-то время. Роботу могут показать что кнопка открывает ворота или он может попробовать сам догадаться потыкаться во все предметы и понять что делает кнопка и что он может двигать предмет Х.

Первичные мысли по решению задачи проекта

Одной из основных проблем при построении робота с элементами ИИ является создание новых образов, такими какими их будет "видеть" это самый элемент ИИ :) то есть никаких явных программирований, пусть даже показываний пальцем, система должна иметь возможность самостоятельно без всяких подсказок разобраться в окружении что и как связано и какие действия вызывает.

Для этого надо какую-то распознавалку, которая будет иметь возможность кластеризации полученных данных в предполагаемые образы. Это в базовом варианте :)

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

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

Если даже в базовом варианте это реализовать и робот сможет разбираться в каких-то простых окружениях - думаю уже будет интересно :)

Ну и наконец - какие базовые проблемы нужно решить изначально для этого базового варианта:

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

Мысли возникшие в ходе обсуждения

1. Надо какое-то подобие пространственного мышления, в котором ПИИ сможет строить модели развития событий и выбирать свои действия.

2. Чтобы унифицированно подходить к распознаванию образов предлагается всю информацию со всех сенсоров после обработки препроцессорами скидывать в единое информационное пространство восприятия (далее ЕПВ), из которого уже в унифицированном формате модуль формирования и распознавания образов будет пытаться извлечь кандидаты в образы и распознать уже запомненные образы.

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

4. Чтобы действовать на разных уровнях планирования ПИИ может строить несколько планов из цепочек образов, например, уровня стратегического плана, тактического, оперативного.

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

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

3. Распознавать при этом мы можем достаточно тупым способом - почти перебором. Если очень не верится, что это реально - могу накидать примеры, хотя я считаю, что у нас полно других проблем и не гоже тут заниматься изобретением веосипедов :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Vorral » 03 дек 2009, 13:09

>то он сам поймет что этот мир выгоднее
Как он это поймёт не обладая 3-ей коордиантой? Тогда уж ему сначала нужно её дать(как мы дали "X" и "Y"), а там и смотреть.
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 03 дек 2009, 13:14

2Michael_K: Я думаю если в 3Д-модели, то все действия и т.п. можно прописывать в системе координат некой :) А там уже и простейшие операции можно будет прикидывать.

Например, если мы знаем, что камень летит по параболе, то мы можем его кинуть в любую горизонтальную сторону и примерно будем представлять куда он попадет :)

Или если мы знаем, что толкая цилиндр стоящий на полу (не катающийся, для простоты) мы двигаем его в сторону перпендикулярную своему бамперу, то мы будем понимать, как его сдвинуть в нужную нам сторону :)

Добавлено спустя 2 минуты 59 секунд:
Нет, я конечно понимаю, что внеся 3Д-модель мира явно - я не совсем корректно поступаю :)

Но у меня к сожалению нет нескольких миллионов лет, и триллионов особей, как у эволюции, чтобы создать структуру в которой это моделирование станет возможным :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Michael_K » 03 дек 2009, 13:23

Я вот, честно, нифига не уверен, что у меня в голове мир представляется
в декартовой сетке или, скажем, в полярных координатах.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 03 дек 2009, 13:26

А у нас нету задачи повторить то, что в голове - это сразу к нейросетевикам :)

Добавлено спустя 49 секунд:
У нас есть поставленная в первом посте задача, ну или какие-то вариации на тему, вот это и давайте решать, а не пытаться как обычно повторить что-то из головы :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Michael_K » 03 дек 2009, 13:26

Простой пример:
думаю многие тут играли в какой-нибудь квэйк с запутанными уровнями
и неплохо в них ориентировались. Однако многие ли смогли бы нарисовать
или представить 3D карту уровня? Насколько точна бы она была.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 03 дек 2009, 13:28

А кто сказал, что я предлагаю хранить в роботе полную карту в абсолютных координатах?
Даже SLAM так не делает :) (да, да, опять я про него :))
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Michael_K » 03 дек 2009, 13:32

А у нас нету задачи повторить то, что в голове - это сразу к нейросетевикам


А я с этим согласен.
Но механизм, который переводит дерево в такие инварианты
в которых объектов станет меньше, но они станут "сильнее",
(пусть и с некоторыми потерями или неоднозначностями) нужен так или иначе.

Так мы разделим важные фичи объектов от наблюдаемых свойств объектов
(эмм... великого и могучего слегка не хватает).

А с таким механизмом модель мира будет стремится стать оптимальнее
в информационном смысле, будь то 3D или "чем кошка отличается от собаки"
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 03 дек 2009, 13:35

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

Т.к. "Знание принципов избавляет от необходимости знания подробностей" :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Michael_K » 03 дек 2009, 13:46

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

Тут есть еще один вопрос, нужно ли роботу отличать кошку от собаки,
не будет ли такая модель мира сильно избыточной для его задач.
И точно так же - нужна ли роботу 3D модель мира...

Впрочем - это все в порядке бреда, не так ли? :)

Добавлено спустя 7 минут 42 секунды:
А уж по поводу параболы - вообще перебор.
Люди в большинстве понятия не имеют, по какой там кривой летит камень,
тем не менее и дети пятилетние и обезьяны успешно умеют кидать.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 03 дек 2009, 13:48

Ну у нас то вроде пока нету задачи отличать кошку от собаки? :)

Предлагаю не отклоняться от поставленных задач неявно, только если явно корректировать поставленные задачи.

В рамках поставленной задачи я представляю, куда будет полезна роботу 3Д-модель мира. Можно обсудить этот момент, это будет логично.

Добавлено спустя 1 минуту 32 секунды:
Michael_K писал(а):А уж по поводу параболы - вообще перебор.
Люди в большинстве понятия не имеют, по какой там кривой летит камень,
тем не менее и дети пятилетние и обезьяны успешно умеют кидать.

А я сказал, что роботу надо знать это слово или хранить у себя формулу параболы? Нет.
Я сказал, что образ движения скорее всего запоминается, пусть даже подсознательно, просто в виде кривой, не обязательно с пониманием формул или причин. Так же, как запоминаем форму букв, которые мы пишем в первых классах в тетрадках.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Michael_K » 03 дек 2009, 13:56

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


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

Это задача (структурирование внутреннего мира, генерация моделей мира) -
как раз для внутренней мозговой активности, не завязанной впрямую на
воспринимание инфы извне. Уверен, что без нее не обойтись никак.

Добавлено спустя 2 минуты 46 секунд:
Такой процесс может быть только итерационным в реальном мире
(если исключать тривиальные случаи, где оптимальные решения получаются аналитически,
типа Karhunen-Loève, который сам по себе страшно вычислительно тяжелый даже в одномерном пространстве)
и скорее всего бесконечным (при изменяющихся целях, условиях, поступлении новой информации).
Самое простое использовать методы случайных мутаций
(типа монте-карло) с закреплением удачных вариантов.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 03 дек 2009, 14:05

2Michael_K: Возможно мы по разному воспринимаем "генерацию образов" - я под ней понимаю выделение чего-то из ЕВП, а у вас похоже это генерация чего-то воображаемого?

Я просто пока с трудом представляю - сколько мы будем добавиться формирования 3Д-модели в роботе, если не заложим это явно. И в человеке думается что-то такое изначально заложено, хотя не вижу возможностей как-то это проверить.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Vorral » 03 дек 2009, 14:19

>Я просто пока с трудом представляю - сколько мы будем добавиться формирования 3Д-модели в роботе, если не заложим это явно.
+1 Явно указать ему координату Z, будет в десятки, если не сотни раз проще, чем попытаться получить её, создав ИИ. Ведь как пишут в литературе у человека за это отвечает отдельная область. Проще написать её отдельным модулем и уже в будущем, если позволит его ИИ сделать это самостоятельно. То заменить этот модуль на модуль следующего поколения, выполненный с использованием технологии, которая будет доступна в рамках этой темы(если что то получится).
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение Michael_K » 03 дек 2009, 14:22

О-кей...

а у вас похоже это генерация чего-то воображаемого?

И это тоже... Не обязательно воображаемой отсебятины (хотя я бы этого не исключал :))
Хотя бы просто "перетряхивания" структур дерева-образов в пространства новых признаков
(но не образов, если робот не должен быть выдумщиком)...

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

Меняются только термины-признаки, которыми они описываются.
Цель этих преобразований - получить информационно-компактное пространство объектов
или, если хотите, выделить наиболее важные фичи.

Ну хорошо, для ясности забьем :)

Эмм... а какие еще блоки, по-вашему, должны присутствовать в "структуре мозга"?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Почти RoboBrain. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение =DeaD= » 03 дек 2009, 14:25

Думаю вечером следующую серию мыслей напишу, пока по работе загруз.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49