систем. Обучаемые смогут виртуально исследовать различные состояния сложных реальных систем и приобретать навыки управления ими, анализируя оптимальные варианты управлений, получаемые в результате решения задач структурной идентификации структурных моделей систем, как задач 18- анализа [2].
В частности, одной из задач, методы решения которой можно использовать для указанных целей, является задача поиска изоморфного отображения вида ф : ^ = S2, где S1 - ОССМ текущего состояния виртуальной образовательной структуры; S2 - ОССМ эталонного состояния реальной системы.
При этом существует возможность перехода от содержательного структурного моделирования средствами предлагаемой ОССМ к формализованному синтаксическому аналогу, обладающему информацией о структурной связности, необходимой для решения задач анализа
[4].
Если образовательные и эталонные структуры заданы в виде ОССМ, то их интерпретации в виде синтаксических структурных моделей позволят использовать методы ^- анализа, инвариантные относительно предметной области описываемых систем.
Литература
1. Михеев М.Ю., Щербань А.Б. Ситуационно-структурный подход к анализу информационных объектов // Изв. высших учебных заведений. Поволжский регион. Технические науки. -Пенза: ПГУ, 2006. - № 6. - С.128-135.
2. Щербань А.Б. Задачи й-анализа информационных структур // Матер. междунар. научн.-технич. конф. «Информационные системы и технологии ИСТ - 2006.» - Н.Новгород: НГТУ, 2006. - С. 148-150.
3. Михеев М.Ю., Щербань А.Б., Володин К.И. Синтез структурных информационных моделей распределенных объектов // Тр. Междунар. конф. «Континуальные алгебраические логики, исчисления и нейроинформатика в науке, технике и экономике». - Ульяновск, 2006. - С. 84-86.
4. Щербань, А.Б. Обобщенные структурные модели информационных объектов / А.Б. Щербань, К.Е. Братцев, Т.В. Жашкова, М.Ю. Михеев //Изв. высших учебных заведений. Поволжский регион. Технические науки. - 2009. - № 1(9). - С.12-2.
ОЦЕНКА ЭФФЕКТИВНОСТИ ИННОВАЦИОННОГО ПРОЕКТА НА ОСНОВЕ АНАЛИЗА КАЧЕСТВЕННЫХ ХАРАКТЕРИСТИК
О.В. Рогозин, доц., к.т.н. каф. Программного обеспечения и информационных технологий Тел.: (495) 442- 80-98; E-mail: [email protected] Московский государственный технический университет им. Н.Э. Баумана
http://www.bmstu.ru
The author analyses the variant of evaluation of innovation project effectiveness with the help of the developed hybrid fuzzy-neural system providing decision support in uncertain conditions. The sectional system structure and realization of the variants for several fuzzy algorithms is given. The system application for issuer state analysis and making decision of investment project profitability is developed. The system training speed and quality is analysed.
В данной статье рассматривается вариант оценки эффективности инновационного проекта с помощью разработанной гибридной нечетко-нейронной системы, обеспечивающей поддержку принятия решений в условиях неопределенности. Рассмотрена блочная структурная схема системы, приведены варианты реализации блоков для различных алгоритмов нечеткого вывода. Разработана система кри-
териев для оценки эффективности инновационного проекта. Проведен анализ скорости и качества обучения системы.
Ключевые слова: нечеткая логика, нейронная сеть, поддержка принятия решений, инновационный проект, качество.
Keywords: fuzzy logic, neural network, decision support, innovation project, quality.
Оценка проекта является важнейшей процедурой не только на начальной стадии проекта, но и на протяжении всего процесса, предполагая возможность остановки проекта в любой момент в связи с появляющейся дополнительной информацией. Таким образом, это одна из процедур оперативного управления и оценки инновационного проекта. Основные факторы, которые должны быть учтены в процедуре оценки:
финансовые результаты реализации проекта;
воздействие данного проекта на другие в рамках портфеля НИОКР корпорации;
влияние проекта в случае его успеха на экономику корпорации в целом.
Все эти факторы связаны с состоянием рынка и, соответственно, содержат в себе значительную долю непредсказуемости. Таким образом, при оценке проекта мы имеем дело с типичной задачей принятия решений в условиях неопределенности.
Предпринято множество попыток формализовать процесс принятия решений, разработано немало методов и теорий. Большую популярность сейчас приобрели системы поддержки принятия решений, основанные на нейронных сетях. Привлекательность таких систем состоит в их способности обучаться и адаптироваться к решаемой задаче, но, к сожалению, для пользователя они, как правило, являются «черным ящиком». В свете этой проблемы набирают силу пакеты, в основу которых положена нечеткая логика, позволяющая формулировать знания на языке, максимально приближенном к естественному. Такие системы более понятны и просты в использовании, весь процесс получения решения в них можно легко проследить. Но они лишены способности к обучению, и результат зачастую зависит от профессионализма и опыта экспертов, формирующих базу знаний.
В представленной статье изложены принципы создания и использования для оценки эффективности инновационного проекта системы, объединяющей в себе привлекательные черты обоих подходов - прозрачность и естественность нечеткой логики и способность к обучению нейронных сетей, с использованием так называемых уточняемых нечетких множеств, то есть нечетких множеств, для которых функции принадлежности могут быть скорректированы с помощью нейронной сети особой структуры.
Критерии оценки эффективности инновационного проекта
До начала оценки проекта любым способом необходимо выделить критерии, по которым будет производиться оценка.
Большая часть критериев оценки не относится к научно-технической области. Инновации (успешные и неуспешные) распространяются на деятельность всей компании и становятся частью ее экономической деятельности.
Все критерии можно разделить на 5 групп:
1. Критерии, связанные с целями корпорации, ее стратегиями, политикой и ценностями:
Совместимость проекта с текущей стратегией компании и ее долгосрочными планами.
Допустимость изменений в стратегии фирмы с учетом потенциала проекта.
Согласованность проекта с представлениями окомпании.
Соответствие проекта отношению корпорации к риску.
Соответствие проекта отношению корпорации к нововведениям.
Соответствие временного аспекта проекта требованиям корпорации.
2. Рыночные критерии:
Соответствие проекта четко определенным потребностям рынка.
Общая емкость рынка.
Доля рынка, которую сможет контролировать корпорация.
Жизненный цикл продукта в виде товара.
Вероятность коммерческого успеха.
Вероятный объем продаж.
Временной аспект рыночного плана.
Воздействие на существующие продукты.
Ценообразование и восприятие продукта потребителями.
Позиция в конкуренции.
Соответствие продукта существующим каналам распределения. Оценка стартовых затрат.
3. Научно-технические критерии: Соответствие проекта стратегии НИОКР.
Допустимость изменений в стратегии НИОКР с учетом потенциала проекта. Вероятность технического успеха проекта. Стоимость и время разработки проекта. Патентная чистота проекта.
Наличие научно технических ресурсов для выполнения проекта.
Возможность выполнения будущих НИОКР на базе данного проекта и новой технологии. Воздействие на другие проекты.
4. Финансовые критерии: Стоимость НИОКР. Вложения в производство. Вложения в маркетинг.
Наличие финансов в нужные моменты времени.
Влияние на другие проекты, требующие финансовых средств.
Время достижения точки безубыточности и максимальное отрицательное значение расходов. Потенциальный годовой размер прибыли. Ожидаемая норма прибыли.
Соответствие проекта критериям эффективности инвестиций, принятым в компании.
5. Производственные критерии: Новые технологические процессы.
Достаточная численность и квалификация производственного персонала.
Соответствие проекта имеющимся производственным мощностям.
Цена и наличие материалов.
Производственные издержки.
Потребности в дополнительных мощностях.
Внешние и экономические критерии.
Возможные вредные воздействия продуктов и технологии. Влияние общественного мнения. Текущее и перспективное законодательство. Воздействие на уровень занятости.
В этот список входят все возможные критерии оценки. Для конкретных проектов, как правило, используются только наиболее значимые, по мнению менеджера инноваций компании, критерии.
Для исследования работы созданной системы оценки будет использоваться следующий набор критериев:
• Соответствие проекта отношению корпорации к риску.
• Вероятность коммерческого успеха.
• Стоимость и время разработки проекта.
• Возможность выполнения будущих НИОКР на базе данного проекта и новой технологии.
• Стоимость НИОКР.
• Вложения в производство.
• Вложения в маркетинг.
• Время достижения точки безубыточности и максимальное отрицательное значение расходов.
• Потенциальный годовой размер прибыли.
• Цена и наличие материалов.
Каждый из этих критериев обладает определенной степенью нечеткости и хорошо описывается лингвистическими понятиями, такими как «высокий», «низкий», «минимальный» и пр. Многие из критериев тяжело поддаются числовому выражению. Поэтому очень удобно в данном случае использование нечеткой логики для описания зависимости эффективности проекта от выбранных качественных критериев.
Количество знаний о конкретном проекте и об инновациях в целом накапливается с течением времени, уменьшая степень неопределенности при оценке проекта. Эти знания должны быть использованы для обучения системы, оценки и увеличения точности ее предсказаний. Созданная система, основанная на объединении нечеткой логики и нейронных сетей, предоставляет возможность удобного для человека представления знаний и самообучения на основе статистических данных.
Нечетко-нейронная гибридная система
Системы, объединяющие в себе различные подходы, называют гибридными. Гибридные системы, основанные на объединении нечеткой логики и нейросетей, весьма разнообразны, но мы будем рассматривать только модули нечеткого управления с нейронной сетью для коррекции функций принадлежности, так как именно точное задание функций принадлежности является наиболее сложной задачей для эксперта. Определим уточняемое нечеткое множество как нечеткое множество, функция принадлежности которого может быть скорректирована в процессе обучения гибридной сети, построенной на основе механизма нечеткого вывода.
Структура такой гибридной сети показана на рис. 1: Корректировка функций принадлежности.
База знаний задается в виде нечетких правил вида:
пк: Если С*1 это А1 и -т2 это это -^п)- то (у это в*)■
Логический вывод производится так же, как в нечетких системах, за счет особой структуры многослойной нейронной сети. Пример такой сети представлен на рис. 2.
Сеть состоит из четырех слоев:
1) Первый (входной) слой реализует функции принадлежности для каждого терма каждой входной переменной. На вход слоя поступают входные сигналы x, а на выходе слоя получаем значение функции принадлежности для этих сигналов ..., ■:. Параметры функций принадлежности становятся весами связей для нейронов первого слоя сети, и они будут модифицироваться в процессе обучения. То, что веса теперь имеют конкретную физическую интерпретацию, позволяет задать хорошие начальные значения, а также анализировать и контролировать процесс корректировки этих параметров.
2) Конфигурация связей второго слоя соответствует структуре правил, а сам слой реализует блок логического вывода. Число нейронов в слое равно количеству правил. Каждый узел слоя связан с предыдущим слоем таким образом, что узел слоя L2, соответствующий k-му правилу, соединен со всеми нейронами слоя L1, соответствующими нечетким множествам условий этого правила. Нейроны слоя L2 могут быть либо мультипликаторами, либо реализовывать функцию «минимум», в зависимости от выбранной модели логического вывода. На выходе слоя формируются значения функций принадлежности : .v .
3) Третий и четвертый слои представляют собой реализацию блока дефазификации. Веса связей, входящих в верхний сумматор слоя L3, обозначенные ■■ -■, интерпретируются как центры функций принадлежности выходной переменной и также будут скорректированы в процессе обучения. На выходе слоя L4 формируется четкое значение переменной вывода.
При такой структуре нейронной сети можно говорить об уточняемых нечетких множествах как входных переменных, так и переменной вывода. Так как описанная структура является многослойной нейронной сетью с прямым распространением сигнала, то для ее обучения может быть применен, например, алгоритм обратного распространения ошибки.
Блочная структура системы показана на рис. 3.
Реализация алгоритмов нечеткого вывода Ларсена и Мамдани
Рассмотрим подробнее прохождение сигнала по сети, изображенной на рис. 2.
После прохождения сигнала через первый и второй слой на выходе второго слоя получаем степени истинности для каждого правила:
■■Е,:У':'= ■■„■: = (1)
если нейроны второго слоя реализуют операцию «произведение»,
(у") = mil1 = (2)
если нейроны второго слоя реализуют операцию «минимум»,
где - количество условий в k-м правиле,
- лингвистические переменные, содержащиеся в условиях k- го правила;
- функции принаждлежности для термов, входящих в условия k- го правила.
Таким образом, первые два слоя сети реализуют фазификацию и композицию «минимум» именно так, как предусмотрено алгоритмом нечеткого вывода Ларсена.
Кроме того, возможна модификация алгоритма путем замены композиции «минимум» на «произведение».
Дефазификация в алгоритме Ларсена состоит в сведении к четкому значению следующей функции принадлежности выходной переменной:
Если использовать для этого дискретный вариант центроидного метода, то с достаточно
высокой степенью точности можно утверждать, что: -
■■' = .. , (3)
где
у — y0/C.(yö) = 1. если фунция унимодальна;
Ъ — а ,
у = - /Ск (v) = i vy е [а, Ь], если функция не умодальна.
Посмотрим, что мы получаем на выходе стандартной гибридной сети:
У =
ri — Е* ^^
уЛ'д , что полностью совпадает с формулой (3).
Таким образом, гибридная сеть, изображенная на рис. 2, реализует алгоритм нечеткого вывода Ларсена с композицией «произведение». Для построения сети с композицией «минимум» необходимо заменить функцию активации нейронной второго слоя на «минимум».
Можно адаптировать структуру сети и для реализации алгоритма нечеткого вывода Мам-дани. Этот алгоритм отличается от алгоритма Ларсена тем, что для получения результирующего нечеткого множества вместо операции масштабирования (умножения) используется операция отсечения:
= (4)
Как видно из рис. 4, полученная при отсечении функция не унимодальна. Чтобы получить четкое значение, необходимо вычислить границы отсечения:
У± Уг- 6-1) = = < У г-
Тогда четкое значение равно:
€£>::;■-'-.:::.-'.€/: = -..у-- у,);: (5)
Для реализации этих вычислений необходимо ввести еще один слой нейронов между слоями Ь2 и Ь3. Получаемая при этом структура изображена на рис. 5.
Используя такую структуру сети, мы теряем возможность корректировать размещение центра функций принадлежности выходных переменных, так как теперь центры вычисляются динамически слоем нейронов, а не задаются в виде синаптических весов. Поэтому для такой структуры можно прогнозировать более медленное обучение.
Обучение гибридной сети
Обучение сети состоит в модификации весов таким образом, чтобы мера погрешности, задаваемая выражением:
(6)
была минимальной.
В соответствии с рис. 2 выход нейронной сети для нечеткого вывода по алгоритму Ларсена
равен:
5 = - =
где
или
1к = шш{
Легко заметить, что выход сети, а следовательно, и погрешность зависят от а и не зависят
от Ь.
Тогда можно рассчитать производную ошибки по каждому весу -
8е _ _ ду £а _ (у-сО -т
З^га - ^ а> 8а з^га - „ 2 ■
С учетом (6) получаем 00 0 (¡(у-*?).
(7)
0У
&У
Так как выход сети не зависит от эталонного сигнала ё, то мы можем рассматривать й в качестве константы:
Зу™ ~ ^ ~ ^ Зу™"
#0 _ ^ _
Применяя формулу для расчета производной сложной функции, получаем
ёв _ л в(|) л Э За _ Су-Ю За
ду™ ~ ^
»у™
Так как ^ = — £ = 1У ^1 *'
ёа &
= ( ~ — ¿Л- — = —
■У 'За ЧА/Зу™
¡ЛЯГ
Эу
1 д^га ■
Отдельные веса независимы друг от друга, поэтому
О, при к =± т, при к = т.
(
а*™ Ьт,
Следовательно, Эу™
И окончательно получаем
Эу™ ¡7 * 1
В соответствии с алгоритмом обратного распространения ошибки: ут(п - 1) = -
Аналогичным способом можно рассчитать изменение параметров
й' у да , £>!? %
^ и '
дв
_ ^
) 9у = (V —
^¡Г У-
■■■&К71
Так как а и Ь зависят от - , то
За ь , улг
В
&ъ & , улг
е^-Т1
-Ь Эя*
ёж-
(8)
(9)
(10) (11)
(12) (13)
Подставляя полученные выражения в (7), получаем:
_ !-y~ä; (удг -ь gj" , т^дг Ад" „Л _ 'О— ^ VjV /-t-A л
а*?- Ъ"- и=АРУ a)ä_r (14) Аналогично:
00 (¡F-eö/viV -к J VjV \ iy-^VjV /г-i Л
Под знаком суммы необходимо учитывать только те ветви, куда входит рассматриваемый нейрон (терм).
Дальнейший расчет различен в зависимости от того, какую операцию композиции мы используем.
Для операции «произведение»:
Я Я Я (
~ -1' (16)
ая? ~ i J~ ati? (17)
так как функции принадлежности независимы друг от друга. В конечном итоге для композиции «произведение» получаем -Üf_ — jZzfilyW (fhvA — я"* Пи
Эй™ ~ ъ' aJlli=±,i*itj № ))> (18)
fle _ (y- d) yjV „, „ч dfl" ГГго
üf - —- о)ЭИш Jlj=wTj })■ (19)
Для операции «минимум» примем, что выходной сигнал второго слоя сети зависит только от параметров минимальных функций. Тогда
— = — min f f^Cx^W =
~ ' - у-"- тх.
^ f о .«си/з^я-
ä^f - f™ = f™ (20) \<№™' /Tiirn /t ■
Аналогично:
^f ~ ££: ^^ = f.™ (2i)
В конечном итоге для композиции «минимум» получаем
_ гт
а. _ - = f?
О, если f™.
—2£= iCCby'* =
(22)
(23)
о■ -
Для сети, построенной в соответствии с алгоритмом Мамдани, значения - определяются динамически с помощью специально введенного слоя. Поэтому они уже не могут быть модифицированы как веса. Следовательно, изменению подлежат только веса и ^г . Аналогично расчетам для алгоритма Ларсена получаем:
&в _ (у— й) , да , дЪ ч
Вв _ {у-ер ¡В а , ВЬ \
дЬ _ & — _ "^л^ ^^
аир ewf1"«-1 - ""-'a»^
где
: : ;= г у. y- = rv У; - v-, т.е. для «сложной» функции
Center(Ск (г*)) = гт-
2
Так как функции принадлежности независимы друг от друга, получаем:
= ^ " — " (24)
асГ й ) , эся'Сг™)
эг™ ëz™
Производные ^-¿rv^"1 и ¿jj™ вычисляются так же, как для сети, построенной по алгоритму
Ларсена. Окончательно получаем
• для композиции «произведение»:
Да _
(■У-сО VjV Л.-А- r^-'f-'g"1' , агд-О^
Se _
a h? ~
уЛ" fbJîft f1 гт [Sgr^^y SC^Îs"1;] Cf ^"у-Сд1Ч^Л dfP1 n„
¿h =1W „m gj« J a >
для композиции «минимум»:
(25)
(26)
ее _
лер "
(27)
ее _ эжТ1 ~~
-«) С-™ РЙР - ^ЙР] - — Я5-=/г
-«)рОР-^ЦР] если = /Г.
I 0 ' (28)
Исследование работы и обучения гибридной системы оценки эффективности инновационных проектов
Формализовать задачу оценки эффективности инновационных проектов с учетом выбранных критериев можно с помощью следующего набора лингвистических переменных (ЛП): допустимый риск; риск проекта;
вероятность коммерческого успеха; время разработки;
вероятность использования в будущих НИОКР; совокупные затраты;
время достижения точки безубыточности; потенциальный годовой размер прибыли; доступность материалов; эффективность проекта.
Для каждого показателя целесообразно ввести по три терма: «низкий», «средний», «высокий» - для ЛП «допустимый риск», «риск проекта», «вероятность коммерческого успеха», «вероятность использования в будущих НИОКР», «совокупные затраты», «доступность материалов»; «маленький», «средний», «большой» - для ЛП «время разработки», «время достижения точки безубыточности», «потенциальный годовой размер прибыли». Для ЛП «эффективность проекта» введем более детальную градацию: «очень низкая», «низкая», «средняя», «высокая» и «очень высокая». База знаний должна содержать нечеткие правила двух типов:
1) отражающие зависимость риска банкротства от каждого из показателей, например: ЕСЛИ Совокупные затраты Высокие, ТО Эффективность проекта Низкая.
2) выражающие взаимосвязь некоторых показателей, например:
ЕСЛИ Совокупные затраты Высокие И Вероятность коммерческого успеха Высокая, ТО Эффективность проекта Средняя.
Обучение системы можно проводить как по результатам различных этапов одного проекта, так и по истории многих инновационных проектов.
В качестве обучающей выборки использовались следующие данные:
Таблица 1
Пример основных показателей проекта
Допустимый риск, % 40 10 10 80
Риск проекта, % 50 50 90 10
Вероятность коммерческого успеха, % 75 30 10 99
Время разработки, мес. 12 20 24 6
Вероятность выполнеши будущих НИОКР на базе этой, % 10 50 14 60
Совокупные затраты, млн руб. 2.3 4 5/7 1,5
Время достижения точки безубыточности, мес. 16 30 30 12
Потенциальный годовой размер прибыли, млн руб. 5 4 5 10.6
Доступность материалов, % 60 30 20 100
Эффективность проекта, % 55,7 21 5,6 89.1
Эффективность алгоритмов обучения можно оценить с помощью величины:
4 ~ " ' С 1 Лг,
где N - количество итераций обучения;
К - количество векторов обучающей выборки;
еи - ошибка на каждом шаге.
В величине q учтена как форма графика функции ошибки, так и значение ошибки на конец обучения.
Чем меньше q, тем эффективнее обучение. Поэтому в качестве критерия эффективности удобно использовать обратную величину:
С}-1 - ^
а (Т« е..У
В статье представлено четыре различные структуры сети: четырехслойные нейронные сети для нечеткого вывода по алгоритму Ларсена с композицией «произведение» и «минимум» и пятислойные нейронные сети для нечеткого вывода по алгоритму Мамдани.
Таким образом, мы имеем возможность сравнить эффективность алгоритма обратного распространения ошибки для сетей с разным количеством слоев и для разных функций активации.
График изменения суммарной погрешности для различных сетей показаны на рис. 6-9. По оси е отложена суммарная погрешность по всем элементам обучающей выборки, по оси N -номер итерации.
Появление возрастающих участков графика и локальных максимумов обусловлено тем, что веса сети корректируются отдельно для каждого элемента обучающей выборки, и эти корректировки могут вступать в противоречие друг с другом. Очевидно, что при минимизации ошибки для одного элемента для других элементов она может увеличиться. Для устранения этого недостатка можно использовать корректировку весов с помощью производной суммарной ошибки по всей выборке, что будет рассмотрено ниже.
Сеть, реализующая алгоритм Мамдани, состоит из пяти слоев, что затрудняет распространение ошибки к нейронам первого слоя. Кроме того, третий слой сети состоит из достаточно сложных функций вычисления центра усеченной функции принадлежности. Эти факты делают алгоритм обратного распространения ошибки для такой сети менее эффективным, чем для сети, реализующей алгоритм Ларсена.
На графике изменения погрешности наблюдаются резкие скачки функции, что также обусловлено функцией вычисления центра, значение которой может существенно меняться даже при незначительном изменении входа, если функция несимметрична. Таким образом, мы можем «перескочить» минимум функции погрешности. Эту проблему можно решить путем уменьшения шага коррекции, но при этом существенно увеличивается время обучения. Поэтому часто в начале обучения берут достаточно большой шаг коррекции, но по мере приближения ошибки к нулю шаг уменьшают. Этот алгоритм будет рассмотрен ниже.
При использовании операции «минимум» корректируются только веса тех нейронов, которые дают минимальные значения на входе нейронов-правил. С одной стороны, это приводит к более резкому уменьшению погрешности за счет обратного прохождения ошибки через ней-рон-минимизатор без изменения. Но, с другой стороны, возможно и резкое возрастание погрешности, что и наблюдается на 2- й итерации, из-за изменения нейрона, дающего минималь-
ное значение. В целом обучение для такой композиции эффективно, если соответствующие изменения весов отрицательны, и неэффективно, если они положительны, так как высок риск «перехода» минимума на другой нейрон.
Модификация алгоритма путем взятия производной суммарной ошибки по всей выборке
Идея модификации состоит в том, чтобы в выражениях для коррекции весов сети использовать производную от суммарной погрешности по всей обучающей выборке, а не по каждому
ее элементу:
\.=i ! - j.i ,=t '
На рис. 10 показан график изменения суммарной погрешности при использовании описанной модификации (форма графика для различных структур сети одинакова).
Из графика видно, что указанная модификация дает более высокую эффективность обучения, чем обычный алгоритм. Функция суммарной погрешности быстро убывает до минимального значения при использовании для обеих сетей и композиций. Однако достигаемый минимум может быть не глобальным, а локальным.
Модификация алгоритма путем уменьшения шага коррекции
Идея данной модификации состоит в том, чтобы по мере приближения к минимуму уменьшать шаг коррекции, чтобы не «пропустить» точку минимума и не допустить роста функции погрешности.
График изменения суммарной погрешности при использовании описанной модификации показан на рис. 11 (форма графика для различных структур сети одинакова).
Из графика видно, что уменьшение шага коррекции ведет к сглаживанию локальных максимумов. В начале обучения, когда шаг коррекции еще велик, наблюдается кратковременный рост ошибки, но затем она эффективно уменьшается. При этом скорость обучения снижается незначительно, в отличие от варианта, когда шаг коррекции мал изначально.
Модификация алгоритма путем введения момента
Идея модификации заключается во введении в рекурсию дополнительного члена, называемого моментом:
w™(n +1} = + 2 + a[w<;>(,0 - - и]. (29)
в котором параметр - ^ ; -
Графики изменения суммарной погрешности при введении момента показаны на рис. 12 и 13.
Заключение
Представленная статья посвящена разработке и созданию методов поддержки принятия решений в задачах оценки эффективности инновационных проектов. За основу взят математический аппарат уточняемых нечетких множеств, что позволяет системе быть одновременно прозрачной для пользователя и способной к обучению. Разработанная система может быть использована и в других задачах поддержки принятия решений в условиях неопределенности. Разработаны структуры гибридных сетей для реализации следующих алгоритмов нечеткого вывода:
- алгоритма Мамдани с композицией «произведение»,
- алгоритма Мамдани с композицией «минимум»,
- алгоритма Ларсена с композицией «произведение»,
- алгоритма Ларсена с композицией «минимум».
Исследована эффективность обучения созданной системы с помощью алгоритма обратного распространения ошибки для различных структур сети и следующие его модификации:
• корректировка весов сразу по всей обучающей выборке,
• уменьшение шага коррекции,
• введение момента.
По результатам исследований сделаны следующие выводы:
Алгоритм обратного распространения ошибки более эффективен при обучении сети, имеющей меньшее количество слоев.
Сеть, содержащая операцию «минимум», менее стабильна при обучении - могут наблюдаться как резкое уменьшение погрешности, так и появление резких локальных максимумов.
Возникновение локальных максимумов обусловлено слишком большим шагом коррекции. Уменьшение шага коррекции по ходу обучения существенно увеличивает эффективность алгоритма, практически устраняя данную проблему. При этом скорость обучения практически не снижается.
Возникновение локальных максимумов обусловлено отдельной коррекцией весов для каждого вектора обучающей выборки. Эта проблема может быть решена путем взятия производной по всей обучающей выборке, что значительно улучшает сходимость алгоритма. Однако эта модификация подвержена попаданию в локальный минимум вместо глобального.
Для сети с композицией «произведение» проблема попадания в локальный минимум решается с помощью введения момента. Для сетей с композицией «минимум» данная модификация неэффективна.
Литература
1. Алексеев А.Н., Волков Н.И., Кочевский А.Н. Элементы нечеткой логики при программном контроле знаний // Открытое образование. - 2004. - № 4.
2. Рогозин О.В. Выбор инструментальных средств анализа качественных характеристик программного обеспечения в области образования, как объекта инвестиций // Открытое образование. - 2009. - № 3.
3. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем: Учебник. - М., 2001.
4. Тельнов Ю.Ф. Интеллектуальные информационные системы в экономике. - М., 2001.
5. Тихомиров В.П., Кондратьев В.К., Филинов Е.Н., Бойченко А.В. Открытые информационные системы дистанционного обучения - основа открытого образования // Открытое образование. — 2001. —№ 3.
ИЗМЕРЕНИЕ ТЕКУЩЕГО БЫСТРОДЕЙСТВИЯ ПРОЦЕССОРОВ И КАЧЕСТВА ПРОГРАММ. СПОСОБЫ ОЦЕНКИ И ПОВЫШЕНИЯ РЕАЛЬНОЙ ПРОИЗВОДИТЕЛЬНОСТИ
Д.А. Суворов, вед. инженер Тел.: (905) 196-98-75; E-mail: [email protected] Филиал ФГУП «РТРС» Нижегородский областной РТПЦ http://www.nortpc.ru
The article is devoted to the problem of discrepancy of the quality of a program code and the architecture of modern processors that results in a low degree of realization of their peak speed at the performance of applications. The creation of multinuclear processors makes the problem worse, because it is not solved for a single kernel. The technique, means of estimation and ways of increase of real productivity of a low productivity code on the system level is offered.
Статья посвящена проблеме несоответствия качества программного кода архитектуре современных процессоров, что проявляется в низкой степени реализации их пикового быстродействия при исполнении приложений. Появление многоядерных процессоров усугубляет проблему, поскольку она не решена для единичного ядра. Предлагается методика, средства оценки и способы повышения реальной производительности низкопродуктивного кода на системном уровне.
Ключевые слова: непосредственное измерение, реальная производительность, текущее быстродействие, качество программ, продуктивность кода, системная производительность, проприетарное и свободное программное обеспечение.
Keywords: direct measurement, real productivity, current speed activity, quality of programms, code efficiency, system productivity, proprietary and free software.
Реальная производительность программно-аппаратных решений остается актуальной с момента создания первых ЭВМ по настоящее время. Развитие технологического процесса по серийному производству процессоров до 45 нм позволила увеличить частоту работы вентилей до 300 Ггц, что дало возможность выполнять современным многоядерным процессорам несколько десятков миллиардов инструкций в секунду. Однако в архитектуре современных вычислительных систем существуют как технические диспропорции, вызванные отставанием от процессоров скорости работы основной памяти, так и программные - несоответствие структуры программ и данных иерар-