Синтез схем произвольной комбинационной логики в нейросетевом базисе с применением метода имитации отжига

Математическое моделирование. Оптимальное управление Вестник Нижегородско го университета им. Н.И. Лобачевского, 2008, № 5, с. 126-130

УДК 681.3.06: 681.322

СИНТЕЗ СХЕМ ПРОИЗВОЛЬНОЙ КОМБИНАЦИОННОЙ ЛОГИКИ В НЕЙРОСЕТЕВОМ БАЗИСЕ С ПРИМЕНЕНИЕМ МЕТОДА ИМИТАЦИИ ОТЖИГА

© 2008 г. П.Д. Басалин, П.Ю. Белокрылое, Д.С. Згурский

Нижегородский госуниверситет им. Н.И. Лобачевского

vestnik@unn.ru

Поступила в редакцию 27.06.2008

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

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

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

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

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

• увеличение тактовых частот системы;

• конвейеризацию выполнения инструкций;

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

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

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

• повышения мощности нейронной сети (увеличения числа нейронов, количества слоев);

• совершенствования архитектуры сети;

• применения эффективных процедур обучения;

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

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

• выделить «естественный» параллелизм задачи;

• применить для ее формализации известные методы обучения искусственных нейронных сетей;

• определиться с архитектурой ВС, наиболее рациональной для решения рассматриваемого класса задач.

Цифровые автоматы как объект исследования представляют интерес в двух аспектах. Во-первых, как составляющие средств технического обеспечения информационных систем различного назначения (САПР, АСУ, АСНИ, АОС и т.д.). Во-вторых, как объект проектирования в САПР микроэлектронных устройств цифровой аппаратуры. Постоянное расширение сферы применения цифровой аппаратуры, усложнение ее конструктивно-технологической базы от интегральной и функциональной микроэлектроники, повышение функциональности и, как следствие, степени интеграции цифровых модулей, использование их в реализациях нейрокомпьютеров предъявляют особые требования к методам и технологиям их проектирования. Развитие этих методов, в свою очередь, способствует появлению и внедрению в практику новых технических решений - прослеживается положительная обратная связь, определяющая высокие темпы прогресса в данной предметной области.

Центральной проблемой синтеза цифрового автомата является проблема синтеза его комбинационной составляющей. В работах [1, 2] эта проблема была сведена к проблеме синтеза эквивалентной бинарной (или биполярной) многослойной нейронной сети. Для обучения исходно избыточной нейронной сети было предложено использование эволюционно-генетических алгоритмов оптимизации. При этом в качестве варьируемых параметров сети выступали

синаптические веса межнейронных связей и типы активационных функций нейронов.

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

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

Вместе с тем для некоторых классов схем и используемого логического базиса процесс синтеза существенно упрощается. Так, например, для класса двухъярусных схем, соответствующих логическим функциям, представленным нормальными формами, легко устанавливается верхняя оценка структурной сложности исходной для обучения нейронной сети. Использование в качестве логического базиса функций И-НЕ или ИЛИ-НЕ позволяет жестко фиксировать единый тип активационной функции для всех нейронов, тем самым ограничивая пространство варьируемых параметров только синаптическими весами межнейронных связей. Можно привести еще ряд примеров, когда учет специфики конкретных задач синтеза позволяет ускорить процесс поиска решений.

Как инструмент обучения нейронной сети, наряду с генетическими алгоритмами, заслуживает внимания метод имитации отжига [3]. Суть метода в конкретной, использованной авторами, интерпретации состоит в следующем.

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

Число входов персептрона равно числу N аргументов x = (x1, x2,..., xN) реализуемых логических функций, а число выходов — числу M реализуемых функций у = (у1;У2,...,yM). Количество внутренних (скрытых) слоев и число нейронов в них задается эвристически (желательно минимально необходимое).

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

P = аXq , д = 1, Q * выполняет исходная таб-

лица истинности хд = (хд,хд,...,X<N) - д -й вектор известных значений аргументов реализуемых функций, Yq = (Y1q ^2д,...,YM) - вектор соответствующих значений функций, Q - мощность обучающего множества, т.е. число строк таблицы истинности, равное 2N для полностью определенных функций.

В процессе обучения на текущей итерации

векторы Хд, д = 1, Q , из множества Р последовательно подаются на вход персептрона, и для каждого из них оценивается ошибка между

фактическим уд и желаемым Уд откликом

1 I II2 ----

(выходом) сети ед = — ||уд - Yq| ,д = 1,Q . Затем

Q

определяется общая ошибка е = 2 ед, интер-

д=1

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

Варьируемые в процессе обучения параметры нейронной сети (типы межнейронных связей и типы самих нейронов, обусловленные выбранным для синтеза логическим базисом) представляются кодированным образом — битовой строкой [1].

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

за счет увеличения вероятности принятия алгоритмом «плохих» решений при высоких значениях параметра Т. Для рассматриваемых авторами классов схем этот параметр выбирается из диапазона [100, 1000] целых чисел.

Точкой завершения работы алгоритма (при невыполнении других критериев останова) служит параметр Tend, определяющий конечное значение температуры энергетической системы. Очевидно, его значение при достижении алгоритмом глобального энергетического минимума системы равно нулю. Предусмотрена возможность остановки работы алгоритма и по временному критерию, так как в некоторых случаях синтеза сложных схем промежуточный результат может также представлять определенный интерес, например когда схема реализует некоторые подмножества множества y = (y1, y2,..., yM) логических функций. Эти подмножества могут быть представлены отдельными функциональными узлами с целью дальнейшего их объединения для реализации полного множества

y = (yi, У2,---> Ум )-

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

• генерация начального состояния сети: каждая межнейронная связь и каждый нейрон в кодировке принимает случайное значение из допустимых;

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

• при фиксированном значении параметра T алгоритм порождает 10 новых решений, стремясь улучшить текущее решение прежде, чем произойдет изменение температуры. Каждое порождаемое решение принимается как текущее с вероятностью единица, если Ае < 0, и вероятностью h(Ae,T) = exp (-Ье/T) при Ае > 0, где Ае - приращение значения энергетической функции текущего решения по отношению к предыдущему. В случае Ае > 0 алгоритмом запускается независимый стохастический процесс, имеющий свою вероятностную характеристику а. Решение, для которого значение h оказывается больше а, принимается

Рис. 1. Нейросетевое решение для таблицы истинности одноразрядного комбинационного сумматора в базисе И, ИЛИ, НЕ

Рис. 2. Нейросетевое решение для таблицы истинности одноразрядного комбинационного сумматора в базисе И-НЕ

Рис. 3. Нейросетевое решение для таблицы истинности одноразрядного комбинационного сумматора в базисе ИЛИ-НЕ

алгоритмом в качестве текущего. Такой механизм принятия «плохих» решений позволяет алгоритму преодолевать области локальных энергетических минимумов;

• текущее значение температуры Т изменяется по закону Т = РТ, где Р е (0,1] - настраиваемый параметр алгоритма, определяющий скорость снижения температуры. Значение в выбирается эвристически исходя из тех соображений, что слишком малая его величина может препятствовать сходимости алгоритма. Авторами использовались значения в в диапазоне от

0.9 до 0.98.

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

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

младшего (г -1 )-го разряда; аг,Ьг - г -е разряды складываемых чисел. С двух выходов сети снимаются значения реализуемых функций: г -й

разряд суммы и сигнал переноса в соседний старший разряд рг. На рис. 1 двойными окружностями помечены нейроны, моделирующие логические элементы И, одинарными — элементы ИЛИ, черными кругами — «мертвые»

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

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

Список литературы

1. Басалин П.Д., Белокрылов П.Ю. Синтез комбинационных логических схем в нейросетевом базисе // Вестник ВГАВТ. Межвузовская серия «Моделирование и оптимизация сложных систем». Вып. 1. Н. Новгород, 2006.

2. Басалин П.Д., Белокрылов П.Ю. Структурный синтез цифровых автоматов в нейросетевом базисе // Системы управления и информационные технологии. Научно-технический журн. № 3 (29). М.-Воро-неж, 2007. 44 с.

3. Джонс Т. Программирование искусственного интеллекта в приложениях. М.: ДМК Пресс, 2004. 25 с.

SYNTHESIS OF ARBITRARY COMBINATIONAL LOGIC SCHEMES IN A NEURAL NETWORK BASE USING THE ANNEALING IMITATION METHOD

P.D. Basalin, P. Yu. Belokrylov, D.S. Zgursky

We consider the original formal method of combinational logic scheme synthesis, based on the training of an initially superfluous binary multilayer neural network. The learning algorithm combines the statistical approach with the annealing imitation strategy. The algorithm performance is illustrated by the example of the logic scheme synthesis of a single-digit coincidence-type adder.