Обучение

Лабораторная работа №6

Использование нейронных сетей для распознавания букв

Цель изучить свойства нейронных сетей и произвести обучение ИНС для распознавания букв.

Теоретические основы

Свойства искусственных нейронных сетей

Абстрагирование

Некоторые из искусственных нейронных сетей обладают способностью извлекать сущность из входных сигналов. Например, сеть может быть обучена на последовательность искаженных версий буквы "А". После соответствующего обучения предъявление такого искаженного примера приведет к тому, что сеть породит букву совершенной формы. В некотором смысле она научится порождать то, что никогда не видела.

Применимость

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

Обучение

Искусственные нейронные сети могут менять свое поведение в зависимости от внешней среды. Этот фактор в большей степени, чем любой другой, ответствен за тот интерес, который они вызывают. После предъявления входных сигналов (возможно, вместе с требуемыми выходами) они самонастраиваются, чтобы обеспечивать требуемую реакцию.

Основу каждой НС составляют относительно простые, в большинстве случаев – однотипные, элементы (ячейки), искусственные нейроны. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рисунке 1. Каждый синапс характеризуется величиной синаптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости.

Текущее состояние нейрона определяется, как взвешенная сумма его входов:

Выход нейрона есть функция его состояния:

y = f(s) (2)

Нелинейная функция f называется активационной и может иметь различный вид, как показано на рисунке 2.

В качестве примера простейшей НС рассмотрим трехней­ронный перцептрон (рис.3), то есть такую сеть, нейроны которой имеют активационную функцию в виде единичного скачка.

Рис.3 Однослойный перцептрон

Алфавит для распознавания рис.4. Исключены символы, обладающие элементами выходящими за общий контур буквы: Д, Ц, Щ, и состоящие из нескольких элементов: Ё, Й, Ы.

Рис.4 Алфавит для распознавания.

Буквы состоят из набора элементов (рис. 5), которые необходимо обнаружить и проанализировать используя ИНС.

Рис.5. Сетка составных элементов.

Нейронная сеть для распознавания указанного набора символов обладает 27 ядрами (по количеству распознаваемых букв) и 29 входами (по количеству составляющих элементов).

Весовой коэффициент для значащих входов конкретной буквы равен 1/(количество значащих входов).

«А» wi=1/4

«Б» wi=1/11=0,90909…≈0,91

«В» wi=1/14=0,0714285…≈0,072

«Г» wi=1/4

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

А à Л;

В à Б, Р, Ь;

Е à Г;

П à Г;

Ж àХ;

О à С;

З à Э;

У à Ч.

Поэтому необходимо соответствующие элементы при их наличии на экране распознавания вычитать из буквы, где их не должно быть.

Для А w8=0,25 w10=0,25 w15=0,25 w16=0,25

Для Л w8=0,5 w10=0,5 w15=-0,1 w16=-0,1

Для надежности распознавания букв можно все, не значащие, весовые коэффициенты сделать отрицательными (-0,1)

Буква считается распознанной, если состояние соответствующего ей ядра

Визуальный образ распознаваемого символа загружать в компонент TImage.

Рис. 6. Поле для загрузки символа.

Цвет (белый/черный) в соответствующих точках распознаваемого рисунка получаем с помощью функции

ColorXY:=Image1.Canvas.Pixels[x,y];


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: