Нейроемулятори

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

Переваги таких "віртуальних" нейрокомп'ютерів для відносно невеликих завдань очевидні:
  • Не треба витрачатися на нову апаратуру, якщо можна використати комп'ютери загального призначення.
  • Користувач не повинен освоювати особливості програмування на спец-процесорах і способи їх сполучення з базовим комп'ютером.
  • Універсальні ЕОМ не накладають жодних обмежень на структуру мереж і способи їх навчання, тоді як спец-процесори найчастіше мають обмежений набір «зашитих» функцій активації і досягають пікової продуктивності лише на певному колі завдань.

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

Готові нейропакети

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

BaseGroup Labs
SharkTime Software

Безкоштовні продукти, зазвичай, є багатошаровими персептронами з одним або кількома правилами навчання. Виняток становить цілком професійний SNNS (Stuttgart Neural Network Simulator) з великим набором можливостей, що працює, правда, тільки на UNIX-машинах.

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

Як правило, такі пакети (BrainMaker Professional, NeuroForecaster, Лора-IQ300) мають власний вбудований блок передобробки даних, хоча іноді для цієї мети зручніше використовувати стандартні електронні таблиці.

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

Інструменти розробки нейрозастосувань

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

Прикладами подібних систем, є NeuralWorks Professional II Plus (вартістю від $ 3000) фірми NeuralWare і російський Bench (нейро-верстак). Останній може генерувати коди на багатьох мовах, включаючи Java. Такі Java-аплети можуть використовуватися для організації різного роду сервісів в глобальних і локальних мережах.

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

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

Готові рішення на основі нейромереж

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

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

Нейромережний консалтинг

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

Нейроемулятор FuzzySearch

Мережа Хемінгаhttp://www.basegroup.ru/download/demoprg/hamming/

Програма призначена для демонстрації можливостей мереж Хемінга в розпізнаванні образів.

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

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

Асоціативна пам'ять - застосування мереж Хемінга для нечіткого пошуку

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

Якщо вдало підібрати систему кодування, можна значно поліпшити якість розпізнавання. Наприклад, для виправлення друкарських помилок варто брати до уваги розташування букв на клавіатурі. Кодування повинно бути розроблено таким чином, щоб літери, які розташовані поруч на клавіатурі мали близькі (за Хемінгом) коди.

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

Нейроемулятор Neural Network Wizard

Багатошаровий перцептронhttp://www.basegroup.ru/download/demoprg/nnw/

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

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

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

Можливості емулятора:
  • Отримання даних для навчання з текстового файлу
  • Різні способи нормування даних.
  • Створення багатошарових нейронних мереж різної конфігурації.
  • Налаштування параметрів навчання нейросистеми
  • Можливість зберегти результати навчання
  • Автоматизація навчання системи.
  • Автоматичне формування навчає і тестової множини.
  • Відкрито вихідні тексти програмного коду (версія 1.7).

Нейроемулятор Sharky Neural Network

Нейроемулятор Sharky Neural Networkhttp://www.sharktime.com/

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

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

Порядок роботи

  1. Запустити нейроемулятори.
  2. Уважно ознайомитися з методикою використання нейронної мережі.
  3. Пройти всі кроки тестового завдання і проаналізувати отримані результати.
  4. Сформувати власні дані для навчання.
  5. Пройти всі кроки навчання на нових даних, але приділити більшої уваги налаштуванню параметрів нейроемулятора.
  6. Проаналізувати отримані результати і зробити висновок.

Зміст звіту

  1. Назва та мета виконання лабораторної роботи.
  2. Можливості досліджених нейроемуляторів.
  3. Особливості навчання нейронних мереж та вплив налаштувань параметрів на вихідні результати.
  4. Характеристика основних параметрів налаштування.
  5. Скріншоти виконання робіт
  6. Аналітичні висновки щодо властивостей програм та отриманих результатів.