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

 

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

Нейробиологи и нейроанатомы достигли значительного прогресса. Усердно изучая структуру и функции нервной системы человека, они многое поняли в «электропроводке» мозга, но мало узнали о его функционировании. В процессе накопления ими знаний выяснилось, что мозг имеет ошеломляющую сложность. Сотни миллиардов нейронов, каждый из которых соединен с сотнями или тысячами других, образуют систему, далеко превосходящую наши самые смелые мечты о суперкомпьютерах. Тем не менее мозг постепенно выдает свои секреты в процессе одного из самых напряженных и честолюбивых исследований в истории человечества [1].

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

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

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

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

Его исследования привели к написанию книги «Персептроны», в которой он вместе с Пайпертом доказал, что используемые в то время однослойные сети теоретически неспособны решить многие простые задачи, в том числе реализовать функцию «Исключающее ИЛИ».

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

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

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

Урок, который можно извлечь из этой истории, выражается законом Кларка, выдвинутым писателем и ученым Артуром Кларком. В нем утверждается, что, если крупный уважаемый ученый говорит, что нечто может быть выполнено, то он (или она) почти всегда прав. Если же ученый говорит, что это не может быть выполнено, то он (или она) почти всегда не прав. История науки является летописью ошибок и частичных истин. То, что сегодня не подвергается сомнениям, завтра отвергается. Некритическое восприятие «фактов» независимо от их источника может парализовать научный поиск. С одной стороны, блестящая научная работа Минского задержала развитие искусственных нейронных сетей. Нет сомнений, однако, в том, что область пострадала вследствие необоснованного оптимизма и отсутствия достаточной теоретической базы. И возможно, что шок, вызванный книгой «Персептроны», обеспечил необходимый для созревания этой научной области период.

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

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

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

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

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

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

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

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

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

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

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

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

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

 

1.3. Проектирование нейронных сетей

 

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

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

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

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

Построение нейронных сетей проходит в два этапа:

1. Выбор типа (архитектуры) нейронной сети.

2. Подбор весов (обучение) нейронной сети.

На первом этапе следует выбрать следующее:

· какие нейроны мы хотим использовать (число входов, передаточные функции);

· каким образом следует соединить их между собой;

· что взять в качестве входов и выходов нейронной сети.

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

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

 

1.4. Обучение нейронных сетей

 

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

Сеть обучается, чтобы для некоторого множества входов давать желаемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал выходной вектор.

Различают алгоритмы обучения с учителем и без учителя.

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

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

 

1.5. Подготовка входных и выходных параметров

 

1.5.1. Подбор обучающих примеров

 

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

Параметры, которые не оказывают влияния на вектор Y, называет незначимыми для этого выходного вектора. Естественно, что незначимые параметры не следует включать в список параметров входного вектора X.

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

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

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

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

Предобработка обучающих примеров и интерпретация ответов.

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

 

1.5.2. Предобработка обучающих примеров

 

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

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

xn= ,

 

где xn и xn – значения исходного и масштабированного n-го параметра предметной области, подаваемого на n-й входной нейрон нейросети; [xn min, xn max] – реальный диапазон изменения n-го параметра; [a,b] – приемлемый диапазон изменения входных сигналов.

Желаемые выходные сигналы персептрона должны быть также закодированы в приемлемой форме и масштабированы в приемлемом диапазоне [a,b].

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

 

 

1.6. Возможности нейросетей

 

1.6.1. Преимущества нейросетей

 

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

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

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

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

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

5. Контекстная информация. Знания представляются в самой структуре нейронной сети с помощью ее состояния активации. Каждый нейрон сети потенциально может быть подвержен влиянию всех остальных ее нейронов. Как следствие, существование нейронной сети непосредственно связано с контекстной информацией.

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

7. Масштабируемость. Параллельная структура нейронных сетей потенциально ускоряет решение некоторых задач и обеспечивает масштабируемость нейронных сетей в рамках технологии VLSI (very-large-scale-integrated). Одним из преимуществ технологий VLSI является возможность представить достаточно сложное поведение с помощью иерархической структуры.

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

· Нероны в той или иной форме являются стандартными составными частями любой нейронной сети.

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

· Модульные сети могут быть построены на основе интеграции целых модулей

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

 

 

1.6.2. Задачи, решаемые с помощью нейросетей

 

Мы имеем универсальный и весьма эффективный инструмент для построения математических моделей самых разнообразных физических, технических, химических, экономических, социальных и другого рода объектов, процессов, явлений. Исследуя эти модели, мы можем решать широкий круг разнообразных практических задач [1]. Так, если нам удалось построить математическую модель какого-то сложного технологического процесса, например выплавки, стали в мартеновской печи, или крекинга нефти в химическом реакторе, или производства электроэнергии на атомной электростанции, то, исследуя математическую модель, изучая влияние входных параметров на выходные, можно решить задачу оптимизации моделируемого технологического процесса. Это значит, что можно подобрать оптимальное сочетание входных параметров, обеспечивающих максимально высокое качество выплавляемой стали, рассчитать наиболее благоприятный ход химической реакции крекинга нефти, выбрать наиболее эффективный режим работы атомной станции.

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

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

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

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

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

 

 

1.6.3. Прикладные возможности нейронных сетей

 

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

В каждом из названных приложений нейронная сеть играет роль универсального апроксиматора функции от нескольких переменных, реализуя нелинейную функцию y=f(x), где х - это входной вектор, а у - реализация векторной функции нескольких переменных. Постановки значительного количества задач моделирования, идентификации и обработки сигналов могут быть сведены именно к апроксимационному представлению.

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

При решении задач прогнозирования роль нейронной сети состоит в предсказании будущей реакции системы по ее предшествующему поведению. Обладая информацией о значениях переменной х в моменты, предшествующие прогнозированию x(k-1), x(k-2),…, x(k-N), сеть вырабатывает решение, каким будет наиболее вероятное значение последовательности х1(k) в текущий момент k. Для адаптации весовых коэффициентов сети используются фактическая погрешность прогнозирования =x(k)-x1(k) и значение этой погрешности в предшествующие моменты времени [2].

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

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

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

Очень большое количество межнейронньгх соединений приводит к тому, что сеть становится нечувствительной к ошибкам, возникающим в отдельных контактах. Функции поврежденных соединений принимают на себя другие элементы, в результате в деятельности сети не наблюдаются заметные нарушения. Это свойство используется, в частности, при поиске оптимальной архитектуры нейронной сети путем разрыва отдельных связей. Алгоритм такого поиска, названный "Optimal Brain Damage", является прекрасной иллюстрацией этого свойства нейронной сети.

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


Глава 2. Применение персептрона в оценке стоимости квартир

 

2.1. Проектирование модели

 

Основным источником данных для исследования была выбрана база данных предложения квартир агентства недвижимости «Тимур» [8]. Рассматривались только квартиры находящиеся в г. Пермь. Сформирована выборка из 187 объявлений.

Выбранные переменные отражают физические характеристики оцениваемого объекта.

Входные параметры:

X1 – количество комнат

X2 – район

1 – Свердловский

2 – Кировский

3 – Индустриальный

4 – Ленинский

5 – Дзержинский

6 – Орджоникидзевский

7 – Мотовилихинский

X3 – этаж

X4 – всего этажей

X5 – тип дома

1 – УП (улучшенная планировка)

2 – БР (брежневка)

3 – ХР (хрущевка)

4 – СП (серая панель)

5 – МС

6 – ЛП

7 – МГ

8 – ИП

9 – ПГ

X6 – стена

1 – кирпич

2 – панель

X7 – планировка

1 – СМ

2 – ИЗ

3 – ТР

4 – др.

X8 – общая площадь (кв. м.)

X9 – жилая площадь (кв. м.)

X10 – площадь кухни (кв. м.)

X11 – наличие балкона или лоджии

1- нет

2 – балкон

3 – лоджия

4 – балкон застекленный

5 – лоджия застекленная

X12 – телефон

1 – есть

2 – нет

 

Выходной параметр:

Y1 – стоимость квартиры.

Я выбрала параметры, которые по-моему мнению в наибольшей степени влияют на стоимость квартир. На этот вопрос есть и другие мнения. Например, Плотникова Е. Ю. [9] использовала в своей работе такой параметр как состояние квартиры, но не учла планировку. По-моему, планировка больше влияет на стоимость, чем состояние квартиры. В другой работе на аналогичную тему (Путко И. А. [10]) вообще рассматривалось только 5 входных параметров, что как мне кажется недостаточно для определения такого многогранного показателя. Хотя, в этой работе брались только 2-х комнатные квартиры в г. Перми, а в моей работе рассматриваются 1-комнатные, 2-х комнатные, 3-х комнатные, 4-х комнатные и даже 5-ти комнатные квартиры, т. е. моя модель является более общей.

 

После определения количества обучающих примеров в выборке необходимо определить возможное количество нейронов на скрытых слоях персептрона. Для этого использовалась формула, являющаяся следствием теорем Арнольда–Колмогорова–Хехт–Нильсена [1].

 

где - размерность выходного сигнала; Q – число элементов обучающей выборки; - необходимое число синаптических весов; Nx – размерность входного сигнала. Тогда число нейронов в скрытых слоях

В моем случае сеть была построена, исходя из следующих параметров: Nx=12, Ny=1, Q=167. Тогда 19,83£Nw£209,83,следовательно, число нейронов в скрытых слоях 1,5£N£16,4.

Рис. 1. Графическое представление сети

 

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

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

Для выявления Nопт из найденного промежутка необходимо определить такое N при котором ошибка тестирования будет минимальна.

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

Для обучения использовалась выборка из 167 примеров (приложение 1), для тестирования использовалась выборка из 20 примеров (приложение 2). В качестве алгоритма обучения был использован алгоритм обратного распространения ошибки.

Как видно из графика (рис. 2) Nопт равняется 12 нейронам. Следовательно, именно такое число нейронов на внутреннем слое будет использоваться при определении цен на жилую недвижимость. Максимальная ошибка при таком количестве нейронов – 0,054.

Рис. 2.

 

Можно показать на графике соотношение между теоретическими и модельными значениями (рис. 3.).

Рис. 3.

 

Если убрать один параметр – планировку, то ошибка сети увеличится и будет – 0,07.

Тогда можно показать наглядно, что разница между реальными и модельными значениями будет больше (рис. 4.).

Рис. 4.

 

 

2.2. Исследование модели

 

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

Полученные результаты представлены на рис.5.

Рис. 5. Значимость параметров

 

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

 

Проведен анализ суммарной ошибки (рис. 6). В результате выявлены наиболее значимые для обучения и обобщения примеры; а также примеры, которые не оказывают влияние на ошибку. Примеры, имеющие незначительное влияние на конечную ошибку, были удалены. Удалены 15 обучающих примеров. После анализа суммарной ошибки нейросимулятор был повторно обучен. Максимальная ошибка получилась равной - 0,038, что значительно меньше, чем до удаления незначимых примеров: до удаления ошибка была – 0,054.

 

Рис. 6. Выявление постороннего выброса в обучающем множестве методом анализа ошибки обобщения

 

 

На стоимость квартиры влияет множество различных параметров, например район, в котором находится квартира. Покажем на графике зависимость стоимости квартиры от района (рис. 7.).

Рис. 7.

 

 

Как видно из графика самые дорогие квартиры в Ленинском районе.

Такой факт можно объяснить высокой себестоимостью застройки Ленинского района (высокая цена земельных участков), а так же центральным его положением.

 


Заключение

 

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

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

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

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


Библиографический список

 

Литература

 

1. Ясницкий Л.Н. Введение в искусственный интеллект: Учеб. пособие для студ. высш. учеб. заведений. – М.: Издательский центр «Академия», 2005. – 176с.

2. Оссовский С. Нейронные сети для обработки информации. – М.: Финансы и статистика, 2002. – 344с.

3. Хайкин С. Нейронные сети: полный курс. – М.: 2006..

 

Сайты Интернет

 

4. Нейрокомпьютеры http://dfe3300.karelia.ru/koi/www/neucom.html

5. www.neuroproject.ru

6. www.statsoft.ru

7. www.softportal.us

8. Агентство недвижимости «Тимур» - www.timur.perm.ru

 

Работы на похожую тему

 

9. Плотникова Е. Ю. Оценка стоимости квартир в г. Перми на основе нейросетевого подхода.

10. Путко И. А. Использование нейронных сетей на рынке недвижимости.

11. Митюкова М. Е. Прогнозирование средней стоимости жилой недвижимости с использованием нейросети.


Приложение 1

Обучающая выборка