Эволюция железа

(Ноябрь 2002)

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

motherboard

Дело происходило в английском университете Сассекса (г. Брайтон), где последние лет десять занимаются проблемами эволюции самоорганизующейся электроники. Ну а нынешняя история дает удобный повод поближе познакомиться с этой областью компьютерных исследований.

Ближе к природе

В научных и инженерных кругах примерно с 1960-х годов циркулирует идея о том, что электроника могла бы эволюционировать к более совершенным компьютерам или роботам – подобно тому, как в природе эволюционное развитие сравнительно простых организмов привело к появлению человека и других сложных биологических систем.

Биология вообще служит для компьютерщиков источником вдохновения. Опираясь на модели мозга, к примеру, они разработали нейронные сети, особо хорошо проявившие себя в задачах распознавания образов — от рукописного текста до отпечатков пальцев.

На основе принципов генетики были разработаны способы для скрещивания и мутации программ, что позволило программам-потомкам конкурировать друг с другом в создании “особей, наиболее приспособленных” для решения некоей конкретной задачи. Такого рода генетические алгоритмы успешно используются при эволюционной разработке программ во множестве самых разнообразных областей, будь то создание произведений искусства или выбор наиболее перспективных акций на фондовой бирже.

Однако, в начале 1990-х годов у молодого англичанина Адриана Томпсона (Adrian Thompson), в ту пору аспиранта и сотрудника Центра вычислительной науки и роботехники Сассекского университета, сложилось убеждение, что таким технологиям не хватает одного весьма важного качества. Все они были слишком жестко ограничены правилами, изначально предложенными конструкторами чипов и разработчиками программного обеспечения.

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

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

Но ведь по внутренней своей природе транзисторы не цифровые, а аналоговые устройства. Между “вкл” и “выкл” они последовательно проходят через разные состояния, и в этих интервалах могут, к примеру, работать как усилители. Однако конструкторы компьютеров эти свойства транзисторов обычно игнорируют и практически не используют.

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

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

Ответить на все эти вопросы можно было лишь в том случае, если бы удалось найти способ объединения “влажных” процессов биологической эволюции с “сухим” миром кремниевых чипов.

Как это нередко бывает в истории научных исследований, вместе с правильно поставленным вопросом довольно скоро появился и способ его решения. Именно в это время начала обретать популярность новая технология — микросхемы FPGA, созданные фирмой Xilinx, или Field-Programmable Gate Array — вентильные матрицы с перепрограммируемой пользователем логикой.

По всей видимости, впервые конструктивную мысль об использовании микросхем FPGA для “эволюции хардвера” высказал в 1992 году ученый Хьюго де Гарис (Hugo de Garis) — весьма экстравагантный персонаж, одновременно стяжавший славу визионера, разработчика необычных “самообучающихся искусственных мозгов” и проповедника крайне эксцентричных идей “компьютерного космизма”.

Независимо от него примерно в то же самое время на чипы FPGA вышел и сугубо прагматичный Томпсон, которого интересовала вполне практическая задача — новые методы конструирования электронных схем.

[ВРЕЗКИ]

Хьюго де Гарис (www.cs.usu.edu/~degaris) называет себя “космистом и строителем искусственного мозга”. Австралиец по происхождению, британец по гражданству, много лет проработавший в Японии и Бельгии, де Гарис в настоящее время преподает компьютерные науки в американском Университете штата Юта и там же возглавляет BRAIN Project — программу создания искусственного самовоспроизводящегося интеллекта собственной конструкции.

degaris1

Под эти работы де Гарисом подведена мощная идеологическая база, снискавшая ему сомнительную славу типичного mad scientist (чокнутого ученого), поскольку “де-гарисизм” декларирует, что в ходе естественного процесса эволюции к власти неизбежно должен прийти богоподобный гигантский искусственный интеллект, который положит конец непрерывным войнам человечества (а может, и вообще избавит мир от людей). Посему де Гарис не намерен препятствовать естественному, с его точки зрения, ходу вещей и первым начал строить прототип этого самого супер-мозга. (Фото, взятое с сайта ученого, озаглавлено соответственно: “Дьявол и его машина”.)

#

Адриан Томпсон (www.cogs.susx.ac.uk/users/adrianth) не любит досужие споры о том, сможет ли машина в процессе эволюции обрести сознание. Выпускник Института науки и техники Манчестерского университета по специальности “разработка микроэлектронных систем”, Томпсон волею судьбы стал одним из пионеров новой области исследований — эволюционной электроники.

Athompson

Произошло это в университете Сассекса, где Томпсон защитил диссертацию по данной теме, заинтересовавшись “потрясающей эффективностью” схем, рождающихся в процессе аппаратной эволюции, а затем здесь же продолжил работу в качестве исследователя и преподавателя.

[Конец врезок]

Чудо превращения

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

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

Понятно, что с таким устройством оказывается несложным организовать и моделирование эволюции при помощи генетического алгоритма. Для этого создается некая популяция конструкций — или попросту, схем соединения элементарных ячеек. Каждая “особь” по очереди испытывается на приспособленность (fitness) к выполнению поставленной задачи, после чего наименее приспособленные отсеиваются, наиболее приспособленные скрещиваются, мутируют, ну, и так далее, как это принято в генетических алгоритмах.

Правда, если FPGA при этом работает в стандартном режиме цифрового устройства, никакого принципиального отличия от обычного компьютерного моделирования мы здесь не получим. Революционность идеи Томпсона состояла в том, что для получения радикально новых результатов необходимо снять традиционные ограничения, т.е. по сути дела нарушить “инструкцию по эксплуатации” чипа FPGA, позволив ему функционировать как аналоговому устройству.

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

Исследователи поставили перед системой задачу эволюционного выведения схемы, способной различать два сигнала разной частоты — 1 кГц и 10 кГц. Для этого в FPGA выделили совсем небольшой участок — матрицу размером 10х10 ячеек. На базе популяции из 50 особей и после смены 4000 поколений система действительно сумела создать нужную схему, вполне обойдясь без тактового генератора и при этом задействовав для этого далеко не все возможные ячейки. Количество активных элементов схемы оказалось намного меньшим, чем понадобилось бы при обычном цифровом использовании FPGA.

Как же в процессе эволюции система сумела это сделать — различать разного тона периодические сигналы, не имея “часов”, т.е. тактовой частоты синхрогенератора? При изучении окончательной схемы было обнаружено, что входной сигнал направлялся через сложную систему петель обратной связи. Предположили, что этим создавались модифицированные и задержанные по времени версии сигнала, которые как-то взаимодействовали с исходным сигналом, что и позволяло схеме различать два тона разной высоты. Но, по правде говоря, признавался впоследствии Томпсон, так и не удалось выяснить, как в действительности это работает…

Вполне очевидным было лишь одно — FPGA работал в аналоговой манере. Вплоть до финальной версии схемы порождались аналоговые волновые сигналы, а не строгий дискретный выход в виде напряжения 0 или 5 вольт. Причем конструкция найденного решения оказалась в высшей степени интригующей. Из выделенных изначально 100 ячеек в итоге для функционирования схемы оказалось задействовано лишь 32. Остальные можно было убирать, что никак не меняло работу конфигурации.

2bee32

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

“А что у ей внутре”

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

Paul-Layzell

Тогда приятель Томпсона, Пол Лэйзел (Paul Layzell) решил создать специальную эволюционирующую системную плату, которая позволяет определять параметры работы всех элементов схемы с помощью аналоговых инструментов. На базе именно такого прибора “железная эволюция” и переизобрела недавно радиоприемник, о котором говорилось в начале статьи.

Пол Лэйзел и его коллега Джон Берд (Jon Bird) создавали эволюционную компьютерную программу, чтобы несложная электронная схема самостоятельно модифицировала себя в осциллятор, т.е. устройство, дающее на выходе качественный периодический сигнал синусоидальной формы. Схема, на которой проводились эксперименты, состояла из 10 транзисторов, чьи межсоединения можно программно перекоммутировать самыми разными способами.

Каждая такая коммутация рассматривалась алгоритмом в качестве “гена”, и после нескольких тысяч мутаций электронная схема действительно преобразовала себя в осциллятор с выходным сигналом правильной формы. Однако при анализе результата быстро обнаружился факт “жульничества” — на самом деле схема не генерировала синусоиду самостоятельно, а брала сигнал от излучений стоявшего поблизости компьютера, выдавая его на выходе как собственный.

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

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

В жару и в холод

Адриан Томпсон последние годы занимался несколько иными проблемами. Сразу после того, как стало очевидно, что хардверная эволюция способна приводить к конструктивно неожиданным, но вполне работоспособным решениям, возник вопрос — насколько эти решения надежны при их переносе на другие схемы и массовом тиражировании?

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

Помимо очень сильно разветвившейся задачи одного рода, обрисовалась и другая серьезная проблема. Электронные схемы должны работать в достаточно широком температурном диапазоне. Так для обычных микропроцессоров рабочий диапазон простирается примерно от -20 до +80 градусов по Цельсию. Эволюционные же схемы имеют тенденцию более-менее прилично работать лишь в узком промежутке порядка 10 градусов из диапазона комнатной температуры в лаборатории.

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

Для решения проблемы на помощь опять были призваны эволюционные алгоритмы, позволившие, помимо прочего, сделать еще одно большое открытие в области разработки новых конструкций: экспериментальным путем установлена важнейшая роль так называемой “нейтральной эволюции”.

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

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

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

number_of_muts

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

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

# #

Формат данной статьи позволил рассказать лишь о небольшой части интереснейших работ, ведущихся сегодня в области эволюции электроники научно-исследовательскими лабораториями мира.

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

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

The END