Однослойный и многослойный персептрон

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 19.06.2015
Размер файла 130,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Московский государственный машиностроительный университет

(МАМИ)»

Факультет автоматизации

Кафедра "Информационные системы и дистанционные технологии"

Контрольная работа

Дисциплина: «Интеллектуальные информационные системы»

Тема: «Однослойный и многослойный персептрон»

Студент: Поварешкин Дмитрий Сергеевич

Учебная группа: 7-АиСн-5

Руководитель:

Будылина Евгения Александровна

МОСКВА 2014

Введение

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

1. Появление перцептрона

В середине 1958 года Фрэнк Розенблат предложил модель электронного устройства, названного им перцептроном, которое должно было бы имитировать процессы человеческого мышления. Перцептрон должен был передавать сигналы от «глаза», составленного из фотоэлементов, в блоки электромеханических ячеек памяти, которые оценивали относительную величину электрических сигналов. Эти ячейки соединялись между собой случайным образом в соответствии с принципами коннективизма. Два года спустя была продемонстрирована первая действующая машина «Марк-1», которая могла научится распознавать некоторые из букв, написанных на карточках, которые подносили к его «глазам», напоминающие кинокамеры. информационный перцептрон нейрон

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

Ведущие представители так называемого «нисходящего метода» специализировались, в отличие от представителей «восходящего метода», в составлении для цифровых компьютеров общего назначения программ решения задач, требующих от людей значительного интеллекта, например для игры в шахматы или поиска математических доказательств. К числу защитников «нисходящего метода» относились сотрудники Массачусетского технологического института Марвин Минский и Сеймур Пейперт. Минский начал свою карьеру исследователя ИИ сторонником «восходящего метода» и в 1951 году построил обучающуюся сеть на вакуумных электронных лампах. Однако вскоре к моменту создания перцептрона он перешел в противоположный лагерь.

В соавторстве с южно-африканским математиком Пейпертом он опубликовал в 1969 году книгу «Перцептроны», где математически доказывалось, что перцептроны, подобные розенблатовским, принципиально не в состоянии выполнять многие из тех функций, которые приписывал перцептронам Розенблат. Минский утверждал, что, не говоря уже о роли работающих под диктовку машинисток, подвижных роботов или машин, способных читать, слушать и понимать прочитанное или услышанное, перцептроны никогда не обретут даже умения распознавать предмет частично заслоненный другим. Глядя на торчащий из-за кресла кошачий хвост, подобная машина никогда не сможет понять, что она видит. Эта книга существенно повлияла на пути развития науки об искусственном интеллекте, т.к. переместила научный интерес и субсидии правительственных организаций США, традиционно финансирующих исследования по ИИ, на другое направление исследований -- «нисходящий метод».

В 80-х гг. интерес к кибернетике возродился, так как сторонники «нисходящего метода» столкнулись со столь же неодолимыми трудностями. Сам Минский публично выразил сожаление, что его выступление нанесло урон концепции перцептронов, заявив, что, согласно его нынешним представлениям, для реального прорыва вперед в создании разумных машин потребуется устройство, во многом похожее на перцептрон. Но в основном ИИ стал синонимом нисходящего подхода, который выражался в составлении все более сложных программ для компьютеров, моделирующих сложную деятельность человеческого мозга.

2. Структура связей

В наиболее простом виде перцептрон (Рис. 1) состоит из совокупности чувствительных (сенсорных) элементов (S-элементов), на которые поступают входные сигналы. S-элементы случайным образом связаны с совокупностью ассоциативных элементов (А-элементов), выход которых отличается от нуля только тогда, когда возбуждено достаточно большое число S-элементов, воздействующих на один А-элемент. А-элементы соединены с реагирующими элементами (R-элементами) связями, коэффициенты усиления (v) которых переменны и изменяются в процессе обучения. Взвешенные комбинации выходов R-элементов составляют реакцию системы, которая указывает на принадлежность распознаваемого объекта определенному образу.

Рис. 1

Если распознаются только два образа, то в перцептроне устанавливается только один R-элемент, который обладает двумя реакциями -- положительной и отрицательной. Если образов больше двух, то для каждого образа устанавливают свой R-элемент, а выход каждого такого элемента представляет линейную комбинацию выходов A-элементов:

где Rj -- реакция j-го R-элемента; xi -- реакция i-го A-элемента; vij -- вес связи от i-го A-элемента к j-му R элементу; Qj -- порог j-го R-элемента.

Аналогично записывается уравнение i-го A-элемента:

Здесь сигнал yk может быть непрерывным, но чаще всего он принимает только два значения: 0 или 1. Сигналы от S-элементов подаются на входы А-элементов с постоянными весами равными единице, но каждый А-элемент связан только с группой случайно выбранных S-элементов. Предположим, что требуется обучить перцептрон различать два образа V1 и V2. Будем считать, что в перцептроне существует два R-элемента, один из которых предназначен образу V1, а другой -- образу V2. Перцептрон будет обучен правильно, если выход R1 превышает R2, когда распознаваемый объект принадлежит образу V1, и наоборот. Разделение объектов на два образа можно провести и с помощью только одного R-элемента. Тогда объекту образа V1 должна соответствовать положительная реакция R-элемента, а объектам образа V2 -- отрицательная.

Перцептрон обучается путем предъявления обучающей последовательности изображений объектов, принадлежащих образам V1 и V2. В процессе обучения изменяются веса vi А-элементов. В частности, если применяется система подкрепления с коррекцией ошибок, прежде всего учитывается правильность решения, принимаемого перцептроном. Если решение правильно, то веса связей всех сработавших А-элементов, ведущих к R-элементу, выдавшему правильное решение, увеличиваются, а веса несработавших А-элементов остаются неизменными. Можно оставлять неизменными веса сработавших А-элементов, но уменьшать веса несработавших. В некоторых случаях веса сработавших связей увеличивают, а несработавших -- уменьшают. После процесса обучения перцептрон сам, без учителя, начинает классифицировать новые объекты.

Если перцептрон действует по описанной схеме и в нем допускаются лишь связи, идущие от бинарных S-элементов к A-элементам и от A-элементов к единственному R-элементу, то такой перцептрон принято называть элементарным a-перцептроном. Обычно классификация C(W) задается учителем. Перцептрон должен выработать в процессе обучения классификацию, задуманную учителем.

3. Одно и многослойные персептроны

Персептрон - это название искусственного нейрона. С момента появления искусственные нейроны именовались по-разному: adaline (ADAptive LINear Element), в зависимости от особенности модели и настроения тех, кто занимается созданием сети. Каждая отдельная клетка является узлом или персептроном: нейронная сеть, состоит из слоя узлов между входом и выходом. А сеть, состоящая из нескольких слоев. Многослойный персептрон наиболее эффективен, чем однослойный. В 1969 году Марвин Минский и Сеймур Пейперт написали книгу "Персептроны", в которой математически доказали, что однослойные персептроны не могут справляться с задачами классификации линейно неразделимого типа. Книга оказала большое влияние на общественное мнение и сыграла роковую роль в развитии нейроинформатики. На тот момент исследователи возлагали большие надежды на однослойные персептроны (и получали иногда впечатляющие результаты). Минский же и Пейперт доказали ограниченность способностей в решении задач с помощью нейронных сетей.

4. Обучение

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

Весь фокус в совокупности связей между S и A-слоями персептрона. До начала обучения они находятся в каком-то случайном состоянии, то есть, их коэффициенты имеют случайные значения. Такой персептрон - полная неумеха. Если на его чувствительную матрицу подать изображение буквы А, он отреагирует случайным образом. Он может случайно угадать и выдать сигнал буквы А, а может и не отреагировать. Соответственно

Рис.2

Случай 1. Если персептрон угадал в предъявленной ему картинке букву А, никаких "оргвыводов" мы не предпринимаем, просто показываем ему следующую картинку.

Случай 2. Если он не узнал букву А, проводится "служебное расследование":

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

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

Мы не знаем, на сколько именно их следует усиливать, поэтому просто усиливаем все связи на несколько процентов. Теперь, если персептрону снова показать эту картинку, больше шансов, что он правильно отреагирует и узнает в ней букву А.

Все происходит аналогично, если мы показываем картинку, на которой нет буквы А (например, букву B):

Рис. 3

Случай 3. Если персептрон правильно не узнал буквы А, ничего не предпринимаем.

Случай 4. Если он узнал букву А в картинке, где ее нет, поступаем так:

Персептрон отреагировал, а не должен был. Значит, слишком много нейронов дали классификатору сигнал и он включился.

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

Просто ослабляем все эти связи на несколько процентов.

Далее, цикл обучения повторяется с другой или с то же картинкой. Можно сказать, что в процессе обучения связи, которые привели к ошибке, "наказываются", а те, которые способствуют правильному распознанию буквы А, "поощряются".

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

1. Нейронные сети: история развития теории. Под общей ред. А.И.Галушкина, Я.З.Цыпкина. М., ИПРЖР, 2001.

2. В.А.Головко. Нейронные сети: обучение, организация и применение. М., ИПРЖР, 2001.

3. Д.А.Тархов. Нейронные сети. Модели и алгоритмы. (Справочник.) М., Радиотехника, 2005.

Приложения

Приложение 1

using System;

namespace test

{ class Program

{ static void Main(string[] args)

{ int[,] inp = new int[,] { {1,0}, {1,1}, {0,1}, {0,0} };

int[] outp = { 0, 1, 0, 0 };

Random rand = new Random();

double[] w = { rand.NextDouble(), rand.NextDouble(), rand.NextDouble() };

double lrnRate = 1;

double totalError = 1;

while (totalError > 0.2)

{ totalError = 0;

for (int i = 0; i < 4; i++)

{ int outp = calcOutp(inp[i, 0], inp[i, 1], w);

int error = outp[i] - outp;

w[0] = w[0] + lrnRate * error * inp[i, 0];

w[1] = w[1] + lrnRate * error * inp[i, 1];

w[2] = w[2] + lrnRate * error * 1;

totalError = totalError + Math.Abs(error);

}

}

Console.WriteLine("Resultat:");

for (int i = 0; i < 4; i++)

Console.WriteLine(calcOutp(inp[i, 0], inp[i, 1], w));

Console.ReadLine();

}

private static int calcOutp(double inp1, double inp2, double[] w)

{ double s = inp1 * w[0] + inp2 * w[1] + 1 * w[2];

return (s >= 0) ? 1 : 0; }

}

}

Приложение 2

using System;

namespace Perceptrons

{

class PerceptronProgram

{

static void Main(string[] args)

{

try

{

Console.WriteLine("\nBegin Perceptron demo\n");

int[][] trainingData = new int[5][];

trainingData[0] = new int[] { 0, 1, 1, 0, 1, 0, 0, 1, 1, 1,

1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0 }; // 'A'

trainingData[1] = new int[] { 1, 1, 1, 0, 1, 0, 0, 1, 1, 1,

1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1 }; // 'B'

trainingData[2] = new int[] { 0, 1, 1, 1, 1, 0, 0, 0, 1, 0,

0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0 }; // 'C'

trainingData[3] = new int[] { 1, 1, 1, 0, 1, 0, 0, 1, 1, 0,

0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0 }; // 'D'

trainingData[4] = new int[] { 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,

1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0 }; // 'E'

Console.WriteLine("Training data input is patterns for characters A-E");

Console.WriteLine("Goal is to predict patterns that represent 'B'");

Console.Write("\nTraining input patterns (in row-col");

Console.WriteLine(" descriptive format):\n");

ShowData(trainingData[0]);

ShowData(trainingData[1]);

ShowData(trainingData[2]);

ShowData(trainingData[3]);

ShowData(trainingData[4]);

Console.Write("\n\nFinding best weights and bias for");

Console.WriteLine(" a 'B' classifier perceptron");

int maxEpochs = 1000;

double alpha = 0.075;

double targetError = 0.0;

double bestBias = 0.0;

double[] bestWeights = FindBestWeights(trainingData, maxEpochs,

alpha, targetError, out bestBias);

Console.WriteLine("\nTraining complete");

Console.WriteLine("\nBest weights and bias are:\n");

ShowVector(bestWeights);

Console.WriteLine(bestBias.ToString("F3"));

double totalError = TotalError(trainingData, bestWeights, bestBias);

Console.Write("\nAfter training total error = ");

Console.WriteLine(totalError.ToString("F4"));

int[] unknown = new int[] { 0, 1, 1, 0, 0, 0, 0, 1,

1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0 }; // damaged 'B' in 2 positions

Console.Write("\nPredicting is a 'B' (yes = 1, no = 0)");

Console.WriteLine(" for the following pattern:\n");

ShowData(unknown);

int prediction = Predict(unknown, bestWeights, bestBias);

Console.Write("\nPrediction is " + prediction);

Console.Write(" which means pattern ");

string s0 = "is NOT recognized as a 'B'";

string s1 = "IS recognized as a 'B'";

if (prediction == 0) Console.WriteLine(s0);

else Console.WriteLine(s1);

Console.WriteLine("\nEnd Perceptron demo\n");

Console.ReadLine();

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

Console.ReadLine();

}

} // Main

public static int StepFunction(double x) { ... }

public static int ComputeOutput(int[] trainVector,

double[] weights, double bias) { ... }

public static int Predict(int[] dataVector, double[] bestWeights,

double bestBias) { ... }

public static double TotalError(int[][] trainingData,

double[] weights, double bias) { ... }

public static double[] FindBestWeights(int[][] trainingData,

int maxEpochs, double alpha, double targetError,

out double bestBias) { ... }

public static void ShowVector(double[] vector) { ... }

public static void ShowData(int[] data) { ... }

}// class

}

Размещено на Allbest.ru

...

Подобные документы

  • Инструментальные средства проектирования интеллектуальных систем. Анализ традиционных языков программирования и представления знаний. Использование интегрированной инструментальной среды G2 для создания интеллектуальных систем реального времени.

    контрольная работа [548,3 K], добавлен 18.05.2019

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

    реферат [15,4 K], добавлен 19.02.2011

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

    презентация [80,5 K], добавлен 29.10.2013

  • Понятия в области метрологии. Представление знаний в интеллектуальных системах. Методы описания нечетких знаний в интеллектуальных системах. Классификация интеллектуальных систем, их структурная организация. Нечеткие системы автоматического управления.

    курсовая работа [768,2 K], добавлен 16.02.2015

  • Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.

    дипломная работа [2,6 M], добавлен 23.09.2013

  • Понятие CASE-средств как программных средств, которые поддерживают процессы создания и сопровождения информационных систем (ИС). Особенности IDEF-технологии разработки ИС. Описание нотации IDEF0. Разработка функциональных моделей бизнес-процесса.

    презентация [399,8 K], добавлен 07.04.2013

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

    курс лекций [1,1 M], добавлен 29.04.2012

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

    отчет по практике [933,1 K], добавлен 05.12.2012

  • Построение баз знаний для семантической сети. Цели создания и язык представления онтологий. Структура исследований в области многоагентных интеллектуальных информационных систем, архитектура агента. Экономическое обоснование разработки базы знаний.

    дипломная работа [1,6 M], добавлен 29.09.2013

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

    реферат [70,7 K], добавлен 18.11.2010

  • Информация, как сырье и как товар: абсолютная, относительная и аналитическая информация. Автоматизированные системы распознавания образов. Система искусственного интеллекта. Признаки и этапы жизненного цикла интеллектуальных информационных систем.

    шпаргалка [60,4 K], добавлен 10.06.2009

  • Понятия глобализации в сфере информационных технологий. Задачи и процессы обработки информации по этапам развития. Преимущества применения компьютерных технологий. Инструментальные технологические средства. Изменения стиля ведения бизнеса с внедрением ИТ.

    презентация [584,5 K], добавлен 19.09.2016

  • Виды и основные функции интеллектуальных систем. Выбор инструментального средства для создания экспертной системы. Физическое проектирование базы данных. Использование среды EsWin 2.1 для разработки и тестирования экспертной системы выбора должности.

    курсовая работа [615,8 K], добавлен 22.03.2016

  • Предмет и основные понятия информационных систем. Базовые стандарты корпоративных информационных систем. Характеристика входящих и исходящих потоков информации. Основные понятия искусственного интеллекта. Обеспечение безопасности информационных систем.

    курс лекций [295,6 K], добавлен 11.11.2014

  • Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.

    реферат [100,5 K], добавлен 18.01.2014

  • Феномен мышления. Создание искусственного интеллекта. Механический, электронный, кибернетический, нейронный подход. Появление перцептрона. Искусственный интеллект представляет пример интеграции многих научных областей.

    реферат [27,2 K], добавлен 20.05.2003

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

    курсовая работа [1,2 M], добавлен 27.06.2014

  • Роль структуры управления в информационной системе. Примеры информационных систем. Структура и классификация информационных систем. Информационные технологии. Этапы развития информационных технологий. Виды информационных технологий.

    курсовая работа [578,4 K], добавлен 17.06.2003

  • Информационные технологии в индустрии гостеприимства, новейшие разработки в данной области. Офисные технические средства работы с информацией. Оказание телекоммуникационных услуг гостю. Анализ информационных технологий при гостинице "Украина Redisson".

    курсовая работа [70,4 K], добавлен 03.06.2014

  • Изучение понятия информационных технологий, истории их развития, классификации и структуры. Определение направлений развития информационных систем в экономике. Анализ технологий, используемых в АКБ "Фора-Банк" (ЗАО), рекомендации по их совершенствованию.

    курсовая работа [615,0 K], добавлен 18.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.