Искусственные нейронные сети на примере программы Neural Network Wizard 1.7
История развития нейросетей, характеристика их главных задач. Особенности архитектуры и параметры обучения. Краткое описание программы Neural Network Wizard. Изучение принципов работы программного эмулятора нейрокомпьютера. Сбор статистики по процессу.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 14.10.2013 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Российский государственный социальный университет
Реферат на тему:
Дисциплина «Нейросети и нейрокомпьютеры»
«Искусственные нейронные сети на примере программы Neural Network Wizard 1.7»
Выполнила: студентка 6 курса
заочной формы обучения
Ершова О.Г.
Проверил:
Д.т.н., профессор Сизов В.А.
Москва 2013
Введение
Человеческий мозг содержит триллионы особых клеток, называемых нейронами. Все они связаны друг с другом сотнями триллионов нервных нитей, называемых синапсами. Получившаяся таким образом огромная сеть нейронов отвечает за все те явления, которые мы привыкли называть мыслями и эмоциями, а также за все многообразие сенсомоторных функций. До сих пор нет четкого ответа на вопрос, каким образом биологическая нейросеть осуществляет управление всеми этими процессами, хотя уже исследовано достаточно много аспектов ее работы. Из-за технической невозможности создания биологических нейронных сетей, в настоящее время создаются их неодушевленные аналоги - искусственные нейронные сети. Актуальность исследований в этом направлении подтверждается массой различных применений нейронных сетей. Это автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование, создание экспертных систем, организация ассоциативной памяти и многие другие приложения. С помощью нейронных сетей можно, например, предсказывать показатели биржевого рынка, выполнять распознавание оптических или звуковых сигналов, создавать самообучающиеся системы, способные управлять автомашиной при парковке или синтезировать речь по тексту.
По своей организации и функциональному назначению искусственная нейронная сеть с несколькими входами и выходами выполняет некоторое преобразование входных стимулов - сенсорной информации о внешнем мире - в выходные управляющие сигналы.
Возвращаясь к общим чертам, присущим всем нейронным сетям следует отметить принцип параллельной обработки сигналов, который достигается путем объединения большого числа нейронов в так называемые слои и соединения определенным образом нейронов различных слоев, а также, в некоторых конфигурациях, и нейронов одного слоя между собой, причем обработка взаимодействия всех нейронов ведется послойно.
Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированной микросхемы, на которых обычно реализуется НС. Чем сложнее нейронная сеть, тем масштабнее решаемые ей задачи.
1. История развития нейросетей
Идея обработки информации по образу устройства нервной системы (головного мозга) возникла более 50 лет назад. В 1943 году американские ученые Маккалох и Питтс сформулировали основные положения теории деятельности головного мозга и разработали математическую модель нейрона. Согласно их теории, мозг рассматривался как совокупность простых элементов - нейронов, связанных единой структурой. В 1958 г. Розенблатт реализовал эти принципы в электронном устройстве "Марк-1", способном распознавать печатные буквы и обучаться на примерах. Этой работой заинтересовались военные, что дало мощный импульс развитию нейронных сетей. Однако вскоре было замечено, что существующие алгоритмы обучения несут с собой ряд существенных ограничений и не позволяют достаточно точно решать многие практические задачи (например, задача исключающего ИЛИ). В 1969 г. было доказано, что такие ограничения возможностей нейронных сетей непреодолимы. Это привело к потере интереса к исследованию в области нейронных сетей почти на 20 лет.
И лишь в начале 80-х годов, благодаря работам Хопфилда и Хехт-Нил-сена, интерес к нейронным сетям возобновился, и наработки в этой области стали внедряться в практику. В середине 80-х годов был найден универсальный алгоритм обучения нейросетей, который известен как метод обратного распространения (в зарубежной литературе обозначается Back Propagation of Error или, сокращенно, backprop). Первым, кто сформулировал основные принципы этого алгоритма, были американские математики Румельхарт, Хинтон и Вильямс (1986).
Основная идея этого алгоритма состоит в том, что выход последнего слоя нейронов сравнивается с образцом обучения, и из разницы между желаемым и действительным делается вывод о том, каковы должны быть связи нейронов последнего слоя с предыдущим. Затем подобная операция производится с нейронами предпоследнего слоя. В итоге по нейро-сети от выхода к входу бежит волна изменения весов связей. Именно за это метод и был назван обратным распространением.
Настройка нейронной сети состоит в обучении, т.е. в подаче на её вход образцов того ряда значений, который породила изучаемая система. После знакомства с серией таких образцов внутренние параметры ней-росети изменяются таким образом, что её выходные данные начинают походить на выход самой изучаемой системы. Так как нейросеть может иметь сколь угодно сложную внутреннюю организацию, в результате обучения из неё может получиться "черный ящик", сколь угодно похожий на реальность. Проблема на этом пути состоит в следующем: чтобы быть вполне уверенным в завершении обучения нейросети, надо провести через нее количество образцов, раз в 10-15 превышающее число нейронов.
В результате обучения получается система, которая может построить приближение для широкого класса функциональных зависимостей между входом и выходом. Проблема состоит лишь в том, как её наилучшим образом приспособить к данной задаче и как правильно воспользоваться результатами.
нейросеть программа эмулятор
2. Что умеет нейросеть
Любая работа с нейросетью начинается с определения задач, которые она должна решать, т.е. с определения функций выходов. В общем случае сеть может решать как задачи классификации (дискретные выходы), так и задачи предсказания (непрерывные выходы). Из всего множества решаемых нейросетями задач для трейдинга наиболее важными являются:
- классификационный прогноз направления;
- прогноз цены;
- выработка торговых сигналов;
- прогнозирование индикаторов;
- определение уровней стопов;
- определение «похожих» дней;
- определение кризисных и аномальных точек;
- предсказание наступления кризиса;
- прогноз развития кризисной ситуации.
Последние четыре задачи особенно эффективно решаются с использование специальной парадигмы нейронной сети - самоорганизующихся карт Кохонена. Особенности работы с такими картами будут изложены в следующих статьях цикла. Конечной целью любого вида анализа, в том числе и нейронных технологий, является выработка торговых сигналов. Настройка ней-росети для генерации торговых сигналов - задача сложная и требующая углубленного понимания рынка и нейросетей.
3. Архитектура нейросети и параметры обучения
Выбор оптимальной архитектуры сети в настоящее время не имеет математического решения и производится на основе опыта и знаний. Здесь можно сказать только, что сеть должна иметь разумные размеры, а именно:
- максимальное число нейронов 30-40;
- максимальное число скрытых слоев 3-4;
- объем входных данных должен превышать в несколько раз количество нейронов.
Обычно начинающий пользователь считает, что большее число нейронов обеспечивает более качественное прогнозирование, и это является типичной ошибкой. Большой размер нейросети приводит к затруднению обучения (для сети с 50 входами и 20 нейронами это задача оптимизации в 1000-мерном пространстве) и попаданию сети в локальные, а не в глобальные минимумы функции ошибки. Также уменьшаются обобщающие свойства сети, сеть начинает просто запоминать обучающую выборку. Такая сеть будет отлично «прогнозировать» на обучающей выборке, но на новых данных прогноз будет плохим. Чтобы избежать эффекта запоминания, объем данных должен быть достаточно большим. Например, для прогнозирования российских акций на день вперед минимальный рекомендуемый размер выборки - около 200-250 дней.
4. Краткое описание программы Neural Network Wizard 1.7
Программа Neural Network Wizard предназначена для проведения исследований с целью выбора оптимальной конфигурации нейронной сети, позволяющей наилучшим образом решить поставленную задачу. Результатом работы системы является файл, который хранит в себе все параметры полученной нейронной сети. Далее, на основе этого файла, можно разрабатывать систему, предназначенную для решения конкретных задач. Для этого был разработан модуль, позволяющий работать с этим файлом. В данный модуль включено несколько классов, предназначенных для создания нейросети, загрузки ее параметров из файла, созданного программой Neural Network Wizard, и использования полученной нейросистемы. В этот комплект входит файл WizardNN.dcu, который и содержит в себе классы для работы с нейросетями.
Свойства:
InputValues[inputName:string]:double - значения входов нейросети;
OutputValues[inputName:string]:double - значения выходов нейросети;
InputsList : TstringList - список названий входов нейросети;
OutputsList : TStringList - список названий выходов нейросети.
Методы:
Create - конструктор класса;
LoadFromWizardFile(FileName:string) - чтение параметров нейросети из файла Neural Network Wizard;
Compute - расчет с использованием нейросети.
5. Изучение принципов работы программного эмулятора нейрокомпьютера Neural Network Wizard 1.7
Neural Network Wizard 1.7 - программный эмулятор нейрокомпьютера. В Neural Network Wizard реализована многослойная нейронная сеть, обучаемая по алгоритму обратного распространения ошибки. Программа может применяться для анализа информации, построения модели процессов и прогнозирования. Для работы с системой необходимо проделать следующие операции:
осуществить сбор статистики по процессу;
выполнить обучение нейросети на приведенных данных;
произвести проверку полученных результатов.
6. Сбор статистики по процессу
Данные для обучения нейронной сети должны быть предоставлены в текстовом файле с разделителями (Tab или пробел). Количество примеров должно быть достаточно большим. При этом необходимо обеспечить, чтобы выборка была репрезентативной. Кроме того, нужно обеспечить, чтобы данные были не противоречивы. Вся информация должна быть представлена в числовом виде. Причем, это касается всех данных. Если информация представляется в текстовом виде, то необходимо использовать какой-либо метод, переводящий текстовую информацию в числа.
7. Описание процесса обучения нейросети на приведенных данных
При обучении нейросети нужно учитывать несколько факторов.
1. Если вы будете подавать на вход противоречивые данные, то нейросеть может вообще никогда ничему не научиться. Она будет не в состоянии понять, почему в одном случае 2+2=4, а во втором 2+2=5. Необходимо избавиться от противоречивых данных в обучающей и тестовой выборке.
2. Количество связей между нейронами должно быть меньше примеров в обучающей выборке, иначе нейросеть не обучится, а «запомнит» все приведенные примеры.
3. Если слишком долго обучать нейросеть, то она может «переобучиться». Необходимо определять момент, когда процесс будет считаться завершенным.
8. Проверка полученных результатов
В результате обучения нейросеть самостоятельно подберет такие значения коэффициентов и построит такую модель, которая наиболее точно описывает исследуемый процесс.
9. Процесс обучения нейронной сети
Выбор файла с обучающей выборкой.
Информация, содержащаяся в этом файле, используется для обучения нейросети.
Рис. 1 Список доступных полей
10. Нормализация полей
Нейронная сеть состоит их входного, выходного и скрытых слоев. Количество нейронов в первом и последнем слое зависит от того, сколько полей вы определите как входные и выходные. Поля, отмеченные пометкой «не использовать», в обучении и тестировании нейросети применяться не будут.
«Нормализовать поле как…». На вход нейросети должна подаваться информация в нормализованном виде, т.е. в виде чисел в диапазоне от 0 до 1. Вы можете выбрать метод нормализации:
(X-MIN)/(MAX-MIN) - линейная нормализация;
1/(1+exp(ax)) - экспоненциальная нормализация;
авто - нормализация, основанная на статистических характеристиках выборки; без нормализации - нормализация не производится.
Рис. 2 Список доступных полей
11. Определение конфигурации нейронной сети
«Число слоев нейросети…». Нейронная сеть состоит из слоев - входного, выходного и скрытых. Необходимо указать количество скрытых слоев. Общего правила, определяющего, сколько должно быть таких слоев, нет, обычно задается 1-3 скрытых слоя. Можно говорить, что чем более нелинейная задача, тем больше скрытых слоев должно быть.
«Слои, Число нейронов…». В Neural Network Wizard все элементы предыдущего слоя связаны со всеми элементами последующего. Количество нейронов в первом и последнем слое зависит от того, сколько полей вы указали как входные и выходные. Количество нейронов в каждом скрытом слое необходимо задать. Общих правил определения количества нейронов нет, но необходимо, чтобы число связей между нейронами было меньше количества примеров в обучающей выборке. Иначе нейросеть потеряет способность к обобщению и просто «запомнит» все примеры из обучающей выборки. Тогда при тестировании на примерах, присутствующих в обучающей выборке, она будет демонстрировать прекрасные результаты, а на реальных данных - очень плохие.
«Параметр сигмоиды…». Сигмоида применяется для обеспечения нелинейного преобразования данных. В противном случае, нейросеть сможет выделить только линейно разделимые множества. Чем выше параметр, тем больше переходная функция походит на пороговую. Параметр сигмоиды подбирается, фактически, эмпирически. Выбор параметра сигмоиды поясняется рисунком 3.
Рис. 3 Выбор параметра сигмоиды
12. Определение параметров обучения
«Использовать для обучения сети выборки…». Все примеры, подаваемые на вход нейросети, делятся на 2 множества - обучающее и тестовое. Задайте, сколько процентов примеров будут использоваться в обучающей выборке. Записи, используемые для тестирования, выбираются случайно, но пропорции сохраняются.
«Скорость обучения…». Параметр определяет амплитуду коррекции весов на каждом шаге обучения.
«Момент…». Параметр определяет степень воздействия i-ой коррекции весов на i+1-ую.
«Распознана, если ошибка по примеру…». Если результат прогнозирования отличается от значения из обучаемого множества меньше указанной величины, то пример считается распознанным.
«Использовать тестовое множество как валидационное…». При установке этого флага обучение будет прекращено с выдачей сообщения, как только ошибка на тестовом множестве начнет увеличиваться. Это помогает избежать ситуации переобучения нейросети.
«Критерии остановки обучения…». Необходимо определить момент, когда обучение будет закончено.
Рис. 4 Определение окончания процесса обучения
13. Запуск системы
Проверяем правильность конфигурации сети и параметров обучения. Убедитесь, что вы указали все параметры верно.
Запускаем систему на обучение, в процессе которого система построит модель заданной операции
Рис. 5 Проверка правильности конфигурации сети
Рис. 6 Первый этап построения модели операции
«Пуск обучения/остановка обучения…». Запустите процесс. В таблице над кнопкой вы можете наблюдать, как меняется ошибка обучения.
«Распределение ошибки…». В диаграмме отображается распределение ошибки. Зеленые столбцы - ошибка на обучающей выборке, красные - на тестовой выборке. Чем правее столбец, тем выше значение ошибки. Шкала от 0 до 1. Чем выше столбец, тем больше примеров с указанной ошибкой.
«Распределение примеров в обучающей/тестовой выборке…». На этих графиках вы можете отслеживать, насколько результаты, предсказанные нейронной сетью, совпадают со значениями в обучающей (слева) и тестовой (справа) выборке. Каждый пример обозначен на графике точкой. Если точка попадает на выделенную линию (диагональ), то значит нейросеть предсказала результат с достаточно высокой точностью. Если точка находится выше диагонали, значит нейросеть недооценила, ниже - переоценила. Необходимо добиваться, чтобы точки располагались как можно ближе к диагонали.
14. Тестирование полученной модели
По окончанию обучения мы можем тестировать полученную модель. Вводим начальные параметры и рассчитываем результат.
В наборе входных параметров введите цифры и нажмите на кнопку «Расчет». В таблице «Рассчитанные параметры» вы получите результат. Необходимо иметь в виду, что бессмысленно проверять нейросеть на цифрах, выходящих за границы обучаемой и тестовой выборки. Если вы учили нейросеть складывать числа от 0 до 10, то необходимо на этих цифрах нейросеть и тестировать.
Рис. 7 Ввод начальных параметров и расчет результатов
15. Завершение работы
Если результаты вас устраивают, то нажмите на кнопку «Сохранить». Neural Network Wizard сохранить все параметры и настройки в файле с расширением nnw.
Заключение
Современные искусственные нейронные сети представляют собой устройства, использующие огромное число искусственных нейронов и связей между ними. Несмотря на то, что конечная цель разработки нейронных сетей - полное моделирование процесса мышления человека так и не была достигнута, уже сейчас они применяются для решения очень многих задач обработки изображений, управления роботами и непрерывными производствами, для понимания и синтеза речи, для диагностики заболеваний людей и технических неполадок в машинах и приборах, для предсказания курсов валют и т.д. Если перейти к более прозаическому уровню, то нейронные сети _ это всего-навсего сети, состоящие из связанных между собой простых элементов _ формальных нейронов. Ядром используемых представлений является идея о том, что нейроны можно моделировать довольно простыми автоматами, а вся сложность мозга, гибкость его функционирования и другие важнейшие качества определяются связями между нейронами.
В отличие от цифровых микропроцессорных систем, представляющих собой сложные комбинации процессорных и запоминающих блоков, основанные на использовании нейронных сетей нейропроцессоры, содержат память, распределенную в связях между очень простыми процессорами. Тем самым основная нагрузка на выполнение конкретных функций процессорами ложится на архитектуру системы, детали которой в свою очередь определяются межнейронными связями. Основанные на такой структуре прототипы нейрокомпьютеров дают стандартный способ решения многих нестандартных задач.
Список источников
1. Гаскаров Д.В. Интеллектуальные информационные системы: учебник для вузов. - М.: Высшая школа, 2003. - 431 с.
2. Ясницкий Л.Н. Введение в искусственный интеллект: учебное пособие для студ. высш. учеб. заведений. - М.: Академия, 2005. - 176 с.
3. Меньшенин С.Е. Изучение принципов работы программного эмулятора нейрокомпьютера Neural Network Wizard 1.7: Учебно-методическое пособие по дисциплинам «Интеллектуальные информационные системы» и «Системы искусственного интеллекта»
4. http://do.gendocs.ru/docs/index-304601.html?page=3
5. Neural Network Wizard 7 учебно-методическое пособие
6. http://www.spekulant.ru/archive/Nejroseti_rabota_nad_oshibkami810.html Нейросети: работа над ошибками (Журнал «Все о финансовых рынках)
Размещено на Allbest.ru
...Подобные документы
Изучение архитектуры искусственных нейронных сетей, способов их графического изображения в виде функциональных и структурных схем и программного представления в виде объектов специального класса network. Неокогнитрон и инвариантное распознавание образов.
курсовая работа [602,6 K], добавлен 12.05.2015Сущность и понятие кластеризации, ее цель, задачи, алгоритмы; использование искусственных нейронных сетей для кластеризации данных. Сеть Кохонена, самоорганизующиеся нейронные сети: структура, архитектура; моделирование кластеризации данных в MATLAB NNT.
дипломная работа [3,1 M], добавлен 21.03.2011Модели оценки кредитоспособности физических лиц в российских банках. Нейронные сети как метод решения задачи классификации. Описание возможностей программы STATISTICA 8 Neural Networks. Общая характеристика основных этапов нейросетевого моделирования.
дипломная работа [1,4 M], добавлен 21.10.2013История Network File System. Общие опции экспорта иерархий каталогов. Описание протокола NFS при монтировании удаленного каталога. Монтирование файловой системы Network Files System командой mount. Конфигурации, обмен данными между клиентом и сервером.
курсовая работа [1,3 M], добавлен 16.06.2014Решение задач прогнозирования цен на акции "Мазут" на 5 дней, построение прогноза для переменной "LOW". Работа в модуле "Neural networks", назначение вкладок и их характеристика. Построение системы "Набор программистов" нечеткого логического вывода.
курсовая работа [3,2 M], добавлен 26.12.2016Характеристика моделей обучения. Общие сведения о нейроне. Искусственные нейронные сети, персептрон. Проблема XOR и пути ее решения. Нейронные сети обратного распространения. Подготовка входных и выходных данных. Нейронные сети Хопфилда и Хэмминга.
контрольная работа [1,4 M], добавлен 28.01.2011Создание и последующее редактирование таблицы базы данных "Студент" с помощью совместного использования мастеров Table Wizard и Table Designer, применяя заранее заготовленные тематические шаблоны. Описание этапов выполнения работы в данных программах.
лабораторная работа [503,1 K], добавлен 21.03.2011Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Преимущества и недостатки пиринговых сетей. Сети и протоколы. eDonkey2000: поиск, загрузка, межсерверніе соединения. Использование Kad Network. BitTorrent, принцип работы протокола, файл метаданных, трекер. Программы для работы с пиринговыми сетями.
курсовая работа [78,6 K], добавлен 16.02.2009Базовые архитектуры компьютеров: последовательная обработка символов по заданной программе и параллельное распознавание образов по обучающим примерам. Искусственные нейронные сети. Прототип для создания нейрона. Поведение искусственной нейронной сети.
контрольная работа [229,5 K], добавлен 28.05.2010Искусственные нейронные сети, строящиеся по принципам организации и функционирования их биологических аналогов. Элементарный преобразователь в сетях. Экспериментальный автопилотируемый гиперзвуковой самолет-разведчик LoFLYTE, использующий нейронные сети.
презентация [1,3 M], добавлен 23.09.2015Social network theory and network effect. Six degrees of separation. Three degrees of influence. Habit-forming mobile products. Geo-targeting trend technology. Concept of the financial bubble. Quantitative research method, qualitative research.
дипломная работа [3,0 M], добавлен 30.12.2015Технология протокола NAT (Network Address Translation). Особенности его функционирования, применения и основные конфигурации. Протоколы трансляции сетевых адресов. Преимущества и недостатки NAT. Основные способы его работы: статический и динамический.
курсовая работа [480,1 K], добавлен 03.03.2015Понятие о нейронных сетях и параллели из биологии. Базовая искусственная модель, свойства и применение сетей. Классификация, структура и принципы работы, сбор данных для сети. Использование пакета ST Neural Networks для распознавания значимых переменных.
реферат [435,1 K], добавлен 16.02.2015Основные функции администрирования сети, определение главных обязанностей администратора, программы удаленного управления. Защита от вредоносного программного обеспечения, контроль используемых для этого средств. Настройка программы "Лицензии Компас".
курсовая работа [1,7 M], добавлен 16.06.2013Характеристика ЭВМ. Характеристика программного обеспечения. Краткое описание операционной системы. Краткое описание среды программирования. Инфологическая модель. Даталогическая модель. Описание алгоритма главного модуля. Выполнение программы.
дипломная работа [1,2 M], добавлен 23.02.2007Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Основы нейрокомпьютерных систем. Искусственные нейронные сети, их применение в системах управления. Алгоритм обратного распространения. Нейронные сети Хопфилда, Хэмминга. Современные направления развития нейрокомпьютерных технологий в России и за рубежом.
дипломная работа [962,4 K], добавлен 23.06.2012Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013Information security problems of modern computer companies networks. The levels of network security of the company. Methods of protection organization's computer network from unauthorized access from the Internet. Information Security in the Internet.
реферат [20,9 K], добавлен 19.12.2013