Нейронная сеть и персептрон

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

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

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

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

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

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

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

Если задана функция изменения информационного параметра, то можно построить прогноз о состоянии организма на какой-то отдаленный промежуток времени. Будем говорить лишь об одном, наиболее строгом, способе выражения зависимости, а именно в виде функции от нескольких переменных. Например, если начальный размер живого организма составлял S сантиметров, а увеличение размера тела — h процентов в месяц, то через N лет можно ожидать, что этот показатель составит K = (1 + h) N · S сантиметров, — вот типичный пример зависимости, выраженной в виде функции от трех переменных K (S, h, N). Очевидно, что мы получим приближенный результат, поскольку сам функционал записан в общем, не полном виде. Однако приближенные функциональные зависимости подобного вида очень часто присутствуют в реальных задачах биометрии.

Ясно, что эти функционалы (функции) невозможно определить априори. Здесь нельзя воспользоваться предыдущим опытом, знаниями, накопленными в процессе длительных экспериментов. Более того, выражаясь математическими терминами, можно утверждать, что эти функции записываются достаточно сложными формулами неизвестного вида, в которых участвуют все переменные. В данном примере имеются в виду переменные, определяющие рост живого организма.

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

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

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

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

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

Вот эти принципы.

 

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

 

  1. Нейрон состоит из дендритов (по ним принимаются сигналы от других нейронов), тела нейрона (оно обеспечивает жизнедеятельность всей клетки) и аксона (это длинная нить, по ней нейрон может передавать сигналы другим нейронам). Аксон контактирует с дендритами других нейронов посредством специальных образований — синапсов, которые влияют на силу сигнала. Таким образом, синапсы можно считать входами нейрона.

 

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

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

 

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

 

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

 

  1. Деятельность нейронов синхронизирована, т. е. время прохождения сигнала от нейрона к нейрону фиксировано и одинаково для всех связей. То же самое относится к времени обработки принятых сигналов. Заметим, что веса синапсов могут меняться со временем — это принципиальная особенность. Именно изменение этих весов отвечает за возможность различной реакции организма на одни и те же условия в разные моменты времени, т. е. возможность обучения.

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

С точки зрения математического описания работы такого сложного органического элемента как нейрон, не все так просто. Некоторые первоначальные представления о работе “простейшего” автомата поменялись, другие — получили дополнение и развитие в современных устройствах. Входные сигналы для такого устройства, как правило, представляют в цифровой форме. Бинарный входной сигнал позволяет несколько упростить понимание процессов преобразования информации. Последуем этому правилу и рассмотрим нейрон.

Нейрон — это несложный автомат, преобразующий входные сигналы в выходной сигнал. Сигналы силы x 1, x 2,..., xn, поступая на синапсы, преобразуются линейным образом, т. е. к телу нейрона поступают сигналы силы w 1 x 1, w 2 x 2,..., wnxn (здесь wi — веса соответствующих синапсов). Для удобства к нейрону добавляют еще один вход (и еще один вес u), считая, что на этот вход всегда подается сигнал силы 1. Нейрон суммирует эти сигналы, затем применяет к сумме некоторую фиксированную функцию p и выдает на выходе сигнал силы
y = p (w 1 x 1 + w 2 x 2 +... + wnxn + u).

Эта модель была предложена Маккалоком и Питтсом еще в 1943 г. При этом использовались пороговые передаточные функции (рис. 3.3,a), и правила формирования выходного сигнала y выглядели особенно просто:

если w 1 x 1 + w 2 x 2 +... + wnxn + u > T, то y = 1, иначе y = 0.

В 1960 г. на основе таких нейронов Розенблатт построил первый в мире автомат для распознавания изображений букв, который был назван “персептрон” (p erce p t i o n — восприятие). Этот автомат имел очень простую однослойную структуру и мог решать только относительно простые (линейные) задачи. С тех пор были изучены и более сложные системы из нейронов, использующие в качестве передаточных любые непрерывные функции.

Одна из наиболее часто используемых передаточных функций называется сигмоидной (или логистической) и задается формулой s (x) = 1/(1 + e x ) (см. рис. 3.3,б).

Нейронная сеть — это набор нейронов, определенным образом связанных между собой. В качестве основного примера рассмотрим сеть, которая достаточно проста по структуре и в то же время широко используется для решения прикладных задач, — трехслойный персептрон с n входами и одним выходом.

Как следует из названия, эта сеть состоит из трех слоев, изображенных на рис. 3.4. Собственно нейроны располагаются во втором (скрытом) и в третьем (выходном) слое. Первый слой только передает входные сигналы ко всем H нейронам второго слоя (здесь H = 4). Каждый нейрон второго слоя имеет n входов, которым приписаны веса
wi 1, wi 2,..., win (для нейрона с номером i). Получив входные сигналы, нейрон суммирует их с соответствующими весами, затем применяет к этой сумме передаточную функцию и пересылает результат на один из входов нейрона третьего слоя. В свою очередь, нейрон выходного слоя суммирует полученные от второго слоя сигналы с некоторыми весами yi. Для определенности будем предполагать, что передаточные функции в скрытом слое являются сигмоидными, а в выходном слое используется функция p (x) = x, т. е. взвешенная сумма выходов второго слоя и будет ответом сети.

Рис. 4.3. Трёхслойный персептрон

Итак, подавая на входы персептрона любые числа x 1, x 2,..., xn, мы получим на выходе значение некоторой функции F (x 1, x 2,..., xn), которое является ответом (реакцией) сети. Очевидно, что ответ сети зависит как от входного сигнала, так и от значений ее внутренних параметров — весов нейронов. Выпишем точный вид этой функции:

.

Как видно из этого равенства, такой персептрон реализует только функции определенного вида, а именно суммы значений сигмоидных функций, где в качестве аргументов подставляются линейные комбинации входных сигналов. Например, функцию F (x 1, x 2) = x 1 x 2 не удается с ходу представить в таком виде.

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

Так как задача очень просто сформулирована, неудивительно, что и занимались ею ученые достаточно долго. Удивительно то, что ответ на нее был получен сравнительно недавно — в 1989 г., но для этого пришлось ввести некоторые упрощения. Это способствовало значительному росту работ в этом направлении, но не внесло достаточного понимания в саму проблему построения нейронной сети.

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

Для определенности сформулируем теорему в новом представлении. Пусть F (x 1, x 2,..., xn) — любая непрерывная функция, определенная на ограниченном множестве, и e > 0 — любое сколь угодно малое число, означающее точность аппроксимации. Через “сигму” мы обозначаем сигмоидную функцию, определенную выше.

Теорема. Существуют такое число H, набор чисел wij, ui и набор чисел vi, таких, что функция

приближает данную функцию F (x 1, x 2,..., xn) с погрешностью не более e на всей области определения.

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

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

Для справедливости можно отметить, что все не так безнадежно. Использование метода СКА позволяет преодолеть указанные трудности. Для этого надо применить алгоритм фрагментного представления исходной выборки, а затем построить функционал объединения этих фрагментов.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: