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

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

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


+1.


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

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

Сообщение Michael_K » 02 дек 2009, 17:03

=DeaD= писал(а):Онтологии и то что я предлагаю...


Извините, Dead, я может быть что-то пропустил, но ЧТО именно вы предлагаете?
Некий (абстрактный пока) классификатор входных образов или коротких
последовательностей образов, как я понял?
Можно как-то поконкретнее расписать и может быть пояснить чуток про
схемку с глобальной обратной связью - что-то я сути не уловил...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

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

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

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

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

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

Добавлено спустя 1 минуту 30 секунд:
А все желающие сказать, что в онтологиях всё клёво, а у меня всё мутно - могут попробовать ответить на вопрос - что же именно из практических задач решают онтологии? Как с их помощью робот может решить задачу с кнопкой, кубиком и воротами? И т.п. прелести :) а я погляжу :)

Добавлено спустя 1 минуту 14 секунд:
Да, кстати, первично в данной теме обсуждение того, как должен быть устроен робот, чтобы он мог сам научиться решать задачи типа кнопки+кубик+ворота+источникПитанияЗаНими :)

Добавлено спустя 2 минуты 12 секунд:
И наверное к этой первичной задаче уже стоит вернуться.

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

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

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

Сообщение frig » 02 дек 2009, 17:24

нажатие кнопки и открывающиеся ворота к источнику питания. Или кубик и то, что им можно придавить кнопку, чтобы проехать к питанию :)


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

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

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

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

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

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

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

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

Надо вечерком еще посидеть подумать, надо пространственные модели один фиг подключать.

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

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

Сообщение frig » 02 дек 2009, 17:39

то с высокой вероятностью у него установится связь между этими образами :)


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

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

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

Ну предложи задачу попроще :) я ж только рад буду :)

Добавлено спустя 1 минуту 17 секунд:
frig писал(а):связать их не просто. кнопка нажата от кнопка не нажата как отличаются? вообще с кнопками это очень высокий уровень.

Ты не понял меня :) я говорю связывать образы описывающие движения :) "нажатие кнопки" - вот образ, а не пара образов "кнопка нажата" и "кнопка не нажата", я сам их не всегда отличаю :)

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

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

Сообщение frig » 02 дек 2009, 17:53

задача проще - опознание различных объектов. это скорее первая задача.


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

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

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

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

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

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

Сообщение frig » 02 дек 2009, 17:58

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


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


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

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

Сообщение Michael_K » 02 дек 2009, 17:59

как птица выбирает куда лететь? Или зверь куда бежать?
Ведь явно у них есть так же ощущение окружающего пространства
и в нём они неким образом ориентируются.

Совсем не обязательно.
Про зверей и птиц, может быть, вы и правы (хотя я бы не дал стопроцентной гарантии)

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

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

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

Мне кажется, что задача сделать робота, который самообучится нажимать на кнопку,
чтобы открыть дверь - очень сложна. Давайте сделаем хотя бы "жука" или "рыбу" -
да их трудно научить жать на кнопки, но это ведь не говорит о отм, что они вообще
не обучаемы. Я предлагаю начать с функционального аналога небольшого мозга
(10000 - 100000 нейронов = "жук/рыба"), а не браться сразу за полноценных "крыс/обезьян"...

Неинтересно?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

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

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

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

Сообщение Duhas » 02 дек 2009, 18:05

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

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

Сообщение EdGull » 02 дек 2009, 18:06

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

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

Сообщение frig » 02 дек 2009, 18:09

что скажу на счет рыбок - как они мыслят я себе не представляю. мыслят ли вообще и так далее. в общем Я НЕ РЫБА, а значит строить подобное ей поведение могу только со стороны. а поведение человека я себе представляю изнутри. второе мне кажется реальнее реализовать. пускай это будет не рыба а младенец.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Пред.След.

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

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

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