Реферати

Реферат: Нейрокомпьютери

Методика розрахунку економічного ефекту від застосування ПС у користувача. БІЛОРУСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ ІНФОРМАТИКИ І РАДІОЕЛЕКТРОНІКИ Кафедра економіки РЕФЕРАТ На тему: "Методика розрахунку економічного ефекту від застосування ПС у користувача"

Склад, структура і динаміка витрат Федерального бюджету. Зміст Уведення......3 Розділ 1. Загальна характеристика бюджетних витрат ......4 Поняття і соціальне - економічне призначення бюджетних витрат......4

Виховання емпатії в дітей молодшого шкільного віку. Адміністрація Томської області Департамент загального утворення ОГОУ "Томський державний педагогічний коледж Виховання емпатії в дітей молодшого шкільного віку

Туркестанська автономія. Уведення 1 Суспільно-політичні організації корінного населення Туркестану, після Лютневої революції 2 III конференція мусульман Туркестанського краю

Основні питання чинності карного закону в часі і просторі. Зміст Уведення 3 1. Принципи чинності карного закону в просторі в Російській Федерації 7 1.1 Територіальний принцип 7 1.2 Принцип громадянства 12

Зміст

Уведення. 2

Що таке нейронние мережі?. 2

Біологічний нейрон. 5

Штучний нейрон. 7

Активаційні функції. 8

Базові архітектури нейронних мереж. 11

Полносвязние нейронние мережі. 12

Навчання штучних нейронних мереж. 13

Правило корекції помилково. 15

Навчання Больцмана. 15

Правило Хебба. 16

Навчання методом змагання. 16

Многопроцессорние ускорительние плати.. 17

Нейропроцессор. 18

Особливості програмування засобів апаратної підтримки нейровичислений 20

Небагато історії. 21

Переваги нейрокомпьютеров. 22

Недоліки нейрокомпьютеров. 22

Практичне застосування нейрокомпьютеров. 23

Деякі моделі нейрокомпьютеров. 24

Висновок. 25

Використані ресурси: 27

Уведення

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

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

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

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

Що таке нейронние мережі?

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

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

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

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

З коннекционизмом тісно зв'язаний наступний блок ідей:

однорідність системи (елементи однакові і надзвичайно прості, усі визначається структурою зв'язків);

надійні системи з ненадійних елементів і "аналоговий ренесанс" використання простих аналогових елементів;

"голографические" системи при руйнуванні випадково обраної частини система зберігає свої властивості.

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

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

Біологічний нейрон

мал.1. Біологічний нейрон

Нейрон (нервова клітка) є особливою біологічною кліткою, що обробляє інформацію (мал. 1). Вона складається з тіла клітки (cell body), чи соми (soma), і двох типів зовнішніх древоподобних галузей: аксона (axon) і дендритів (dendrites). Тіло клітки включає ядро (nucleus), що містить інформацію про спадкоємні властивості, і плазму, що володіє молекулярними засобами для виробництва необхідних нейрону матеріалів. Нейрон одержує сигнали (імпульси) від інших нейронів через дендрити (приймачі) і передає сигнали, сгенерированние тілом клітки, уздовж аксона (передавач), що наприкінці розгалужується на волокна (strands). На закінченнях цих волокон знаходяться синапси (synapses).

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

Кора головного мозку людини є протяжними, утвореними нейронами поверхнею товщиною від 2 до 3 мм із площею близько 2200 див2, що вдвічі перевищує площу поверхні стандартної клавіатури. Кора головного мозку містить близько 1011 нейронів, що приблизно дорівнює числу зірок Млечного шляху. Кожен нейрон зв'язаний з 103 - 104 іншими нейронами. У цілому мозок людини містить приблизно від 1014 до 1015 взаємозв'язків.

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

Штучний нейрон

мал.2. Штучний нейрон

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

Штучний нейрон імітує в першому наближенні властивості біологічного нейрона. На вхід штучного нейрона надходить деяка безліч сигналів, кожний з який є виходом іншого нейрона. Кожен вхід збільшується на відповідний вагу, аналогічний синаптической силі, і всі добутки суммируются, визначаючи рівень активації нейрона. На мал.2 представлена модель реалізуюча цю ідею. Хоча мережні парадигми дуже різноманітні, в основі майже всіх їх лежить ця конфігурація. Тут безліч вхідних сигналів, позначених x1, x2, x3...xn, надходить на штучний нейрон. Ці вхідні сигнали, у сукупності познача вектором X, відповідають сигналам, що приходять у синапси біологічного нейрона. Кожен сигнал збільшується на відповідний вагу w1, w2, w3...wn, і надходить на підсумовуючий блок, позначений СУМ (адаптивний сумматор). Кожна вага відповідає "силі" однієї біологічної синаптической зв'язку. (Безліч ваг у сукупності позначається вектором W) Підсумовуючий блок, що відповідає тілу біологічного елемента, складає зважені входи алгебраїчно, створюючи вихід, що ми будемо називати NET. У векторних позначеннях це може бути компактно записане в такий спосіб.

NET=XW

Активаційні функції

Сигнал NET далі, як правило перетвориться активаційною функцією F і дає вихідний нейронний сигнал OUT . Активаційна функція може бути звичайною лінійною функцією:

OUT=K(NET)

де ДО - постійного, граничної функцією

OUT=1, якщо NET > T

OUT=0 в інших випадках,

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

Якщо функція F звужує діапазон зміни величини NET так, що при будь-яких значеннях NET значення OUT належать деякому кінцевому інтервалу, то F називається "стискаючою" функцією. У якості "стискаючої" функції часто використовується логистическая чи "сигмоидальная" (S-образна) функція, показана на мал.3.. Ця функція математично виражається як

F(x)=1/(1+e-x) .

Таким чином,

OUT=1/(1+e-NET)

мал.3. Сигмоидальная логистическая функція

За аналогією з електронними системами активаційну функцію можна вважати нелінійною підсилювальною характеристикою штучного нейрона. Коефіцієнт підсилення обчислюється як відношення збільшення величини OUT до його невеликого збільшення, що викликало, величини NET. Він виражається нахилом кривої при визначеному рівні порушення і змінюється від малих значень при великих негативних порушеннях (крива майже горизонтальна) до максимального значення при нульовому порушенні і знову зменшується, коли порушення стає великим позитивним. Гроссберг (1973) знайшов, що подібна нелінійна характеристика вирішує поставлену їм дилему шумового насичення. Яким образом та сама мережа може обробляти як слабкі, так і сильні сигнали? Слабкі сигнали мають потребу у великому мережному посиленні, щоб дати придатний до використання вихідний сигнал. Однак підсилювальні каскади з великими коефіцієнтами підсилення можуть привести до насичення виходу шумами підсилювачів (випадковими флуктуаціями), що присутні в будь-якій фізично реалізованій мережі. Сильні вхідні сигнали у свою чергу також будуть приводити до насичення підсилювальних каскадів, крім можливості корисного використання виходу. Центральна область логистической функції, що має великий коефіцієнт підсилення, вирішує проблему обробки слабких сигналів, у той час як в області з падаючим посиленням на позитивному і негативному кінцях підходять для великих порушень. Таким чином, нейрон функціонує з великим посиленням у широкому діапазоні рівня вхідного сигналу.

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

Базові архітектури нейронних мереж

мал.4. Базові архітектури нейронних мереж

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

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

Полносвязние нейронние мережі.

Рис. 4. Полносвязние нейронние мережі

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

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

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

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

Навчання штучних нейронних мереж

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

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

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

Теорія навчання розглядає три фундаментальних властивості, зв'язаних з навчанням по прикладах: ємність, складність зразків і обчислювальна складність. Під ємністю розуміється, скільки зразків може запам'ятати мережа, і які функції і границі прийняття рішень можуть бути на ній сформовані. Складність зразків визначає число навчальних прикладів, необхідних для досягнення здатності мережі до узагальнення. Занадто мале число прикладів може викликати "перенавченість" мережі, коли вона добре функціонує на прикладах навчальної вибірки, але погано - на тестових прикладах, підлеглих тому ж статистичному розподілу. Відомі 4 основних типи правил навчання: корекція помилково, машина Больцмана, правило Хебба і навчання методом змагання.

Правило корекції помилково.

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

Навчання Больцмана.

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

Правило Хебба.

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

Навчання методом змагання.

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

Многопроцессорние ускорительние плати

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

Наприклад у НТЦ "Модуль" розроблені многопроцессорние ускорительние плати МЦ5.001 і МЦ5.002. Перша з них має у своєму складі 4 мікропроцесори TMS320C40 з тактовою частотою 50 Мгц і піковою продуктивністю 275 MIPS. Кожен процесор має свою локальну статичну пам'ять обсягом 1 Мбайт. ДО 2 процесорам додатково підключені 2 блоки динамічної пам'яті обсягом 16 Мбайт кожний. До одному з процесорів підключена також статична пам'ять обсягом 1 Мбайт, використовувана для обміну даними з ПК. Процесори з'єднані один з одним спеціальними високошвидкісними каналами з пропускною здатністю 20 Мбайт/з кожний. Нарощування і комплексування плат здійснюється на материнській платі ПК за допомогою шини ISA.

Ускорительная плата МЦ5.002 містить 6 процесорів TMS320C40 і виконана в конструктиве VME, що дозволяє використовувати її в бортових системах, розташованих на літальному апараті.

Нейропроцессор

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

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

До приклада вітчизняний нейропроцессор, розроблений у НТЦ "Модуль" : Скалярний пристрій забезпечує інтерфейси з пам'яттю і 2 комунікаційними портами. Скалярний пристрій має адресних регістрів і така ж кількість регістрів загального призначення розрядністю 32 біта кожний.

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

Нейропроцессор виконаний за технологією 0,5 км. Його тактова частота 33 Мгц. На спеціальних векторно-матричних операціях він дає збільшення продуктивності в десятки разів у порівнянні з процесором TMS320C40. Завдяки наявності комунікаційних портів з інтерфейсом, ідентичним портам TMS320C40, нейропроцессор може бути інтегрований у гетерогенну многопроцессорную систему.

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

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

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

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

Труднощі, що виникають при програмуванні многопроцессорних систем, добре відома: синхронізація рівнобіжних процесів, механізми обміну даними, проблеми "критичних ділянок", коли кілька процесів задіють ті самі ресурси. Ще однією важливою особливістю сучасних процесорів є висока розрядність операндов, наприклад 64 біта, що дозволяє розміщати в них по трохи малоразрядних елементів даних і обробляти їхній паралельно. Прикладом ефективного використання відзначеної особливості сучасних процесорів є технологія MMX, де 64-розрядний регістр розбивається на 8 незалежних чи байтів на 4 16-бітні слова, що обробляються паралельно. Незалежність елементів полягає в тому, що при чи зсувах вирахуванні не відбувається запозичення битов у сусідніх елементів.

Небагато історії

Вважається, що теорія нейронних мереж, як науковий напрямок, уперше була позначена в класичній роботі Маккаллока і Питтса[1] 1943 р., у якій затверджувалося, що, у принципі, будь-яку арифметичну чи логічну функцію можна реалізувати за допомогою простий нейронной мережі. У 1958 р. Френк Розенблатт [2] придумав нейронную мережу, названу перцептроном, і побудував перший нейрокомпьютер Марко-1 . Перцептрон був призначений для класифікації об'єктів. На етапі навчання "учитель" повідомляє перцептрону до якого класу належить пред'явлений об'єкт. Навчений перцептрон здатний класифікувати об'єкти, у тому числі не використовувалися при навчанні, роблячи при цьому дуже мало помилок. Приблизно в цей же час вийшла робота Мінського і Пейперта[3], що вказала обмежені можливості найпростішого перцептрона. Результати Мінського і Пейперта погасили ентузіазм більшості дослідників, особливо тих, хто працював в області обчислювальних наук.

З початку 80-х років ИНС знову залучили інтерес дослідників, що зв'язано з енергетичним підходом Хопфилда[4] і алгоритмом зворотного поширення для навчання багатошарового перцептрона (багатошарові мережі прямого поширення), уперше запропонованого Вербосом[5] . При цьому важливу роль зіграли роботи групи PDP (Parallel Distributed Processing) . У них розглядалися нейронние мережі, названі багатошаровими перцептронами, що виявилися дуже ефективними для рішення задач розпізнавання, керування і пророкування. (Багатошарові перцептрони займають ведуче положення, як по розмаїтості можливостей використання, так і по кількості успішно вирішених прикладних задач .)

Переваги нейрокомпьютеров.

У порівнянні зі звичайними комп'ютерами нейрокомпьютери володіють поруч переваг.

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

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

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

Недоліки нейрокомпьютеров.

Незважаючи на перераховані вище переваги ці пристрої мають ряд недоліків:

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

2. У силу своєї унікальності ці пристрої досить дорогостоящи.

Практичне застосування нейрокомпьютеров.

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

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

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

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

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

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

Що ж представляє із себе нейрокомпьютер? Нейрокомпьютери бувають двох типів:

1. Великі універсальні комп'ютери побудовані на безлічі нейрочипов.

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

Деякі моделі нейрокомпьютеров

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

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

Типовими представниками таких систем є комп'ютери сімейства Mark фірми TRW (перша реалізація перцептрона, розроблена Розенблатом, називалася Mark I).

Модель Mark III фірми TRW являють собою робочу станцію, що містить до 15 процесорів сімейства Motorola 68000 з математичними співпроцесорами. Усі процесори об'єднані шиною VME. Архітектура системи, що підтримує до 65 000 віртуальних процесорних елементів з більш ніж 1 млн. з'єднань, що набудовуються, дозволяє обробляти до 450 тис. межсоединений/с.

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

Комп'ютери сімейства Mark мають загальну програмну оболонку ANSE (Artificial Neural System Environment), що забезпечує програмну сумісність моделей.

Крім зазначених моделей фірми TRW пропонує також пакет Mark II - програмний емулятор НС.

Іншою цікавою моделлю є нейрокомпьютер NETSIM, створений фірмою Texas Instruments на базі розробок Кембріджського університету. Його топологія являє собою тривимірні ґрати стандартних обчислювальних вузлів на базі процесорів 80188. Комп'ютер NETSIM використовується для моделювання таких моделей НС, як мережа Хопфилда - Кохонена і НС зі зворотним поширенням. Його продуктивність досягає 450 млн. межсоединений/с.

Фірма Computer Recognitiion Systems (CRS) продає серію нейрокомпьютеров WIZARD/CRS 1000, призначених для обробки відеозображень. Розмір вхідний зображення 512 x 512 пиксел. Модель CRS 1000 уже знайшла застосування в промислових системах автоматичного контролю.

Висновок

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

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

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

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

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

Обчислювальна техніка. Нейрокомпьютер - це обчислювальна система з архітектурою MSIMD, у якій реалізовані два принципових технічних рішення:

спрощений до рівня нейрона процесорний елемент однорідної структури і різко ускладнені зв'язки між елементами;

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

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

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

Використані ресурси:

1.http://www.osp.ru

2.http://www.bmstu.ru

3.http://neurnews.iu4.bmstu.ru

4.http://www.module.ru.