Sony SCL — эксперимент «игровая площадка»

    image

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

    Итак, в прошлом топике кому-то не хватало практики, поэтому вот она, практика:

    Строение робота


    Судя по инструкции,
    робот обладает 20 степенями свободы,
    работает 1.5 часа,
    потребляет 9 ватт,
    обладает сенсорами температуры, ИК, расстояния, ускорения, давления, вибрации,
    основная память на 32 мегабайта,
    и имеет 64-битный RISС процессор.

    Постановка эксперимента


    Как видно из этого графика:
    image
    (на котором, по уверению разработчиков, робот совершил около 15000 действий)
    робот имеет всего несколько вариантов действий(укусить, ударить, оглядеться),
    несколько состояний от сенсоров(ничего не вижу, вижу объект 1\2, успешный укус\удар)

    Стадии, указанные на рисунке как P1-P5:
    P1 — робот учится сосредотачиваться на определенных обьектах и обнаруживать их
    P2 — попытка совершить некоторые действия, не применяя их к каким-то конкретным обьектам
    P3 — попытка передвижения частей своего тела, но без определенной цели
    P4 и P5 — более сложные действия, укусить кусаемое или пнуть пинаемое.

    Самые внимательные наверняка заметили белые листы с «маркером» на глазу висящей игрушки и за ухом слона на полу, перед собакой. Я не нашел упоминания об этом в постановке эксперимента, но могу предположить, что это использовалось для упрощения идентификации объектов окружения. Т.е. собака не определяла обьекты самостоятельно, за неё это делал некий алгоритм. Ну да ладно.

    Взгляд изнутри


    Программа робота состоит из нескольких модулей.
    * Первый из которых — модуль прогноза, каждая часть которого специализирована на определенных областях сенсорно-двигательного пространства.
    * Второй модуль — система метапрогноза, цель которого — предсказание его дальнейшего развития и ошибок первого модуля. Он основан на том, что сравнивает коэффициент ошибок в прошлом и в настоящем.
    * Третий модуль — который вырибирает действие на основе результатов, выданных вторым модулем.

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

    Цель эксперимента


    «The aim is to construct engines implementing such general capacities as „curiosity“, thus producing generic attention mechanisms with a minimum of preprogrammed biases.»
    Цель состоит в том, чтобы создавать механизмы, реализуя такие явления как «любопытство», что позволит создавать универсальные механизмы с минимальным размером предварительно запрограммированных действий.

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

    Субъективный взгляд


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

    Фотки и материалы




    Удачный укус

    Удар с разворота

    Для тех, кому все ещё мало, вот тут(1.2 мб, pdf, англ) лежит описание исследования, что они называют «Интеллектуальное Адаптивное Любопытство». Исходников кода нет, но есть некоторые формулы для расчетов программы и подробное описание.

    Вопросы для обсуждения

    1) Имеет ли какую-то перспективу обучение роботов как детей, с самых азов?

    2) Можно ли считать данный эксперимент имеющим смысл, если робот был сильно ограничен в движениях, а определение объектов предположительно выполнял отдельный алгоритм?

    3) Можно ли считать данный эксперимент успешным, т.е. сумел ли робот действительно узнать что-то новое, что не было заложено в него изначально?
    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 28
    • +1
      1) Я думаю что этот способ, как минимум, найдет свою нишу, где необходимо разнообразие и самостоятельное обучение без помощи человека. Либо в тех областях где необходим высокий уровень адаптации. Либо для повышения живучести, для того, чтобы робот мог сориентироваться в случае, если получит серьёзные повреждения.

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

      3) Мне кажется, что эксперимент был вполне успешен. Не смотря на небольшой выбор действий, робот смог составить последовательность действий, научился поворачивать голову с сенсорами в ту же сторону, где будет совершаться действие и достаточно точно определять расстояние до цели.
      • +1
        Подумалось: Интересно же почувствовать себя на месте Бога (что он чувствует когда следит как развивается человечество) и посмотреть как развивается этот робот. ;)
      • –3
        Мне кажется, разработчики совершают страшную ошибку. Если роботам будет интересно исследовать, то человечеству так и придётся всю жизнь торчать менеджерами по продажам. А всё интересное достанется роботам.

        Негодуэ.
        • +2
          Пока мы были мелкими, все интересное доставалось нам, возможно, пора передать эстафету.
        • 0
          У вас фраза на полуслове обрывается:
          Второй модуль — система метапрогноза, цель которого — предсказание ошибок первого модуля. Он основан на том,
          • 0
            Задумался видимо, когда писал. Исправил.
          • 0
            Такие методы — «Обучения роботов», используются давно.
            Сами по себе алгоритмы обучения простые. Основная проблема заложена в технической реализации — мало разнообразных сенсоров, дающих достаточно полную информацию и той ситуации, в которую попал робот; и нехватка памяти для запоминания всей «полезной» информации.
            • 0
              С памятью проблему может решить робовики, про которую недавно писали. Мне кажется, что при грамотном подходе это может стать прорывом.
              Только вопрос с безопасностью тех данных, которые будут в той вики. Мало ли что туда скайнет кто-нибудь запихнёт.
              • 0
                С памятью сейчас проблем нет, винты на терабайт уже не редкость. При достаточно грамотном подходе это чуть ли не бесконечный объем для информации.

                Проблема скорее в базовых умениях, таких как распознавание обьектов, ин- и дедукция, сравнение, мотивация.
                Пока этих умений нет, общаться с кем-то, включая робовики, сложно, когда они появятся робовики будет не так важна, потому что нужную инфомрацию робот будет в состоянии найти сам.
            • +1
              1) Да, конечно имеет. Лично мне кажется, что это может сильно расширить возможности ИИ. Вот всегда, при попытке создать интеллект вроде человеческого, разработчики стремятся сделать его сразу готовым. но даже человек с его мозгом, который мощнее и развитее нынешних компьютеров по части обработки аудиовизуальной информации, сколько лет изучает мир вокруг себя пока делает первые шаги или говорит первое слово? И я считаю, что роботов, чтобы создать у них хоть какое-то подобие интеллекта, нужно также обучать. В общем-то с нейронными сетями сейчас так и делают.

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

              3) Думаю да. Робот же научился делать некоторые самостоятельные действия.

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

              Недавно, кстати, была тут новость про создание роботовики. Если каждого такого робота стандартизировать и подключить к единой базе знаний, то процесс познания пойдёт в разы быстрее. Общее развитие роботы получат вместе, а потом для конкретных задач можно обучать по группам. Что примечательно, глядя на сегодняшние достижения в робототехнике и изучении алгоритмов ИИ, такая затея вполне может вылиться в более-менее приемлемый псевдоинтеллект, который можно будет охарактеризовать как ОС для роботов :)
              • +1
                Если в проекте использовалась нейронная сеть, то использование каких-либо внешних источников информации с самых азов крайне затрунительно. Для сети информация = собственное состояние, и изучить что-то новое можно только переписав(часть) себя.

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

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

                П.С. Спасибо за ответы
                • 0
                  Вики можно сделать как центральную нейросеть для всех роботов. Единая база знаний, которая получает опыт всех роботов и суммирует его.
                  Я представляю себе такой алгоритм:
                  1) Робот что-то распознаёт/делает/etc…
                  2) Массив входных данных запоминается.
                  3) Если действие успешно (не забываем, что начальное обучение проходит по принципу «можно/нельзя»), то массив данных подаётся на центральную нейросеть и в ней происходит обучение.
                  4) При создании новых роботов их «мозги» берутся не с нуля, а как слепок центральной нейросети.
                  Таким образом каждый робот учится отдельно, но при этом центральную базу знаний развивают все роботы вместе и новые поколения получают себе общее знание, которое далее улучшают.

                  Самый сложный момент во всей этой затее — архитектура нейронной сети. Т.к. я полагаю, что во-первых, она должна ветвиться, т.е. визуальная информацию обрабатывается одной сетью, аудио — другой, тактильные ощущения третьей. Потом результат подавать на центральную сеть, которая отвечает за принятие решений. И в зависимости от решения формировать последовательность действий на уровне сигналов «конечностям».
                  И при этом сетка должна получиться не слишком громоздкой, чтобы эти «мозги» можно было поставить на каждого робота, а не только на того, который проводом прицеплен к датацентру )
              • 0
                Для любой НС, сложнее робопылесоса, при прямой передаче, траффик будет исчислятся в Мб\сек.
                Обучение по принципу можно\нельзя слишком просто и имеет свои границы.
                Вероятнее всего, что в будущем будет использоваться более мягкий и в тоже время менее предсказуемый алгоритм.
                НС сложно маштабировать. Построить действущую центральную НС на многие порядки сложнее чем робособаки.
                • 0
                  Вот если научатся создавать НС, которые сами себе нейроны и связи между ними создают по необходимости, тогда может быть что-то и получится из этой затеи. Но я себе даже не представляю, с какой стороны к подобной задаче вообще можно подойти.
                  Можно/нельзя — это первичное. Дети также учатся. Дотронулся до утюга — горячо, нельзя.
                  Мне кажется, что в будущем вообще что-нибудь ещё изобретут либо в железе, что позволит работать с подобными объёмами информации, либо в алгоритмах, что позволит эти самые объёмы уменьшить.
                  Хотя тоже недавно статья была, где каким-то образом нейроны из мозга крысы скрестили с роботом. Может и в этом направлении что-то будет.
                • +3
                  * self-mapping + recurrent neural network- один из самых сложных типов сетей для прогнозирования, для них не доказана математическая сходимость, для них сложно применять алгоритмы обучения типа обратного расспространения ошибки.
                  * Для того, чтобы создать простые релексы типа «больно-сделай по-другому и запомни» придется очень долго насиловать генетические алгоритмы. Это не свойство НС по факту, это эволюционный механизм, способствующий выживанию.
                  * В будущем…
                  * В том эксперименте нейроны жили до 3ех месяцев. Живые нейроны не очень хорошо работают с нашими кремне-металлическими технологиями, с живых нейронов нельзя снять копию, и даже если мы на их основе построем ИИ это мало приблизит нас к пониманию того, как собственно ИИ нужно строить.
                  • +1
                    > RISK

                    RISC, поправьте, пожалуйста.
                  • 0
                    > работает 1.5 часа

                    Начать надо было с того что умеют даже пылесосы — самостоятельно отправляться на базовую станцию для подзарядки. Как никак — основной инстинкт, а инстинкты надо закладывать, а не ждать пока сам додумается
                    • 0
                      Робот пока ещё ходить не умеет, думаю поэтому это было бы проблемой
                    • +1
                      Для того чтоб обучение было успешным необходимо, чтоб роботу было интересно то что он делает. Т.е. он должен видеть, как его действия (которые он может запомнить как причину полученного эффекта) приводят к результату, который ему нравится. Думаю, что запрограммированной мотивацией можно было бы поставить увеличение разных штук через разные последовательности действий, которые в принципе он может провернуть или построить. Это может относиться как к собственным степеням свободы (в том числе в виде последовательностей разных движений), так и к реакциям окружающего мира на эти свои действия или просто изучению того что происходит вокруг без собственного участия. При этом хорошо бы научиться отделять автономные события внешнего мира от реакций на собственные действия. Тогда может родиться модель «Я», как виртуальный объект на который завязаны собственные действия и отклик на них от окружающего мира.
                      • 0
                        По-моему именно по такой схеме он и был устроен. Робот пытался выполнить действия пока не получал ответную реакцию от окружающей среды, т.е. можно сказать он добивался ответной реакции.

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

                        Насчет «нравится» — это очень сложное понятие. Допустим это можно расписать для «поесть» и «не упасть», но что-то сложнее описать таким способом уже сложно. На мой взгляд это не самый удачный метод.
                      • –1
                        «обладает 20 степенями свободы»
                        Похоже на Русскую демократию
                        • 0
                          Как это Sony разрешило такое неавторизованное использование своего продукта?
                          • 0
                            Sony Computer Science Laboratory(Sony SCL) — это подразделение компании Sony. Их продукт и их ученые.
                          • 0
                            Судя по последней фотки Sony готовит замену Чаку: на данной фотке Aibo нам демонстрирует знамениты удар ногой с разворота.
                            • 0
                              прочитал про роботвики в комментах и мне стало страшно…
                              • 0
                                Ну, конечно до этого страшного момента еще время должно пройти в развитии ИИ… Где-то я читал про эксперимент с ИИ у робота, который покончил (причем была серия опытов) свою электронную жизнь самоубийством — лишал себя аккумулятора с завидным постоянством, представляете… А вы говорите роботвики…
                                • 0
                                  Хорошие пример. Инстинкта самосохранения у роботов изначально нет, и выработать его очень сложно. В итоге робот просто из любопытства совершает это действие(вытащить аккумулятор), и будет делать до тех пор, пока не сложится правило, которое это как-либо запрещает делать.

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