Учебное пособие по курсу «Нейроинформатика» - [44]

Шрифт
Интервал

Указатель_на_векторАдрес вектора. Используется для передачи векторов в макрокоманды.
Пустой_указательУказатель на отсутствующий вектор.

При описании методов обучения все аргументы имеют тип, определяемый типом аргумента макрокоманды. Если в описании макрокоманды в табл. 2 тип аргумента не соответствует ни одному из типов, приведенных в табл. 1, то эти аргументы имеют числовой тип.


Таблица 2. Список макрокоманд, используемых для описания учителя

НазваниеАргументы (типы)Выполняемые действия
Модификация_вектораУказатель_на_вектор Старый_Шаг Новый_ШагГенерирует запрос на модификацию вектора (см. раздел «Провести обучение (Modify)»).
Вычислить_градиентВычисляет градиент функции оценки.
Установить_параметрыУказатель_на_векторСкопировать вектор, указанный в аргументе, в текущий вектор.
Создать_векторУказатель_на_векторСоздает экземпляр вектора с неопределенными значениями. Адрес вектора помещается в аргумент.
Освободить_векторУказатель_на_векторОсвобождает память занятую вектором, расположенным по адресу Указатель_на_вектор.
Случайный_векторУказатель_на_векторВ векторе, на который указывает Указатель_на_вектор, генерируется вектор, каждая из координат которого является случайной величиной, равномерно распределенной на интервале между значениями соответствующих координат векторов Вектор_минимумов и Вектор_максимумов.
Оптимизация_шагаУказатель_на_вектор Начальный_ШагПроизводит подбор оптимального шага (см. рис. 3).
Сохранить_векторУказатель_на_векторСкопировать текущий вектор в вектор, указанный в аргументе.
Вычислить_оценкуОценкаВычисляет оценку текущего вектора. Вычисленную величину складывает в аргумент Оценка.

Неградиентные методы обучения

Среди неградиентных методов рассмотрим следующие методы, каждый из которых является представителем целого семейства методов оптимизации:

1. Метод случайной стрельбы (представитель семейства методов Монте-Карло).

2. Метод покоординатного спуска (псевдоградиентный метод).

3. Метод случайного поиска (псевдоградиентный метод).

4. Метод Нелдера-Мида.

Метод случайной стрельбы

>1.  Создать_вектор В1

>2.  Создать_вектор В2

>3.  Вычислить_оценку О1

>4.  Сохранить_вктор В1

>5.  Установить_параметры В1

>6.  Случайный_вектор В2

>7.  Модификация_вектора В2, 0, 1

>8.  Вычислить_оценку О2

>9.  Если О2<О1 то переход к шагу 11

>10. Переход к шагу 5

>11. О1=О2

>12. Переход к шагу 4

>13. Установить_параметры В1

>14. Освободить_вектор В1

>15. Освободить_вектор В2

Рис. 1. Простейший алгоритм метода случайной стрельбы


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

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

Число_попыток — число неудачных пробных генераций вектора при одном радиусе.

Минимальный_радиус — минимальное значение радиуса, при котором продолжает работать алгоритм.

Идея этого метода состоит в следующем. Зададимся начальным состоянием вектора параметров. Новый вектор параметров будем искать как сумму начального и случайного, умноженного на радиус, векторов. Если после Число_попыток случайных генераций не произошло уменьшения оценки, то уменьшаем радиус. Если произошло уменьшение оценки, то полученный вектор объявляем начальным и продолжаем процедуру с тем же шагом. Важно, чтобы последовательность уменьшающихся радиусов образовывала расходящийся ряд. Примером такой последовательности может служить использованный в примере на рис. 2 ряд 1/n.

>1.  Создать_вектор В1

>2.  Создать_вектор В2

>3.  Вычислить_оценку O1

>4.  Число_Смен_Радиуса=1

>5.  Радиус=1/Число_Смен_Радиуса

>6.  Попытка=0

>7.  Сохранить_вектор В1

>8.  Установить_параметры В1

>9.  Случайный_вектор В2

>10. Модификация_вектора В2, 1, Радиус

>11. Вычислить_оценку О2

>12. Попытка=Попытка+1

>13. Если 02<01 то переход к шагу 16

>14. Если Попытка<=Число_попыток то переход к шагу 8

>15. Переход к шагу 18

>16. О1=О2

>17. Переход к шагу 6

>18. Число_Смен_Радиуса= Число_Смен_Радиуса+1

>19. Радиус=1/Число_Смен_Радиуса

>20. Если радиус >= Минимапьный_радиус то переход к шагу 6

>21. Установить_параметры В1

>22. Освободить_вектор В1

>23. Освободить_вектор В2

Рис. 2. Алгоритм метода случайной стрельбы с уменьшением радиуса


Отмечен ряд случаев, когда метод случайной стрельбы с уменьшением радиуса работает быстрее градиентных методов, но обычно это не так.

Метод покоординатного спуска

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


Рекомендуем почитать
Часы и время

Что такое время? Странный вопрос. Ведь это каждый знает. Все только и говорят о нем. «Катастрофически не хватает времени», — жалуются одни. «Как медленно течет время», — говорят другие, когда приходится чего-то или кого-то ждать. То и дело можно слышать вопрос: «Который час?» или (что не очень правильно) «Сколько сейчас времени?»А между тем еще в древности один философ сказал: «Я прекрасно знаю, что такое время, пока не задумываюсь об этом. Но стоит мне задуматься, и я не могу ответить».С тех пор как были сказаны эти слова, прошло много лет, но до сих пор далеко не все тайны времени разгаданы.


Госзаказ. Капитальный и текущий ремонт

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


Беседы о физике и технике

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


"Наутилусы" наших дней

Очерк преподавателя Военно-морской академии Алексея Травиничева, в котором сравнивается "Наутилус" Жюля Верна с реальными подводными судами начала ХХ века. Помимо оценки эффективности действия подводных лодок в реальных боевых ситуациях и тактико-технических характеристик новейших субмарин, оценивается их возможное применение для научно-исследовательской работы в океане…


Столярные и плотничные работы

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


Технический регламент о требованиях пожарной безопасности. Федеральный закон № 123-ФЗ от 22 июля 2008 г.

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