Искусственный интелект

Автор работы: Пользователь скрыл имя, 20 Мая 2013 в 20:04, курсовая работа

Краткое описание

В рамках бакалаврской работы был рассмотрен метод распознавания графических образов с шумами, основанный на применении нейронной сети Хемминга. Было рассмотрено влияние шумов в данных на результат работы сети.
Также в рамках работы был построен программный комплекс, реализующий данный метод и позволяющий анализировать сгенерированные последовательности данных с внесённым в них шумом. Шум является случайной величиной и имеет заданный закон распределения. Были проведены исследования и на основе их результатов были сформулированы выводы.

Содержимое работы - 1 файл

Доклад ИИ.docx

— 1.85 Мб (Скачать файл)

Для распределения c2 составлены специальные таблицы, пользуясь которыми, можно для каждого значения c2 и числа степеней свободы r найти вероятность p того, что величина, распределенная по закону c2, превзойдет это значение.

Распределение c2 дает возможность оценить степень согласованности теоретического и практического распределений. Вероятность p, определенная по таблице, есть вероятность того, что за счет случайных причин мера расхождения теоретического и практического распределений будет не меньше, чем фактически наблюденное в данной серии опытов значение c2. Если эта вероятность сравнительно велика (p(c2 )> 0,1), то можно признать расхождения между теоретическим и практическим распределениями несущественными и отнести их к расхождениям за счет случайных причин [7].

 

Критерий согласия Колмагорова

В качестве меры расхождения между теоретическим  и практическим распределениями  А.Н. Колмогоров рассматривает максимальное значение модуля разности между практической функцией распределения F*(x) и соответствующей теоретической функцией распределения F(x)

Основанием  для выбора в качестве меры расхождения  величины D является простота ее вычисления. А.Н. Колмогоров доказал, что какова бы ни была заданная функция распределения при неограниченном возрастании числа независимых наблюдений n вероятность неравенства стремится к пределу

В зависимости  от величины по специальной таблице находится вероятность . Это есть вероятность того, что за счет чисто случайных причин максимальное расхождение между F*(x) и F(x) будет не меньше, чем фактически наблюденное. Если эта вероятность сравнительно велика (p(l)>0,1), то можно признать расхождения между теоретическим и практическим распределениями несущественными и отнести их к расхождениям за счет случайных причин [7].

Критерий  А.Н. Колмогорова своей простотой  выгодно отличается от описанного ранее  критерия c2. Однако, этот критерий можно применять только в случае, когда теоретическое распределение F(x) полностью известно, т.е. когда известен не только вид функции распределения F(x), но и все входящие в нее параметры. Такой случай сравнительно редко встречается на практике. Обычно из теоретических соображений известен только общий вид функции F(x), а входящие в нее числовые параметры определяются по данному статистическому материалу. При применении критерия c2 это обстоятельство учитывается соответствующим уменьшением числа степеней свободы распределения c2. Критерий А.Н. Колмогорова такого согласования не предусматривает. Если все же применять этот критерий то, в тех случаях, когда параметры теоретического распределения выбираются по статистическим данным, он дает заведомо завышенные значения вероятности ; поэтому критерий А.Н. Колмогорова рекомендуется дополнять проверкой критерия Пирсона.

 

    1. Процедура искажения изображений

 

 

Искажение изображений  осуществляется с использованием двух из трех разработанных генераторов  ПСВ по выбору пользователя. Причем один из генераторов формирует степень  искажения изображения, а второй – координаты искажаемых пикселей изображения.

Всего возможны 2 выбора генераторов:

  1. Для равномерного распределения. Для каждого пикселя генерируется число k, причём . Если k<a, где – это число отражает насколько будет зашумлён образ.
  2. Для остальных способов генерации. Происходит последовательная случайная генерация номеров пикселей от 0 до 9999. Номер столбца в которой находится искажаемый пиксель определяется двумя старшими разрядами числа, а номер строки, младшими разрядами.

 Например:

Если сгенерировано число  4237, то номер пикселя будет (42,37).

Если сгенерировано  число  5789, то номер пикселя будет (57,89).

В памяти эмулятора  хранятся номера всех искажённых разрядов, если новый номер совпадает с  номером уже искажённого пикселя, то происходит повторная генерация  числа на текущем шаге.  

Генерация случайной  величины с нормальным законом распределения  происходит при помощи преобразования Бокса-Мюллера.

 

 

1.3.1 Преобразование Бокса – Мюллера.

 

Нормальное распределение, также  называемое гауссовым распределением или распределением Гаусса — распределение  вероятностей, которое задается функцией плотности распределения:

 

где  μ — среднее значение (математическое ожидание) случайной величины;

 σ —  среднеквадратичное отклонение (СКО);

 

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

Первый вариант:

Пусть φ и τ независимые случайные  величины, равномерно распределённые на интервале (0, 1]. Вычислим и по формулам

  

  

Тогда и будут независимы и распределены нормально с математическим ожиданием 0 и дисперсией 1. При реализации на компьютере обычно быстрее не вычислять обе тригонометрические функции –   и – а рассчитать одну из них через другую. Ещё лучше воспользоваться вместо этого вторым вариантом преобразования Бокса — Мюллера.

Второй вариант:

Пусть x и y — независимые случайные величины, равномерно распределённые на отрезке [-1, 1]. Вычислим . Если окажется, что или , то значения x и y следует «выбросить» и сгенерировать заново. Как только выполнится условие , по формулам

  

  

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

Коэффициент использования базовых  случайных величин для первого  варианта, очевидно, равен единице. Для второго варианта – это  отношение площади окружности единичного радиуса к площади квадрата со стороной два, т. е. . Тем не менее, на практике второй вариант обычно оказывается быстрее за счёт того, что в нём используется только одна трансцендентная функция, . Это преимущество для большинства реализаций перевешивает необходимость генерации большего числа равномерно распределённых случайных величин.

После получения стандартной нормальной случайной величины , можно легко перейти к величине распределённой нормально с математическим ожиданием µ и стандартным отклонением по формуле:

  

Это уже не является частью преобразования Бокса — Мюллера, но позволяет  завершить генерацию нормальной случайной величины.

 

 

    1. Выводы

 

 

В первой главе  данной работы был произведён анализ методов распознавания графических изображений. На основе анализа был выбран метод нейросетевого распознавания.

Так же в  этой главе были рассмотрены методы генерации ПСВ. Был разработан алгоритм искажения графических образов.

 

 

  1. Реализация эмулятора нейронной сети Хемминга, решающей задачи распознавания зашумлённых образов.

 

В рамках данной работы разрабатывался эмулятор ИНС решающей задачи распознавания искаженных изображений, шумы для которых формируются генераторами ПСВ. В качестве исходных данных используются растровые черно-белые изображения размером 100х100 пикселей. Следовательно, размерность моделируемой НС составляет n=10000 нейронов.

На рисунке 5.1 и рисунке 5.2 приведена общая схема алгоритма функционирования системы.

Нет


Да


Загрузка изображения для искажения


Продолжить обучение?


Обучение сети


Начало


Загрузка изображения для обучения



 

2



Распознавание искажённого изображения


Искажение изображения



 

 

 

 

 

 

 

 

 

 

 

Конец



 

 

 

 

 

 

 

1



 

 

Рисунок 5.1.

 

 

Выбор генератора ПСВ


Генерация ДСВ методом обратной функции


Генерация НСВ методом обратной функции


 

Генерация НСВ универсальным методом


 

Генерация ПСВ используя преобразование Бокса-Мюллера


Проверка  эффективности работы генератора ПСВ


1


2



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 5.2.

 

 

    1. Выбор структуры ИНС

 

Искусственная нейронная сеть Хэмминга представляет собой сеть с двумя обрабатывающими  слоями: первый слой - слой Хэмминга, второй слой - немного изменённая сеть Хопфилда. Сеть Хемминга реализует классификатор, базирующийся на наименьшей погрешности для векторов двоичных входов, где погрешность определяется расстоянием Хэмминга. Идея работы сети состоит в нахождении расстояния Хэмминга от тестируемого образа до всех образцов. Расстоянием Хэмминга называется число отличающихся битов в двух бинарных векторах. Сеть должна выбрать образец с минимальным расстоянием Хэмминга до неизвестного входного сигнала, в результате чего будет активизирован только один выход сети, соответствующий этому образцу.

(01100)  и  (01100) – расстояние 0

(01100)  и  (00000) – расстояние 2

(01100)  и  (10011) – расстояние 5

Структура сети

 

 

 

Рисунок 6. Структурная схема сети Хэмминга.

 

 

 

Сеть состоит  из двух слоев. Первый и второй слои имеют по m нейронов, где m – число  образов для запоминания. Нейроны первого слоя имеют по n синапсов, соединенных с входами сети (образующими фиктивный нулевой слой).

Первый слой имеет однонаправленное распространение  сигналов от входа к выходу и фиксированные  значения весов.

Нейроны второго  слоя связаны между собой отрицательными обратными синаптическими связями. Единственный синапс с положительной  обратной связью для каждого нейрона  соединен с его же аксоном. Таким  образом, второй слой состоит из нейронов, связанных обратными связями  по принципу "каждый с каждым", при этом в каждом нейроне слоя существует автосвязь (связь входа  нейрона со своим собственным  выходом). Разные нейроны в слое связаны  отрицательной (тормозящей) обратной связью с весом , при этом величина обычно обратно пропорциональна количеству образов. С собственным входом нейрон связан положительной (возбуждающей) обратной связью с весом, равным +1. Пороговые  веса нейронов приняты равными нулю. Нейроны этого слоя функционируют  в режиме, при котором в каждой фиксированной ситуации активизируется только один нейрон, а остальные  пребывают в состоянии покоя.

Выходной  однонаправленный слой формирует выходной вектор, соответствующий входному вектору.

Тип входных  сигналов: бинарные векторы.

Тип выходных сигналов: целые числа.

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

Тип передаточной функции: линейная с насыщением.

Число синапсов в сети: (N*M).

 

Преимущества:

-небольшие затраты на память,

-сеть работает предельно быстро,

-чрезвычайно простой алгоритм работы,

-ёмкость сети не зависит от размерности входного сигнала (как в НС Хопфилда) и в точности равна количеству нейронов.

 

Недостатки:

-сеть вместо образца в явном виде выдаёт его номер.

 

    1.  Программная реализация ИНС

 

В данной реализации размер входного образца должен быть 100х100,а перед обработкой размер образа приводится к 40х40. Поскольку сеть при обучении на не зашумлённых эталонах распознавала только образы с зашумлением до 10%, было принято решение для каждого образа использовать 2 эталона с зашумлением 0% и 10%. Таким образом, в каждом слое сети число нейронов m=20, а выходы соединены попарно 0 и 10, 1 и 11 и т.д. Вес отрицательной обратной связи e был принят равным -0.05.

Алгоритм  обучения нейронной сети был адаптирован  для данной задачи

1. Выбирается i-й входной образ.

2. Изображение локализуется и приводится к нужному масштабу.

3. Образ поточечно подаётся на входы i-го нейрона. Если k-я точка образа

чёрная, то весу k-го входа присваивается значение 0.5, в противном случае -0.5 .

4. Переход на шаг 1, пока не будут исчерпаны все эталонные образы.

Программный код алгоритма обучения:

 

I1:=TImage.Greate(self);

I2:=TImage.Greate(self);

I2.Width:=DestSize;

I2.Height:=DestSize;

for i:=1 to m do

begin

I1.Picture.LoadFromFile(IntToStr(i-1)+’.bmp’);

vScale(I1,I2); // Читаем и масштабируем образ

end;

for x:=1 to DestSize do

for y:=1 to DestSize do // Перебираемпоточечно

if(I2.Canvas.Pixels[x-1,y-1]=clBlack)then InputRow[i].W[x*DestSize+y]=0.5;

elseInputRow[i].W[x*DestSize+y]=-0.5;

Информация о работе Искусственный интелект