Начало бесконечности. Объяснения, которые меняют мир
Шрифт:
Разумеется, вы разобьете задачу на подзадачи. Поворот на один заданный угол похож на поворот на любой другой. Поэтому можно написать подпрограмму для поворота, которая возьмет на себя весь континуум возможных случаев. Готовую подпрограмму можно будет просто вызывать из остальных частей программы при необходимости поворота, и в этих частях знания о том, что именно требуется для поворота, будут излишними. Задав и решив столько таких подзадач, сколько возможно, вы создадите код или язык, весьма хорошо приспособленный для формулирования движений робота при ходьбе. Каждый вызов одной из подпрограмм – это такая формулировка или команда на данном языке.
До этого момента большая часть того, что вы сделали, относится к «вдохновению»: она требовала творческого мышления.
Но есть и альтернативный подход: можно переложить вторую фазу на компьютер, но с использованием так называемого эволюционного алгоритма. С помощью одной и той же компьютерной модели запускается множество пробных версий, в каждой из которых самая первая программа случайным образом немного меняется. Эволюционный алгоритм подвергает каждого смоделированного робота набору тестов, задуманных вами: сколько он может пройти, не упав; насколько хорошо он преодолевает препятствия и пересеченную местность и так далее. В конце каждого прогона остается программа, показавшая наилучшие результаты, а остальные отбрасываются. Затем создается множество вариантов этой выбранной программы, и процесс повторяется. После тысяч итераций такого «эволюционного» процесса может оказаться, что робот согласно установленным вами критериям ходит достаточно хорошо. Теперь можно писать диссертацию. И вы не только сможете утверждать, что сконструированный вами робот ходит с требуемой степенью ловкости, но и что вы на компьютере реализовали эволюцию.
Такая процедура с успехом осуществлялась уже много раз. Это полезная методика. И, безусловно, она представляет собой «эволюцию» в смысле чередования вариации и отбора. Но эволюция ли это в более важном смысле создания знаний путем вариации и отбора? Когда-нибудь мы достигнем и этого, но я сомневаюсь в том, что на данный момент это уже достигнуто, по той же причине, по которой я сомневаюсь в том, что чатботы обладают интеллектом, пусть и небольшим. Просто потому, что их способностям есть гораздо более очевидное объяснение, а именно творческое мышление программиста.
Исключение возможности того, что в случае «искусственной эволюции» знание было создано программистом, логически эквивалентно проверке, является ли программа искусственным интеллектом, только это задача сложнее, потому что объем знаний, якобы создаваемых в ходе «эволюции», гораздо меньше. Даже если вы сами и есть программист, то не можете судить, вы создали этот относительно небольшой объем знаний или нет. С одной стороны, те знания, которые вы заложили в язык за многие месяцы разработки, будут иметь определенную сферу применимости, потому что в них закодированы некоторые общие истины о законах геометрии, механики и так далее. С другой стороны, вы разрабатывали язык, постоянно учитывая, для выражения какого рода способностей он в итоге будет использоваться.
Идея с тестом Тьюринга наводит на мысль о том, что, если заложить в программу «Элиза» достаточно шаблонов стандартных ответов, она сможет автоматически создавать знания; искусственная эволюция наводит на мысль о том, что при наличии вариации и отбора эволюция (адаптаций) станет происходить автоматически. Но ни то, ни другое не обязательно верно. В обоих случаях есть другая возможность,
Кажется, в таких проектах неизменно происходит одно: если по достижении запланированной цели «эволюционная» программа продолжает работать, то дальнейших улучшений уже не происходит. Именно так должно было быть, если все знания, заложенные в удачно сконструированном роботе, на самом деле получены от программиста. Но такая критика неубедительна: в ходе биологической эволюции также часто достигаются «локальные максимумы приспособленности». Кроме того, уже достигнув своей загадочной формы универсальности, она как будто замерла лет так на миллиард, прежде чем создать более или менее значительные новые знания. Но все же достижение результатов, которые вполне могут быть обусловлены чем-то еще, не есть доказательство эволюции.
Поэтому я сомневаюсь, что в ходе какой-либо «искусственной эволюции» когда-либо создавались знания. Того же взгляда и по тем же причинам я придерживаюсь относительно немного иного типа «искусственной эволюции», при которой в виртуальной среде развиваются смоделированные организмы, а также когда друг с другом стравливаются различные виртуальные виды.
Чтобы проверить это утверждение, я бы хотел увидеть эксперимент немного другого вида: уберем из проекта аспиранта. Вместо робота, сконструированного так, чтобы он мог развивать свои способности к ходьбе, возьмем робота, который уже применяется в какой-нибудь реальной ситуации и может ходить. Далее, мы не будем создавать специальный язык подпрограмм для выражения гипотез о том, как ходить, а заменим существующую программу в существующем микропроцессоре случайными числами. В качестве мутаций возьмем ошибки того типа, которые все равно случаются в таких процессорах (хотя при моделировании можно задавать частоту, с которой мы позволим им случаться). Все это делается, чтобы исключить возможность того, что в конструкцию системы вводятся человеческие знания и привносимые ими новые возможности будут восприниматься как результат эволюции. Затем, как обычно, начнем моделирование этой мутирующей системы – столько раз, сколько угодно. Если робот в конце концов пойдет лучше, чем было изначально, то я ошибся. Если он продолжит совершенствовать свой навык и после этого, то я ошибся очень сильно.
Одна из главных особенностей описанного эксперимента, отсутствующая при обычном способе осуществления искусственной эволюции, состоит в том, что язык (подпрограмм) должен развиваться вместе с теми адаптациями, которые с его помощью выражаются. Как раз это и происходило в биосфере перед скачком к универсальности, который вылился в генетический код ДНК. Как я говорил, возможно, все предыдущие генетические коды кодировали только небольшое число очень похожих организмов. А та чрезвычайно богатая биосфера, которую мы видим вокруг себя, созданная случайной вариацией генов при неизменном языке, представляет собой нечто, ставшее возможным лишь после этого скачка. Мы даже не знаем, универсальность какого типа была там создана. Так почему мы полагаем, что наша искусственная эволюция сможет обойтись без этого?
Думаю, мы должны принять тот факт, что как искусственная эволюция, так и искусственный интеллект – задачи трудные. В том, как эти явления были достигнуты в природе, нечто очень важное остается неизвестным. Попытки воспроизвести их искусственным путем без понимания этого неизвестного, пожалуй, стоило предпринять. Но их неудача не должна нас удивлять. В частности, мы не знаем, почему код ДНК, развившийся для описания бактерий, оказался достаточно сильным, чтобы описать динозавров и людей. И хотя кажется очевидным, что у искусственного интеллекта будут квалиа и сознание, объяснить эти понятия мы не можем. А раз так, то как можно ожидать, что мы смоделируем их с помощью компьютерной программы? Или почему они должны сами собой возникнуть в ходе проектов, нацеленных на достижение чего-то другого? Я полагаю, что, когда мы все-таки разберемся в этом, реализовать искусственным путем эволюцию и интеллект вместе со всеми характерными для них атрибутами не составит большого труда.
Как я строил магическую империю
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Наследник
1. Старицкий
Приключения:
исторические приключения
рейтинг книги
Кротовский, может, хватит?
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Надуй щеки! Том 6
6. Чеболь за партой
Фантастика:
попаданцы
дорама
рейтинг книги
Дворянская кровь
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Взлет и падение третьего рейха (Том 1)
Научно-образовательная:
история
рейтинг книги
