на навчена.
Подати на вхід мережі умови задачі у вигляді вектора x. Розрахувати вихідний вектор y, який і дасть формалізоване рішення завдання.
.2 Формалізація задачі розпізнавання букв алфавіту
Будемо представляти букви у вигляді точкових зображень (малюнок 2.2.1).
Темної клітці-пікселу на зображенні відповідає Iij=1, світлого - Iij=0. Завдання полягає в тому, щоб визначити по зображенню букву, яка була пред'явлена.
Побудуємо МСП з Ni * Nj входами, кожному входу відповідає один піксел: хk=Iij,=1..Ni * Nj. Яскравості пікселів будуть компонентами вхідного вектора.
В якості вихідних сигналів виберемо ймовірності того, що пред'явлене зображення відповідає даній букві: y=(c1 ... cM) T. Мережа розраховує вихід:
де вихід с1=0,9 означає, наприклад, що пред'явлено зображення літери А raquo ;, і мережа впевнена в цьому на 90%, вихід с2=0,1 - що зображення відповідало букві Б з імовірністю 10% тощо.
Інший спосіб: входи мережі вибираються так само, а вихід - тільки один, номер m пред'явленої літери. Мережа вчиться давати значення m за пред'явленим зображенню I:
У даному методі існує недолік: букви, які мають близькі номера m, але несхожі зображення, можуть бути переплутані мережею при розпізнаванні.
.3 Вибір кількості нейронів і верств
Ні строго певної процедури для вибору кількості нейронів і кількості шарів в мережі. Чим більше кількість нейронів і шарів, тим ширше можливості мережі, тим повільніше вона навчається і працює і тим більше нелінійної може бути залежність вхід-вихід.
Кількість нейронів і верств пов'язано:
зі складністю завдання;
з кількістю даних для навчання;
з необхідним кількістю входів і виходів мережі;
з наявними ресурсами: пам'яттю і швидкодією машини, на якій моделюється мережу;
Були спроби записати емпіричні формули для числа шарів і нейронів, але застосовність формул виявилася дуже обмеженою.
Якщо в мережі занадто мало нейронів або шарів:
мережа не навчиться і помилка при роботі мережі залишиться великий;
на виході мережі не будуть передаватися різкі коливання функції, що апроксимується y (x).
Перевищення необхідної кількості нейронів теж заважає роботі мережі.
Якщо нейронів або шарів занадто багато:
швидкодія буде низьким, а пам'яті буде потрібно багато - на фон-Неймановская ЕОМ;
мережу перенавчитися: вихідний вектор буде передавати незначні і несуттєві деталі у досліджуваній залежності y (x), наприклад, шум або помилкові дані;
залежність виходу від входу виявиться різко нелінійної: вихідний вектор буде істотно і непередбачувано змінюватися при малій зміні вхідного вектора x;
мережа буде нездатна до узагальнення: в області, де немає або мало відомих точок функції y (x) вихідний вектор буде випадковий і непередбачуваний, що не буде адекватний Решам завданню.
. Алгоритми навчання
Алгоритми навчання бувають з учителем і без. Алгоритм називається алгоритмом з учителем, якщо при навчанні відомі і вхідні, і вихідні вектора мережі. Є пари вхід + вихід - відомі умови завдання й рішення. У процесі навчання мережа змінює свої параметри і вчиться давати потрібне відображення X - gt; Y. Мережа вчиться давати результати, які нам вже відомі. За рахунок здатності до узагальнення мережею можуть бути отримані нові результати, якщо подати на вхід вектор, що не зустрічався при навчанні.
Алгоритм відноситься до навчання без учителя, якщо відомі тільки вхідні вектора, і на їх основі мережу вчиться давати найкращі значення виходів. Що розуміється під найкращими - визначається алгоритмом навчання.
.1 Алгоритм зворотного поширення
Серед різних структур нейронних мереж (НС) однієї з найбільш відомих є багатошарова структура, в якій кожен нейрон довільного шару пов'язаний з усіма нейронів попереднього шару або, у разі першого шару, з усіма входами НС. Такі НС називаються повнозв'язкову. Коли в мережі тільки один шар, алгоритм її навчання з учителем досить очевидний, оскільки правильні вихідні стани нейронів єдиного шару свідомо відомі, і підстроювання синаптичних зв'язків йде в напрямку, мінімізуючому помилку на виході мережі. За цим принципом будується, наприклад, алгоритм навчання одношарового перцептрона. У багатошарових ж мережах оптимальні вихідні значення нейронів всіх шарів, крім останнього, як правило, не відомі, і двох чи більше шаровий перцептрон вже неможливо навчити, керуючись тільки величинами помилок на виходах НС. Один з варіантів вирішення цієї проблеми - розробка наборів вихідних сигналів, відповідних вхідним, для кожного шару НС, що, звичайно, є дуже трудомісткою операцією і не завжди здійсненно. Другий варіант - динамічне підстроювання вагових коефіцієнтів синапсів, в ході якої вибираються, як правило, найбільш слабкі зв'язки і змінюються н...