roboforum.ru

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

 

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

Обсуждаем рождающиеся мысли и результаты экспериментов.

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

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

Вводный пост для тех, кто хочет присоединиться к обсуждению проблемы:

Мысль №1.

Масса подходов к созданию элементов ИИ и неких подобий ИИ затыкается на самых первых шагах - что же есть этот самый ИИ и как понять, что мы его создали. Я считаю, что создание даже подобия ИИ - это прежде всего проект. Теория управления проектами гласит, что прежде чем начинать проект мы должны иметь критерии оценки, что проект завершен успешно, чтобы 100% понимать, куда мы идём.

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

Мысль №2.

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

Чтобы нам не пришлось придумывать хитрых способов определения целей существования робота - мы сделаем просто, зададим ему базовые мотиваторы типа боль (уровень повреждений), голод/сытость(уровень заряда батарей) и т.п.

Критерии оценки успеха проекта:

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

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

Первичные мысли по решению задачи проекта

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

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

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

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

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

Ну и наконец - какие базовые проблемы нужно решить изначально для этого базового варианта:

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

Мысли возникшие в ходе обсуждения

1. Надо какое-то подобие пространственного мышления, в котором ПИИ сможет строить модели развития событий и выбирать свои действия.

2. Чтобы унифицированно подходить к распознаванию образов предлагается всю информацию со всех сенсоров после обработки препроцессорами скидывать в единое информационное пространство восприятия (далее ЕПВ), из которого уже в унифицированном формате модуль формирования и распознавания образов будет пытаться извлечь кандидаты в образы и распознать уже запомненные образы.

3. Надо как-то работать с составными образами, для этого предлагается выход с разпознавателя образов через так же препроцессор завернуть в часть ЕПВ.

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

Мысли возникшие в ходе обсуждения. Часть 2
1. Надо решать задачу целиком, пусть и "худо-бедно" и только потом заниматься улучшением её отдельных блоков, поэтому если задачу разбили на блоки и какой-то блок понятно как решить хоть в базовом простейшем варианте - пока его бросаем, пока не будет ясно как решить в базовом варианте все блоки и как они между собой будут работать.

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

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

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

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

Еще раз - признаки это не больше чем просто разновидность образов.


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

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

Сообщение Murderer » 02 дек 2009, 00:05

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


Как оценить не линейные связи? двигались 1 сек переместились на метр. 2сек=2 метра. Это вот понятно как.
А вот падает 1 сек. Переместилось 5 метров. Падает 2 сек переместилось ещё на 15 метров?

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

Я и сам сломал. Мысль была в отдельной базе действий на образы. "двигаться прямо" не образ, а действие. (ну, как вариант)

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


Робот не должен идеально повторять успешный вариант. Иначе не сможет справится с изменившимися условиями.

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

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

Я к тому, что у нас за это отвечает зрение. А вот как это заяц делает? Он то одним глазом смотрит.
Murderer
 
Сообщения: 44
Зарегистрирован: 26 авг 2009, 12:00
Откуда: Омск

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

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

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

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

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

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

Нету пространственного восприятия и управляющего контура с передачей сигналов на аффекторы. Без этого разумеется мертвый субъект :)

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

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

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

Сообщение Murderer » 02 дек 2009, 00:14

frig писал(а):
Еще раз - признаки это не больше чем просто разновидность образов.


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


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

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

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

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

Murderer писал(а):Как оценить не линейные связи? двигались 1 сек переместились на метр. 2сек=2 метра. Это вот понятно как. А вот падает 1 сек. Переместилось 5 метров. Падает 2 сек переместилось ещё на 15 метров?

Так это и человек не так давно научился делать, не слишком ли многое просим от зачатков ИИ? ;)

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

Я пока не вижу смысла плодить сущности :)

Murderer писал(а):Робот не должен идеально повторять успешный вариант. Иначе не сможет справится с изменившимися условиями.

Ну это понятно, надо вносить элемент случайности иногда. В генетических алгоритмах это вероятность мутации.

Murderer писал(а):Я к тому, что у нас за это отвечает зрение. А вот как это заяц делает? Он то одним глазом смотрит.

А что 1 глаз - уже не зрение? Куры, например, вертикально башкой качают, чтобы расстояние оценивать, как тут на форуме писали. Давайте пока оставим эти вопросы?

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

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

Добавлено спустя 1 минуту 17 секунд:
Murderer писал(а):Не, ну и правильно. Сначала выделили простейшие образы. Как то: "красное" "круглое".
А потом, когда уже думаем поняли: это-ж шар красный.

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

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

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

Не, ну и правильно. Сначала выделили простейшие образы. Как то: "красное" "круглое".


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

Какой признак нельзя считать отдельным образом?


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


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

Ну вот выделить движущийся объект мы можем


можем. а неподвижный?

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


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

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

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

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

ща на последний мессаж frig'у отвечу и всё :)

Добавлено спустя 4 минуты 27 секунд:
frig писал(а):
Ну вот выделить движущийся объект мы можем

можем. а неподвижный?

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

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

запомним то мы его только с той стороны с которой видим. как его под другим углом опознать?

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

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

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

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


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

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


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

И вообще - ты еще скажи, что ты ложку под любым углом узнаешь ;)


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

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

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

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

=DeaD= писал(а):2Michael_K: А можно пару строк - что там за основная идея? Очень уж много терминов новых для меня :) не читал пока много по НС на англицком :)

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

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

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

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

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


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

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

Добавлено спустя 8 минут 14 секунд:
Ну там еще затрагиваются вопросы памяти, самообучения, скорости обучения, условия устойчивости и т.д.
Но это уже детали реализации.

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

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

Сообщение Angel71 » 02 дек 2009, 02:43

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

:) однозначно относить видимое к одному обьекту нежелательно. получать список возможных обьектов и оставлять наиболее вероятные намного полезней
Аватара пользователя
Angel71
 
Сообщения: 9232
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

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

frig писал(а):если есть возможность покрутить. а если нету?

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

frig писал(а):да и сколько их этих образов получится-то? мульйон?

Вот уж как повезет :) надо архивацию делать будет с выкидыванием ненужных образов.

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

Вот всё это - далеко не факт :)

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

Так и человеку нелегко будет. Мы же не абсолютный ИИ вроде строим? :)

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

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

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

Сообщение Murderer » 02 дек 2009, 09:42

=DeaD= писал(а):
Murderer писал(а):Как оценить не линейные связи? двигались 1 сек переместились на метр. 2сек=2 метра. Это вот понятно как. А вот падает 1 сек. Переместилось 5 метров. Падает 2 сек переместилось ещё на 15 метров?

Так это и человек не так давно научился делать, не слишком ли многое просим от зачатков ИИ? ;)


Человек давно это делает. В детстве удавалось снежком в летящего голубя попасть. Сколько там законов просчитывалось?

Что-бы отличать ВСЕ ложки, нужно что-бы образ ложки включал её 3D модель.
Murderer
 
Сообщения: 44
Зарегистрирован: 26 авг 2009, 12:00
Откуда: Омск

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

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

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

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

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

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

Пред.След.

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

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

Сейчас этот форум просматривают: Bing [Bot] и гости: 7

Mail.ru counter