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

Сообщение Duhas » 02 дек 2009, 11:32

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

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

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

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

Ага, и черпак это тоже ложка :) и поварешка :) ну и где обещанная однозначность и простота определения человеком этого сорта объектов?

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

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

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

ну и где обещанная однозначность и простота определения человеком этого сорта объектов?


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

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено спустя 2 минуты 11 секунд:
Ну хоть убей - не вижу смысла считать "колесо" - объектом, а "имеющий колесо" - признаком. По-моему это одно и то же по сути.


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

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

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

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

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

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

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

Почему я не могу считать "в полосочку" образом, а не неким "признаком" не являющимся образом?


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

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

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

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

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

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

"в полосочку" вообще не в тему. я себе не представляю как это хранить.

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

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

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

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

=DeaD= писал(а):А можно попросить конкретно сформулировать с чем конкретно ты не согласен в моём утверждении, что признаки - это всего лишь разновидность образов.
<skip>
Добавлено спустя 8 минут 40 секунд:
Ну хоть убей - не вижу смысла считать "колесо" - объектом, а "имеющий колесо" - признаком. По-моему это одно и то же по сути.


Признаки - особые образы. в составе сложного образа признаки являются необходимыми и достаточными.
т.е. если в составе нового образа отсутствуют признаки образа1, то новый образ нельзя достоверно считать образом1.
образ1=&образ2+&образ3+образ4...

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

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

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

2frig: Вот я и утверждаю, что люди описывают всё имеющимися у себя образами :)
А то что ты их называешь признаками - так им от этого не особо плохеет :pardon:

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

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

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

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

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

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

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

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


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

Добавлено спустя 33 секунды:
2contr - Спасибо, кэп!
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

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

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

Murderer писал(а):Признаки - особые образы.

Может мне кто-то внятно сформулировать их особенность то? :) Где граница между признаками и другими образами?

Murderer писал(а):в составе сложного образа признаки являются необходимыми и достаточными. т.е. если в составе нового образа отсутствуют признаки образа1, то новый образ нельзя достоверно считать образом1. образ1=&образ2+&образ3+образ4...

мяч=&круглый + мягкий. если не круглый и мягкий - то не мяч. если не мягкий, и круглый - возможно мяч.

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

Добавлено спустя 1 минуту 24 секунды:
contr писал(а):Вот! Как только бот сможет классифицировать неизвестный объект, проверить его предполагаемык св-ва и сделать правильные выводы, можно считать, что ИИ создан.

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

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

Сообщение Виктор Казаринов » 02 дек 2009, 12:45

Для справки.
В OWL есть Property, отношения, которые соединяют две группы индивидуалов, представителей некот. классов. Первая группа - Domain. Это то, чему это свойство приписываем. Вторая группа - Range. Это диапазон, тип индивидуалов, кот. можно присваивать такому отношению. Свойства классов - это как бы шаблон.
Пример свойства класса:
<owl:ObjectProperty rdf:ID="сделаноИзВинограда">
<rdfs:domain rdf:resource="#Вино"/>
<rdfs:range rdf:resource="#Виноград"/>
</owl:ObjectProperty>
тут свойство "сделаноИзВинограда" связывает представителей класса Вино с представителями класса Виноград.
А здесь это свойство уже применено к представителям классов:
<owl:Thing rdf:ID="LindemansBin65Шардоне">
<сделаноИзВинограда rdf:resource="#ВиноградШардоне" />
</owl:Thing>
Некоторая вещь Thing, а точнее LindemansBin65Шардоне сделаноИзВинограда конкретного сорта #ВиноградШардоне.
Но т.к. выше было определено свойство сделаноИзВинограда, то программа или мы с вами легко можем сделать логический вывод, что LindemansBin65Шардоне - это представитель класса #Вино , а #ВиноградШардоне - класса #Виноград.
Последний раз редактировалось Виктор Казаринов 02 дек 2009, 12:49, всего редактировалось 1 раз.
Проект Robosonic RS http://www.aigod.com
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1387
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

Пред.След.

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

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

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

cron