Реализация автономних адаптивних системам управління з урахуванням нейронних сетей
Как було відзначено, конструктори мереж ядра СПИНС призначені для створення внутрішнього уявлення мережі у пам’яті комп’ютера різноманітні джерелам. Тут розглянутий лише одне — конструктор по файлуспецифікації мережі, однак коли ми не виключаємо можливість створення конструкторів, використовують інші джерела. Конструктор в суті своїй є фабрикою об'єктів класу ЭлементСети. Ідея фабрики ось у чому… Читати ще >
Реализация автономних адаптивних системам управління з урахуванням нейронних сетей (реферат, курсова, диплом, контрольна)
Московський ордена Трудового Червоного Знамени.
Физико-Технический Институт.
Факультет Управління і Прикладний Математики.
Кафедра Системного Программирования.
Нейросетевая реалізація системы.
автономного адаптивного управления.
Дипломна робота студента 275 группы.
Винокурова Олексія Николаевича.
Науковий руководитель:
буд. ф.-м. зв. Жданов Олександр Аркадиевич.
Робота виконано в.
Інституті Системного Програмування РАН.
Москва 1998.
Скорочення і обозначения.
1.
Введение
.
1.1. Запровадження і завдання работы.
1.2. Формалізація нейронних сетей.
1.3. Короткий опис методу автономного адаптивного управления.
1.4. Основні поняття і обозначения.
1.5. Алгебра образов.
2. Моделювання среды.
3. Апарат ФРО.
3.1. Біологічний нейрон.
3.2. Формальна модель нейрона.
3.3. Завдання побудови ФРО.
23 Розпізнавання просторово-часових образов.
4. База знаний.
5. Система побудови і дослідження нейронних мереж (СПИНС).
5.1. Актуальність системы.
5.2. Загальна коцепция системы.
5.3. Конструктори мереж. Бібліотеки шаблонов.
27 Організація обчислень в сети.
28 Аналізатори роботи сети.
29 Реалізація блоку оцінки состояния.
30 Реалізація моделі среды.
31 Приклад роботи программы.
32 Перспективи розвитку системы.
Заключение
.
Благодарности.
Скорочення і обозначения.
Прийняті сокращения.
ААУ — автономне адаптивне управління БД — блок датчиків БЗ — база знань БОС — блок оцінки стану БПР — блок прийняття рішень ГІП — графічний інтерфейс користувача (GUI) ІС — виконавчий орган НРС — недетерминированный автомат Рабина-Скотта СР — нейронна мережу МНРС — модифікований недетерминированный автомат Рабина-Скотта ЗУ — об'єкт управління ППО — пространственнно-временной образ СВ — випадкова величина СПИНС — система побудови і дослідження нейронних мереж УС — управляюча система ФР — функція розподілу ФРО — апарат формування та розпізнавання образов.
Прийняті обозначения.
[pic]- безліч неотрицательных цілих чисел [pic]- граф з безліччю вершин V і безліччю ребер N [pic] - ребро, спрямоване з вершини і в вершину j [pic]- взаимнооднозначное відображення безлічі X силою-силенною Y [pic] - безліч кінцевих підмножин безлічі X R[a, b] - безліч речовинних чисел на [a, b] [pic] BN — простір двійкових векторів розмірності N [pic] - порожній слово з багатьох вхідних слів КА 0 — брехня у натуральному вираженні тризначної логіки 1 — істина у натуральному вираженні тризначної логіки [pic] - невизначеність у вираженні тризначної логіки [pic] - [pic] є подвектор (сукупність вибраних компонент) вектора.
[pic] [pic] - клас Y нащадок класу X 1.
Введение
.
1.1. Запровадження і завдання работы.
При рівні розвитку техніки, коли навіть побутової техніки оснащується микропроцессорными пристроями, виникла потреба у інтелектуальних адаптивних системах управління, здатних пристосовуватися до дуже широкому діапазону зовнішніх умов. Понад те, виникла потреба у універсальної технології створення таких систем. Науковий досвід людства свідчить у тому, що у природі можна знайти безліч цінних ідей науці і техніки. Людський мозок є дивовижним і загадковим створенням природи. Здатність живих організмів, наділених вищої нервової системою, пристосовуватися до навколишньому середовищі може бути закликом до наслідуванню природі чи імітації під час створення технічних систем.
Серед имитационных підходів виділяється клас нейромережних методів. Нейронные мережі (СР) знайшли широке використання у областях искуственного інтелекту, переважно що з розпізнаванням образів і з теорією управління. Однією з основних принципів нейросетевого підходу принцип коннективизма. Суть його виявляється у тому, що розглядаються дуже прості однотипні об'єкти, з'єднані на велику й складну мережу. Таким чином, СР в першу чергу графом, з яким можна пов’язати сукупність образів, представлених як чисельні значення, асоційовані з вершинами графа, алгоритм для перетворення цих про чисельні значень з передачі даних між сусідніми вершинами і простих операцій з них. Сучасний рівень розвитку мікроелектроніки дозволяє створювати нейрочипы, які з дуже великої числа простих елементів, здатних виконувати лише арифметичні операції. Таким чином, нейросетевые методи підтримується аппаратно.
Математично СР можна як клас методів статистичного моделювання, який у часи чергу можна розділити втричі класу: оцінка щільності ймовірності, класифікація і регресія [NN]. Зокрема, в [NN] показано, що з допомогою мереж зворотного поширення і узагальненого [pic]- правила вирішується завдання оцінки щільності ймовірності методом змішування гауссовских распределений.
У відділі имитационных систем Інституту Системного Програмування РАН розроблений метод автономного адаптивного управління (ААУ). Передбачається, що систему ААУ можна повністю реалізована на нейронної мережі [Диссер, Жданов1−9]. На відміну від традиційного використання СР на вирішення лише завдань розпізнавання та формування образів, в методі ААУ узгоджено вирішуються задачи.
. розпізнавання та формування образов.
. отримання й зберігання знань (емпірично знайдених закономірних зв’язків образів і впливів на об'єкт управления).
. оцінки якісних характеристик образов.
. прийняття рішень (вибору впливів). Особливостями методу ААУ є:. Надмірність нейронів у мережі, необхідна на адаптацію системи управління (УС) до постійно змінюваних умов існування об'єкта управления.
(ЗУ). У результаті для практичної реалізації УС необхідно створення великих СР (порівнювати людський мозок містить ~1011 нейронів).. СР складається з специфічних нейронів, можуть бути ближчими аналогами біологічного нейрона і пристосованими вирішення завдань ААУ (раздел.
3.2). Нейрони у мережі з'єднуються спеціальним чином, також і рішення задач.
ААУ.
Особливості методу ААУ роблять непридатними чи малопридатними існуючі системи САПР і системи моделювання традиційних СР (наприклад, BrainMaker) до створення прототипів УС ААУ. Через це обставини завданнями дипломної роботи были:
1. Розробка інструмента СПИНС для моделювання і дослідження нейромережних реалізацій прототипів УС ААУ.
2. Розробка загальної схеми нейросетевой реалізації прототипів УС ААУ.
1.2. Формальна модель нейрона і нейросети.
Поняття схеми було запроваджено для формалізації обчислень на паралельних комп’ютерах [Итоги91]. Ми використовуємо це поняття для формального описи нейронних мереж, т.к. підходить цих цілей майже не змінювалась. Однією з наслідків такий близькості схем і СР є можливість хорошого розпаралелювання обчислень в моделях НС.
Определение 1.2.1. Назвемо схемою з орієнтований ациклический ортграф.
(припустимі ребра зі спільними вершинами), вершинами якого є параметризованные операції, тобто. операції, залежать від деякого параметра t. Аргументами операції є всі вхідні вершини чи входи, тобто. такі вершини, котрим є ребра (вхідні ребра), що йдуть від неї і спрямовані до цієї вершині, [pic]- вхідні арность i-ой вершини, тобто. число вхідних вершин, [pic]-выходная арность i-ой вершини, тобто. число вихідних вершин чи выходов.
Визначимо розмір схеми s© як загальна кількість вершин схеми, глибину схеми d© як максимальну довжину орієнтованого шляху до графі c.
Порядок вершини визначається рекурсивно: для вершин які мають входів, що належать мережі (витоки мережі), порядок дорівнює 0, інших порядок є максимум порядку входів плюс одиниця. Входами мережі називатимемо деяке підмножина безлічі витоків сети.
Виходами мережі вважатимемо просто деяке безліч вершин сети.
Определение1.2.2. Тут і далі, під нейронної мережею усвідомимо схему.
Власне схема є сукупністю композицій деяких параметризованных операцій. Глибина схеми є максимальний рівень вкладеності композицій. У методології СР важливо, що це операції є вычислительно простими, на кшталт виваженої суми чи булевых конъюнкции і диз’юнкції, у своїй вибирається дуже багато і композицій. У цьому вся суть коннективизма. Параметр t є власне тимчасовим параметром. Зауважимо, що тут і далі вважаємо час дискретним, хоча до формалізації СР це принципово. Перенумеровав вершини схеми, можна записати загальний вигляд параметризованной операции:
[pic], де [pic](t) — i-ая параметризованная операція, [pic]- вхідні вершини, [pic]- синаптична затримка на ребрі [pic]. Конкретний вид функції [pic] для запропонованої моделі нейрона представлять розділ «Апарат ФРО».
Пример 1.2.1. Як операции-вершины може бути будь-яке операція тризначної логіки (разд. 1.5).
Определение1.2.3. Виходами подграфа G (V, N), де V — безліч ребер, N — безліч вершин. мережі називатимемо все ребра [pic], входами все ребра [pic].
Определение1.2.4. Визначимо блок як зв’язний подграф мережі з однією выходом.
Определение1.2.5. Назвемо блок [pic] шаблоном деякого блоку [pic] якщо розрив між цими блоками існує изоморфное відображення, тобто. така пара відбиття [pic].
Определение1.2.6. Розбивкою мережі на блоки з шаблоном B називатимемо сукупність непересічних блоків [pic]такую, що з всіх таких блоків B є шаблоном й «об'єднання всіх блоків і межблоковых ребер (мається на увазі дві різні об'єднання: множин вершин і множин ребер) є вся сеть.
Определение1.3.7. Сукупність рекурсивних разбиений мережі [pic], де [pic] є розбивка шаблону [pic] називатимемо конструкцією мережі, а безліч [pic] шаблонами конструктора.
Определение1.2.8. Отже, під формальної моделлю нейрона усвідомимо шаблон [pic] розбивки мережі [pic], яка має вихід є булева операція. Під нейроном усвідомимо власне блок.
Наприклад, на рис. 1.2.1 представлена формальна модель перспептрона, де всі блоки [pic] мають один шаблон МакКаллока-Питтса [Маккалок].
Власне кажучи, стан навчання нейрона кожної формальної моделі визначається зі свого і, неформально висловлюючись, цей стан, в якому вважається, що нейрон вже «навчений» на вирішення свого завдання класифікації. Зазначимо, що навчання необратим.
Определение 1.2.9. Говоритимемо, що мережею розпізнано образ і, коли після пред’явлення мережі деякого вхідного сигналу не вдома i-ого нейрона з’являється 1.
Розпізнавання образу уже є щодо суті відповідь у вирішенні завдання класифікації для даного нейрона. [pic].
Рис. 1.2.1.
1.3. Короткий опис методу автономного адаптивного управления.
Метод ААУ докладно описаний на роботах [Жданов3−9], тому уявімо лише основні її боку. Будемо називати керуючої системою (УС) систему управління, яка імітує нервову систему відповідно до методологією ААУ. Під об'єктом управління (ЗУ) усвідомимо організм, що несе у собі нервову систему, інакше кажучи, ЗУ — це об'єкт, який має управлятися у вигляді УС, розташованої всередині ЗУ і яка взаємодіє зі своїми оточенням у вигляді блоку датчиків (БД) і виконавчих органів (ИО).
[pic].
Рис. 1.3.1.
На рис. 1.3.1 представлена система, під якої усвідомимо середу, у якому вкладено ЗУ, своєю чергою яке у собі УС. Як очевидно з малюнка, можна стверджувати, що УС управляє як ЗУ, але всієї системи. Під середовищем у системі можна розуміти різні об'єднання об'єктів. Будемо називати середовищем W сукупність об'єктів, лежачих поза УС; середовищем P. S — сукупність об'єктів, лежачих поза ЗУ; середовищем U — всю систему.
Блок датчиків поставляє УС вхідну інформацію як двоичного вектора. Цей блок необхідний у реальних системах для поєднання середовища проживання і УС, тому під час моделювання УС на ЕОМ не використовувався і ми акцентуємо на ньому у цій работе.
Роботу блоку формування та розпізнавання образів (ФРО) можна уявити наступним способом (докладний опис див. на роботах [Жданов3, Жданов8]). У блоці ФРО виходячи з апріорній інформації про можливі функціональних властивості середовища задано деякі об'єкти, назвемо їх нейронами (наприклад, нейрони спеціального виду, достойні роботі [Жданов8]), куди відбиваються деякі класи просторовотимчасових явищ, котрі потенційно можуть існувати у системі. Відображення задається топологією мережі. У класі, отображаемом на нейрон, виділяється підклас, котрі можуть сприйматися даним нейроном. Кожен нейрон може статистично аналізувати сприймалася їм підклас. Накопичуючи статистичну інформацію про сприйманому підкласі, нейрон може затвердити рішення, чи ринковий цей підклас випадковим чи невипадковим явищем у системі. Коли якійсь нейрон приймають рішення, що відображуваний нею підклас є невипадковим подією, він перетворюється на деяке не на вихідного (навчене (стан. Якщо нейрон навчений, то говоритимемо також, що сформований образ, цей спосіб ідентифікується номером даного нейрона. Підклас явищ, сприймалася нейроном, викликала його навчання, тобто просторово-часові явища, статистично достовірно що у системі, називається прообразом даного образу. Сформований образ то, можливо розпізнано блоком ФРО, коли прообраз даного образу спостерігається БД. Блок ФРО вказує, які з сформованих образів розпізнані в цей час. Поруч із цим розпізнані образи беруть участь у формуванні образів вищих порядків, тобто має місце агрегирование і абстрагування образов.
Блок формування бази знань [Жданов4−6] (БЗ) призначений для автоматичного уявлення емпірично знайдених УС знання функціональних властивості системи. Елементарного конструкцією бази знань (БЗ) в методі ААУ є статистично достовірне зведення у тому, як певне дію Yj впливає прообраз певного сформованого образу. Діями Yj названо підмножина безлічі допустимих впливів, елементи якого абсолютно ідентичні для УС за їхнім впливом на сформовані образи. Непорожнє зведення може мати з двох значень: або дію Yj тягне розпізнавання образу Oi, або дію Yj тягне витіснення образу Oi. З допомогою БЗ можна побачити, як конкретне дію впливає всю сукупність сформованих образов.
Блок оцінки стану [Жданов7] (БОС) виробляє інтегральну оцінку якості стану ЗУ St. Оцінка St використовується до розрахунку оцінки (ваги) pi кожного з знову сформованих образів деяким статистичним способом. Натомість, St функціонально залежить від оцінок pi розпізнаних образів. Є деяке безліч спочатку сформованих і оцінених образів. Оцінка St застосовується також до розрахунку темпу прийняття решений.
Блок вибір дії [Жданов4−6] чи, надалі, блок прийняття рішень (БПР) реалізує процедуру прийняття рішень, засновану на аналізі поточну ситуацію, цільових функцій, вмісту БЗ, і навіть оцінки поточного значення оцінки St. Фактична інформацію про поточну ситуацію представлена безліччю образів, розпізнаних в цей час блоком ФРО, а інформація якість поточного стану представлена оцінкою St. Безліч розпізнаних образів визначає БЗ та її розділ, який адекватний поточну ситуацію (ті знання, які істинними в поточних умовах). У відповідність до цільової функцією, яка передбачає прагнення УС поліпшити якості стану ЗУ, УС вибирає по БЗ то дію, що має максимальну суму оцінок що викликаються і вытесняемых образів. З багатьох вихідних впливів, відповідного обраному дії Yj, конкретне вихідний вплив вибирається випадковим способом, що він відповідає другий цільової функції, яка передбачає прагнення отриманню нових знаний.
Блок визначення часу прийняття рішень визначає глибину перегляду БЗ залежно від поточної оцінки St. Що значення St, то більше вписувалося образів (у порядку спаду модуля їх ваги) може врахувати УС після ухвалення рішення, тим менше темп прийняття рішень. При моделюванні цього блоку не використовувався й у цій роботі розглядатися не будет.
У УС може бути кошти на апріорного аналізу наслідків альтернативних выбираемых дій сталася на кілька кроків вперед.
Такий у найзагальніших рисах алгоритм управління, реалізований УС в методі ААУ. Основні властивості процесу управління у тому, що УС автоматично накопичує емпіричні знання про властивості пред’явленого їй об'єкта управління та приймає рішення, спираючись на накопичені знання. Якість управління зростає зі збільшенням обсягу накопичених знань. Зауважимо також, що управління не у цьому, що УС реагує на вхідну інформацію (у сенсі - негативна зворотний), суть у тому, що УС постійно активно шукає можливий у поточних умовах спосіб поліпшити стан ЗУ (позитивний зворотний зв’язок). Тим самим було УС ААУ має внутрішньої активностью.
Під час створення додатків то, можливо доцільним використання УС ААУ керувати лише у областях простору ознак, у яких раніше використовувані методи неефективні. Інакше кажучи, корисно розділити признаковое простір на дві області: галузь, на яку є завжди апріорна інформацію про властивості ЗУ, і де можна застосувати підходящу детерміновану систему управління, і область, де немає апріорній інформації про властивості ЗУ, де потрібно адаптація у реальному часу управління, у цій галузі доцільно управління з методу ААУ.
1.4. Основні поняття і обозначения.
Кожен вхід і вихід блоку середовища U представляється в математичної моделі, власне кажучи, випадковим вектором, а сукупність випадкових векторів, параметризованных часом [pic], утворюють процес. З іншого боку, виділимо другу категорію процесів, куди входять процеси, сформовані параметризованными СВ — виходами внутрішніх елементів блоків УС. Наприклад, для ФРО і, взагалі, всіх блоків, які з нейронів, це виходи всіх нейронів. У повній математичну модель середовища U, процес, що становить виходи всіх нейронів УС і виходи внутрішніх блоків середовища W, назвемо процесом середовища U.
Надалі ми користуватися такими позначками: T — кінцевий тимчасової інтервал життя системи; [pic]- параметр часу; [pic] - початковий час роботи УС; [pic] - вхідний процес, вхідний процес для ФРО, отже, і для УС; [pic] - і - на компонента [pic]; [pic] - реалізація вхідного процесу, чи вхідний фільм, певний на інтервалі часу [pic]; [pic] - і - на компонента [pic]; [pic] - процес середовища, вихід блоку середовища W; [pic] - і - а компонента [pic]; [pic] - процес ФРО, сукупність виходів всіх нейронів блоку ФРО на інтервалі [pic]; [pic] - і - на компонента [pic]; [pic] - процес управляючих впливів на середу [pic] із боку УС, де Y — безліч допустимих впливів на середу із боку УС; F — безліч образів апарату ФРО.
1.5. Алгебра образов.
Як алгебраїчних операцій над образами ми будемо використовувати операції тризначної логіки, що є розширенням звичайній логіки з двома значеннями: істина і брехня, обозначаемые далі як 1 і 0 відповідно, і має третє значення: невизначеність чи [pic]. Тут наведено таблиці для операцій тризначної логіки. Перший стовпець містить значення першого аргументу, перший рядок — второго.
|[pic] |1 |0 |[pic] | |1 |1 |0 |[pic] | |0 |0 |0 |0 | |[pic] |[pic] |[pic] |[pic] |.
Таблиця 1.5.1.
|[pic] |1 |0 |[pic] | |1 |1 |1 |1 | |0 |1 |0 |[pic] | |[pic] |[pic] |[pic] |[pic] |.
Таблиця 1.5.2.
|[pic] |1 |0 |[pic] | |1 |1 |0 |1 | |0 |1 |1 |1 | |[pic] |[pic] |[pic] |[pic] |.
Таблиця 1.5.3.
Заперечення [pic] для невизначеності дає невизначеність, інших значень — той самий, що у двозначною логіці. Для зручності ми вважаємо, що результати операції в останній момент [pic] є невизначеність по визначенню. 2. Моделювання среды.
Для експериментальної перевірки методу автономного адаптивного управління необхідно створити математичну модель середовища, достатню для імітації реакції та поведінки реальної середовища на деякому рівні, прийнятному для даної керуючої системи. Але перевірка не єдиною завданням, розв’язуваної з допомогою моделі середовища. По-перше, якби початковому етапі у базі знань УС немає знань, її треба наповнити початковими даними. Можливі випадки, коли отримання вихідних знань неможливо у час реальної роботи УС, оскільки він відбувається методом спроб і помилок, і існує загроза загибелі всієї системи. Тому початкове навчання у разі необхідно проводити «на стенді», тобто. з моделлю середовища. Природно, чим ближче модель до властивостями реальної середовища, краще навчиться УС і тих вища ймовірність виживання системи. Моделювати середу можна безліччю способів. Наприклад, зробити макет об'єкта управління, вмістили його до умов, близькі до тих, де зараз його призначений працюватимете, і дати можливість навчатися, поки що в експериментаторів нічого очікувати впевненості у живучості апарату і здатності до адаптації тому діапазоні зовнішніх умов, де зараз його призначений працювати. На шляху створення реальної діючої системи можливо кілька проміжних етапів. Уявімо, що систему створюється «від початку» й лише деяка завжди апріорна інформацію про середовищі і, можливо, якісь ставлення до законах управління. Створювати відразу діючий макет дорого, оскільки у даному етапі навіть відомо, які образи УС повинна вміти розпізнавати, і, можливо, доведеться робити кілька эспериментальных прототипів. Для дослідження цього питання пропонується змоделювати середу, наприклад, з допомогою ЭВМ.
Як жодну з моделей середовища для досліджень властивостей ААУ ми пропонуємо взяти кінцевий автомат [КА]. КА є широко відомим, добре вивченим, зрозумілим, і зручним під час моделювання середовища об'єктом за такими міркувань: 1) різні стану середовища природним чином відбиваються в стану КА; 2) переходи вже з стану середовища до іншого під впливом УС та природним чином відбиваються в переходи КА між станами під час читання вхідного слова. Зазначимо, що з визначних акторів і поширених КА найбільш підходящими для моделі автомати Мура і недетерминированные автомати Рабина-Скотта чи НРСавтомати. Щоправда, моделі, засновані на перших, потребують додатковому запровадження стохастичних джерел, а НРС-автоматы потребують модифікації, оскільки реальні середовища є недетерминированными об'єктами. Більше того, недетерминированность моделі середовища необхідна на навчання УС. У насправді, якби реакція середовища повністю детермінованою і залежала тільки від впливів її у УС, то УС, знайшовши перший закон управління, використовувала тільки б його за виборі управляючих впливів, оскільки за критеріям системи управління краще використовувати хоч якийнибудь закон управління й одержати щодо гарантований результат, ніж продовжувати пошуки методом спроб і помилок. Це був б замкнутий порочне коло: система впливає на середу лише одною способом, середовище детерминированно реагує цього вплив, УС вбачає лише одну реакцію (яка може бути найкращою) і намагається викликати лише цю реакцію. Уникнути таких «зацикливаний» можна з допомогою моделювання недетеминированной реакції среды.
Наведемо визначення автоматів Мура [КА] і введемо модифіковані НРСавтоматы.
Определение 2.1. (Кінцевий) автомат Мура є п’ятірка, А = (Z, X, Y, f, h).
Тут Z — безліч станів, X — безліч входів, Y — безліч виходів, f — функція переходів, [pic] і h -функція виходів, [pic] - сюръективное отображение.
Автомат працює за наступному принципу. Якщо КА перебуває у деякому стані [pic], то вихід автомата визначається функцією виходу. Вихід автомата інтерпретується у разі як середовища, яка, можливо, з декотрими перетвореннями у блоці датчиків можна подати на вхід апарату формування та розпізнавання образів як двоїчний вектор. Кожного моменту часу автомат читає вхідний слово, яке інтерпретується як сумарне вплив із боку УС та інших об'єктів. Безліч входів то, можливо ширше ніж безліч допустимих впливів на середу із боку УС і включатимуть у собі слова чи команди, що потенційно можуть подаватися зі стохастичних джерел, що є всередині середовища. По прочитане вхідному слову і функції переходів визначається статки у наступний момент времени.
Определение 2.2. (Кінцевий) модифікований недетерминированный автомат.
Рабина-Скотта (МНРС) є сімка, А = (Z, X, T, P. S, F, h, p). Тут Z и.
X — кінцеві безлічі (станів і входів відповідно; X називають також вхідним алфавітом автомата А); [pic] (безлічі початкових і фінальних станів відповідно); [pic], де [pic], [pic] (інакше кажучи T — багатозначне відображення [pic] з кінцевої областю визначення); h — те, що у автомата Мура; p — функція ймовірності переходів, [pic], причем.
[pic]. (2.1).
Зазначимо, що ми розглядаємо лише неалфавитные МНРС, тобто. КА, у немає переходів для порожнього слова [pic]: [pic], отже, немає і спонтанних переходів. Відмінною рисою МНРС є неоднозначність переходів чи можливість відповідності одному й тому ж парі стан — вхідний слово кількох переходів і приписаної кожному переходу ймовірності. Умова (2.1) означає, сума ймовірностей всіх переходів із будь-якої стану є 1.
Відмінність принципу дії МНРС від автомата Мура у тому, що, коли автомат перебуває у деякому безпечному стані й прочитав вхідний слово, то реалізується одне із можливих з цього гніву й при даному вхідному слові перехід, у своїй ймовірність реалізації переходу визначається функцією p.
Наведені дві моделі середовища з цими двома різними КА є еквівалентними і задають різні моделей поведінки. Вочевидь, будь-яка модель з автоматом Мура то, можливо змодельована моделлю з МНРС, причому зворотне твердження для будь-який моделі не так. Автомат Мура простіше у реалізації і дослідженнях, і з допомогою МНРС можна побудувати точнішу модель среды.
3. Апарат формування та розпізнавання образов.
3.1. Біологічний нейрон.
На рис. 3.1.1, взятому з [Turchin] представлено спрощеному вигляді біологічний нейрон. Схематично може бути розділити втричі частини: тіло клітини, що містить ядро і клітинну протоплазму; дендрити — деревоподібні відростки, службовці входами нейрона; аксон, чи нервове волокно, — єдина можливість нейрона, являє собою довгий циліндричний відросток, гіллястий на кінці. Для описи формальної моделі нейрона виділимо такі факти: Рис. 3.1.1.
В будь-якої миті можливі лише дві стану волокна: наявність імпульсу та її відсутність, так званий закон «усі поголовно чи нічого». Передача вихідного сигналу з аксона попереднього нейрона на дендрити чи безпосередньо в тіло наступного нейрона ввозяться спеціальних утвореннях — синапсах. Вхідні сигнали сумуються з синаптическими затримками й у залежність від сумарного потенціалу генерується або ні вихідний імпульс — спайк.
3.2. Формальна модель нейрона.
Впервые формальна логічна модель нейрона було запроваджено Маккалоком і Питтсом в 1948 року [Маккалок] і відтоді запропонували величезне кількість моделей. Але вони призначені на вирішення переважно завдань розпізнавання і класифікації образів. Можна вказати низку основних відмінностей запропонованої у цій роботі моделі вже існуючих. По-перше, в класичних моделях завжди присутній «вчитель» чи «супервизор», подстраивающий параметри мережі за певним алгоритму, запропонований ж нейрон повинен підлаштовуватися «сам» залежно від «яку побачив» їм послідовності вхідних векторів. Формально кажучи, під час роботи нейрона повинна застосовуватися лише інформація з його входів. По-друге, в запропонованої моделі немає речовинних терезів та зваженою суммации за цими вагам, що великим плюсом під час створення нейрочипа і модельних обчисленнях, оскільки целочисленная арифметика виконується завжди швидше, ніж раціональна та простіше у реалізації. Але головне відмінність запропонованої моделі полягає у мети застосування. З допомогою неї вирішуються завдання керуючої системи: формування та розпізнавання образів (ФРО), розпізнавання і запам’ятовування закономірностей (БЗ), аналізують інформацію БЗ і вибір дій (БПР), на відміну від класичних моделей, де вирішується лише перше завдання. Важливе завдання на ФРО для автономних систем є також як розпізнавання образів, а й їхні зберігання чи запам’ятовування. Це випливає з автономності системи, т.к. для неавтономных систем розпізнані образи можуть зберігатися і використовуватися поза системою. Власне кажучи, проблему запам’ятовування можна вирішити безліччю способів. Наприклад, відомий способів — організувати кільце з нейронів, у якому сигнал міг би прецессировать нескінченно чи перебігу певного часу у разі загасання. У разі система набирає нового корисне властивість «забудькуватості», яке, як відомо, властиво біологічним системам і дозволяє раціональніше й економно використовувати ресурси, т.к. непотрібна чи малоиспользуемая інформація просто «забувається». Експерименти проводилися з формальної моделлю безпам’яті, але очевидно, що вона непотрібна нікому. Нами пропонується запровадити так звану синаптичну пам’ять, тобто. здатність запам’ятовувати вхідний сигнал в синаптическом блоке.
x1t D1 T1 y1 t.
(1 (1 Rw y2 t bwt+1.
x2t D2 T2 …
(2 (2.
Owt+1.
& cwt+1.
.. .
.. .
.. .
xmt Dm Tm ymt.
(m (m.
Рис. 3.2.1.
В цій роботі ми використовуємо нейрон з [Жданов2], який модифікований в відповідність до [Братищев]. Ми заведемо лише коротке опис. На рис. 3.2.1 представлена блокова схема запропонованої формальної моделі нейрона. Входи нейрона xit подаються на блоки затримки Di затримки сигналу тимчасово (і, та був на триггерные елементи Ti для подовження сигналу на величину (і. Дані елементи забезпечують деяку невизначеність моменту надходження вхідного сигналу стосовно моменту генерації вихідного спайка і утворюють в такий спосіб синаптичну пам’ять, оскільки вхідний сигнал запам’ятовується у тих елементах на кілька днів. З урахуванням затримок (і і (і отримуємо, що, якби виході навченого нейрона в останній момент t з’явився одиничний сигнал, то поодинокі імпульси на входи нейрона надійшли у інтервали часу di = [ t — (і - (і; t — (і -1]. Невизначеність моментів надходження вхідних імпульсів тим менше, що менше затримки (і. Приклад тимчасової діаграми роботи навченого нейрона з цими двома входами і з заданими затримками (і і (і ілюструє рис. 3.2.2. Питальними знаками показані невизначеності моментів приходу вхідних імпульсів, відповідні інтервалам di.
[pic][pic].
[pic][pic] x1? ? ?
x2? ?
y1.
y2.
c1.
1 2 3 4 5 6 7 8 9 10 11 12 t.
Рис. 3.2.2.
Різноманітне ставлення, і розташування затримок (і і (і у часі наділяє нейрон можливостями формування та розпізнавання образів наступних видів. Якщо [pic], тут маємо просторовий образ. Наприклад, образ деякою геометричній постаті. Якщо [pic], тут маємо образ прямування (важливий порядок прямування їхнім виокремленням, припустима невизначеність у конкретні моменти приходу імпульсів). Прикладом то, можливо розпізнавання слів під час читання по буквах. Якщо ((і = 1, тут маємо просторово-часової образ (ППО), у тому разі однозначно визначено, за якими входам у які моменти часу приходили сигнали. Прикладом то, можливо розпізнавання музичного тону певної высоты.
Элемент lw призначений для набору статистики у цій просторовотимчасовому образу. Значення lw=1 зазначає, що це нейрон обучен.
Задержки (і і (і задано спочатку, тобто. є константними параметрами нейрона. Якщо що надходить даний нейрон послідовність сигналів містить закономірність, описувану такими тимчасовими параметрами, то нейрон сформує образ такого просторово-тимчасового прообразу. Вочевидь, що необхідна число нейронів подібного типу у мережі тим менше, що більше апріорній інформації про тимчасових характеристиках прообразів відомо на стадії синтезу мережі. Наведемо формалізм нейрона.
Owt+1 = cwt+1 & Swt+1; cwt+1 = bwt+1 & lwt+1 ;
bwt+1 = [pic].
yit = (cwt & ait ;
ait = [pic];
где [pic][pic]= t (xit = 1 — момент імпульсу на вході xi ;
lw t = [pic];
Nw0 = 0; Nwt = Nwt-1 + bwt; Rw (Nwt) — убутна сигмоидальная функция.
3.3. Завдання побудови ФРО.
А, щоб правильніше й економно побудувати нейронну мережу ФРО, необхідно зрозуміти зміст чи «концепцію» [Turchin] формованих образів, тобто., точніше висловлюючись, знайти для даного образу безліч навчальних вхідних фільмів чи безліч всіх таких реалізацій вхідних процесів, що призводять до навчання даного нейрона чи формуванню даного образу. Введемо поняття який навчає вхідного фильма.
Определение 3.3.1. Кожен вхідний фільм [pic] назвемо обучающим для нейрона [pic], якщо [pic] - початковий час роботи системи та [pic] [pic], [pic].
Таким чином, завдання побудови СР ФРО можна сформулювати наступним чином: для даної сукупності вхідних фільмів побудувати таку мережу, в якої були присутні нейрони, котрим дані вхідні фільми є навчальними. Побудована в такий спосіб мережу здатна вирішувати еталонну завдання класифікації, де серед еталонів використовуються дані вхідні фільми. Відомо безліч способів конструювання і настрою мереж для класичних формальних моделей нейронів, наприклад, мережі зворотного поширення, використовують узагальнену [pic]-правило. Проблема запропонованого підходу у тому, що 1) система мусить бути автономної, отже відсутня «вчитель»; 2) власне кажучи, апріорі невідомі все життєво необхідних системи образи. Але коли ми володіємо апріорній інформацією щодо умов існування системи (тобто майже буває), її варто використовувати при конструюванні ФРО. Можна інакше сформулювати завдання побудови ФРО. Наведемо приклад із системою «Пілот» [Диссер, Жданов9]. У математичну модель супутника використовуються величини кутового становища супутника [pic] та її похідною [pic], отже, очевидно, що різноманітні поєднання можливих значень цих величин (тобто. деяка область, на фазової площині) необхідні перебування законів управління системою. Справді, скажімо система в останній момент часу t перебуває у стані [pic] і УС вибирає деяке котра управляє вплив [pic] (включення однієї з двигунів, наприклад). Ми знаємо, зараз часу [pic] система опиниться у деякому стані, відповідному точці на фазової площині із певною ймовірністю [pic], де [pic] - точка на фазової площині, в такий спосіб, можна казати про деякому вероятностном розподілі [pic], заданому в фазовому просторі і що характеризує пророцтво поведінки системи через інтервал [pic] під час виборів впливу [pic] в час t. Якби параметрів [pic] було досить для описи законів управління, то функція розподілу залежала б ще й інших параметрів, і за одним і тієї ж величинах [pic] приймала інші значення залежність від значень неврахованих параметрів. Отже, УС окремо не змогла знайти ніякого закону управління, оскільки система шукає статистично достовірну корелляцию між піднаглядним станом ЗУ, обраним дією і станом ЗУ через певний інтервал часу. Законом управління тут назвемо сукупність функцій розподілу для кожного управляючого впливу [pic], де [pic] перебуває у деякому діапазоні. Знайдений УС закон управління відобразиться у певному внутрішньому форматі в БЗ, причому може бути отримано у процесі навчання системи в реальних умов просто під час роботи, або на тестовому стенді, «на землі». Отже, можна сказати, що завдання побудови ФРО полягає у конструюванні образів, відповідних необхідного набору параметрів, що описують стан системи, та його комбінаціям, необхідним перебування закону управління. Віднайденню таких образів може допомогти математична модель об'єкта управління, якщо вона имеется.
3.4. Розпізнавання просторово-часових образов.
Определение 3.4.1. Будь-яку сукупність значень реалізації вхідного процесу у деякі обрані інтервали часу [pic] називатимемо просторово-тимчасовим чином (ПВО).
Отметим, що перший нейрон здатний розпізнавати (тобто. здатний навчитися виділяти конкретний ППО серед усіх інших) ті ППО, які мають одиничне значення сигналу кожної обраної компоненти вхідного процесу трапляється понад один раз (приклад зображений на верхньому графіці рис. 3.4.1). Мережа нейронів можна побудувати отож у неї формуватися будь-які задані ППО (нижній графік рис. 3.4.1). [pic] Рис 3.4.1. 4. База знаний.
Процес накопичення знань БЗ у межах методології ААУ докладно розглянутий в [Диссер], [Жданов4−8]. У розділі ми опишемо лише основні відмінності між зазначених джерел. Розглянемо загальний алгоритм формування БЗ. Основна мета алгоритму полягає у накопиченні статистичної інформації, що допомагає встановити зв’язок між обраними керуючої системою впливами на середовище, й реакцією середовища на ці впливу. Друге завдання алгоритму полягає у приписуванні оцінок сформованим образам та його коригування відповідно до вихідним сигналом блоку оцінки состояния.
Определение 4.1. Будемо називати повним отсоединением ФРО від середовища таке умова: процеси [pic] і [pic] є незалежними. Власне кажучи, в діючої системі, ясна річ ці процеси залежні, наприклад, у простій дії разі без блоку датчиків [pic], але запровадження деяких понять потрібно подумки «від'єднати» вхідний процес та інформаційний процес среды.
Определение 4.2. Назвемо часом реакції середовища на вплив [pic] число.
[pic], де [pic] випадкові величини [pic] і [pic] є залежними за повної від'єднання ФРО від середовища. Закономірністю чи реакцією середовища вважатимемо залежність [pic] від [pic].
Другими словами, час реакції середовища цей час, крізь який проявляється, тобто. то, можливо розпізнана блоком ФРО, реакція на воздействие.
Пример 4.1. [pic] = [pic]. Вочевидь, що саме [pic].
Определение 4.3. Назвемо мінімальної [pic] і максимальною [pic] інертністю середовища мінімальне і забезпечити максимальне відповідно час реакції середовища на вплив [pic] всім [pic]. Інтервал [pic] називатимемо інтервалом чутливості среды.
Заметим, що [pic]. Введемо сукупність образів [pic]. (4.1) Параметр n > 0 назвемо запасом на інертність середовища. Сенс [pic] полягає у тому, що й [pic] навчений, в цей час часу розпізнано образ [pic] і УС вибере вплив [pic] те з деякою ймовірністю через n кроків розпізнається образ [pic]. Аналогічно введемо образ [pic], (4.2) зміст якої збігається з змістом [pic], із тією лише відмінностями, що [pic] не розпізнається, а вытеснится. Оскільки в результаті способом управління УС є виклик певних образів і витіснення інших, то сукупність навчених образів [pic] є матеріалом, що його досягненню мети управління, тобто виклику чи витіснення певних образів у вигляді вибору впливу [pic] з багатьох можливих впливів Y кожному кроці t. Як використовується цей матеріал буде викладено розділ «Блок прийняття рішень». Запас на інертність запроваджено з таких міркувань. Очевидно, що марно намагатися вловити закономірність виду «був розпізнано образ [pic], застосували [pic]и через m кроків отримали [pic]», де [pic], оскільки середовище буде просто більше не встигати відреагувати. Отже, УС може вловити закономірності згодом реакції середовища невеликою ніж n. Аналогічно, немає сенсу вибирати n надто великою, тобто. значно більшим, ніж [pic]. З іншого боку, використовуючи синаптичні затримки вхідних сигналів в нейроне, ми можемо відловити будь-яку закономірність згодом реакції меншим або рівним запасу на інертність. Справді, ми можемо побудувати ФРО те щоб образи [pic] і [pic] формувалися із «потрібними затримками [pic], де m — час реакції середовища. Зауважимо, що апріорі нам невідомо час реакції середовища m, тому є лише вибрати параметр n всім образів однаковим і «напевно» великим ніж [pic] (для цього потрібні скористатися апріорній інформацією щодо середовищі). Тепер можна порівняти кожному образу з ФРО певна кількість чи оцінку. Нехай [pic] - вихід блоку оцінки стану, а [pic] - оцінка образу [pic], получающаяся за таким алгоритмом: [pic], [pic], де [pic]- деяка «усредняющая» функція, [pic]- безліч моментів часу, у яких образ [pic] був розпізнано. Як [pic] зазвичай береться просто середнє арифметическое.
[pic]. Нині можна визначити, що таке база знаний.
Определение 4.4. Назвемо базою знань сукупність сформованих образів [pic] і сукупність оцінок [pic] всім образів ФРО.
Определение 4.5. Означимо об'єднання множин всіх образів (4.1) і (4.2) через [pic], де F — безліч образів ФРО, Y — безліч можливих впливів. Назвемо B простором образів БЗ. 5. Система побудови і дослідження нейронних мереж СПИНС.
5.1. Актуальність системы.
Для моделювання на ЕОМ компонентів УС, сконструйованих з нейронів, була усвідомлено потреба у спеціальному інструменті, що дозволяє з допомогою зручного графічного інтерфейсу створювати бібліотеки шаблонів блоків, будувати мережі з блоків, побудованих за шаблонами, і прораховувати мережу із можливістю перегляду проміжних станів мережі, збирання й аналізу статистики на роботу мережі з метою налагодження. Під час створення (чи виборі) інструмента використовувалися такі критерії: відкритість, чи специфікація і реалізація (generic) інтерфейсу і (процедур обробки) форматів даних, дозволяють проводити модифікацію та нарощування функціональності системи не чіпаючи ядра системи та з мінімальними витратами модифікацію пов’язаних компонент, інакше кажучи, мінімізація перетинів поміж компонентами; гнучкість, спроби з конструювання якомога більшої числа класів формальних моделей нейронів та мереж під найрізноманітніші докладання від моделей УС супутників і космічних апаратів до систем підтримки прийняття прийняття рішень та систем передбачення курсу цінних паперів; многоплатформенность, максимальна незалежність від ОС; зручність і пристосованість до моделювання саме систем ААУ, простота в використанні і можливість ефективно працювати на щодо слабких ресурсах ЕОМ (класу персональних комп’ютерів), дешевизна. Аналіз наявних чи доступних систем САПР та інших систем (наприклад, LabView чи систем з класичними СР), тим чи іншим чином які відповідають перших трьох критеріям, показав, що вони є або важкими, чи надто дорогими, або дуже погано пристосовані до моделювання систем ААУ і ЗУ з формальної моделлю нейрона, що викладена у розділі «Апарат ФРО» або до працювати з мережами, які з тисяч нейронів. Отже, виникла потреба в інструменті для науководослідницьких цілей, який би дозволяв перевіряти ідеї ААУ і створювати прототипи УС на НС.
5.2. Загальна концепція системы.
[pic].
Рис. 5.1. Загальна схема ядра СПИНС.
На наведеної схемою (рис 5.1) вказані основні класи об'єктів ядра системи та їхню взаємодію. Стрілками показані потоки даних під час роботи системи. Кожен з основних блоків УС відповідає свій блок у системі. Чотири блоки: ФРО, БЗ, БОС і БПР становлять УС. Нагадаємо, що у підрозділі «Формалізація СР» розділу 1 ми визначили такі поняття, як блок, вихідна функція блоку, шаблон, нейронна мережу і формальна модель нейрона. З формальної моделі СР слід, що блок — це ієрархічна структура, в якої елементи рівня з'єднані до мережі і з елементів рівня то, можливо мережею, що з елементів нижчого рівня. Розглядаючи обраний елемент якогось рівня, можна його «чорним ящиком», тобто. абстрагуватися з його вмісту і внутрішнього устрою. Наприклад, можна на деякому проміжному етапі конструювання УС абстрагуватися від нейро-сетевой реалізації будь-якого блоку верхнього рівня життя та спробувати різні реалізації, причому необов’язково нейросетевые. Система не накладає обмежень на внутрішня побудова кожного блоку, тому вона може мати внутрішньої ієрархії, а й просто представлятися деякою функцією виходу. Далі, в процесі розвитку УС, вміст окремих блоків може змінитися, можливо більш складним; і ієрархічним, у своїй поведінка системи не зміниться, якщо нове вміст забезпечує функціональність старого в сенсі еквівалентності вихідних функцій. Отже, полегшується розробка системи, т.к. з’являється можливість конструювання «згори вниз», не потрібно реалізовувати блок відразу через СР, можна поставити тимчасову «заглушку», а процесі розвитку системи ускладнювати, доповнювати чи заміняти на геть в іншу внутрішню конструкцію блоків. Крім зазначених блоків, до системи входять ще важливі класу об'єктів: конструктори сіті й аналізатори роботи мережі. Перші, з назви, призначені до створення робочих копій СР у пам’яті комп’ютера по різних джерел, приміром з специфікації мережі з файла. Власне, кожному за джерела і складається свій об'єкт. (Слід відрізняти дані об'єкти від конструкторів мереж, виділені на створення з допомогою ГІП файли специфікації мереж; ці конструктори в ядро СПИНС не входять). Специфікація мережі може посилатись на шаблони блоків з бібліотеки, які, в такий спосіб, також можуть бути джерелом для конструкції. Аналізатори потрібні налагодженні мереж. Річ у тім, що мережі можуть утримувати тисячі і десятки тисяч елементів (принципових обмежень нет, имеют місце обмеження лише з пам’яті і продуктивності комп’ютера), роботу яких одночасно простежити просто неможливо, якщо тимчасової інтервал роботи, становить сотні мільйонів і більш тактів. Тому необхідно якось узагальнювати інформацію про стан мережі (яка є сукупність станів кожного елемента) у кожний час і давати користувачеві сумарну інформацію, можливо, із певною деталізацією на розсуд користувача. Для такого завдання і потрібні спеціальні об'єкти — аналізатори. Ці об'єкти можуть зберігати історію станів вибраних елементів в обрані інтервали часу й згодом її аналізувати, тобто. визначати статистичного роду інформацію. Кожен об'єкт вирішує це завдання по-своєму — і то, можливо обраний залежно роду необхідної інформації на роботу мережі. Зазначимо тут не думку дуже корисну класифікацію об'єктів на інструменти, і матеріали [СтатьяИнстрМатериалы]. Матеріалами називаються об'єкти, є свого роду контейнерами інформації та містять методи лише накопичення та нескладних перетворень цієї інформації. Інструментами називаються об'єкти, призначені в обробці матеріалів, тобто. ще інтелектуальних і складних перетворень інформації, яку зберігають об'єкти — матеріали. Отже, з погляду цієї класифікації, ми вважаємо нейронные мережі (блоки) матеріалами, а конструктори і аналізатори — інструментами. Слід плутати ці инструменты-объекты з инструментами-приложениями, можуть бути надбудовами над ядром. У реалізацію програми ми істотно використовували ідеї об'єктних шаблонів з [Gamma]. Далі, описання реалізації системи ми будемо використовувати російськомовні аналоги термінів, введених у [Gamma], тому, ніж виникло плутанини, відзначимо, що Фабрика відповідає Factory, об'єктні шаблони — design patterns, Синглетон — Singleton, Chain of Responsibility — Ланцюжок Оброблювачів. Назви класів об'єктів виділять курсивом і починатися з великої літери. Зазначимо, ідея шаблонів в програмуванні і computer science була дуже плідної і слово «шаблон» тут використовуємо у трьох різних сенсах: об'єктний шаблон (design pattern), просто шаблон (себто визначення 1.x.5) і З++ - шаблон (template). Ми опишемо лише реалізацію ядра системи. Додержання принципів відкритості передбачає закладання можливості розвитку системи через додавання надбудов над ядром (рис. 5.2). Ми, наскільки можна, намагалися дотримуватися його даному принципу. Зокрема, однією з напрямів розвитку бачимо створення конструкторів бібліотек шаблонів (отже, та мереж) з допомогою ГІП. Передбачається, що вихідним продуктом цих конструкторів будуть файли специфікації шаблонів, з якими вміє працювати ядро, з яких і було формуватимуться бібліотеки шаблонів. Далі, можна було б створити тривимірний визуализатор БЗ (звідси далі), також ми вважаємо, знадобиться окремий інструмент для конструювання самих БЗ, а, можливо, за певного рівні складності блоків УС, й у кожного їх по окремому інструменту, які враховували повною мірою специфіку блоків УС. [pic] Рис. 5.2.
5.3. Конструктори мереж. Бібліотеки шаблонов.
Как було відзначено, конструктори мереж ядра СПИНС призначені для створення внутрішнього уявлення мережі у пам’яті комп’ютера різноманітні джерелам. Тут розглянутий лише одне — конструктор по файлуспецифікації мережі, однак коли ми не виключаємо можливість створення конструкторів, використовують інші джерела. Конструктор в суті своїй є фабрикою об'єктів класу ЭлементСети. Ідея фабрики ось у чому. Оскільки конструювання мережі полягає у породженні величезної кількості різнорідних об'єктів ЭлементСети, то необхідний об'єкт для регулювання процесу породження і смерть цих об'єктів, чи фабрика елементів мережі. Тобто Фабрику також функції збирача сміття. Регулювання чи управління процесом породження полягає у наступному. Ми маємо багато різних нащадків класу ЭлементаСети, наприклад, Нейрон, який, своєю чергою має низку підкласів, соотвествующих кожної з різновидів формальних моделей, і навіть інші елементи мережі Блок, Джерело, має також кілька своїх підкласів тощо. Припустимо, ми модифікували чи створили версію класу A з перелічених класів — [pic]. Тоді, у кожному місці вихідного тексту ми повинні замінити оператор породження A на оператор породження [pic]. Більше гнучкою є така схема. Фабрика1 вміє, чи, точніше висловлюючись, має методи для породження об'єктів класів А, B, З тощо. При повідомленні про породженні, наприклад, об'єкта типу А, вона породжує насправді об'єкт нащадка А: [pic], а Фабрика2 породжує у разі [pic]. Таким чином, заміною лише фабрик ми можемо змінювати класи породжуваних об'єктів. Зазначимо, що фабрика мовою З++ природним чином реалізується через З++ - шаблон (template) і параметризуется типом породжуваних об'єктів. Посилання на ФабрикуЭлементовСети, яка вміє породжувати кожен із кінцевих нащадків ЭлементСети, зберігає об'єкт Мережа. При ініціалізації КонструктораСети його інформують посилання Мережа. Природно, Мережа ще містить ЭлементовСети, але вже настав повинен мати посилання ФабрикуЭлементовСети. При конструюванні мережі по файлу специфікації КонструкторСетиПоФайлу (підклас КонструктораСети) використовує методи породження об'єктів ФабрикиЭлементовСети, посилання що він бере від Мережі. Зазначимо тут, як вирішена була питання передачі параметрів конструктору (инициализатору, особливому методу, вызывающемуся першим після розміщення об'єкта у пам’яті) елемента сіті й, взагалі, конструктору будь-якого об'єкта, породження і видалення якої перебуває під керівництвом фабрики. Проблема полягає у уніфікації типу переданих параметрів: повинно бути одні й самі всім типів елементів мережі. Був запроваджено клас Атрибут і методу породження об'єкта у фабрики і, конструктору об'єкта передавався список Атрибутів. Кожен Атрибут має ім'я, і конструктор кожного елемента мережі розпізнає лише деяке підмножина підкласів Атрибута, «свої атрибути», які дізнається під назвою. Наприклад, АтрибутВероятности є подклассом Атрибута, має полі раціонального типу ймовірність. Конструктор Нейрона2 розпізнає АтрибутВероятности в переданому списку атрибутів та «використовує значення його поля ймовірність для ініціалізації Нейрона2. Для атрибутів також знадобилася ФабрикаАтрибутов. Під час створення Фабрики використали іще одна об'єктний шаблон, так званий Синглетон. Синглетон переймається тим забезпечення одиничності примірника класу тут і управляє доступом до цього примірнику. Тепер про специфікації. Під час створення мови специфікації ставилися такі: Максимум широти спектра описуваних мереж, чи максимальна гнучкість мови Відносна простота і читабельність Мінімальна довжина специфікацій Можливість розвитку мови Як елементарного прикладу змодельована нейросеть з чотирьох нейронів, з допомогою яких може бути сформовані образи відповідно чотирьох станів КА середовища. Для даного прикладу специфікація має наступний вид:
[Meta] set for Neuron2 synonym N set for Brancher synonym I.
[Inputs] I1, I2,I3,I4.
[Outputs] I1, I2,I3,I4,N1,N2,N3,N4.
[Net Topology] set for N default connection attribute delay=0 set for N default attribute study_counter=3 DecisionMaker (actions=0,1) StochasticSource (probability=0.1,value=2) Max[DecisionMaker, StochasticSource] Env[or] I1[Env (contact_number=0,delay=1)] I2[Env (contact_number=1,delay=1)] I3[Env (contact_number=2,delay=1)] I4[Env (contact_number=3,delay=1)] N1[I2,I3,I4] N2[I1,I3,I4](study_counter=4) N3[I1,I2,I4] N4[I1,I2,I3].
Пример 5.3.1. Специфікація сети.
Спецификация складається з секцій. Секція починається з вказівки імені секції в квадратних дужках і складається з операторів специфікації. У Meta секції зібрані оператори, сферу застосування яких — вся специфікація, тобто. все секції. Тут, наприклад, можна поставити имена-синонимы для шаблонів. У багатьох секціях може з’являтися оператор set. Зазвичай, його синтаксис такий: set for. Наприклад, set for Neuron2 synonym N встановлює имя-синоним N для шаблону Neuron2. У секціях Inputs і Outputs просто перераховуються входи і виходи мережі. Найбільша секція, зазвичай, Net Topology, де описується топологія мережі. Посилання на елемент мережі в специфікації і двох слитных слів: вказівки імені типу елемента мережі (або його синоніма) та її деякого порядкового номери, причому нумерація кожному за типу своя. Опис топології складається з операторів описи топології, у яких вказується певний елемент мережі, його входи до квадратних дужках, причому у круглих дужках після вказівки кожного входу може тупцювати асоціативний список (тобто. список пар имя-значение) атрибутів зв’язку, і, додатково, після перерахування входів, то, можливо, в круглі дужки асоціативний список атрибутів елемента. Кожна зв’язок двох елементів мережі може характеризуватися деяким безліччю атрибутів зв’язку. Наприклад, атрибутом зв’язку то, можливо синаптична затримка. Кожен елемент мережі розуміє свій набір атрибутів зв’язку, деяке безліч атрибутів зв’язку обробляється ядром системи, і ми вже згадали, кожен елемент мережі розуміє свій набір атрибутів (елемента мережі), значення яких можуть передаватися у списку атрибутів елемента. У прикладі специфікації 5.1 використовуються імена деяких вбудованих шаблонів, наприклад, Neuron2 чи Brancher. Власне кажучи, ядром підтримується деяке безліч вбудованих базових шаблонів й у мові є конструкція визначення нових шаблонів через певні чи вбудовані. Інформація про вже певних шаблонах зберігається у спеціальній об'єкті БиблиотекаШаблонов, що є Синглетоном і що має методи для отримання ідентифікатора шаблону з його імені, вилучення інформації про шаблоні з його ідентифікатору, і навіть додавання / видалення шаблонів. Якщо КонструкторСети під час читання специфікації зустрічає ім'я шаблону чи конструкцію визначення нового шаблону, він звертається до БиблиотекеШаблонов для, відповідно, отримання про шаблоні по імені або заради додавання нового шаблону. Отже, користувач може створювати бібліотеки своїх шаблонів, визначення яких зберігаються, наприклад, в файлах та їх використанні просто включати відповідні файли у специ-фікаціях з допомогою конструкції мови, аналогічної «#include» у мові З / З++. Зазначимо, що бібліотечні файли шаблонів можуть створюватися спеціальним інструментом, конструктором шаблонов.
5.4. Організація обчислень в сети.
После створення внутрішнього уявлення мережі у пам’яті як сукупності пов’язаних між собою елементів мережі, мережу готова обчисленням. Обчислення ініціюються з деякого обраного підмножини елементів мережі, званих виходами мережі. Кожен елемент має власний метод, який реалізує операцію даної вершини сіті й результат якого інтерпретується як значення вихідного сигналу чи значення виходу. Аргументами цього є значення виходів у входів елемента у попередні моменти часу, і, можливо, в цей час. У цьому, природно, може бути нескінченний цикл у разі неправильної специфікації мережі. Саме це випадок у систему передбачається додати певний попередній аналізатор коректності топології мережі. Розпаралелювання тут можливо, за обчисленні значень виходів для елементів однотипні, оскільки є незалежними. Оскільки параметр часу у систему запроваджено явно, існує у повідомленні кожному елементу здогадалася про прихід наступного такту обчислень. При отримання такої повідомлення, кожен елемент виконує завершительные операції для даного такту або може просто проігнорувати повідомлення. У реалізації механізму передачі повідомлень використаний об'єктний шаблон Ланцюжок Оброблювачів [Gamma]. Суть її у наступному. Припустимо існує певна ієрархія класів чи ланцюжок, де кожен попередній клас є батьківським наступного, наприклад ЭлементСети [pic] Нейрон [pic] Нейрон2. У ЭлементаСети визначено (віртуальний в термінах мови З++) метод обробки повідомлення обработать_сообщение (Сообщение). У цьому вся методі в кожного класу при виклик визначається, чи може даний метод обробити це повідомлення. Якщо можна, то виконується обробка. Потім у будь-якому разі викликається метод обробки повідомлення батьківського класу, коли він існує. Наприклад, метод обробки повідомлень у ЭлементаСети збільшує лічильник тактів (лічильник часу) і при отриманні повідомлення СледующийТакт (нащадок класу Повідомлення). Об'єкт СредаСКонечнымАвтоматом, є нащадком ЭлементаСети і КонечногоАвтомата і при отриманні даного повідомлення виконує читання вхідного слова, природно, викликає обробку повідомлення на свої батьківських классов.
5.5. Аналізатори роботи сети.
Для налагодження мереж часто треба зазначити різноманітну інформацію про состояниии сіті й її елементів моментами часу. Мережі передбачаються гетерогенні, тобто які з різних елементівпримірників классов-потомков ЭлементаСети, і моральний стан кожного елемента у деякі моменти часу може характеризуватися, власне кажучи, деяким своїм набором параметрів, крім значення вихідного і вхідного сигналів. Наприклад, КА краще охарактеризувати станом, де знаходиться автомат. Тому схема було обрано наступна: ЭлементСети є похідним класом від Літописець, який має методи для записи об'єктів Подія в деяку тимчасову послідовність Історія, якою славиться кожен Літописець. У процесі роботи мережі кожен Літописець записує в Історію одне із своїх чи загальних об'єктів підкласу Подія. Наприклад, КА записує крім інших подія СостояниеКА, у якому полі для вказівки стану КА в момент часу. Кожен (нащадок класу) АнализаторРаботыСети вміє обробляти Історії, отримуючи звідти необхідну інформацію, і далі видаючи їх у зручному вигляді на екран. У прикладі 5.8.1 наведено результат роботи програми, на якому зображено діаграма вихідних сигналів вибраних ЭлементовСети, чиї імена виведені У першій рядку діаграми. Діаграма отримана як наслідок обробки Історії вибраних ЭлементовСети АнализаторомРаботыСети.
5.6. Реалізація БОС.
Задача блоку оцінки стану зрештою залежить від зіставленні вихідному вектору середовища W деякою оцінки чи числа. Фактично, йдеться про завданні деякого функціоналу над BN, де N — розмірність вихідного вектора середовища W. Функціонал задається як табличная функція, значення якої перераховуються у спеціальній секції файла специфікації. Тут вказуються типи аргументу і найбільш табличній функції, то, можливо зазначено значення за умовчанням, та був перераховуються вхідні й формує відповідні вихідні значения.
[Evaluator] set type for in BinaryVector set type for out Integer set default value for out=0 in=0111,out=15 in=1011,out=10 in=1101,out=5 in=1110,out=20.
Пример 5.6.1. Специфікація табличній функції БОС.
Нейросетевая реалізація цього блоку нами не створювалася. Передбачається, що яку можна побудувати з цих двох простих подсетей, у тому числі одна є распознающую нейросеть, яка формує образи вектора in, а інша — комбінаційну схему з нейронів, выдающую сигнал для виходу з номером out відповідно до заданим функционалом.
5.7. Реалізація моделі среды.
Представим середу ввечері з допомогою КА Мура. Нехай КА має чотири стану s1, s2, s3, s4 і представлений діаграмою Мура на рис. 5.7.1. Файл специфікації для моделі середовища містить опис вихідного сигналу залежно стану КА (перша частину — у прикладі 5.7.1) і опис самого КА (друга частина). П’яте додаткове стан КА initial є инициальным. Переходи вказуються як (,) ->. [pic] S0=initial, a0=0000, a1=0111, a2=1011, a3=1101, a4=1110.
Рис. 5.7.1. [Environment] initial (output=1111) s1(output=0111) s2(output=1011) s3(output=1101) s4(output=1110).
[Finite State Automate] set for word -1 synonym any (initial, 0)->s1 (initial, 1)->s1 (s1,0)->s2 (s1,1)->s3 (s2,0)->s4 (s2,1)->s3 (s3,0)->s2 (s3,1)->s4 (s4,0)->s4 (s4,1)->s1 Приклад 5.7.1. Специфікація моделі среды.
5.8. Приклад роботи программы.
Результаты роботи програми зручно уявити тимчасової діаграмою, де рядок відбиває сучасний стан системи в останній момент часу ti. Будемо позначати вертикальним штрихом одиничний сигнал не вдома нейрона (N) чи датчика (I). Цей приклад демонструє здатність УС знаходити закономірності управління і використовувати їх задля поліпшення свого майна. Вихідними для прикладу були специфікація мережі - приклад 5.3.1, специфікація БОС — приклад 5.6.1, специфікація моделі середовища — приклад 5.7.1.
Output signals graph.
I1 I2 I3 I4 N2 N3 N4 N1 DecisionMaker Or Evaluator t = 0 * * * * 1 1 0 t = 1 | | | 1 1 15 t = 2 | | | 0 0 5 t = 3 | | | 1 1 10 t = 4 | | | 1 1 5 t = 5 | | | 1 1 20 t = 6 | | | 1 1 15 t = 7 | | | 0 1 5 t = 8 | | | 0 1 20 t = 9 | | | 0 1 15 t = 10 | | | | 0 0 5 t = 11 | | | 0 1 10 t = 12 | | | | 0 1 5 t = 13 | | | 1 1 20 t = 14 | | | | 1 1 15 t = 15 | | | | 1 1 5 t = 16 | | | | 0 1 20 t = 17 | | | | 1 1 15 t = 18 | | | | 1 1 5 t = 19 | | | | 0 0 20 t = 20 | | | | 0 0 20 t = 21 | | | | 0 0 20 t = 22 | | | | 0 1 20 t = 23 | | | | 1 1 15 t = 24 | | | | 1 1 5 t = 25 | | | | 0 0 20 t = 26 | | | | 0 0 20 t = 27 | | | | 0 0 20 t = 28 | | | | 0 1 20 t = 29 | | | | 1 1 15 t = 30 | | | | 1 1 5 t = 31 | | | | 0 0 20 t = 32 | | | | 0 1 20 t = 33 | | | | 1 1 15 t = 34 | | | | 1 1 5 t = 35 | | | | 0 0 20 t = 36 | | | | 0 0 20 t = 37 | | | | 0 0 20 t = 38 | | | | 0 1 20 t = 39 | | | | 1 1 15 t = 40 | | | | 1 1 5.
…
Calculation time statistics Number of net nodes = 11 Time interval length = 600 Calculation time = 1.582 secs Mean time of calculating one node output = 0.24 ms.
Knowledge base statistics N3 -> N4 with action 1 with probability 141 / 141 = 1 N4 -> N1 with action 0 with probability 141 / 304 = 0.464 N1 -> N3 with action 1 with probability 141 / 141 = 1.
Приклад 5.8.1. Результат роботи программы.
На діаграмі виведені вихідні сигнали вхідних елементів (датчиків) I1, I2, I3, I4, нейронів N1, N2, N3, N4, БПР (DecisionMaker), БОС (Evaluator) і внутрішнього елемента середовища (Or), який подаються сигнали від БПР і стохастичного джерела, а вихід з'єднаний із входом моделі КА Мура. Безліч можливих впливів УС на середу і двох елементів, позначених як 0 і одну. З прикладів 5.6.1 і 5.7.1 видно, що станом моделі середовища з найвищою оцінкою є s4. З діаграми 5.8.1 можна дійти невтішного висновку, що УС знайшла закономірності управління, достатні для утримання ЗУ може s4 (t > 18), але натомість дії стохастичного джерела після певного часу перебування у s4 ЗУ перескакує від цього стану в s1, звідки УС знову переводить їх у стан s4. Роботу системи проілюструємо на рис. 5.8.1. У систему входять модель середовища, що з КА і Джерела, і УС, що з блоків ФРО, БОС, БЗ, БПР.
[pic] Рис. 5.8.1.
В кінці прикладу виведено інформацію про стані БЗ, що містить знання, емпірично знайдені УС на момент закінчення роботи программы.
5.9. Перспективи розвитку СПИНС.
Кроме намічених у розділі 5.1 напрямів розвитку системи, саме створення конструктора мереж з графічним інтерфейсом, розширення мови специфікації мереж, і ін., необхідна доопрацювання й розробка нейромережних реалізацій БЗ і БПР, розробляються методи створення реальних додатків по отримані за допомогою СПИНС специфікаціям мереж. Привабливим є також створення тривимірного визуализатора БЗ. Візуалізація БЗ полягає в запровадження топології у кінцевому просторі образів бази знань [pic] (визначення 4.5) у вигляді відображення F і Y в R, в такий спосіб, області в B отобразятся у сфері в [pic]. Якщо образ [pic], [pic] сформований, він відображається точкою кольору, відповідного яка склалася оцінці образу [pic]. Причому у просторі позначаться деякі кольорові області (рис. 5.9.1), що ілюструють закон управления.
[pic] Рис. 5.9.1.
Заключение
.
Основные результати дипломної роботи полягають у наступному: Розроблено концепцію і реалізовано ядро програмної системи СПИНС для побудови і дослідження нейросетевой реалізації прототипів управляючих систем, побудованих методом автономного адаптивного управління, створеного відділі имитационных систем Інституту Системного Програмування РАН. Доопрацьовані апарат формування та розпізнавання образів, алгоритм заповнення бази знань керуючої системи та алгоритм прийняття рішень. Дані алгоритми протестовані з допомогою СПИНС на модельних прикладах. Показано, що УС ААУ в розглянутих прикладах знаходить засіб керування пред’явленим об'єктом (середовищем) та здійснює управління відповідність до цільовими функциями.
Благодарности.
Автор висловлює вдячність науковому керівнику буд. ф.-м. зв. Олександру Аркадійовичу Жданову за цінну підтримку та у цій роботі і член.- кор. РАН Віктору Петровичу Иванникову, під проводом якої були придбано знання объектно-ориентированного програмування, в частковості освоєно об'єктні шаблони (design patterns), використані при розробці СПИНС.
Литература
.
[Диссер] Жданов А. А. Принцип автономного адаптивного управління. Дисертація на здобуття ученого ступеня доктора фізико-математичних наук. ПЦ РАН. Москва, 1993. 318 с.
[Жданов1] Жданов А. А. Про підході до моделювання керованих об'єктів. Препринт ПЦ АН СРСР. Повідомлення по прикладної математиці. Москва, 1991. 44 с.
[Жданов2] (Робота містить опис нейрона II).
[Жданов3] Zhdanov A.A. A principle of Pattern Formation and Recognition// Pattern Recognition and Image Analysis. Vol.2. N3. 1992. — P. 249- 264. (ISSN: 1054−6618).
[Жданов4] Zhdanov A.A. Application of Pattern Recognition Procedure to the Acquisition and Use of Data in Control// Pattern Recognition and Image Analysis. Vol.2. N2. 1992. — P. 180−194. (ISSN: 1054−6618).
[Жданов5] Жданов А. А. Нагромадження і інформації при управлінні за умов невизначеності// Сб.науч.тp. Инфоpмационная технологія й чисельні методи аналізу розподілених систем. — М.: ИФТП. 1992. З. 112−133.
[Жданов6] Жданов А. А. Про одного підході до адаптивному управлінню// Рб. наук. тр. Аналіз і оптимізація кібернетичних систем, — М.: ГосИФТП, 1996. З. 42−64.
[Жданов7] Жданов А. А. Про одного имитационном підході до адаптивному управлінню// Рб. Питання кібернетики. — М.: 1996. З. 171 — 206.
[Жданов8] Жданов А. А. Формальна модель нейрона і нейромережі в методології автономного адаптивного управління// Рб. Питання кібернетики. Вип. 3. М.: 1997. З. 258−274.
[Жданов9] Жданов А. А., Б. Б. Беляев, В. В. Мамаев. Використання принципу автономного адаптивного управління у системі кутовий стабілізації космічного апарату «Спектр РГ «// Сб.науч.тр. Інформаційна біоніка і моделювання, — М.: ГосИФТП, 1995. З. 87−114.
[Боровко] В. В. Боровко. Математична статистика.
[КА] В.Брауэр. Введення ЄІАС у теорію кінцевих автоматів. М, «Радіо і зв’язок » :1987. 392 с.
[Граф] В. А. Евстигнеев та інших. Теорія графів. Алгоритми обробки дерев. ВО «Наука », Новосибирск:1994. 360 с.
[Киб3] Жданов А. А. Формальна модель нейрона і нейромережі в методології автономного адаптивного управління. Збірник «Питання кібернетики» № 3. Науковий раду з комплексної проблемі «Кібернетика» РАН. сс.258−273.
[NN] Michael I. Jordan, Cristopher M. Bishop. Neural Networks. Massachusets Institute of Technology. AI Memo No. 1562. Anonymous internet.
[Gamma] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns. Elements of reusable object-oriented software. Addison Wesley. 1994. 395 с.
[Turchin]. Valentin F. Turchin. The phenomenon of the science, a cybernatic approach to human evolution. Addison Wesley.
[Маккалок]. McCulloch W.W., Pitts W. 1943. A logical calculus of the ideas imminent in nervous activiti. Bulletinn of Mathematical biophysics 5: 115- 33. (Російський переклад: Маккалок У. С., Питтс У. Логічне літочислення ідей, які стосуються нервової діяльності. Автомати. — М: Іл. — 1956.).
[Итоги91]. «Результати науку й техніки». Обчислювальні науки, 1991, тому 8, сс. 15−16, 26.
[Уоссермен] Уоссермен Ф. Нейрокомпьютерная техніка. — М.: Світ, 1992.
[Розенблат] Розенблат Ф. Принципи нейродинамики. — М.: Світ, 1965.
[Чечкин] Чечкин А. В. Математична інформатика. — М.: Наука. 1991.
[Герман] Герман О. В. Введення у теорію експертних систем і обробку знань. — Мінськ, ДизайнПРО. 1995.
[Братищев] Братищев Р. А. Дипломна робота. Московський фізико-технічний інститут. 1998. ———————————- [pic].