Автор работы: Пользователь скрыл имя, 24 Февраля 2013 в 12:28, курсовая работа
Прошло уже много лет с того момента, когда появилась первая ЭВМ. За это время сменилось уже несколько поколений вычислительных машин. Менялись элементная база, конструктивные решения, языки программирования, программное обеспечение, но основы архитектуры, заложенные при создании машин первого поколения, практически без изменения перешли на машины последующих и успешно работают до настоящего времени. Нет сомнений, что идеи машин первого поколения ещё послужат человеку. Однако всё настоятельнее требуются системы, наделённые элементами интеллекта при обработке колоссального объёма информации и в то же время работающие в темпе управляемых процессов.
Введение…………………………………………………………………………..3
1.Искусственный нейрон………………………………………………………...5
2. Нейрокомпьютеры………………………………………………………….....13
2.1 История нейрокомпьютеров………………………………………………...15
2.2 Преимущества и недостатки нейрокомпьютеров………………………….18
2.3 Практическое применение…………………………………………………..19
3. Нейронные сети……………………………………………………………….20
3.1 Задачи для нейронных сетей………………………………………………..24
3.2 Истинные преимущества нейронных сетей………………………………..29
4. Нейросети и нейрокомпьютеры……………………………………………...31
Заключение……………………………………………………………………….33
Список литературы………………………………………………………………35
Самый важный элемент нейросистем адаптивный сумматор, который работает по принципу изложенному ранее в формуле [1].
Итак, я коротко описал основные элементы, из которых состоят нейронные сети. Перейдем теперь к вопросу о формировании этих сетей. Строго говоря, их можно строить как угодно, лишь бы входы получали какие-нибудь сигналы. Обычно используется несколько стандартных архитектур, из которых путем вырезания лишнего или (реже) добавления строят большинство используемых сетей. Для начала следует определить, как будет согласована работа различных нейронов во времени. Как только в системе появляется более одного элемента, встает вопрос о синхронизации функционирования. Для обычных программных имитаторов нейронных сетей на цифровых ЭВМ этот вопрос не актуален только из-за свойств основного компьютера, на котором реализуются нейронные сети. Для других способов реализации он весьма важен. Мы же будем рассматривать только те нейронные сети, которые синхронно функционируют в дискретные моменты времени: все нейроны срабатывают «разом».
В нейронных сетях можно выделить две базовых архитектуры слоистые и полносвязные сети.
Слоистые сети. Здесь нейроны расположены в несколько слоев. Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до слоя k, который выдает выходные сигналы для интерпретатора и пользователя. Если противное не оговорено, то каждый выходной сигнал слоя и подается на вход всех нейронов слоя i+1. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особенно широко распространены трехслойные сети, в которых каждый слой имеет свое наименование: первый входной, второй скрытый, третий выходной.
Полносвязные сети. Здесь каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам.
Элементы слоистых и полносвязных сетей могут выбираться по-разному. Существует, впрочем, стандартный выбор: нейрон с адаптивным неоднородным линейным сумматором на входе.
Для полносвязной сети входной сумматор нейрона фактически распадается на два: первый вычисляет линейную функцию от входных сигналов сети, второй линейную функцию от выходных сигналов других нейронов, полученных на предыдущем шаге.
Функция активации нейронов (характеристическая функция) это нелинейный преобразователь выходного сигнала сумматора. Если функция одна для всех нейронов сети, то сеть называют однородной (гомогенной). Если же характеристическая функция зависит еще от одного или нескольких параметров, значения которых меняются от нейрона к нейрону, то сеть называют неоднородной (гетерогенной).
Составлять сеть из нейронов стандартного вида не обязательно. Слоистая или полносвязная архитектуры не налагают существенных ограничений на участвующие в них элементы. Единственное жесткое требование, предъявляемое архитектурой к элементам сети, это соответствие размерности вектора входных сигналов элемента (она определяется архитектурой) числу его входов. Если полносвязная сеть функционирует до получения ответа заданное число тактов k, то ее можно представить как частный случай k-слойной сети, все слои которой одинаковы, и каждый из них соответствует такту функционирования полносвязной сети.
Существенное различие между полносвязной и слоистой сетями становится очевидным, когда число тактов функционирования заранее не ограничено слоистая сеть так работать не может.
Доказаны теоремы о полноте: для любой непрерывной функции нескольких переменных можно построить нейронную сеть, которая вычисляет эту функцию с любой заданной точностью. Так что нейронные сети в каком-то смысле могут все. [3]
3.1 Задачи для нейронных сетей
Многие задачи, для решения которых используются нейронные сети, могут рассматриваться как частные случаи следующих основных проблем:
построение функции по конечному набору значений;
оптимизация;
построение отношений на множестве объектов;
распределенный поиск информации и ассоциативная память;
фильтрация;
сжатие информации;
идентификация динамических систем и управление ими;
нейросетевая реализация классических задач и алгоритмов вычислительной математики: решение систем линейных уравнений, решение задач математической физики сеточными методами и др.
Однозначно построить функцию (обычно многих действительных переменных) по конечному набору значений невозможно без специальных дополнительных условий. В качестве таких условий в классических подходах используются требования минимизации некоторых регуляризирующих функционалов, например, интеграла суммы квадратов вторых производных требование максимальной гладкости. При этом известные в конечном множестве точек значения функции превращаются в набор ограничений, при которых находится минимум функционала.
С
помощью нейронных сетей
Построить функцию по конечному набору значений обычно требуется при решении одной из самых актуальных для пользователей и аналитиков задач: заполнение пропусков в таблицах. Пусть, как обычно, каждая строка таблицы данных соответствует какому-либо объекту, а в строках указаны значения признаков (свойства) соответствующих объектов. В подавляющем большинстве случаев данные неполны: по крайней мере, для части объектов неизвестны значения некоторых признаков. Необходимо как-то восстановить пропущенные значения. Достоверная статистическая оценка должна давать для отсутствующих данных их условное математическое ожидание (условия известные значения других признаков) и характеристику разброса доверительный интервал. Это, однако, требует либо непомерно большого объема известных данных, либо очень сильных предположений о виде функций распределения. Приходится вместо статистически достоверных уравнений регрессии использовать правдоподобные нейросетевые реализации.
Термин «правдоподобные» взят мной из книги Ф.Уоссермен. Любая, даже самая строгая математическая конструкция сначала создается всего лишь как правдоподобная гипотеза. Правдоподобными мы называем те выводы, которые еще не прошли испытания на достоверность и строгость, однако именно так совершаются открытия. Кроме того, напомним, что утверждения о статистической достоверности базируются на весьма ограничительных гипотезах о статистической природе эмпирического материала (согласно этой природе данные представляют собой результаты независимых статистических испытаний выбора из фиксированной генеральной совокупности).
Задача классификации также может рассматриваться как задача заполнения пропусков в таблицах: для каждого класса в таблице есть поле, в котором указывается, принадлежит объект данному классу или нет. В эти поля могут помещаться численные значения, например, 1, если объект принадлежит классу, и 0 (или -1) в противном случае.
Построение отношений на множестве объектов одна из загадочных и открытых для творчества самых перспективных областей применения искусственного интеллекта. Допустим, задан набор объектов, причем каждому объекту сопоставлен вектор значений признаков (строка таблицы). Требуется разбить эти объекты на классы эквивалентности. Зачем нужно строить отношения эквивалентности между объектами? В первую очередь для фиксации знаний. Мы накапливаем знания о классах объектов это практика многих тысячелетий, зафиксированная в языке: знание относится к имени класса (пример стандартной древней формы: «люди смертны», «люди» имя класса). В результате классификации появляются новые имена и правила их присвоения. Для каждого нового объекта мы должны сделать две вещи:
найти класс, к которому он принадлежит;
использовать новую информацию, полученную об этом объекте, для исправления (коррекции) правил классификации.
Какую форму могут иметь правила отнесения к классу? Традиционно класс представляют его «типичные», «средние», и т.п. элементы. Такой типичный объект является идеальной конструкцией, олицетворяющей класс. Объект относят к какому-либо классу в результате сравнения с типичными элементами разных классов и выбора ближайшего. Правила, использующие типичные объекты, очень популярны и служат основой для нейросетевой классификации.
Нейросети сегодня широко используются для решения классической проблемы производства (раскопок) знаний из накопленных данных. Обучаемые нейронные сети могут производить из данных скрытые знания: создается навык предсказания, классификации, распознавания образов и т.п., но его логическая структура обычно остается скрытой от пользователя. Для проявления (контрастирования) этой скрытой логической структуры нейронные сети приводятся к специальному «логически прозрачному» разреженному виду. Сама нейронная сеть после удаления лишних связей может рассматриваться как логическая структура, представляющая явные знания.
Технология получения явных знаний из данных с помощью обучаемых нейронных сетей выглядит довольно просто и вроде бы не вызывает затруднений. Ее реализация включает несколько этапов.
Первый этап: обучаем нейронную сеть решать базовую задачу (обычно это распознавание или предсказание). В большинстве случаев ее можно трактовать как задачу восполнения пробелов в данных. Такими пробелами могут быть имя образа при распознавании, номер класса, результат прогноза и т. д.
Второй этап: исключая наименее значимые связи (и доучивая сети чаще всего, неоднократно), приводим нейронную сеть к логически прозрачному виду так, чтобы полученный навык можно было «прочитать».
Конечный результат неоднозначен если стартовать с другой начальной карты связей, то можно получить другую логически прозрачную структуру. Каждой базе данных отвечает несколько вариантов явных знаний. Можно считать это недостатком технологии, но я полагаю, что, наоборот, технология, дающая единственный вариант явных знаний, недостоверна, а множественность результатов является фундаментальным свойством производства явных знаний из данных.
Простой пример: нейронная сеть обучалась предсказывать результаты выборов президента США по ряду экономических и политических показателей. Обученные сети были минимизированы по числу входных параметров и связей. Оказалось, что для надежного предсказания исхода выборов в США достаточно знать ответы всего на пять вопросов, приведенных ниже в порядке значимости:
Была ли серьезная конкуренция при выдвижении от правящей партии?
Отмечались ли во время правления существенные социальные волнения?
Был ли год выборов временем спада или депрессии?
Произвел ли правящий президент значительные изменения в политике?
Была ли в год выборов активна третья партия?
От
использования остальных
Именно нейросетевая технология производства знаний, по-моему, является «точкой роста», которая по-новому развернет нейроинформатику, преобразует, многие разделы информатики и создаст новые. [5]
3.2 Истинные преимущества нейронных сетей
Нейронные сети нынче в моде, но стоит ли следовать за ней? Ресурсы ограничены особенно у нас и особенно теперь. Так что же такое Нейрокомпьютер интеллектуальная игрушка или новая техническая революция? Что нового и полезного может сделать нейрокомпьютер? Очевидно, что на новые игрушки, даже высокоинтеллектуальные, средств нет; нейрокомпьютер должен еще доказать свои необыкновенные возможности совершить то, что не под силу обычной ЭВМ, иначе на него не стоит тратиться.
У энтузиастов имеются свои рекламные способы отвечать на заданные вопросы, рисуя радужные горизонты. Но все это в будущем. А сейчас? Ответы парадоксальны:
нейрокомпьютеры
это новая техническая революци
для любой задачи, которую способен решить нейрокомпьютер, можно построить специализированную ЭВМ, которая решит ее не хуже, а подчас даже лучше.
Зачем же тогда нейрокомпьютеры? Вступая в творческую игру, мы не можем знать, чем она кончится, иначе это не Игра. Поэзия и реклама дают нам фантом, призрак результата, погоня за которым важнейшая часть игры. Столь же призрачными могут оказаться и прозаические ответы игра может далеко от них увести. Но и они необходимы иллюзия практичности столь же важна, сколь и иллюзия величия. Вот несколько вариантов прозаических ответов на вопрос «зачем?».