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

Сообщение EdGull » 29 ноя 2009, 21:09

так если в прорядке бреда, может в крейзи-проджект?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Навеяно RoboBrain etc. Пока в порядке бреда :)

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

:)
2DeaD: нашего полку прибыло.
Последний раз редактировалось Виктор Казаринов 29 ноя 2009, 21:41, всего редактировалось 1 раз.
Проект Robosonic RS http://www.aigod.com
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1387
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

Re: Навеяно RoboBrain etc. Пока в порядке бреда :)

Сообщение =DeaD= » 29 ноя 2009, 21:14

2EdGull:

Так ведь "пока" :) давай если за сутки ничего близкого к реальности не появится - туда и перенесем :)

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

Re: Навеяно RoboBrain etc. Пока в порядке бреда :)

Сообщение EdGull » 29 ноя 2009, 21:18

да ради бога... :)
но я считаю или крейзи или без "бреда"
и мало того, никто ж не мешает ее потом обратно перенести
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

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

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

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

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

Сообщение CiSi » 29 ноя 2009, 21:47

Это что то типа самообучения?
Была у меня такая идейка, сделать на обыкновенной машинке. Только вот в качестве основного датчика хотел не камеру, а простые датчики столкновений поставить. И обучение планировалось начать с обучения торогаться с места и управления двигателями.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

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

Сообщение SSG » 29 ноя 2009, 21:48

Хм. Какие алгоритмы предполагается использовать?
Надо определять межкластерные расстояния. Из того что попадалось на глаза - метод ближайшего соседа, метод дальнего соседа, метод центров тяжести.
Из алгоритмов кластеризации есть мельком слышал про объектную кластеризацию и FOREL, FOREL-2.
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

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

Сообщение =DeaD= » 30 ноя 2009, 00:23

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

И самое главное - кластеризация движений и процессов.

Добавлено спустя 1 минуту 6 секунд:
CiSi писал(а):Это что то типа самообучения?

Именно оно. Только без заложенной строгой системы правил (типа онтологии). Хотя какие-то ограничения системы конечно же будут.

Добавлено спустя 1 час 51 минуту 53 секунды:
Кстати, при таком подходе в полный рост будут полезны всякие препроцессинги изображения с выделением feature-point и прочих прелестей, т.е. визуальных признаков к которым будут уже цепляться кластеризаторы и распознаватели.

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

Добавлено спустя 6 минут 57 секунд:
тестовая платформа на которой можно устраивать гипотетические опыты - скажем виртуальная тележка (тупо обычные 3 колеса и камера на поворотной базе) в виртуальном мире, тележка имеет мотиваторы - голод и боль(повреждения) / сытость и отсутствие боли. Виртуальный аккум постепенно садиться. Заряжаться можем в станциях скажем золотистого цвета (освещение направленное вниз), повреждения получаем от областей красного освещения.

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

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

2. Или сделать кнопку открывающую ворота к питанию и кубик который можно придвинуть к кнопке и зажать её.

3. Или сделать медленного робота преследователя с красным фонарём, который старался бы нагнать нашего робота.

4. Ну и т.д. можно попробовать в этой "вселенной" накидать свои примеры.

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

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

Сообщение AndreiSk » 30 ноя 2009, 00:35

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

ЗЫ. Мирок по мотивам террариума.
Последний раз редактировалось AndreiSk 30 ноя 2009, 01:05, всего редактировалось 1 раз.
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

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

Сообщение Angel71 » 30 ноя 2009, 01:02

:oops: аха, а еще на правах шутки: поаккуратней с мотиваторами, а то когда-нибудь вы создадите очень милого зверька
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

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

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

AndreiSk писал(а):Тут проблема в том, что описание этого "мирка", та еще задача.

В чем именно проблема? Вроде игрушки делают и ничего, всё получается у людей.

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

Добавлено спустя 20 минут 44 секунды:
AndreiSk писал(а):А робота в реальном мире лучше тренировать, реальный мир он сбалансированнее
и не надо его описывать (работы меньше) :)

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

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

Сообщение AndreiSk » 30 ноя 2009, 12:43

:) Как сделаешь виртуальный мирок не отличимый от реального, то скажи нам.

К делу не относится, но вопросы подобные описанным в статье
( http://www.gamedev.ru/gamedesign/articles/design_mmorpg ),
возникнут почти сразу. И целая пачка. Я не буду их тут выкладывать,
просто скажу, что описание и вычисление баланса такого мирка (если не использовать готовый)
это хорошая программисткая задача. Выполнимая, но не на один день или даже месяц.
После этой задачи, сил на создание робота внутри этого мирка
у среднестатистического программиста Васи уже не останется (все надоело).
Подытожу: не отвлекаемся на виртуальные миры. Берем реальный мир и пишем мозги
для физически присутствующего железа :)
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

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

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

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

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

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

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

След.

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

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

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