Автор работы: Пользователь скрыл имя, 01 Декабря 2014 в 20:06, реферат
Актуальность исследований в этом направлении подтверждается массой различных применений нейронных сетей (НС). Это автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование, создание экспертных систем, организация ассоциативной памяти и многие другие приложения. С помощью НС можно, например, предсказывать показатели биржевого рынка, выполнять распознавание оптических или звуковых сигналов, создавать самообучающиеся системы, способные управлять автомашиной при парковке или синтезировать речь по тексту.
Министерство образования и науки Российской Федерации
Федеральное государственное
бюджетное образовательное
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»
ФАКУЛЬТЕТ «Автоматика и электроника» КАФЕДРА «Автоматика»
РЕФЕРАТ
На тему:
Искусственные нейронные сети
Выполнил студент гр. А08-02:
Сунчелеев Е.В.
Принял преподаватель:
Жучков А.А.
Москва, 2014 г.
СОДЕРЖАНИЕ
В последнее время интерес человечества к искусственным нейронным сетям (Artificial Neural Network - ANN) растет в арифметической прогрессии. За этим интересом - не только стремление ученых и исследователей понять принципы работы нервной системы живого организма, но и желание самостоятельно моделировать и генерировать сложные процессы обработки информации, на которые пока способен лишь человеческий мозг. Нейронные сети, которые не только умеют обрабатывать данные, но еще обладают способностью обучаться, объединяет суперсовременная технология создания этих самых систем – нейрокомпьютинг. Компьютеры, разработанные на основе этой технологии, принято называть вычислительными системами шестого поколения.
Актуальность исследований в этом направлении подтверждается массой различных применений нейронных сетей (НС). Это автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование, создание экспертных систем, организация ассоциативной памяти и многие другие приложения. С помощью НС можно, например, предсказывать показатели биржевого рынка, выполнять распознавание оптических или звуковых сигналов, создавать самообучающиеся системы, способные управлять автомашиной при парковке или синтезировать речь по тексту.
На заре развития электронно-вычислительной техники в середине ХХ века среди ученых и конструкторов еще не существовало единого мнения о том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина.
Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки – нейрон. Мозг человека состоит из белого и серого веществ: белое – это тела нейронов, а серое – это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 1011 нейронов, связанных между собой. Каждый нейрон получает информацию через свои дендриты, а передает ее дальше только через единственных аксон, разветвляющийся на конце на тысячи синапсов.
Искусственные нейроны, из комбинаций которых состоят нейронные сети, в принципе, имитируют свойства биологического нейрона. Однако, простая модель искусственного нейрона игнорирует многие свойства нейрона биологического.
Человеческий мозг содержит свыше триллиона элементов, называемых нейронами, которые являются основными составляющими нервной системы человека. Нейроны связаны множеством нервных нитей, называемых синапсами. Эта биологическая сеть отвечает за наши мысли, эмоции, способность обучаться, а также за сенсомоторику и многие другие немаловажные функции человеческого организма. Нейроны посылают друг другу электрические импульсы - сигналы различной силы и частоты.
Рисунок 2 - Схема нейрона и межнейронного взаимодействия
Один искусственный нейрон способен выполнять простейшие процедуры распознавания, сложные вычисления требуют соединений нейронов в сети. Простейшая сеть состоит из группы нейронов, образующих слой. Более крупные и сложные нейронные сети обладают, как правило, и большими вычислительными способностями. Естественно, многослойные сети обладают более широкими возможностями, чем однослойные, и в последние годы были разработаны различные алгоритмы для их обучения.
Универсальное определение нейронной сети учеными все еще не дано. Принято считать, что нейронная сеть – это сеть, состоящая из нескольких простых "процессоров", а каждый из этих "процессоров" имеет определенное количество памяти. Иногда их еще называют единицами, которые связаны соединениями или каналами связи, оперирующими кодируемыми числовыми данными. Таким образом, нейронная сеть может "справиться" с любой вычислимой функцией, как и совершенно обычный компьютер, однако, в отличие от него, нейрокомпьютер решает нестандартные задачи, к которым не могут применяться жесткие правила математики. В отличие от экспертных систем, которые в обработке данных ориентируются на набор правил, заложенных в их базе данных, нейросеть проводит анализ информации, которую она научена распознавать.
Рисунок 3 - Схема простой нейросети. Зелёным обозначены входные элементы, жёлтым — выходной элемент
Модели НС могут быть программного и аппаратного исполнения. Несмотря на существенные различия, отдельные типы НС обладают несколькими общими чертами.
Основу каждой НС составляют относительно простые, в большинстве случаев – однотипные, элементы (ячейки), имитирующие работу нейронов мозга.
Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рисунке 4. Каждый синапс характеризуется величиной синаптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости.
Рисунок 4 - Искусственный нейрон
Текущее состояние нейрона определяется, как взвешенная сумма его входов:
(1)
Выход нейрона - это функция его состояния:
y = f(s) (2)
Также общей чертой, присущей всем НС является принцип параллельной обработки сигналов, который достигается путем объединения большого числа нейронов в так называемые слои.
Рисунок 5 - Однослойный перцептрон
Все весовые коэффициенты синапсов одного слоя нейронов можно свести в матрицу W, в которой каждый элемент wij задает величину i-ой синаптической связи j-ого нейрона. Таким образом, процесс, происходящий в НС, может быть записан в матричной форме:
Y=F(XW) (3)
где X и Y – соответственно входной и выходной сигнальные векторы, F( V) – активационная функция, применяемая поэлементно к компонентам вектора V.
Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированной микросхемы, на которых обычно реализуется НС. Чем сложнее НС, тем масштабнее задачи, подвластные ей.
Выбор структуры НС осуществляется в соответствии с особенностями и сложностью задачи.
С точки зрения искусственного интеллекта, ИНС является основным направлением в структурном подходе по изучению возможности построения (моделирования) естественного интеллекта с помощью компьютерных алгоритмов.
Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что, в случае успешного обучения, сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке.
Например:
НС Хопфилда (НСХ) является однослойной и полносвязной (связи нейронов на самих себя отсутствуют), её выходы связаны со входами. Является релаксационной – т.е. будучи установленной в начальное состояние, функционирует до тех пор, пока не достигнет стабильного состояния, которое и будет являться её выходным значением. НСХ применяются в качестве ассоциативной памяти и для решения оптимизационных задач.
В процессе обучения сеть в определенном порядке просматривает обучающую выборку. Порядок просмотра может быть последовательным, случайным и т. д. Некоторые сети, обучающиеся без учителя, например, сети Хопфилда просматривают выборку только один раз. Другие, в том числе сети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения.
При обучении с учителем набор исходных данных делят на две части — собственно обучающую выборку и тестовые данные; принцип разделения может быть произвольным. Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются). Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение.
Если ошибка на обучающих данных продолжает уменьшаться, а ошибка на тестовых данных увеличивается, значит, сеть перестала выполнять обобщение и просто «запоминает» обучающие данные. Это явление называется переобучением сети. В таких случаях обучение обычно прекращают.
В процессе обучения могут проявиться другие проблемы, такие как паралич или попадание сети в локальный минимум поверхности ошибок. Невозможно заранее предсказать проявление той или иной проблемы, равно как и дать однозначные рекомендации к их разрешению.
Выбор данных для обучения сети и их обработка является самым сложным этапом решения задачи. Набор данных для обучения должен удовлетворять нескольким критериям:
Исходные данные преобразуются к виду, в котором их можно подать на входы сети. Каждая запись в файле данных называется обучающей парой или обучающим вектором. Обучающий вектор содержит по одному значению на каждый вход сети и, в зависимости от типа обучения (с учителем или без), по одному значению для каждого выхода сети. Обучение сети на «сыром» наборе, как правило, не даёт качественных результатов. Существует ряд способов улучшить «восприятие» сети.
Кроме того, большую роль играет само представление как входных, так и выходных данных. Предположим, сеть обучается распознаванию букв на изображениях и имеет один числовой выход — номер буквы в алфавите. В этом случае сеть получит ложное представление о том, что буквы с номерами 1 и 2 более похожи, чем буквы с номерами 1 и 3, что, в общем, неверно. Для того, чтобы избежать такой ситуации, используют топологию сети с большим числом выходов, когда каждый выход имеет свой смысл. Чем больше выходов в сети, тем большее расстояние между классами и тем сложнее их спутать.
Даже в случае успешного, на первый взгляд, обучения сеть не всегда обучается именно тому, чего от неё хотел создатель. Известен случай, когда сеть обучалась распознаванию изображений танков по фотографиям, однако позднее выяснилось, что все танки были сфотографированы на одном и том же фоне. В результате сеть «научилась» распознавать этот тип ландшафта, вместо того, чтобы «научиться» распознавать танки. Таким образом, сеть «понимала» не то, что от неё требовалось, а то, что проще всего обобщить.