Особенности нейросети как вычислительной среды.
НЕЙРОПРОЦЕССОРЫ | Краткая историческая справка. | Применение DSP для построения нейросред. | Быстрая выборка и исполнение команд. | Возможность работы в мультимикропроцессорных конфигурациях. | Мощные блоки вычислений. | SIMD-режим выполнения операций. | Применение ПЛИС для построения нейросред. | СБИС ETANN 80170NX. | СБИС CLNN32/CLNN64 фирмы Bellcore. |
- Необходимость обучения сети. Решение, которое дает нейросеть, определяется весами входных каналов и видом активационной функции нейронов. Если вид функции активации может быть выбран по общему описанию задачи, то вектор весов для каждого нейрона выбирается с помощью процедуры первичного обучения нейросети. Аналитический выбор этих весов, обычно, невозможен, так как нейросети применяются для задач, которые не имеют точного формального решения. Возможность точного вычисления весовых коэффициентов указывает на наличие простого алгоритмического решения, которое наверняка более эффективно, чем решение с помощью нейросети.
Просчет вектора весов обычно должен быть выполнен один раз и в процессе функционирования нейросети этот вектор фиксирован. Но в некоторых случаях необходимо использовать самообучающуюся нейронную сеть, тогда выполняется динамический пересчет весов, а иногда и изменение структуры сети.
Обучение проводят по обучающему множеству, то есть на основе подготовленных ситуаций, аналогичных тем, с которыми нейросеть будет иметь дело в процессе своего функционирования. Для элементов обучающего множества должны быть известны выходы нейросети. В зависимости от разницы между ожидаемым и фактическим выходом нейросети проводится коррекция векторов весов каждого нейрона. После того, как обучение было закончено, то есть значение ошибки на всем обучающем множестве достигло приемлемого уровня, веса фиксируются, нейронная сеть считается готовой к работе.
Особый интерес представляет обучение <<без учителя>>, то есть создание нейросети, для которой заранее не известны выходные значения нейросети, но есть некоторые требования, которым они должны удовлетворять. При этом полученное решение будет зависеть от алгоритма обучения нейросети. Уже разработаны методы обучения <<без учителя>> для многих классов задач.
- Однородность выполняемых операций. Нейронная сеть может содержать десятки слоев и тысячи нейронов, но вне зависимости от сложности реализуемой ею функции выполняемые операции фиксированы.
Работа каждого слоя нейронной сети описывается одной формулой:
где X - вектор входных значений, Y - вектор выходных значений, W - матрица весовых коэффициентов, а F () - функция активации, применяемая поэлементно к компонентам вектора.
Фактически вычислительных операций всего две: перемножение матриц XW и вычисление нелинейной функции F для каждого элемента вектора. Эта особенность позволяет, применив специализированные решения, сильно увеличить скорость работы нейросети.
- Независимость работы нейронов. Выход нейрона зависит только от выходных сигналов нейронов предыдущего слоя, что делает возможным параллельную обработку всех нейронов одного слоя. Нет нужды сохранять какие-либо величины, кроме выходного вектора непосредственно предшествующего слоя. Если позволяет аппаратное обеспечение, можно реализовать конвейерную обработку входных воздействий, то есть подавать следующий входной вектор сразу после освобождения слоя нейронов, не ожидая просчета всех слоев сети.
- Устойчивость решения. Выходной сигнал зависит от работы множества нейронов, причем в сложных нейросетях ни один из нейронов не может оказать сильного влияния на выход. Алгоритмы обучения сети в большинстве случаев подразумевают, что малые отклонения весов и выходов нейронов вызывают малые отклонения выходного сигнала нейронной сети. Так как обучение обычно представляет собою аналог метода градиентного спуска, то функционирование готовой нейросети заведомо не нарушается малыми изменениями весов и выходов нейронов. Подобная устойчивость решения, обеспечиваемая нейронной сетью, позволяет, например, смириться с частичными потерями данных в распределенных вычислительных системах или повысить устойчивость к аппаратным сбоям. К сожалению сильно распределенные нейросистемы не применяются так, как в нейронных сетях происходит интенсивный обмен информацией между отдельными нейронами. В современных системах аппаратный сбой ведет к изменению работы сразу большой части нейронов, что может привести к нарушению функционирования сети.
Очень широко свойство устойчивости нейросети применяется при выборе представления чисел в нейросети. Существует возможность значительно уменьшать точность величин без ухудшения качества работы нейросети. Поэтому в нейросистемах часто применяют числа с фиксированной запятой малой разрядности, вместо чисел с плавающей запятой, занимающих много места в памяти и замедляющих вычисления.
Дата добавления: 2015-09-05; просмотров: 58 | Нарушение авторских прав
mybiblioteka.su - 2015-2024 год. (0.006 сек.)