Распознавание оптических образов (символов) с помощью однослойного персептрона Методические указания по дисциплинам «Системы искусственного интеллекта», «Представление и обработка знании»
Цель работы Ознакомление с проблемой использования искусственных нейронных сетей при интеллектуальной обработке данных в информационных системах Изучение основных принципов и практических методов распознавания оптических образов (символов) с помощью персептрона Приобретение навыков в программной реализации изученных методов в среде Borland Delphi и в компьютерном распознавании графических символов
Общие сведения об искусственных нейронных сетях ИНС и построенные на их основе нейрокомпьютерные технологии в качестве прототипа используют структуры и механизмы функционирования биологических нервных систем. Создание ИНС связано с попытками понять фундаментальные принципы работы человеческого мозга. В настоящее время ИНС представляют собой весьма упрощенные модели функционирования живого мозга, ориентированные не на полное биологическое соответствие, а скорее на имитацию обработки информации в нервной системе с помощью определенных вычислений, получивших наименование нейровычислений. Искусственная нейронная сеть Спинной мозг Искусственные нейронные сети (ИНС) представляют собой вычислительные структуры, которые обрабатывают информацию по образцу процессов, происходящих в нервных системах человека и других живых существ.
Подходы к созданию вычислительных машин Теоретические основы ИНС были заложены в начале сороковых годов XX-го века при исследовании возможных подходов к созданию вычислительных машин. архитектура машины фон Неймана; искусственные нейронные сети.
Отличия ИНС от архитектуры фон Неймана
Теория нейровычислений Теоретические основы нейровычислений были заложены У. МакКаллоком и В. Питтсом ещё в начале 1940-х годов. Но только в начале 1990-х годов, после преодоления некоторых в Уоррен Маккалок Валтер Питтс Теория нейровычислений с помощью ИНС представляет собой альтернативную традиционному подходу парадигму вычислений, которая по возрасту ровесница архитектуре машины фон Неймана. теоретических барьеров, ИНС получили широкое распространение. В настоящее время ИНС серьёзно рассматриваются в качестве методологической основы для создания компьютера нового поколения.
Биологический нейрон Биологический нейрон является особой биологической клеткой, обрабатывающей информацию. Нейрон 1 Сома Ядро Аксон Колатерал Синапс Дендрит Нейрон 2
Биологический нейрон Как и любая клетка, нейрон имеет тело (сóму), внутри которого располагается ядро. Из сомы нейрона выходят многочисленные отростки, обеспечивающие его взаимосвязь с другими нейронами. Нейрон 1 Сома Ядро Аксон Колатерал Синапс Дендрит Нейрон 2
Биологический нейрон Выделяется два вида отростков. Первый вид образуют многочисленные тонкие, густо ветвящиеся дендриты, по которым в нейрон поступает информация. Простейший биологический нейрон может иметь несколько дендритов, принимающих информацию от других нейронов. Нейрон 1 Сома Ядро Аксон Колатерал Синапс Дендрит Нейрон 2
Биологический нейрон Второй вид представляют более толстые отростки - аксоны, расщепляющиеся на конце на тысячи нервных окончаний – колатералов, передающих информацию на вход другим нейронам. Каждый нейрон имеет только один выходной отросток – аксон. Нейрон 1 Сома Ядро Аксон Колатерал Синапс Дендрит Нейрон 2
Биологический нейрон Каждый нейрон передаёт возбуждение другим нейронам через особые нервные контакты, называемые синапсами, которые могут располагаться как на соме, так и на дендритах. Нейрон 1 Сома Ядро Аксон Колатерал Синапс Дендрит Нейрон 2
Биологический нейрон Аксон с помощью колатерал может быть связан с другими нейронами. Длина дендрита может достигать 1 мм, а длина аксона – сотен миллиметров. По некоторым оценкам человеческий мозг состоит из порядка нейронов, которые имеют между собой примерно соединений. Аксоны и дендриты выступают в роли электрических проводов, соединяющих нейроны друг с другом. Процесс обработки и передачи информации между нейронами имеет сложную электрохимическую природу. Нейроны человеческого мозга работают параллельно, выполняя около соединений в секунду, что намного превышает способность любого современного компьютера.
Передача информации между нейронами Проходя через синапс электрический сигнал (импульс) может изменить свою амплитуду в сторону увеличения или уменьшения. Эти изменения следует интерпретировать как умножение амплитуды сигнала на весовой коэффициент, связанный с определенным синапсом. В зависимости от вида синапса входной сигнал нейрона может быть положительным или отрицательным (возбуждающим или тормозящим). Величина сигнала, генерируемого на входе нейрона, определяется синаптическим коэффициентом (весом синапса), который может меняться в процессе функционирования нейрона.
Состояние нейрона Каждый нейрон может находиться в возбужденном или невозбужденном состоянии. Состояние нейрона зависит от взвешенной алгебраической суммы возбуждающих и тормозящих сигналов, поступающих к нему от других нейронов. Если эта алгебраическая сумма превышает некоторое пороговое значение, то нейрон переходит в возбужденное состояние. В возбужденном состоянии нейрона на его аксонном выходе генерируется выходной сигнал (короткая серия импульсов продолжительностью несколько микросекунд), который поступает к другим нейронам.
Сферы применения ИНС ИНС Геологоразведка Военная отрасль Связь Интернет Медицина Экономика и бизнес Техника Авионика
Математическая модель нейрона Из рассмотрения функционирования биологического нейрона видно, что он является своеобразным процессором, выполняющим ряд операций: суммирование сигналов поступающие от других нейронов с соответствующими синаптическими весами; нелинейное преобразование и передача результирующего значения (выходного сигнала) связанным с ним нейронам. В первой математической модели, опубликованной У. МакКаллоком и В. Питтсом в 1943 году, выходной сигнал принимал значения 0 или 1, а нейрон считался бинарным элементом.
Математическая модель нейрона В настоящее время наибольшее распространение получила математическая модель нейрона, представленная следующим уравнением: гдеy – выходной сигнал нейрона (является функцией его состояния); f(σ) – функция выхода нейрона; w i – вес i-го входа (постоянный коэффициент); i –номер входа нейрона; n – число входов. Коэффициенты w i, представляют веса синаптических связей. Эти коэффициенты моделируют функции синапсов биологических нейронов, по физическому смыслу они эквивалентны электрической проводимости.
Структурная схема нейрона Структурная схема нейрона состоит из (n+1)-го входного блока умножения на коэффициенты w, одного сумматора и выходного блока функционального преобразования. Функция, которую реализует выходной блок, получила название функции активации.
Схема работы нейрона Вначале на блок сумматора подается пороговый сигнал начального состояния или возбуждения w 0.
Схема работы нейрона Далее на каждый i-й вход поступает сигнал x i либо от других нейронов, либо с устройства ввода первичной информации. Поступившие сигналы x i умножаются на синаптические коэффициенты w i и подаются на вход сумматора.
Схема работы нейрона Вид функции преобразования (активационной функции) f(σ) во многом определяет функциональные возможности и метод обучения нейронной сети. В модели нейрона МакКаллока-Питтса это пороговая функция вида f(σ) σ
Схема работы нейрона
Логические функции, реализуемые нейроном С помощью математической модели нейрона МакКаллока-Питтса можно реализовать различные логические функции.
Элементарный персептрон Розенблатта В 1957 году Ф. Розенблатт предложил специальный тип однослойной нейронной сети, а через два года продемонстрировал созданное на её основе устройство, моделирующее человеческий глаз. Ф. Розенблатту удалось обучить персептрон решению одной из сложнейших интеллектуальных задач, связанной с распознаванием букв латинского алфавита. С целью обучения персептрона был построен итеративный алгоритм корректировки весов w i, с помощью которых конкретный входной распознаваемый образ трансформировался в требуемый выходной образ, а также была доказана сходимость данного алгоритма.
Элементарный персептрон Рассмотрим принцип действия персептрона на примере классификации букв русского алфавита на гласные и согласные. Данный персептрон называется элементарным, поскольку использует только один нейрон МакКаллока-Питтса (Ne). Задача персептрона заключается в том, чтобы формировать выходной сигнал y, равный единице, если на вход поступает гласная буква, и нулю, если согласная.
Режим обучения персептрона Для того, чтобы персептрон решал требуемую задачу он должен пройти режим обучения. Суть режима обучения заключается в настройке весов w i и w 0 на совокупность входных образов решаемой задачи
Режим обучения персептрона Обучающий набор данных для персептрона должен состоять из образцов представления знаний, которым предлагается его обучить, т.е. из букв русского алфавита. В процессе обучения персептрону предъявляются эти буквы и анализируется его реакция y. Если, например, на вход персептрона поступает буква «А», а выходной сигнал y случайно оказался равным единице, означающей, что буква гласная, то корректировать веса не нужно. Однако если выход неправилен и y равен нулю, то следует увеличить веса тех активных входов, которые способствуют возбуждению персептрона.
Алгоритм обучения Хебба Алгоритм обучения Хебба представляет собой следующую последовательность шагов: Шаг 1. [Инициализация]. Всем весам персептрона присваиваются некоторые малые случайные значения из диапазона [-0,1;+0,1]. Шаг 2. На вход персептрона подается текущий входной вектор X[t]={x 1 [t],x 2 [t],K,x 35 [t]}и вычисляется выход персептрона y. Шаг 3. Если выход правильный, то перейти к шагу 2. Шаг 4. [Первое правило Д. Хебба]. Если выход неправильный и равен нулю, то увеличить веса активных входов, например, в соответствии с формулами: w i [t +1]= w i [t]+ x i [t]; w 0 [t +1]= w 0 [t]+ x 0. Шаг 5. [Второе правило Д. Хебба]. Если выход неправильный и равен единице, то уменьшить веса активных входов, например, в соответствии с формулами: w i [t +1]= w i [t] x i [t]; w 0 [t +1]= w 0 [t] x 0. Шаг 6. Осуществляется переход на шаг 2 с новым входным вектором X[t+1] или процесс обучения завершается.
Однослойный персептрон Развитие идеи элементарного персептрона привело к появлению однослойного персептрона и созданию алгоритма его обучения, основанного на дельта-правиле Уидроу-Хоффа. В отличие от элементарного персептрона данная ИНС имеет 10 нейронов, организованных таким образом, чтобы каждой цифре соответствовал свой нейрон. Выход первого нейрона y 1 должен быть равен единице, если персептрону предъявляется цифра «1» и нулю для выходов всех остальных нейронов. Выход y 2 должен быть равен единице, если персептрону показывается цифра «2», при этом остальные выходы нейронов должны быть равны нулю. И так далее до цифры «0».
Схема однослойного персептрона, предназначенного для распознавания цифр
Алгоритм обучения, основанный на дельта-правиле Алгоритм обучения однослойного персептрона с помощью дельта- правила выглядит следующим образом: Шаг 1. [Инициализация]. Всем весам персептрона w ij и w i,0 (i=1;10,j=1;35)присваиваются небольшие случайные значения из диапазона [-0,1; +0,1].
Алгоритм обучения, основанный на дельта-правиле Шаг 2. На вход персептрона подается очередной входной вектор X[t]={x 1 [t],x 2 [t],…,x 35 [t]}, где t – номер итерации.
Алгоритм обучения, основанный на дельта-правиле Каждый из 10 нейронов выполняет взвешенное суммирование входных сигналов и вырабатывает выходной сигнал
Алгоритм обучения, основанный на дельта-правиле Шаг 3. Для каждого нейрона определяется ошибка β i [t]= (d i [t] y i [t]), где d i [t] – требуемое значение выхода i-го нейрона, а y i [t] – полученное на шаге 2 значение i-го выхода. Шаг 4. [Дельта-правило]. Производится модификация весовых коэффициентов персептрона в соответствии с формулами: w ij [t +1]= w ij [t]+ w ij [t]; w ij [t]= α β i [t] x j [t]; w i, 0 [t + 1 ] = w i, 0 [t ] + w i, 0 [t ] ; w i, 0 [t ] = α β i [t ], где α – коэффициент скорости обучения с помощью которого можно управлять величиной коррекции весов ( 0 < α 1).
Схема однослойного персептрона, предназначенного для распознавания цифр