Автор: Пользователь скрыл имя, 02 Марта 2013 в 11:12, реферат
С развитием технологий записи и хранения данных на людей обрушились колоссальные потоки информационной руды в самых различных областях- коммерции, производстве, науке, медицине и т.д. Стало понятно, что без продуктивной переработки потоки сырых данных образуют никому не нужную свалку.
Методов традиционной статистики оказалась явно недостаточно для качественного анализа больших объемов данных.
ТЕМА «Нейросети»
Искусственной нейронной сетью или нейросетью в компьютерных технологиях называют искусственные аналоги биологических нейронных систем человека и животных. Такого рода аналоги, осуществляющие переработку информации, реализуются с помощью различного рода упрощенных математических моделей биологических нейронных систем.
Практическая реализация нейросетей стала возможной только с появлением компьютеров. В то же время нейросети представляют новый подход в методологии вычислений, отличающийся от вычислений на цифровых компьютерах с традиционной фон-неймановской архитектурой.
Так, основной особенностью цифровых компьютеров является последовательный, цепочечный процесс обработки информации по заранее заданной программе. В нейросетях же процесс обработки информации распределен между простыми локальными процессорными элементами – нейроэлементами, соединенных между собой посредством специальных соединений – синаптических связей.
Программа по переработке информации в нейросетях не задается заранее, а получается в процессе наастройки (обучения) нейросети в виде весовых коэффициентов нейроэлементов.
Нейросети используются для исследования и воспроизведения таких видов человеческой деятельности по обработке информации, как речь, зрение и обработка знаний, включая классификацию и восстановление функций, восстановление скрытых закономерностей по экспериментальным базам данных и др. Нейросети показали также высокий потенциал при решении таких сложных задач, как прогнозирование, оптимальное управление и идентификация систем, сжатие данных, распознавание образов, диагностика состояний и т.д.
Существуют различные
подходы к определению технолог
Теория нейронных сетей развивается на стыке различных дисциплин: нейрофизиологии, математического моделирования, информатики и искусственного интеллекта, а также физики, психологии и лингвистики. В целом деятельность в этом направлении направлена на создание искусственных интеллектуальных систем, имитирующих некоторые аспекты интеллектуальной деятельности человека.
Модели НС могут быть программного и аппаратного исполнения. В дальнейшем речь пойдет в основном о первом типе.
2. Структура нейросетей
Основу каждой НС составляют относительно простые, в большинстве случаев однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Далее под нейроном будет подразумеваться искусственный нейрон, то есть ячейка НС. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рисунке 1. Каждый синапс характеризуется величиной синаптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости.
Рис.1. Общий вид нейрона
Текущее состояние нейрона определяется, как взвешенная сумма его входов.
Выход нейрона есть функция его состояния:
y = f(s) (2)
Нелинейная функция f называется активационной и может иметь различный вид, как показано на рисунке 2.
Рис.2.
Одной из наиболее распространенных является нелинейная функция с насыщением, так называемая логистическая функция или сигмоид (т.е. функция S-образного вида).
В качестве примера простейшей НС рассмотрим трехнейронный перцептрон (рис.3), то есть такую сеть, нейроны которой имеют активационную функцию в виде единичного скачка. На n входов поступают некие сигналы, проходящие по синапсам на 3 нейрона, образующие единственный слой этой НС и выдающие три выходных сигнала:
, j=1...3 (5)
Очевидно, что все весовые коэффициенты синапсов одного слоя нейронов можно свести в матрицу W, в которой каждый элемент wij задает величину i-ой синаптической связи j-ого нейрона. Таким образом, процесс, происходящий в НС, может быть записан в матричной форме:
Y=F(XW) (6)
где X и Y – соответственно входной и выходной сигнальные векторы, F( V) – активационная функция, применяемая поэлементно к компонентам вектора V.
Рис.3. Трехнейронный перцептрон
Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированной микросхемы, на которых обычно реализуется НС. Чем сложнее НС, тем масштабнее задачи, подвластные ей.
Выбор структуры НС осуществляется в соответствии с особенностями и сложностью задачи. Для решения некоторых отдельных типов задач уже существуют оптимальные, на сегодняшний день, конфигурации. Если же задача не может быть сведена ни к одному из известных типов, разработчику приходится решать сложную проблему синтеза новой конфигурации. При этом он руководствуется несколькими основополагающими принципами: возможности сети возрастают с увеличением числа ячеек сети, плотности связей между ними и числом выделенных слоев; введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети; сложность алгоритмов функционирования сети (в том числе, например, введение нескольких типов синапсов – возбуждающих, тормозящих и др.) также способствует усилению мощи НС. Вопрос о необходимых и достаточных свойствах сети для решения того или иного рода задач представляет собой целое направление нейрокомпьютерной науки. Так как проблема синтеза НС сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант получается на основе интуитивного подбора.
Очевидно, что процесс функционирования НС, то есть сущность действий, которые она способна выполнять, зависит от величин синаптических связей, поэтому, задавшись определенной структурой НС, отвечающей какой-либо задаче, разработчик сети должен найти оптимальные значения всех переменных весовых коэффициентов (некоторые синаптические связи могут быть постоянными).
Этот этап называется обучением НС, и от того, насколько качественно он будет выполнен, зависит способность сети решать поставленные перед ней проблемы во время эксплуатации. На этапе обучения кроме параметра качества подбора весов важную роль играет время обучения. Как правило, эти два параметра связаны обратной зависимостью и их приходится выбирать на основе компромисса.
Обучение НС может вестись с учителем или без него. В первом случае сети предъявляются значения как входных, так и желательных выходных сигналов, и она по некоторому внутреннему алгоритму подстраивает веса своих синаптических связей. Во втором случае выходы НС формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы.
Существует великое множество различных алгоритмов обучения, которые однако делятся на два больших класса: детерминистские и стохастические. В первом из них подстройка весов представляет собой жесткую последовательность действий, во втором – она производится на основе действий, подчиняющихся некоторому случайному процессу.
Развивая дальше вопрос о возможной классификации НС, важно отметить существование бинарных и аналоговых сетей. Первые из них оперируют с двоичными сигналами, и выход каждого нейрона может принимать только два значения: логический ноль («заторможенное» состояние) и логическая единица («возбужденное» состояние). К этому классу сетей относится и рассмотренный выше перцептрон, так как выходы его нейронов, формируемые функцией единичного скачка, равны либо 0, либо 1. В аналоговых сетях выходные значения нейронов способны принимать непрерывные значения, что могло бы иметь место после замены активационной функции нейронов перцептрона на сигмоид.
Еще одна классификация делит НС на синхронные и асинхронные[3]. В первом случае в каждый момент времени свое состояние меняет лишь один нейрон. Во втором – состояние меняется сразу у целой группы нейронов, как правило, у всего слоя. Алгоритмически ход времени в НС задается итерационным выполнением однотипных действий над нейронами. Далее будут рассматриваться только синхронные НС.
Сети также можно классифицировать по числу слоев. На рисунке 4 представлен двухслойный перцептрон, полученный из перцептрона с рисунка 3 путем добавления второго слоя, состоящего из двух нейронов.
Рис.4. Пример двухслойной сети
1. Методы обучения нейронных сетей
Обучение — это процесс, при котором свободные параметры нейронной сети адаптируются в результате ее непрерывной стимуляции внешним окружением. Тип обучения определяется тем способом, которым производятся изменения параметров.
В современной литературе кроме термина “обучение” также используются равноправные понятия “тренировка сети” и “настройка параметров сети”.
В общем можно выделить два основных вида обучения: контролируемое обучение (supervised learning) и самообучение (self-organized learning). Первый вид подразумевает наличие “учителя”, который наблюдает реакцию сети и направляет изменения ее параметров. Во втором случае сеть самоорганизуется под действием внешней среды и изучает ее самостоятельно, без помощи “учителя”. Самообучение свойственно задачам распознавания образов и классификации. При решении задач управления обычно используется контролируемое обучение НС.
Существует две разновидности контролируемого обучения: прямое контролируемое обучение и стимулируемое обучение (reinforcement learning). Так как первый вид появился раньше второго и более распространен, то обычно на него ссылаются просто как на контролируемое обучение.
На рис.1. представлена схема прямого контролируемого обучения. Присутствующий на ней “учитель” обладает знаниями о внешней среде, представленными в виде набора образцов вход-выход. Пара таких образцов называется тренировочным шаблоном, который включает в себя, соответственно, входной шаблон и выходной шаблон. Множество этих пар данных называется тренировочным набором шаблонов.
НС изначально никакими знаниями не обладает. В процессе обучения “учитель” и сеть подвергаются воздействию со стороны внешней среды, то есть на их входы поступает тренировочный сигнал, совпадающий с одним из входных шаблонов. “Учитель” сообщает сети, какова должна быть правильная (желаемая) реакция на поступившее воздействие, выдавая соответствующий выходной шаблон. На основании величины ошибки между реальным и желаемым выходами сети по определенному правилу проводится настройка ее синаптических связей. Повторяя этот процесс итеративно можно настроить НС так, что она будет эмулировать “учителя”, то есть его знания о внешней среде перейдут к ней.
Рис.1. Схема прямого контролируемого обучения
Типичными задачами, решаемыми с помощью прямого обучения, являются аппроксимация неизвестной функции, описываемой набором данных, и идентификация динамического объекта. В этих задачах известны входные сигналы и правильная реакция на них, то есть тренировочный набор шаблонов.
Наиболее известным
методом прямого
Стимулируемое обучение не использует знания “учителя” о желаемом выходе НС, вместо этого обучение проводится по результату оценки проводимого сетью преобразования вход-выход. Оценку выполняет внешнее окружение после подачи на вход сети тренировочного воздействия. При этом настройка параметров НС проводится так, чтобы максимизировать скалярный индекс этой оценки, называемый стимулом (reinforcement signal).
Наиболее характерным примером системы стимулируемого обучения является адаптивная система управления. В ней обучаемой частью является контроллер, а объект управления, внешние воздействия и сигналы задания выступают его внешней средой. В результате воздействия из этой среды контроллер вырабатывает определенный управляющий сигнал, который переводит объект управления в новое состояние. При этом качество управления можно оценить лишь по выходному сигналу объекта. Так как требуемая реакция контроллера, обеспечивающая заданное состояние объекта, заранее неизвестна, то нельзя сформировать тренировочный набор шаблонов, и, следовательно, применить прямое контролируемое обучение. В этом случае возможно лишь стимулируемое обучение контроллера по качеству работы всей системы управления в целом, то есть по оценке состояния внешней среды.
Информация о работе Системы обработки экономической информации