Комп'ютерні системи штучного інтелекту

Вступ до робототехніки.

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

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

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

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

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

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

2.12.1.                              Умови становлення і розвитку робототехніки.

2. Слово "робот" вперше стало широко використовуватися завдяки п'єсі чеського драматурга карела чапека ("р. У. Р.", або роумські універсальні роботи), яке вперше була поставлена в парижі у 1920-х роках.

Слово "роботі кс" (робототехніка) придумав майстер наукової фантастики письменник айзек азімов, який в 1942 вперше сформулював три знаменитих закони робототехніки :

1)      Робот не може спричинити шкоду людині або своєю бездіяльністю дозволити спричинення шкоди людині.

2)       Робот повинен підкорятися наказам, які віддає людина, якщо їх виконання не приводить до порушення першого закону.

3)       Робот повинен захищати своє власне існування, якщо дії, які пов'язані з цим, не протирічать першому чи другому законам.

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

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

В 1968 р. В мті з'єднали робот з універсальним комп'ютером "pdp -6". Так виник перший гнучний робот. В 1974 р. Фірма "цінцінатті мілекрон" створила перший комерційно доступний робот "тз", який керувався міні- комп'ютером. Дані роботи, які могли перепрограмовуватися, з програмним забезпеченням були більш ефективні, ніж машини з спеціалізованими електронними схемами, вони могли працювати в декількох системах координат, реагувати на сигнали датчиків і використовувати складні методи навчання.

Великий скачок в області теоретичної і практичної робототехніки був зроблений в японії.

Першим роботом, застосованим в японії, був робот versatran, закуплений в 1967 р. Автомобільною фірмою toyota.

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

2.12.3. Основні поняття і визначення.

Існують різні визначення поняття "робот". В загальному випадку беручи до уваги не тільки промислові маніпуляційні роботи, але й інші класи, поняття робот можна визначити наступним чином:

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

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

Характерними ознаками пр є автоматичне керування; швидке і відносно легке перепрограмування (зміна послідовності, системи і зміна команд); виконання трудових дій.

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

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

Виконавчий орган - функціональна частина м, яка призначена для виконання дій за сигналами та рухами, які поступають від задаючого органу. Орган зв'язку - призначений для передачі сигналів і рухів від задаючого до виконуючого органів.

Робочий орган - частина виконавчого органу, яка призначена для реалізації технологічного призначення м.(виконується у вигляді захватів, інструменту і т. П.)

Робототехніка - це дослідження і функціональне проектування роботів, маніпуляторів і гнучких виробничих систем.

2.12.4. Промислові роботи і їх класифікація.

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

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

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

До інформаційних роботів відносяться також і автоматичні контрольно- вимірювальні системи на виробництві.

Класифікацію промислових роботів проводять за різними ознаками, а саме: за типом системи керування, за технологічним призначенням, за типом кінематичної схеми., за видом приводів, за числом ступенів рухомості тощо. За типом систем керування сучасні і перспективні промислові роботи діляться на три роди, або покоління: програмні, адаптивні і інтелектуальні (роботи з елементами штучного інтелекту). Всі вони володіють властивістю швидкого перепрограмування на рівні операції. При цьому в роботах першого покоління (програмні роботи) перепрограмування проводиться оператором (рисунок 2.19), після чого робот працює автоматично, багатократно повторюючи задану програму.

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

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

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

Серійне виробництво і застосування уніфікованих модулів роботів в цілому дає наступні переваги:

1.      Різко скорочується термін створення(з 2-3 років до 2-4 місяців), освоєння виробництва і впровадження нових марок роботів.

2.       Зросте технічний рівень пр, перш за все надійність. Знизиться вартість.

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

4.       Виробництво пр зводиться головним чином до їх збирання з стандартних блоків.

Ввід програми

 

Задаючий рівень

 

Розподіл сигналів по суставах

 

Керовані приводи

Виконавчий рівень

 

Механізм маніпулятора

Середовище і предмети

2.13. Маніпуляційні системи роботів

2.13.1. Загальна характеристика маніпуляційних систем.

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

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

Розрізняють наступні види побудови механічної руки:

1. Робот, що працює в циліндричній системі координат (рисунок 2.22).

Рисунок. 2.22. Робот, що працює в циліндричній системі координат

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

Циліндрична форма координат використовується для роботів, що випускаються фірмами "фанук", "преб", "сейко".

Рисунок. 2.23. Робот, що працює в сферичній системі координат

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

3. Робот, що працює в декартовій системі координат.

Рисунок. 2.24. Робот, що працює в декартовій системі координат

2. Робот, що працює в сферичній системі координат.

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

Рисунок 2.25. Робот, що працює в кутовій системі координат

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

5. Роботи типу '^кака"

«о

А-------------------------------------

Рисунок. 2.26. Роботи типу "бка^"

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

2.13.2. Робочі органи маніпуляторів.

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

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

Механічні захвати: аналог руки людини (має 22 степені свободи). Самі прості нагадують плоскогубці, які обладнані приводом. В залежності від об'єктів маніпулювання застосовують захвати з трьома та чотирма пальцями.

4. Робот, що працює в кутовій системі координат.

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

3. Лабораторні роботи

Лабораторна робота № 1

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

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

1. Теоретичні відомості

Дослідження у сфері штучних нейронних мереж (нм) пережили три періоди активізації. Перший пік у 40-их роках був зумовлений піонерською роботою маккалока і пітса. Другий виник у 60-их роках завдяки теоремі сходження персептрона розенблата і роботі мінського та пейперта, які вказали обмежені можливості найпростішого персептрона. Через дослідження мінського і пейперта зник ентузіазм у більшості дослідників, особливо тих, хто працював у галузі обчислювальних наук. Затишшя у сфері нм тривало майже 20 років. З початку 80-их років штучні нм знову привернули увагу дослідників. Це було пов'язано з енергетичним підходом хопфілда та алгоритмом зворотнього поширення помилки для навчання багаторівневого персептрона (багаторівневі мережі прямого поширення), що вперше запропонував вербос і незалежно розробили інші автори.

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

•            Класифікація образів: мета задачі - вказати приналежність вхідного образу (наприклад, речового сигналу або рукописного символу), поданого як вектор ознак, до одного або декількох завчасно визначених класів. До таких застосувань належать розпізнавання букв, мови, класифікація сигналу електрокардіограми, кліток крові тощо;

•            Кластеризація / категоризація: при розв язані задач кластеризації, знаної як класифікація образів «без вчителя», відсутня навчальна вибірка з позначками класів. Алгоритм кластеризації будують на основі образів і розміщають подібні образи в один кластер. Відомі випадки застосування кластеризації для здобуття знань, стиснення даних і дослідження їх властивостей;

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

•            Передбачення / прогноз: нехай задані п дискретних точок (у(11), у(1:2)..., у(д} у послідовні проміжки часу 1^, 1;2..., 1;п.. У задачі потрібно передбачити значення у(1іп+1) у певний майбутній момент часу 1іп+1. Передбачення / прогноз має значний вплив на прийняття рішень у бізнесі, науці та техніці. Передбачення цін на фондовій біржі та прогноз погоди - це типові застосування технології передбачення / прогнозу;

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

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

•           Управління: розглянемо динамічну систему, задану сукупністю {и(1) у(1і)}, де и(1;) - вхідний керуючий вплив, а у(1;) - вихід системи в момент часу 1 у системах управління з еталонною моделлю головна мета управління - це розрахунок такого вхідного впливу и(1;), при якому система прямує по бажаній траєкторії, яку диктує еталонна модель. Прикладом є оптимальне управління двигуном.

1.1. Модель однорівневого перcептрона

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

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

А                                                                                            б

(1.1),

Рис. 1. Структура нм: а — однорівневий персептрон; б — багаторівневий персептрон.

Для однорівневого персептрона з п входами вихідне значення

У = 2 ^ - т

І=1

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

Ь                                                        і ь

Е = 1е(к) = 12 (у* - )2                                                                                       (1.2),

К=і 2 к=і

Де ь - множина вхідних навчальних векторів, е(к) - середньоквадратична

Помилка мережі для к -го вхідного вектора, укк - вихідне та еталонне значення нм для к -го вхідного вектора відповідно. Зміну вагових коефіцієнтів і порогів нейронної мережі можна знайти за такими формулами:

І +1) = wil(t) -а-^^                                                                                       (1.3),

Д^і 1( і )

Т(і +1) = т(і) - а дек)                                                                                   (1.4),

Дт (і)

Де і = 1, п, wi 1 (ґ +1), wi 1 (ґ) - вагові коефіцієнти в моменти часу ґ +1 і ґ

• * де (к) .

Відповідно, « - швидкість або крок навчання,--------------- похідна середньо-

)

Квадратичної помилки е(к) за параметром wi 1, wi 1(ґ +1), wi 1(ґ) - пороги

, . Де(к)

Нейронної мережі в моменти часу ґ +1 і ґ, ^ - похідна середньо-

Квадратичної помилки е(к) по параметру т.

Визначивши похідні середньоквадратичної помилки (1.3 - 1.4) за відповідними змінними, можна отримати кінцеві вирази для зміни вагових коефіцієнтів і порогів:

Wi•l(і + 1) = wi.l(і) -а(ук - йкк                                                              (1.5),

Т(і +1) = т(і) + а(ук - йк)                                                                          (1.6),

Де і = 1, п, х . - і-та компонента к -го вхідного вектора.

Правило відроу-хофа виконують за наступною послідовністю кроків.

6.       Задати швидкість навчання а (0 < а < 1) і мінімальну середньоквадратичну помилку мережі етіп, яку необхідно досягти в процесі навчання.

7.       Вагові коефіцієнти та поріг нм ініціювати випадково.

8.       На вхід нейронної мережі подати вхідні дані, вихід нм обчислити згідно з формулою 1.1.

9.       Змінити значення вагових коефіцієнтів і порога нм за виразами 1.5-1.6.

10.                                                      Виконувати    кроки 3-4 доти, поки сумарна середньоквадратична помилка мережі (1.2) не буде меншою від заданої, тобто е £ етіп .

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

Навчання градієнтного спуску однорівневого персептрона в. А. Головко запропонував використати адаптивний крок навчання:

 

А(і) =-------------------------------------------------------                                              (1.7).

Л

І + £ ^ с у

І=1

Експериментальні дослідження використання адаптивного кроку навчання однорівневого персептрону підтверджують, що при його використанні процес навчання відбувається приблизно в три рази швидше, ніж при використанні постійного кроку. Це дало змогу застосувати адаптивний крок навчання (1.7) при обчисленні зміни вагових коефіцієнтів і порогів нм (1.5-1.6).

1.2. Модель багаторівневого персептрона

Багаторівневі персептрони запропонували і вивчили в 1960-их роках розенблат, мінський, пейперт та ін. Лише в середині 1980-их років декілька дослідників, незалежно один від одного, запропонували ефективний алгоритм навчання багаторівневих персептронів, що базується на розрахунку градієнта функції помилки. Алгоритм названий «зворотнє поширення помилки». Алгоритм зворотнього поширення - це ітеративний градієнтний алгоритм, що використовують для мінімізації середньоквадратичної помилки поточного значення виходу багаторівневого персептрона і бажаного значення його виходу.

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

Вихід кожного нейрона попереднього рівня персептрона з'єднаний синапсами зі входами всіх нейронів наступного рівня. Таким чином, персептрон має однорідну та регулярну структуру. Вихідне значення нейрона останнього рівня

(1.8),

Уo = і wjoнj - то

(1.9),

І=і

Де n - кількість нейронів схованого рівня, wjo - синапс від і -го нейрона схованого рівня до вихідного нейрона, ні - вихідне значення нейронів схованого рівня, т0 - поріг вихідного нейрона. Вихідне значення нейронів схованого рівня

N

Ні = р(і wijxi - ті )

І=1

 

Де wij - синапс від і -го вхідного нейрона до і -го нейрона схованого рівня, ті - поріг і -го нейрона схованого рівня. Як функції активації нейронів схованого рівня використана сигмоїдна нелінійна функція:

Р( x) =                                                                                                         (1.10).

1 + е х

Вихідний нейрон може мати нелінійну функцію активації, наприклад сигмоїдну (1.10), і лінійну функцію:

Х) = к х х                                                                                                   (1.11),

Де к - коефіцієнт нахилу прямої функції активації.

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

 

Дер (і)

Дwj (і)

(1.12),

Дw і (і) = -а

Агр(і) = -ааер^)                                                                                                 (1.13),

Р агі

Дер (ґ) дер (ґ)

Де а - крок навчання, ----------- ,------------- градієнти функції помилки на ітерації

Дп-- (ґ) дг- (г)

Навчання ґ для навчального еталона р, р є {1, р}, р - розмір навчальної вибірки.

Ер (г) = 2 (уо (г) - лр0 )2                                                                            (1.14),

Де уо (г) - вихідне значення нм на ітерації навчання ґ для навчального

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

Е(і) = е ер (і)                                                                                           (1.15).

Р=і

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

N

Е (їр (і ))2 ьр (і )(1 - нр (і))

(1.16),

(1+(хр )2 р n

Ар (і) = ,----- ^х- р=1

Е (їр (і ))2(нр (і ))2(1 - нр (і ))2

 

Де ї р (і) - помилка р -го нейрона (зі сигмоїдною функцією активації) для

Навчального еталону р :

М

Їр (і) = еїрр (і )™ро (і )нр (і )(1 - нр (і))

(1.17),

Р=1

Де помилка вихідного нейрона:

У0 (і) = уро (і) - йр0 (1.18).

Адаптивний крок навчання для нейрона з лінійною функцією активації (1.11) визначають за допомогою виразу 1.7.

Для стабілізації процесу навчання багаторівневого персептрона доцільно використати алгоритм багатократного поширення помилки.

1.       Задати крок навчання а (0 < а < 1) і мінімальну середньоквадратичну помилку мережі етіп, що необхідно досягти в процесі навчання.

2.        Ініціювати синапси і пороги нейронів випадково.

3.        Для навчального вектора р обчислити вихідне значення нм урр(і), використовуючи формули (1.8-1.11).

4.        Обчислити помилку вихідного нейрона (1.18).

5.       Модифікувати ваги і пороги вихідного нейрона згідно з формулами (1. 12— 1.13):

Wpо (і +1) = wpо (і) - а(і )у 0 (і )нр (і) урр (і )(1 - урр (і))

(1.19)    ,

Т0р (і +1) = т0р (і)+а(і)урр (і)урр (і )(1 - урр (і))

Використовуючи адаптивний крок навчання (1.7) для вихідного нейрона з лінійною функцією активації (1.11).

6.        Обчислити помилку нейронів схованого рівня ур (і) (1.17) із сигмоїдною

Функцією активації (1.10) для мережі з модифікованими ваговими коефіцієнтами вихідного рівня (1.19).

7.        Модифікувати ваги і пороги нейронів схованого рівня відповідно до формул 1.12—1.13:

Wp (і+1) = wp (і) - а2р (і)ур (і)нр (і)(1 - нр (і))хр

(1.20)    ,

Т[ (і +1) = т[ (і) + ар (і )ур (і )нр (і )(1 - нр (і))

Використовуючи адаптивний крок (1.16) для сигмоїдної функції активації нейрона (1.10).

8.       Виконувати кроки 3—7 доти, поки загальна помилка навчання мережі (1.14— 1.15) не стане меншою від заданої, тобто е £ етіп .

1.3. Прогнозування за допомогою нм

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

"і ^ "о

Використовують як елемент навчальної вибірки.

Наприклад, нехай є дані про щотижневий продаж ріжучого інструменту (к = 16):

100, 94, 90, 96, 91, 94, 95, 99, 95, 98, 100, 97, 99, 98, 96, 98                               (1.21).

Задамо п = 4, т = 1, б = 1. За допомогою методу вікон для нм буде сформована така навчальна вибірка:

Вихід нм 91

94                   99 95

Входи нм 100 94 90 96 94 90 96 91

90        96 91 94 96 91 94 95

91        94 95 99 і т. Д.

1------ v--- '

 

Шо

Кожний наступний вектор отримують у результаті зсуву вікон і вправо на один елемент (б = 1). Передбачають скриті залежності у часовій послідовності як множину спостережень. Нм, навчаючись за цими спостереженнями і відповідно настроюючи свої вагові коефіцієнти, намагаються «добути» ці закономірності та сформувати бажану функцію прогнозу р. Прогнозування здійснюють за тим же принципом, що й формування навчальної вибірки. При цьому встановлюють два режими: однокрокове та багатокрокове прогнозування.

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

Цьому прогнозуюча система використовує отримані (вихідні) дані для моментів часу к+1, к+2 і т. Д. Як вхідні дані для прогнозування в моменти часу к+2, к+3 і т. Д. Припустимо, що система навчалась на часовій послідовності (1.21). Потім вона спрогнозувала к+1 елемент послідовності, що наприклад, дорівнює 95, коли на її вхід був поданий останній із відомих їй образів (99, 98, 96, 98). Після цього вона здійснює подальше прогнозування і на вхід посилає наступний образ (98, 96, 98, 95). Останній елемент цього образу - це прогноз системи.

Однокрокове прогнозування застосовують для короткотермінових прогнозів. Прогноз здійснюють лише на один крок вперед, але використовують реальне, а не прогнозоване значення для здійснення прогнозу на наступному кроці. Для часової послідовності (1.21) на кроці к+1 система прогнозує значення 95, хоча реальне значення має бути 96. На кроці к+2 як вхідний образ використовуватимуть образ 98, 96, 98, 96. Як було сказано вище, результат прогнозування на нм - це клас, до якого належить змінна, а не її конкретне значення. Формування класів потрібно здійснювати залежно від того, яка мета прогнозування. Загальний підхід базується на тому, що облас

Змiст

Нові надходження

Всього підручників:

292