roboforum.ru

Технический форум по робототехнике.

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

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

=DeaD= » 29 ноя 2009, 20:57

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

Мысль №1.

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

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

Мысль №2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Michael_K » 02 дек 2009, 14:24

Гхм...
А каким образом кто-то может решить, что есть
класс, а что представитель класса?

Например виноград вполне может быть представителем класса "растет_на_ветке"
или "LindemansBin65Шардоне" вполне может быть классом с представителями
"Разбавлено_столовым" или "Из_дедушкиной_бутылки"

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

=DeaD= » 02 дек 2009, 14:30

Гхм, а можно попросить онтологии обсуждать в другой теме? ;) тут и так уже 15 страниц.

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

Michael_K » 02 дек 2009, 14:35

Сорри...
Я думал, что продолжаю тему про "объекты-признаки" :)

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

frig » 02 дек 2009, 15:03

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

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

=DeaD= » 02 дек 2009, 15:37

Онтологии и то что я предлагаю - разумеется чем-то похожи, но это далеко не одно и то же :)

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

contr » 02 дек 2009, 15:40

Какое отношение твои фантазии на тему ИИ имеют к моей теме?

Это у Вас фантазии, а я предлагаю элементарную задачу по ИИ решить.

зы. Может Вы и тему сами с собой в порядке бреда обсуждать желаете? :lol:

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

=DeaD= » 02 дек 2009, 16:33

2contr: Слишком высоко самомнение, уж найду поди, с кем тут кроме вас общаться. Вновь придуманные задачи по ИИ можно попробовать сформулировать и обсудить с желающими в другой теме, а устраивать тут мне помойку, не разобравшись, что к чему, не надо.

Добавлено спустя 46 минут 23 секунды:
Вернемся к нашим баранам :)

Какие первичные элементы изображения будем распознавать? Чего будем блоком препроцессинга выделять?

По идее:
1. Простейшие изменения (тупо первая производная изменения яркости пикселей);
2. Отчетливые границы и особые точки (углы, перекрестки).
3. Области одного цвета;
4. Движения пунктов 1-2-3 в кадре за короткий промежуток времени;
5. Что еще?

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

Duhas » 02 дек 2009, 16:37

я все же за 3Д реконструкцию налету в препроцессоре ...

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

frig » 02 дек 2009, 16:40

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

а еще повторюсь, что без обучения - дохлый номер. :crazy:

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

Duhas » 02 дек 2009, 16:46

в продолжение поста выше.. точнее уточнение.. человек не может идентифицировать незнакомый объект не осматривая...

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

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

AndreiSk » 02 дек 2009, 16:50

=DeaD= писал(а):2contr: Слишком высоко самомнение, уж найду поди, с кем тут кроме вас общаться. Вновь придуманные задачи по ИИ можно попробовать сформулировать и обсудить с желающими в другой теме, а устраивать тут мне помойку, не разобравшись, что к чему, не надо.


:shock: давайте жить дружно чтоли, не будем сраться на виду :roll:

=DeaD= писал(а):Какие первичные элементы изображения будем распознавать? Чего будем блоком препроцессинга выделять?

По идее:
1. Простейшие изменения (тупо первая производная изменения яркости пикселей);
2. Отчетливые границы и особые точки (углы, перекрестки).
3. Области одного цвета;
4. Движения пунктов 1-2-3 в кадре за короткий промежуток времени;
5. Что еще?


6. Неоднородные по цвету области, движущихся синхронно. Например футбольный мяч.
7. Вращающиеся/растягивающиеся области.

Но вообще говоря,
мы можем набросать 1...1000 пунктов, потратить на это время (как на примитивы-кирпичики),
а окажутся не нужны.

а. Стерео не надо.. можно просто объехать вокруг объекта.
б. Думаю, что человек осматривает объект только чтобы идентифицировать его если он повернут

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

=DeaD= » 02 дек 2009, 16:55

Как же можно жить дружно, если тебе помойку из темы устраивают? :)

Добавлено спустя 56 секунд:
Duhas писал(а):я все же за 3Д реконструкцию налету в препроцессоре ...

Думаю это надо делать опцией, хотя материала оно конечно подкинет для препроцессора - до кучи.

Добавлено спустя 2 минуты 35 секунд:
frig писал(а):в любом случае даже если не используя стерео, то сдвигая голову пытаться отделить объект от фона

Тут вроде Vorral говорил, что куры башней качают чтобы понять расстояние до объектов (у них стереозоны нормальной у глаз нету, вот и выкручиваются, как могут :))

frig писал(а):а еще повторюсь, что без обучения - дохлый номер. :crazy:

Смотря что считать обучением. Хотя пример с грачами я приводил 100 раз уже, не думаю что там было какое-то особое обучение.

Добавлено спустя 32 секунды:
Duhas писал(а):задача брать данные с кучи методов обработки и делать окончательную обработку/усреднение показаний... да пускай тем же калманом )

Калман то тут при чем? :)

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

frig » 02 дек 2009, 16:57

ибо мы и не сдвигаясь все равно видим форму..


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

Добавлено спустя 1 минуту 36 секунд:
пара глаз даже не сколько для определения конкретных размеров и определения глубин и остального, а чтобы отделить объекты друг от друга и от фона.

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

=DeaD= » 02 дек 2009, 17:01

AndreiSk писал(а):6. Неоднородные по цвету области, движущихся синхронно. Например футбольный мяч.

Тут скорее будет "нечто пестрое" и "движется".

AndreiSk писал(а):7. Вращающиеся/растягивающиеся области.

Надо бы и совесть иметь :) какая вычислительная сложность определения вращающейся области? :)

AndreiSk писал(а):Но вообще говоря,
мы можем набросать 1...1000 пунктов, потратить на это время (как на примитивы-кирпичики),
а окажутся не нужны.

Так скоро эксперименты начнем :) там и выясним, ху из ху, и что нужно :)

AndreiSk писал(а):а. Стерео не надо.. можно просто объехать вокруг объекта.

Или покачать головой.

AndreiSk писал(а):б. Думаю, что человек осматривает объект только чтобы идентифицировать его если он повернут

+1.

Добавлено спустя 2 минуты 27 секунд:
Вообще конечно есть у меня ощущение, что без пространственного восприятия мы очумеем что-то с образами лепить :) и самое главное - не ясно как это стыковать потом с реальностью.

Надо скорее всего сразу делать какое-то моделирование в воображаемом пространстве :)

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

Duhas » 02 дек 2009, 17:01

калману мона по идее скормить итоги от стерео и мотионфлоу


Rambler\'s Top100 Mail.ru counter