Устройство нейронных сетей
Федеральное государственное автономное бюджетное образовательное
Учреждение высшего образования
«Нижегородский государственный университет им. Н.И. Лобачевского»
Арзамасский филиал
Предмет: Интеллектуальные информационные системы
Тема №4: Нейронные сети: понятие и струтура нейронных сетей. Задача распознавания динамических и статических объектов
Выполнил: Балабанов Вадим
22.09.2015
Введение в нейронные сети
Нейронные сети представляют собой новую и весьма перспективную вычислительную технологию, дающую новые подходы к исследованию динамических задач в экономической области. Первоначально нейронные сети открыли новые возможности в области распознавания образов, затем к этому прибавились статистические и основанные на методах искусственного интеллекта средства поддержки принятия решений и решения задач в сфере экономики.
Способность к моделированию нелинейных процессов, работе с зашумленными данными и адаптивность дают возможности применять нейронные сети для решения широкого класса задач. В последние несколько лет на основе нейронные сетей было разработано много программных систем для применения в таких вопросах, как операции на товарном рынке, оценка вероятности банкротства банка, оценка кредитоспособности, контроль за инвестициями, размещение займов.
Приложения нейронные сетей охватывают самые разнообразные области интересов: распознавание образов, обработка зашумленные данных, дополнение образов, ассоциативный поиск, классификация, оптимизация, прогноз, диагностика, обработка сигналов, абстрагирование, управление процессами, сегментация данных, сжатие информации, сложные отображения, моделирование сложных процессов, машинное зрение, распознавание речи.
Смысл использования нейронные сетей в экономике заключается вовсе не в том, чтобы вытеснить традиционные методы или изобретать велосипед. Это просто еще одно возможное средство для решения задач.
История нейронных сетей
На заре развития электронно-вычислительной техники в середине ХХ века среди ученых и конструкторов еще не существовало единого мнения ок том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина. Это сейчас мы с Вами изучаем в курсах Основ информатики архитектуру машины фон Неймана, по которой построены практически все существующие сегодня компьютеры. При этом в тех же учебниках ни слова не говорится о том, что в те же годы были предложены принципиально иные архитектуры и принципы действия компьютеров. Одна из таких схем получила название нейросетевого компьютера, или просто нейросети.
Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки – нейрон. Мозг человека состоит из белого и серого веществ: белое – это тела нейронов, а серое – это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 1011 нейронов, связанных между собой. Каждый нейрон получает информацию через свои дендриты, а передает ее дальше только через единственных аксон, разветвляющийся на конце на тысячи синапсов (см. рис. 1).
РИС.1. СИНАПС
Простейший нейрон может иметь до 10000 дендритов, принимающих сигналы от других клеток.
Таким образом, мозг содержит примерно 1015 взаимосвязей. Если учесть, что любой нейрофизиологический процесс активизирует сразу множество нейронов, то можно представить себе то количество информации или сигналов, которое возникает в мозгу.
Нейроны взаимодействуют посредством серий импульсов, длящихся несколько миллисекунд, каждый импульс представляет собой частотный сигнал с частотой от нескольких единиц до сотен герц. Это невообразимо медленно по сравнению с современными компьютерами, но в тоже время человеческий мозг гораздо быстрее машины может обрабатывать аналоговую информацию, как-то: узнавать изображения, чувствовать вкус, узнавать звуки, читать чужой почерк, оперировать качественными параметрами. Все это реализуется посредством сети нейронов, соединенных между собой синапсами. Другими словами, мозг -–это система из параллельных процессоров, работающая гораздо эффективнее, чем популярные сейчас последовательные вычисления.
Кстати говоря, недавно в одном из журналов я читал, что технология последовательных вычислений подошла к пределу своих технических возможностей, и в настоящее время остро стоит проблема развития методов параллельного программирования и создания параллельных компьютеров. Так что, может быть, нейросети являются только очередным шагом в этом направлении.
Устройство нейронных сетей
Искусственным нейроном называется простой элемент, сначала вычисляющий взвешенную сумму V входных величин xi:
Здесь N – размерность пространства входных сигналов.
Затем полученная сумма сравнивается с пороговой величиной W0, вслед за чем вступает в действие нелинейная функция активации f. Коэффициенты Wi во взвешенной сумме обычно называют синаптическими коэффициентами или весами. Саму же взвешенную сумму V мы будем называть потенциалом нейрона i. Выходной сигнал тогда имеет вид f(V).
Величину порогового барьера можно рассматривать как еще один весовой коэффициент при постоянном входном сигнале. В этом случае мы говорим о расширенном входном пространстве: нейрон с N-мерным входом имеет N+1 весовой коэффициент. Если ввести в уравнение пороговую величину W0, то оно перепишется так:
В зависимости от способа преобразования сигнала и характера активации возникают различные виды нейронных структур. Существуют детерминированные нейроны, когда активизирующая функция однозначно вычисляет выход по входу, и вероятностные нейроны, состояние которых в момент t есть случайная функция потенциала и состояния в момент t-1. Рассмотрим детерминированные нейроны.
Структура нейронной сети
Используется 3-слойная нейронная сеть, структура которой приведена на рис. 2.
Рис. 2. Структура примененной нейронной сети (n – число распознаваемых букв)
Третий слой образуют выходные нейроны.
В нейронной сети выбранной структуры каждый элемент младшего слоя передает свой выходной сигнал на входы всех элементов следующего слоя.
Число элементов в первом и втором слоях нейронной сети может варьироваться. В частности, в разбираемом примере второй слой содержит 8, а третий – 24 нейрона.
Функции активации
В искусственных нейронах могут быть различные функции активации, но и в используемых мной программах, и в известной литературе указаны только следующие виды функций:
• Линейная: выходной сигнал нейрона равен его потенциалу,
• пороговая: нейрон выбирает решение из двух вариантов: активен / неактивен,
• Многопороговая: выходной сигнал может принимать одно из q значений, определяемых (q-1) порогом внутри предельных значений.
• Сигмоидная: рассматриваются два вида сигмоидных функций:
с выходными значениями в промежутке [0,1] и
с выходными значениями в промежутке [-1,1].
Коэффициент b определяет крутизну сигмоида. Поскольку сигмоидная функция является гладким отображением бесконечной функции на промежутке (-1,1), то крутизну можно учесть через величины весов и порогов, и без ограничения общности можно полагать ее равной единице.
Графические изображения простейшего нейрона и виды функций с их графиками приведены на рис. 2.
РИС.2. Пример простейшего нейрона в виде математической модели