ДонНТУ   Портал магістрів Французький технічний факультет   Кафедра ЕАПУ

Реферат за темою випускної роботи

Зміст

Вступ

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

Нейронні мережі використовуються майже всюди:

1. Актуальність теми

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

2. Використання нейронних мереж

2.1 Задача прогнозування

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

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

Прогнозування - це передбачення майбутніх подій. Нехай задані n дискретних відліків {y (t1), y (t2) ..., y (tn)} в послідовні моменти часу t1, t2, ..., tn. Тоді завдання прогнозування полягає в прогнозі значення y (tn +1) в деякий майбутній момент часу tn +1 [1].

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

Найчастіше за все в роботах розглядається застосування нейронних мереж для вирішення задачі прогнозування часових рядів. Користувач вибирає довільний часовий ряд, що містить N відліків, і розбиває його на три множини: навчальну, тестуючу і контрольну вибірки, які потім подаються на вхід мережі. Результатом прогнозування є значення часового ряду в необхідний момент часу [2].

2.2 Задача класифікації

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

3. Цілі та опис головного принципу дослідження

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

Наша основна мета полягає у створенні алгоритму класифікації та прогнозування за допомогою нейронних осциляторів, а саме досить нового феномена в історії рекурентних мереж - нейромереж ехо станів (у зарубіжній літературі використовується термін Echo State Network) [].

Основна ідея ESN розділена з машиною нестійких станів (Liquid State Machine), які були розроблені незалежно, але одночасно Вольфгангом Маасом. Вони були включені в категорію, яка називається резервуарним обчисленням (Reservoir Computing)[6].

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

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

Архітектура цієї мережі може виглядати наступним чином:

L'architecture de ESN

Анімація: 5 кадрів, тривалість кожного - 500 ms, 60 Кб

Ця послідовність відповідає тій ехо мережі, яка може організувати алгоритм прогнозування. Тобто, припустимо, що у наc є часовий ряд x (t), мережа приймає на вхід x(t) і повинна видати на вихідний шар прогноз для значення x(t +1).

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

4. Три основні напрями роботи

4.1 Гібридний інтерфейс управління електромеханічним візком

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

 Інвалідний візок Invacare Storm XS

Рисунок 1 – Інвалідний візок Invacare Storm XS, що використовується в дослідженні

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

Повинно бути визначено два аспекти:

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

Дуже важливо адаптувати ці дві частини для оптимізації зміщення інвалідного візку. Ця оптимізація ґрунтується на ідентифікації можливостей дії людини і на адаптації алгоритмом навчання реалізації управління.

Управління візком має бути функцією, яка залежить від природи нахилу покриття

Рисунок 2 - Управління візком має бути функцією, яка залежить від природи нахилу покриття

Робота також буде складатися з таких моментів:

4.2 Тростина для сліпих

Лабораторія LISV університету Версаль-Сен-Кантен-ан-Івелін забезпечила нас даними, що були зроблені з тростиною для сліпих. Там вже займаються над поліпшеною версією тростини, але вже є результати, за допомогою яких можна потренуватися. Були надіслані три документи, що містять записи, зроблені на дерев'яній підлозі, тротуарі і лінолеумі (у приміщенні). У файлі є п'ять стовпців: перший показує значення п'єзоелектричного давача, який дозволяє зчитувати вібрації на рівні руки особи, яка тримає тростину. Наступна колонка містить дані оптичного давача, який ми в даний момент ще не використовуємо. Останні три колонки показують прискорення на осях X, Y і Z, зняте з акселерометра, який прикріплений на кінці тростини. Частота вибірки з усіх давачів складає 800 Гц. Було поставлено питання про класифікацію поверхні, щоб допомогти сліпим людям краще орієнтуватися на незнайомій території.

Сліпа людина, що крокує по тротуару з використанням об'єкту, що досліджується

Рисунок 3 - Сліпа людина, що крокує по тротуару з використанням об'єкту, що досліджується

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

 Дані давачів

Рисунок 4 - Дані давачів

 Дані акселерометру

Рисунок 5 – Дані акселерометру, тобто миттєві значення прискорення на трьох осях X , Y і Z та їч спектральні складові

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

4.3 Робот NAO

Досягнення в галузі робототехніки зробили можливим сьогодні винайти людиноподібних роботів, які включають в себе безліч інтерактивних можливостей: розпізнавання і синтез голосів, тактильні давачі. Цікаво уявити собі пристрій, який здатний допомогти людині, але NAO ми можемо навіть попросити підібрати і принести який-небудь об'єкт [10].

Розроблений компанією Aldebaran Robotics, робот зростом 58 сантиметрів володіє повним набором рухів, що дозволяють йому вставати з сидячого положення, а також ходити. Навіть якщо робота ненароком перекинути, він самостійно підніметься на ноги. NAO розробили у Франції і з 2005 року ця модель керованого робота постійно вдосконалюється. Так, раніше він вмів танцювати під музику, непогано пересуватися і навіть грати у футбол. Тепер же він здатний самостійно знайти зарядний пристрій і з'єднатися з зарядкою, щоб підживитися енергією.

 NAO

Рисунок 6 – Робот NAO

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

Робот має 500-мегагерцевого X86 серце і 256 Мб оперативної пам'яті, а від одного заряду акумулятора він здатний не спати до півтори години. NAO оснащений безліччю давачів, серед яких: акселерометр, 4 мікрофона, гідродавачі. Вони допомагають роботу сидіти, стояти, піднятися після падіння, знаходити і піднімати невеликі об'єкти, реагувати на дотики і обходити перешкоди. Заводиться Nao від легких поплескувань по голові, саме там знаходиться тактильний сенсор, що реагує на дотики. Крім сенсора, в голові знаходяться дві камери, що сканують і вивчають предмети. Робот наділений 25 ступенями свободи, наприклад, тільки на руки припадає 10 ступенів. Чотири мікрофони для розпізнавання мови налаштовані на англійську та французьку мову. Nao працює під управлінням операційної системи Linux.

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

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

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

Ми думаємо, що робота з Nao є дуже перспективною і буде цікавою і корисною. До того ж, існує зв'язок між поштовхами Nao, які порушують його рівновагу і поштовхами візка, які порушують його напрямок і кут нахилу руху. Це дуже хороший спосіб, навчитися працювати з Nao, так як дійсно є зв'язок з допомогою третьої особи для інвалідного візка. Лабораторія LISV має команду, що складається з роботів Nao для чемпіонату Robocup. Robocup є міжнародним турніром робототехніки, однією з цілей якого буде створити футбольну команду з роботів здатну перемогти в сутичці з командою - чемпіоном світу серед людей. Ці роботи досить легко падають, коли їх штовхають. Зараз колеги лабораторії працюють над тим, щоб дати Nao рефлекторні рухи, які дозволять йому встояти, займаються виявленням ударів, здатних збити з ніг робота і ударів, які залишать його стояти. Основне завдання тут - це використовувати ехо мережу для тимчасового прогнозування, а потім створити класифікацію для виявлення падіннь.

RoboCup

Рисунок 7 – RoboCup роботів NAO

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

Висновки та наступні етапи роботи

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

При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: грудень 2013 року. Повний текст роботи та матеріали за темою можуть бути отримані у автора або його керівника після зазначеної дати.

Перелік посилань

  1. Крисилов, В.А. «Представление исходных данных в задачах нейросетевого прогнозирования» / В.А.Крисилов, К.В.Чумичкин, А.В.Кондратюк. Одесса: ОНПУ. 2003
  2. Барцев С.И. Некоторые свойства адаптивных сетей (программная реализация).- Красноярск: Институт физики СО АН СССР, - 1987.
  3. Пупков К.А. «Методы классической и современной теории автоматического управления»/ К. А. Пупкова, Н. Д. Егупова. – М.: Изд-во МГТУ, 2004.
  4. Site officiel de L'institut d'électronique et d'informatique Gaspard-Monge/ [Електронний ресурс]. – Режим доступу:
    http://www-igm.univ-mlv.fr/~dr/XPOSE2002/Neurones/index.php?rubrique=Accueil
  5. Jaeger Herbert. Reservoir computing approaches to recurrent neural network training / Jaeger Herbert, Lukosevicius Mantas. – Elsevier, 2009. – pp. 127-149.
  6. Jaeger Herbert. The «echo state» approach to analysing and training recurrent neural network – with Erratum note / Jaeger Herbert. – 2010. – pp. 4-5
  7. Райбман Н.С., Чадеев В.М. Построение моделей процессов производства. – М.: Энергия, 1975. – 376 с.
  8. Льюнг Л. Идентификация систем. Теория для пользователя: Пер. с англ. / Под ред. Я.З. Цыпкина. – М.: Наука, 1991. – 432 с.
  9. Бабенко А.В., Бодянский Е.В., Попов С.В. Нейро-фаззи эхо сеть для прогнозирования состояний и диагностики электроэнергетических систем [Електронний ресурс]. – Режим доступу:
    http://archive.nbuv.gov.ua/portal/natural/Ikszt/2009_4/4_2009_5.pdf
  10. Site officiel de Nicolas TEXIER/ [Електронний ресурс]. – Режим доступу:
    http://www.nicolas-texier.net/fr/projet-nao-d%C3%A9tecter-et-suivre-une-balle