Штучний інтелект і представлення знань
Штучний інтелект – один із розділів інформатики, у межах якого ставляться і зважуються завдання апаратного і програмного моделювання тих видів людської діяльності, що традиційно вважаються інтелектуальними (творчими).
Сучасні інтелектуальні інформаційні технології – технології обробки інформації і розв'язання рішення задач за допомогою обчислювальних машин, що спираються на досягнення в галузі штучного інтелекту.
Результати досліджень із штучного інтелекту використовуються в інтелектуальних системах – технічних чи в програмних мережах, здатних вирішувати завдання, що вважаються творчими, належать до конкретної предметної галузі, знання про яку зберігаються в пам'яті інтелектуальної системи. Системи штучного інтелекту складаються з 3 основних блоків: бази знань, розв'язника й інтелектуального інтерфейсу. Типовим представником систем штучного інтелекту є експертні системи.
У цілому системи штучного інтелекту орієнтовані на розв'язування великого і дуже важливого класу задач:
- які мають одну чи декілька з наступних властивостей;
- алгоритмічний розв'язок задачі невідомий (хоча можливо й існує), чине може бути використаний через обмеженість ресурсів ЕОМ;
- задача не може бути визначена (задана) у числовій формі (потрібне символьне представлення);
- цілі розв'язку задачі не можуть бути виражені термінами з точно визначеною цільовою функцією;
- велика розмірність простору розв'язку;
- динамічно змінюються дані і знання.
Як правило, важко формалізовані задачі мають неповні, неоднозначні і/чи суперечливі вихідні дані та знання про предметну галузь.
-27-
У дослідженнях зі штучного інтелекту можна виділити два основних напрямки.
Програмно-прагматичішй напрямок ("не має значення, як улаштований "мислячий" пристрій, головне, щоб він реагував на задані вихідні впливи, як людський мозок") займається створенням програм, за допомогою яких можна розв'язувати задачі, розв'язок яких до цього вважався винятково прерогативою людини. Сюди відносяться задачі, що розпізнають й ігрові програми для розв'язання логічних задач, пошуку, класифікації і ін. Цей напрямок орієнтований на пошуки алгоритмів для розв'язку інтелектуальних задач на існуючих моделях комп'ютерів.
Біоничний напрямок ("єдиний об'єкт, здатний мислити – це людський мозок, тому будь-який "мислячий" пристрій повинний будь-яким чином відтворювати його структуру") займається проблемами штучного відтворення тих структур і процесів, які характерні для живого людського мозку і які лежать в основі процесу розв'язання задач людиною. У рамках біонічного підходу до проблеми штучного інтелекту сформувалася нова наука нейроінформатика, практичним виходом якої є створення нейрокомп'ютера – обчислювальної машини VI покоління.
Сьогодні традиційним (класичним) прийнято вважати програмно-прагматичний напрямок, при якому не ставиться питання про адекватність використовуваних структур і методів тим, якими користуються в аналогічних випадках люди, а розглядається лише кінцевий результат розв'язання задач. У рамках цього напрямку спочатку велися пошуки моделі і алгоритму людського мислення. Жодна з існуючих наук (філософія, психологія, лінгвістика) не змогла запропонувати такого алгоритму. Тоді фахівці в галузі штучного інтелекту запропонували власні моделі:
- модель лабіринтного пошуку. Цей підхід представляє задачу як деякий граф, що відбиває простір станів. В цьому графі проводиться пошук оптимального шляху від вхідних даних до результуючих;
- евристичне програмування. Евристика – правило, яке теоретично не обгру
-28-
нтоване, але дозволяє скоротити кількість переборів в просторі пошуку;
- використання методів математичної логіки. На основі методу резолюцій, що дозволив автоматично доводити теореми за допомогою вихідних аксіом, у 1973 р. була створена мова Пролог.
Істотний прорив у практичних додатках штучного інтелекту відбувся, коли на зміну пошукам універсального алгоритму мислення прийшла ідея моделювати конкретні знання фахівців-експертів. У США з'явилися перші комерційні системи, засновані на знаннях, - експертні системи. Сформувався новий підхід до вирішення інтелектуальних задач - представлення і використання знань.
Під знаннями розуміють високо структуровану (класифіковану, з виявленими логічними, семантичними й асоціативними зв'язками) інформацію, що має практичну значимість для бізнесу.
Явно виражені знання відбиваються у формальній мові (природній чи штучній) і розповсюджуються серед співробітників фірми.
Неявно виражені знання набуваються індивідуальним досвідом і включають такі непомітні фактори, як індивідуальні вірування, чекання, цінності й таке інше. Основна проблема вірування, неявно виражена – знання рідко фіксуються і поширюються в організації, хоча часто саме ці знання мають вирішальне значення для стратегічного розвитку організації.
Залежно від способу використання звичайно виділяють дві категорії знань. Перша – кодифіковані знання, що усвідомлені у вигляді інформації і без утрати змісту передаються на різних носіях формулами, символами, текстами. Друга — знання, втілені в людині і невіддільні від неї: здібності, навички, інноваційні риси характеру, відшліфовані тренуванням.
За змістом і функціональним призначенням виділяють нові і суб'єктивно нові. Перші раніше не були відомі суспільству. Вони створювалися особистостями (колективами), здатними генерувати знання, у сфері науки. До суб'єктивно нових відносяться ті знання, які раніше були невідомі виконавцям інтелектуальної праці. За своїм обсягом вони значно перевершують перші і безупинно осягаються в про-
-29-
цесі утворення. Знання і сформований ними інтелект відносять до живих засобів праці, що стають інтелектуальними засобами виробництва.
Однією з найбільш важливих проблем, характерних для систем штучного інтелекту, є представлення знань. Знання можна визначити як формалізовану інформацію, на яку посилаються в процесі логічного висновку.
Форма представлення знань упливає на характеристики і властивості системи. Для того щоб маніпулювати всілякими знаннями з реального світу за допомогою комп'ютера, необхідно їх моделювати.
Представлення знань – це їхні формалізація і структурування (з метою полегшення задачі), за допомогою яких проявляються характерні ознаки: внутрішня інтерпретація, структурованість, зв'язність, семантична метрика й активність. Представлення знань – «ця угода про те, як описувати реальний світ». У рамках цього напрямку зважуються задачі, пов'язані з формалізацією і представленням знань у пам'яті інтелектуальної системи за допомогою спеціально розроблених моделей представлення знань.
Працюючи зі знаннями використовують два основних підходи:
- Логічний (формальний) підхід, при якому основна увага приділяється вивченню і застосуванню теоретичних методів представлення знань, формалізації, а також логічній повноті (наприклад, створення моделей представлення знань на основі деяких логічних обчислень).
- Евристичний (когнітивний) підхід, що орієнтується на забезпечення можливостей розв'язування задач. При цьому зосереджуються на принципі організації людської пам'яті й евристичному моделюванні. На відміну від формальних, евристичні моделі мають різноманітний набір засобів, що передають специфічні особливості тієї чи іншої області. Саме цим евристичні моделі перевершують логічні за виразністю і можливістю адекватно представити предметну область.
Основна ідея підходу при побудові логічних моделей представлення знань полягає в тому, що вся інформація, необхідна для розв'язання прикладних задач, розглянута як сукупність фактів і тверджень, що представляються як формули деякої логіки. Знання відображаються сукупністю таких формул, а одержання їх зводиться до реалізації процедур логічного висновку.
-30-
Психологічні дослідження процесів прийняття рішень людиною показали, що, міркуючи і приймаючи рішення, людина використовує правила продукцій чи продукційні правила.
При використанні продукційних моделей база знань складається з набору правил. Програма, що керує перебором правил, називається машиною висновку. Механізм висновків зв'язує знання воєдино, а потім з послідовності знань робить висновок.
У продукційних системах, заснованих на знаннях, процес обробки інформації здійснюється двома способами. Перший припускає обробку інформації в прямому напрямку (метод зіставлення), коли зразком для пошуку є ліва , частина продукційного правила – умова, тобто задача, зважується в напрямку від вихідного стану до цільового (стратегія «від даних до мети»).
За допомогою другого підходу обробка інформації здійснюється в зворотному напрямку – метод «генерації» чи висування гіпотези і її перевірок (стратегія «від мети до даних»).
Продукційні моделі мають:
- модульність;
- простоту інтерпретації (прозора структура продукційних правил полегшує їхню значеннєву інтерпретацію);
- природність (знання у виді «що робити і коли» є природними);
- кожне продукційне правило відповідає самостійному елементу знань. Недоліки виявляються тоді, коли число правил стає великим і виникають непередбачені побічні ефекти від зміни старого і додавання нового правила. Крім того, спостерігається скрутна оцінка цілісного образу знань, що містяться в системі. Продукційні моделі (поряд із фреймами) є найбільш розповсюдженими і засобами представлення знань. Вони близькі до логічних моделей, що дозволяє організовувати на їхній базі ефективні процедури висновку, і в той же час більш наочно відбивають знання. Продукційна модель найчастіше застосовується в промислових експертних системах. Вона приваблює розроблювачів
-31-
своєю наочністю, високою модульністю, легкістю внесення змін і простотою логічного висновку.
Спосіб представлення знань за допомогою мережних моделей близький до того, як вони представлені в текстах природною мовою. Залежно від типів зв'язку мережні моделі поділяються на:
- класифіційні мережі - у них використовуються відносини структуризації, вони дозволяють вводити в бази знань різні ієрархічні відносини між елементами безлічі.
- функціональні мережі – обчислювальні моделі, що характеризуються наявністю функціональних відносин. Вони дозволяють описувати процедури обчислень одних інформаційних одиниць через інші.
- сценарії - у них використовуються каузальні відносини (причинно-наслідкові), а також відносини типів «засіб - результат», «знаряддя - дія».
Якщо в мережній моделі допускаються зв'язки різного типу, то її називають семантичною.
Семантична мережа - це модель, основою для якої є формалізація знань у вигляді орієнтованого графа з розміченими вершинами і дугами. Вершинам відповідають об'єкти, чи поняття ситуації, а дугам - відносини між ними. Це найбільш загальна модель представлення знань, тому що вона має засоби реалізації всіх характерних для знань властивостей: внутрішньої інтерпретації, структурованості, семантичної метрики й активності.
Мережні моделі є дуже наочними і досить універсальними засобами представлення знань. Однак їхня формалізація в конкретних моделях представлення, використання і модифікація знань досить трудомісткі.
Фреймова модель - систематизована у вигляді теорії технологічна модель пам'яті людини.
Фрейм - структура представлення даних для описування деякого концептуального об'єкта. Інформація, що відноситься до цього фрейму, міститься в
-32-
складових фрейму - слотах. На відміну від моделей інших типів, у фреймових моделях фіксується тверда структура, що називається фреймом-зразком.
Приклад:
ім'я фрейму:
(ім'я 1-го слота: значення 1-го слота)
(ім'я 2-го слота: значення 2-го слота)
Фрейм-екземпляр створюється для відображення реальних ситуацій на основі даних, що надходять.
Фрейм-структура створюється для позначень об'єктів і понять (позика, застава).
Фрейм-роль (менеджер, касир). Фрейм-сценарій (банкрутство, збори акціонерів). Фрейм-ситуація (тривога, аварія та ін.).
Розглянуті моделі представлення знань багато в чому близькі між собою. Логічні і продукційні моделі відрізняються надто вираженою процедурною формою, тому їх часто використовують для представлення процедурних знань. Моделі знань, що спираються на семантичні мережі, використовують для опису декларативних знань. У системах штучного інтелекту можуть використовуватися і кілька моделей представлення знань одночасно.
Нейробіонічний підхід до проблеми штучного інтелекту грунтується на використанні принципів роботи мозку для конструювання інтелектуальних систем. Привабливість і перспективність його обумовлюється тим, що на функціональному рівні нервова система забезпечує недоступну (принаймні, на сучасний момент) для технічних пристроїв здатність живих істот адаптуватися в реальному світі, а на «технологічному» рівні - унікальні можливості по швидкодії і надійності.
-33-
Нейрон - елементарний утворюючий елемент, як складова частина нейромережі, що складається з елементів трьох типів і виконує дві основні функції- зважене підсумовування і нелінійне перетворення.
У даний час підвищення продуктивності комп'ютерів пов'язують із системами, що володіють властивостями масового паралелізму. Одна з таких систем - нейрокомп'ютер, основу якого складає штучна нейромережа, реалізована апаратно на електронних чи оптичних елементах. Кожен нейрон є лише найпростішим аналоговим перетворюючий елементом. Штучна нейромережа - принципово рівнобіжна структура, яка природним чином реалізує принцип потоку даних.
Нейронна мережа - це структура, яка складається зі зв'язаних між собою нейронів.
Нейрони в мережі розташовані шарами. Виділяють вхідний шар, на який подається збудливий сигнал, вихідний шар, з якого знімають перероблений мережею сигнал, а всі інші шари називають схованими. Для адекватного розв'язування задачі функціонування мережі потрібно правильно вибрати значення ваг зв'язків між нейронами - навчити мережу.
Існує кілька типів класифікації нейромереж.
Вони відрізняються наступним. На всій мережі на одному її шарі задаються у визначений момент часу вихідні стани нейронів х=(х1,х2,...,хn), тобто задається вхідний образ. Потім цей образ трансформується відповідно до функцій перетворення елементів. Інформація поширюється по мережі, відбувається її обробка. В односпрямованих мережах інформація поширюється від шару до шару, і вихідний шар видає результуючий вектор у=(у1,у2,…,уm)- (В одношарових мережах відбувається стабілізація мережі в одному стані). Потім зчитуються значення вузлів мережі, що представляють вихідний вектор.
Оскільки в основі пристрою нейронних комп'ютерів лежить штучна нейромережа, то процесом навчання є настроювання параметрів цієї нейро-мережі. Навчання - це процес зміни ваг зв'язків між нейронами.
З учителем. Мережа перетворює вхідні дані і порівнює свій вихід з бажаним. Після цього проводить корекцію ваги з метою одержання кращої по-
-34-
годженості виходів.
Із послідовним представленням знань, мережі не дається бажане значення виходу, а тільки ставиться оцінка, гарний чи поганий вихід.
Без вчителя. Мережа сама виробляє правила навчання шляхом виділення оцінних ознак з набору вхідних даних.
У детермінованих методах крок за кроком здійснюється процедура корекції ваги мережі, заснована на використанні її поточних значень, входів мережі, виходів нейронів і деякої додаткової інформації.
Стохастичні методи ґрунтуються на використанні випадкових змін ваги у ході навчання.
На сьогодні запропоновано і вивчено велику кількість моделей нейромереж. Однак основними є тільки три принципово різні типи мереж. Більшість інших розповсюджених неиромереж складаються з елементів, характерних для мереж трьох основних типів:
- мережі прямого поширення (багатошарові персептрони);
- повнозв'язні мережі Хопфілда;
- карти (грати) Кохонена.