Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mon1.doc
Скачиваний:
25
Добавлен:
17.04.2019
Размер:
2.21 Mб
Скачать

1.9. Принципи розробки модельного програмного комплексу

Відзначимо, що отримати об'єктивні характеристики використання різних типів НМ в ЗЗІ на основі тільки теоретичних досліджень їх обчислювальних та “інтелектуальних” можливостей практично не можливо. На наш погляд важливою стороною оцінки має бути пристосованість НМ до програмної реалізації. Вільно поширювані та комерційні програмні додатки, що моделюють НМ як правило функціонують в замкненому режимі, тобто зчитують спеціально підготовлені вхідні дані, згідно команд користувача будують НМ, проходять процес навчання, виводять користувачам параметри НМ після навчання та можуть розпізнавати невідомі образи, знову ж таки зчитуючи для цього спеціально підготовлені вхідні дані. Керування цими додатками реалізується за допомогою власного інтерфейсу. При цьому в них, як правило відсутні спеціальні API функції, що дозволяють керувати ними за допомогою інших програм. Тому переважна більшість відомих прикладних програм, що моделюють НМ не можливо безпосередньо використовувати в програмних ЗЗІ. Ще однією причиною створення спеціалізованого ПЗ є відставання можливостей відомих програмних комплексів від теоретичних досліджень в галузі НМ [45, 47, 75, 79, 81]. Крім того важливим недоліком відомих прикладних програм, що моделюють НМ, як з наукової, так і з практичної точки зору є закритість програмного коду. В багатьох випадках це не дозволяє визначити всі необхідні параметри НМ, оперативно їх змінювати та вносить певні сумніви в результатах функціонування даних програм. Підтвердженням цих сумнівів є результати порівняльного аналізу функціонування НМ побудованих за допомогою програмних пакетів NeuroPro та Deductor. Відзначимо, що NeuroPro є один із найбільш розповсюджених та апробованих в країнах ближнього зарубіжжя, створений Цареградцевим В.Г. в інституті обчислювального моделювання м.Красноярськ. Пакет Deductor також є досить розповсюдженим та входить до складу аналітичної платформи Deductor Lite, створеної російською компанією BaseGroup Labs (www.basegroup.ru). Обидва пакети є програмами, що призначені для вільного розповсюдження. За допомогою кожного з цих пакетів було побудовано ДШП, призначений для апроксимації лінійної функції . Обсяг навчальних даних в обох випадках становив 100 точок, , з кроком 1. Відповідно (119-122), кількість нейронів в схованому шарі 10. Для нейронів схованого шару використовувалась сигмоїдальна функція активації з коефіцієнтом крутизни a=1. Кількість нейронів у вхідному та вихідному шарах 1. Коефіцієнт швидкості навчання 0,1. Для навчання використовувався on-line метод градієнтного спуску з постійним кроком. Помилка узагальнення ДШП оцінювалась за допомогою трьох валідаційних вибірок. В першу валідаційну вибірку входили дані, що лежали в межах навчальної вибірки, але не були використані при навчанні – {9,5; 19,5; 29,5; 39,5; 49,5; 59,5; 69,5; 79,5; 89,5; 99,5}. До другої валідаційної вибірки входили дані, що розташовані не далеко за межами області вхідних даних в інтервалах [-0,5..0] та [100..100,5]. До третьої валідаційної вибірки входили дані, розташовані відносно далеко від меж навчальної вибірки [-10,5..-10] та [109,5..110]. Основні результати порівняння представлені в табл.1.3. Дані наведені в табл. 1.3 свідчать, що як архітектура, так і результати навчання НМ, побудованих за допомогою різних програмних комплексів можуть суттєво відрізнятись між собою. Такий самий висновок наведено і в [29, 79-81].

Таблиця 1.3

Результати порівняння НМ побудованих NeuroPro та Deductor

NeuroPro

Deductor

Вагові коефіцієнти

Відрізняються на 7-100%.

Відносна помилка апроксимації

На навчальних даних

Менша від 1%.

В межах 1-10%

Для однакових точок помилки відрізняються на 5-20%

На першій валідаційній вибірці

1%

5%

На другій валідаційній вибірці

Для х<0 помилка 40%.

Для х>0 помилка 1%

Для х<0 помилка 1000%.

Для х>0 помилка 6%

На третій валідаційній вибірці

Для х<0 помилка 40%.

Для х>0 помилка 3%

Для х<0 помилка 100%.

Для х>0 помилка 11%

Ще одним недоліком проведення порівняльного аналізу НМ за допомогою відомих програмних комплексів є складність оцінки швидкості розпізнавання образів в ЗЗІ та обсяг програмної реалізації. Причиною цього є те, що вказані характеристики багато в чому визначаються інтерфейсною частиною. Тому, для об'єктивної оцінки застосування різних типів НМ доцільно розробити спеціальне ПЗ. Недоліком цього рішення є складність та трудомісткість, пов’язана як з створенням власне програмного коду, так і з деякою неоднозначність опису практичних аспектів НМ. Вирішити цю неоднозначність можливо тільки експериментальним шляхом.

Розглянемо передумови використання ПЗ створення НМ. Насамперед слід врахувати, що важливою вимогою до НМ, які використовуються ЗЗІ є їх реалізація за допомогою надійного ПЗ яке можливо без особливих зусиль застосувати в контурах контролю та управління. Можливі шляхи взаємодії програмних комплексів ЗЗ з НМ показані на рис. 1.21.

Рис. 1.21 Взаємодія програмних комплексів ЗЗ з НМ

Відповідно рис.1.21 реалізувати цей постулат можливо:

  • Прямим включенням програмного коду, що моделює НМ.

  • Передбачити, що інші програмні комплекси можуть використовувати програмні додатки НМ за допомогою викликів API функцій. Для цього при розробці програм моделювання НМ призначених для функціонування в операційній системі Windows можливо реалізувати їх у вигляді “класичних” Dll бібліотек, або у вигляді елементів ActiveX або компонентів Com/Dcom/Com+. Якщо ж програмний код повинен функціонувати в операційних системах сімейства Unix/Linux, або має бути мультиплатформеним, створювати НМ можливо у вигляді аплетів Java, або компонентів Java Beans та Java Enterprise Beans та компонентів C# [44, 51, 52, 61, 69, 72, 92].

  • Передбачити, що інші програмні комплекси можуть використовувати НМ за допомогою запуску відповідних програм з певними параметрами командного рядка. Врахуємо, що передавати дані між НМ та ЗЗ можливо як за допомогою файлів, так і за допомогою механізмів передачі даних між різними програмними процесами, включаючи мережеві з'єднання. По цій причині параметрами командного рядка можуть бути: ім'я файлу з навчальною вибіркою, ім'я файлу в якому буде зберігатись архітектура НМ, ім'я файлу з невідомими даними, ім'я файлу для вихідних даних, задані величини параметрів навчання та розпізнавання НМ, параметри передачі даних між програмним процесом НМ та ЗЗ. Відзначимо, що одною із основних вимог до компонентів управління і контролю ЗЗ є мінімізація терміну створення управляючого сигналу. З цієї точки зору, найефективнішими засобами створення промислових НМ є мови програмування Assembler, С та С++. Можливо стверджувати, що промисловим стандартом для програм, пристосованих до ОС Windows є Visual C++. Про те використання цих засобів для вирішення наукових задач неефективне з точки зору великого обсягу програмного коду, складності виявлення помилок в алгоритмі задачі та складності програмування інтерфейсної частини, що призводить до високих трудових затрат. Тому в якості мови програмування доцільно вибрати Visual Basic. Крім іншого, перевагами такого вибору є:

  • Відносна простота та компактність програмного коду, що дозволяє швидко локалізувати логічні помилки та усувати помилки при кодуванні. Як кінцевий результат, значно скорочуються трудові затрати на розробку НМ.

  • Висока спорідненість з мовою програмування Visual C++, яка дозволяє без значних зусиль перекодувати НМ на цю мову програмування.

  • Наявність вбудованих бібліотек для створення інтерфейсу користувача.

  • Наявність розвинених засобів для використання баз даних та електронних таблиць, що значно спрощує підготовку експериментальних даних, обробку та інтерпретацію отриманих результатів.

  • Простота реалізації НМ як у вигляді звичайного exe-файлу, так і у вигляді класичної Dll бібліотеки, елемента ActiveX та компонента Com/Dcom/Com+.

  • Не критичність наукових програмних комплексів до терміну створення управляючого сигналу.

  • Порівняння швидкодії різних типів НМ, створених за однаковими правилами та на одній і тій же мові програмування, мало залежить від того що використовувалось Visual Basic чи Visual C++.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]