P02. Обучение с учителем. Дельта

advertisement
NG16P02Problem.cdf |1
P02. Обучение с учителем. Дельта-правило обучения
Александр Малевич, Полина Бартошевич
КМ2014, курс 2, семестр 4
17-фев-2016
Ключевые слова: Искусственная нейронная сеть, искусственный нейрон, функция активации, линейная
отделимость, многослойный персептрон, нейросетевая реализация логических операторов.
Задание: Требуется реализовать трехслойный персептрон с двумя входами и одним выходом, знающий
растровое изображение заданной заглавной буквы кириллического алфавита в шрифте RodchenkoCTT
(см.Рис.1) http://www.fonts-online.ru/font/RodchenkoCTT
Рис 1. Шрифт RodchenkoCTT
1. Реализовать на Mathematica (искусственный) нейрон. Веса и функция активации должны быть
параметрами, задаваемыми при создании нейрона. Используя полученный код, создать
нейрон, распознающий Вашу букву, на входе он должен получать информацию о каждом из
выпуклых блоков, на которые Вы разбили свою букву. В дальнейшем мы используем его как
третий слой искомой нейросети.
2. Реализовать на Mathematica однослойный персетрон, состоящий из нескольких,
параллельно действующих нейронов (см. п.1). Веса и функция активации (общая для всех
нейронов слоя) должны быть параметрами, задаваемыми при создании персептрона. В
дальнейшем мы будем использовать однослойный персептрон для конструирования слоёв
искомой нейросети — многослойного персептрона. Используя полученный код, создать
(однослойный) персептрон, распознающий выпуклые блоки, на которые Вы разбили свою
букву, на входе он должен получать информацию о каждой из полуплоскостей, ограниченных
прямыми, проходящими через грани Вашей буквы. Используя полученный код, создать
однослойный персептрон, распознающий полуплоскости, ограниченные прямыми,
проходящими через грани Вашей буквы.
3. Реализовать на Mathematica многослойный персетрон, состоящий из нескольких,
последовательно действующих слоёв (см. п.2). Веса и функции активации (для каждого из
слоёв) должны быть параметрами, задаваемыми при создании персептрона. Используя
полученный код, создать нейросеть (многослойный персептрон), распознающий Вашу букву.
Используя полученную нейросеть, нарисовать растр с Вашей буквой.
4. Подготовить два полных комплекта обучающих шаблонов вида: {Xk , Yk }, где Xk – входной
вектор-“вопрос”, Yk – правильный ответ на этот вопрос. Первый комплект — для обучения
выходного нейрона (третий слой), распознающего букву по набору выпуклых блоков. Второй
комплект — для обучения второго слоя, распознающего выпуклые блоки по набору
полуплоскостей.
5. Реализовать дельта-правило обучения нейрона со ступенчатой функцией активации.
Используя полученный код и первый обучающий комплект (из п.4), обучить выходной нейрон
(третий слой) нейросети.
6. Модифицируя код из п.5, реализовать дельта-правило обучения слоя нейронов со
ступенчатыми функциями активации. Используя полученный код и второй обучающий комплект
(из п.4), обучить второй слой нейросети.
Рекомендуемая литература :
1. Хайкин С. “Нейронные сети. Полный курс” – М.: “Вильямс”, 2006. – 1104 с. —
http://www.williamspublishing.com/Books/5-8459-0890-6.html
Download