русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Искусственный (математический) нейрон


Дата добавления: 2013-12-23; просмотров: 5173; Нарушение авторских прав


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

На рисунке ниже приведена модель нейрона, лежащего в основе искусственных нейронных сетей.

В этой модели нейрона можно выделить три основных элемента:

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

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

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

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



Таким образом, математическая модель нейрона может быть представлена выражением:

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

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

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

1. Единичный скачок или жесткая пороговая функция

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

2. Линейный порог

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

3. Логистическая функция (сигмоид)

Монотонно возрастающая всюду дифференцируемая -образная нелинейная функция с насыщением.

Определяется следующим выражением:

где a – параметр наклона сигмоидальной функции активации. Изменяя этот параметр, можно построить функции с различной крутизной.

 

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

где a – это также параметр, влияющий на наклон сигмоидальной функции.

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

Функции активации типа единичного скачка и линейного порога встречаются довольно редко. В практических задачах почти всегда применяется сигмоидальная функция активации – логистическая или (чаще) гиперболический тангенс.

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

Таким образом, построение НС для решения конкретной задачи осуществляется в два этапа:

1) Выбор типа (архитектуры) нейронной сети.

2) Подбор весов (обучение) нейронной сети.

Можно выделить два основных подхода к созданию искусственных нейронных сетей:

1) Аппаратный – физическое моделирование, создание специализированных микросхем («нейрочипов»), плат расширения, компьютеров, реализующих все необходимые алгоритмы.

Преимущество: высокое быстродействие.

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

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

Преимущества: гибкость, невысокая стоимость аппаратных платформ, возможность применения стандартного математического ПО (например, Matlab, в составе которого имеется пакет для проектирования нейронных сетей Neural Networks Toolbox, или свободно распространяемого нейросимулятора NeuroPro).

Недостаток: в некоторых приложениях реального времени (особенно в тех, где требуется адаптивная подстройка весов нейронной сети в процессе ее функционирования на реальном объекте) может ощущаться нехватка быстродействия.

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

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

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

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

 



<== предыдущая лекция | следующая лекция ==>
Биологический прототип | Обучение нейронных сетей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.