Читайте также: |
|
Однослойные и многослойные искусственные нейронные сети (НС) Хотя один нейрон и способен выполнять простейшие процедуры распознавания, но для серьезных нейронных вычислений необходимосоединять нейроны в сети. Простейшая сеть состоит из группы нейронов, образующих слой, как показано в правой части на рис. 3. Здесь вершины служат для распределения входных сигналов. Они не выполняют вычислений и не являются слоем. Для большей наглядности обозначим их кружками, чтобы отличать от вычисляющих нейронов, обозначенных квадратами. Каждый элемент из множества входов X отдельным весом соединен с каждым искусственным нейроном. Каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, но здесь они показаны все для демонстрации общей картины. Могут существовать также соединения между выходами и входами элементов в слое. Сложные нейронные сети (НС) обладают, как правило, и большими вычислительными возможностями. Многослойные сети могут строиться из каскадов слоев. Выход одного слоя является входом для последующего слоя.
Обучение искусственных нейронных сетей
Среди всех свойств искусственных нейронных сетей наиболее важным, на наш взгляд, является их способность к обучению. Обучение НС напоминает процесс интеллектуального развития человеческой личности. Возможности обучения нейронных сетей ограничены, и нужно решить много сложных задач, чтобы определить, находимся ли мы на правильном пути. Важную роль играет время обучения.
Цель обучения
Сеть обучается, чтобы для некоторого множества входов даватьправдоподобные множества выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной настройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал ожидаемый выходной вектор. Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе их называют обучающей парой. Обычно сеть обучается на некотором количестве таких обучающих пар. Предъявляется входной вектор, вычисляется выход сети и сравнивается с соответствующим целевымвектором, разность (ошибка) с помощью обратной связи подается в сеть, и веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. При обучении без учителя обучающее множество состоит из входных векторов. Обучающий алгоритм корректирует веса сети таким образом, чтобы получать согласованные выходные векторы, то есть предъявление достаточно близких входных векторов позволяло бы сделать одинаковыми и выходы.
Сегодня сформировался значительный рынок нейросетевых продуктов. Подавляющее большинство их представлено в виде моделирующего программного обеспечения.Разработаны специализированные нейрочипы и нейроплаты в виде приставок к персональным компьютерам. Наиболее ярким прототипом нейрокомпьютера можно считать систему обработки аэрокосмических изображений, разработанную в США. Объявленная производительность нейрокомпьютера составляет 8.1016 операций с плавающей точкой в секунду при физическом объеме, равном объему человеческого мозга, с потребляемой мощность около 20 Вт. Особый интерес к нейрокомпьютерам проявляют работники финансовой сферы для эффективного решения следующих задач:
. прогнозирование временных рядов на основе нейросетевых методов обработки (курс валют, спрос и котировка акций, фьючерсные контракты и др.);
. страховая деятельность банков;
. прогнозирование банкротств различных структур;
. биржевая деятельность;
. прогнозирование экономической эффективности финансирования различных инновационных проектов и т. д.
22.ПОТОКОВЫЕ КОМПЬЮТЕРЫ
Обычно последовательность операторов в программе задает порядок вычислений и, значения результата вычислений зависят только от этого порядка. В системе с управлением потоком операндов вычисления упорядочиваются по готовности самих операндов. Первая схема основана на топографическом управлении, где значения данных подчинены командам управления. Вторая схема (потоковая) одновременно применяет вычисления ко всем готовым значениям данных, необходимым в дальнейшем для вычислений других значений данных или формирования конечного результата. Вообще говоря, команда объявляется готовой к исполнению, как только вычислены ее операнды. Для решения задачи строится граф потока операндов. Вершины в графе потока операндов или операторы в программе активируются только по мере готовности их аргументов. Такая активация поглощает входные и выдает выходные значения, которые вместе с предыдущими значениями активируют новые вершины или операторы. Активация осуществляется в произвольном порядке, что приводит к недетерминированной программе. Граф потока операндов представляет собой двудольный ориентированный граф с двумя типами вершин – соединительными и исполнительными. Дуги графа обеспечивают процесс признаков вместе с вычисленными значениями от одного исполнителя к другому с помощью соединительных вершин. Вычисление графа потока операндов описывается последовательностью смен состояний графа. Каждое состояние отображает поток операндов программы с признаками и соответствующими значениями, размещенными на дугах графа программы. Вычисление переходит от одного состояния к другому после срабатывания вершин обоих типов. Значения, переносимые дугами управления, – булевы, а переносимые дугами данных – целочисленные, вещественные или символьные. В зависимости от модели потока операндов дуга обеспечивает запоминание отдельного признака, действует как очередь признаков или может рассматриваться как память прямого доступа для запоминания и выборки “раскрашенных” признаков.
. языки потока операндов
Для сложных задач трудно строить и использовать графовое представление. Поэтому необходимо создавать языки высокого уровня для описания процесса функционирования потоковых компьютеров. Кроме того, исполнение программ потока операндов требует определенного вида машинного языка, отображающего исходный граф, или механизмов нижнего уровня для интерпретации программ высокого уровня. Почти все такие языки являются языками однократного присвоения. Язык ID был создан в Калифорнийском университете (Ирвин). Он имеет блочную структуру, причем переменная, всегда означает имя строки (а не ячейки памяти). Основные конструкции языка ID: блоки, циклы, условия, определения процедур, абстрактные типы данных и мониторы.
Условный оператор имеет две модификации: a < (if b then x + y else x * y) или if b then a < x + y else a < x * y
CAJOLE – это непроцедурный язык высокого уровня, созданный в Вестфилдском колледже (Университет Лондона). Особенности языка:
. программа представляет собой список определений, то есть нет явной последовательности в исполнении операторов;
. однократное присваивание функционального типа;
. имеются команды защиты для реализации механизма управления доступом к данным в динамике;
. существует механизм локализации имен для устранения их дублирования: a = b + c with b = 16, c = b * b wend
. имеется механизм, позволяющий пользователю задавать свои собственные синтаксические конструкции. Общий вид такого оператора следующий [список параметров] макроимя = определяемое выражение
Язык однократного присваивания с управлением потоком операндов LAPSE разработан в Манчестерском университете. Он допускает структурированные значения данных, функциональные подпрограммы и упорядочивает применение итерации.
Как и в других языках однократного присваивания для программирования потока операндов возможности реализации итераций сильно ограничены тем, что управление осуществляется только в пределах одного блока операторов, так что описать итерационный процесс, состоящий из нескольких подпроцессов сложно.
В Массачусетском технологическом институте разработана версия языка потока операндов высокого уровня однократного присваивания VAL. Язык VAL работает со значениями, а не с переменными в том смысле, что термин “переменная” указывает на изменяемый элемент данных, которых в языках однократного присваивания нет. Все языки, базирующиеся на идее управления потоком операндов, в большей или меньшей степени должны использовать правило однократного присваивания. Это правило является основным принципом для написания программ и не связано непосредственно с самими вычислениями по принципу потока операндов. Рассмотри два варианта правила однократного присваивания. Первый подход к программированию: переменной можно присвоить значение только в одном операторе программы. Следовательно, в языке однократного присваивания каждый оператор при выполнении вычисляет некоторое значение, уникальное в течение всего времени работы программы. После вычисления это значение можно использовать в любой момент времени другими операторами. Первым известным проектом языка однократного присваивания был язык COMPEL. Все операторы в этом языке являются операторами присваивания. Имеются три типа переменных: числа, списки и функции. Блочная структура обеспечивает локализацию имен. Другой взгляд на правило однократного присваивания: переменная может получить значение в программе только один раз. На этой идее создан язык SAMPLE. В выражениях используются два типа переменных: числа и множества.
29. СТАНДАРТ КОДИРОВАНИЯ IEEE 754
32-х разрядный формат данных с плавающей точкой однократной точности (single precision), определяется
стандартом IEEE 754.
ФОРМАТ ДАННЫХ С ПЛАВАЮЩЕЙ ТОЧКОЙ ОДНОКРАТНОЙ ТОЧНОСТИ
Стандарт IEEE 754 определяет формат чисел с плавающей точкой однократной точности как показано на Рис..
Число в этом формате состоит из знакового бита s, 24-х разрядной мантиссы и беззнаковой 8-ми разрядной
величины модуля порядка е. Для нормализованных чисел, мантисса состоит из 23-х разрядов дробной части f
и «скрытого» бита 1, который, как предполагается, предшествует разряду f22. Младший значащий разряд
дробной части обозначен как f0, младший разряд порядка – как е0. Скрытый разряд позволяет увеличить
точность мантиссы с плавающей точкой с 23 разрядов, непосредственно содержащихся в формате данных, до
24-х разрядов. Это также означает, что мантисса любого нормализованного по формату IEEE числа больше
или равна единице и меньше двух.
Значение беззнакового порядка е может находиться в диапазоне 1 ≤ е ≤ 254 для чисел с однократной
точностью. Это значение смещено на величину +127 (254 / 2). Для вычисления истинного несмещенного
значения порядка, из его величины необходимо вычесть 127.
Стандарт IEEE также определяет несколько специальных типов данных для формата с плавающей точкой
однократной точности:
q «НЕ ЧИСЛО» или NAN (Not-A-Number), тип данных с величиной порядка 255 (все 1) и отличной от нуля
дробной частью считает. Данные такого типа обычно используются как флаги для управления
последовательностью исполнения команд, как инициализирующие значения переменных и как
результаты некорректных операций, таких как 0 ´ ∞.
q Бесконечность, тип данных с величиной порядка 255 и нулевой дробной частью. Обратите внимание,
что дробная часть является знаковой величиной, поэтому в формате может быть представлена как
положительная, так и отрицательная бесконечность.
q Ноль, тип данных с нулевыми величинами порядка и дробной части. Подобно бесконечности, в
формате могут быть представлены положительный и отрицательный нули.
Типы данных стандарта IEEE для формата с плавающей точкой однократной точности и их интерпретация
отображены в нижеследующей Таблице.
Дата добавления: 2015-10-23; просмотров: 121 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
АЛГОРИТМ ДЕЛЕНИЯ В СИСТЕМЕ С ОТРИЦАТЕЛЬНЫМ ОСНОВАНИЕМ. | | | Температура бағаналары |