Основы цифровой обработки сигналов и 
нейрокомпьютерные вычисления для инженеров

Введение в цифровую обработку сигналов

Нейрокомпьютинг, нейросети и нейрокомпьютеры

Реализация искусственных нейронных сетей в НТЦ “Модуль” \  Аксенов О.Ю.

Оглавление  курса

Часть 1. ИНС в системе обработки информации

Часть 2.  Аппаратная база

Тесты

 Глоссарий

  Часть 3.  Реализация  прикладных  систем

Процессор Л1879ВМ1 (NM6403)

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

Концепция эффективной реализации «массовых операций» явилась одной из посылок при разработке в НТЦ «Модуль» оригинального процессора цифровой обработки сигналов [[5],[6]]. Этот процессор, получивший маркировку Л1879ВМ1 (NM6403) и наименование «нейроматрицаâ», был впервые изготовлен в 1998 г. на фабрике Samsung по технологии CMOS 0,5 мкм. Его внешний вид показывает Рисунок 7, основные характеристики – Таблица 3.

Для сохранения преемственности с рассмотренными выше аппаратными средствами коммуникационные порты этого процессора выполнены совместимыми с портами процессора TMS320C40.

 Таблица 3. Основные характеристики процессора Л1879ВМ1 (NM6403)

 

Тактовая частота

40 МГц

Напряжение питания

3,0…3,6 В

Потребляемая мощность

1,3 Вт

Тип корпуса

256 BGA

Основные
            вычислительные узлы

управляющее RISC ядро + векторный сопроцессор (нейроматрица)

Разрядность операндов

1…64

Рисунок 7. Процессор цифровой обработки сигналов Л1879ВМ1 (NM6403)

Не вдаваясь в особенности устройства этого процессора, рассмотренные, например, в [[7]], следует отметить его важное в данном контексте свойство. Этот процессор имеет в своем  составе такой вычислительный узел, как векторный сопроцессор. Матричная структура этого узла и определила появление у процессора наименования  «нейроматрицаâ».

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

Рассмотрим, что дает такая возможность на простом примере. Пусть  требуется выполнить вычисления, описываемые выражением  . Причем ,  и  имеют разрядность, не превышающую 8, а разрядность произведений  и накапливаемой суммы -  не превосходит 20. Тогда ячейки  векторного сопроцессора (матрицу) можно разделить на 3 вертикальных столбца шириной по 20 разрядов каждый (20´3<64). Каждый из этих столбцов имеет «высоту» 64 ячейки. В свою очередь, каждый из столбцов делится по «высоте» на 8 групп по 64/8=8 ячеек. В итоге, каждый из трех столбцов способен осуществлять вычисление величины , что соответствует 8 умножениям с накоплением, за 1 такт.

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

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

В итоге, за счет использования векторного сопроцессора «нейроматрица» позволяет эффективно эмулировать ИНС.

Следует добавить, что в приведенном примере входное «смещение» нейрона для простоты опускается, хотя возможность его использования в  «нейроматрице»  аппаратно реализована. Применительно к реализации ИНС, следует добавить также, что Л1879ВМ1 (NM6403) аппаратно реализует функции активации, сходные с теми, которые изображает Рисунок 4 а) и б). При этом реализованная аппаратно функция, соответствующая первой из этих кривых, смещена по вертикали

В тех случаях, когда использовать возможности векторного сопроцессора не удается, для вычислений применяется «традиционное» RISC-ядро процессора Л1879ВМ1 (NM6403).

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

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

Инструментальные модули

Практика показала, что для эффективной разработки приложений на базе некоторой микросхемы полезно иметь доступные аппаратные средства, выполненные на основе этой микросхемы. Это послужило основанием для разработки ряда инструментальных модулей (ИМ) на базе процессора Л1879ВМ1 (NM6403). Под ИМ тут понимается модуль, предназначенный для установки в персональном компьютере (ПК) и содержащий требуемую микросхему с элементами его «обвязки», обеспечивающими работу микросхемы и взаимодействие ИМ с ПК. Следует добавить, что ИМ создаются и на базе других микросхем данного разработчика[[8]].

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

С момента появления первой партии процессоров Л1879ВМ1 (NM6403) был создан целый ряд ИМ. В том числе уже снятые с производства модули МЦ4.01, МЦ4.02 и выпускаемый в настоящее время модуль МЦ4.31[[9]]. Соответствующие данные и изображения содержат  Таблица 4, Рисунок 8, Рисунок 9, Рисунок 10. Кроме данных, приведенных в этой таблице, упомянутые ИМ различаются, в частности, используемым контроллером шины.

Таблица 4. Основные характеристики ИМ

Инструментальный модуль

МЦ4

МЦ4

МЦ4

Тип шины

PCI

PCI

PCI

Число процессоров Л1879ВМ1 (NM6403)

2

1

1

Объем памяти SRAM

2…8 МВ

0,5 МВ

4 МВ

Объем памяти EDO DRAM

64 MB

32 MB

 

Число внешних коммуникационных портов

4

2

2

 

Рисунок 8. ИМ МЦ4.01

Рисунок 9. ИМ МЦ4.02

Рисунок 10. ИМ МС4.31

Структура ИМ сходна с той, которую отображает Рисунок 14. ИМ, также как и рассмотренные выше ускорительные платы, предполагают следующие возможности обмена информацией с внешними устройствами:

·        через шину и соответственно разделяемую память ИМ (обозначение SM Рисунок 14);

·        через коммуникационные порты, выведенные на разъемы, хорошо различимые в верхней части ИМ 
                          (Рисунок 8, Рисунок 9, Рисунок 10).

Возможно объединение нескольких ИМ в одно устройство обработки информации. Обмен информацией (синхронизация процессов обработки) при этом может осуществляться указанными выше способами.

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

Аппаратные средства

Рассмотренные выше ИМ позволяют провести отработку локальных задач, однако их ресурсы могут оказаться недостаточными для решения комплексных прикладных задач. Поэтому, наряду с ИМ в НТЦ «Модуль» разрабатываются и выпускаются более мощные и универсальные аппаратные средства (АС) на базе процессора Л1879ВМ1 (NM6403). По своим возможностям АС позволяют на их базе реализовать прикладные системы обработки информации. Конечно в том случае, если данное приложение допускает использования конструктива, в котором АС выполнены.

К таким АС можно отнести, в частности, модуль цифровой обработки сигналов  МЦ4.04[[10]] и устройство видеообработки  ВМ1[[11]]. Соответствующие изображения и характеристики содержат Рисунок 11, Рисунок 12, Таблица 5. Упомянутые АС опционно комплектуются модулями видеоввода, МЦ4.05 и МЦ4.27 (МЦ4.23) соответственно, что позволяет вводить оцифрованные потоки изображений непосредственно в память, доступную процессору АС. 

Рисунок 11.  Модуль цифровой обработки сигналов МЦ4.04 с мезонинным модулем видеоввода МЦ4.05

Рисунок 12.  Устройство видеообработки ВМ1

 

Относительно ВМ1 следует добавить, что имеется ряд унифицированных модулей (МЦ4.20, МЦ4.21, МЦ4.23, МЦ4.26, МЦ4.27) позволяющих компоновать это устройство как из деталей конструктора, изменяя этим его характеристики по необходимости (Таблица 5).

Таблица 5. Основные характеристики АС

Модуль/устройство

МЦ4.04

ВМ1

Тип шины

CompactPCI

PCI / CompactPCI

Число процессоров Л1879ВМ1 (NM6403)

4

2/4

Объем памяти SRAM

24 МВ

8/16 МВ

Объем памяти DRAM

128 MB

16 МВ

Объем энергонезависимой памяти

1 МВ

1 МВ

Число видеовводов

1´МЦ4.05

1/2

Число интерфейсов RS-232

 

1/2

Число интерфейсов RS-485

 

1/2

Число внешних коммуникационных портов

8

1/2

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

Наличие энергонезависимой памяти АС позволяет, кроме прочего, хранить в этой памяти программу. В итоге при обеспечении подачи соответствующего питания имеется возможность использовать такие АС автономно – вне ПК.

Нужно добавить, что рассмотренные АС сохранили совместимость по портам с TMS320C40.

Специализированные вычислители 

Как уже упоминалось, конструктивное исполнение ИМ и АС не всегда позволяет реализовать на их базе системы обработки информации. Тем не менее, использование ИМ и АС дает возможность провести отработку алгоритмов и программ обработки информации, оценить производительность и объемы памяти вычислителя, требуемого для реализации прикладной  системы обработки информации.

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

Рисунок 13. Устройство TME-12/220

В качестве примера специализированного вычислителя можно привести, например, устройство TME-12/220 [[12]] – самый компактный из специализированных вычислителей данного разработчика. Это устройство реализует систему видеоконтроля дорожного движения. Оно обеспечивает обработку в реальном масштабе времени потока изображений, поступающего от телевизионной камеры.  Выдача результатов обработки, в том числе количество прошедших автомобилей различных классов, их скорость и т.п. а также управление устройством осуществляется по RS-232/485.

Устройство представляет собой специализированный вычислитель на базе 2-х процессоров Л1879ВМ1 (NM6403). Оно оснащено блоком питания на 12 В (220 В), помещено в пылезащищенный корпус с вентилятором и рассчитано для работы в диапазоне температур - 40...+75 °C.  Внешний вид устройства со сдвинутым кожухом отображает Рисунок 13.

 

Прикладные системы с использованием ИНС

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

Алгоритм решения прикладной задачи

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

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

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

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

·        предобработка данных (снижение размерности входных данных);

·        распознавание.

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

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

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

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

·        контрастности изображения;

·        цвету (яркости) объекта, соответствующего образу;

·        масштабу изображения объекта;

·        положению объекта на изображении и его ориентации.

В итоге на долю ИНС «остается» обеспечить инвариантность распознавания к ракурсу объекта, что вполне успешно достигается за счет формирования соответствующих примеров для обучения сети.

Использование массовых операций

Выше отмечалось, что для некоторых задач обработки информации характерно использование «массовых операций». Так и при реализации ИНС, и при обработке изображений с использованием апертурных фильтров в массовых количествах используется умножение с накоплением. В частности, во втором случае эти операции проводятся в количестве, пропорциональном числу пикселов изображения.

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

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

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

Типовая структура аппаратных средств

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

Такую структуру отображает Рисунок 14. На нем использованы обозначения: АС1, АС2 – аппаратные средства, NM – процессор, ПК – персональный компьютер, M – локальная память соответствующего процессора, SM – память, доступная всем процессорам и PC (через системную шину). Пунктиром показаны связи, осуществляемые через коммуникационные порты (TMS320C40 – совместимые Link). Утолщенными линиями показаны связи, выполненные кабелям (шлейфами).

В данном случае АС1 и АС2 идентичны, но возможно использование и неидентичных, но комплексируемых аппаратных средств. Следует также отметить, что временное разделение доступа к памяти, обозначенной как SM, обеспечивается программно.

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

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

Фактически структура АС, изображенного на данном рисунке, соответствует рассмотренному выше ИМ МЦ4.01.

 

Рисунок 14. Типовая структура аппаратных средств

 

Создание и отработка ПО

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

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

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

Еще большее удобство дает применение АС, обладающих большими, по сравнению с ИМ, аппаратными ресурсами и возможностями по имитации аппаратуры, для которой предназначено отрабатываемое ПО.

Таким образом, использование эмулятора процессора Л1879ВМ1 (NM6403), а также ИМ и АС на его базе позволяет вести создание и отработку прикладного ПО параллельно с разработкой специализированных аппаратных средств, для которых это ПО предназначено.

Примеры прикладных систем

Эффективность описанных подходов к созданию прикладных аппаратно–программных комплексов обработки информации на базе ИНС иллюстрируют, в частности, такие разработки НТЦ «Модуль», как "Трафик-Монитор" – интеллектуальный детектор транспорта [[16]] или многопроцессорный комплекс обработки видеоинформации [16].

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

Заключение

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

Основное содержание предлагаемых подходов сводится к следующим моментам:

·        создание прикладных систем обработки информации часто связано с использованием массовых операций, для реализации которых выгодно использовать соответствующие аппаратные средства, к которым можно отнести процессор Л1879ВМ1 (NM6403) и аппаратуру на его основе;

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

·        программный эмулятор процессора Л1879ВМ1 (NM6403), инструментальные модулями и аппаратные средства на основе этого процессора позволяют вести разработку программного обеспечения параллельно с разработкой специализированных аппаратных средств, для которых оно предназначено;

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

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


[1] Ф. Уоссермен. Нейрокомпьютерная техника: Теория и практика (http://cs.mipt.ru/docs/comp/rus/develop/neuro/neurocomputing/index.html)

[2] Д.А. Денисов. Компьютерные методы анализа видеоинформации. /Изд. Красноярского университета, 1993 г., 188 с

[3] Нейросетевые методы обработки информации и средства их программно-аппаратной поддержки. Ю. Борисов, В. Кашкаров, С. Сорокин. // Открытые системы, #04/1997 (http://www.osp.ru/os/1997/04/38.htm)

[5] DSP и RISC объединились, Д. Фомин, В. Черников, П. Виксне, М. Яфраков, П. Шевченко // Открытые системы, No5-6, 1999 (http://www.osp.ru/os/1999/05-06/04.htm)

[12] http://www.module.ru/ruproducts/apsys/tm.shtml

[13] Д. Марр. Зрение. Информационный подход к изучению представления и обработки зрительных образов. М.: Радио и связь. 1987 г., 399 с. (D. Marr. Vision. A Computational  Investigation into the Human Representation and Processing of Visual Information. W.H. Freeman and Company. N.Y. 1982).

[14] О. Аксенов. Распределение вычислительного процесса в многопроцессорном комплексе обработки видеоинформации. Цифровая обработка сигналов. № 2, 2004, стр. 44.

[15] О. Аксенов. Сравнение алгоритмов сегментации. VII Международная конференция “Цифровая обработка сигналов и ее применение” (DSPA-2005). Выпуск VII-2, стр.278-281.М.,2005

 

ЛАБОРАТОРИЯ  СВМ \ Исследования и разработки

VS

ВИРТУАЛЬНАЯ  ШКОЛА  КОМПЬЮТЕРНЫХ  ТЕХНОЛОГИЙ

©  2002-2005  Сазанов В.М.

О проекте  |  Курсы | Условия | Экстернат | Партнерство | Семинар | Ссылки Контакты

Сайт управляется системой uCoz