Читать «Диалоги (июль 2003 г.)» онлайн - страница 147

Александр Гордон

Покажите, пожалуйста, следующий слайд.

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

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

Что должен робот понять? Он должен понять сам, самостоятельно, что соударяться с препятствием – это плохо, потому что это больно. Мы ему этого не говорим, он должен это понять сам.

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

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

А.Г. Научившегося уже…

А.Ж. Вот здесь мы видим уже, когда он достаточно поумнел для того, чтобы не ударяться лбом в препятствие. Вы видите, что он видит препятствие: сектор, изображённый впереди робота – это его поле зрения. И он вовремя отворачивает от препятствия, как только его заметил. То есть он решил эти задачи, он понял, что ударяться – это больно. Второе, он понял, что надо поворачивать. И третье, он понял, как это надо делать, где надо сдавать задним ходом, где надо поворачивать руль вправо, где надо поворачивать руль влево. То есть он учится у нас на глазах.

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

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