Рассмотренные выше классы параллельных вычислительных систем ориентированы на решение хорошо формализованных задач, сводящиеся к расчетам по формулам для заданных исходных данных. Однако существуют широкий класс практически важных, но плохо формализованных задач, например, таких как
- распознавание образов;
- кластеризация данных;
- оптимизация (
-полные задачи).
Искусственный нейрон.
Рис. 1. Условное изображение искусственного нейрона.
- Скалярное произведение векторов
,
:
 | (1) |
- Расстояние между векторами
,
измеренное в некоторой метрике. Например,
 | (2) |
Рис. 2. Ступенчатая пороговая функция активации.
Рис. 3. Линейная пороговая функция активации.
Рис. 4. Сигмоидальная функция активации.
Рис. 5. Функция активации - гауссиан.
Нейронные сети.
Нейронная сеть образуется путем объединения выходов
нейронов с входами нейронов. В зависимости от вида графа межнейронных соединений нейронные сети делятся на следующие два класса сетей:
Рис. 6. Пример ациклической нейронной сети.
Рис. 7. Пример циклической нейронной сети.
В
конструируемых нейронных сетях число
нейронов, их тип, граф межнейронных связей и веса входов нейронов определяются при создании сети, исходя из задачи, которую должна решать сеть. Конструируемые
нейронные сети используются, например, в качестве ассоциативной памяти (памяти, адресуемой по содержанию).
Обучение обучаемых нейронных сетей
Рис. 8. Пространство входов нейронной сети X и множество допустимых входов нейронной сети DX. n=2.
В задачах, которые эффективно решаются
нейронными сетями, точки множества

образуют связные области, все точки каждой из которых обладают одним и тем же свойством, например, принадлежат одному и тому же кластеру.
Задача конструирования или обучения
нейронной сети в этих терминах состоит в том, чтобы при принадлежности входного вектора нейронной сети

разным областям формировались различные выходные сигналы нейронной сети. Можно сказать, что в результате
обучения нейронной сети она запоминает расположение этих областей во множестве

.
Изменение весов входов, числа
нейронов и графа межнейронных связей меняет набор и расположение разделяющих гиперплоскостей.
Рис. 9. К запоминанию областей в персептронных нейронных сетях. N=2.
Рис. 10. К запоминанию областей в нейронных сетях с радиальными базисными функциям. N=2.
- Выбор начальной межнейронной сети. Число входов и выходов сети определяется постановкой задачи. Граф межнейронных связей обычно выбирается эвристически. Например, по одной из эвристик в качестве начальной рекомендуется взять трех-слойную нейронную сеть с числом нейронов внутреннего слоя, равным полусумме числа входов и выходов нейронной сети. При этом каждый нейрон внутреннего слоя должен быть связан с выходами всех входных нейронов сети, а каждый выходной нейрон должен быть связан с выходами всех нейронов внутреннего слоя.
- Подбор весов входов нейронов так, чтобы нейронная сеть решала поставленную задачу. Известным алгоритмом определения весов нейронов для персептронных нейронных сетей является алгоритм обратного распространения (см. ниже), для которого доказана его сходимость. Широко используются для подбора весов нейронов различные алгоритмы случайного поиска, например, генетические алгоритмы.
- Изменение графа межнейронных связей (если подбор весов не удался) и переход к п. 2. Для этого используют различные эвристики, например, эвристики на основе генетических алгоритмов.
Алгоритм обратного распространения.
Пусть имеется обучающий набор примеров
Здесь

- входные значения

-го примера,

- правильное выходное значение

-го примера.
Считается, что
нейрон правильно обучен, если
 | (3) |

- выход
нейрона в j-ом примере,

– заданная допустимая величина ошибки.
- Присвоить весам входов нейрона и порогу функции активации случайные малые значения;
- Начиная с первого примера, подать на входы нейрона очередной пример
и определить значение выхода нейрона
;
- Изменить веса по правилу

- Производить шаги 2 – 4 до тех пор, пока не выполнится условие (3).
Интерпретация нейронных сетей.
Алгоритм, который реализует данная
нейронная сеть, может быть интерпретирован универсальной
ЭВМ или некоторым специализированным устройством.
Интерпретация
нейронной сети на универсальной
ЭВМ выполняется с помощью специальных программ для однопроцессорных и многопроцессорных ЭВМ. Широко известны программные эмуляторы фирм Brain Maker, Neural Works.
Чаще всего используются цифровые нейрочипы. Одним из первых коммерчески доступных нейрочипов был 16-ти разрядный нейрочип Micro Devices MD 1220, который интерпретировал 8
нейронов (разрядность нейрочипа относится к разрядности весов входов и разрядности операций сложения и умножения).
Современные цифровые нейрочипы интерпретируют сотни
нейронов.
Принято производительность нейрокомпьютерных устройств измерять в количестве соединений в секунду – CPS (connections per second). Под соединением понимается умножение вектора входа
нейрона на вектор весов и сложение результата с накопленной функцией. Для измерения производительность нейрокомпьютерных устройств используется также величина «число изменений весов в секунду» - CUPS (connections update per second), которая позволяет оценить скорость обучения
нейронной сети.
Современные нейрочипы имеют производительность порядка нескольких сотен MCPS. Производительность нейросетевых плат достигает десятков GCPS.