13_glava (1055403), страница 2
Текст из файла (страница 2)
.
Рис.13.3
Схема на рис. 13.3 напоминает классическую схему однопроцессорной машины
Джона фон Неймана, Однако НК в принципе отличается от этих машин.
Основным операционным блоком НК, его процессором, является искусственная нейронная сеть. В нервом, грубом, приближении сеть представляет совокупность простейших модулей, называемых формальными нейронами, которые соединены между собой каналами передачи информации. Количественная характеристика каждого канала определяется решаемой задачей.
Нейронная сеть не производит вычислений, как это делает арифметико-логическое устройство фоннеймановских машин. Она трансформирует входной сигнал (входной образ) в выходной в соответствии со своей топологией и значениями коэффициентов межнейронной связи.
В запоминающем устройстве НК хранится не программа решения задачи, как это имеет место в машинах фон Неймана, а программа изменения коэффициентов связи между нейронами. Устройства ввода и вывода информации в принципе выполняют те же функции, что и в машине фон Неймана. Устройство управления служит для синхронизации работы всех структурных блоков НК при решении конкретной задачи.
В работе абстрактного нейрокомпьютера различают два главных режима работы НК: режим обучения и рабочий режим. Для того чтобы НК решал требуемую задачу его нейронная сеть должна пройти обучение на эту задачу. Суть режима обучения заключается в настройке коэффициентов межнейронных связей на совокупность входных образов этой задачи. Установка коэффициентов осуществляется на примерах, сгруппированных в обучающие множества. Такое множество состоит из обучающих пар, в которых каждому эталонному значению входного образа соответствует желаемое (эталонное) значение выходного образа.
При первой подаче очередного эталонного входного образа выходной сигнал отличается от желаемого. Блок обучения оценивает величину ошибки и корректирует коэффициенты межнейронных связей с целью ее уменьшения. При второй и последующих подачах этого же эталонного входного образа величина ошибки продолжает уменьшаться. Процесс продолжается до тех пор, пока ошибка не достигнет требуемого значения. С математической точки зрения процесс обучения является решением задачи оптимизации. Целью оптимизации является минимизация функции ошибки (или невязки) на данном множестве примеров путем выборки коэффициентов межнейронных связей. Рассмотренный пример обучения называют контролируемым обучением, или обучением с учителем. В рабочем режиме блок обучения, как правило, отключен. На вход НК подаются сигналы, требующие распознавания (отнесения к тому или иному классу). На эти сигналы (входные образы), как правило, наложен шум. Обученная нейронная сеть фильтрует шум и относит образ к нужному классу.
Существенным недостатком машин фон Неймана является принципиально низкая производительность, обусловленная последовательным характером организации вычислительного процесса. Наличие одного процессора обусловливает и другой недостаток этих машин — низкую эффективность использования памяти. В самом деле, память однопроцессорных ЭВМ можно представить как длинную последовательность ячеек. Центральный процессор выбирает содержимое одной из них, дешифрирует, исполняет команду и, при необходимости, возвращает результат памяти в заранее обусловленную
ячейку. Затем обращается к очередной ячейке для считывания следующей команды и процесс повторяется до тех пор, пока не будет выбрана последняя команда исполняемой программы. Нетрудно заметить, что подавляющее большинство ячеек памяти бездействует. Если ввести понятие коэффициента использования аппаратуры как отношение числа одновременно работающих элементов ЭВМ к общему числу этих элементов, то для машин фон Неймана этот коэффициент будет очень маленьким.
Машины фон Неймана и нейрокомпьютеры различаются также по принципу взаимодействия структуры машины и решаемой задачи. Для однопроцессорных машин с их «жесткой» структурой разработчику приходится подстраивать алгоритм решения задачи под структуру машины. При использовании нейрокомпьютеров разработчик подстраивает структуру машины под решаемую задачу.
13.4 Нейронные сети.
В дальнейшем изложении будем говорить о нейронах, нейронных сетях, понимая под этим искусственно созданные технические объекты, принцип работы которых сравним с работой одноименных биологических объектов.
Приведем несколько определений.
Нейронной сетью (НС) называется динамическая система, состоящая из совокупности связанных между собой по типу узлов направленного графа элементарных процессоров, называемых формальными нейронами, и способная генерировать выходную информацию в ответ на входное воздействие.
Нейронная сеть является основной операционной частью нейронных ЭВМ, реализующей алгоритм решения задачи.
Формальным нейроном называется элементарный процессор, используемый в узлах нейронной сети.
Математическая модель формального нейрона может быть представлена в сле-
дующем виде:
Y = φ(∑aixi + x0) (13.1)
где у — выходной сигнал нейрона; xi – i - й входной сигнал; ai — вес i-го входа;
хо — начальное состояние нейрона; i = 1,n — номер входа нейрона; n — число входов; φ — функция выходного блока нейрона (функция активации). Суммирование в (6.1) идет по параметру i .
Выражению (6.1) может быть поставлена в соответствие следующая структурная схема формального нейрона (рис.13.4).
.
Рис. 13.4
Как видно из рис.13.4, на блоке ∑ осуществляется взвешенное суммирование
входных сигналов. Эта сумма подается на блок функционального преобразования φ(х). Функция, которую реализует этот блок, получила название функции активации (или функция возбуждения, или переходная функция).
Функция активации может быть линейной с насыщением, релейной (пороговой), релейной с зоной нечувствительности, квадратичной, сигмоидалыюй и т.п. Параметры функций активации могут быть как фиксированными, так и настраиваемые. Графики некоторых функций активации приведены на рис.13.5.
Рис. 13.5 Виды функции активации:
о — пороговая симметричная; 6 — пороговая смещенная;
в — сигмоидальная симметричная; г — линейная с насыщением
Вид функции активации во многом определяет вычислительные возможности
нейронной сети, состоящей из формальных нейронов. Основной недостаток модели с пороговым элементом — отсутствие достаточной гибкости при обучении и настройке нейронной сети на заданную задачу. Если значение вычисляемого скалярного произведения aixi даже незначительно не достигает заданного порога, то выходной сигнал не формируется, и нейрон «не срабатывает». Это значит, что теряется интенсивность выходного сигнала (аксона) данного нейрона и, следовательно, формируется невысокое значение уровня на взвешенных входах в следующем слое нейронов.
Этого недостатка в большей степени лишена линейная (в общем случае кусочнолинейная) функция активации, реализация которой обеспечивает невысокую вычислительную сложность.
Сигмоидальная функция является некоторым компромиссом между линейной и
ступенчатой функцией и сохраняет достоинства обеих. По аналогии со ступенчатой функцией, она нелинейна, и это дает возможность выделять в поисковом пространстве исследуемых объектов области сложной формы, в том числе невыпуклые и несвязные. С другой стороны, в отличие от ступенчатой функции, она позволяет переходить от одного значения входного сигнала к другому без разрывов, как это происходит в линейной функции. Однако любую из преобразующих функций активации (возбуждения) необходимо рассматривать как приближенную. Учитывая сложность архитектуры нейросети и трудность настройки ее параметров на решение определенной задачи, необходимо переходить к более гибким произвольным нелинейным
функциям. Для повышения эффективности работы нейронной сети разработан класс моделей нейронов, реализующих различные функции активации, которые можно подстраивать под соответствующие задачи. Для реализации произвольной функции активации разработан оригинальный алгоритм обучения в нейронной сети, основанный на генетическом поиске.
Описанный вычислительный элемент — формальный нейрон — можно считать
упрощенной математической моделью биологических нейронов.
Во многих практических задачах входы, веса и смещения могут принимать лишь, некоторые фиксированные значения, Синантическне связи с положительными весами называют возбуждающими, с отрицательными весами — тормозящими.
Фактически формальный нейрон представляет собой процессор с очень ограни-
ченной специальной системой команд (в литературе принято называть нейросетевой базис). По способу представления информации формальные нейроны могут быть аналоговыми и цифровыми. Они выполняют единообразные вычислительные действия и не требуют внешнего управления. Большое число параллельно работающих вычислительных элементов обеспечивают высокое быстродействие.
В основу искусственных НС положены следующие особенности биологических
нейронных сетей:
• простой обрабатывающий элемент — нейрон;
• очень большое число нейронов участвует в обработке информации;
• один нейрон связан с большим числом других нейронов;
• изменяющиеся веса связей между нейронами;
• параллельная обработка информации.
Графическую иллюстрацию соединения нейронов между собой в сети принято называть топологией. По виду топологии различают однослойные и многослойные сети.
В однослойных сетях нейроны могут соединятся либо по принципу каждый с каждым, либо регулярно. В многослойных сетях нейроны группируются по слоям. Классическим является связь нейрона одного слоя с каждым нейроном другого слоя. Внутри слоя нейроны между собой связей не имеют. Два внешних слоя многослойной сети принято называть входным и выходным слоями.
Внутренние слои принято называть скрытыми слоями. Число скрытых слоев неограниченно. Известна практика применения также двухслойных сечей, у которых только входной и выходной слои.
Работает сеть следующим образом. Па нейроны входного слоя подаются входные сигналы (входной вектор (х1,х2,…,хn)), кодирующее входное воздействие или образ внешней среды путем активации нейронов этого слоя. Выходы нейронов выходного слоя являются выходами сети. Множество выходных сигналов 1...YK называют вектором выходной активности или паттерном активности нейронной сети. Веса связей нейронов сети удобно представлять в виде матрицы А, где aij — вес связи между i-м и j-м нейронами. В процессе функционирования (эволюции состояний) сети осуществляется преобразование входного вектора в выходной. Конкретный вид выполняемого сетью преобразования информации обуславливается не только характеристиками нейронов, но и особенностями ее архитектуры, т.е. той или иной топологией межнейронных связей, выбором определенных подмножеств входных и выходных нейронов, и т.д.
На рис.13.6-13.9 представлены некоторые варианты топологий нейронных сетей.
Рис. 13.6. Двухслойная сеть с прямыми связями.
Р
ис. 13.7 Трехслойная сеть с прямыми связями.
Р
ис.13.8 Нейронная сеть с перекрестными связями.
Рис. 13.9. Нейронная сеть с обратными связями
На рис. 13.6 представлена сеть с прямыми связями. Характерной особенностью такой сети является равенство числа входов, выходов и нейронов в каждом из двух слоев сети, а также наличие так называемых латеральных связей между нейронами 1-го и 2-го слоев
На рис.13.7 показана многослойная, в частности трехслойная сеть. Число скрытых слоев в общем случае может быть несколько. В многослойных сетях, как правило, нейроны одного слоя имеют функцию активации одного типа.
На рис.13.8 представлена нейронная сеть с перекрестными связями. Число связей может быть и больше, чем показано на рисунке.
Топологию сети с обратными связями иллюстрирует рис.13.9 Обратные связи могут быть как с выходного слоя на входной, так и с внутренних (скрытых) слоев на входной.
Нетрудно отметить, что при конструировании сети разработчик имеет в качестве исходных данных:
• размерность вектора входного сигнала(ов);
• размерность вектора выходного сигнала(ов);
• формулировку решаемой задачи;
• точность решения задачи.
При этом разработчик должен выбрать:
• тип топологии сети;
• общее число нейронов в сети и число нейронов по слоям;
• функции активации нейронов;
• способ задания коэффициентов синаптической связи;
• метод доказательства работоспособности новой сети
Классификация сложных систем, а нейронные сети являются таковыми, всегда проводится по определенному признаку. Еще ранее было упомяну-
то, что нейрокомпьютеры, а следовательно и нейронные сети, могут быть аналоговыми и цифровыми. Кроме этого, нейронные сети классифицируют по способу решения задач. С точки зрения этого признака сети делят на формируемые, сети с формируемой матрицей связи и обучаемые.
Формируемые сети. Сети этого класса проектируются для формализуемых задач, имеющих четко сформулированный в нейросетевом базисе алгоритм решения конкретной задачи.
Сети с формируемой матрицей связей. Сети этого класса применяются для
трудноформализуемых задач. Как правило, эти сети имеют одинаковую структуру и различаются лишь матрицей связи. Примером таких сетей является сеть Хопфилда. Достоинством таких сетей является их наглядность в работе.
Обучаемые сети. Этот класс сетей используют для решения неформализуемых
задач. В процессе обучения сети автоматически изменяются такие ее параметры, как коэффициенты синаптической связи, а в некоторых случаях и топология. Серьезным препятствием в широком применении нейрокомпьютеров все еще остается большое время обучения сети. Поэтому выбор или разработка алгоритма обучения является ключевой задачей разработчика нейронных систем.