Курс лекций "Организация интеллектуальных вычислений"
Перспективные исследования и разработки интеллектуальных систем
Технологии интеллектуальных вычислений - состояние проблемы, новые решения
Основные модели и методы технологий интеллектуальных вычислений
Процесс находжения нового знания
Исскуственные нейронные сети
Детальное описание компонентов и работи нейронных сетей
Классификация известных нейросетей по основним категориям применения
Нейросети в задачах отображения
Современные направления развития нейрокомпьютерных технологий
Популярно про генетические алгоритмы
Нечеткая логика

 

Тема 6. Детальное описание компонентов и работы нейронных сетей

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

Расширенная модель искусственного нейрона

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

  1. сумматор, моделирующий функции тела биологического нейрона
  2. функциональный преобразователь, который выполняет роль аксонного бугорка
  3. возбуждающий синапс
  4. тормозящий синапс
  5. входной сигнал
  6. дихотомическое разветвление входного сигнала
  7. выходной сигнал
  8. дихотомическое разветвление выходного сигнала
  9. прямая связь, соответствующая аксодендритной связи между биологическими нейронами
  10. обратная (аксосоматичная) связь.

Рис. 1. Расширенная модель нейронного элемента

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

  1. Наличие нескольких мест синаптического контакта.
  2. Дихотомическое разветвление дендритов разных порядков, отвечающих в технических аналогах логическим операциям "И", "ИЛИ", "Исключающее ИЛИ", выделение максимального или минимального сигнала .
  3. Разные диаметры стволовых дендритов, ветвей, непосредственно прилегающих к телу нейрона, причем величина диаметра определяет степень важности информации, проходящей через дендрит.
  4. Наличие "дорожек" на поверхности сомы, проходящих от главных ствольных дендритов к аксону, обуславливает наличие параллельных путей обработки информации и предоставляет возможность применения логических операций над сигналами, поступающих от разных стволових дендритов.
  5. Особенности функционирования аксонного бугорка; именно аксонный бугорок устанавливает передаточную функцию нейрона, которая имеет более сложную форму, чем принятые в нейросетевых технологиях сигмоидальные или линейные передаточные функций.
  6. Наличие дихотомического разветвления аксона; в узлах разветвления происходит управление прохождением сигнала, зависящего от соотношения диаметров разных ветвей аксона; при математическом моделировании эти особенности можно реализовать с помощью логических операций.
  7. Наличие обратной аксосоматичной связи, что уже нашло свою реализацию при построении рекурентных нейросетей.

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

Компоненты искусственного нейрона

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

Компонент 1. Весовые коэффициенты

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

Компонента 2. Функция сумматора

Первым действием нейрона является вычисление взвешенной суммы всех входов. Математически, входные сигналы и соответствующие им весы представлены векторами (х10, х20 ... хn0) и (w10, w20 . . . wn0). Произведение этих векторов будет общим входным сигналом. Упрощенной функцией суматора является умножение каждого компонента вектора х на соответствующий компонент вектора w: вход1 = х10 * w10, вход2 = х20 * w20, и нахождение суммы всех произведений: вход1 + вход2 + . . . + вхoдn. Результатом будет одно число, а не многоэлементный вектор.

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

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

Компонента 3. Передаточная функция

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

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

На рис. 2 изображены типичные передаточные функции

Для простой передаточной функции нейросеть может выдавать 0 и 1, 1 и -1 или другие числовые комбинации. Передаточная функция в таких случаях является "жестким ограничителем" или пороговой функцией (рис. 2а).

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

Следующей является S-подобная кривая, которая приближает минимальное и максимальное значения в асимптотах и называется сигмоидой (рис. 2в), когда ее диапазон [0, 1], или гиперболическим тангенсом (рис. 2г), при диапазоне [-1, 1]. Важной чертой этих кривых является непрерывность функций и их производных. Применение S-функций дает хорошие результаты и имеет широкое применение.

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

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

Компонент 4. Масштабирование

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

Компонент 5. Выходная функция (соревнование)

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

Компонент 6. Функция погрешности и распространяемое назад значение

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

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

Компонент 7. Функция обучения

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

Архитектура соединений искусственных нейронов

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

При описании нейросетей используют несколько терминов, которые в разных источниках могут иметь разное трактование, в частности:

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

На основе одной архитектуры могут быть реализованы разные парадигмы нейросети и наоборот.

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

Рис. 3. Слабосвязанные нейросети

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

Рис. 4. Полносвязанная сеть

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

Рис. 5. Многослойный тип соединения нейронов

  • Связи между нейронами разных слоев называют проективными.
  • Связи направленные от входных слоев к выходным называются афферентными.
  • При обратном направлении связей - эфферентными.
  • Связи между нейронами одного слоя - боковыми (латеральными).

По архитектуре связей, большинство известных нейросетей можно сгруппировать в два больших класса:

  1. Сети прямого распространения (с однонаправленными последовательными связями).
  2. Сети обратного распространения (с рекурентными связями).

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

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

Нейронные сети

Сети прямого распространения

Реккурентные сети

  • Перцептроны
  • Сеть Хопфилда
  • Сеть Back Propagation
  • Сеть аддаптивной резонансной теории
  • Сеть встречного распространения
  • Двухнаправленная сеть
  • Карта Кохонена
  • Рис. 6. Наиболее известные архитектуры нейронных сетей

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

    Обучение искусственной нейронной сети

    Контролируемое обучение

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

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

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

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

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

    Неконтролируемое обучение

    Неконтролируемое обучение может быть большим достоянием будущего, когда компьютеры могут самообучаться в настоящем роботизированном смысле. В наше время, неконтролируемое обучение используется в сетях известных, как самоорганизованные карты (self organizing maps), которые находятся в довольно ограниченном пользовании, но доказывают перспективность самоконтролируемого обучения. Сети не используют внешнего влияния для корректирования своих весов и внутренне контролируют свою точность, ищут регулярность или тенденции во входных сигналах и адаптируются согласно обучающей функции. Даже без сообщения правильности или неправильности, сеть должна иметь информацию относительно собственной организации, что заложена в архитектуру сети и обучающие правила.

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

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

    Оценки обучения

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

    Правила обучения

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

    Правило Хебба

    Описание правила появилось в его книге "Организация поведения" в 1949 г. "Если нейрон получает входной сигнал от другого нейрона и оба являются высоко активными (математически имеют такой самый знак), вес между нейронами должен быть усилен". При возбуждении одновременно двух нейронов с выходами (хj, уі) на t-том шаге обучения вес синаптического соединения между ними возрастает, в ином случае - уменьшается, то есть

    D Wij(k)=r xj (k) yi (k),

    где r - коэффициент скорости обучения.

    Может применяться при обучении "с учителем" и "без учителя".

    Правило Хопфилда

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

    Правило "дельта"

    Это правило является изменением правила Хебба и является одним из используемых. Оно базируется на простой идее непрерывного изменения синаптических весов для уменьшения разности ("дельта") между значением желаемого и текущего выходного сигнала нейрона.

    DWij= xj (di - yi).

    По этому правилу минимизируется среднеквадратичная погрешность сети. Это правило также упоминается как правило обучения Видрова-Хоффа и правило обучения наименьших средних квадратов.

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

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

    Правило градиентного спуска

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

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

    Обучение методом соревнования

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

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

    DWij (k+1)= Wij(k)+r [xj - Wij(k)]

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

    отличное место бизнесс класс гостиницы в центре одессы | Детские товары Chicco Италия - игрушки оптом. Ищешь Игрушку?
    Последовательный перевод
    О компании. Отчеты о проведенных семинарах.
    leo-davinci.ru