Почти 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. Идея элементов ИИ. Пока в порядке бреда :)

Сообщение MrDetonator » 30 ноя 2009, 12:53

А кто видел эту статью: http://cordially.narod.ru/mind/consciousness.html ?
Идея очень похожа на эту. Там даже есть программка, в которой реализован способ достижения своих целей без обучения:
http://cordially.narod.ru/files/tmpbrain-2003-09.zip
MrDetonator
 
Сообщения: 50
Зарегистрирован: 08 окт 2009, 14:58
Откуда: Москва

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

Сообщение =DeaD= » 30 ноя 2009, 12:59

AndreiSk писал(а):К делу не относится, но вопросы подобные описанным в статье
( http://www.gamedev.ru/gamedesign/articles/design_mmorpg ),
возникнут почти сразу. И целая пачка.

По-моему надо спуститься с небес на землю. Какие в баню балансы городов и возможность голосовать в совете города у NPC? Я же привел пример - надо чтобы элементы ИИ учились разбираться сами в простейших окружениях.

Добавлено спустя 5 минут 19 секунд:
MrDetonator писал(а):А кто видел эту статью: http://cordially.narod.ru/mind/consciousness.html ?
Идея очень похожа на эту. Там даже есть программка, в которой реализован способ достижения своих целей без обучения:
http://cordially.narod.ru/files/tmpbrain-2003-09.zip

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

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

Сообщение EDV » 30 ноя 2009, 13:20

А я бы посоветовал приглядеться к PatternRecognition.h ->
iPatternRecognition::GetBeacons или iPatternRecognition::GetTrackedBeacons.

Смотрите пример из «Navigator Tool Kit»:
.\samples\src\BeaconsTest\BeaconsTest.cpp

Там заложена автоматическая кластеризация по образам. Этой системе просто нужно показывать побольше видео, из которого она будет извлекать всё новые и новые образы.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

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

Сообщение Виктор Казаринов » 30 ноя 2009, 13:28

Наверное, одной кластеризацией не обойтись. Нужна и классификация и идентификация.
М.б. имеет смысл сообща порешать проблему распознавания в контексте его влияния на общее поведение робота? Или каждый хочет остаться в своей норке?
Проект Robosonic RS http://www.aigod.com
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1387
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

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

Сообщение =DeaD= » 30 ноя 2009, 14:01

Ну классификация и кластеризация - вроде одного поля ягоды, а распознавание (идентификацию) я и не предлагал отделять.

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

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

Сообщение MrDetonator » 30 ноя 2009, 14:02

=DeaD= писал(а):http://cordially.narod.ru/files/tmpbrain-2003-09.zip
Да, читал эту статью, смущают готовые данные приятного вида на входе в этот элемент ИИ - зрение указывающее с какой стороны цветок. Это очень плохо. Половина задачи решена за элемент ИИ, ни тебе формирования образа ни других похожих хотя-бы чуть-чуть образов.

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

Вот он создает некий "образ": создает ассоциацию - "направление-удовлетворение желания".
Последний раз редактировалось MrDetonator 30 ноя 2009, 14:10, всего редактировалось 1 раз.
MrDetonator
 
Сообщения: 50
Зарегистрирован: 08 окт 2009, 14:58
Откуда: Москва

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

Сообщение Виктор Казаринов » 30 ноя 2009, 14:09

=DeaD= писал(а):Ну классификация и кластеризация - вроде одного поля ягоды
Одного поля, но ягоды с разным вкусом.
=DeaD= писал(а):но не буду же я в вашей теме, Виктор, задвигать ваши идеи и продвигать свои? :)
Можете и в моей продвигать свои. Я не настолько щепетилен. Лишь бы к результату какому-нибудь приемлемому продвинуться. Это в общих интересах.
Последний раз редактировалось Виктор Казаринов 30 ноя 2009, 14:09, всего редактировалось 1 раз.
Проект Robosonic RS http://www.aigod.com
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1387
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

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

Сообщение =DeaD= » 30 ноя 2009, 14:13

MrDetonator писал(а):Но почему? Ведь он изначально не знает, что такое цветок, а после того, когда его коснется, начинает понимать, что именно он дает ему удовольствие, то есть ассоциирует его со своим желанием.

Потому что нету формирования образов, одной из самых серьезных задач - ведь с камеры поступает огромное количество информации, её надо учиться опознавать, выделять интересные объекты, а тут уже всё решено, разве что с ложечки не накормили :)

Добавлено спустя 4 минуты 15 секунд:
MrDetonator писал(а):Вот он создает некий "образ": создает ассоциацию - "направление-удовлетворение желания".

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

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

Сообщение MrDetonator » 30 ноя 2009, 14:31

Понятно, что здесь это очень упрощено, вместо камеры и датчиков есть уже готовые направления, можно считать, что здесь входная информация распознана и выделены отдельные объекты.
Ведь задача состоит не в этом. Это ведь только пример, основа для того, чтобы показать создание образов (ассоциаций). Изначально он не знает, что цветок - это хорошо, а зачем нужны направления, ему тоже не понятно, они, пока бабочка не коснется цвета, не имеют смысла. Ассоциацию программа создает сама. Желание у бабочки пропадает и появляется (входная функция), а цветок можно двигать (в описании сказано, что направления ассоциируются с желанием по отдельности друг о друга), тогда изменится выходная функция, то есть ассоциация одного из направлений с достижением удовольствия.
Последний раз редактировалось MrDetonator 30 ноя 2009, 14:32, всего редактировалось 1 раз.
MrDetonator
 
Сообщения: 50
Зарегистрирован: 08 окт 2009, 14:58
Откуда: Москва

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

Сообщение =DeaD= » 30 ноя 2009, 14:32

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

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

Сообщение MrDetonator » 30 ноя 2009, 15:03

Ну, в общем, да.
MrDetonator
 
Сообщения: 50
Зарегистрирован: 08 окт 2009, 14:58
Откуда: Москва

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

Сообщение Duhas » 30 ноя 2009, 15:13

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

а вот тут я считаю нужно параллельно крутить стереореконструкцию в купе с мотион флоу и в соответствии с градиентами на 3Д карте и фичапоинтами с изображения выделять объекты..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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

Сообщение Michael_K » 30 ноя 2009, 15:27

крутить стереореконструкцию в купе с мотион флоу

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

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

В общем я не вижу причин объявлять одну кластеризацию "верной", а другую - нет.
Так же как и говорить, что нужно использовать стереореконструкцию, например,
а не какой-нибудь градиент концентрации кислорода в качестве основного инструмента.
Последний раз редактировалось Michael_K 30 ноя 2009, 17:24, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

Сообщение Duhas » 30 ноя 2009, 15:31

имхо без совокупления 3д реконтрукции и 2д фичапонитов мы просто запаримся выделять объекты.. суть объекта, имхо, в том, что он отдим от остального наблюдаемого... вот к примеру смотрим мы на комповую мышь с 10 см.. под ней стол.. но мы видим мышь, когда мы удалимся дальше и будем пространственно в первую очередь выделять стол...

выделив объект пространственно мы можем подобраться к нему, обойти с разных сторон, попробовать взять...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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

Сообщение Michael_K » 30 ноя 2009, 16:12

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

Ну вот не воспринимает меня птица как цельный объект, и ничего...
руку отдельно воспринимает - в ее модели мира, видимо, это логично.
В модели мира лягушки - логично что-то другое.

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

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

Кстати, о моделях, частенько в кино, да и в жизни, например, монитор вопринимается
как компьютер (в него стреляют, когда хотят уничтожить данные, секретарша может сказать:
"у меня компьютер "SyncMaster") - и ничего, живут люди с разными моделями.
Для кого-то может быть и мышка - неотъемлемая часть коврика или стола - что в этом страшного?
Последний раз редактировалось Michael_K 30 ноя 2009, 16:30, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Пред.След.

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

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

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