Диалоги (июль 2003 г.)
Шрифт:
Теперь бы хотелось показать, что можно сделать на основании такой системы управления. Можно строить вполне конкретные реальные системы. Они будут работать. И мы делаем такие системы. Мы делаем даже прикладные системы. А потом я, может быть, скажу несколько слов о том, что не все так просто, что здесь есть на самом деле проблемы. Есть проблемы математические, а есть проблемы принципиальные. Покажу на примере, может быть, близком к тому, о чём говорил Валентин Анатольевич: на примере с мобильным роботом.
Предположим, что существует робот – он пока виртуальный. Но он сделан так, что его можно превратить в железный. Пусть у него есть минимальное количество датчиков. Это три визуальных датчика. Он может видеть наличие
Покажите, пожалуйста, следующий слайд.
Поместим мы этого робота в среду, в которой случайным образом расположены препятствия. Препятствия стандартные. И попробуем смоделировать очень простую ситуацию. Вот «хорошометр», как я говорил, который сделан таким образом, чтобы робот испытывал неприятные ощущения при соприкосновении тактильных датчиков с препятствием.
Запустим робота в это пространство, пусть он обучается и ползает. Мы с вами тем самым смоделируем ситуацию, когда ребёнок учится ползать по квартире, натыкаясь на препятствия. Он их видит, но он не понимает опасности столкновения и может удариться о предмет, испытав неприятные ощущения. Со временем этот ребёнок поймёт, что препятствие лучше обходить, чем на него натыкаться. И этот процесс мы попробуем смоделировать. Сейчас здесь на этом клипе показано, как почему-то он остановился. Показаны начальные движения робота, он ещё совершенно ничего не знает и совершает какие-то случайные такие движения в пространстве.
Что должен робот понять? Он должен понять сам, самостоятельно, что соударяться с препятствием – это плохо, потому что это больно. Мы ему этого не говорим, он должен это понять сам.
Второе, что препятствие лучше обходить, чем на них натыкаться. То есть от него надо отворачивать, когда я его вижу. И он ещё должен понять, как же ему это делать. У него есть 7 вариантов действия, но он не знает, какое из них надо применять. И он это тоже находит сам. Вот эти задачи он должен решить.
Если бы мы наблюдали за этим роботом достаточно долго (у нас просто нет сейчас этой возможности), мы бы увидели, как постепенно число соударений становится меньше и меньше. Покажите, пожалуйста, следующий клип. Я просто покажу уже следующую фазу поведения робота.
А.Г. Научившегося уже…
А.Ж. Вот здесь мы видим уже, когда он достаточно поумнел для того, чтобы не ударяться лбом в препятствие. Вы видите, что он видит препятствие: сектор, изображённый впереди робота – это его поле зрения. И он вовремя отворачивает от препятствия, как только его заметил. То есть он решил эти задачи, он понял, что ударяться – это больно. Второе, он понял, что надо поворачивать. И третье, он понял, как это надо делать, где надо сдавать задним ходом, где надо поворачивать руль вправо, где надо поворачивать руль влево. То есть он учится у нас на глазах.
Я вам могу эту программу запустить, она достаточно долго работает. Он у нас на глазах выработал такой способ поведения. На самом деле это достаточно интересно.
Если мы будем ставить перед этим роботом другие задачи (из этого угла переехать в тот, или, скажем, найти какие-то полезные батарейки, чтобы подзарядиться и т.д.), эти задачи можно будет решать на базе этого робота. Спасибо, оставьте, пожалуйста, эту картинку. На этом графике показано число соударений робота с препятствиями в единицу времени. Видно, что это число уменьшается со временем. То есть по мере того, как робот обучается, число соударений уменьшается до нуля.
Хотелось бы ещё два слова сказать о том, что (пожалуйста, следующий слайд покажите), эта система управления построена
Это не есть система распознавания, как в обычных нейросетях. Эта система, о которой я говорю, есть система управления, которая адаптивно управляет роботом. Там есть блок распознавания, но это только один из блоков.
А.Г. Увеличение количества нейронов ведёт к уменьшению времени эксперимента или нет?
А.Ж. Ну, конечно. Безусловно, здесь очень много зависит от количества этих нейронов. Минуточку, ещё назад, пожалуйста, вернитесь, не забегайте. Вот здесь показан кусочек базы знаний, в данном случае – это трехмерная матрица, где каждый нейрон получает информацию об условии, которое было, о действии, которое он совершил, и о результатах, которые из этого получились. И некоторые нейроны, те, которые как бы поймали закономерные эти троечки – условия, действие и результат – они обучились, я их там выделил жёлтым светом.
В.Н. А они способны переучиваться?
А.Ж. Это зависит от того, как вы этот нейрон устроите. Я считаю, что биологические нейроны в своём зрелом возрасте плохо переучиваются.
В.Н. То есть получается, что число всякого рода форм поведения, которое ваша система способна выучить, определяется числом нейронов в ней. Пока есть свободные нейроны, до тех пор она учится?
А.Ж. Даже не совсем так. В каком-то смысле так, но не все нейроны будут обучены к концу жизни. И тут, как ни странно, на основании такой схемы можно устроить практически полезные системы. Вот на этом слайде показан прототип системы управления для активной подвески автомобиля, где система адаптируется к свойствам этого автомобиля. Предполагается, что эта подвеска оснащена некоторым активным элементом, который может автомобиль подталкивать вверх-вниз, при этом управляющая система со временем понимает, как это делать. Внизу нарисована база знаний, которую эмпирическая система получила, она отражает свойства данного конкретного автомобиля: как этот автомобиль реагирует на то или другое воздействие. Пользуясь этими знаниями, система может так аккуратно управлять этой подвеской, что она сглаживает нежелательные колебания и заставляет автомобиль двигаться так, как вам надо.
Вот слева график: это сильные колебания автомобиля, обычного автомобиля при наезде, скажем, на препятствие. Справа мы видим гораздо более гладкую кривую. Очень интересная, такая практически полезная вещь.
В.Н. А можно вам вопрос? С какой скоростью она учится? Скажем, можно сопоставить её скорость обучения со скоростью обучения водителя: вот человек купил новый автомобиль, и он к нему приспосабливается. И ваша система…
А.Ж. Наверное, можно сопоставить. Конечно, здесь очень много зависит от процессора, от различных деталей, и т.д. Можно обучаться с нуля, можно заставить переучивать некую среднюю базу знаний, заранее, скажем, накопленную. Тут очень много различных вариантов. Но в принципе, естественно, есть период, когда она учится, больше учится, чем управляет. Но постепенно доля управления становится больше, чем доля обучения.