Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Використання нейронних мереж для розпізнавання символів

Скачати 93.76 Kb.

Використання нейронних мереж для розпізнавання символів




Скачати 93.76 Kb.
Дата конвертації15.05.2017
Розмір93.76 Kb.


УДК 004.032.26
Т. О. Савчук, Є. О. Ярема

Вінницький національний технічний університет

вул. Хмельницьке шосе, 95, 21021 Вінниця, Україна

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

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

Перцептро́н, або персептро́н (англ. perceptron від лат. perceptio - сприйняття; нім. perzeptron) - математична або комп'ютерна модель сприйняття інформації мозком (кібернетична модель мозку), запропонована Френком Розенблатом в 1957 році й реалізована у вигляді електронної машини «Марк-1»[ru][nb 1] у.

Те́хніка (від грец. techne - мистецтво, майстерність) - сукупність засобів, створених людством для обслуговування своїх потреб виробничого і невиробничого характеру. У техніці матеріалізовані знання і виробничий досвід, накопичені людством у процесі розвитку суспільного виробництва.

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

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

Націоналі́зм (фр. nationalisme) - ідеологія і напрямок політики, базовим принципом яких є теза про цінність нації як найвищої форми суспільної єдності та її первинності в державотворчому процесі[Джерело?].

Інтелéкт - це інформаційний потенціал знань конкретної особистості, отриманий в результаті функціонування свідомості, мислення та розуму людини. По відношенню до суспільства використовуються терміни: "Інтелект планети", "Інтелект нації", "Інтелект країни", "Інтелект установи" і тому подібне.

Руко́пис, або манускри́пт (лат. manuscriptum, від manus - рука і scribo - пишу) - писемний документ, написаний від руки, звідки й назва.

Штучна нейронна мережа (ШНМ, англ. artificial neural network, ANN, рос. искусственная нейронная сеть, ИНС) - це математична модель, а також її програмна та апаратна реалізація, побудовані за принципом функціювання біологічних нейронних мереж - мереж нервових клітин живого організму.



Ключові слова: розпізнавання символів, штучна нейронна мережа, адаптивна резонансна теорія, перцептрон, синапс.
Вступ

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

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

Штучна нейронна мережа (ШНМ, англ. artificial neural network, ANN) - це математична модель, а також її програмна та апаратна реалізація, побудовані за принципом функціювання біологічних нейронних мереж - мереж нервових клітин живого організму.

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

Інструме́нт (лат. instrumentum - знаряддя) - технологічне оснащення (знаряддя або пристрій), які в процесі праці безпосередньо стикаються з предметом праці з метою зміни чи контролю його форми, стану, властивостей тощо.

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



Аналіз методів розв’язання задачі розпізнавання символів

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

Систематика (від грец. συστηματικός - впорядкований, що відноситься до системи) - приведення в систему, а також системна класифікація предмету вивчення. Часто систематика є допоміжною дисципліною, яка допомагає впорядковувати об'єкти, які вивчає дана наука; наприклад, мовна систематика.

Фоне́тика (грец. φωνητικός - звуковий) - це розділ мовознавства, в якому вивчають звуковий склад мови. Об'єктом вивчення фонетики є звуки, їх властивості і функції, закономірності поєднання, фонетичні процеси, одиниці, засоби, ознаки.

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

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

© Т. О. Савчук, Є. О. Ярема

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

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

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

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

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

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

Озна́чення, ви́значення чи дефіні́ція (від лат. definitio) - роз'яснення чи витлумачення значення (сенсу) терміну чи поняття. Слід зауважити, що означення завжди стосується символів, оскільки тільки символи мають сенс що його покликане роз'яснити означення.

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

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

Методи навчання мережі з учителем передбачають, що існують пари «вхід-вихід», тобто відомі значення вхідних векторів, і значення вихідних векторів, що їм відповідають.

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

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

Адаптивна резонансна теорія (APT) [1] є одним із рішень цієї проблеми. Мережі й алгоритми APT зберігають пластичність, необхідну для вивчення нових образів, у той же час, запобігаючи зміні раніше запам’ятованих образів, і тому вони можуть бути ефективними при розпізнаванні символів.

Мережа APT являє собою векторний класифікатор. Вхідний вектор класифікується в залежності від того, на який із множини раніше запам’ятованих образів він схожий. Своє класифікаційне рішення мережа APT виражає у формі збудження одного з нейронів розпізнавального шару.

Збу́дження - стан нервового піднесення, неспокою, хвилювання, підвищеної активності, пожвавлення.

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

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

Мережа АРТ навчається без учителя за допомогою зміни ваг таким чином, що пред’явлення мережі вхідного вектора змушує мережу активізувати нейрони в шарі розпізнавання, пов’язані з подібним запам’ятованим вектором. Крім цього, навчання проводиться у формі, що не руйнує запам’ятовані раніше образи, запобігаючи тимчасовій нестабільності, яка регулюється вибором критерію подібності. Новий вхідний образ (який мережа «не бачила» раніше) не буде відповідати запам’ятованим образам із погляду параметра подібності, тим самим формуючи новий образ, що запам’ятовується. Вхідний образ, у достатньому ступені відповідний одному із запам’ятованих образів, не буде формувати нового екземпляра, він просто буде модифікувати той, на який він схожий.

Модифікування (рос. модифицирование, англ. modification, нім. Abänderung f, Impfen n, Modifizierung f) - дія, напрямлена зміна властивостей об'єктів.

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

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

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

Розробка системи розпізнавання символів

В якості головного компонента системи виступає видозмінений (багатошаровий) перцептрон (рис. 1).

Компоне́нт (від лат. componens, родовий відмінок componentis - складаючий) - складова частина, елемент чого-небудь.

Компонент (англ. component, нім. Komponente f) - різновид, складова частина чогось.

Кількість нейронів перцептрона визначається кількістю вивчених ним образів (m), кількість синапсів (n) визначається розширенням рисунків, які розпізнаються.

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

Розглянемо алгоритм зворотного поширення для перцептрона. Символ подається рисунком, розміри якого 79,38×52,92 мм, тип — бітовий, розширення *.bmp. Мережею рисунок розбивається на 600 частин (по горизонталі на 20, по вертикалі на 30).

Горизонталь, ізогіпса (англ. contour lines, horizontal, isohyps, нім. Höhenkurve f, Horizontale f; рос. горизонталь, изогипса; від дав.-гр. ισος - равний і дав.-гр. ὕψος - висота) - лінія на плані (карті), яка з'єднує точки земної поверхні з однаковою абсолютною висотою.

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


.

Рис. 1. Структура видозміненого перцептрона
Навчання перцептрона з урахуванням запропонованого підходу можна подати наступним чином [1].

  1. Ініціалізуються всі ваги мережі в малі ненульові величини.

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


,
де і-й елемент вхідного вектора ; — вага входу i нейрона j; — рівень збудження післясинаптичного нейрона.

  1. Обчислюється значення граничної функції активації для сигналу від кожного нейрона в такий спосіб:


, якщо більше ніж поріг ;

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

Функція активації, або передавальна функція (англ. activation function, також excitation function, squashing function, transfer function) штучного нейрона - залежність виходового сигналу штучного нейрона від вхідного.



— у противному випадку,
де являє собою поріг, що відповідає нейрону j (у найпростішому випадку всі нейрони мають той самий поріг).

  1. Обчислюється помилка для кожного нейрона:


,
де errorj — помилка для j-го нейрона; targetj — необхідний вихід j-го нейрона; OUTj — отриманий вихід j-го нейрона.

  1. Кожна вага модифікується в такий спосіб:

,
де wij(t 1) — вага входу i нейрона j в момент часу (t 1);

Момент часу - точка на часовій осі. Про події, що відповідають одному моменту часу, говорять як про одночасні.

wij(t) — вага входу i нейрона j в момент часу t; — нормуючий коефіцієнт навчання, початкове значення якого 0,1, і який зменшується в процесі навчання.

Коефіціє́нт - характеристика процесу, явища, речовини або поля, яка має відносно сталий характер.

Повторюються кроки з другого до п’ятого, доки помилка не стане досить малою.

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

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

Активаційна функція нейронів має вигляд лінійного порога :


при ;

при ,
де — значення активаційної функції; аргумент активаційної функції; — величина порога.

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


,
де — рівна різниці між необхідним або цільовим виходом D і реальним виходом Y.

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


Алгоритм навчання зберігається якщо δ збільшується на величину кожного входу хi, і цей добуток додається до відповідної ваги. З метою організації управління середньою величиною зміни ваг уведемо коефіцієнт «швидкості навчання» η, що збільшується на при навчанні:


,

,
де — корекція, пов’язана з i-м входом ; η — коефіцієнт швидкості навчання; i-е значення ваги після корекції; і-е значення ваги до ко-рекції.

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

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



Розробка алгоритму функціонування інтелектуального
модуля розпізнавання символів

Розпізнавання символів повинно проводитись за таким алгоритмом:

1) завантаження параметрів по замовчуванню під час запуску програми;

2) створення еталонних зображень (створивши еталони, користувач може перенавчити мережу так, щоб створений ним образ символу був еталоном);

Кори́стува́ч - той, хто користується чим-небудь - майном, землею, комп'ютером тощо.

3) завантаження чи створення зображення символу для розпізнавання;

4) розпізнавання символу (зашумленість якого може бути до 40 %) системою;

5) виведення результату розпізнавання.

Зазначений алгоритм може бути реалізований у середовищі Вorland Delphi 7, на мові Object Pascal, яка дозволяє використовувати бібліотеки, що реалізують нейронні мережі. Схему алгоритму функціонування модуля розпізнавання символів з урахуванням обраної мови програмування наведено на рис. 2.

Object Pascal - об'єктно-орієнтована мова програмування, нащадок Pascal, більш відома як основна мова програмування середовища Delphi.

Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.



Рис. 2. Схема алгоритму нейронної мережі АРТ для розпізнавання

Результат реалізації приведеного алгоритму в середовищі програмування Вorland Delphi 7 надав можливість реалізувати інтелектуальний модуль штучних нейронних мереж із розпізнавання символів.

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

Про́даж - це оплатна передача майна однією особою у власність іншій особі.

Програма (фр. programme письмове оголошення, порядок денний, від грец. prógramma вказівка) - заздалегідь затверджена (визначена) дія.

Зображення поділяються за відсотком зашумленості.

а) б) в) г) д) е)


Рис. 3. Символи для роботи інтелектуального модуля штучних нейронних мереж

із розпізнавання символів: а), б) — еталонні символи; в), г) — символи із зашумленістю до 30 %;

д), е) —символи із зашумленістю до 40 %
У результаті реалізації інтелектуального модуля, що функціонує у відповідності із запропонованим алгоритмом, розпізнаються символи, які належать до будь-якого алфавіту, цифри й знаки в залежності від об’ємів пам’яті інтелектуальної системи, що містить відповідні еталони із зашумленістю до 40 %.

1. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика: Пер. на русский язык / Ю.А.

Росі́йська мова (рос. русский язык) - слов'янська мова, належить до групи східнослов'янських мов разом з українською та білоруською мовами; одна з шести офіційних мов ООН.

Зуев, В.А.Точенов, 1992. — 184 с.

2. Месюра В.І., Ваховська Л.М. Основи проектування систем штучного інтелекту: Навчальній посібник. — Вінниця: ВДТУ, 2000. — 96 с. — укр. мовою.

Надійшла до редакції 24.11.2005



78


Скачати 93.76 Kb.

  • Вступ
  • Аналіз методів розв’язання задачі розпізнавання символів
  • Розробка системи розпізнавання символів
  • Розробка алгоритму функціонування інтелектуального