7159 УДК 004.3 ПАРАДИГМА ПОСТРОЕНИЯ САМОМАРШРУТИЗИРУЮЩЕГОСЯ АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ НА ОСНОВЕ НЕЙРОННОЙ СЕТИ А.И. Посягин Пермский национальный исследовательский политехнический университет Россия, 614081, Пермь, Плеханова ул., 71 E-mail: posyagin.anton@gmail.com А.А. Южаков Пермский национальный исследовательский политехнический университет Россия, 614990, Пермь, Комсомольский просп., 29 E-mail: uz@at.pstu.ru Ключевые слова: аналого-цифровой преобразователь, нейронная сеть, отказоустойчивость Аннотация: Предлагается структура самомаршрутизирующегося аналого-цифрового преобразователя на основе двухслойной нейронной сети. Описываются алгоритм формирования индивидуальных аналого-цифровых преобразователей в структуре нейронной сети для каждого входного сигнала, а также алгоритм проведения аналогоцифрового преобразования с его помощью. При описании алгоритмов приводятся служебные сигналы, связывающие разные типы нейронов. Формулируются основные достоинства и недостатки разработанной структурной схемы. Системы автоматизированного управления (САУ) занимают все более значимую роль во всех областях жизнедеятельности человека, начиная с простейших систем управления автоматическим фрезерным станком и заканчивая многозвенными, иерархическими системами, например, климат-контроля «умного» дома. Одной из проблем при разработке САУ в настоящее время является проблема обмена информацией между блоком управления и объектом управления, параметры которого меняются непрерывно в достаточно широком диапазоне. Информация об объекте управления собирается с помощью различных датчиков, выходом которых достаточно часто становится аналоговое напряжение. Это напряжение необходимо преобразовать в двоичный код, для чего используются аналого-цифровые преобразователи (АЦП). В настоящее время существуют огромное количество различных схем АЦП, каждая из которых отличается определенным набором технических и метрологических характеристик [1], но постоянное развитие и усложнение САУ приводит к тому, что задача по разработке новых структур и принципов АЦП остается актуальной. На наш взгляд, на данный момент наиболее важные требования, предъявляемые к АЦП, связаны с отказоустойчивостью, увеличением быстродействия и возможностью создавать адаптивные системы с минимальными аппаратными затратами [2]. Для создания АЦП, удовлеXII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г. 7160 творяющего данным требованиям, предлагается использовать нейронные сети [2,3]. Это связано с тем, что нейронная сеть (НС) – это система, состоящая из однотипных элементов (нейронов), которые эффективно реализуют некоторые простейшие операции по обработке поступающих сигналов. При этом нейроны способны объединяться и образовывать достаточно сложные отказоустойчивые системы обработки информации. На основе этого принципа строится архитектура самомаршрутизирующегося аналогоцифрового преобразователя на основе нейронной сети [3]. Самомаршрутизирующийся АЦП на основе НС состоит из трех основных блоков: блок компараторов, блок-вычислитель требуемой разрядности для индивидуального АЦП (ИАЦП) по каждому из входов, а также непосредственно нейронной сети (рис. 1) [3-6]. Блок компараторов отвечает за сравнение поступившего на конкретный вход аналогового напряжения с уравновешивающим напряжением, выработанным с помощью НС для этого входного сигнала. Схема вычисления требуемой разрядности задает для НС количество разрядов в формируемом ИАЦП для каждого из входных сигналов, от чего будет зависеть быстродействие и точность получения результата. Основой всего АЦП, конечно, является сама НС, которая формирует ИАЦП заданной разрядности, формирующий значение отсчета на основе информации, поступающей с выхода соответствующего компаратора. Рис. 1. Структурная схема аналого-цифрового преобразователя на основе нейронной сети. Ui – входные аналоговые напряжения, ki – необходимое количество разрядов в индивидуальном АЦП для обработки i-го входного сигнала, Ni – значение отсчета, полученного в АЦП для i-го входного сигнала, Uэталонное – постоянное напряжение, используемое АЦП для определения весовых коэффициентов разрядов. Получение отсчета, то есть аналого-цифровое преобразование, осуществляется по схеме поразрядного взвешивания [1], когда ИАЦП по первому такту взводит разряд в «1», а по второму такту, в зависимости от значения на выходе компаратора, либо оставляет его в «1», либо возвращает в «0». Сигналом для возвращения значения разряда в «0» служит сигнал компаратора, когда уравновешивающее напряжение превысило входное. Такая процедура повторяется для каждого разряда, начиная со старшего знаXII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г. 7161 чащего разряда (СЗР) и заканчивая младшим (МЗР), при этом на каждый разряд требуется 2 такта. В итоге на выходе НС формируется значение отсчета наиболее близко соответствующее входному напряжению, но не превышающее его. Получение уравновешивающего напряжения происходит за счет матрицы R-2R [1], которую образуют нейроны в НС. Для работы этой матрицы используется питающее напряжение Uэталонное, которое определяет величину аналогового напряжения соответствующего СЗР, далее при помощи матрицы распределяются весовые коэффициенты остальных разрядов. Если разряд находится в положении «1», то это приводит к добавлению тока, соответствующего этому разряду, в общую шину, которая образуется при соединении нейронов, входящих в ИАЦП. В конце этой шины имеется сумматор токов, который и преобразует общий ток всех разрядов в уравновешивающее напряжение. На первом этапе разработки структурной схемы НС, в ней выделялось три скрытых слоя [3], но со временем было решено остановиться на двухслойной структуре (рис. 2) [4]. Это было связано с уменьшением временной задержки для формирования ИАЦП, кроме того, устранение третьего слоя позволило улучшить алгоритмы по обеспечению отказоустойчивости НС. Конечно, переход к двухслойной схеме также дал отрицательный эффект, в виде увеличения количества ключей, связывающих второй скрытый слой с выходным, но это увеличение является приемлемым; более подробно тема перехода от трехслойной структуры к двухслойной изложена в работе [5]. Рис. 2. Структурная схема нейронной сети. n – количество входных сигналов, m – количество коммутаторов, l – количество основных нейронов, подключенных к одному коммутатору. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г. 7162 Двухслойная структура НС представляет собой входной слой, два скрытых слоя и выходной (рис. 2) [4]. Входной и выходной слои связывают НС с внешними цепями и осуществляют вспомогательную функцию при распределении сигналов в НС, коммутаторы (Км) реализуют функцию маршрутизации сигналов внутри НС от входных нейронов (Вх) к свободной части основных нейронов (ОН), ОН – это основной элемент НС, который отвечает непосредственно за проведение аналого-цифрового преобразования. ОН (рис. 3), по своей сути, представляет собой простейший одноразрядный АЦП. В его структуре заложена схема формирования значения разряда, которая срабатывает в определенный момент времени, определяемый системой управления (СУ), а также звено матрицы R-2R, с помощью которого происходит деление напряжения между разрядами (в зависимости от положения ОН в ИАЦП это звено будет определять «вес» разряда, соответствующего ОН). СУ осуществляет управление процессом формирования значения разряда, а также осуществляет маршрутизацию сигналов внутри НС за счет подключения входных и выходных ключей к другим нейронам. Рис. 3. Структурная схема ОН. Таким образом, объединяя разное количество ОН в ИАЦП, мы можем менять его разрядность. Кроме того, предусматривая дополнительные связи между ОН, можно увеличивать отказоустойчивость схемы. Еще одним достоинством такой схемы является распределенная система управления, части которой находятся в нейронах всех слоев, что также позволяет предусматривать резервирование и дополнительные связи на всех уровнях структуры при сохранении общей целостности управления и возможностей, реализуемых системой. Такая структура НС накладывает определенные ограничения на формирование ИАЦП. Например, минимальная разрядность ИАЦП будет равна количеству ОН, подключенных к одному Км, так как через каждый из Км можно транслировать сигналы только для одного ИАЦП. Кроме того, увеличение общего количества ОН ведет к значительному росту ключей в выходных нейронах, поэтому при проектировании необходимо стремиться к минимально возможному количеству ОН. Работа самомаршрутизирующегося АЦП на основе НС делится на три этапа [3-5]: формирование ИАЦП, проведение аналого-цифрового преобразования и разрушение ИАЦП. Формирование ИАЦП начинается при поступлении на вход НС информации о количестве требуемых для ИАЦП разрядов, и связано с системой самомаршрутизации сигналов в НС. Система самомаршрутизации в НС реализована за счет наличия дополнительных служебных сигналов между нейронами (рис. 4), которые позволяют системе собирать информацию о состоянии сети ОН и определять на какой участок этой сети можно сформировать ИАЦП заданной разрядности. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г. 7163 Рис. 4. Служебные сигналы между нейронами разных типов. Для сбора информации о состоянии ОН используются Км, которые получают от ОН флаги «готов» и «связности» (рис. 4в). Значения этих флагов указывают соответственно на работоспособность конкретного ОН и на то, что этот ОН может подключить свои выходы к одному из других ОН. Значение флага «связности», в общем, также зависит от значения флага «готов», так как он выставляется только в том случае, если данный ОН получил хотя бы один из флагов «готов», выработанных другими ОН, к которым он может подключиться (рис. 4г). На основании полученных флагов Км подсчитывает собственные ОН, при чем осуществляет подсчет отдельно с начала и с конца, это позволяет разделить ОН в случае потери между ними связности. Такое разделение необходимо потому, что ОН, подсчитанные с начала могут быть присоединены к ИАЦП, формируемому через соседний Км, а ОН, подсчитанные с конца, могут использоваться для формирования ИАЦП через данный Км. Поэтому в Км предусмотрены две системы распространения статусной информации о состоянии ОН: значения статуса, соответствующее сумме ОН, подсчитанных с начала, распространяется Км справа налево без задержки; значение статусного регистра отправляется во входной нейрон и соответствует сумме ОН, подсчитанных с конца, и значению статуса Км справа (рис. 4а, б). При этом надо иметь ввиду, что если связность не нарушена, то к своему статусу Км добавит статус соседнего справа Км, а если связность нарушена в последнем ОН, подключенном к данному Км, то значение статусного регистра будет равно нулю, так как отсутствие связности в последнем ОН говорит о том, что формирование ИАЦП через данный Км невозможно. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г. 7164 Поступление во входной нейрон информации о требуемом количестве разрядов для ИАЦП приводит к появлению ненулевого значения в регистре запроса входного нейрона (рис. 4а). При этом входной нейрон с помощью системы управления приоритетами (СУП) принимает решение, в какой из Км будет перенаправлен данный запрос. Это решение принимается на основе трех критериев: во-первых, Км должен посылать во входной нейрон флаг «готов», говорящий о его работоспособности и о том, что он не занят, во-вторых, значение статусного регистра Км должно быть не меньше значения запроса, в-третьих, Км должен находиться как можно ближе к точке входа в систему. Как только запрос поступает на один из Км, этот Км передает во входной нейрон флаг «принял» и выставляет флаг запроса для наиболее близкого к нему свободного и исправного ОН, который будет соответствовать СЗР в ИАЦП. Если Км не хватает для формирования ИАЦП «собственных» ОН, то он передает запрос на соседний справа Км. Для ускорения формирования ИАЦП между Км сигналы запроса распространяются без задержек, используя комбинационную логику. Каждый из Км уменьшает значение запроса на количество «собственных» исправных ОН. Км, которому будет «принадлежать» последний ОН в ИАЦП определяет, какой из его «собственных» ОН будет последним в ИАЦП и выставляет для него флаг МЗР, а также сообщает ему номер входа, для которого формировался ИАЦП. ОН, на который поступил флаг МЗР, выставляет флаг запроса для выходного нейрона, соответствующего номеру входа, который был получен от Км (рис. 4д). Как только выходной нейрон получит запрос от одного из ОН, это говорит о завершении этапа формирования ИАЦП и можно переходить к этапу проведения аналого-цифрового преобразования. Аналого-цифровое преобразование, как уже говорилось ранее, происходит по схеме поразрядного взвешивания. Очередность срабатывания ОН определяется служебным сигналом «метки» длительностью один такт, который передается между ОН, выделяя каждому ОН два такта для срабатывания. Кроме того, для осуществления преобразования при соединении ОН требуется соединить их двумя шинами: одна – это аналоговая шина, по которой будет течь суммарный ток для получения на выходе НС уравновешивающего напряжения, а вторая – это цифровая шина, по которой будут передаваться значения уже определенных разрядов. При этом следует отметить, что цифровая шина – это своеобразный распределенный по ОН сдвиговый регистр, который заканчивается в выходном нейроне, по приходу туда метки значение сдвигового регистра сохраняется в отдельном запоминающем регистре и соответствует значению отсчета, выработанного ИАЦП. После получения очередного отсчета на ИАЦП подается сигнал сброса, который переводит все ОН в исходное состояние. Таким образом реализуется функция аналогоцифрового преобразования каждого входного сигнала в сформированном для этого ИАЦП. Этап разрушения ИАЦП начинается, когда пропадает входной аналоговый сигнал, схема вычисления необходимой разрядности ИАЦП подаст на вход НС нулевое значение, что приведет сперва к сбросу регистра запроса во входном нейроне, затем сбросу запросов в Км, сбросу флагов запроса и МЗР от Км для ОН и, наконец, сбросу флага запроса для выходного нейрона. Как только это произойдет, ИАЦП будет считаться разрушенным, все нейроны примут исходное состояние, и их можно будет использовать для формирования других ИАЦП. Итогом проделанной работы стала архитектура самомаршрутизирующегося АЦП на основе НС, в которую заложены возможности повышения отказоустойчивости, система распределенного управления НС, принципы самомаршрутизации сигналов внутри НС и структура ОН, построенного на основе матрицы R-2R. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г. 7165 На данный момент можно выделить три основных направления дальнейших исследований: реализация функциональных схем всех типов нейронов и моделирование работы алгоритмов; разработка систем контроля и диагностики нейронов для определения их статуса (готов/не готов); расчет приблизительных аппаратных затрат на реализацию различных вариантов схемы и разработка рекомендаций по подбору параметров НС, исходя из требований решаемой задачи (быстродействия – точности преобразования. Список литературы 1. 2. 3. 4. 5. Титце У., Шенк К. Полупроводниковая схемотехника. 12-е изд.: пер. с нем. М.: ДМК Пресс, 2007. Т. 2 942 с. Цифровые адаптивные информационно-измерительные системы / Авдеев Б.Я., Белоусов В.В. и др.; под ред. Авдеева Б.Я. и Чернявского Е.А. СПб.: Энергоатомиздат, 1997. 234 с. Посягин А.И., Южаков А.А. Разработка аналого-цифрового преобразователя на основе нейронной сети // Электротехника. 2012. № 11. С. 18-24 Посягин А.И., Южаков А.А. Самомаршрутизирующийся аналого-цифровой преобразователь на основе двухслойной нейронной сети // Нейрокомпьютеры: разработка, применение. 2013. № 11. Посягин А.И., Южаков А.А. Разработка двухслойной нейронной сети для самомаршрутизирующегося аналого-цифрового преобразователя на основе нейронной сети // Электротехника. 2013. № 11. С. 10-13 XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г.