ПОД (пособие) (1184372), страница 36
Текст из файла (страница 36)
С каждой командойсвязан подсчитывающий элемент, непрерывно ожидающий прибытие аргументов, которыйпересылает команду на выполнение при наличии полного комплекта аргументов. Активныххарактер памяти заключается в том, что ячейка, обладающая полным набором операндов,переходит в возбужденное состояние и передает в селекторную сеть информационныйпакет, содержащий необходимую числовую и связующую информацию о команде.Селекторная сеть обеспечивает маршрут от каждой командной ячейки к выбранному, всоответствии с кодом операции, исполнительному (функциональному) устройству измножества устройств.
Пакет поступает на одно из исполнительных устройств, гдесоответствующая операция выполняется и результат подается в распределительную сеть.Распределительная сеть обрабатывает результирующий пакет, состоящий из результатоввычислений и адресов назначения. В зависимости от содержимого пакета, результатвычислений поступает в соответствующие ячейки памяти команд, создавая, тем самым,условия возможности их активизации.Потоковая архитектура (data-flow), как одна из альтернатив фон-Нейманновской, обладаетследующими характерными чертами:- отсутствие памяти как пассивного устройства, хранящего потребляемую информацию,- отсутствие счетчика команд (и, следовательно, последовательной обработки командпрограммы, разветвлений по условию и т.д.).Потоковыевычислительныесистемыпозволяютиспользоватьпараллелизмвычислительныхалгоритмовразличныхуровней,потенциальнодостигатьпроизводительность, недоступную традиционным вычислительным системам. Основныепроблемы, препятствующие развитию потоковых машин:1.
Не решена проблема создания активной памяти большого объема, допускающейодновременную активизацию большого количества операций.2. Создание широкополосных распределительных и селекторных сетей потоковых машин исистем управления коммуникационной сетью является сложной задачей.3. Обработка векторных регулярных структур через механизмы потока данных менееэффективна, чем традиционные решения.4. Языки программирования для потоковых машин существуют, в основном, в видеграфических языков машинного уровня.
Языки типа SISAL, ориентируемые на описанияпотоковых алгоритмов, достаточно сложны для программистов.Нейронные сети.Искусcтвенная нейронная сеть — это математическая модель, а также устройствапараллельных вычислений, представляющие собой систему соединенных ивзаимодействующих между собой простых процессоров (искусственных нейронов).Такие процессоры обычно исключительно просты, особенно в сравнении с процессорами,используемыми в персональных компьютерах.Каждый процессор подобной сети имеет дело только с сигналами, которые онпериодически получает, и сигналами, которые он периодически посылает другимпроцессорам. И тем не менее, будучи соединёнными в достаточно большую сеть с114управляемым взаимодействием, такие локально простые процессоры вместе способнывыполнять довольно сложные задачи.Понятие возникло при изучении процессов, протекающих в мозге при мышлении, и припопытке смоделировать эти процессы.
Полученные модели называются искусственныминейронными сетями (ИНС).Нейронные сети не программируются в привычном смысле этого слова, они обучаются.Возможность обучения — одно из главных преимуществ нейронных сетей передтрадиционными алгоритмами. Технически обучение заключается в нахождениикоэффициентов связей между нейронами.Разработчикам решения на основе нейронной сети требуется:выбрать соответствующую модель сети;определить топологию сети (число элементов и их связи);указать параметры обучения.Наиболее известным типом ИНС является персептрон.
Доказано, что при нелинейнойфункции в нейроне могут быть подобраны коэффициенты связей так, что сеть можетмоделировать любую функцию. Для персептрона общепринятым является обучениеметодом обратного распространения ошибки. ИНС применяют при следующих классахзадач: классификация данных, распознавание образов, предсказание временных рядов.Абсолютно точный ответ с помощью ИНС получить невозможно — например,бессмысленно решать таблицу умножения. Но есть задачи, нерешаемые другим путем.
Прирешении таких задач самым важным является подбор данных и их подготовка.Отличия от машин с архитектурой фон НейманаДлительный период эволюции придал мозгу человека много качеств, которые отсутствуютв машинах с архитектурой фон Неймана:массовый параллелизм, распределенное представление информации и вычисления,способность к обучению и обобщению, адаптивность, свойство контекстуальной обработкиинформации, толерантность к ошибкам, низкое энергопотребление.ПримерВходные данные — курс акций за год. Задача — определить завтрашний курс. Проводитсяследующее преобразование — выстраивается ряд курс за сегодня, вчера, за позавчера, запозапозавчера.
Следующий ряд — смещается по дате на один день и так далее. Наполученном наборе обучается сеть с 3 входами и одним выходом — то есть выход курс надату, входы курс на дату минус 1 день, минус 2 дня, минус 3 дня. Обученной сети подаем навход курс за сегодня, вчера, позавчера и получаем ответ на завтра. Нетрудно заметить, что вэтом случае сеть просто выведет зависимость одного параметра от трех предыдущих.
Еслижелательно учитывать ещё какой-то параметр (например, общий индекс по отрасли), то егонадо добавить как вход (и включить в примеры), переобучить сеть и получить новыерезультаты. Для наиболее точного обучения стоит использовать метод ОРО, как наиболеепредсказуемый и несложный в реализации.В последние десятилетия активно развиваются приложения на базе искусственныхнейронных сетей. Среди таких приложений можно отметить следующие задачи:классификация образов,кластеризация/категоризация,аппроксимацияфункций,предсказание/прогноз, оптимизация, память, адресуемая по содержимому, управление. Эти115и подобные задачи успешно решаются средствами пакета Neural Networks, который входитв состав расширенных версий системы MATLAB.Для решения задачи следует выбрать следующее: тип используемых нейронов (числовходов, передаточные функции); архитектуру сети; входные и выходные параметры.На втором этапе производится обучение созданной нейронной сети.
После этогопроизводится количественный анализ полученной модели искусственной нейронной сети.Нами использовалась модель нейронной сети, основанная на радиальном базисном нейроне.При ее «обучении» использовалась встроенная функция пакета Neural Networks системыMATLAB — newrb.Результаты моделирования на наборах экспериментальных данных показали пригодностьиспользования радиальных базисных нейронных сетей для аппроксимациифункциональных зависимостей, в том числе и нелинейных. Можно отметить высокуюскорость обучения и возможность применения результатов в реальных приложениях.ДобавлениеРассмотрим функцию Y=f(X), которая ставит в соответствие m-мерному вектору Xнекоторый p-мерный вектор Y (Рис. 1).
Например, в задаче классификации вектор X- этоклассифицируемый объект, характеризуемый m признаками; вектор Y, состоящий из однойединицы и остальных нулей, является индикатором класса, к которому принадлежит векторX (позиция единицы означает номер класса). Функция f ставит в соответствие каждомуобъекту тот класс, к которому он принадлежит.Предположим, нам нужно найти функцию f. Воспользуемся методом обучения напримерах. Предположим, что имеется репрезентативная выборка векторов Xi, для которыхизвестно значение функции Yi=f(Xi). Набор пар (Xi,Yi) будем называть обучающейвыборкой.
Рассмотрим теперь нейронную сеть, называемую многослойным перцептроном,определив, как устроены элементы сети («нейроны»), какова архитектура связей междуэлементами и по каким правилам будет происходить обучение сети.Элемент сети функционирует в дискретном времени и на основании поступивших сигналовформирует результирующий сигнал. Элемент имеет несколько входов, каждому из которыхпредписан определенный «вес».
Сигналы, поступающие по входам, суммируются с учетомсоответствующих весов, и суммарный сигнал сравнивается с порогом срабатывания. Еслисуммарный сигнал меньше порога, то сигнал на выходе элемента близок или равен нулю, впротивном случае сигнал близок к единице.Каждый элемент входного слоя имеет один вход (с весом 1), по которому поступаетсоответствующая компонента вектора X. Каждый элемент скрытого слоя получает сигналыото всех элементов входного слоя.
Тем самым, элемент скрытого слоя имеет m входов,связывающих его с элементами входного слоя. Связи от элементов входного слоя кэлементам скрытого слоя характеризуются матрицей «весов» связей w1, компонентыкоторой определяют величину эффективности связи. Каждый элемент выходного слояполучает сигналы ото всех элементов скрытого слоя. Таким образом, подавая на входнойслой сети вектор X, мы получаем вектор активности элементов скрытого слоя и затемвектор Y на элементах выходного слоя. Результат работы сети зависит от числовыхзначений весов связей между элементами.Обучение сети состоит в правильном выборе весов связей между элементами.
Выбираютсятакие веса связей, чтобы суммарная среднеквадратичная ошибка для элементов обучающей116выборки была минимальной. Достичь этого можно разными методами . После обученияперцептрона проводится процедура тестирования, позволяющая оценить результатыработы. Для этого обучающую выборку обычно делят на две части. Одна частьиспользуется для обучения, а другая, для которой известен результат, задействована впроцессе тестирования. Процент правильных результатов работы сети на этапетестирования является показателем качества работы перцептрона.Надо сказать, что для очень многих практических задач удается достичь на удивлениевысокого качества работы сети (порядка 95% и выше).