Распродажа

Электронные компоненты со склада по низким ценам, подробнее >>>

Содержание ChipNews

2003: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2002: 
1, 5, 6, 7, 8, 9
2001: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2000: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1999: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Новости электроники

В 14 раз выросло количество россиян на MediaTek Labs ? проекте по созданию устройств "интернета вещей" и "носимых гаджетов"

Сравнив статистику посещения сайта за два месяца (ноябрь и декабрь 2014 года), в MediaTek выяснили, что число посетителей ресурса из России увеличилось в 10 раз, а из Украины ? в 12. Таким образом, доля русскоговорящих разработчиков с аккаунтами на labs.mediatek.com превысила одну десятую от общего количества зарегистрированных на MediaTek Labs пользователей.

Новое поколение Джобсов или как MediaTek создал свой маленький "Кикстартер"

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

Семинар и тренинг "ФеST-TIваль инноваций: MAXIMум решений!" (14-15.10.2013, Новосибирск)

Компания Компэл, приглашает вас принять участие в семинаре и тренинге ?ФеST-TIваль инноваций: MAXIMум решений!?, который пройдет 14 и 15 октября в Новосибирске.

Мне нравится

Комментарии

дима пишет в теме Параметры биполярных транзисторов серии КТ827:

люди куплю транзистар кт 827А 0688759652

тамара плохова пишет в теме Журнал Радио 9 номер 1971 год. :

как молоды мы были и как быстро пробежали годы кулотино самое счастливое мое время

Ивашка пишет в теме Параметры отечественных излучающих диодов ИК диапазона:

Светодиод - это диод который излучает свет. А если диод имеет ИК излучение, то это ИК диод, а не "ИК светодиод" и "Светодиод инфракрасный", как указано на сайте.

Владимир пишет в теме 2Т963А-2 (RUS) со склада в Москве. Транзистор биполярный отечественный:

Подскажите 2т963а-2 гарантийный срок

Владимир II пишет... пишет в теме Параметры биполярных транзисторов серии КТ372:

Спасибо!

В. Шахнов, А. Власов, А. Кузнецов

Нейрокомпьютеры - архитектура и реализация

Введение

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

    Что же следует понимать под термином нейрокомпьютер? Вопрос достаточно сложный. Нейросетевая тематика, как таковая, является междисциплинарной, ей занимаются как разработчики вычислительных систем и программисты, так и специалисты в области медицины, финансово-экономические работники, химики, физики и т.п. То, что понятно физику, совершенно не принимается медиком, и наоборот все это породило многочисленные споры и целые терминологические войны по различным направлениям применения, имеющих приставку "нейро-". В таблице приведены некоторые наиболее устоявшиеся определения нейрокомпьютера [1,2,4,6], принятые в конкретных научных областях.

Таблица

Научное направление Определение нейровычислительной системы
1 Математическая статистика Нейрокомпьютер - это вычислительная система, автоматически формирующая описание характеристик случайных процессов или их совокупности, имеющих сложные, зачастую априори неизвестные функции распределения
2 Математическая логика Нейрокомпьютер - это вычислительная система, алгоритм работы которой представлен логической сетью элементов частного вида - нейронов, с полным отказом от булевых элементов типа И, ИЛИ, НЕ
3 Пороговая логика Нейрокмпьютер - это вычислительная система, алгоритм решения задач в котторой представлен в виде сети пороговых элементов с динамически перестраиваемыми коэффициентами и алгоритмами настройки, независимыми от размерности сети пороговых элементов и их входного пространства
4 Вычислительная техника Нейрокмпьютер - это вычислительная система с MSIMD-архитектурой, в которой процессорный элемент однородной структуры упрощен до уровня нейрона, резко усложнены связи между элементами и программирование перенесено на изменение весовых коэффициентов связей между вычислительными элементами
5 Медицина (нейробиологический подход) Нейрокомпьютер - это вычислительная система, представляющая собой модель взаимодействия клеточного ядра, аксонов и дендридов, связанных синаптическими связями (синапсами) (то есть модель биохимических процессов, протекающих в нервных тканях)
6 Экономика и финансы Устоявшегося определения нет, но чаще всего под нейровычислителем понимают систему, обеспечивающую параллельное выполнение "бизнес-транзакций" с элементами "бизнес-логики"

    Общие принципы построения нейронных сетей были заложены в начале второй половины 20 века в работах таких ученых, как: Д. Хебб, М. Минский, Ф. Розенблат. Первые нейросети состояли из одного слоя искусственных нейронов-персептронов. М. Минским были строго доказаны теоремы, определяющие принципы функционирования нейронных сетей. Несмотря на многочисленные преимущества персептронов: линейность, простота реализации параллельных вычислений, оригинальный алгоритм обучения и т.п., М. Минским вместе с соавторами было показано, что реализованные на его основе однослойные нейронные сети не способны решить большое число разнообразных задач. Это вы-звало некоторое ослабление темпов развития нейросетевых технологий в 60-е годы. В дальнейшем многие ограничения по использованию нейросетей были сняты с разработкой многослойных нейронных сетей, определение которых впервые было введено Ф. Розенблатом: "под многослойной нейронной сетью понимается такое свойство структуры преобразования, которое осуществляется стандартной разомкнутой нейронной сетью при топологическом, а не символьном описании". Дальнейшее развитие теория нейронных сетей нашла в 70-80 годах в работах Б. Уидроу, Андерсона, Т. Кохонена, С. Гроссберга и других.

    Теория нейросетей не внесла революционных новшеств в алгоритмы адаптации и оптимального управления. Самообучающиеся системы известны давно, теория адаптивных регуляторов также хорошо разработана, они широко применяются в технике. Теория нейросетей осваивает разработанные ранее методы и пытается приспособить их для создания все более эффективных нейронных систем. Использование нейроструктур особо важно с точки зрения производительности ЭВМ. Согласно гипотезе Мин-ского [2-4]: реальная производительность типовой параллельной вычислительной системы из n процессоров растет как log(n), то есть производительность системы из 100 процессоров всего вдвое выше, чем производительность 10-процессорной системы, так как процессоры дольше ждут своей очереди, чем вычисляют. Однако, если использовать для решения задачи нейронную сеть, то параллелизм может быть использован практически полностью и производительность растет почти пропорционально n.

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

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

Архитектуры вычислительных систем

Рис. 1. Архитектуры вычислительных систем

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

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

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

    Как было отмечено, нейрокомпьютер это вычислительная система с MSIMD-архитектурой, то есть с параллельными потоками одинаковых команд и множественным потоком данных. Давайте разберемся, как соотносятся нейрокомпьютеры и параллельные ЭВМ. На сегодня можно выделить три основных направления развития вычислительных систем с массовым параллелизмом (ВСМП):

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

    Вопросы построения и применения нейроэмуляторов выходят за рамки данного обзора, заинтересованному читателю мы можем порекомендовать обратиться к литературе [3,6,7]. Мы остановимся на обзоре современных нейроускорителей и нейрокомпьютеров, рассмотрев сначала элементы нейрологики с позиции аппаратной реализации, затем перейдем к элементной базе нейровычислителей (сигнальные процессоры и нейрочипы), а затем проанализируем архитектурные решения и тактико-технические свойства наиболее распространенных модификаций.

Часть 1. Элементы нейрологики с позиции аппаратной реализации

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

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

Общий вид нейрона

Рис. 2. Общий вид нейрона

    Каждый синапс характеризуется величиной синаптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости. Текущее состояние нейрона определяется как взвешенная сумма его входов:

    Выход нейрона есть функция его состояния: y = f(s) (2), которая называется активационной. Известны различные виды таких функций, некоторые из которых представлены на рис. 3. Одной из наиболее распространенных является нелинейная функция с насыщением, так называемая сигмоидальная (логистическая) функция:

Типовые активационные функции

Рис. 3. Типовые активационные функции: а - единичная пороговая функция; б - линейный порог (гистерезис); в - сигмоид - гиперболический тангенс; г - логистический сигмоид

    При уменьшении a сигмоид становится более пологим, вырождаясь в пределе при a = 0 в горизонтальную линию на уровне 0,5; при увеличении a сигмоид приближается по внешнему виду к функции единичного скачка с порогом T в точке x = 0. Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне [0,1]. Одно из ценных свойств сигмоидной функции простое выражение для ее производной:

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

Однослойный персепрон

Рис. 4. Однослойный персепрон

    Очевидно, что все весовые коэффициенты синапсов одного слоя нейронов можно свести в матрицу W, в которой каждый элемент wij задает величину i-ой синаптической связи j-ого нейрона. Таким образом, процесс, происходящий в НС, может быть записан в матричной форме: Y = F(XW), где X и Y соответственно, входной и выходной сигнальные векторы, F(V) активационная функция, применяемая поэлементно к компонентам вектора V. Теоретически число слоев и нейронов в каждом слое может быть произвольным.

    Рассматривая классификацию НС, можно выделить: бинарные (цифровые) и аналоговые НС, предварительно обученные (неадаптивные) и самообучающиеся (адаптивные) нейронные сети, что крайне важно при их аппаратной реализации. Бинарные оперируют двоичными сигналами, и выход каждого нейрона может принимать только два значения: 0 либо 1.

    По топологической классификации НС во внимание принимается число слоев и связей между ними. На рис. 5 представлен двухслойный персептрон [4], полученный из однослойного (рис. 4) путем добавления второго слоя, состоящего из двух нейронов. При этом нелинейность активационной функции имеет конкретный смысл: если бы она не обладала данным свойством или не входила в алгоритм работы каждого нейрона, результат функционирования любой p-слойной НС с весовыми матрицами W (i), i = 1,2,...p для каждого слоя i сводился бы к перемножению входного вектора сигналов X на матрицу W (S) = W (1)*W (2)*...*W (p), то есть фактически такая p-слойная НС эквивалентна однослойной с весовой матрицей единственного слоя W (S): Y = XW (S).

Двухслойный персептрон

Рис. 5. Двухслойный персептрон

    Одним из самых важных этапов разработки нейровычислителя является обучение нейронной сети. От качества обучения зависит способность сети решать поставленные перед ней задачи. На этапе обучения кроме параметра качества подбора весовых коэффициентов, важную роль играет время обучения. Как правило, эти два параметра связаны обратной зависимостью, и их приходится выбирать на основе компромисса. Обучение НС может вестись с учителем или без него. В первом случае, сети предъявляются значения как входных, так и желательных выходных сигналов, и она по некоторому внутреннему алгоритму подстраивает веса своих синаптических связей. Во втором случае, выходы НС формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы, что подробно освещено в [10].

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

    Практически 80% реализованных на сегодня нейрочипов, ориентированных на задачи цифровой обработки сигналов, используют при обучении НС алгоритм обратного распространения ошибки. Кроме всего прочего, он стал неким эталоном для измерения производительности нейровычислителей (например, как БПФ на 1024 отсчета для сигнальных процессоров), поэтому на нем стоит остановиться подробнее.

    Рассмотрим этот алгоритм в традиционной постановке [1-4]. Он представляет распространение сигналов ошибки от выходов НС к ее входам в направлении, обратном прямому распространению сигналов в обычном режиме работы. Этот алгоритм обучения НС получил название процедуры обратного распространения. Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки НС является сигнал ошибки обучения:

    где yj,p(N) реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы p-го образа; djp идеальное (желаемое) выходное состояние этого нейрона. Суммирование ведется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам. Нахождение весовых коэффициентов осуществляется следующим образом:

    Здесь wij весовой коэффициент синаптической связи, соединяющей i-ый нейрон слоя n-1 с j-ым нейроном слоя n, h коэффициент скорости обучения, 0 < h < 1.

    Здесь под yj, как и раньше, подразумевается выход нейрона j, а под sj взвешенная сумма его входных сигналов, то есть аргумент активационной функции. Так как множитель dyj/dsj является производной этой функции по ее аргументу, то производная активационной функция должна быть определена на всей оси абсцисс, поэтому применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. В случае гиперболического тангенса

    Третий множитель sj/wij равен выходу нейрона предыдущего слоя yi(n-1). Для выражения производной сигнала ошибки по выходному сигналу согласно [4] имеем:

    Здесь суммирование по k выполняется среди нейронов слоя n+1.

    Введя новую переменную

    мы получим рекурсивную формулу для расчетов величин dj(n) слоя n из величин dk(n+1) более старшего слоя n+1.

    Для выходного же слоя

    Теперь мы можем записать основное выражение для весовых коэффициентов в обобщенном виде:

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

    где m коэффициент инерционности, t номер текущей итерации.

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

Диаграмма сигналов в сети при обучении по алгоритму обратного распространения

Рис. 6. Диаграмма сигналов в сети при обучении по алгоритму обратного распространения

    Рассмотренная НС имеет целый ряд недостатков [1-4]. Во-первых, в процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весовых коэффициентов сместят рабочую точку на сигмоидах многих нейронов в область насыщения. Малые величины производной от логистической функции приведут к остановке обучения, что парализует НС. Во-вторых, применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный минимум целевой функции. Для исключения случайных попаданий в локальные минимумы иногда после того, как значения весовых коэффициентов стабилизируются, h кратковременно сильно увеличивают, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние НС, можно более или менее уверенно сказать, что найден именно глобальный максимум.

    Другим простым примером является построение нейроадаптивной системы управления на линиях задержки. В этом случае нейровычислитель может быть реализован на базе адаптивных сумматоров (трансверсальных фильтров, например, на базе ИМС А100), при этом наличие нелинейности на выходе нейронов не требуется. Структурная схема такой нейросистемы для одномерного случая (один входной сигнал, один выходной, один сигнал ошибки управления) с обработкой во временной области, представленная на рис. 7, состоит из пяти слоев, входные сигналы нейронов 2-4 слоев формируют сдвиговые регистры RG, длина которых определяет порядок системы управления. Нейроны слоев 1 и 5 производят только суммирование входных сигналов. Нейроны второго слоя осуществляют учет изменения характеристик объекта управления на участке от измерителя до регулятора, для чего в состав схемы введен генератор, некоррелированный с входным сигналом. Третий слой нейросети осуществляет формирование сигнала управления, а четвертый осуществляет учет влияния регулятора на первичные измерители. Такое построение одномерной системы управления позволяет организовать пятиуровневый конвейер, причем предложенный подход к корректировке весовых коэффициентов позволяет отказаться от классической процедуры обратного распространения для обучения нейросети и использовать нейроны без нелинейных элементов на выходах.

Структурная схема одномерной нейроадаптивной системы управления на линиях задержки

Рис. 7. Структурная схема одномерной нейроадаптивной системы управления на линиях задержки

    Алгоритм работы нейроадаптивной системы управления такой структуры следующий:

    Первый слой:

.

    Второй слой:

    Третий слой:

    Четвертый слой:

    Пятый слой:

    Где x(n) последовательность входных сигналов; y(n) последовательность сигналов компенсации; e(n) сигнал ошибки компенсации; w(n), e1(n), s(n), g(n), q(n), v(n) промежуточные сигналы; gen(n) последовательность сигналов генератора; h(n), c1(n), c2(n) весовые коэффициенты. Переход к системе управления более высокой пространственной размерности может быть осуществлен путем каскадного соединения однотипных нейромодулей, аналогичных представленному на рис. 7. В этом случае нейроны первого слоя также будут наделены свойствами взвешенного суммирования входных сигналов от датчиков, а значения весовых коэффициентов будут учитывать взаимную корреляцию между датчиками.

Алгоритм проектирования нейроадаптивной системы активного управления акустическим полем

Рис. 8. Алгоритм проектирования нейроадаптивной системы активного управления акустическим полем

    Аппаратно данная система может быть реализована на основе 32-разрядного DSP фирмы Texas Instruments TMS320C32-60 с 24-разрядной адресной шиной и производительностью до 60 млн. операций с плавающей точкой в секунду (время выполнения комплексного преобразования Фурье для кадра в 1024 отсчета составляет около 1,6 мс). Данный процессор имеет неймановскую архитектуру (общее адресное пространство для исполняемого кода и данных), обеспечивает выполнение двух операций с плавающей точкой за один машинный цикл и имеет возможность одновременно с обработкой информации проводить операции ввода/вывода. Высокое быстродействие обеспечивается за счет параллельной обработки и большой внутренней памяти (два банка внутреннего ОЗУ 256х32 + кэш команд 64х32). Все команды процессора имеют фиксированную длину в 32 бит, при этом имеется возможность выполнения параллельных команд за один машинный цикл, что позволяет реализовывать нейросетевые алгоритмы (однако выигрыш в производительности от использования нейроалгоритмов меньше, чем при мультипроцессорной архитектуре). Для данной реализации участок листинга программы нахождения вектора весовых коэффициентов центрального узла настройки системы управления приведен во врезке. Данный участок листинга программы работы нейроадаптивной системы управления занимает 6 32-бит слов с временем выполнения TЦУН = 32*(11 + (N 1)) нс, для узла настройки с N = 160 это займет: TЦУН = 32*(11 + (N 1)) = 32*(11 + 159) = 5440 нс.

Участок листинга алгоритма обучения

....
;AR0 - адрес регистра с имп. хар. h(N-1), AR1 - адрес регистра со значениями x(n-N+1), RC - регистр 
;счетчика со значением, равным N-2, ВК - регистр циклической адресацтт со значением, равным N.

MPYF3    *AR0++(1),*AR1++(1)%,R1                 ;перемножаем два плав.числа и результат заносим
                                                 ;в регистр повышенной точности R1 (float -40 бит).
LDF      0.0, R0                                 ;загружаем плав.число 0.0 в рег. R0 - инициализация
RPTS     RC                                      ;Начало цикла (RC - 32-бит регистр счетчика)
MPYF3    *AR0++(1),AR1++(1)%,R1||ADDF3 R1,R0,R0  ;параллельно за один машинный цикл осуществляем
                                                 ;умножение и сложение чисел (выполняем N-1 раз)
ADDF      R1,R0,R1                               ;производим последнее суммирование в цикле
....
RETS                                             ;Выход

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

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

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

    Вопросы, стоящие перед разработчиками нейросетевой элементной базы и нейровычислителей, во многом сложны и требуют дополнительных исследований: как целесообразней реализовать нейрочип со встроенными нелинейными преобразованиями (пусть и фиксированного набора, но реализованных аппаратно) или позволить программисту разработчику нейронной сети самому формировать активационную функцию программно (размещая со-ответствующий код в ПЗУ). Стоит ли гнаться за универсальностью нейрочипа, которая позволила бы реализовывать любые топологии и парадигмы, или следует ориентироваться на выпуск специализированных предметно ориентированных нейрочипов, использовать ли базовые матричные кристаллы (БМК) и ПЛИС: все эти вопросы требуют ответа (по крайней мере, обсуждения). Мы предлагаем всем заинтересованным лицам продолжить данное обсуждение в on-line форуме на сервере "Новости с Российского рынка нейрокомпьютеров" (http://neurnews.iu4.bmstu.ru).

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

Литература:

  1. Проблемы построения и обучения нейронных сетей / под ред. А.И. Галушкина и В.А. Шахнова. М.: Изд-во Машиностроение. Библиотечка журнала Информационные технологии. 1999. ╧ 1. 105 с.
  2. Галушкин А.И. Некоторые исторические аспекты развития элементной базы вычислительных систем с массовым параллелизмом (80- и 90-е годы) // Нейрокомпьютер. 2000. ╧ 1. С. 6882.
  3. Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. Новосибирск: Наука. Сибирская издательская фирма РАН. 1996. 276 с.
  4. Кирсанов Э.Ю. Цифровые нейрокомпьютеры: Архитектура и схемотехника / Под ред. А.И. Галушкина. Казань: Казанский Гос. У-т. 1995. 131 с.
  5. Уоссермен. Нейрокомпьютерная техника / под ред. А.И. Галушкина. М.: Мир. 1986.
  6. Роберт Хехт-Нильсен. Нейрокомпьютинг: история, состояние, перспективы // Открытые системы. 1998. ╧ 4.
  7. Власов А.И. Аппаратная реализация нейровычислительных управляющих систем //Приборы и системы управления. 1999. ╧ 2. С. 6165.
  8. Власов А.И. Нейросетевая реализация микропроцессорных систем активной акусто- и виброзащиты // Нейрокомпьютеры: разработка и применение. 2000. ╧ 1. С. 4044.
  9. Степанов В. Фондовый рынок и нейросети // Мир ПК. 1998. ╧ 12. C. 4046.
  10. http://neurnews.iu4.bmstu.ru.

    E-mail: vlasov@chat.ru







    Ваш комментарий к статье
    Нейрокомпьютеры - архитектура и реализация :
    Ваше имя:
    Отзыв: Разрешено использование тэгов:
    <b>жирный текст</b>
    <i>курсив</i>
    <a href="http://site.ru"> ссылка</a>