Базовая реализация персептрона для обучения и распознавания простых фигур

  • Вид работы:
    Реферат
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    69,32 Кб
  • Опубликовано:
    2013-12-08
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Базовая реализация персептрона для обучения и распознавания простых фигур

Содержание

Введение

1. Аналитическая часть

.1 Описание программы

.2 Описание элементарного перцептрона

. Конструкторская часть

.1 Описание используемого перцептрона

.2 Описание пользовательского интерфейса

Заключение

Список литературы

Введение

Единого ответа на вопрос, чем занимается искусственный интеллект, не существует. Почти каждый автор, пишущий книгу об ИИ, отталкивается в ней от какого-либо определения, рассматривая в его свете достижения этой науки.

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

Нисходящий (англ. Top-Down AI), семиотический - создание экспертных систем, баз знаний и систем логического вывода, имитирующих высокоуровневые психические процессы: мышление, рассуждение, речь, эмоции, творчество и т. д.;

Восходящий (англ. Bottom-Up AI), биологический - изучение нейронных сетей и эволюционных вычислений, моделирующих интеллектуальное поведение на основе биологических элементов, а также создание соответствующих вычислительных систем, таких как нейрокомпьютер или биокомпьютер.

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

1. Аналитическая часть

.1 Описание программы

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

1.2 Описание элементарного перцептрона

Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943г. Простая нейронная модель, показанная на рисунке ниже, использовалась в большей части их работы. На вход поступает только двоичный сигнал, т.е. либо 0 либо 1. Элемент Sigma умножает каждый вход x_{N} на вес w_{N} и суммирует взвешенные входы. Если эта сумма больше заданного порогового значения, выход равен единице, в противном случае - нулю.

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

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

В 60-е годы перцептроны вызвали большой интерес и оптимизм. Розенблатт доказал замечательную теорему об обучении перцептронов. Уидроу дал ряд убедительных демонстраций систем перцептронного типа, и исследователи во всем мире стремились изучить возможности этих систем. Первоначальная эйфория сменилась разочарованием, когда оказалось, что перцептроны не способны обучиться решению ряда простых задач. Минский строго проанализировал эту проблему и показал, что имеются жесткие ограничения на то, что могут выполнять однослойные перцептроны, и, следовательно, на то, чему они могут обучаться. Так как в то время методы обучения многослойных сетей не были известны, исследователи перешли в более многообещающие области, и исследования однослойных перцептронов пришли в упадок. Недавнее открытие методов обучения многослойных сетей в большей степени, чем какой-либо иной фактор, повлияло на возрождение интереса и исследовательских усилий.

Работа Минского, возможно, и охладила пыл энтузиастов перцептрона, но обеспечила время для необходимой консолидации и развития лежащей в основе теории. Важно отметить, что анализ Минского не был опровергнут. Он остается важным исследованием и должен изучаться, чтобы ошибки 60-х годов не повторились.

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

2. Конструкторская часть

2.1 Описание используемого перцептрона

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

class Neyron

{:X[30][30]; k_or_t;count_edin;S;W[30][30]; W_now[30][30];();Obuchenie(int k_or_t);Raspoznanie();Normirovka();Show();

}; персептрон нейронный программа графический

Перцептрон состоит из трёх типов элементов, а именно: поступающие от сенсоров сигналы передаются ассоциативным элементам, а затем реагирующим элементам. Таким образом, перцептроны позволяют создать набор «ассоциаций» между входными стимулами и необходимой реакцией на выходе.

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

void Obuchenie(int k_or_t)

{(int a=0;a<30;a++)(int b=0;b<30;b++)[a][b]=0;count_dots=0;(int a=0; a<30;a++)

{n=10;k=0;(int b=0; b<30;b++)

{_dots=0;(int i=k; i<n; i++)

{l=a*10;m=l+10; (int j=l; j<m; j++)

{( Form1->Image1->Canvas->Pixels[i][j]==clBlack )

}

}

}(count_dots>20)

{[a][b]=1;(k_or_t==0)[a][b]=W[a][b]+1;[a][b]=W[a][b]-1;

count_edin++;

}=n;=k+10;

}

}=0;(int a=0; a<30;a++)(int b=0; b<30;b++)=S+X[a][b]*W[a][b];

this->Show();

}

Простым распознающим элементом (реагирующим, то есть действующим) называется элемент, который выдаёт сигнал +1, если сумма его входных сигналов является строго положительной, и сигнал −1, если сумма его входных сигналов является строго отрицательной. Если сумма входных сигналов равна нулю, выход считается либо равным нулю, либо неопределённым. Здесь мы имитируем его работу.Raspoznanie()

{for (int a=0;a<30;a++)

for (int b=0;b<30;b++)[a][b]=0;count_dots=0;(int a=0; a<30;a++)

{n=10;k=0;(int b=0; b<30;b++)

{_dots=0;(int i=k; i<n; i++)

{l=a*10;m=l+10; (int j=l; j<m; j++)

{( Form1->Image1->Canvas->Pixels[i][j]==clBlack )

{_dots++;

}

}

{[a][b]=1;

}=n;=k+10;

}=0;(int a=0; a<30;a++)(int b=0; b<30;b++)=S+X[a][b]*W[a][b];

(S>0)return 0;(S<0)return 1;

if(S==0)return -1;

}

.2 Описание пользовательского интерфейса

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

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

Рис. 4. 1 Вид окна программы

Ход осуществляется путем нажатия левой кнопки мыши на нужном поле. Ставить свою фишку необходимо в свободное место доски, в противном случае программа выдает уведомление о том, что такой ход не допустим (Рис. 4.2).

Рис. 4. 2 Уведомление о неправильном ходе

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

Рис. 4. 3 Уведомление о выигрыше компьютера

Заключение

Были получены навыки реализации алгоритмов по предмету «Интеллектуальные системы».

Список литературы

А. Я. Архангельский Программирование в Delphi 7 Издательство: Бином-Пресс, 2003 г. ISBN 5-9518-0042-0

А. Я. Архангельский Приемы программирования в Delphi Издательство: Бином-Пресс, 2004 г. ISBN 5-9518-0067-6

А. Жуков Изучаем Delphi Издательство: Питер, 2001 г. ISBN 5-272-00202-4

Заметки программистера // URL:http://www.dokwork.ru/2012/11/tictactoe.html

Похожие работы на - Базовая реализация персептрона для обучения и распознавания простых фигур

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!