русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Стохастические алгоритмы обучения


Дата добавления: 2013-12-23; просмотров: 844; Нарушение авторских прав


Стохастическая модель нейрона

Модель нейрона Хэбба

08.10.2011

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

 

Рисунок 23 Модель нейрона Хэбба

 

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

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

 

Один из способов стабилизации обучения состоит в учете последнего значения уменьшенного на коэффициент забывания . При этом проблема Хэбба представляется в виде . Значение выбирается из интервала [0,1] и чаще всего составляет некий процент от n. Применение больших значений приводит к тому, что нейрон забывает значительную часть того, чему он научился в прошлом.

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

В стохастической модели нейрона выходной сигнал принимают значения с вероятностью:

 

Алгоритм обучения стохастической модели нейрона состоит из следующих этапов:

1) Расчет взвешенной суммы для каждого нейрона сети:



 

2) Расчет вероятности того, что принимает значение в соответствии с формулой;

3) Генерация значения следующей переменной и формирование выходного сигнала :

a. Если , то

b. Если , то ;

4) Определенный таким образом процесс осуществляется на случайно выбранной группе нейронов вследствие чего их состояние модифицируется в соответствии с предложенными правилами;

5) После фиксации состояния нейрона их коэффициенты модифицируются по применяемому правилу уточнения весов;

 

Например:

Доказано, что такой способ подбора весов приводит в результате к минимизации целевой функции:

 

 

Рисунок 24 Целевая функция

А – локальный минимум, B – глобальный минимум.

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

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

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

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

 

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

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

 

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

(*)

Нейронная сеть, основанная на принципах стохастического обучения, названной машиной Больцмана и функционирующая соответственно следующему алгоритму:

1. Начальная инициализация синоптической карты сети случайным образом. При этом задать t=1 и задать высокую ;

2. Оптимизация входного слоя сети, вычисление её реакции и значения целевой функции;

3. Вычисление искусственной температуры (*);

4. Генерирование случайных приращений весов, по закону Гаусса и вычисление скорректированной синоптической карты;

5. Активизация от входного слоя сети, вычисление его реакции и нового значения целевой функции ;

a. Если , то сохранить изменения синоптической карты;

b. Если , то генерируем случайные , если , то сохраняем изменение синоптической карты, иначе необходимо отменить изменения;

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

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

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

22.10.2011



<== предыдущая лекция | следующая лекция ==>
Нейрон типа WTA (Winner Takes All) | Конструктивные алгоритмы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.