Сборник научных трудов под редакцией доктора физико-математических наук А. Н. Горбаня красноярск кгту



страница13/32
Дата09.08.2018
Размер2.19 Mb.
#43456
ТипСборник
1   ...   9   10   11   12   13   14   15   16   ...   32

2. Искусственные нейронные сети

Для решения задач классификации и прогноза используются различные математические методы: математической статистики, кластерного, регрессионного, факторного анализа и т.д. По сравнению с этими методами подход, основанный на применении искусственных нейронных сетей, обладает рядом преимуществ и удовлетворяет введенным ранее требованиям. Во-первых, создается единая для всех задач вычислительная парадигма. Используя нейронные сети со сравнительно небольшим числом нейронов, можно решать достаточно сложные задачи классификации и прогноза. Нейронные сети представляют собой обучающиеся модели, что позволяет просто "доучивать" их при поступлении новых данных либо "переучивать" для обработки данных из другого региона. Возможно использование малых обучающих выборок, не обеспечивающих получение статистически достоверных результатов классическими методами. В нейронных сетях можно использовать любое количество независимых и зависимых признаков, число примеров для разных классов (при решении задачи классификации) может быть различным. Также возможно решение одной сетью одновременно нескольких задач классификации или прогноза. В нейронной сети есть процедура подсчета значимости независимых признаков и возможность минимизации их числа.

После такого многообещающего анонса перейдем непосредственно к описанию того, что такое искусственные нейронные сети и как они решают задачи.

Искусственные нейронные сети, а в более общем случае – и вся нейроинформатика, появились при попытке моделирования мозга не на основе нейробиологических идей, а на основе кибернетических. Так, в основе всего нейросетевого подхода лежит идея построения вычислительного устройства из большого числа параллельно работающих простых процессирующих элементов – нейронов. Эти нейроны функционируют независимо друг от друга и связаны между собой однонаправленными каналами передачи информации – синапсами (как и при именовании нейрона, здесь взяты нейробиологические термин и абстракция). Получаемая при этом искусственная нейронная сеть обладает по аналогии с ее биологическими прототипами следующими преимуществами:

Высокоэффективная параллельно - последовательная обработка информации и, вообще, максимальный потенциальный параллелизм и наиболее эффективное использование любой параллельной вычислительной архитектуры по сравнению с другими вычислительными технологиями.

Высокая надежность и устойчивость к отказам отдельных элементов, составляющих нейронную сеть.

Место программирования занимает процесс обучения (или настройки) нейронной сети. Под обучением понимается процесс адаптации нейронной сети для достижения минимума некоторого оценивающего функционала – например, качества решения сетью поставленной задачи.

В нейронной сети выделена группа входов и группа выходов. По входным рецепторам нейронная сеть принимает информацию и затем, пропуская эту информацию через себя и преобразуя ее с помощью процессорных элементов, генерирует выходные сигналы.


2.1. Элементы нейронных сетей

В нейроинформатике выработана специальная "схемотехника", в которой элементарные устройства – сумматоры, синапсы, нейроны и т.п. объединяются в сети, предназначенные для решения задач [6,9].

Самый заслуженный и, вероятно, наиболее важный элемент нейросистем – это адаптивный сумматор. Адаптивный сумматор вычисляет скалярное произведение вектора входного сигнала x на вектор параметров . На схемах будем обозначать его так, как показано на рис.1. Адаптивным называем его из-за наличия вектора настраиваемых параметров . Для многих задач полезно иметь линейную неоднородную функцию выходных сигналов. Ее вычисление также можно представить с помощью адаптивного сумматора, имеющего n+1 вход и получающего на 0-й вход постоянный единичный сигнал (рис.2).



Нелинейный преобразователь сигнала изображен на рис.3. Он получает скалярный входной сигнал x и переводит его в (x). Точка ветвления служит для рассылки одного сигнала по нескольким адресам (рис.4). Она получает скалярный входной сигнал x и передает его всем своим выходам. Стандартный формальный нейрон составлен из входного сумматора, нелинейного преобразователя и точки ветвления на выходе (рис.5). Линейная связь   синапс – отдельно от сумматоров не встречается, однако для некоторых рассуждений бывает удобно выделить этот элемент (рис.6). Он умножает входной сигнал x на "вес синапса" .


2.2. Архитектуры нейронных сетей

В "зоопарке" искусственных нейронных сетей можно выделить две базовые архитектуры – слоистые и полносвязные сети.



Слоистые сети: нейроны расположены в несколько слоев (рис.7). Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до k-го слоя, который выдает выходные сигналы. Если не оговорено противное, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i+1-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал.

Полносвязные сети: каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам.

Элементы слоистых и полносвязных сетей могут выбираться по-разному. Существует, впрочем, стандартный выбор – нейрон с неоднородным адаптивным линейным сумматором на входе (рис.5).
2.3. Решение задач нейронными сетями

Можно выделить два класса задач, решаемых обучаемыми нейронными сетями. Это задачи предсказания и классификации.

Задачи предсказания или прогнозирования являются, по-существу, задачами построения регрессионной зависимости выходных данных от входных. Нейронные сети могут эффективно строить сильно нелинейные регрессионные зависимости. При решении задач классификации нейронная сеть строит разделяющую поверхность в признаковом пространстве, а решение о принадлежности ситуации тому или иному классу принимается самостоятельным, не зависящим от сети устройством – интерпретатором ответа сети [7,9]. Наиболее простой интерпретатор возникает в задаче бинарной классификации (классификации на два класса). В этом случае достаточно одного выходного сигнала сети, а интерпретатор относит, например, ситуацию к первому классу, если выходной сигнал меньше нуля, и ко второму, если он больше или равен нулю.

Классификация на несколько классов требует усложнения интерпретатора. Широко используется интерпретатор "победитель забирает все", где число выходных сигналов сети равно числу классов, а номер класса будет соответствовать номеру нейрона, выдавшего максимальный выходной сигнал.

Одна нейронная сеть может одновременно предсказывать несколько чисел, либо одновременно решать задачи и прогнозирования, и классификации.
2.4. Подача входных сигналов и снятие выходных сигналов сети

На веса синапсов сети обычно наложены требования принадлежности некоторому диапазону значений. Наиболее часто используемые нелинейные функции нейронов также обычно выдают значения из некоторого диапазона. Это приводит к тому, что обычно нельзя подавать сети входные сигналы в их истинном диапазоне величин и получать от сети выходные сигналы в требуемом диапазоне.

Поэтому перед подачей сети входных сигналов их необходимо нормировать, например, в диапазон значений [-1,1] или [0,1], либо делать так, чтобы входные сигналы не слишком сильно выходили за пределы этих отрезков. Наиболее просто нормировку можно выполнить так. Каждая компонента входного вектора данных xi заменяется величиной

,

где max xi и min xi – соответственно максимальное и минимальное значения для данной компоненты, вычисленные по всей обучающей выборке. По этой же формуле пересчитываются и компоненты векторов ответов.

Можно нормировать и по-другому, например, пересчитывать выборку так, чтобы разброс данным был единичным.

Здесь имеется одна сложность. Любое изменение обучающей выборки должно соответственно менять и правило нормирования данных. Поэтому поступают обычно так: в качестве min и max-величин берут данные из существующего на настоящий момент задачника и в дальнейшем нормировку не меняют, а если предполагается, что в дальнейшем поступят сильно отличающиеся данные, то min и max-величины задаются пользователем по его оценкам. Иными словами, эти величины должны вводиться в момент создания сети и в дальнейшем не зависеть от обучающей выборки.

Выходные сигналы сети должны нормироваться в диапазон истинных значений по обращенным формулам.

Для сетей-классификаторов нормировка выходных сигналов не нужна, поскольку пользователь получает не собственно выходные сигналы сети, а результат отнесения ситуации интерпретатором ответа к тому или иному классу. Здесь каждый выходной вектор задачника преобразуется так, чтобы правильно обрабатываться интерпретатором ответа. Например, при классификации на три класса и интерпретаторе "победитель забирает все" номер класса будет кодироваться вектором из трех чисел, где компонента вектора, соответствующая номеру класса, имеет значение 1, а остальные две – -1.

Другой проблемой является ситуация, когда в таблице данных имеются пробелы. Вместо таких отсутствующих компонент данных можно подавать нуль, можно исключать некомплектные вектора из обучающей выборки, можно перед обучением сети решать задачу заполнения пробелов в данных некоторыми правдоподобными значениями.
2.5. Обучение нейронных сетей

Обучение нейронной сети на некотором "задачнике" означает минимизацию функционала невязки между выходными сигналами сети и сигналами, которые требуется получить. Минимизация функционала невязки (оценки в дальнейшем) производится путем такой подстройки обучаемых параметров ai нейронов сети, чтобы сеть на некоторый входной вектор сигналов X выдавала ответ Y', который был бы по возможности ближе к требуемому ответу Y. Иными словами, чтобы для задачника с числом примеров N (т.е. для N пар {Xi,Yi},i=1..N) достигался минимум суммарной функции оценки:

В
качестве функции нормы выступает покомпонентная сумма квадратов элементов вектора Y-Y' (оценка МНК), либо более специализированная. Применение более специализированных оценок ускоряет процесс обучения сети. Так, можно использовать оценки, позволяющие задавать требования к точности решения задачи. Это позволяет прекращать процесс обучения, когда достигнута удовлетворяющая пользователя точность. Для решения задач классификации можно строить специализированные оценки, основанные на используемом при решении задачи интерпретаторе ответа. Подробно разнообразные интерпретаторы ответа и построенные по ним оценки описаны в [7,9].

Минимизация функции оценки выполняется с привлечением градиентных методов оптимизации. Преобразовав по некоторым правилам структуру сети, подавая на выход сети частные производные функции оценки по выходным сигналам и используя так называемое двойственное функционирование, мы можем получить для каждого подстроечного параметра сети и для каждого входного сигнала частные производные функции оценки по значению этого параметра или сигнала. Для вектора параметров сети вектор соответствующих частных производных будет градиентом функции оценки, поэтому возможна градиентная оптимизация функции оценки, в ходе которой нейронная сеть "обучается" давать требуемые ответы на подаваемые ей входные сигналы.

Сеть лучше обучать по суммарному градиенту (градиенту по всем примерам задачника), что ускоряет процесс обучения, и применять специализированные алгоритмы оптимизации, надстраиваемые над простейшим градиентным спуском. Для вычисления суммарного градиента необходимо просуммировать вектора градиентов, вычисляемые для каждого примера задачника (всего N векторов). Естественно, что нет необходимости одновременного хранения в памяти ЭВМ градиентов для всех примеров, процесс вычисления суммарного градиента реализуется как процесс последовательного накопления.
2.6. Вычисление градиента функции оценки по подстроечным параметрам сети

Теперь о том, как же собственно вычисляется градиент функции оценки по подстроечным параметрам сети. Вычисление градиента производится в ходе функционирования нейронной сети, двойственной к исходной. У сети двойственности сигналы передаются в обратном направлении – от выходов сети к ее входам, а элементы, из которых строится двойственная сеть, являются двойственными к исходным. Рассмотрим сначала некоторый достаточно абстрактный элемент сети. Ему передается n значений переменных xi, на основе которых вычисляется значение функции f(x1,…xn) и это значение рассылается по m выходным связям. В двойственной сети этот элемент получает на выходе набор из m двойственных сигналов i, вычисляет их сумму и передает на каждый из n входов произведение и частной производной функции f(x1,…xn) по значению подаваемого на соответствующий вход сигнала. Этот процесс представлен на рис. 8. Здесь видно, что при построении двойственной сети все точки ветвления переходят в двойственные к ним элементы – простые сумматоры.

Теперь рассмотрим процесс построения нейрона, двойственного к формальному. Для этого представим формальный нейрон (рис. 5) более подробно (рис. 9), представив входной адаптивный сумматор нейрона в виде набора элементов, вычисляющих попарные произведения (веса синапса и приходящего на синапс сигнала), и простого сумматора. По описанному выше правилу построения двойственного элемента преобразуем все элементы, составляющие формальный нейрон. Нейрон, двойственный к формальному, и правила его функционирования показаны на рис. 10. Здесь видно, что при построении двойственной сети все простые сумматоры переходят в двойственные к ним элементы – точки ветвления. Для более понятной иллюстрации этого факта и было использовано представление адаптивного сумматора с помощью простого сумматора и набора синапсов на рис. 9. Из нейронов, двойственных к формальным, и строится двойственная сеть. Разумеется, двойственные сети могут быть построены и для сетей, состоящих из более сложных по конструкции нейронов.








Итак, построена сеть, двойственная к исходной. Теперь определимся с двойственными переменными , подаваемыми на выходы нейронов последнего слоя. Чтобы решить задачу вычисления с помощью двойственной сети градиента функции оценки по подстроечным параметрам исходной сети, в качестве двойственных переменных необходимо брать частные производные функции оценки H по выходным сигналам сети. Тогда для всех элементов и входных сигналов сети будут вычислены частные производные функции оценки по значениям этих параметров и сигналов.

Использование двойственной сети для вычисления градиента позволяет вычислять весь вектор градиента за время, всего в 2-3 раза большее, чем время вычисления выходных сигналов в ходе обычного функционирования исходной сети. Это происходит потому, что все действия организованы рационально, без дублирования вычислений, и градиент вычисляется в максимально параллельном режиме.

Единственным требованием, налагаемым на нейронные сети и функции оценки для того, чтобы можно было использовать двойственное функционирование для вычисления градиента, является существование непрерывных первых производных функций оценки и всех элементов сети по их входным сигналам.

Подробно принцип двойственности для обучения нейронных сетей рассмотрен в [6,9].
2.7. Факторы, влияющие на обучение нейронной сети

Рассмотрим факторы, от которых зависит успешность обучения нейронной сети правильному решению задачи. В первую очередь, сеть должна быть достаточно гибкой, чтобы научиться правильно решать все примеры обучающей выборки. Поэтому в нейронной сети должно быть достаточное количество нейронов и связей.

На основании обучающей выборки достаточно сложно определить, сколько слоев и нейронов сети необходимо. Поэтому поступают обычно так. Обучают сеть со структурой, предлагаемой программой-нейроимитатором по умолчанию, а в дальнейшем, если сеть не может обучиться, пробуют обучить сеть большего размера. На практике при решении разнообразных задач практически не встречается ситуации, когда требуется нейросеть с более чем сотней нейронов – обычно хватает нескольких десятков нейронов и даже меньшего числа.

Однако даже увеличение размера нейронной сети не поможет, если обучающая выборка противоречива. Иными словами, в обучающей выборке присутствуют задачи с одинаковыми условиями, но разными ответами (одинаковыми входными векторами данных, но разными выходными). Таким задачам нейронная сеть обучиться не может. Здесь возникает проблема разрешения такой противоречивой ситуации. Появление таких конфликтных примеров может, допустим, означать недостаточность набора входных признаков, поскольку при расширении признакового пространства конфликтным примерам могут соответствовать разные значения добавляемого признака и критическая ситуация будет исчерпана. В любом случае пользователь должен решить эту проблему, хотя бы даже простым исключением конфликтных примеров из задачника.

После обучения нейронной сети необходимо провести ее тестирование на тестовой выборке для определения точности решения не входивших в обучающую выборку задач. Точность решения очень сильно зависит от репрезентативности обучающей выборки. Обычно при решении различных неформализованных задач в разных проблемных областях точность в 70-90% правильных ответов на тестовой выборке соответствует проценту правильных ответов при решении этих же задач специалистом-экспертом.

Может оказаться так, что нейронная сеть обучилась, но дает много ошибок на тестовой выборке. Природу этого явления нужно изучать в каждом конкретном случае. Одна возможная причина – нерепрезентативность обучающей выборки, когда обучающая выборка не охватывает всего множества ситуаций (выборка мала или просто узкоспециализирована). Иной причиной большого количества ошибок, на этот раз, только при решении задачи классификации, может быть неодинаковое число примеров разных классов. При этом при тестировании нейросеть будет достаточно хорошо распознавать примеры класса, для которого в обучающей выборке было большинство примеров, и относить к этому же классу много примеров другого класса. Поэтому желательно, чтобы в обучающей выборке было примерно одинаковое число примеров для каждого класса, или, по крайней мере, не было отличия на порядок и более. Если же неравномерность распределения примеров по классам есть особенность проблемной области, то нужно использовать при обучении сети оценки "с весами" – модификации стандартных оценок, позволяющие уравнивать вклад примеров разных классов в суммарную функцию оценки [9].


2.8. Упрощение нейронных сетей

Сокращение множества параметров сети и входных сигналов может преследовать несколько целей:

Упрощение последующей аппаратной реализации нейронной сети;

Сокращение объема используемой памяти и повышение быстродействия программ–нейроимитаторов;

Удешевление процесса сбора данных за счет сокращения их объема; возможность решения задачи на основе меньшего объема входных данных;

Упрощение (контрастирование) нейронной сети строится как последовательный процесс исключения из сети наименее значимого элемента и дальнейшего доучивания сети. Если после шага упрощения невозможно доучивание сети до требуемой точности, то возвращаемся к сети, полученной на предыдущем шаге, и завершаем процесс упрощения.

В следующем разделе опишем процедуру вычисления показателей значимости [4,5,9].
2.9 Вычисление показателей значимости параметров и входных сигналов сети

У нейронной сети имеется набор n-мерных векторов данных xi, i=1,..,N (задачник) с координатами xji, j=1,..,n, M -мерный вектор параметров a с координатами ak, k=1,..,M, и некоторая функция оценки H(x,a), оценивающая работу сети с параметрами a на векторе данных x. Требуется выделить у сети наименее значимые параметры ak и сигналы xj и модифицировать систему, отбрасывая эти параметры и компоненты данных.

Для каждого ak определено некоторое значение ak0 и сокращение ak означает приравнивание ak=ak0. Аналогично для каждой компоненты данных xj и любого примера xi определено xji0 и отбрасывание j-ой компоненты данных для i-го примера означает приравнивание xj = xji0.

Такая процедура допускает очень большую свободу в доопределении процедуры сокращения описания. В качестве простейшего базового варианта будем иметь в виду ak0=0 и для всех i (параметры обращаются в нуль, данные заменяются средними по выборке). В случае данных, отнормированных, например, в диапазон [-1,1], в качестве xji0, естественно, принимается нуль.

Показатели значимости вычисляются в два этапа: сначала они вычисляются для одного вектора данных (примера), а потом – по всей выборке. Для данного xp значимости ak и xj оцениваются так:

;

.

Здесь – просто вычисленные в линейном приближении абсолютные величины изменения H при сокращении описания, частные производные вычисляются при двойственном функционировании. Естественно, значение функции оценки должно быть ненулевым. Поэтому, если используются специализированные функции оценки, на этапе вычисления значимости необходимо возвращаться к оценке МНК.

Оценка по всему задачнику производится с использованием некоторой нормы, например, c использованием нормы в виде суммы модулей

;

или максимума модулей.



; .

Часто приходится иметь дело с системой, которая меняет свои параметры, например, в ходе обучения. Тогда к моменту принятия решения о значимости может быть накоплена информация о частных производных H в разных точках a=a1,..,aq. Тогда показатели значимости для одного вектора данных вычисляются так:



;

.

Усредняются абсолютные значения производных, а приращения берутся в той точке, в которой будет проводиться процедура сокращения. Далее для всей выборки показатели значимости усредняются в одной из норм.

Использование вычисленных таким образом показателей значимости часто позволяет очень сильно сократить как число входных сигналов сети (остается только минимально необходимый для правильного решения задачи набор признаков), так и число элементов сети.

Если необходимо не исключать из сети адаптивные элементы, а приводить их значения к конечному набору выделенных значений, то для каждого ak в качестве ak0 принимается ближайшее к ak выделенное значение. Такая задача возникает при бинаризации весов синапсов сети – приведении весов синапсов к величинам -1 или 1.




Каталог: Library
Library -> Аппендицит
Library -> Методические рекомендации для доаудиторной подготовки к практическим занятиям по инфекционным болезням
Library -> Нормы сроков службы стартерных свинцово-кислотных аккумуляторных батарей автотранспортных средств и автопогрузчиков
Library -> Что дает страхование ответственности перевозчика
Library -> Сообщения информационных агентств
Library -> Закон республики таджикистан о документах, удостоверяющих личность


Поделитесь с Вашими друзьями:
1   ...   9   10   11   12   13   14   15   16   ...   32




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница