roboforum.ru

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

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

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

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

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

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

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

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

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

Сообщение frig » 02 дек 2009, 12:48

Может мне кто-то внятно сформулировать их особенность то?


пока я склоняюсь к тому, что признаками являются примитивы - остальное составные из этих признаков объекты.


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

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

В чем же проблема?


считаю, что путать теплое с колесом не стоит.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

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

Сообщение contr » 02 дек 2009, 12:49

я склоняюсь к тому, что признаками являются примитивы - остальное составные из этих признаков объекты.

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

Ни, он попытается ассоциировать неизвестный объект с известным, хотя плясать будет от примитивов
Последний раз редактировалось contr 02 дек 2009, 12:53, всего редактировалось 1 раз.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

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

Сообщение =DeaD= » 02 дек 2009, 12:51

2frig: Еще раз - ответь, чем принципиально отличается в твоём понимании объект "колесо" и признак объекта "имеющий колесо" ?

Добавлено спустя 1 минуту 16 секунд:
contr писал(а):Теперь предположим, что бот увидел два шарика, два кубика и желтую пирамидку. Попробуйте набросать алгоритм под неизвестный объект :crazy:

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

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

Сообщение frig » 02 дек 2009, 12:52

сейчас я считаю, что ничем. сейчас я склоняюсь к примитивам и составным объектам.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

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

Сообщение =DeaD= » 02 дек 2009, 12:52

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

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

Сообщение contr » 02 дек 2009, 12:56

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

Давайте не будем зацикливаться на мелких трудностях. Нас ведь пока ИИ интересует в начальной стадии, а не технические подробности реализации.
Предположим, что бот уже определил объект как "не синий кубик" и "не красный шарик". Что дальше делать?
Последний раз редактировалось contr 02 дек 2009, 12:59, всего редактировалось 1 раз.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

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

Сообщение frig » 02 дек 2009, 12:56

что такое образ?
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

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

Сообщение Murderer » 02 дек 2009, 12:59

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

Добавлено спустя 2 минуты 26 секунд:
frig писал(а):что такое образ?


Простой образ - то что получили от органов чуств.
Составной образ - продукт мышления связывающий простые образы.
Murderer
 
Сообщения: 44
Зарегистрирован: 26 авг 2009, 12:00
Откуда: Омск

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

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

contr писал(а):Предположим, что бот уже определил объект как "не синий кубик" и "не красный шарик". Что дальше делать?

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

Добавлено спустя 39 секунд:
frig писал(а):что такое образ?

"Нечто", что выделил/распознал наш кластеризатор/распознаватель :)

Добавлено спустя 1 минуту 45 секунд:
Murderer писал(а):Пора приступать к практике. Веб камеры будет достаточно?
На равномерном одноцветном фоне махаем предметом и произносим его название. Прога пусть пытается сопоставить слово с предметом.(катинкой выделенной из фона)

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

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

Сообщение frig » 02 дек 2009, 13:11

"Нечто", что выделил/распознал наш кластеризатор/распознаватель :)


как-то не конкретно совсем. подробнее можно? что распознал? в каком виде? что это может вообще быть?
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

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

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

Конечно неконкретно, если бы я конкретно всё знал - я бы тут сразу демку выложил :)

Пока есть только пачка мыслей и ожидание, что там дохрена работы с одним только формированием первичных образов :)

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

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

Сообщение Michael_K » 02 дек 2009, 13:16

=DeaD= писал(а):Добавлено спустя 1 минуту 58 секунд:
Michael_K писал(а):А суть в том, что сеть представляется стабильной динамической автогенерирующей системой,
а не простым "перцептроном"

Короче выход в каком-то виде завязан на вход - так?


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

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

Сообщение contr » 02 дек 2009, 13:18

Назначим этому объекту новый образ, выдадим ему ID, выставим некоторый вес..

Наверное не вес и не образ, а запомним два новых признака - "желтый" и "треугольный"
При наличии ИИ к объекту еще припишется "вероятно не катится"
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

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

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

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

Добавлено спустя 49 секунд:
Michael_K писал(а):Эмм... ну не совсем так чтобы общий выход сети был завязан на вход сети.
Это скорее сеть состоящая из кучи одновибраторов.
То есть там скорее много мелких обратных связей, чем одна глобальная.

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

Пред.След.

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

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

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