Компактное представление информации репликантных нейронных сетей
Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей. Определение нейронной сети и ее архитектура. Сбор данных для нейронной сети. Алгоритм обратного распространения, переобучение и обобщение.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.01.2013 |
Размер файла | 293,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
1. Нейронные сети
1.1 Параллели из биологии
1.2 Определение нейронной сети
1.3 Архитектура нейронной сети
1.4 Сбор данных для нейронной сети
2. Обучение
2.1 Алгоритм обратного распространения
2.2 Переобучение и обобщение
3. Компактное представление информации репликантных нейронных сетей
Заключение
1. Нейронные сети
математический биологический нейронный сеть
Нейромнные семти (НС) -- математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей -- сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Маккалока и Питтса. Впоследствии, после разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др.
НС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах. Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.
С точки зрения машинного обучения, нейронная сеть представляет собой частный случай методов распознавания образов, дискриминантного анализа, методов кластеризации и т. п. С математической точки зрения, обучение нейронных сетей -- это многопараметрическая задача нелинейной оптимизации. С точки зрения кибернетики, нейронная сеть используется в задачах адаптивного управления и как алгоритмы для робототехники. С точки зрения развития вычислительной техники и программирования, нейронная сеть -- способ решения проблемы эффективного параллелизма. А с точки зрения искусственного интеллекта, НС является основой философского течения коннективизма и основным направлением в структурном подходе по изучению возможности построения (моделирования) естественного интеллекта с помощью компьютерных алгоритмов.
Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения -- одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что, в случае успешного обучения, сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумленных», частично искаженных данных.
1.1 Параллели из биологии
Нейронные сети возникли из исследований в области искусственного интеллекта, а именно, из попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга (Patterson, 1996). Основной областью исследований по искусственному интеллекту в 60-е - 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не ухватывают некоторые ключевые аспекты человеческого интеллекта. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственных интеллект, необходимо построить систему с похожей архитектурой.
Мозг состоит из очень большого числа (приблизительно 10,000,000,000) нейронов, соединенных многочисленными связями (в среднем несколько тысяч связей на один нейрон, однако это число может сильно колебаться). Нейроны - это специальная клетки, способные распространять электрохимические сигналы. Нейрон имеет разветвленную структуру ввода информации (дендриты), ядро и разветвляющийся выход (аксон). Аксоны клетки соединяются с дендритами других клеток с помощью синапсов. При активации нейрон посылает электрохимический сигнал по своему аксону. Через синапсы этот сигнал достигает других нейронов, которые могут в свою очередь активироваться. Нейрон активируется тогда, когда суммарный уровень сигналов, пришедших в его ядро из дендритов, превысит определенный уровень (порог активации).
Интенсивность сигнала, получаемого нейроном (а следовательно и возможность его активации), сильно зависит от активности синапсов. Каждый синапс имеет протяженность, и специальные химические вещества передают сигнал вдоль него. Один из самых авторитетных исследователей нейросистем, Дональд Хебб, высказал постулат, что обучение заключается в первую очередь в изменениях "силы" синаптических связей. Например, в классическом опыте Павлова, каждый раз непосредственно перед кормлением собаки звонил колокольчик, и собака быстро научилась связывать звонок колокольчика с пищей. Синаптические связи между участками коры головного мозга, ответственными за слух, и слюнными железами усилились, и при возбуждении коры звуком колокольчика у собаки начиналось слюноотделение.
Таким образом, будучи построен из очень большого числа совсем простых элементов (каждый из которых берет взвешенную сумму входных сигналов и в случае, если суммарный вход превышает определенный уровень, передает дальше двоичный сигнал), мозг способен решать чрезвычайно сложные задачи. Разумеется, мы не затронули здесь многих сложных аспектов устройства мозга, однако интересно то, что искусственные нейронные сети способны достичь замечательных результатов, используя модель, которая ненамного сложнее, чем описанная выше.
Рис. 1 Нейрон
1.2 Определение нейронной сети
Нейронная сеть (НС, нейронная сеть) - это набор нейронов, соединенных между собой. Как правило, передаточные функции всех нейронов в нейронной сети фиксированы, а веса являются параметрами нейронной сети и могут изменяться. Некоторые входы нейронов помечены как внешние входы нейронной сети, а некоторые выходы - как внешние выходы нейронной сети. Подавая любые числа на входы нейронной сети, мы получаем какой-то набор чисел на выходах нейронной сети. Таким образом, работа нейронной сети состоит в преобразовании входного вектора в выходной вектор, причем это преобразование задается весами нейронной сети.
Искусственная нейронная сеть это совокупность нейронных элементов и связей между ними.
Основу каждой искусственной нейронной сети составляют относительно простые, в большнстве случаев - однотипные, элементы (ячейки), имитирующие работу нейронов мозга (далее под нейроном мы будем подразумевать искусственный нейрон, ячейку искусственной нейронной сети).
Рис. 2 - Искусственный нейрон
· Нейрон обладает группой синапсов - однонаправленных входных связей, соединенных с выходами других нейронов. Каждый синапс характеризуется величиной синоптической связи или ее весом wi.
· Каждый нейрон имеет текущее состояние, которое обычно определяется, как взвешенная сумма его входов:
· Нейрон имеет аксон - выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Выход нейрона есть функция его состояния:
y = f(s)
Функция f называется функцией активации.
Рис. 3 - Функция активации
Функция активации может иметь разный вид:
· пороговый ( рис. 3.a),
· кусочно-линейный ( рис. 3.б),
· сигмоид( рис. 3.в, 3.г ).
Множество всех нейронов искусственной нейронной сети можно разделить на подмножества - т.н. слои. Взаимодействие нейронов происходит послойно.
Слой искусственной нейронной сети - это множество нейронов на которые в каждый такт времени параллельно поступают сигналы от других нейронов данной сети
Выбор архитектуры искусственной нейронной сети определяется задачей. Для некоторых классов задач уже существуют оптимальные конфигурации. Если же задача не может быть сведена ни к одному из известных классов, разработчику приходится решать задачу синтеза новой конфигурации. Проблема синтеза искусственной нейронной сети сильно зависит от задачи, дать общие подробные рекомендации затруднительно. В большнстве случаев оптимальный вариант искусственной нейронной сети получается опытным путем.
Искусственные нейронные сети могут быть программного и аппаратного исполнения. Реализация аппаратная обычно представляет собой параллельный вычислитель, состоящий из множества простых процессоров.
1.3 Архитектура нейронной сети
НС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются узлами. По архитектуре связей НС могут быть сгруппированы в два класса (рис. 4): сети прямого распространения, в которых графы не имеют петель, и рекуррентные сети, или сети с обратными связями.
Рис. 4 - архитектуре связей НС
В наиболее распространенном семействе сетей первого класса, называемых многослойным перцептроном, нейроны расположены слоями и имеют однонаправленные связи между слоями. На рис. 4 представлены типовые сети каждого класса. Сети прямого распространения являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных значений, не зависящих от предыдущего состояния сети. Рекуррентные сети являются динамическими, так как в силу обратных связей в них модифицируются входы нейронов, что приводит к изменению состояния сети.
1.4 Сбор данных для нейронной сети
Если задача будет решаться с помощью нейронной сети, то необходимо собрать данные для обучения. Обучающий набор данных представляет собой набор наблюдений, для которых указаны значения входных и выходных переменных. Первый вопрос, который нужно решить, - какие переменные использовать и сколько (и каких) наблюдений собрать.
Выбор переменных (по крайней мере первоначальный) осуществляется интуитивно. Ваш опыт работы в данной предметной области поможет определить, какие переменные являются важными.
Нейронные сети могут работать с числовыми данными, лежащими в определенном ограниченном диапазоне. Это создает проблемы в случаях, когда данные имеют нестандартный масштаб, когда в них имеются пропущенные значения, и когда данные являются нечисловыми.
Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж , Жен }.
Пусть, например, мы хотим научить нейронную сеть оценивать стоимость объектов недвижимости. Цена дома очень сильно зависит от того, в каком районе города он расположен. Город может быть подразделен на несколько десятков районов, имеющих собственные названия, и кажется естественным ввести для обозначения района переменную с номинальными значениями. К сожалению, в этом случае обучить нейронную сеть будет очень трудно, и вместо этого лучше присвоить каждому району определенный рейтинг (основываясь на экспертных оценках).
Нечисловые данные других типов можно либо преобразовать в числовую форму, либо объявить незначащими. Значения дат и времени, если они нужны, можно преобразовать в числовые, вычитая из них начальную дату (время). Обозначения денежных сумм преобразовать совсем несложно. С произвольными текстовыми полями (например, фамилиями людей) работать нельзя и их нужно сделать незначащими.
Вопрос о том, сколько наблюдений нужно иметь для обучения сети, часто оказывается непростым. Известен ряд эвристических правил, увязывающих число необходимых наблюдений с размерами сети (простейшее из них гласит, что число наблюдений должно быть в десять раз больше числа связей в сети). На самом деле это число зависит также от (заранее неизвестной) сложности того отображения, которое нейронная сеть стремится воспроизвести. С ростом количества переменных количество требуемых наблюдений растет нелинейно, так что уже при довольно небольшом (например, пятьдесят) числе переменных может потребоваться огромное число наблюдений. Эта трудность известна как "проклятие размерности", и мы обсудим ее дальше в этой главе.
Для большнства реальных задач бывает достаточно нескольких сотен или тысяч наблюдений. Для особо сложных задач может потребоваться еще большее количество, однако очень редко может встретиться (даже тривиальная) задача, где хватило бы менее сотни наблюдений. Если данных меньше, чем здесь сказано, то на самом деле у Вас недостаточно информации для обучения сети, и лучшее, что Вы можете сделать - это попробовать подогнать к данным некоторую линейную модель.
2. Обучение
Способность к обучению является фундаментальным свойством мозга. В контексте НС процесс обучения может рассматриваться как настройка архитектуры сети и весов связей для эффективного выполнения специальной задачи. Обычно нейронная сеть должна настроить веса связей по имеющейся обучающей выборке. Функционирование сети улучшается по мере итеративной настройки весовых коэффициентов. Свойство сети обучаться на примерах делает их более привлекательными по сравнению с системами, которые следуют определенной системе правил функционирования, сформулированной экспертами.
Для конструирования процесса обучения, прежде всего, необходимо иметь модель внешней среды, в которой функционирует нейронная сеть - знать доступную для сети информацию. Эта модель определяет парадигму обучения. Во-вторых, необходимо понять, как модифицировать весовые параметры сети - какие правила обучения управляют процессом настройки. Алгоритм обучения означает процедуру, в которой используются правила обучения для настройки весов.
Существуют три парадигмы обучения: "с учителем", "без учителя" (самообучение) и смешанная. В первом случае нейронная сеть располагает правильными ответами (выходами сети) на каждый входной пример. Веса настраиваются так, чтобы сеть производила ответы как можно более близкие к известным правильным ответам. Усиленный вариант обучения с учителем предполагает, что известна только критическая оценка правильности выхода нейронной сети, но не сами правильные значения выхода. Обучение без учителя не требует знания правильных ответов на каждый пример обучающей выборки. В этом случае раскрывается внутренняя структура данных или Корреляции между образцами в системе данных, что позволяет распределить образцы по категориям. При смешанном обучении часть весов определяется посредством обучения с учителем, в то время как остальная получается с помощью самообучения.
Теория обучения рассматривает три фундаментальных свойства, связанных с обучением по примерам: емкость, сложность образцов и вычислительная сложность. Под емкостью понимается, сколько образцов может запомнить сеть, и какие функции и границы принятия решений могут быть на ней сформированы. Сложность образцов определяет число обучающих примеров, необходимых для достижения способности сети к обобщению. Слишком малое число примеров может вызвать "переобученность" сети, когда она хорошо функционирует на примерах обучающей выборки, но плохо - на тестовых примерах, подчиненных тому же статистическому распределению. Известны 4 основных типа правил обучения: коррекция по ошибке, машина Больцмана, правило Хебба и обучение методом соревнования.
· Правило коррекции по ошибке. При обучении с учителем для каждого входного примера задан желаемый выход d. Реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании сигнала (d-y) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда перцептрон ошибается. Известны различные модификации этого алгоритма обучения.
· Обучение Больцмана. Представляет собой стохастическое правило обучения, которое следует из информационных теоретических и термодинамических принципов. Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой состояния видимых нейронов удовлетворяют желаемому распределению вероятностей. Обучение Больцмана может рассматриваться как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение Корреляций состояний в двух режимах .
· Правило Хебба. Самым старым обучающим правилом является постулат обучения Хебба. Хебб опирался на следующие нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса зависит только от активности нейронов, которые связаны данным синапсом. Это существенно упрощает цепи обучения в реализации VLSI.
· Обучение методом соревнования. В отличие от обучения Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило "победитель берет все". Подобное обучение имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с корреляциями и представляются одним элементом.
При обучении модифицируются только веса "победившего" нейрона. Эффект этого правила достигается за счет такого изменения сохраненного в сети образца (вектора весов связей победившего нейрона), при котором он становится чуть ближе ко входному примеру. На рис. 3 дана геометрическая иллюстрация обучения методом соревнования. Входные векторы нормализованы и представлены точками на поверхности сферы. Векторы весов для трех нейронов инициализированы случайными значениями. Их начальные и конечные значения после обучения отмечены Х на рис. 3а и 3б соответственно. Каждая из трех групп примеров обнаружена одним из выходных нейронов, чей весовой вектор настроился на центр тяжести обнаруженной группы.
Рис. 5 Пример обучения методом соревнования: (а) перед обучением; (б) после обучения
Можно заметить, что сеть никогда не перестанет обучаться, если параметр скорости обучения не равен 0. Некоторый входной образец может активизировать другой выходной нейрон на последующих итерациях в процессе обучения. Это ставит вопрос об устойчивости обучающей системы. Система считается устойчивой, если ни один из примеров обучающей выборки не изменяет своей принадлежности к категории после конечного числа итераций обучающего процесса. Один из способов достижения стабильности состоит в постепенном уменьшении до 0 параметра скорости обучения. Однако это искусственное торможение обучения вызывает другую проблему, называемую пластичностью и связанную со способностью к адаптации к новым данным. Эти особенности обучения методом соревнования известны под названием дилеммы стабильности-пластичности.
В Таблице 1 представлены различные алгоритмы обучения и связанные с ними архитектуры сетей (список не является исчерпывающим). В последней колонке перечислены задачи, для которых может быть применен каждый алгоритм. Каждый алгоритм обучения ориентирован на сеть определенной архитектуры и предназначен для ограниченного класса задач. Кроме рассмотренных, следует упомянуть некоторые другие алгоритмы: Adaline и Madaline, линейный дискриминантный анализ, проекции Саммона, анализ главных компонентов.
Таблица 1 - Алгоритмы обучения и связанные с ними архитектуры сетей
2.1 Алгоритм обратного распространения
Самый известный вариант алгоритма обучения нейронной сети - так называемый алгоритм обратного распространения (back propagation). Существуют современные алгоритмы второго порядка, такие как метод сопряженных градиентов и метод Левенберга-Маркара, которые на многих задачах работают существенно быстрее (иногда на порядок). Алгоритм обратного распространения наиболее прост для понимания, а в некоторых случаях он имеет определенные преимущества. Сейчас мы опишем его, а более продвинутые алгоритмы рассмотрим позже. Разработаны также эвристические модификации этого алгоритма, хорошо работающие для определенных классов задач, - быстрое распространение (Fahlman, 1988) и Дельта-дельта с чертой (Jacobs, 1988).
В алгоритме обратного распространения вычисляется вектор градиента поверхности ошибок. Этот вектор указывает направление кратчайшего спуска по поверхности из данной точки, поэтому если мы "немного" продвинемся по нему, ошибка уменьшится. Последовательность таких шагов (замедляющаяся по мере приближения к дну) в конце концов приведет к минимуму того или иного типа. Определенную трудность здесь представляет вопрос о том, какую нужно брать длину шагов.
При большой длине шага сходимость будет более быстрой, но имеется опасность перепрыгнуть через решение или (если поверхность ошибок имеет особо вычурную форму) уйти в неправильном направлении. Классическим примером такого явления при обучении нейронной сети является ситуация, когда алгоритм очень медленно продвигается по узкому оврагу с крутыми склонами, прыгая с одной его стороны на другую. Напротив, при маленьком шаге, вероятно, будет схвачено верное направление, однако при этом потребуется очень много итераций. На практике величина шага берется пропорциональной крутизне склона (так что алгоритм замедляет ход вблизи минимума) с некоторой константой, которая называется скоростью обучения. Правильный выбор скорости обучения зависит от конкретной задачи и обычно осуществляется опытным путем; эта константа может также зависеть от времени, уменьшаясь по мере продвижения алгоритма.
Обычно этот алгоритм видоизменяется таким образом, чтобы включать слагаемое импульса (или инерции). Этот член способствует продвижению в фиксированном направлении, поэтому если было сделано несколько шагов в одном и том же направлении, то алгоритм "увеличивает скорость", что (иногда) позволяет избежать локального минимума, а также быстрее проходить плоские участки.
Таким образом, алгоритм действует итеративно, и его шаги принято называть эпохами. На каждой эпохе на вход сети поочередно подаются все обучающие наблюдения, выходные значения сети сравниваются с целевыми значениями и вычисляется ошибка. Значение ошибки, а также градиента поверхности ошибок используется для корректировки весов, после чего все действия повторяются. Начальная конфигурация сети выбирается случайным образом, и процесс обучения прекращается либо когда пройдено определенное количество эпох, либо когда ошибка достигнет некоторого определенного уровня малости, либо когда ошибка перестанет уменьшаться (пользователь может сам выбрать нужное условие остановки).
2.2 Переобучение и обобщение
Одна из наиболее серьезных трудностей изложенного подхода заключается в том, что таким образом мы минимизируем не ту ошибку, которую на самом деле нужно минимизировать, - ошибку, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Иначе говоря, мы хотели бы, чтобы нейронная сеть обладала способностью обобщать результат на новые наблюдения. В действительности сеть обучается минимизировать ошибку на обучающем множестве, и в отсутствие идеального и бесконечно большого обучающего множества это совсем не то же самое, что минимизировать "настоящую" ошибку на поверхности ошибок в заранее неизвестной модели явления (Bishop, 1995).
Сильнее всего это различие проявляется в проблеме переобучения, или слишком близкой подгонки. Это явление проще будет продемонстрировать не для нейронной сети, а на примере аппроксимации посредством полиномов, - при этом суть явления абсолютно та же.
Полином (или многочлен) - это выражение, содержащее только константы и целые степени независимой переменной. Вот примеры:
y=2x+3
y=3x2+4x+1
Графики полиномов могут иметь различную форму, причем чем выше степень многочлена (и, тем самым, чем больше членов в него входит), тем более сложной может быть эта форма. Если у нас есть некоторые данные, мы можем поставить цель подогнать к ним полиномиальную кривую (модель) и получить таким образом объяснение для имеющейся зависимости. Наши данные могут быть зашумлены, поэтому нельзя считать, что самая лучшая модель задается кривой, которая в точности проходит через все имеющиеся точки. Полином низкого порядка может быть недостаточно гибким средством для аппроксимации данных, в то время как полином высокого порядка может оказаться чересчур гибким, и будет точно следовать данным, принимая при этом замысловатую форму, не имеющую никакого отношения к форме настоящей зависимости (см. рис.).
Рис 6 - График полинома
Нейронная сеть сталкивается с точно такой же трудностью. Сети с большим числом весов моделируют более сложные функции и, следовательно, склонны к переобучению. Сеть же с небольшим числом весов может оказаться недостаточно гибкой, чтобы смоделировать имеющуюся зависимость. Например, сеть без промежуточных слоев на самом деле моделирует обычную линейную функцию.
Как же выбрать "правильную" степень сложности для сети? Почти всегда более сложная сеть дает меньшую ошибку, но это может свидетельствовать не о хорошем качестве модели, а о переобучении.
Ответ состоит в том, чтобы использовать механизм контрольной кросс проверки. Мы резервируем часть обучающих наблюдений и не используем их в обучении по алгоритму обратного распространения. Вместо этого, по мере работы алгоритма, они используются для независимого контроля результата. В самом начале работы ошибка сети на обучающем и контрольном множестве будет одинаковой (если они существенно отличаются, то, вероятно, разбиение всех наблюдений на два множества было неоднородно). По мере того, как сеть обучается, ошибка обучения, естественно, убывает, и, пока обучение уменьшает действительную функцию ошибок, ошибка на контрольном множестве также будет убывать. Если же контрольная ошибка перестала убывать или даже стала расти, это указывает на то, что сеть начала слишком близко аппроксимировать данные и обучение следует остановить. Это явление чересчур точной аппроксимации в процессе обучения и называется переобучением. Если такое случилось, то обычно советуют уменьшить число скрытых элементов и/или слоев, ибо сеть является слишком мощной для данной задачи. Если же сеть, наоборот, была взята недостаточно богатой для того, чтобы моделировать имеющуюся зависимость, то переобучения, скорее всего, не произойдет, и обе ошибки - обучения и проверки - не достигнут достаточного уровня малости.
Описанные проблемы с локальными минимумами и выбором размера сети приводят к тому, что при практической работе с нейронными сетями, как правило, приходится экспериментировать с большим числом различных сетей, порой обучая каждую из них по нескольку раз (чтобы не быть введенным в заблуждение локальными минимумами) и сравнивая полученные результаты. Главным показателем качества результата является здесь контрольная ошибка. При этом, в соответствии с общенаучным принципом, согласно которому при прочих равных следует предпочесть более простую модель, из двух сетей с приблизительно равными ошибками контроля имеет смысл выбрать ту, которая меньше.
Необходимость многократных экспериментов ведет к тому, что контрольное множество начинает играть ключевую роль в выборе модели, то есть становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели - при большом числе экспериментов есть риск выбрать "удачную" сеть, дающую хороший результат на контрольном множестве. Для того, чтобы придать окончательной модели должную надежность, часто (по крайней мере, когда объем обучающих данных это позволяет) поступают так: резервируют еще одно - тестовое множество наблюдений. Итоговая модель тестируется на данных из этого множества, чтобы убедиться, что результаты, достигнутые на обучающем и контрольном множествах реальны, а не являются артефактами процесса обучения. Разумеется, для того чтобы хорошо играть свою роль, тестовое множество должно быть использовано только один раз: если его использовать повторно для корректировки процесса обучения, то оно фактически превратится в контрольное множество.
3. Компактное представление информации репликантных нейронных сетей
В процессе анализа или обработки удобно предположить, что анализируемые данные являются векторами многомерного, например, евклидова пространства, где они располагаются в соответствии с некоторой функцией распределения. В случае же, если многомерные данные не порождаются непосредственно пространственно-временной природой информации, то это также не мешает использовать такую модель для их представления. Примерами могут служить результаты измерений, полученные в ходе физических, биологических и других экспериментов, результаты медицинской диагностики, телеметрическая информация. При этом размерность пространства признаков (координат) п может достигать десятков тысяч.
Естественные координаты. Опыт показывает, что объекты, как правило, не заполняют все л-мерное пространство, а располагаются на некоторой поверхности, имеющей невысокую размерность (десятки, сотни) Это означает, что существуют обобщенные (естественные) признаки, образованные из комбинаций исходных признаков и наиболее точно характеризующие исходные объекты.
Доказана единственность системы естественных координат, а также известно, что эти координаты обладают рядом важных свойств, например, признаки объектов в естественных координатах являются попарно независимыми. Что делает естественные координаты весьма удобными для широкого класса вероятностных распределений.
Рассмотрим некий генератор данных в л-мерном пространстве. Предположим, что генерируемые им данные заполняют не все пространство, а лишь некоторое многообразие размерности т, где т « п. Многообразие, на котором расположены данные, можно представлять как сложную поверхность, которая в окрестности каждой своей точки похожа на поверхность m-мерной сферы. Утверждается, что на многообразии существует такая функция распределения, которая сколь угодно близка к исходной функции распределения генератора в смысле средних значений. Это позволяет вместо исходных данных, представляемых большим числом признаков, рассматривать генератор данных в пространстве существенного меньшего числа измерений.
Естественные координаты вводятся следующим образом. Рассмотрим взаимно-однозначное непрерывное отображение т- мерного многообразия в m-мерный единичный куб. Это означает, что каждый вектор X, лежащий на m-мерном многообразии, представляется вектором с т координатами, причем каждая координата является числом, равномерно распределенным между нулем и единицей.
Естественные координаты зависят только от внутренней, заранее определенной, вероятностной структуры многообразия данных: равные объемы внутри единичного куба соответствуют множествам с равной вероятностью на многообразии данных, хотя их геометрические размеры могут значительно различаться. Естественные координаты могут отражать сложную вероятностную структуру многообразия данных.
Естественные координаты -- это единственная координатная система из независимых компонент, которая обеспечивает оптимальное кодирование информации, с учетом вероятностной структуры генератора данных.
Репликативные нейронные сети. Для нахождения естественных координат можно использовать репликативные (копирующие) нейронные сети. Репликативная нейронная сеть представляет собой многослойный персептрон с тремя скрытыми слоями, число нейронов входного и выходного слоев которого одинаково. Первый и третий скрытые слои состоят из нейронов с сигмоидной активационной функцией. Размеры этих слоев подбираются в процессе обучения сети. Интересно отметить, что репликативные нейронные сети дают компактное и эффективное представление произвольных наборов векторов, имеющих сложное вероятностное распределение в пространстве, за счет того, что средний скрытый слой имеет меньше нейронов, чем входной и выходной слои.
Для вектора длины п, подаваемого на входной слой, строится его отображение f в единичный куб. Для обученной сети это отображение реализует представление исходного вектора в системе естественных координат и, которое воспроизводится в среднем скрытом слое. Дальнейшее прохождение информации от среднего скрытого слоя до выходного слоя дает отображение g (обратное f) из единичного куба в исходное л-мерное пространство с заданной функцией распределения F(x).
Средний скрытый слой состоит из т нейронов, где т -- предполагаемое число естественных координат. Передаточная функция нейронов среднего скрытого слоя имеет вид наклонной или ступенчатой функции.
Цель обучения репликативной нейронной сети состоит в том, чтобы вектор, воспроизводимый выходным слоем сети, совпадал с вектором, поданным на входной слой. Передаточная функция нейронов выходного слоя выбирается линейной. Обучение проводится на обучающей выборке, полученной с помощью генератора данных с функцией распределения F(x). Утверждается, что обученная репликативная нейронная сеть строит в среднем скрытом слое представление исходных векторов в естественных координатах. Таким образом, входной вектор длины л передается на средний слой и там представляется естественными координатами в т- мерном единичном кубе (т « п). Дальнейшая передача информации по сети от среднего скрытого слоя к выходному дает обратное отображение: вектор в естественных координатах переходит в п- мерный вектор, расположенный близко к входному.
Один из подходов к обучению репликативной нейронной сети основан на том, что известно, каким должен быть выходной сигнал у нейронов среднего скрытого слоя -- это должны быть естественные координаты.
Таким образом, можно использовать такой метод обучения, благодаря которому нейроны среднего скрытого слоя более активно производят выходные сигналы, равномерно и плотно заполняющие внутреннюю часть т- мерного единичного куба, а также обладают свойствами естественных координат.
Удаление шума. Репликативная сеть способна удалять аддитивный шум, присутствующий в исходных данных. Предположим, что вектор данных состоит из двух слагаемых: информационной части вектора и шумового случайного компонента, выбираемого в каждой точке многообразия данных в соответствии с условной плотностью распределения.
Утверждается, что репликативная нейронная сеть приводит шумовой компонент к среднему значению, и результат, получаемый на выходе сети, является суммой информативной части вектора (входного вектора) и среднего значения шума в данной точке многообразия. Если среднее значение равно нулю, то выходной слой воспроизводит входной вектор, удаляя случайный шум.
Определение размерности. До сих пор полагалось, что размерность т заранее известна. Однако такое бывает достаточно редко. Тем не менее эту размерность можно оценить. Рассмотрим большое количество данных, произведенных генератором, и упорядочим их по возрастанию евклидова расстояния до некоторой фиксированной точки из этого же набора. Такое упорядочение данных позволяет оценить размерность многообразия вблизи фиксированной точки.
Возьмем первые к векторов из упорядоченного набора, рассмотрим гауссовый ковариационный эллипсоид и определим количество не слишком коротких его осей. Эту величину назовем локальной размерностью и нарисуем график ее зависимости от числа к. Обычно этот график линейно возрастает при увеличении к, но при некотором его значении наклон графика резко уменьшается, образуя «колено». Соответствующую величину к будем рассматривать как аппроксимацию размерности в окрестности выбранной точки. Повторяя описанную процедуру определения локальной размерности для других точек, находим оценку размерности многообразия данных т, как наибольшее из значений локальной размерности. Найденное значение т используется в качестве размерности системы естественных координат. Если оно меньше, чем реальная размерность многообразия данных, то полученные естественные координаты будут образовывать решетку, заполняющую все пространство. С другой стороны, если значение т больше, чем реальная размерность, то координатные объемы в естественной системе координат будут «сплюснуты» в такие множества, у которых, по крайней мере, один характерный размер много меньше других. Таким образом, чтобы определить правильное значение размерности, нужно найти компромисс между полнотой заполнения пространства (когда величина размерности выбирается слишком малой) и сильной деформацией координатной решетки в естественных координатах (когда величина размерности выбрана слишком большой).
Знание размерности многообразия данных и выбор правильного значения т может помочь избежать неэффективного использования системы естественных координат. Аналогичное замечание справедливо и для «испорченных» шумом векторов для выбора нужного число нейронов в среднем скрытом слое, после чего сеть может быть натренирована для очистки шума.
Использование репликативных нейронных сетей. Решающим фактором в вопросе практического применения репликативных сетей является то, что большинство генераторов данных сильно структурированы и могут быть смоделированы посредством многообразия данных с относительно малой размерностью т. Такой подход заметно упрощает решение многих задач распознавания образов, управления, сжатия информации, поскольку вместо исходных векторов с большим числом признаков, могут использоваться естественные координаты с малым числом компонентов.
Заключение
На сегодняшний день многослойная нейронная сеть - одна из самых популярных и используемых нейросетей. Причин успеха немало. Одно из главных преимуществ многослойного персептрона, это возможность решать алгоритмически неразрешимые задачи или задачи, для которых алгоритмическое решение неизвестно, но для которых возможно составить репрезентативный набор примеров с известными решениями. Многослойный персептрон функционирует очень похоже на человека. При обучение нейросеть, за счёт своего внутреннего строения, выявляет закономерности в связи входных и выходных образов, тем самым как бы "обобщает" полученный на обучающей выборке опыт. В этой способности к обобщению и состоит основа привлекательности многослойного персептрона. Мы сами можем и не знать какова зависимость между входными и выходными образами, достаточно иметь большой набор векторов для которых известен ожидаемый выход. Поэтому в своей курсовой работе я использовал именно эту сеть.
Размещено на Allbest.ru
...Подобные документы
Понятие и применение нейронных сетей, особенности классификации искусственных нейронных сетей по Терехову. Решение задачи классификации римских цифр на основе нейронной сети. Составление блок-схемы алгоритма обучения нейронной сети и анализ ее качества.
дипломная работа [603,9 K], добавлен 14.10.2010Определение и виды искусственных нейронных сетей. Функция активации. Биологический нейрон. Персептрон как инструмент для классификации образов. Классификация объектов с помощью нейронной сети. Нормализация входных сигналов. Алгоритм работы в MatlabR2009b.
курсовая работа [349,7 K], добавлен 17.03.2016Знакомство с задачей отслеживания нестационарного гармонического сигнала на основе нейронной сети. Анализ компьютерной модели нейронной сети на основе математических алгоритмов Мак-Каллока и Питтса. Характеристика способов создания линейной сети.
контрольная работа [418,2 K], добавлен 17.05.2013Рассмотрение принципов организации Deep Packet Inspection в телекоммуникации. Проведение исследований нейронных сетей. Выбор оптимальной модели для решения задач классификации мультимедийного трафика. Изучение вопросов безопасности жизнедеятельности.
дипломная работа [1,0 M], добавлен 22.06.2015Сравнительный анализ между классическими и квантовыми нейронами. Построение квантовой нейронной сети. Однослойный и многослойный персептроны. Алгоритм обратного распространения "Back Propagation". Робототехника как направление искусственного интеллекта.
магистерская работа [1,7 M], добавлен 26.12.2012Разработка нейронной сети, выполняющей задачу распознавания и обучения. Использование пакета Simulink программы Matlab. Проектирование архитектуры нейронной сети, удовлетворяющей поставленной задаче. Создание модели импульсного двухпорогового нейрона.
дипломная работа [2,7 M], добавлен 14.10.2010Wi-Fi - современная беспроводная технология передачи цифровых данных по радиоканалам. Телекоммуникационная сеть на основе технологии Wi-Fi. Выбор смежного узла для передачи информации по адресу. Пример логической нейронной сети, размещённой на узле.
доклад [25,3 K], добавлен 09.11.2010Расчет сетей с минимальной протяженностью ветвей. Модель структуры сети соединении станций по принципу "каждая с каждой". Определение числа каналов между пунктами сети. Распределение каналов по ветвям сети, обеспечивающее минимальную протяженность связей.
курсовая работа [507,5 K], добавлен 19.12.2013Характеристика и методы организации локальных сетей, структура связей и процедуры. Описание физической и логической типологии сети. Техническая реализация коммутаторов, ее значение в работе сети. Алгоритм "прозрачного" моста. Способы передачи сообщений.
реферат [217,5 K], добавлен 22.03.2010Элементарная схема транспортной сети, ее архитектура. Мультиплексор как основной функциональный модуль сети SDH, многообразие его функций. Аппаратная реализация функциональных блоков оборудования сетей SDH. Электрический расчет линейного тракта.
дипломная работа [5,8 M], добавлен 20.04.2011Основные преимущества, получаемые при сетевом объединении персональных компьютеров в виде внутрипроизводственной вычислительной сети. Методы оценки эффективности локальных вычислительных сетей. Типы построения сетей по методам передачи информации.
реферат [34,8 K], добавлен 19.10.2014Архитектура вычислительных сетей, их классификация, топология и принципы построения. Передача данных в сети, коллизии и способы их разрешения. Протоколы TCP-IP. OSI, DNS, NetBios. Аппаратное обеспечение для передачи данных. Система доменных имён DNS.
реферат [1,1 M], добавлен 03.11.2010Процесс построения мультисервисных сетей связи, его этапы. Анализ технологий сетей передачи данных, их достоинства и недостатки. Проектирование мультисервисной сети связи с использованием телекоммуникационного оборудования разных производителей.
курсовая работа [1,8 M], добавлен 23.12.2012Характеристика современного состояния цифровых широкополосных сетей передачи данных, особенности их применения для передачи телеметрической информации от специальных объектов. Принципы построения и расчета сетей с использованием технологий Wi-Fi и WiMax.
дипломная работа [915,0 K], добавлен 01.06.2010Классификация телекоммуникационных сетей. Схемы каналов на основе телефонной сети. Разновидности некоммутируемых сетей. Появление глобальных сетей. Проблемы распределенного предприятия. Роль и типы глобальных сетей. Вариант объединения локальных сетей.
презентация [240,1 K], добавлен 20.10.2014Предназначение коммутатора, его задачи, функции, технические характеристики. Достоинства и недостатки в сравнении с маршрутизатором. Основы технологии организации кабельных систем сети и архитектура локальных вычислительных сетей. Эталонная модель OSI.
отчет по практике [1,7 M], добавлен 14.06.2010Базовые типы и масштабы сетевых операционных систем. Программные и аппаратные средства вычислительной сети. Характеристика коаксиального кабеля, преимущества "витой пары", методы их подключения. Топология и архитектура сети; обеспечение совместной работы.
презентация [1,2 M], добавлен 31.01.2014Принципы построения сельских сетей связи. Характеристика Пружанского района. Автоматизация процессов управления на проектируемой сети связи, базы данных сельских сетей связи. Экономический расчет эффективности сети, определение эксплуатационных затрат.
курсовая работа [1,6 M], добавлен 06.01.2014Изучение локальных сетей. Особенности различных типов топологий локальных сетей: шина, звезда, кольцо. Эталонная модель OSI. Сущность структурного подхода к созданию структурированных информационных систем. Передача информации в сети. Адресация пакетов.
реферат [1,7 M], добавлен 17.12.2010Передача информации между компьютерами. Протокол передaчи. Виды сетей. Назначение локальной сети. Прямое соединение. Топология локальной сети. Локальные сети в организациях. Сетевая операциооная система.
реферат [125,7 K], добавлен 17.09.2007