3.11. Как обучаются роботы?

К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 
51 52 53 54 55 56 57 58 59 60 61 62 

Учитывая вышесказанное, предлагаю остановиться на том, что на самом-то деле нас сейчас интересуют отнюдь не проблемы численного моделирования окружения. В принципе, возможно­стей поработать с окружением у нас будет предостаточно — но только в том случае, если не возникнет никаких трудностей с моделированием внутренних правил самой робототехнической системы. Поэтому перейдем к вопросу о том, как мы видим себе обучение нашего робота. Какие вообще процедуры обучения до­ступны вычислительному роботу? Возможно, ему будут предва­рительно заданы некие четкие правила вычислительного харак­тера, как это обычно делается в нынешних системах на основе искусственных нейронных сетей (см. § 1.5). Такие системы под­разумевают наличие некоторого четко определенного набора вы­числительных правил, в соответствии с которыми усиливаются или ослабляются связи между составляющими сеть «нейрона­ми», посредством чего достигается улучшение качества общего функционирования системы согласно критериям (искусственным или естественным), задаваемым внешним окружением. Еще один тип систем обучения образуют так называемые «генетические ал­горитмы» — нечто вроде естественного отбора (или, если хотите, «выживания наиболее приспособленных») среди различных ал­горитмических процедур, выполняемых на одной вычислительной машине; посредством такого отбора выявляется наиболее эф­фективный в управлении системой алгоритм.

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

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

«Ну и что, что на практике случайные входные данные не отличаются от псевдослучайных? — заметит дотошный чита­тель. — Принципиальная-то разница между ними есть». На более раннем этапе нашего исследования (см., в частности, 3.4) нас и в самом деле занимало то, чего математики могут до­стичь в принципе, вне зависимости от их практических возможно­стей. Более того, в определенных математических ситуациях про­блему можно решить исключительно с помощью действительно случайных входных данных, никакие псевдослучайные замести­тели для этого не годятся. Подобные ситуации возникают, ко­гда проблема подразумевает наличие некоего «состязательного» элемента, как часто бывает, например, в теории игр и криптогра­фии. В некоторых видах «игр на двоих» оптимальная стратегия для каждого из игроков включает в себя, помимо прочего, и пол­ностью случайную составляющую. Любое сколько-нибудь по­следовательное пренебрежение одним из игроков необходимым для построения оптимальной стратегии элементом случайности позволяет другому игроку на протяжении достаточно длинной се­рии игр получить преимущество — по крайней мере, в принци­пе. Преимущество может быть достигнуто и в том случае, если противнику каким-то образом удалось составить достаточно до­стоверное представление о природе псевдослучайной (или иной) стратегии, используемой первым игроком вместо требуемой слу­чайной. Аналогичным образом дело обстоит и в криптографии, где надежность кода напрямую зависит от того, насколько слу­чайной является применяемая последовательность цифр. Если эта последовательность генерируется не истинно случайным об­разом, а посредством какого-либо псевдослучайного процесса, то, как и в случае с играми, этот процесс может в точности вос­произвести кто угодно, в том числе и потенциальный взломщик.

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

Допустим на некоторое время, что наш робот и в самом деле является, по существу, машиной Тьюринга (хотя и с конечной емкостью запоминающего устройства). Строго говоря, учитывая, что робот непрерывно взаимодействует со своим окружением, а это окружение, как мы предполагаем, также допускает чис­ленное моделирование, было бы правильнее принять за единую машину Тьюринга робота вместе с окружением. Однако в целях удобства изложения я все же предлагаю рассматривать отдельно робота, как собственно машину Тьюринга, и отдельно окружение, как источник информации, поступающей на входную часть ленты машины. Вообще-то такую аналогию нельзя считать вполне при­емлемой по одной формальной причине — машина Тьюринга есть устройство фиксированное и по определению неспособное из­менять свою структуру «по мере накопления опыта». Можно, ко­нечно, попытаться изобрести способ, посредством которого ма­шина Тьюринга сможет-таки изменить свою структуру, — напри­мер, заставить машину работать безостановочно, модифицируя свою структуру в процессе работы, для чего непрерывно подавать на ее вход информацию от окружения. К нашему разочарованию, этот способ не сработает, поскольку результат работы машины Тьюринга можно узнать только после того, как машина достигнет внутренней команды(см.и Приложениеа также HP К, глава 2), после чего она не будет ничего считывать с входной части своей ленты до тех пор, пока мы не запустим ее снова. Когда же мы ее запустим, для продолжения работы ей придется возвратиться в исходное состояние, т. е. «обучиться» таким способом она ничему не сможет.

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

 

Учитывая вышесказанное, предлагаю остановиться на том, что на самом-то деле нас сейчас интересуют отнюдь не проблемы численного моделирования окружения. В принципе, возможно­стей поработать с окружением у нас будет предостаточно — но только в том случае, если не возникнет никаких трудностей с моделированием внутренних правил самой робототехнической системы. Поэтому перейдем к вопросу о том, как мы видим себе обучение нашего робота. Какие вообще процедуры обучения до­ступны вычислительному роботу? Возможно, ему будут предва­рительно заданы некие четкие правила вычислительного харак­тера, как это обычно делается в нынешних системах на основе искусственных нейронных сетей (см. § 1.5). Такие системы под­разумевают наличие некоторого четко определенного набора вы­числительных правил, в соответствии с которыми усиливаются или ослабляются связи между составляющими сеть «нейрона­ми», посредством чего достигается улучшение качества общего функционирования системы согласно критериям (искусственным или естественным), задаваемым внешним окружением. Еще один тип систем обучения образуют так называемые «генетические ал­горитмы» — нечто вроде естественного отбора (или, если хотите, «выживания наиболее приспособленных») среди различных ал­горитмических процедур, выполняемых на одной вычислительной машине; посредством такого отбора выявляется наиболее эф­фективный в управлении системой алгоритм.

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

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

«Ну и что, что на практике случайные входные данные не отличаются от псевдослучайных? — заметит дотошный чита­тель. — Принципиальная-то разница между ними есть». На более раннем этапе нашего исследования (см., в частности, 3.4) нас и в самом деле занимало то, чего математики могут до­стичь в принципе, вне зависимости от их практических возможно­стей. Более того, в определенных математических ситуациях про­блему можно решить исключительно с помощью действительно случайных входных данных, никакие псевдослучайные замести­тели для этого не годятся. Подобные ситуации возникают, ко­гда проблема подразумевает наличие некоего «состязательного» элемента, как часто бывает, например, в теории игр и криптогра­фии. В некоторых видах «игр на двоих» оптимальная стратегия для каждого из игроков включает в себя, помимо прочего, и пол­ностью случайную составляющую. Любое сколько-нибудь по­следовательное пренебрежение одним из игроков необходимым для построения оптимальной стратегии элементом случайности позволяет другому игроку на протяжении достаточно длинной се­рии игр получить преимущество — по крайней мере, в принци­пе. Преимущество может быть достигнуто и в том случае, если противнику каким-то образом удалось составить достаточно до­стоверное представление о природе псевдослучайной (или иной) стратегии, используемой первым игроком вместо требуемой слу­чайной. Аналогичным образом дело обстоит и в криптографии, где надежность кода напрямую зависит от того, насколько слу­чайной является применяемая последовательность цифр. Если эта последовательность генерируется не истинно случайным об­разом, а посредством какого-либо псевдослучайного процесса, то, как и в случае с играми, этот процесс может в точности вос­произвести кто угодно, в том числе и потенциальный взломщик.

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

Допустим на некоторое время, что наш робот и в самом деле является, по существу, машиной Тьюринга (хотя и с конечной емкостью запоминающего устройства). Строго говоря, учитывая, что робот непрерывно взаимодействует со своим окружением, а это окружение, как мы предполагаем, также допускает чис­ленное моделирование, было бы правильнее принять за единую машину Тьюринга робота вместе с окружением. Однако в целях удобства изложения я все же предлагаю рассматривать отдельно робота, как собственно машину Тьюринга, и отдельно окружение, как источник информации, поступающей на входную часть ленты машины. Вообще-то такую аналогию нельзя считать вполне при­емлемой по одной формальной причине — машина Тьюринга есть устройство фиксированное и по определению неспособное из­менять свою структуру «по мере накопления опыта». Можно, ко­нечно, попытаться изобрести способ, посредством которого ма­шина Тьюринга сможет-таки изменить свою структуру, — напри­мер, заставить машину работать безостановочно, модифицируя свою структуру в процессе работы, для чего непрерывно подавать на ее вход информацию от окружения. К нашему разочарованию, этот способ не сработает, поскольку результат работы машины Тьюринга можно узнать только после того, как машина достигнет внутренней команды(см.и Приложениеа также HP К, глава 2), после чего она не будет ничего считывать с входной части своей ленты до тех пор, пока мы не запустим ее снова. Когда же мы ее запустим, для продолжения работы ей придется возвратиться в исходное состояние, т. е. «обучиться» таким способом она ничему не сможет.

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