1500py470 (1500py470) wrote,
1500py470
1500py470

Схемотехника и генетика.

http://www.sussex.ac.uk/Users/adrianth/
Кому интересно может прочитать об генетике в схемотехнике в первоисточнике
Evolutionary Electronics At Sussex

Artificial evolution, such as a Genetic Algorithm, has many promising applications in electronics. These range from using it as an optimisation technique as part of a fairly conventional VLSI synthesis pathway, through to using it to design automatically circuits that could be of a very different nature to the way electronics is normally envisaged. We also apply our philosophy of artificial evolution to other domains of design: we seek to find ways of allowing evolution to explore areas of the "design space" not normally accessible.

В журнале "Домашний Компьютер" №11 от 1 ноября 2002 года.
Автор: Киви Берд

fpga2(0)
Среди последних новостей компьютерных технологий промелькнул недавно один любопытный материал об эволюционирующей электронной схеме, которая совершенно случайно и независимо от воли изучавших ее поведение инженеров самостоятельно переизобрела конструкцию радиоприемника. Дело происходило в английском университете Сассекса (г. Брайтон), где около десяти лет занимаются проблемами эволюции самоорганизующейся электроники, и нынешняя история дает повод поближе познакомиться с этой областью компьютерных исследований.
Ближе к природе
В научных и инженерных кругах примерно с 1960-х годов циркулирует идея, что электроника могла бы эволюционировать к более совершенным компьютерам или роботам подобно тому, как в природе эволюционное развитие привело к появлению человека и других сложных биологических систем.
Биология вообще служит для компьютерщиков источником вдохновения. Опираясь на модели мозга, они создали нейронные сети, особенно хорошо проявившие себя в задачах распознавания образов - от рукописного текста до отпечатков пальцев. На основе принципов генетики были разработаны методы скрещивания и мутации программ, что позволило программам-потомкам конкурировать друг с другом в образовании «особей, наиболее приспособленных» для решения некоей конкретной задачи. Такого рода генетические алгоритмы успешно используются при эволюционной разработке программ во множестве самых разнообразных областей, будь то создание произведений искусства или выбор наиболее перспективных акций на фондовой бирже.
Однако в начале 1990-х годов у молодого англичанина Адриана Томпсона (Adrian Thompson), в ту пору аспиранта и сотрудника Центра вычислительной науки и роботехники Сассекского университета, сложилось убеждение, что таким технологиям не хватает одного весьма важного качества. Все они были слишком жестко ограничены правилами, изначально предложенными конструкторами чипов и разработчиками программного обеспечения. Например, поведение живых клеток-нейронов по сути своей неотделимо от особенностей биохимических процессов, протекающих в них. А вот для чипа, моделирующего искусственную нейросеть, абсолютно безразлично, из какого материала состоит микросхема, поскольку вся конструкция функционирует в цифровом режиме.
Цифровые компьютеры представляют любые данные в виде последовательностей единиц и нулей, хранящихся в ячейках памяти в виде «вкл.» или «выкл.». Поэтому и транзисторы в чипах работают как переключатели - они либо «включают», либо «выключают» цепь. Но ведь по внутренней своей природе транзисторы не цифровые, а аналоговые устройства. Между «вкл.» и «выкл.» они последовательно проходят через разные состояния и в этих интервалах могут, к примеру, работать как усилители. Однако конструкторы компьютеров такие свойства транзисторов обычно игнорируют и практически не используют. Аналогичным образом и программисты ограничены цифровой природой компьютеров. Программа - последовательность логических инструкций, которые машина применяет к единицам и нулям по мере того, как те проходят через ее схемы. А потому эволюция, что моделируется генетическими алгоритмами, происходит лишь в крайне искусственном мире, порожденном языком программирования.
Что же произойдет (задался однажды вопросом Томпсон), если бы стало возможным снять цифровые ограничения и применить эволюционные принципы природы непосредственно к аппаратному обеспечению? Сумеет ли эволюция воспользоваться всеми электронными свойствами кремниевых компонент таким же образом, как она использует биомолекулярные структуры? Удастся ли и здесь эволюционными методами создавать новые конструкции? Ответить на все эти вопросы можно было лишь в том случае, если бы удалось найти способ объединения «влажных» процессов эволюции с «сухим» миром кремниевых чипов.
Как это нередко бывает в истории научных исследований, вместе с правильно поставленным вопросом довольно скоро появился и способ его решения. Именно в это время начала обретать популярность новая технология - микросхемы FPGA, созданные фирмой Xilinx, или Field-Programmable Gate Array - вентильные матрицы с перепрограммируемой пользователем логикой. По всей видимости, впервые конструктивную мысль об использовании микросхем FPGA для «эволюции хардвера» высказал в 1992 году ученый Хьюго де Гарис (Hugo de Garis) - весьма экстравагантный персонаж, одновременно стяжавший славу визионера, разработчика необычных «самообучающихся искусственных мозгов» и проповедника крайне эксцентричных идей «компьютерного космизма». Независимо от него примерно в то же самое время на чипы FPGA вышел и сугубо прагматичный Томпсон, которого интересовала вполне практическая задача - новые методы конструирования электронных схем.

Чудо превращения
В обычном микропроцессоре транзисторы намертво зашиты в схемы логических вентилей, выполняющих обработку. В микросхеме же FPGA все не так - здесь логические вентили и их межсоединения можно менять по воле пользователя. Транзисторы микросхемы расположены в виде массива логических ячеек, так что простой загрузкой новой программы в память чипа можно подключать каждую из ячеек к любой другой, формируя вентили по собственному желанию. Другими словами, простой замены программы бывает достаточно, чтобы модем, к примеру, превратился в звуковую микросхему.
Понятно, с таким устройством оказывается несложным организовать и моделирование эволюции при помощи генетического алгоритма. Для этого создается некая популяция конструкций - или попросту схем соединения элементарных ячеек. Каждая «особь» по очереди испытывается на приспособленность (fitness) к выполнению поставленной задачи, после чего наименее приспособленные отсеиваются, оставшиеся скрещиваются, мутируют, ну, и так далее, как это принято в генетических алгоритмах. Правда, если FPGA работает в стандартном режиме цифрового устройства, никакого принципиального отличия от обычного компьютерного моделирования мы здесь не получим. Революционность идеи Томпсона состояла в том, что для получения радикально новых результатов необходимо снять традиционные ограничения, то есть, по сути дела, нарушить «инструкцию по эксплуатации» чипа FPGA, позволив ему функционировать как аналоговому устройству. Прежде всего, Томпсон убрал генератор тактовой частоты, чтобы динамика системы из дискретной стала непрерывной, более напоминающей биологическую. И уже в первых экспериментах удалось получить крайне интересные результаты.
Исследователи поставили перед системой задачу эволюционного выведения схемы, способной различать два сигнала разной частоты - 1 кГц и 10 кГц. Для этого в FPGA выделили совсем небольшой участок - матрицу размером 10х10 ячеек.
FPGA02 FPGA01

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

FPGA04
Количество активных элементов схемы оказалось намного меньшим, чем понадобилось бы при обычном цифровом использовании FPGA.

FPGA05
Как же в процессе эволюции система сумела это сделать - различить разного тона периодические сигналы, не имея «часов», т. е. тактовой частоты синхрогенератора? При изучении окончательной схемы было обнаружено, что входной сигнал направлялся через сложную систему петель обратной связи. Предположили, что таким образом создавались модифицированные и задержанные по времени версии сигнала, которые как-то взаимодействовали с исходным сигналом, что и позволяло схеме различать два тона разной высоты. Но, по правде говоря, признавался впоследствии Томпсон, так и не удалось выяснить, как в действительности это работает?
Вполне очевидным было лишь одно - FPGA работал в аналоговой манере. Вплоть до финальной версии схемы порождались аналоговые волновые сигналы, а не строгий дискретный выход в виде напряжения 0 или 5 Вольт. Причем конструкция найденного решения оказалась в высшей степени интригующей. Из выделенных изначально 100 ячеек в итоге для функционирования схемы оказалось задействовано лишь 32. Остальные можно было убирать, что никак не меняло работу конфигурации. При этом 5 ячеек из оставшихся 32 вообще не выполняли никаких логических функций, способных влиять на выход (на рисунке они затенены серым цветом).

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

«А что у неё внутри?»

Для разрешения этой загадки исследователям требовалось измерять величину сигналов на входах и выходах каждой из ячеек в процессе работы схемы. Однако конструктивные особенности чипов FPGA позволяют получать лишь цифровой доступ к этим точкам, так что аналоговые значения замерять практически невозможно. Тогда приятель Томпсона, Пол Лэйзел (Paul Layzell), решил создать специальную эволюционирующую системную плату, которая позволяет определять параметры работы всех элементов схемы с помощью аналоговых инструментов. На базе именно такого прибора «железная эволюция» и переизобрела недавно радиоприемник, о котором говорилось в начале статьи.
Пол Лэйзел и его коллега Джон Берд (Jon Bird) создавали эволюционную компьютерную программу, чтобы несложная электронная схема самостоятельно модифицировала себя в осциллятор, т. е. устройство, дающее на выходе качественный периодический сигнал синусоидальной формы. Схема, на которой проводились эксперименты, состояла из 10 транзисторов, чьи межсоединения можно программно перекоммутировать самыми разными способами. Каждая такая коммутация рассматривалась алгоритмом в качестве «гена», и после нескольких тысяч мутаций электронная схема действительно преобразовала себя в осциллятор с выходным сигналом правильной формы. Однако при анализе результата быстро обнаружился факт жульничества - на самом деле схема не генерировала синусоиду самостоятельно, а брала сигнал от излучений стоявшего поблизости компьютера, выдавая его на выходе как собственный.
Больше всего поражал тот факт, что для работы радиоприемника-самородка требовалась антенна, а такого рода деталь отсутствовала в экспериментальной схеме в принципе. Поскольку в данном случае электроника допускала проведение более тщательного дознания, было установлено, что роль антенны взяла на себя длинная цепь в системной плате. Но то, каким именно образом эволюционировавшая схема научилась пользоваться этой цепью как антенной, так и осталось загадкой. Очевидно, неисповедимые пути случайных мутаций вывели на «гены» приема эфирных радиочастот, после чего те и закрепились в «генотипе».

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

Адриан Томпсон последние годы занимался несколько иными проблемами. Сразу после того, как стало очевидно, что хардверная эволюция способна приводить к конструктивно неожиданным, но вполне работоспособным решениям, возник вопрос - насколько эти решения надежны при их переносе на другие схемы и массовом тиражировании? Для проверки Томпсон загрузил наилучшую конфигурацию своего «распознавателя двух сигналов» в другой участок матрицы FPGA-чипа с тем же размером 10х10 ячеек. Оказалось, там схема работала весьма ненадежно, однако другой вариант последнего поколения решений функционировал заметно лучше. В результате для поиска наиболее приемлемого решения пришлось экспериментировать с параллельной эволюцией на нескольких участках чипа, на разных чипах одновременно, а также на чипах одной фирмы, но выпущенных на разных фабриках.
Помимо очень сильно разветвившейся задачи одного рода, обрисовалась и другая серьезная проблема. Электронные схемы должны работать в достаточно широком температурном диапазоне. Так, для обычных микропроцессоров рабочий диапазон простирается примерно от -20 до +80 по Цельсию. Эволюционные же схемы имеют тенденцию более-менее прилично работать лишь в узком интервале порядка 10 градусов в диапазоне комнатной температуры в лаборатории. Скорее всего, это связано с тем, что температура влияет на емкость, сопротивление и другие электрические характеристики компонент. Но каковы бы ни были причины, температурная чувствительность - серьезный недостаток схемы общего назначения, которая в идеале всегда должна быть дешевым и неприхотливым устройством, потребляющим минимум энергии и не требующим дополнительных термоконтроллеров. Для решения проблемы на помощь опять были призваны эволюционные алгоритмы, позволившие, помимо прочего, сделать еще одно большое открытие в области разработки новых конструкций: экспериментальным путем установлена важнейшая роль так называемой «нейтральной эволюции».
Исследователям было ясно, что при отыскании стабильного решения для функционирования в разных условиях требуется множество чипов, одновременно работающих в разных условиях: один, грубо говоря, в печке, другой - в холодильнике и т. д. При этом чипы должны быть электрически изолированы друг от друга для предотвращения взаимного влияния. Столь серьезные ограничивающие факторы означают, что наиболее разумной оказывается простейшая эволюционная стратегия, когда в каждый момент времени происходит лишь единственная мутация, а не перестройка всей конфигурации системы. Если единственная мутация вызывает снижение «пригодности», то ее отвергают, в противном же случае - принимают. По сути своей это просто алгоритм случайного поиска экстремума функции с допущением нейтральных ходов, которые, как выяснилось, являются жизненно важным компонентом эволюции.
Построенный эксперимент закончился вполне реальным успехом, когда схеме удалось найти надежную «всепогодную» конструкцию, которая не могла быть получена на основе общепринятых принципов разработки. Каждый раз, когда поиск заводил систему в зону локального оптимума и, казалось, нет никаких возможностей для совершенствования, схеме позволяли пройти через тысячи нейтральных мутаций, не повышающих пригодность, но слегка меняющих состав компонент. После чего находилась единственная мутация, приводящая к новому заметному улучшению параметров. И так повторялось несколько раз. Нейтральный дрейф уводил от схемы, которую невозможно было усовершенствовать изменением единственного гена и, в конечном счете, приводил к отысканию положительной мутации.
Формат этой статьи позволил рассказать лишь о небольшой части интереснейших работ, ведущихся сегодня в области эволюции электроники научно-исследовательскими лабораториями мира. По данной теме уже несколько лет устраиваются ежегодные международные семинары и конференции, спонсорами исследований выступают ведущие компании телекоммуникационной и компьютерной индустрии, поскольку экспериментальные результаты и разработка теории эволюционных конструкций обещают вполне ощутимые практические выгоды. Поэтому вполне вероятно, что в обозримом будущем в наших сотовых телефонах, карманных компьютерах и другой микропроцессорной технике будут работать удивительные схемы, самостоятельно развившиеся в процессе «железной эволюции».
Tags: evolutionary electronics, hardware history, Новые пути, СБИС БИС ИС, Схемотехника
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 56 comments