Нейронні мережі генетичні алгоритми та нечіткі системи. Нейронні мережі, генетичні алгоритми та нечіткі системи (500,00 руб.). Нечітка логіка в ПІД-регуляторах

Апарат нечітких множин та нечіткої логіки вже давно з успіхом застосовується для вирішення завдань, у яких вихідні дані є ненадійними та слабо формалізованими. Сильні сторони такого підходу.

Опис умов та методу вирішення задачі мовою, близькою до природної;

Універсальність: згідно з теоремою FAT (Fuzzy Approximation Theorem), доведеною Б Коско (В. Kosko) у 1993 р., будь-яка математична система може бути апроксимована системою, заснованою на нечіткій логіці;

Ефективність (пов'язана з універсальністю), що пояснюється рядом теорем, аналогічних теорем про повноту для штучних нейронних мереж, наприклад, теореми виду: для кожної речовинної безперервної функції заданої на компакті і для довільного існує нечітка експертна система, що формує вихідну функцію таку, що

де - Символ прийнятої відстані між функціями.

Водночас для нечітких систем характерні й певні недоліки:

Вихідний набір неправильних правил, що постулюються, формулюється експертом-людиною і може виявитися неповним або суперечливим;

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

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

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

Перший шар нейронів виконує функцію запровадження нечіткості (fuzzification) з урахуванням заданих функцій належності входів;

Другий шар відображає сукупність нечітких правил;

Третій шар виконує функцію доведення до чіткості (defuzzification).

Кожен із цих шарів характеризується набором параметрів (функціями приналежності, нечіткими вирішальними правилами, активаційними функціями, вагами зв'язків), налаштування яких проводиться, насправді, як і, як і звичайних нейронних мереж.

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

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

1

Ця стаття описує варіант побудови структури генетичного алгоритму, і навіть можливість застосування таких алгоритмів завдання навчання нейронних мереж. У статті проведено аналіз та виділено переваги генетичних алгоритмів у пошуку оптимальних рішень порівняно з класичними методами. Детально описано схему побудови кожного кроку генетичного алгоритму, у тому числі розглянуто роботу різних операцій мутації, таких як мутація на основі збільшення і класичний оператор мутації. Крім того, запропоновано новий оператор мутації, що включає алгоритми роботи описаних вище операторів мутації. Також наведено схему представлення даних штучної нейронної мережі у вигляді генетичного матеріалу для можливості подальшої обробки даних за допомогою генетичних алгоритмів, у тому числі наведено схему перетворення даних, що зберігаються в матриці, в одну хромосому, що дозволяє скоротити кількість ітерацій у процесі навчання мережі.

генетичний алгоритм

навчання нейронної мережі

1. Аксьонов С.В., Новосельцев В.Б. Організація та використання нейронних мереж (методи та технології) / за заг. ред. В.Б. Новосільцева. - Томськ: Вид-во НТЛ, 2006. - 128 с.

2. Батиршин І.З. Нечіткі гібридні системи. Теорія та практика / за ред. Н.Г. Ярушкіної. - М.: ФІЗМАТЛІТ, 2007. - 208 с.

3. Гладков Л.А. Генетичні алгоритми/Л.А. Гладков, В.В. Курейчик, В.М. Курейчик. - М.: ФІЗМАТЛІТ, 2006. - 320 с.

4. Осовський С. Нейронні мережі для обробки інформації / пров. з польського І.Д. Рудинського. - М.: Фінанси та статистика, 2002. - 344 с.

Найбільш прийнятним способом налаштування вагових коефіцієнтів штучних нейронних мереж вважатимуться генетичні алгоритми. Це пов'язано з тією обставиною, що на початковій стадії немає абсолютно ніякої інформації про напрям руху в плані налаштування ваг матриці. У разі невизначеності еволюційні методи, зокрема й генетичні алгоритми, мають найвищі шанси задля досягнення необхідних результатів. Класичний генетичний алгоритм оперує двійковою системою числення, хоча останнім часом найчастіше зустрічаються роботи, у яких оператори генетичних алгоритмів виконують операції з безліччю дійсних чисел. Це дозволяє суттєво розширити можливості застосування описуваних алгоритмів.

Розглянемо математичну модель поставленого завдання. Даний вектор Xз розмірністю 256, який являє собою закодоване зображення відомого символу, що розпізнається. Також є вектор Yз розмірністю 10, який відображає необхідний результат розпізнавання, що вказує на належність символу до еталонного зразка. Необхідно знайти вагову матрицю W, елементами якої є речові числа у відрізку , щоб виконувалася рівність:

X* W =Y (1)

Необхідно здійснити налаштування вагової матриці Wза допомогою генетичного алгоритму. У рамках розв'язуваної задачі матриця має таку розмірність: кількість рядків дорівнює 10, що являє собою всі символи, що описують арабські цифри; кількість стовпців визначається розміром знайомства, що відводиться під кожен символ, 256 стовпців.

З погляду очевидності та простоти розуміння слід кожен стовпець матриці ваг розглядати як хромосому, що призведе до наявності 256 хромосом, які в сукупності відображатимуть кожну особину. Проте за практичної реалізації набагато зручніше використовувати простішу структуру, хоч і менш наочну. Це з тим, що досить важко реалізувати операції кросинговера і мутації за наявності кількох хромосом. Кожна особина в генетичному алгоритмі, що розробляється, можна представити у вигляді тільки однієї хромосоми, що значно спростить програмну реалізацію на ЕОМ. Цього можна досягти в такий спосіб. Хромосома буде починатися з першого стовпця матриці терезів, і кожен наступний стовпець просто додаватиметься в кінець вже існуючої «єдиної» хромосоми. Цей метод проілюстровано малюнку 1.

Мал. 1. Перетворення вагової матриціW у векторні вагиVw.

Класичний генетичний алгоритм складається з низки найважливіших етапів. Фактично дані етапи можна розташувати у хронологічному порядку.

  1. ІНІЦІАЛІЗАЦІЯ - формування вихідної популяції.
  2. ОЦІНКА ПРИСУТНОСТІ - обчислення функції придатності кожної особини (у разі хромосоми).
  3. СЕЛЕКЦІЯ - вибірка на основі оцінки пристосованості найбільш пристосованих хромосом, яким буде надано право участі в операціях кросинговеру.
  4. Кросинговер - схрещування двох особин.
  5. МУТАЦІЯ - навмисна штучна зміна певних генів у хромосомах особини.
  6. ФОРМУВАННЯ НОВОЇ ПОПУЛЯЦІЇ - зниження кількості особин з урахуванням оцінки пристосованості разом із вибором «найкращої» особини.
  7. ПЕРЕВІРКА КРИТЕРІЯ ЗУПИНКИ АЛГОРИТМУ - якщо необхідну умову пошуку досягнуто - вихід, інакше - перехід до етапу № 3.
  8. ВИНЯТТЯ НАЙКРАЩОГО РІШЕННЯ - найкращим рішенням вважається особина з максимальним значенням функції придатності.

Усі описані етапи є абсолютно справедливими у межах розв'язуваного завдання. Практична реалізація першого кроку будь-якого генетичного алгоритму в більшості випадків є нічим іншим, як ініціалізацією випадковим чином. Кожному гену будь-якої хромосоми надається випадкове значення з інтервалу допустимих значень. Відповідно, при налаштуванні вагової матриці W кожен ген отримає генетичну інформацію у вигляді випадкового значення у відрізку . Програмна реалізація такого методу ініціалізації є найпростішою і має свої переваги та недоліки. Переваги полягають у наступному.

  • Не потрібне застосування додаткових алгоритмів.
  • Ініціалізація виконується швидко та не завантажує ЕОМ.
  • Зменшено шанси потрапляння до локального оптимуму.

Як недолік можна відзначити відсутність у алгоритмі накопичених знань про настроювані коефіцієнти. Отже, внаслідок етапу ініціалізації є готова населення рішень. Незважаючи на абсурдність, можна говорити про наявність рішення на першому етапі. Після отримання вихідної популяції проводиться перехід другого етапу - оцінці пристосованості.

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

Етап селекції передбачає вибір тих особин, генетичний матеріал яких братиме участь у формуванні наступної популяції рішень, тобто. у створенні чергового покоління. Вибір, що описується, проводиться згідно з принципом природного відбору, завдяки якому максимальні шанси мають особини з найбільшими значеннями функції придатності. Розрізняють досить багато методів селекції. Одним з найвідоміших і найчастіше застосовуваних є метод «рулетки». Така назва інтуїтивно допомагає зрозуміти її принципи. Кожна особина отримує певний сектор на «колесі», розмір якого залежить від значення функції придатності.

Звідси випливає, що чим вище значення функції придатності, тим більше розмір сектора на «колісі рулетки». Очевидно, що чим більше сектор, тим вища ймовірність «перемоги» відповідної особи. І, як наслідок, ймовірність вибору певної особини виявляється пропорційною до значення її функції пристосованості. Використання методу рулетки часто призводить до передчасної збіжності алгоритму, яка полягає в тому, що в популяції починають домінувати кращі особини, але не оптимальні. Через кілька поколінь населення майже повністю складатиметься з копій найкращих особин. Однак дуже малоймовірно, що досягнуте рішення буде оптимальним, оскільки вихідна популяція генерується випадковим чином і є лише малою частиною простору пошуку. Щоб запобігти передчасній збіжності генетичного алгоритму, використовується масштабування функції пристосованості. Масштабування функції придатності дозволяє виключити ситуацію, коли середні та кращі особини починають формувати однакову кількість схожих нащадків у наступних поколіннях, що є вкрай небажаним явищем. Слід зазначити, що масштабування також запобігає випадкам, коли, незважаючи на значну неоднорідність популяції, середнє значення функції пристосованості мало відрізняється від максимального. Отже, масштабування функції пристосованості не що інше, як перетворення її виду. Виділяють три основні перетворення: лінійне, статечне та сигма-відсікання. У розробленому алгоритмі використовується перетворення сигма-відсікання.

, (2)

де а- мале число, як правило, від 1 до 5; - Середнє значення функції пристосованості по популяції; δ - стандартне відхилення щодо популяції. У разі коли отримані значення перетвореної функції будуть негативні, їх прирівнюють до 0.

Також можна певною мірою модифікувати даний метод селекції або будувати селекцію на основі синтезу кількох методів.

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

Схрещування є найважливішим оператором генетичного алгоритму, оскільки саме з допомогою оператора кросинговера здійснюється обмін інформацією між рішеннями. Нащадки містять комбінацію специфічних особливостей обох батьків. Ефективність роботи будь-якого генетичного алгоритму знаходиться у прямій пропорційній залежності від ефективності операції кросинговера. Крім того, продуктивність генетичного алгоритму залежить від успішності роботи кросинговеру в першу чергу. У рамках вирішуваного завдання реалізовано впорядкований оператор кросинговера. Упорядкований кросинговер здійснює поетапне рутинне перетворення генетичного матеріалу, наближаючись до оптимального рішення.

На рис. 2 зображено процес отримання нових особин з використанням упорядкованого кросинговеру. Є дві батьківські хромосоми: Vw1 та Vw2. Генетичним матеріалом є речові числа від 0 до 1. Упорядкований кросинговер працює наступним чином. Спочатку випадковим чином визначається «точка, що розрізає». На наступному етапі перший нащадок New_Vw1 успадковує ліву частину батьківської хромосоми Vw1. Заповнення генів нової хромосоми, що залишилися, здійснюється за рахунок інформації, що зберігається у другого батька Vw2. Алгоритм переглядає хромосому Vw2 від початку і здійснює вилучення генів, які від генів, що вже перебувають у нащадку, більш як величину e = 0,02. Мала величина e задається алгоритмі визначення «спорідненості» генів. З кожним наступним кроком, а особливо завершальних етапах алгоритму, має сенс зменшувати значення цієї величини задля досягнення точніших результатів. Аналогічна процедура виконується при отриманні другого нащадка New_Vw2. Другий нащадок New_Vw2 успадковує ліву частину батьківської хромосоми Vw2. Заповнення решти генів одержуваної хромосоми здійснюється за рахунок інформації, що знаходиться у другого з батьків Vw1.

Мал. 2. Принцип роботи впорядкованого кросинговеру.

Алгоритм здійснює аналіз хромосоми Vw1 з першого гена і здійснює впорядковане вилучення генів, які відрізняються від генів, що вже перебувають у нащадку, більш ніж на величину e = 0,02. Внаслідок роботи кожного оператора схрещування у популяції з'являються дві нові особини. Щоб контролювати кількість операцій кросовера, використовується коефіцієнт схрещування. K k, Який визначає частку вироблених кожної ітерації нащадків. Кількість нащадків визначається такою формулою:

Count p =round(Size p* K k)*2, (3)

де Size p- Розмір популяції, Count p- кількість одержуваних нащадків, round- Операція округлення.

Високе значення коефіцієнта схрещування K kдозволяє збільшити кількість областей простору пошуку та зменшує небезпеку попадання в локальний оптимум, проте занадто велике значення зазначеного параметра призведе до збільшення часу роботи алгоритму, а також надмірного дослідження малоперспективних областей пошукового простору.

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

У рамках вирішення оптимізаційних завдань найбільше значення мають генні мутації, які найчастіше торкаються одного або кількох генів. Мутація може виглядати будь-яким чином, чи це обмін генів своїми позиціями або копіювання значення іншого гена і т.д. У кожному генетичному алгоритмі необхідно визначитися із вибором виду мутації. У аналізованому генетичному алгоритмі гени містять у собі речові числа від 0 до 1. Відповідно до цього оператор мутації має вносити конкретні зміни у генетичний матеріал, тобто. змінювати значення певних генів, не спираючись на існуючі гени. Суть розробленого оператора мутації ось у чому. У досліджуваній хромосомі випадково виділяють також випадкову кількість генів. Коефіцієнт мутації K mвизначає інтенсивність мутацій. Він визначає частку генів, підданих мутації на поточній ітерації, для їх загальна кількість. Якщо коефіцієнт мутації занадто малий, то вийде ситуація, за якої безліч корисних генів просто не існуватимуть у популяції. У той самий час використання великого значення коефіцієнта мутації призведе до безлічі випадкових збурень і значно збільшить час пошуку. Нащадки перестануть бути схожими на батьків, алгоритм більше не матиме можливості навчатися на основі збереження спадкових ознак. До обраних генів застосовують перетворення, що викликає зміну значення поточного гена деяку невелику величину. Величина вибирається з таким обліком, щоб після зміни значення i-го гена він знаходився у відрізку.

Мал. 3. Випадкова мутація з урахуванням збільшення.

На рис. 3 показано, як виконується мутація, використовуючи збільшення. Гени з номерами 2 і 45 успішно набули нового значення, що призведе до зміни показань функції придатності мутируючої особини. Тоді як мутація гена номер 6 виявилася неприйнятною і була проігнорована. Використання мутацій на основі прирощення дозволяє вносити в популяцію новий генетичний матеріал. Це призведе до збільшення простору пошуку, що необхідно для ефективного пошуку оптимуму. Зрозуміло, має сенс скористатися класичним оператором мутації, в основі якого лежить випадкова зміна порядку генів. Це також призводить до отримання досить хороших результатів на ранніх етапах роботи генетичного алгоритму. При вирішенні цієї задачі також використовується багатоточковий оператор мутації. Алгоритм випадково відповідно до коефіцієнта інтенсивності мутації вибирає кілька генів, значення яких далі змінюються зі значеннями сусідніх генів. Робота класичного багатоточкового оператора мутації зображено на рис. 4.

Використання одному алгоритмі відразу кількох видів оператора мутації дозволяє здійснити ефективний пошук оптимального рішення. Що дозволяє протягом короткого часу отримати непогані результати, а також виділити найбільш придатні для вивчення «околиці рішень».

Оператор мутації застосовується до нащадків особин, які отримують після операції схрещування. Особи з мутаціями залишаються у популяції на початок етапу «формування нової популяції». Кількість особин, що мутують, визначається формулою:

,

де K m k- Коефіцієнт класичної мутації; K m δ- Коефіцієнт мутації на основі δ- зміщення; K m- загальний коефіцієнт мутації; Count m- кількість особин, які зазнали мутації; Count p- кількість нащадків; round- Операція округлення.

Мал. 4. Класичний багатоточковий оператор мутації.

З формули видно, що алгоритм дозволяє у відсотковому співвідношенні регулювати баланс між класичним багатоточковим оператором мутації та мутацією, заснованої на d-збільшенні. За допомогою цієї функції можна підлаштовувати алгоритм під умови конкретного завдання. При збільшенні частки використання класичного оператора мутації збільшується ретельність пошуку в околиці кращих рішень на основі поточного генетичного матеріалу, а зі збільшенням частки мутацій, заснованих на збільшенні відповідно зростає загальний простір пошуку і відбувається оновлення генного складу популяції.

Наступним етапом розробленого генетичного алгоритму формування нової популяції. Наскільки сильно зросла чисельність популяції, визначається загальним коефіцієнтом мутації K mта коефіцієнтом схрещування K k. У загальному вигляді поточна чисельність популяції обчислюється за такою формулою:

Size p =Size p +Count p +Count m, (5)

де Count p- кількість отриманого потомства, Count m- кількість особин, отриманих у результаті мутацій, а Size p- Чисельність популяції.

p align="justify"> Етап формування нової популяції призначений для того, щоб повернути чисельність популяції до її вихідного значення. Значення функцій придатності особин - батьків, які перебували у популяції, відомо. Алгоритм здійснює оцінку придатності особин - нащадків, отриманих в результаті операції кросинговера, а також оцінку особин, отриманих в результаті роботи оператора мутації. За підсумками отриманих значень функції придатності кожної особи нової популяції виробляється видалення тих особин, які мають значення функції придатності найменші. Алгоритм реалізує це завдання шляхом послідовного видалення особини з мінімальним значенням функції придатності до тих пір, поки чисельність популяції не повернеться до початкового значення. Кількість «відмерлих» особин обчислюється за такою формулою:

Count d =Count p +Count m, (6)

де Count d- кількість «відмерлих» особин, Count p- кількість отриманих нащадків, Count m- кількість особин, одержаних за допомогою оператора мутації.

На етапі формування нової популяції також виконується пошук найкращого рішення - тієї особини, яка має максимальне значення функції придатності. Ця операція виконується по тому, як чисельність популяції встановилася у вихідну величину. Після вибору найкращої особи алгоритм передає управління процесом наступному етапу - перевірці зупинки алгоритму.

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

Таким чином, в результаті роботи генетичного алгоритму отримано набір вагових коефіцієнтів, що забезпечують коректну роботу нейронної мережі. Також варто наголосити на тому факті, що використання спеціального оператора мутації дозволило скоротити час навчання мережі. Для навчання було обрано навчальну множину з 180 елементів. Час навчання на цій множині за допомогою описаного генетичного алгоритму з використанням мутації на основі збільшення нечіткої мережі Ванга-Менделя склало 2 хв. 50 сек., Навчання з використанням алгоритму із застосуванням класичного багатоточкового оператора мутації тривало 3 хв. 10 сек., А застосування гібридного оператора мутації дозволило скоротити час навчання до 1 хв. 20 сек. Таким чином, отриманий генетичний алгоритм дозволяє скоротити час пошуку найкращого рішення у рамках поставленого завдання.

Кросинговер - схрещування двох особин.

Бібліографічне посилання

Міщенко В.А., Коробкін О.О. ВИКОРИСТАННЯ ГЕНЕТИЧНИХ АЛГОРИТМІВ В НАВЧАННІ НЕЙРОННИХ МЕРЕЖІВ // Сучасні проблеми науки та освіти. - 2011. - № 6.;
URL: http://science-education.ru/ru/article/view?id=5138 (дата звернення: 23.03.2020). Пропонуємо до вашої уваги журнали, що видаються у видавництві «Академія Природознавства»

ПІД-регулятори, описані вище, мають погані показники якості при керуванні нелінійними та складними системами, а також за недостатньої інформації про об'єкт управління. Характеристики регуляторів у деяких випадках можна покращити за допомогою методів нечіткої логіки, нейронних мереж та генетичних алгоритмів. Перераховані методи за кордоном називають "soft-computing", підкреслюючи їхню відмінність від "hard-computing", що полягає в можливості оперувати з неповними та неточними даними. В одному контролері можуть застосовуватися комбінації перерахованих методів (фаззі-ПІД, нейро-ПІД, нейро-фаззі-ПІД регулятори з генетичними алгоритмами).

Основним недоліком нечітких та нейромережевих контролерів є складність їх налаштування (складання бази нечітких правил та навчання нейронної мережі).

5.7.1. Нечітка логіка в ПІД-регуляторах

Нечіткий висновок виконується в такий спосіб. Припустимо, що область зміни помилки розділена на множини, область зміни керуючого впливу - на множини і що за допомогою експерта вдалося сформулювати наступні правила роботи регулятора [Astrom]:

Правило 1: якщо = і = , то =

Правило 2: якщо = і = , то =

Правило 3: якщо = і = , то =

Правило 4: якщо = і = , то =

Правило 5: якщо = і = , то =

Правило 6: якщо = і = , то =

Правило 7: якщо = і = , то =

Правило 8: якщо = і = , то =

Правило 9: якщо = і = , то = .

Наведені правила часто записують у компактнішій табличній формі (рис. 5.91).

Використовуючи правила, можна отримати значення змінної, що управляє, на виході нечіткого регулятора. Для цього необхідно визначити функцію приналежності змінної множині, утвореної в результаті виконання операцій виведення над множинами, що входять до системи правил (5.118).

e

Мал. 5.91. Подання нечітких правил у табличній формі

Операція "І" у правилах (5.118) відповідає перетину множин, а результат застосування всіх правил відповідає операції об'єднання множин [Рутковська]. Функція приладдя для перетину двох множин, наприклад, і (див. Правило 1) знаходиться як [Рутківська]

Функції приналежності, отримані при перетині або об'єднанні множин, можуть бути визначені різними способами, залежно від сенсу завдання, що розв'язується. У цьому сенсі сама теорія нечітких множин теж є нечіткою. У [Рутковська] наводиться 10 різних визначень функції приналежності для перетину множин, але не сказано, яке з них потрібно вибрати для вирішення конкретного завдання. Використовують, зокрема, більш зрозумілу операцію знаходження функцій належності у разі перетину та об'єднання множин, що має аналогію з правилами множення та складання ймовірностей:

Однак застосування перших двох способів знаходження функції приналежності зазвичай краще, т.к. при цьому зберігається більшість правил, розроблених для звичайних множин [Усков].

Функції приналежності кожного з множин , які входять у нечітку змінну в правилах (5.118), виходять у вигляді [Рутковская ]

Тут кожне з 9 рівнянь відповідає одному з правил (5.118). Результуюча функція власності керуючого впливу, отримана після застосування всіх 9-ти правил, перебуває як об'єднання функцій власності всіх правил:

Тепер, коли отримана результуюча функція власності управляючого впливу , виникає питання, яке саме значення управляючого впливу необхідно вибрати. Якщо використовувати ймовірну інтерпретацію теорії нечітких множин, то стає зрозуміло, що таке значення можна отримати за аналогією з математичним очікуванням керуючого впливу у вигляді:

.

Такий спосіб дефазифікації є найпоширенішим, але не єдиним.

Для побудови нечітких регуляторів зазвичай використовують П, І, ПІ та ПД ПД+І, ПІ+Д та ПІД-закони регулювання [Mann]. Як вхідні сигнали для системи нечіткого виведення використовують сигнал помилки, збільшення помилки, квадрат помилки та інтеграл від помилки [Mann ]. Реалізація нечіткого ПІД регулятора викликає проблеми, оскільки він повинен мати тривимірну таблицю правил відповідно до трьох доданків у рівнянні ПІД-регулятора, яку надзвичайно складно заповнити, користуючись відповідями експерта. Багато структур ПІД-подібних нечітких контролерів можна знайти у статті [Mann].

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

Застосування нечіткої логіки для підстроювання коефіцієнтів ПІД-регулятора

Налаштування регулятора, виконане методами, викладеними в розділах "Розрахунок параметрів" та "Автоматичне налаштування та адаптація" , не є оптимальним і може бути покращено за допомогою подальшого підстроювання. Підстроювання може бути виконане оператором на підставі правил (див. розділ "Ручне налаштування, засноване на правилах") або автоматично за допомогою блоку нечіткої логіки (рис. 5.92). Блок нечіткої логіки (фаззі-блок) використовує базу правил підстроювання та методи нечіткого виведення. Фаззи-підстроювання дозволяє зменшити перерегулювання, знизити час встановлення та підвищити робастність ПІД-регулятора [Yesil].

Процес автоналаштування регулятора за допомогою блоку нечіткої логіки починається з пошуку початкових наближень коефіцієнтів регулятора. Це зазвичай методом Зиглера-Никольса, з періоду своїх коливань у замкнутої системі і петлевого посилення. Далі формулюється критеріальна функція, необхідна пошуку оптимальних значень параметрів налаштування методами оптимізації.

У процесі налаштування регулятора використовують кілька кроків [Hsuan]. Спочатку вибирають діапазони вхідних та вихідних сигналів блоку автоналаштування, форму функцій належності шуканих параметрів, правила нечіткого виведення, механізм логічного виведення, метод дефазифікації та діапазони масштабних множників, необхідних для перерахування чітких змінних у нечіткі.

Пошук параметрів регулятора виконується методами оптимізації. Для цього вибирається цільова функція як інтеграл від суми квадратів помилки регулювання та часу встановлення. У критерій мінімізації іноді додають швидкість наростання вихідної змінної об'єкта.

Як параметри (параметрів, які треба знайти) вибирають положення максимумів функцій приналежності (див. рис. 5.90) ​​і масштабні коефіцієнти на вході і виході фаззи-блока. До завдання оптимізації додають обмеження діапазон змін позицій функцій приналежності. Оптимізація критеріальної функції може бути виконана, наприклад, генетичних алгоритмів.

Слід зазначити, що у випадках, коли інформації достатньо отримання точної математичної моделі об'єкта, традиційний регулятор завжди буде краще нечіткого тому, що при синтезі нечіткого регулятора вихідні дані задані наближено.

5.7.2. Штучні нейронні мережі

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

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

Нейронні мережі були запропоновані в 1943 р. Мак-Каллоком і Піттсом як наслідок вивчення нервової діяльності та біологічних нейронів. Штучний нейронє функціональним блоком з одним виходом і входами , який реалізує в загальному випадку нелінійне перетворення , де - вагові коефіцієнти (параметри) при вхідних змінних; - постійне усунення; - " функція активаціїнейрона, наприклад, виду (сигмоїдальна функція), де – деякий параметр. Нейронна мережа (рис. 5.93) складається з безлічі пов'язаних між собою нейронів, кількість зв'язків може становити тисячі. Завдяки нелінійності функцій активації та великій кількості настроюваних коефіцієнтів (у роботі [Kato] використано 35 нейронів у вхідному шарі і 25 у вихідному, при цьому кількість коефіцієнтів склала 1850) нейронна мережа може виконувати нелінійне відображення безлічі вхідних сигналів у безліч вихідних.

Типова структура системи автоматичного регулювання з ПІД-регулятором та нейронною мережею як блок автоналаштування показана на рис. 5.94 [Kawafuku, Kato]. Нейронна мережа у цій структурі виконує роль функціонального перетворювача, який кожного набору сигналів виробляє коефіцієнти ПІД-регулятора .метод зворотного поширення помилки) [Терехов ]. Використовуються також інші методи пошуку мінімуму, зокрема генетичні алгоритми, метод моделювання відпалу, метод найменших квадратів.

Процес навчання нейронної мережі виглядає так (рис. 5.95). Експерту надають можливість підлаштовувати параметри регулятора в замкнутій системі автоматичного регулювання за різних вхідних впливів. Передбачається, що експерт уміє це робити із достатньою для практики якістю. Тимчасові діаграми (осцилограми) змінних, отримані в системі, що підлаштовується експертом, записуються в архів і потім подаються на нейронну мережу, підключену до ПІД-регулятора (рис. 5.95).

Мал. 5.95. Схема навчання нейронної мережі в блоці автоналаштування

Тривалість процесу навчання є основною перепоною на шляху широкого використання методів нейронних мереж у ПІД-регуляторах [Усков]. Іншими недоліками нейронних мереж є неможливість передбачення похибки регулювання для вхідних дій, які не входили в набір навчальних сигналів; відсутність критеріїв вибору кількості нейронів у мережі, тривалості навчання, діапазону та кількості навчальних впливів. У жодній із публікацій не досліджувалася робастність чи запас стійкості регулятора.

5.7.3. Генетичні алгоритми

1. Вибір вихідної популяції хромосом розміру N.

2. Оцінка адаптації хромосом у популяції.

3. Перевірка умови зупинення алгоритму.

4. Селекція хромосом.

5. Застосування генетичних операторів.

6. Формування нової популяції.

7. Перехід до п. 2.

Для роботи алгоритму потрібно задати нижню і верхню межі зміни параметрів, ймовірність схрещування, ймовірність мутації, розмір популяції і максимальну кількість поколінь.

Початкова популяція хромосом генерується випадковим чином. Пристосованість хромосом оцінюється за допомогою цільової функції кодованої форми. Далі, хромосоми з найкращою пристосованістю збираються до групи, в межах якої виконуються генетичні операції схрещування або мутації. Схрещування дозволяє одержати від двох батьків перспективного нащадка. Оператор мутації вносить зміни до хромосом. У разі двійкового кодування мутація полягає у зміні випадкового біта у двійковому слові.

Мал. 5.97), потім відбувається обмін генетичною інформацією, розташованою праворуч від обраної позиції [Fleming].

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

Оцінка пристосованості хромосом у популяції для оцінки коефіцієнтів ПІД-регулятора може бути обрана, наприклад, як

,

де – поточне значення помилки регулювання, – час.

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

ISBN 978-5-9912-0320-3 Сайт видавництва: www.techbook.ru Нейронні мережі, генетичні алгоритми та нечіткі системи <...> Нейронні мережі, генетичні алгоритми та нечіткі системи: Пров. з польськ.<...>ББК 30.17 Адреса видавництва в Інтернет www.techbook.ru Наукове видання Рутковська Данута, Пилинський Мачей, Рутковський Лешек НЕЙРОНІ МЕРЕЖІ, ГЕНЕТИЧНІ АЛГОРИТМИ І нечіткі системи 2-е видання, стереотипне Редактор А. С.<...> Адаптивнийлінійний зважений суматоріз сигмоїдою на виході.<...> Приклади оптимізації <...> Приклади оптимізаціїфункції за допомогою програми Evolver . <...>Вирішення комбінаторних завдань за допомогою програми Evolver . <...> Приклади оптимізаціїфункції за допомогою програми FlexTool.<...> Приклади оптимізаціїфункції за допомогою програми Evolver . <...>Далі наводяться два алгоритму алгоритмзворотного поширення помилки алгоритм <...>Далі наводяться два алгоритмунавчання багатошарових нейронних мереж: класичний і найчастіше застосовуваний алгоритмзворотного поширення помилки, а також значно швидший алгоритм, заснований на рекурентному методі найменших квадратів<...> алгоритмунавчання цих мереж: алгоритмзворотного поширенняпомилки та рекурентний алгоритм <...>Тому в цьому розділі ми обговоримо насамперед базові елементи багатошарових нейронних мереж – персептрон та системи типу Адалайн (з лінійним та нелінійним виходом), після чого визначимо два алгоритмунавчання цих мереж: алгоритмзворотного поширенняпомилки та рекурентний алгоритмметоду найменших квадратів.<...>Персептрон 23 Гіперплощина<...>

Нейронні_мережі,_генетичні_алгоритми_і_нечіткі_системи.pdf

Д. Рутковська М. П абоньський Л. Рутковський Нейронні мережі, генетичні алгоритми та нечіткі системи Гаряча лінія-телеком

стор.1

Нейронні_мережі,_генетичні_алгоритми_і_нечіткі_системи_(1).pdf

2-ге видання

стор.3

УДК 681.322 ББК 30.17 Р90 Рутковська Д., Пілінський М., Рутковський Л. Р90 Нейронні мережі, генетичні алгоритми та нечіткі системи: Пер. з польськ. І. Д. Рудінського. - 2-ге вид., Стереотип. - М.: Гаряча лінія - Телеком, 2013. - 384 c.: іл. ISBN 978-5-9912-0320-3. Книжку присвячено питанням «інтелектуальних обчислень». Містить базові знання про генетичні алгоритми, еволюційне програмування, нечіткі системи, а також про зв'язки цих напрямків з нейронними мережами. Для наукових та інженерно-технічних працівників у галузі інформатики та обчислювальної техніки, які займаються створенням та використанням інтелектуальних систем, а також аспірантів та студентів різних спеціальностей у галузі комп'ютерних технологій. ББК 30.17 Адреса видавництва в Інтернет www.techbook.ru Наукове видання Рутковська Данута, Пілінський Мачів, Рутковський Лєшек НЕЙРОННІ МЕРЕЖІ, ГЕНЕТИЧНІ АЛГОРИТМИ І НЕЧИТКИЕ СИСТЕМИ 2-е видання. ної Обкладинка художника В. Г. Сітнікова Підписано до друку 09.01.2013. Формат: 60×90/16. Друк цифровий Уч.-вид. л. 24. Тираж 200 екз. Вид. № 13320 ISBN 978-5-9912-0320-3 © Рутковська Д., Пілінський М., Рутковський Л. 1997, 2013 © Видавництво Wydawnictwo Naukowe PWN, 1997, 1999, 2004 2004, 2013 © Видавництво «Гаряча лінія-Телеком», 2004, 2013

стор.4

Зміст Передмова. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Передмова до російського видання. . . . . . . . . . . . . . . . . . . . . . . 12 1. Введення. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Список літератури. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2. Багатошарові нейронні мережі та алгоритми їхнього навчання 18 2.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2. Нейрон та його моделі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3. Персептрон. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4. Системи типу Адалайн. . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.1. Лінійний зважений суматор. . . . . . . . . . . . . . . 26 2.4.2. Адаптивний лінійний зважений суматор. . . . . 30 2.4.3. Адаптивний лінійний зважений суматор із сигмоїдою на виході. . . . . . . . . . . . . . . . . . . . . . . 31 2.5. Алгоритм зворотного розповсюдження помилки. . . . . . . . . . 33 2.6. Застосування рекурентного методу найменших квадратів для навчання нейронних мереж. . . . . . . . . . . . . . . . . . . . . 37 Список літератури. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3. Нечіткі множини та нечіткий висновок. . . . . . . . . . . . . . . . 45 3.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2. Основні поняття та визначення теорії нечітких множин. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3. Операції на нечітких множинах. . . . . . . . . . . . . . . . . . . 56 3.4. Принцип розширення. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.5. Нечіткі числа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.6. Трикутні норми. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.7. Нечіткі відносини та його властивості. . . . . . . . . . . . . . . . . . 78 3.8. Нечіткий висновок. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.8.1. Основні правила виведення у двійковій логіці. . . . . . 83 3.8.2. Основні правила виведення у нечіткій логіці. . . . . . 84 3.8.2.1. Узагальнене нечіте правило modus ponens. . . 84 3.8.2.2. Узагальнене нечітке правило modus tollens. . . 87 3.8.3. Правила нечіткої імплікації. . . . . . . . . . . . . . . . . . 88

стор.5

6 Зміст 3.9. Нечітке керування. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.9.1. Класичний модуль нечіткого керування. . . . . . 92 3.9.1.1. Основа правил. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.9.1.2. Блок фузифікації. . . . . . . . . . . . . . . . . . . . . . 94 3.9.1.3. Блок вироблення рішення. . . . . . . . . . . . . . . . . . 94 3.9.1.4. Блок дефузифікації. . . . . . . . . . . . . . . . . . . . . 105 3.9.2. Метод нечіткого керування Такагі-Сугено. . . . . . . 106 3.10. Проектування бази нечітких правил з урахуванням чисельних даних. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.10.1. Побудова нечітких правил. . . . . . . . . . . . . . . . . 110 3.10.2. Завдання паркування вантажівки. . . . . . . . . . . . . . . . . . . 115 3.10.3. Примітка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Список літератури. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4. Генетичні алгоритми. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.2. Генетичні алгоритми та традиційні методи оптимізації. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.3. Основні поняття генетичних алгоритмів. . . . . . . . . . 126 4.4. Класичний генетичний алгоритм. . . . . . . . . . . . . . . . 130 4.5. Ілюстрація виконання класичного генетичного алгоритму. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.6. Кодування параметрів задачі у генетичному алгоритмі 139 4.7. Основна теорема про генетичні алгоритми. . . . . . . . . 144 4.8. Модифікація класичного генетичного алгоритму. . . 157 4.8.1. Методи селекції. . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.8.2. Особливі процедури репродукції. . . . . . . . . . . . . . . 160 4.8.3. Генетичні оператори. . . . . . . . . . . . . . . . . . . . . . 161 4.8.4. Методи кодування. . . . . . . . . . . . . . . . . . . . . . . . . 163 4.8.5. Масштабування функції пристосованості. . . . 164 4.8.6. Ніші у генетичному алгоритмі. . . . . . . . . . . . . . . . 166 4.8.7. Генетичні алгоритми багатокритеріальної оптимізації. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.8.8. Генетичні мікроалгоритми. . . . . . . . . . . . . . . . . . 169 4.9. Приклади оптимізації функції за допомогою програми FlexTool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.10. Еволюційні алгоритми. . . . . . . . . . . . . . . . . . . . . . . . 206 4.11. Програми еволюційних алгоритмів. . . . . . . . . . . . . . 213

стор.6

Зміст 7 4.11.1. Приклади оптимізації функції за допомогою програми Evolver. . . . . . . . . . . . . . . . . . . . . . . . . 214 4.11.2. Вирішення комбінаторних завдань за допомогою програми Evolver. . . . . . . . . . . . . . . . . . . . . . . . . 246 4.12. Еволюційні алгоритми у нейронних мережах. . . . . . . . 250 4.12 1. Незалежне застосування генетичних алгоритмів та нейронних мереж. . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.2. Нейронні мережі підтримки генетичних алгоритмів. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.3. Генетичні алгоритми підтримки нейронних мереж. . . . . . . . . . . . . . . . . . . . . . . . . . 253 4.12.4. Застосування генетичних алгоритмів на навчання нейронних мереж. . . . . . . . . . . . . . . . . . . 256 4.12.5. Генетичні алгоритми для вибору топології нейронних мереж. . . . . . . . . . . . . . . . . . . . . . . . . . 256 4.12.6. Адаптивні взаємодіючі системи. . . . . . 257 4.12.7. Типовий цикл еволюції. . . . . . . . . . . . . . . . . . . . . 257 4.12.7.1. Еволюція терезів зв'язків. . . . . . . . . . . . . . . . . . . 259 4.12.7.2. Еволюція архітектури мережі. . . . . . . . . . . . . . . 261 4.12.7.3. Еволюція правил навчання. . . . . . . . . . . . . . . 264 4.13. Приклади моделювання еволюційних алгоритмів у додатку до нейронних мереж. . . . . . . . . . . . . . . . . . 266 4.13.1. Програми Evolver та BrainMaker. . . . . . . . . . . . . . 268 4.13.2. Програма GTO. . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Список літератури. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 5. Модулі нечітко-нейронного керування. . . . . . . . . . . . . . . . 307 5.1. Модуль нечіткого управління із структурою, визначеної у процесі дефузифікації. . . . . . . . . . . 308 5.1.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 5.1.2. Конструкція модуль. . . . . . . . . . . . . . . . . . . . . . . . . 309 5.1.3. Структура модуль. . . . . . . . . . . . . . . . . . . . . . . . . . . 311 5.1.4. Використання алгоритму зворотного розповсюдження помилки. . . . . . . . . . . . . . . . . . . . . 313 5.1.5. Модифікація модуля. . . . . . . . . . . . . . . . . . . . . . . 320 5.1.6. Застосування модуля нечіткого управління прогнозування випадкових часових рядів. . . . 322 5.1.7. Застосування модуля нечіткого керування для вирішення завдання паркування вантажівки. . . . . . . . . . . . . 326 5.1.8. Примітка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

стор.7

8 Зміст 5.2. Подання модуля нечіткого управління як стандартної нейронної мережі. . . . . . . . . . . . . . . . . . . . . . . 330 5.3. Модуль нечіткого керування з нейронною мережею для виконання дефузифікації. . . . . . . . . . . . . . . . . . . . . . 333 5.3.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 5.3.2. Конструкція модуль. . . . . . . . . . . . . . . . . . . . . . . . . 334 5.3.3. Структура модуль. . . . . . . . . . . . . . . . . . . . . . . . . . . 335 5.3.4. Алгоритми навчання модуля. . . . . . . . . . . . . . . . . . 337 5.3.5. Розв'язання задачі стабілізації перевернутого маятника. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 5.3.6. Примітка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4. Модуль нечіткого керування з можливістю корекції правил. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.2. Фаза навчання з урахуванням самоорганізації. . . . . . 349 5.4.3. Фаза навчання з учителем. . . . . . . . . . . . . . . . . . . . 354 5.4.4. Примітка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5. Модуль нечіткого управління типу Такагі-Сугено: випадок незалежних лінгвістичних змінних. . . . . . 356 5.5.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5.2. Нейронна реалізація функції власності. . 357 5.5.3. Модулі Такагі-Сугено. . . . . . . . . . . . . . . . . . . . . . . 359 5.5.4. Реалізація умов. . . . . . . . . . . . . . . . . . . . . . . . . 359 5.5.5. Реалізація висновків. . . . . . . . . . . . . . . . . . . . . . 361 5.5.6. Примітка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6. Модуль нечіткого керування типу Такагі-Сугено: випадок залежних лінгвістичних змінних. . . . . . . 365 5.6.1. Вступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6.2. Нейронні мережі для нечіткого виведення. . . . . . . . . . 366 5.6.3. Структура системи. . . . . . . . . . . . . . . . . . . . . . . . . . 368 5.6.4. Спосіб навчання. . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 5.6.5. Розв'язання задачі паркування вантажівки. . . . . . . . . . . . 374 5.6.6. Примітка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Список літератури. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Предметний покажчик. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

стор.8

Передмова Двадцяте століття завершилося під знаком революції у сфері обробки інформації. Ми стали свідками як швидкого зростання обсягу доступних даних, так і збільшення швидкості їх обробки та передачі, а також ємності пристроїв, що запам'ятовують. Виразно видно, що ці явища як взаємопов'язані, а й посилюють одне одного. У ситуації лавінобразного наростання обсягів інформації та обчислювальних потужностей виникає очевидне питання, яким чином можна покращити наші здібності до пізнання навколишнього світу, маючи в наявності такі великі і безперервно зростаючі технічні можливості? Допомога приходить з боку апробованих класичних математичних методів, створених працями Ньютона, Лейбніца, Ейлера та інших геніїв минулого, які заклали фундамент сучасних обчислювальних алгоритмів. Завдяки їм у нас є спеціалізовані обчислювальні процедури для розпізнавання образів та мовлення, для керування системами різних класів та вирішення інших аналогічних проблем. Незалежні від цього напряму дослідження в галузі штучного інтелекту призвели до створення експертних та прогностичних систем, що ґрунтуються на символьній обробці та використовують бази правил. Проте перераховані вище підходи передбачають використання або вузькоспеціалізованих обчислювальних методик, або спеціалізованих баз знань, найчастіше укладених у жорсткий корсет двійкової логіки. Ще одне обмеження застосування цих методів пов'язані з фактом, що де вони допускають безпосереднє вирішення завдань під час використання обчислювальних систем з універсальної архітектурою, загальної більшість практичних додатків. Таким чином, ми підходимо до походження та сутності обчислювальних технологій, що становлять предмет цієї книги. Ці технології, що об'єднуються в англомовній літературі під назвою Computational Intelligence, дозволяють отримувати безперервні або дискретні рішення в результаті навчання за наявними даними. Один із підкласів обговорюваної групи методів складають нейронні мережі, що використовують стохастичні алгоритми для навчання моделі з учителем або шляхом самоорганізації. Вони призначені для обробки зашумлених цифрових даних, за якими алгоритми навчання вибудовують односпрямовані або рекурентні моделі цікавих для нас процесів. Ці моделі характеризуються регулярною структурою, складеною з нелінійних елементів, об'єднаних розгалуженою мережею лінійних з'єднань і часто доповнюваних локальними або глобальними зворотними зв'язками. При моделюванні процесів можливості нейронних мереж можуть посилюватися за рахунок застосування технології обробки інформації, заснованої на нечітких множинах та нечіткому висновку. Цей метод пов'язаний з оцінюванням функції приналежності елементів до множин за допомогою нечітких логічних операторів. Пропонований підхід не лише послаблює вимоги до точності даних у процесі побудови

стор.9

10 Передмова моделі, але дозволяє описати складні системи з допомогою змінних, значення яких визначаються на інтуїтивному рівні. Виникає в результаті парадигма моделювання, управління, вироблення рішень тощо. веде до формування лінгвістичних аргументів логічних функцій. Такі функції, що описують реальні об'єкти, можуть уточнюватись у процесі навчання за наявними даними. Інший підхід полягає у формуванні правил виведення безпосередньо у процесі навчання. Цим і визначається взаємопроникнення та комплементарність нейронних моделей та систем, що базуються на нечіткій логіці. Лінгвістичні оператори, які ми використовуємо під час повсякденного спілкування, та ітераційний процес навчання разом ведуть до інтелектуальних логікоалгебраїчних моделей, що визначаються поняттям Computational Intelligence (обчислювальні технології). Інтелектуальність у разі розуміється як здатність застосовувати знання, накопичені у процесі навчання, як можливість генерувати правила висновку як і вміння узагальнювати інформацію. Важливим класом алгоритмів навчання, що збагатили нейронні та нечіткі технології, вважаються еволюційні алгоритми. Вони оперують популяціями хромосом, що оцінюються функціями пристосованості, і використовують еволюційну та генетичну обумовленість зміни послідовності бітів чи чисел. Таким чином, ефективно досліджується простір можливих рішень. Оптимальне рішення шукається в серії послідовних наближень аргументів з кращими значеннями функцій пристосованості, що генеруються внаслідок мутації та схрещування хромосом. Автор цих нотаток як голова Комітету Симпозіуму Computational Intelligence: Imitating Life, що відбувся в Орландо в 1994 р., стояв біля витоків злиття цих трьох наукових напрямів та виникнення нової інтегральної галузі знань. Він із задоволенням вітає «Нейронні мережі, генетичні алгоритми та нечіткі системи» – новаторську книгу на польському видавничому ринку. Крім обговорення базових елементів нейронних мереж, опису нечітких систем та еволюційно-генетичних алгоритмів, ця праця містить і оригінальні наукові результати авторів. У книзі наводяться подробиці реалізації конкретних технічних рішень, у тому числі різних процесорів та систем, що навчаються, заснованих на нечіткій логіці. Велика увага приділяється питанням практичного використання низки пакетів прикладних програм. Тематично книга пов'язана з науковими напрямами Всепільських конференцій з нейронних мереж та їх додатків, організованих професором Л.Н. Рутковським та Польським товариством нейронних мереж у 1994 та 1996 р.р. Ця публікація під керівництвом професора Л. Рутковського надзвичайно актуальна, цінна та унікальна. Вона заповнює велику нішу на ємному науково-технічному ринку Польщі. Книга виявиться особливо корисною інженерам різних спеціальностей, економістам, фізикам, математикам та фахівцям з інформатики, а також студентам

стор.10

Передмова 11 цих та суміжних з ними областей знань. Слід привітати авторів із великим досягненням у вигляді цієї прекрасної наукової праці. Ця книга має не лише помножити визнання їхніх заслуг, а й залучити нові лави ентузіастів цієї захоплюючої наукової дисципліни. Липень 1996 р. Яцек Журада член IEEE. Університет Луїсвілль, США