13_glava (1055403), страница 3
Текст из файла (страница 3)
Для сетей с формируемой матрицей связи и обучаемых характерным является
процедура обучения. Рассмотрим принцип этой процедуры.
Обучение нейронных сетей. В процессе функционирования нейронная сеть формирует выходной сигнал Y в соответствии с входным сигналом X, реализуя некоторую функцию g : Y = g(Х). Если архитектура сети задана, то вид функции определяется значениями весов связей (синаптических весов) между нейронами wij и смещений нейронов в сети (b). Обозначим буквой G множество всех возможных функций g, соответствующих заданной архитектуре сети. Пусть решение некоторой задачи - функция F: Y = F(X), заданная парами входных и выходных данных (х1,y1), (х2,y2),...,(хm,ym), для которых yj = F(xj),j = 1, m, и пусть Е — функция ошибки, показывающая для каждой из функций g степень близости к F. Решить поставленную задачу с помощью нейронной сети заданной архитектуры — это значит построить (синтезировать) функцию, подобрав параметры нейронов (синаптические веса и смещения) таким образом, чтобы функционал качества являлся оптимальным для всех пар (хm,ym). Задача обучения определяется совокупностью пяти элементов:
<X,Y,G,F,E >
где Х и Y — вход и выход нейронной сети соответственно; F — функция, определяющая желаемый результат обучения (в задаче обучения по примерам функция задается парами входных и выходных данных: (х1,y1), (х2,y2),...,(хm,ym), для которых yj = F(xj),j = 1, m при этом архитектура связей нейронной сети считается. заданной до начала обучения и определяет множество функции G); Е — функция ошибки, показывающая для каждого входного вектора степень близости реализуемой функции к F.
Обучение состоит в поиске (синтезе) функции F, оптимальной по Е. Обучение— это итерационная процедура, причем на каждой итерации происходит уменьшение значения функции ошибки Е до заранее заданной величины. В общем случае такая задача при ограниченном наборе входных данных имеет бесконечное множество решений.
Таким образом, результатом обучения нейронной сети должно явиться отображение ,
F: Х У, (13.2)
которое на каждый возможный входной сигнал формирует правильный выходной сигнал Y; если используется единственный выход сети, то Y является скаляром. Отображение задастся конечным набором пар «вход-известный выход». Число таких пар (обучающих примеров) существенно меньше общего числа возможных сочетаний значений входных и выходных сигналов. Совокупность всех обучающих примеров носит название обучающей выборки. В результате построения отображения необходимо добиться того, чтобы:
1) обеспечивалось формирование правильных выходных сигналов в соответствии со всеми примерами обучающей выборки;
2) обеспечивалось формирование правильных выходных сигналов в соответствии со всеми возможными входными сигналами, которые не вошли в обучающую выборку.
Второе требование связано с необходимостью реализации процедуры предсказания значения выхода в зависимости от входного сигнала. Иными словами, необходимо построить такое отображение, реализуемое нейронной сетью, которое при подаче входного вектора Х на выходе сети определяло бы значение одного или нескольких правильных выходных сигналов. Решение этой задачи в значительной степени зависит от качества обучающей выборки. Формализация процедуры формирования обучающей выборки в общем виде в настоящее время не решена и требует дальнейшей проработки.
Задача построения отображения опирается на известную теорему Л.И. Кол-
могорова о представлении непрерывных функций нескольких переменных в виде суперпозиции непрерывных функций одного переменного и операции сложения, обобщенную затем Хехт-Нильсеном применительно к нейронным сетям. Основной результат этого обобщения — возможность реализации произвольной функции Ƒ( X1,X2,...,XN) нейронной сетью. В монографии показано, что для любого множества пар (Хк,yk) ,где; yk — скаляр, существует двухслойная однородная с одинаковыми функциями активации каждою нейрона) нейронная сеть первого порядка с последовательными связями и с конечным числом нейронов, которая выполняет отображение Х Y. выдавая на каждый входной сигнал Xk правильный
выходной сигнал yk . Таким образом, уже с помощью даже двухслойной нейронной сети отображение(11) может быть построено.
Однако теорема Хехт-Нильеена не конструктивна, это лишь, теорема существования, в ней не заложена методика определения числа нейронов в сети для некоторой конкретной обучающей выборки. Для первоначальной оценки числа нейронов вскрытых слоях однородных нейронных сетей часто используется формула для оценки необходимого числа синантических весов в многослойной сети:
NyNp/(1+log(Np))NwNy(Np/Nx+1)(Nx+Ny+1)+Ny
13.5. Нейрочипы.
Нейрочипом принято называть специализированную сверхбольшую интегральную схему (СБИС-нейрочип), ориентированную на реализацию нейросетевых алгоритмов. Разработкой нейрочипов занимаются многие фирмы в различных странах. Значительный рост выпуска СБИС-нейрочипов наметился с середины 90-х годов прошлого века. По принципу построения, по назначению и характеристикам они сильно отличаются друг от друга. На рис.13.10 приведена схема классификации СБИС-нейрочипов
.
Рис.13.10 Схема классификации нейрочипов.
Но виду информационного носителя нейрочипы делятся на аналоговые, цифровые и гибридные. Аналоговая элементная база характеризуется большим быстродействием и низкой стоимостью, что в значительной мере способствует ее производству. Самыми простыми являются СБИС с битовыми весовыми коэффициентами, которые, как правило, являются настраиваемыми, и с фиксированными весовыми коэффициентами и полными последовательными связями. В аналоговой технике широко используется такой вид модуляции, как частотно-импульсная модуляция. Аппаратура, использующая чту модуляцию, характеризуется низким 'энергопотреблением, высокой надежностью. Отметим, что в биологических нейронных сетях сигналы представляются именно частотно-импульсной модуляцией. Очевидно, что эти факторы и способство-
вали появлению на рынке аналоговых СБИС-чипов с такой модуляцией сигнала.
По способу реализации нейроалгоритмов различают нейрочипы с полностью аппаратной и с программно-аппаратной реализацией (когда нейроалгоритмы хранятся в программируемом запоминающем устройстве).
Как видно из схемы классификации (рис.13.10) нейрочипы могут быть как с жесткой, так и с переменной структурой.
К отдельному классу относятся нейросигнальные процессоры. Ядро этих СБИС
представляет сигнальный процессор, а реализованные на кристалле специальные дополнительные модули обеспечивают выполнение нейросетевых алгоритмов. Таким дополнительным модулем, например, может быть векторный процессор.
Возможности микроэлектроники и запросы потребителей привели к созданию
проблемно-ориентированного направления выпуска нейрочипов. Можно выделить следующие области их проблемной ориентации
• обработка, сжатие и сегментация изображения;
• обработка стереоизображений;
• выделение движущихся целей на изображении;
• обработка сигналов;
• ассоциативная память.
Особое место в проблемной ориентации нейрочипов занимает ориентация на клеточную структуру. На такой структуре строятся резистивные решетки, нейрочипы с внутрикристаллической реализацией слоя фоторецепторов, так называемые ретины. Ретины используют в робототехнике, в медицине для вживления в глаз слепого человека.
В настоящее время значительно возрос выпуск нейрочипов, структурные особенности которых определены совместной работой биолога и схемотехника-электронщика. Такие чипы и вычислительные устройства на их основе достигают решения конкретных технических задач путем моделирования на аппаратном уровне функционирования тех или иных подсистем живых организмов.
-
. Нейропроцессор Л1879ВМ1
Нейропроцессор Л1879ВМ1 разработан в научно-техническом центре «Модуль» (Россия, Москва). Он представляет собой высокопроизводительный микропроцессор со статической суперскалярной архитектурой. Одним из назначений Л1879ВМ1 является аппаратная эмуляция разнообразных типов нейронных сетей,
Л1879ВМ1 предназначен для обработки 32-разрядных скалярных данных и дан-
ных программируемой разрядности, упакованных в 64-разрядные слова, которые в дальнейшем будут называться векторами упакованных данных. Структурная схема микропроцессора Л1879ВМ1 приведена на рис13.11
Основой нейрочипа является центральный процессор R18С СОRЕ. Он предназначен для выполнения логических операций и операций сдвига над 32-разрядными скалярными данными, формирования 32-разрядных адресов команд и данных при обращении к внешней памяти, а также для выполнения всех основных функций по управлению работой нейропроцессора.
VСР — векторный сопроцессор. Он предназначен для выполнения арифметиче-
ских и логических операций над 64-разрядными векторами данных программируемой разрядности.
LМ1 и GМ1 — два одинаковых блока программируемого интерфейса с локальной
и глобальной 64-разрядными внешними шинами. К каждой из шин может быть подключена внешняя память, содержащая 231 32-разрядных ячеек. Обмен данными с внешней памятью может осуществляться как 32-разрядными, так и 64-разрядными словами. В последнем случае нейропроцессор одновременно выбирает две соседние
ячейки памяти. Адресация внешней памяти осуществляется страничным способом, при котором на одну и ту же внешнюю 15-разрядную адресную шину в режиме разделения времени выдаются как младшие, так и старшие разряды адреса, причем старшие разряды адреса выдаются только при переходе к выборке новой страницы памяти. Каждый блок программируемого интерфейса обеспечивает эффективную
работу нейропроцессора с двумя банками внешней памяти различного объема, различного типа и различного быстродействия без использования дополнительного оборудования. В данных блоках предусмотрена аппаратная поддержка разделяемой памяти для различных мультипроцессорных конфигураций внешних шин.
Р
ис.13.11. Структурная схема нейропроцессора Л 1879ВМ 1
СРО, СР1 — два идентичных коммуникационных порта, каждый из которых
обеспечивает обмен информацией по двунаправленному байтовому линку между
нейропроцессором и его абонентом. Порты полностью совместимы с коммуникационным портом ЦПС ТMS320С4х фирмы Техаs Instruments, что дает возможность проектировать высокопроизводительные мультипроцессорные системы. Каждый порт имеет встроенный контроллер прямого доступа к памяти, позволяющий обмениваться 64-разрядными данными с внешней памятью, подключенной к локальной и/или глобальной внешним шинам.
Л 1879ВМ 1 имеет пять внутренних шин, через которые осуществляется обмен информацией между его основными структурными блоками.
Локальная и глобальная адресные шины (LОСАL АDDRЕSS ВUS, GLОВАL
АDDRЕSS ВUS ) служат для пересылки адресов команд, сформированных К18С-
ядром, и адресов данных, сформированных Л'/5'С-ядром в программном режиме или
коммуникационными портами в режиме прямого доступа к памяти, в соответствующие блоки программируемого интерфейса при обращении к внешней памяти. Выходная шина данных (ОUТРUТ DАТА ВUS) служит для пересылки данных, подлежащих записи в локальную или глобальную внешние памяти, из RISC-ядра век торного процессора и коммуникационного порта в блоки программируемого интерфейса.
1-я и 2-я шины ввода (1NРUТ BUS #1, 1NРUТ BUS #2) предназначены для пересылки данных и команд, считанных из локальной или глобальной внешней памяти, из блоков программируемого интерфейса в любой из основных узлов нейропроцессора. Причем в программном режиме работы нейропроцессора пересылка скалярных данных осуществляется только по 1NРUТ BUS #2, а пересылка векторных данных — по 1NРUТ BUS #1. Пересылка данных в режиме прямого доступа к памяти и пересылка команд могут осуществляться по любой из этих внутренних шин.
Межрегистровые пересылки скалярных данных и пересылки констант из регистра команд в программно доступные регистры осуществляется через блоки программируемого интерфейса с использованием внутренних шин OUТРUТ DАТА ВUS и INРUТ BUS #2.
64-разрядные шины INРUТ BUS #1, INРUТ BUS #2 и OUТРUТ DАТА ВUS позволяют за один такт пересылать как 32-разрядные, так и 64-разрядные данные. Поэтому с целью уменьшения числа выполняемых операций пересылок типа «регистр-регистр» и «память-регистр» большинство 32-разрядных регистров нейропроцессора
могут программно объединяться в регистровые пары при выполнении этих операций. Кроме того, нейропроцессор содержит несколько 64-разрядных управляющих регистров, что также позволяет говорить о выполнении пересылок над 64-разрядными скалярными данными.
Выборка команд из внешней памяти осуществляется 64-разрядными словами, каждое из которых представляет собой одну 64- или две 32-разрядных команды.
Нейропроцессор использует 32-разрядный вычисляемый адрес при обращении к внешней памяти. Доступное адресное пространство нейропроцессора равно 16 Гб.
Оно делится на две равные части — локальное и глобальное. На рис.13.12 показано распределение адресного пространства нейропроцессора.