45346

Персептрон Розенблатта

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-11-16

53 KB

31 чел.

12 Персептрон Розенблатта

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

Первоначально персептрон Розенблатта (рис. 6.2) содержал узлы трех типов. Сенсорные, или с-узлы, имитировали светочувствительные клетки сетчатки глаза. Они соответствовали демонам изображения, или демонам данных, пандемониума Селфриджа.

Рисунок 6.2 – Персептрон Розенблатта

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

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

Как а-узлы, так и р-узлы персептрона представляли собой математические нейроны, которые были рассмотрены ранее. Некоторые из соединений между узлами являлись возбуждающими, а некоторые – тормозящими. Веса синапсов, идущих к р-узлам, изменялись в процессе обучения персептрона.

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

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

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

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

Персептрон Розенблатта

У. Мак-Каллок и В. Питтс предложили конструкцию сети из математических нейронов и показали, что такая сеть в принципе может выполнять числовые и логические операции. Далее они высказали идею о том, что сеть из математических нейронов в состоянии обучаться, распознавать образы, обобщать, т.е. она обладает свойствами человеческого интеллекта.

Идея Мак-Каллока – Питтса была реализована в 1958 году Фрэнком Розенблаттом сначала в виде компьютерной программы для компьютера IBM-794, а затем, спустя два года, в виде электронного устройства, моделирующего человеческий глаз. Это устройство, имеющее в качестве элементной базы модельные нейроны Мак-Каллока – Питтса и названное персептроном, удалось обучить решению сложнейшей интеллектуальной задачи – распознаванию букв латинского алфавита. Таким образом, удалось проверить основные гипотезы функционирования человеческого мозга и сам механизм его обучаемости. "Нельзя сказать, что мы точно воспроизводим работу человеческого мозга, – признавался Ф. Розенблатт, – но пока персептрон ближе всего к истине".

Рассмотрим принцип действия персептрона на примере. На рис. 5.4 приведен один из простейших вариантов исполнения персептрона, предназначенного для классификации цифр на чётные и нечётные. Представим себе матрицу из 12 фотоэлементов, расположенных в виде четырех горизонтальных рядов, в каждом из которых три фотоэлемента. На матрицу фотоэлементов накладывается карточка с изображением цифры, в данном примере – цифра 4. Если на фотоэлемент попадает какой-либо фрагмент цифры, то данный фотоэлемент вырабатывает сигнал в виде двоичной единицы, в противном случае – нуль. В приведенном примере первый фотоэлемент выдает сигнал x1 = 0, второй фотоэлемент – х2 = 1 и т.д. Далее производиться суммирование входных сигналов xj, помноженных на синаптические веса wj, первоначально заданные датчиком случайных чисел. После этого сумма сравнивается с порогом чувствительности , также заданным случайным образом. Цель обучения персептрона состоит в том, чтобы выходной сигнал у был равен единице, если на карточке была изображена чётная цифра, и нулю, если цифра была нечётной.

Эта цель достигается путём обучения персептрона, заключающемся в корректировке весовых коэффициентов wj. Если, например, на вход персептрона была предъявлена карточка с цифрой 4 и выходной сигнал у случайно оказался равным единице, означающей чётность, то корректировать веса не нужно, так как реакция персептрона правильна. Однако если выход неправилен и у = 0, то следует увеличить веса тех активных входов, которые способствуют возбуждению нейрона. В данном случае увеличению подлежат w2, wj и w11.

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

Шаг 1. Подать входной образ и вычислить выход персептрона у.

Шаг 2, а. Если выход правильный, то перейти на шаг 1.

Шаг 2, б. Если выход неправильный и равен нулю, то увеличить веса активных входов, например, добавить все входы к соответствующим им весам: wj(t + 1) = wj(t) + хj.

Шаг 2, в. Если выход неправильный и равен единице, то уменьшить веса активных входов, например вычесть каждый вход из соответствующего ему веса: wj(t + 1) = wj(t) - хj.

Шаг 3. Перейти на шаг 1 или завершить процесс обучения.

В приведенном здесь алгоритме шаг 2, б называют первым правилом Хебба, а шаг 2, в – вторым правилом Хебба, в честь учёного, предложившего этот алгоритм в 1949 году.

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

= (d – y).

Тогда случай = 0 соответствует шагу 2, а, когда выход правилен; случай > 0 – шагу 2, б; случай  < 0 – шагу 2, в.

Рассмотрим пример использования персептрона для распознавания букв русского алфавита (рис. 5.5). В отличие от предыдущей схемы такой персептрон имеет 33 нейрона, для каждой букве алфавита. Выход первого нейрона у1 должен быть равен единице, если персептрону предъявлена буква "А", и нулю для всех остальных букв. Выход второго нейрона у2 должен быть равен единице, если персептрону предъявлена буква "Б", и нулю во всех остальных случаях. И так далее до буквы "Я"

Такой персептрон можно использовать и для решения других практических задач. Например, обучить выполнять прогноз погоды или ставить диагнозы болезней. Все зависит от того, какой смысл придавать входному вектору x1 и выходному вектору у1. Круг решаемых задач значительно расширится, если научить персептрон выдавать не только бинарные выходные сигналы типа ноль и единица, но и аналоговые, т. е. имеющие непрерывные значения. Такое обобщение персептрона было сделано Уидроу и Хоффом.

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

Класс решаемых персептронами задач расширялся. Персептроны применялись для решения задач диагностики, таких как анализ электрокардиограмм и заключение врача о диагнозе болезни пациента. По мере расширения области научных исследований появились трудности. Неожиданно оказалось, что многие новые задачи персептрон решить не мог, причём эти задачи внешне ничем не отличались от тех, с которыми персептрон успешно справлялся ранее. Возникла необходимость объяснения возникших парадоксов, глубокого анализа и создания теоретической базы персептронов. Одну из таких задач, заключающуюся в реализации логической операции "Исключающее ИЛИ", мы рассмотрим подробно.

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

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


Признаки

-узлы

a-узлы

p-узел


 

А также другие работы, которые могут Вас заинтересовать

69267. Створення меню 55.5 KB
  Як і решта всіх ресурсів додатку, ресурс меню розташований у файлі опису ресурсів з розширенням - гс (resource script). Для доступу до файлу ресурсу перейдіть до на вкладку Resources View (Ресурси), розташовану в нижній частина вікна представлення проекту.
69268. Створення обробників подій меню 30.5 KB
  Після того, як ресурс меню буде створений, можна переходити до розробки коди, пов’язаної з подіями пунктів меню. Щоб побачити цей процес у дії, досить клацнути правою кнопкою миші на пункті меню ID_SPEAK_BEFORMAL і в контекстному меню, що з’явилося, вибрати пункт Add Event Handler...
69269. Контекстні меню 33.5 KB
  З моменту дебюту Windows 95 корпорація Microsoft забезпечує застосування контекстних меню. Контекстне меню (context menu), іноді зване спливаючим меню (popup menu), ніяк не сполучене з рядком меню. Воно відображається у тому випадку, коли користувач, вибравши об’єкт, клацає правою кнопкою миші.
69270. Обробка подій миші 43 KB
  У цьому розділі розглядаються способи організації введення даних за допомогою миші і клавіатури. У першому розділі описується стандартна система введення даних, використовувана операційною системою Windows для контролю стану введення (input state).
69271. Рядок стану 64 KB
  Рядок стану є багатоелементною смугою, розташованою внизу фреймового вікна. Вона використовується для відображення різних даних, специфічних для цього додатку. Практично всі додатки Windows (як SDI, так і MDI) мають рядки стану. Крім того, вони є навіть у деяких діалогових застосувань.
69272. Створення і маніпулювання панелями інструментів 58 KB
  Оскільки панелі інструментів займають дорогоцінний екранний простір вони повинні містити лише найбільш часто використовувані команди. У достатньо великих застосуваннях для вирішення різних завдань застосовується декілька різних панелей інструментів.
69273. Інтерфейс графічних пристроїв 57.5 KB
  Операційна система Windows володіє графічним інтерфейсом, тому всі створювані для неї застосування зобов’язані використовувати саме його. Графічний інтерфейс істотно простіший, зручніше і зрозуміліше для користувачів, чим текстовий. Інтерфейс графічних пристроїв Windows...
69274. Діалогові вікна 45.5 KB
  В першу чергу необхідно вивчити, як можна визначити клас, похідний від CDialog. Оскільки демонстраційний додаток розділу володіє діалоговим вікном, що містить всі дані елементи управління, приступимо до його створення прямо зараз. Це буде проект додатку SDI під назвою ControlsDemo.
69275. Елементи керування 53 KB
  Щоб краще зрозуміти, як саме MFC забезпечує підтримку елементів управління ймовірно, було б цікаве розглянути процес створення елементів управління безвідносно до MFC. Звернете увагу, практично будь-який прямокутник, що відображається на екрані, здатний взаємодіяти з користувачем, є вікно.