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= » 01 дек 2009, 22:19

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

рычит как тигр - тигр. полосатый? в рыжую полоску? тигр. оказалось не тигр - полосатый в рыжую полоску снизило вес.

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

Ты пытаешься декомпозировать образ на пачку подобразов\признаков, я считаю, что плохо делать это вручную.
Что впрочем не помешает в дальнейшем сформировать набор признаков путём обучения, объяснив роботу что такое цвета, что такое узоры (крапинка, полоска, звёздочки), и сформировав ему таким способом пакет образов, которые будут признаками.

frig писал(а):в невесомости, ты имел ввиду?

Да, конечно же, - вечер, туплю :)

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

Передача опыта - это формирование образов у обучаемого и связей между ними. Это всё делается через общие механизмы восприятия, а совсем не через розетку в затылке :)

frig писал(а):как выделить признаки из потока.

Признаки - разновидность образов, не более того.

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

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

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

Сообщение frig » 01 дек 2009, 22:21

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

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

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

Да нету признаков, забудь! :D
Признаки это просто разновидность образов :) и всё. Образ - это нечто из входящего потока, что цепануло наше внимание.

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

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

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

Сообщение Murderer » 01 дек 2009, 22:28

=DeaD= писал(а):Не вкурил. Если на классы не делится, тогда это плохо, потому что может потребоваться как раз указанное мной деление на классы, а его нихт.


Что значит не делится?
А классы это что такое? Разве это не образы? По мне дак вполне себе отдельные образы.
Образ=класс="млекопитающие"

=DeaD= писал(а):
Murderer писал(а):Непознаные до текущего момента образы ничему не равны.

Не понял мысли.

Образ появился один. Сохранился как первичный. =null

=DeaD= писал(а):Это всё если роботу не пофиг :) например, если робот работает в вакууме - ему пофиг круглое оно или квадратное, катать всё равно не имеет смысла.

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

frig писал(а):как выделить признаки из потока.


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

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

Мне кажется были у них перечисленные образы.

Вот образа "монитор" точно не было. :)
Murderer
 
Сообщения: 44
Зарегистрирован: 26 авг 2009, 12:00
Откуда: Омск

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

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

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

Добавлено спустя 6 минут 11 секунд:
Murderer писал(а):Что значит не делится?
А классы это что такое? Разве это не образы? По мне дак вполне себе отдельные образы.
Образ=класс="млекопитающие"

Тогда не понял мысль с подпунктами 0), 1), 2)

Murderer писал(а):Образ появился один. Сохранился как первичный. =null

И зачем это? Не лучше ли всем новым образам присваивать ID новые?

Murderer писал(а):Круглое включает в себя не только катать.
Вообще это робот сам должен определить что такое круглое. Если оно ему встретится. Если он круглое увидит в движении. Если будет взаимодействовать с круглым... Круглое- составной образ. Из чего он будет состоять - задача робота.

Не только, это понятие должно быть ему полезно. Иначе нафиг оно ему сплелось? :)

Murderer писал(а):
=DeaD= писал(а):Если взять первобытные племена - думаю у них не было понятий "цвет", "форма", "полоски" и т.п. - т.к. они им нафиг не нужны.

Мне кажется были у них перечисленные образы.
Вот образа "монитор" точно не было. :)

Можно обосновать - зачем эти понятия могли бы быть им нужны?

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

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

Сообщение frig » 01 дек 2009, 22:44

объекты и их признаки смешивать нельзя.

круглый, синий, мягкий, мокрый, жидкий - признаки

стул, стол, тигр, мяч, - объекты.

объекты футбольный мяч и шар для боулинга имеют одинаковые признаки - круглый, могут иметь одинаковый цвет. а вот отличающие их признаки как раз и позволяют опознать и отличить один объект от другого. у шара для боулинга есть дырки, у мяча - нет. определили объект - определили ОСТАЛЬНЫЕ ЕГО СВОЙСТВА. значит если это мяч, то он мягкий и его можно пнуть, а если это шар для болинга, то пинать его нельзя. он тяжелый и твердый.

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

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

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

Ладно, что мы всё придумываем да придумываем почему это нельзя сделать, давайте уже попробуем сделать? :)

Более менее ясно, что надо:
1. Блоки препроцессинга и сведение в единое воспринимаемое пространство с единым временным окном восприятия, скажем в 5 секунд;
2. Формирователь\распознаватель образов - который выдаёт привлекшие внимание новые или распознанные старые образы;
3. В этом же распознавателе должны храниться уже распознанные образы со своими весами;
4. Можно там же хранить связи между образами - это должно помогать распознавателю в работе;

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

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

Можно, если что, скажи, что я разрешил :D
Вот, например, "похожий на стол" - это признак? ;)
Или вот - жидкий и жидкость случайно у нас однокоренные?

frig писал(а):объекты футбольный мяч и шар для боулинга имеют одинаковые признаки - круглый, могут иметь одинаковый цвет. а вот отличающие их признаки как раз и позволяют опознать и отличить один объект от другого. у шара для боулинга есть дырки, у мяча - нет. определили объект - определили ОСТАЛЬНЫЕ ЕГО СВОЙСТВА. значит если это мяч, то он мягкий и его можно пнуть, а если это шар для болинга, то пинать его нельзя. он тяжелый и твердый.

так что прийдется разделять и мягкое с теплым не путать :D

Не придется.

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

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

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

Сообщение Murderer » 01 дек 2009, 22:55

=DeaD= писал(а):
1. Рядом с каждым образом хранить его важность для нас - каждое эффективное использование повышает важность, со временем важность падает, при эффективном использовании, либо при нахождении образа рядом с каким-то критически важным для нас событием (что уже само по себе есть подозрение на связь с этим событием) мы добавляем к важности этого образа некоторое значение в зависимости от эффективности использования или важности рядом находящегося события.


Что важнее для нас: "идти" или "сиреневенький"? Мне кажется не бывает просто важности. Бывает важность в контексте.

вес для нас будут иметь те, или иные реакции. Реакция на горячо=0.0001*"глядеть вниз"+0.8*идти назад. примерно так.
тогда получается что кроме базы образов должна быть отдельная база реакций.

=DeaD= писал(а):PPS: Интересный вопрос в этой связи - как формируются длинные связи типа сходить к озеру, поймать рыбу, ведь это явно выходит за пределы временного окна. Скорее всего это уже следующие уровни управления, а временное окно - оперативный уровень.

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

=DeaD= писал(а):Тогда не понял мысль с подпунктами 0), 1), 2)

Мысль была в том, что образы взаимно ссылаются друг на друга.

=DeaD= писал(а):И зачем это? Не лучше ли всем новым образам присваивать ID новые?

Способ хранения по сути не важен. Не важно ведь, когда мы узнаем о кипятке? От времени появления он приятнее не станет.

=DeaD= писал(а):Не только, это понятие должно быть ему полезно. Иначе нафиг оно ему сплелось?

В корне не правильно. А будущее нам уже известно? Вдруг там станет полезным?
Я думаю тем робот и должен отличатся от живого. Он не должен "напроч" забывать.
Не знаю... аналог долговременной памяти должен какой-то быть. Куда давно не используемые образы будут сохранятся. А во время сна всё от туда доставаться и сравнваться со вновь появившимися образами,связями и т.д.
Последний раз редактировалось Murderer 01 дек 2009, 23:03, всего редактировалось 1 раз.
Murderer
 
Сообщения: 44
Зарегистрирован: 26 авг 2009, 12:00
Откуда: Омск

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

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

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

Итак - надо как-то хранить хитрые связи типа "ощущаемый образ 143" + "наш образ действия 212" формируют "ощущаемый образ 164".

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

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

Сообщение Angel71 » 01 дек 2009, 23:03

=DeaD=, :good: про образы очень сильно
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение =DeaD= » 01 дек 2009, 23:18

Murderer писал(а):Что важнее для нас: "идти" или "сиреневенький"? Мне кажется не бывает просто важности. Бывает важность в контексте.

Важнее то, что чаще и больше работает. Здесь вопрос о выкидывании малозначимых в целом для робота образов из памяти. Иначе переполнение памяти и информационная смерть :)

Murderer писал(а):вес для нас будут иметь те, или иные реакции. Реакция на горячо=0.0001*"глядеть вниз"+0.8*идти назад. примерно так.
тогда получается что кроме базы образов должна быть отдельная база реакций.

Не понял, имеется в виду безусловный рефлекс или что? Типа отдернуть руку от горячего утюга?

Murderer писал(а):я думую образ "поймать рыбу" является приобретёным от другого человека. И если действие: "сходить ловить" не увенчалось "поймана рыба", то и "поймать рыбу" стало менее правдивым.

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

Добавлено спустя 5 минут 52 секунды:
Murderer писал(а):В корне не правильно. А будущее нам уже известно? Вдруг там станет полезным?

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

Murderer писал(а):Я думаю тем робот и должен отличатся от живого. Он не должен "напроч" забывать.

Ну это не ко мне и просьба тогда не в этой теме, мне бы простые задачи решить, а уж создавать ИИ без изъянов я как-нибудь потом буду :)

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

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

Добавлено спустя 2 минуты 55 секунд:
К последнему, Murderer, то что до сна - это как раз не долговременная память, а достаточно оперативная, ведь человек осознанно живёт порядка 55*365=20075 дней, то есть память которая хранится до момента ночной "дефрагментации" всего 0.005% информации всего жизненного цикла хранит.

Добавлено спустя 5 минут 55 секунд:
Так, обдумал, теперь более менее ясно, как стыковать видимые образы, свои действия и последствия :)

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

хитрая связь типа "ощущаемый образ 143" + "наш образ действия 212" формируют "ощущаемый образ 164".

(При этом если "ощущаемый образ 143" - это "видим перед собой красное пятно прожектора станции подзарядки питания", "наш образ действия 212" - это "валим вперед", ну и наконец "ощущаемый образ 164" - "заряжаем питание".)

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

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

Сообщение Murderer » 01 дек 2009, 23:20

=DeaD= писал(а):При этом если "ощущаемый образ 143" - это "видим перед собой красное пятно прожектора станции подзарядки питания",
"наш образ действия 212" - это "валим вперед", ну и наконец "ощущаемый образ 164" - "заряжаем питание".


Если есть отдельная база реакций то:
"143" стоим - как следствие никаких новых образов. для реакции на "143" и "стоим" вес -k
("143"=-k"стоим")
"143" двигаемся вправо. "143" сместилось. Новый вес для реакции на "143" и образ "двигаться вправо"+k
("143"=-k"стоим"+k"вправо")
при достижении образа "заряжаемся" увеличить вес всех предыдущих действий (от появления "143") на +k.

При выборе реакции правда надо внести случайную поправку. А то всегда будет "сто миль не крюк"

Правда интересно как будет выглядеть образ "приблизились"?
Murderer
 
Сообщения: 44
Зарегистрирован: 26 авг 2009, 12:00
Откуда: Омск

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

Сообщение =DeaD= » 01 дек 2009, 23:26

Далее очевидно, что должен быть некий модуль "пространственного воображения и обработки" который создан для работы в нужном нам трёхмерном пространстве. Т.е. мы не должны запоминать 360 ударов по мячу под каждым градусом :) и в каждом случае отдельную тройку образов "мяч лежит" + "мы его пнули" => "мяч полетел" :)

Добавлено спустя 4 минуты 7 секунд:
Murderer писал(а):Если есть отдельная база реакций то:
"143" стоим - как следствие никаких новых образов. для реакции на "143" и "стоим" вес -k
("143"=-k"стоим")
"143" двигаемся вправо. "143" сместилось. Новый вес для реакции на "143" и образ "двигаться вправо"+k
("143"=-k"стоим"+k"вправо")
при достижении образа "заряжаемся" увеличить вес всех предыдущих действий (от появления "143") на +k.

Сломал мозг, но ничего не понял, кроме положительного закрепления, правда тоже не понял, чего именно, в конце :(

Murderer писал(а):При выборе реакции правда надо внести случайную поправку. А то всегда будет "сто миль не крюк"

Не вкурил :(

Murderer писал(а):Правда интересно как будет выглядеть образ "приблизились"?

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

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

Сообщение frig » 01 дек 2009, 23:29

Не придется.

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


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

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

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

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

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

Сообщение =DeaD= » 01 дек 2009, 23:57

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

Поясню на примере 1:
Есть образ "катить на валиках" он связывает образы "перемещение", "легко", "поверхность по которой катим", "что катим", "валики". Человек видящий машину не обязательно догадается что можно транспортировать тяжелый бак по доскам подкладывая черенки. Это уже пространственное мышление и понимание физики процесса. В общем достаточно суровый пример для того чтобы робот сам до него допер.

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

Добавлено спустя 7 минут 47 секунд:
Надо уже дальше думать как составные образы генерить.

Ну скажем "кошка" + "шипение" => "взбешенная кошка" - нормальный составной образ?

Добавлено спустя 4 минуты 16 секунд:
Вопрос в том, что надо уже на пространстве образов создавать кластеризатор и распознаватель мета-образов.
Что-то мне эта мысль пока не особо нравится. Надо еще подумать как бы попробовать избежать этих сложностей.

Добавлено спустя 5 минут 54 секунды:
Хотя если смотреть сравнение с тупой многослойной нейросетью - там это решается как раз дополнительными слоями нейронов, так что это как раз еще один уровень кластеризатора и распознавателя. Ладно, в черне пока оставим такой подход - замкнём в некотором виде выход с разпознавателя на его же пространство восприятия, чтобы оно образы второго, третьего и т.п. порядка могло формировать, пусть хотя-бы гипотетически :) а там если кластеризатор\распознаватель хорош, то всё срастётся :)

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

Пред.След.

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

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

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