Помощь в написании студенческих работ
Антистрессовый сервис

Нейронные сети. 
Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. 
Классификация нейронных сетей. 
Программная и аппаратная реализация нейронных сетей

РефератПомощь в написанииУзнать стоимостьмоей работы

Современные искусственные нейронные сети имеют очень мало соединений в сравнении с числом соединений в мозге. Но большинство проблем сегодня могут быть решены искусственными нейронными сетями, содержащими не более, чем 500 нейронов и 30 000 соединений. Возможно, что мозг тоже содержит много меньшего размера сети для решения частей проблем и использует сети более высокого уровня, чтобы связывать… Читать ещё >

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей (реферат, курсовая, диплом, контрольная)

Использование нечетких знаний в моделях нейронных сетей. Основные понятия теории нейронных сетей Теория искусственных нейронных сетей (НС), положившая начало исследованиям по искусственному интеллекту, в последние десятилетия бурно развивается. Актуальность этих исследований подтверждается множеством различных практических применений НС (распознавание речи и зрительных образов, адаптивное управление, прогнозирование, организация ассоциативной памяти и многие другие приложения). Специфика задач вынуждает создавать разнообразные специализированные НС, имеющие различную структуру и функционирующие по различным алгоритмам. Реализация НС может быть аппаратной или программной. В данном случае речь будет идти о программно реализуемых НС. Несмотря на множество различий, НС имеют и общие черты, характеризующие их как искусственные нейронные сети. Искусственная НС состоит из искусственных нейронов и соединений между ними.

Нейроны. Прообразом искусственного нейрона является биологический нейрон. Человеческий мозг — это сложная биологическая сеть, состоящая из миллионов связанных между собой клеток, называемых нейронами. Точный механизм работы человеческого мозга неизвестен, но мы знаем о нем достаточно для того, чтобы имитировать некоторые из его способностей, таких как обучение, распознавание образов, обобщение.

Нейрон мозга имеет четыре основные части (рис. 6.1): тело, входные каналы, выходной канал и соединительные точки между нейронами, называемые синапсами.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Нейрон получает сигналы от многих других нейронов на синапсы, где происходят некоторые процессы, прежде чем сигналы будут посланы в тело нейрона. Синапсы «взвешивают» входные сигналы так, что каждый из сигналов оказывает различное действие на нейрон. Синапс может поднять или понизить уровень сигнала так, что он окажет более сильное или более слабое действие на нейрон. Действие синапса на сигнал может стать причиной «включения» (возбуждения) или «выключения» (торможения) нейрона. Сильно возбужденный нейрон посылает выходной сигнал, а заторможенный — нет. Работа тела нейрона состоит в том, чтобы суммировать все входные сигналы и решить, достаточно ли полного сигнала, чтобы послать выходной сигнал.

Один нейрон может обнаружить и послать сигнал лишь об одной простой вещи. Более сложные явления распознаются группами взаимосвязанных нейронов. Обучение проявляется в мозге в виде изменений в синапсах. Существуют разные теории о том, как это происходит, но общая точка зрения состоит в том, что «обучение» нейрона является функцией поступающих на него сигналов.

Искусственные нейроны (рис. 6.2) имитируют работу нейронов мозга. Искусственные нейроны также называют узлами, единицами или ячейками.

Каждый искусственный нейрон получает на свои входы («дендриты») сигналы с выходов («аксонов») многих других нейронов и может находиться, по аналогии с нервными клетками головного мозга, в возбужденном или заторможенном состоянии. Текущее состояние s искусственного нейрона определяется как взвешенная сумма.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

его входов, i=1,…, n.

Роль «синапсов» в искусственном нейроне выполняют весовые коэффициенты, i=1,…, n. Весовой коэффициент характеризует силу синаптической связи между выходом посылающего сигнал нейрона и входом принимающего этот сигнал нейрона.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Выход y нейрона есть функция y = f (s) его состояния, называемая выходной или передаточной функцией. Передаточная функция f может иметь различный вид, как показано на рис. 6.3.

Пороговая передаточная функция может принимать только два значения: пока значение s ниже порога, выход нейрона y всегда имеет низкое значение (равен 0); пока значение s выше порога, выход нейрона всегда имеет высокое значение (равен 1). При значении s, равном порогу, выход нейрона y совершает скачок от низкого значения к высокому (если s увеличивается) или от высокого к низкому (если s уменьшается). Пороговая передаточная функция использовалась в некоторых ранних исследованиях нейронных сетей (Маккаллок и Питтс, 1943) .

Линейная пороговая передаточная функция — это функция, выход которой y равен константе, умноженной на вход s, пока вход находится в некотором заданном интервале. Ниже этого интервала функция имеет постоянное низкое значение (равна 0), а выше этого интервала — постоянное высокое значение (равна 1). Центром является значение s, при котором y=0.5. Прирост значения этой функции в пределах интервала равен наклону линейной части кривой. Линейная пороговая передаточная функция позволяет строить нейронные сети, обладающие более интересным поведением, чем сети, построенные с помощью пороговой передаточной функции.

Сигмоидальная передаточная функция, известна также как S-образная функция, полулинейная, функция с насыщением или логистическая функция.

В общем виде логистическая кривая описывается выражением.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

В качестве передаточной функции искусственного нейрона обычно используется логистическая функция вида.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

При уменьшении b сигмоид становится более пологим, в пределе при b=0 вырождаясь в горизонтальную линию на уровне y=0.5, при увеличении b сигмоид приближается по внешнему виду к пороговой функции единичного скачка с порогом в точке s=0. Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне [0,1]. Центр сигмоида — это значение его входа s, при котором значение выхода y=0.5. Прирост значения выхода сигмоида прямо пропорционален производной функции в центральной точке. Следует отметить, что сигмоидная функция дифференцируема на всей оси абсцисс, что используется в некоторых алгоритмах обучения (одно из ценных свойств сигмоидной функции — простое выражение для ее производной применение которого будет рассмотрено в дальнейшем). Кроме того она обладает свойством усиливать слабые сигналы лучше, чем большие, и предотвращает насыщение от больших сигналов, так как они соответствуют областям аргументов, где сигмоид имеет пологий наклон.

Гауссова передаточная функция, известная также как колоколообразная, является наиболее необычной передаточной функцией в нейронных сетях. При использовании этой функции нейрон формирует отклик на вход избирательно. Центром служит значение входа s, при котором выход y=1. Прирост пропорционален гауссову отклонению. Полезность этой передаточной функции находится в стадии исследований.

Слои нейронов. Нейронная сеть состоит из соединенных между собой нейронов. Выбор способа соединения нейронов между собой — один из наиболее важных вопросов при построении нейронной сети. Нейроны могут размещаться в трех типах мест (рис. 6.4): во входном слое, во внутренних (скрытых) слоях, в выходном слое.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

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

Главная часть знаний нейронной сети накапливается во внутренних нейронах и соединениях между ними. Выходные нейроны посылают информацию во внешний мир о том, как нейронная сеть отвечает на входные данные.

Соединения нейронов. Соединение — это линия коммуникации, идущая от посылающего нейрона к получающему. Возможны два типа соединений: возбуждающие и тормозящие. Тормозящие соединения стремятся предотвратить возбуждение нейрона. Возбуждающие соединения стремятся вызвать возбуждение нейрона.

Нейронная сеть может содержать нейрон, оказывающий тормозящее действие на все остальные нейроны того же слоя. Такое действие называют боковым торможением. Иногда боковое торможение столь сильно, что лишь один нейрон в слое, обычно в выходном слое, может быть активирован в каждый момент времени. Этот эффект минимизации числа активных нейронов представляет собой одну из форм конкуренции, ведущую к специализации функций нейронов в слое.

То, как нейроны соединены между собой, оказывает огромное влияние на работу сети. Иногда выходы нейронов одного слоя соединяются со входами нейронов предшествующего или того же слоя. Такие соединения называют обратной связью. Чаще используют модели с обратной связью, в которых каждый нейрон соединен с каждым. На рис. 6.5 показана сеть с обратной связью и специализацией.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Современные искусственные нейронные сети имеют очень мало соединений в сравнении с числом соединений в мозге. Но большинство проблем сегодня могут быть решены искусственными нейронными сетями, содержащими не более, чем 500 нейронов и 30 000 соединений. Возможно, что мозг тоже содержит много меньшего размера сети для решения частей проблем и использует сети более высокого уровня, чтобы связывать части решений в целое. Структуры нейронных сетей. Многообразие задач, решаемых нейронными сетями, вынуждает разрабатывать нейронные сети, имеющие различную структуру и функционирующие по различным алгоритмам. Теоретически число слоев в нейронной сети и число нейронов в каждом слое может быть любым, но фактически оно ограничено ресурсами компьютера или микросхемы, на которых обычно реализуется нейронная сеть. Выбор структуры нейронной сети осуществляется с учетом особенностей и сложности задачи. Для решения некоторых типов задач уже найдены хорошо проверенные конфигурации, описанные, например, в [Artificial Neural Networks: Concepts and Theory, IEEE Computer Society Press, 1992]. Если же задача не может быть решена нейронной сетью ни одной из известных конфигураций, разработчику приходится создавать сеть новой конфигурации, учитывая, что возможности сети возрастают с увеличением числа нейронов, числа слоев и соединений между нейронами сети.

Однако следует учитывать, что увеличение сложности сети делает более сложным ее обучение, а введение обратных связей ставит вопрос о динамической устойчивости сети. Вопрос о необходимых и достаточных свойствах сети для решения того или иного рода задач представляет собой целое направление нейрокомпьютерной науки. Тем не менее. проблема синтеза нейронной сети столь сильно зависит от решаемой задачи, что дать общие подробные рекомендации затруднительно и оптимальный вариант обычно получают на основе интуиции и испытаний.

Методы обучения нейронных сетей. Качество работы нейронной сети зависит от правильности настройки величин синаптических связей. Поэтому, задавшись структурой нейронной сети, отвечающей решаемой задаче, разработчик сети должен найти оптимальные значения всех переменных весовых коэффициентов (некоторые синаптические связи могут быть постоянными). Этот этап называется обучением нейронной сети. На этапе обучения, кроме качества подбора весов соединений, важную роль играет время обучения. Обычно эти два параметра связаны обратной зависимостью и их приходится выбирать на основе компромисса.

Обучение нейронной сети может вестись с учителем или без него. В первом случае сети предъявляются значения как входных, так и соответствующих им выходных сигналов, по которым сеть настраивает веса своих синаптических связей. Во втором случае выходы нейронной сети формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы. Процесс обучения состоит в изменении силы сигналов, передаваемых через синапсы.

Существует много различных правил обучения. Наиболее известные из них это правило Хебба, Дельта-правило, и правило обратного распространения ошибки (Back Propagation Rule).

Правило Хебба применяется при обучении без учителя. Правило Хебба усиливает соединения между одновременно возбужденными нейронами, изменяя веса соединений по формуле.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

где — изменение веса соединения от нейрона j к нейрону i, — выход нейрона j, — активация нейрона i, — темп обучения. Темп обучения определяет, как велики изменения в сети или как быстро происходит адаптация. Если темп обучения слишком велик, соединения изменяются слишком сильно и сеть перетренируется. В этом случае она может обучаться слишком долго или обучаться плохо.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Дельта-правило применяется при обучении с учителем. Дельта-правило изменяет веса соединений так, чтобы уменьшить различие между реальным выходным образом и желаемым выходным образом. С этой целью изменение весов вычисляется по формуле где — изменение веса соединения от нейрона j к нейрону i, — правильный ответ (выход нейрона i), — выход нейрона j, — активация нейрона i, — темп обучения. Дельта-правило было разработано Бернардом Видроу и Тедом Хоффом в Стэнфордском университете в 1960 году. Это лучшее правило для обучения сетей из линейных нейронов. Оно позволяет обучать любым ассоциациям при условии, что все входы линейно независимы. Другие правила обучения, вроде правила Хебба, требуют, чтобы входы были также ортогональны. Правило обратного распространения ошибки является обобщением Дельта-правила.

Модели нейронных сетей.

Развитие теории нейронных сетей. Исследования нейронных сетей дали первые интересные результаты, когда Уоррен Маккаллок (Warren McCulloch) и Уолтер Питтс (Walter Pitts) показали, что сеть, построенная из двузначных (binary valued) нейронов способна выполнять простые логические вычисления. В 1949 году Дональд Хебб в своей книге Организация поведения (Organization of Behavior) предложил правдоподобный механизм обучения. Большинство современных правил обучения сетей происходят от правила Хебба или его модификаций. Правило Хебба очень простое: каждый раз, когда два нейрона возбуждаются одновременно, соединение между ними должно быть усилено.

В 1950;х годах доминирующей фигурой в исследованиях нейронных сетей был психолог Фрэнк Розенблатт (Frank Rosenblatt). Он изобрел класс нейронных сетей, названных Перцептроны (Perceptrons). Перцептрон был создан как модель биологической сенсорной системы, в которой использовались несколько слоев пороговых нейронов и вариант правила Хебба для обучения. В 1960;х Марвин Мински (Marvin Minsky) и Сеймур Пейперт (Seymour Papert) показали, что большой класс важных проблем не может быть решен Перцептронами. Полный анализ возможностей Перцептронов они опубликовали в 1969 году в книге Перцептроны.

В конце 1960;х и в начале 1970;х немногие исследователи продолжали работать по нейронным сетям. Наиболее известные из них Стефен Гроссберг (Stephen Grossberg), Джеффри Хайтон (Geoffery Hiton), Тейво Кохонен (Teuvo Kohonen), Кунихико Фукушима (Kunihiko Fukushima), Дж.А. Андерсон (J.A. Anderson). Андерсон и Кохонен (1972) разработали «линейный ассоциатор» (linear associator). Стефен Гроссберг одним из первых проанализировал некоторые свойства конкурентного обучения (1976). Дж.А. Андерсон при участии Джеймса Макклиланда (James McClelland) и Давида Румельхарта (David Rumelhart) работали над идеей параллельно распределенных вычислений.

В 1982 году Джон Хопфилд, профессор химии и биологии в Калифорнийском технологическом институте (California Institute of Technology), опубликовал статью, в которой показал, что нейронные сети способны восстанавливать нечеткий входной образ, и подкрепил это теоретически. Две ключевые идеи присутствовали в этой и последующих его статьях: введение в систему обратных связей и функции глобальной вычислительной энергии, характеризующей состояние системы. Со времени опубликования первой статьи Хопфилда разработано несколько новых моделей нейронных сетей и правил обучения, демонстрирующих такие замечательные способности, как распознавание образов, терпимость к искажениям, предсказание.

Классификация нейронных сетей. Рисунок 6.6 демонстрирует два принципа построения нейронной сети: некоторые сети содержат обратные связи, а некоторые — нет. Если выход каждого нейрона не зависит от выходов последующих нейронов, — это сеть без обратных связей, в такой сети отсутствуют циклы.

Нейронные сети могут быть также классифицированы по нейронным передаточным функциям, обычно на линейные и нелинейные модели. Выход линейного нейрона может быть представлен с использованием линейной алгебры, так как значение выхода прямо зависит от суммы значений его входов. В нелинейной модели выход нейрона является нелинейной функцией суммы его входов и может иметь сложную зависимость от этой суммы. Большинство простых нелинейных моделей представляют собой сети из пороговых нейронов. Значение выхода такого нейрона равно 1, если взвешенная сумма его входов превышает заданный порог, в противном случае оно равно 0.

НЕЙРОННЫЕ СЕТИ.

с обратными связями.

без обратных связей.

создаваемые.

тренируемые.

линейные.

нелинейные.

BAM.

Hopfield.

Adaptive.

Resonance.

Adaline.

Perceptron.

Linear associator.

без учителя.

с учителем.

C.A.M.

T.S.P.

Kohonen.

Counterpropag.

Neocognitron (1980).

Backpropag.

Neocognitron (1983).

Рис. Простая классификация НС

Нейронные сети могут быть классифицированы далее по способам обучения на обучение с учителем или без учителя. Сети с учителем сравнивают свой выход с правильным ответом в течение тренировки — подобно тому, как дети учат таблицу умножения. Сети без учителя при обучении используют механизм стимул-реакция — подобно тому, как люди учат первый свой язык.

Нейронные сети с обратной связью. В нейронной сети с обратной связью выходные сигналы нейронов возвращаются на входы нейронов того же или предшествующих слоев (рис. 6.7).

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Нейронная сеть с обратной связью (feedback network) не то же самое, что обратное распространение ошибки (back propagation). Обратное распространение ошибки — это не сеть, а метод тренировки сетей без обратных связей. Нейронные сети с обратной связью (feedback networks) не используют обратное распространение ошибки (back propagation) для тренировки.

Модели с обратной связью бывают конструируемые или тренируемые. В конструируемой модели матрица весов создается. Модель Хопфилда и двунаправленная ассоциативная память (Bidirectorial Associative Memories — BAM) являются двумя хорошо известными конструируемыми моделями нейронных сетей с обратной связью. Так как всегда присутствует некоторый элемент случайности, нейронные сети с обратной связью выдают для одних и тех же входов не всегда те же самые, но обычно весьма близкие решения.

В модели Хопфилда (рис. 6.8) выход каждого нейрона соединен со входом каждого другого нейрона. Поэтому процесс реакция-стимул-реакция между нейронами происходит до тех пор, пока сеть не «успокоится» в некотором фиксированном состоянии, называемом устойчивым состоянием.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Тренировка сети с обратной связью много сложнее, так как адаптация влияет на сигналы как тогда, когда они движутся в прямом направлении, так и тогда, когда они возвращаются на входы предшествующих нейронов. Сложную процедуру адаптивной тренировки нейронных сетей с обратной связью (Adaptive Resonance Theory — ART) разработали Стефен Гроссберг и Гэйл Карпентер (Gail Carpenter).

Вычислительная энергия есть математическая функция, определяющая устойчивые состояния сети и пути, ведущие в них. Если набор значений входов сети линейно упорядочить и представить векотором чисел, то функция вычислительной энергии может быть изображена как кривая поверхность. Устойчивые состояния (минимумы энергии) окажутся во впадинах этой поверхности.

Нейронные сети без обратных связей. Это вторая важная категория нейронных сетей. В нейронных сетях без обратной связи (рис. 6.9) сигналы идут лишь в одном направлении, в них нет циклов.

Ранние модели нейронных сетей были линейными сетями без обратной связи. В 1972 Дж.А. Андерсон и Тейво Кохонен независимо предложили одну и ту же модель для ассоциативной памяти (линейный ассоциатор). Сегодня большинство нейронных сетей используют нелинейные модели нейронных сетей без обратной связи.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

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

Сети же с обратной связью должны циклически повторять проходы до тех пор, пока не прекратятся изменения выходов нейронов. Обычно это требует от 3 до 1000 циклов.

Методы обучения нейронных сетей.

Обучение сетей без обратной связи может быть с учителем и без учителя. При обучении с учителем сеть имеет возможность в ходе тренировки сравнивать с правильными ответами свои реакции на входные воздействия, чтобы корректировать их, в то время как сеть без учителя такой возможности не имеет. Обучение с учителем и без учителя представляют собой исключающие друг друга методы.

При обучении с учителем сигнал ошибки подается обратно через сеть, изменяя веса соединений в процессе движения таким образом, чтобы та же самая ошибка не случалась снова. Обучение с учителем представляет собой простейшую форму адаптации. Оно требует наличия априорного знания о том, каким должен быть результат: выходные нейроны должны знать, что точно соответствует входным сигналам. Для однослойной сети это легко выполнить путем индивидуального контроля каждого нейрона. В многослойной сети режим обучения с учителем реализовать сложнее, так как трудно корректировать веса внутренних слоев.

Метод обратного распространения ошибки (back propagation), использующий обобщенное Дельта-правило, сегодня наиболее популярный метод обучения многослойных нейронных сетей без обратной связи.

При обучении без учителя «тренер» для сети не предусмотрен. Сеть сама организует себя так, чтобы прийти к собственной классификации входов. Самоорганизация, демонстрируемая нейронными сетями без учителя, может быть также основана на использовании конкуренции, кооперации или их обоих. В схемах конкурентного обучения нейроны распределены по классам. Нейроны каждого класса соединены с каждым нейроном того же класса тормозящими связями, а с нейронами других классов возбуждающими связями. Нейроны каждого класса соревнуются между собой за право распознавать некоторую особенность во входе. Нейрон, который более чутко реагирует на эту особенность, чем другие нейроны в классе, «выигрывает» в конкуренции. В конечном счете различные классы приобретают способность представлять различные аспекты входа.

Часто конкуренция и кооперация бывают представлены в одной и той же сети. Кооперация характерна для сетей, которые могут достигать глобальной организации путем локальных взаимодействий. Необходимы параллельные, рекурсивные и нелинейные взаимодействия, чтобы обеспечить кооперацию. Например, в 1976 Д. Марр и Т. Поггио (D. Marr and T. Poggio) применили кооперативную сеть для решения проблемы совмещения образов, как это происходит у человека с образами, возникающими в левом и в правом глазах.

Обратное распространение ошибки (Back Propagation) представляет собой схему обучения с учителем и позволяет тренировать многослойные сети без обратной связи. Сеть обучается путем корректировки весов соединений с учетом ошибки на выходе сети. Цель тренировки сети состоит в достижении минимума ошибки Е за счет надлежащей настройки весов соединений.

Ошибку реакции сети (на выходе сети) на данный образ можно вычислить по формуле.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Где — правильный выход нейрона i;

— реальный (действительный) выход нейрона i.

Простейший метод для поиска минимума ошибки Е известен как метод градиентного (наискорейшего) спуска. Он предусматривает всегда движение (небольшими шагами) в направлении наибольшего уменьшения ошибки.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.
Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Если изменение веса обозначить как, то по методу градиентного спуска это изменение должно быть равно где — константа, задающая темп обучения (величину шага спуска).

Таким образом, для определения величины изменения весов требуется найти производную. Согласно известным правилам дифференцирования мы имеем Тогда, с учетом вида формул для, ,, получим.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

;

;

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Таким образом, производная имеет следующий вид.

=.

Обозначим Величина называется локальной ошибкой. Тогда правило изменения весов соединений нейронов выходного слоя сети согласно методу градиентного спуска приобретает вид.

.

Таким образом, если нейрон i находится в выходном слое, веса его соединений с нейронами j предыдущего слоя мы можем вычислить немедленно.

Если нейрон i находится не в выходном слое, локальная ошибка для этого нейрона вычисляется через сумму взвешенных локальных ошибок нейронов k следующего слоя.

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

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

Зейновски (Sejnowski) и Розенберг (Rosenberg) в их NetTalk использовали правило, в котором, кроме параметра темп тренировки, используется параметр ?, известный как «сглаживающий фактор» .

Нейронные сети. Основные понятия об естесвенных и искуственных нейронных сетях и нейронах. Классификация нейронных сетей. Программная и аппаратная реализация нейронных сетей.

Использование «фактора сглаживания» улучшает сходимость процесса тренировки. Если =0, алгоритм тоже сходится, но делает это несколько дольше.

Проектирование нейронных сетей.

Чтобы создать нейронную сеть, не требуется понимать её внутреннюю работу, надо лишь знать ответы на следующие основные вопросы: что вы хотите узнать от нейронной сети, какую информацию следует предоставить нейронной сети, как тренировать нейронную сеть, что вы будете делать с тренированной нейронной сетью?

Процесс проектирования. Чтобы создать нейронную сеть, надо точно решить, что она должна делать: предсказывать, обобщать или распознавать. Требуется также выбрать информацию, на основе которой нейронная сеть будет это делать. Нейронная сеть обучается путем создания ассоциаций между входами и выходами. Поэтому думать следует только о том, какие входные данные нейронная сеть может использовать для создания нужной ассоциации с желаемым выходом.

Другая важная часть процесса проектирования — собирание примеров для каждого из известных правильных ответов. Примеры должны быть организованы как факты. Факт — это набор входов в паре с правильным выходом (выходами). Факт можно мыслить как карточку, одна сторона которой содержит входную информацию, а другая известный правильный ответ, который нейронная сеть должна заучить в ходе тренировки. Данных может оказаться слишком много, хотя это бывает редко. Хорошее правило состоит в том, что число фактов не должно превышать более чем в десять раз число соединений. Случайные факты должны быть исключены из тренировочного набора.

Данные могут представлять собой символы, картины или числа. Однако нейронные сети могут понимать только числа. Поэтому данные следует преобразовать в числовые значения и нормализовать применительно к используемой передаточной функции, обычно от 0 до 1 или от -1 до +1.

Построение сети. Прежде всего следует уточнить число входных и выходных нейронов. Число входных и выходных нейронов равно, соответственно, числу входных предметов и числу правильных ответов. Далее следует уточнить число внутренних слоев и внутренних нейронов создаваемой сети. Не существует формул для выбора числа внутренних нейронов. Одно из правил рекомендует использовать среднее от числа входных и выходных нейронов. Другое правило предлагает использовать меньшее из этих двух чисел. Третье правило предлагает тренировать с малым числом внутренних нейронов и добавлять внутренние нейроны после завершения тренировки. Опасность от наличия лишних нейронов в том, что сеть может запомнить тренирующие факты, а не обобщить их.

Построение сети может включать также уточнение типа передаточной функции и диапазона ее значений, темпа обучения и сглаживающего фактора. Темп обучения определяет величину коррекции при неверном выходе сети в процессе тренировки. Сглаживающий фактор определяет, как влияет предыдущая коррекция на новую коррекцию. Большинство пакетов коммерческого назначения позволяют определять эти параметры.

Тренировка сети включает повторяющееся предъявление нейронной сети набора фактов. Нейронная сеть берет каждый вход, вычисляет выход, проверяет, насколько этот выход соответствует факту, и делает коррекцию весов соединений так, чтобы выход стал правильным. Этот процесс повторяется для каждого факта по очереди до тех пор, пока обученность сети станет достаточной. Для оценки достигнутого качества выхода сети для каждого из тренирующих фактов, нужен критерий. Большинство пакетов коммерческого назначения позволяют определять такой критерий. Тренировать сеть до тех пор, пока каждый выход не станет безупречным, не требуется. Напротив, обычно сеть тренируют до тех пор, пока не будет достигнута необходимая точность (обычно 90%).

Сеть может распознать факт правильно в одной итерации тренировки и ошибочно в другой. Когда сеть совершает ошибку в ходе тренировки, она вносит компенсирующие ошибку изменения. По этой причине тренировка должна быть итеративным процессом, в котором факты последовательно предъявляются сети снова и снова до тех пор, пока все факты станут восприниматься сетью правильно с необходимой точностью. Иногда в ходе тренировки сеть достигает наилучшего обобщения, когда еще не все факты воспринимаются корректно. Продолжение тренировки в этом случае непродуктивно. Поэтому сеть полезно тестировать в процессе тренировки, чтобы найти лучшую по тесту сеть. Полезно также проверять факты, которые сеть находит трудными для обучения. Эти факты могут противоречить другим фактам набора или не иметь отношения к проблеме.

Тестирование сети по сути то же самое, что и тренировка, за исключением того, что сети предъявляются факты, которые она не видела до этого, и не делается коррекция, когда сеть совершает ошибку. Если результат тестирования окажется хорош, сеть можно использовать. В противном случае нужно больше данных или лучшие данные, чтобы сеть перепроектировать.

Применение сети состоит в предъявлении ей рабочих входных данных и сборе полезных результатов. Применение тренированной сети происходит значительно быстрее, чем тренировка, так как выход не оценивается и коррекция не делается. Тренированную нейронную сеть можно вызвать в другую программу или в экспертную систему, можно также для увеличения скорости работы реализовать её в виде чипа. Тренированная сеть (матрица весов соединений) рассматривается как интеллектуальное свойство и может быть защищена от копирования.

Что могут и что не могут делать нейронные сети. Нейронные сети больше известны способностью к распознаванию образов. Если нужно что-либо распознавать или классифицировать, нейронная сеть это сделает быстрее и правильнее, чем человек. Нейронные сети непригодны там, где требуется точность. Если точность не так важна, как скорость, нейронная сеть может служить подходящим инструментом. Если известны вещи, вовлеченные в процесс, но нет формального описания процесса, нейронная сеть может найти отношение между этими вещами. Если анализируемый процесс изменится, достаточно лишь собрать новые факты и выполнить тренировку сети.

Показать весь текст
Заполнить форму текущей работой