Обновленная теория обучения нейронной сети

Методы ускорения обучения нейронной сети. Принцип достаточности

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

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

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

Тем не менее, при разработке нейронных сетей можно выделить два основных этапа:

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

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

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

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

Обратите внимание

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

Как правило, обучение нейронной сети происходит до тех пор, пока ее ошибка не станет близкой к нулю.

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

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

Обучение нейронной сети, основанное на принципе достаточности

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

Формула для локальной ошибки выглядит следующим образом:

где:

  • – элементарная ошибка-го нейрона выходного слоя нейронной сети;
  • –количество нейронов в выходном слое сети.

Формула для подсчета глобальной ошибки следующая:

где:

  • – локальная ошибка всей нейронной сети на-м обучающем наборе;
  • – число обучающих наборов.

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

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

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

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

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

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

где:

  • – число классов, удовлетворяющих вышеописанному правилу;
  • – общее число классов.

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

где:

  • – количество противоречивых наборов;
  • – общее количество наборов в обучающей выборке.

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

Источник: http://www.aiportal.ru/articles/neural-networks/accelerate-training-sufficiency.html

Методы классификации и прогнозирования. Нейронные сети

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

Процесс обучения нейронной сети заключается в подстройке ее внутренних параметров под конкретную задачу.

Алгоритм работы нейронной сети является итеративным, его шаги называют эпохами или циклами.

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

Процесс обучения осуществляется на обучающей выборке.

Важно

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

Таким образом, перед нами ставится вопрос – какие входные поля (признаки) нам необходимо использовать. Первоначально выбор осуществляется эвристически, далее количество входов может быть изменено.

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

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

Аналитик должен определить количество слоев в сети и количество нейронов в каждом слое.

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

Ошибка обучения для построенной нейронной сети вычисляется путем сравнения выходных и целевых (желаемых) значений. Из полученных разностей формируется функция ошибок.

Функция ошибок – это целевая функция, требующая минимизации в процессе управляемого обучения нейронной сети.

Совет

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

От качества обучения нейронной сети зависит ее способность решать поставленные перед ней задачи.

Переобучение нейронной сети

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

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

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

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

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

Однако при этом происходит “подстройка” не под общие закономерности ряда, а под особенности его части – обучающего подмножества. При этом точность прогноза уменьшается.

Обратите внимание

Один из вариантов борьбы с переобучением сети – деление обучающей выборки на два множества (обучающее и тестовое).

На обучающем множестве происходит обучение нейронной сети. На тестовом множестве осуществляется проверка построенной модели. Эти множества не должны пересекаться.

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

Читайте также:  "эволюция" в архангельске!

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

Этот момент считается концом реального или настоящего обучения, с него и начинается переобучение.

Описанный процесс проиллюстрирован на рис. 11.2.

Рис. 11.2. Процесс обучений сети. Явление переобучения

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

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

Источник: http://www.intuit.ru/studies/courses/6/6/lecture/178?page=4

Общие подходы к обучению нейронных сетей

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

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

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

Процедура предъявления сети всего набора обучающих данных называется эпохой (epoch). В пакете Neural Network Toolbox (NNT) системы MATLAB пакетный режим обучения называется обучением (Learning).

Важно

В последовательном режиме (Sequential Mode) обучения модификация параметров сети производится после предъявления сети каждого из примеров обучающей последовательности. Процедура предъявления сети каждого примера называется проходом (passe). В пакете NNT системы MATLAB последовательный режим обучения называется адаптацией (Adaptation).

Выбор последовательного или пакетного режимов обучения
определяется конкретной задачей, решаемой с помощью нейронной сети и требует экспериментальной проверки [33, 53].

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

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

Обучение сети завершается, если выполняется критерий останова. В качестве критерия останова обычно выбирается малая величина функционала ошибки.

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

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

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

Это означает, что сеть “заучила” обучающие примеры, но потеряла способность к обобщению, т. е. потеряла способность приспосабливаться к новым данным. Эффект переобучения возникает, если сеть содержит избыточное количество весов или если сеть обучается на слишком большом числе примеров.

Совет

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

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

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

Так в регуляризации весов по Вигенду [53] используется функционал ошибки вида , ограничивающий рост весов.

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

Добавление шума вырабатывает у сети нечувствительность к определенным вариациям входных величин. Доказана [54] эквивалентность добавления шума регуляризации Тихонова. В [32] показано, что при добавлении шума в качестве регуляризирующего слагаемого выступает показатель чувствительности сети к изменениям входных сигналов.

Значит добавление шума уменьшает такую чувствительность.

Другой популярный подход к преодолению эффекта переобучения основан на организации целенаправленной процедуры прерывания обучения — на обучении с ранним остановом (Early Stopping).

Для этого используется перекрестная проверка (Cross‑Validation): из исходных данных выделяют три подмножества (примем обозначения как в Neural Network Toolbox (NNT) MATLAB [38]):

обучающее множество (Training Set), которое используется для настройки весов и смещений сети;

контрольное множество (Validation Set), которое используется в течение всего обучения, чтобы обнаружить явление переобучения;

тестовое множество (Test Set), которое используется для проверки качества обучения.

Четких рекомендаций, как формировать эти множества нет.

Обратите внимание

В новых версиях NNT MATLAB по умолчанию из обучающего множества случайным образом формируются три подмножества: обучающее множество (Train Set), составляет 70% от обучающей выборки; контрольное множество (Validation Set) составляет 15% от обучающей выборки; тестовое множество (Test Set) составляет 15% от обучающей выборки.

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

Продолжать обучение после того, как ошибка на контрольном множестве перестала уменьшаться, нецелесообразно. Точка раннего останова обозначена на рис. 3.1 вертикальной пунктирной линией.

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

Зачастую полезно рассчитывать в течение всего процесса обучения и погрешность для тестового множества.

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

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

Рис. 3.1. Характер изменения погрешности обучения (на примере NNT MATLAB)

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

Важно

При этом каждый раз для тестирования применяются разные подмножества. Ошибка сети вычисляется усреднением ошибок по всем попытка. Возможен случайный выбор подмножеств (см. подраздел 3.2). При ограниченном числе примеров применяют “метод исключения одного примера” [33]. В этом случае для обучения используютпримеров, а тестирование выполняется на оставшемся примере.

Обучение повторяютраз, применяя для проверки разные примеры.

При экспериментах с нейронными сетями, особенно при исследовании алгоритмов обучения, необходимо использовать общедоступные наборы данных (Data Set). Перечень популярных источников таких наборов приведен в Интернет‑ресурсах пособия (раздел: “Наборы данных (data sets) для машинного обучения и анализа данных”).

Источник: https://megaobuchalka.ru/9/5913.html

Методы обучения нейронной сети

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

Читайте также:  Японцы работают над мозгом для роботов будущего

Причины популярности

Успех внедрения в практику нейронных сетей специалисты объясняют несколькими причинами:

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

Подробнее остановимся на каждом пункте.

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

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

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

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

Сфера применения

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

Особенности образовательного процесса

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

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

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

Совет

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

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

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

Именно поэтому было продолжено обучение нейронной сети, формирование научного фундамента для подобной деятельности.

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

Методы обучения

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

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

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

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

Глубинное обучение нейронных сетей осуществляется на следующих парадигмах:

  • с учителем;
  • без наставника;
  • смешанная форма.

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

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

Обратите внимание

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

Процесс повторяется до тех пор, пока в его памяти не останется верная информация. Такая процедура именуется «обучением с учителем».

Сущность процесса

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

Если показать на вход нейронной сети букву «А», она дает определенный ответ, который может быть и неверным. В виде желаемого выхода в задаче предлагаемой классификации используют набор (1,0,0,…), в котором на выходе с меткой «А» находится 1, а на всех остальных выходах – метка 0.

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

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

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

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

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

Важно

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

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

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

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

Алгоритмы обучения нейронных сетей

В настоящее время используют несколько их вариантов:

  • сопряженных градиентов;
  • обратное распространение;
  • Квази-Ньютоновский;
  • псевдо-обратный;
  • обучение Кохонена;
  • Левенберга-Маркара;
  • векторный квантователь;
  • метод К-ближайших соседей (KNN)
  • установка явных отклонений.

Это далеко не все алгоритмы обучения нейронных сетей, применяемые в настоящее время.

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

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

Важные моменты

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

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

Разновидности

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

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

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

Читайте также:  Исследование: людям придется повышать свой интеллект, чтобы их не заменили на роботов

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

Они считаются довольно простыми, поэтому не дают за незначительное время хорошей системы управления, не подходят для анализа сложных систем.

Варианты ускорения обучающего процесса

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

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

Этапы разработки

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

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

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

Совет

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

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

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

Заключение

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

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

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

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

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

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

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

Источник: https://News4Auto.ru/metody-obycheniia-neironnoi-seti/

Частота обучения нейронной сети и обновление пакетного веса

http://francky.me/faqai.php#otherFAQs:

Тема: Какой курс обучения следует использовать для backprop?

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

Если целевая функция квадратично, как и в линейных моделях, хорошие коэффициенты обучения могут быть вычислены из матрицы Гессиана (Bertsekas and Цициклис, 1996).

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

Обратите внимание

Пытаясь обучить NN, используя постоянную скорость обучения, обычно утомительный процесс, требующий большого количества проб и ошибок. Для некоторых примеров того, как выбор скорости обучения и импульс взаимодействуют с численным условием в некоторых очень простых сетях, см. ftp://ftp.sas.com/pub/neural/illcond/illcond.html

При пакетном обучении нет необходимости использовать постоянную скорость обучения.

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

Quickprop и RPROP в разделе “Что такое backprop?” и многочисленные алгоритмы обучения, упомянутые в разделе “Что такое сопряженные градиенты, Levenberg-Marquardt и т.д.?” ).

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

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

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

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

При инкрементальном обучении гораздо сложнее придумать алгоритм, который автоматически корректирует скорость обучения во время обучения. В литературе NN появились различные предложения, но большинство из них не Работа. Проблемы с некоторыми из этих предложений проиллюстрированы Darken and Moody (1992), которые к сожалению, не предлагают решения.

Важно

Некоторые обнадеживающие результаты представлены LeCun, Simard и Pearlmutter (1993), а также Орр и Лин (1997), которые адаптируют импульс, а не скорость обучения.

Существует также вариант стохастической аппроксимации, называемый “итерационным усреднением” или “усреднением Поляка”, (Kushner and Yin 1997), который теоретически обеспечивает оптимальные коэффициенты конвергенции, поддерживая среднее значение веса.

У меня нет личного опыта с этими методами; если у вас есть твердые что эти или другие методы автоматического определения скорости обучения и/или импульса в инкрементное обучение действительно работает в самых разных приложениях NN, пожалуйста, сообщите об этом в FAQ (Saswss@unx.sas.com).

Ссылки:

  • Bertsekas, D. P. and Tsitsiklis, J. N. (1996), Neuro-Dynamic Программирование, Белмонт, Массачусетс: Athena Scientific, ISBN 1-886529-10-8.
  • Darken, C. and Moody, J. (1992), “К более быстрому стохастическому градиенту поиск “, в Moody, J.E., Hanson, S.J. и Lippmann, R.P., eds.
  • Достижения в системах обработки нейронной информации 4, Сан-Матео, Калифорния: Издательство Морган Кауфманн, стр. 1009-1016. Кушнер, Дж. Дж. И Инь, G. (1997), Алгоритмы и приложения стохастической аппроксимации, Нью-Йорк: Springer-Verlag. LeCun, Y., Simard, P.Y. и Pearlmetter, B. (1993), “Автоматическая максимизация скорости обучения путем онлайн-оценки гессианские собственные векторы “, в Hanson, S.J., Cowan, J.D. и Giles,
  • C.L. (ред.), Достижения в системах обработки нейронной информации 5, Сан Матео, Калифорния: Морган Кауфманн, стр. 156-163. Orr, G.B. и Leen, T.K. (1997), “Использование информации кривизны для быстрого стохастического поиска” в
  • Mozer, M.C., Jordan, M.I., and Petsche, T., (eds.) Достижения в нейронном Системы обработки информации 9, Кембридж, Массачусетс: MIT Press, стр. 606-612.

Кредиты

  • Имя архива: ai-faq/neural-nets/part1
  • Last-modified: 2002-05-17
  • URL: ftp://ftp.sas.com/pub/neural/FAQ.html
  • Сопровождающий: saswss@unx.sas.com(Уоррен С. Сарле)
  • Copyright 1997, 1998, 1999, 2000, 2001, 2002 Warren S. Sarle, Cary, NC, USA.

Источник: http://qaru.site/questions/593672/neural-network-learning-rate-and-batch-weight-update

Ссылка на основную публикацию
Adblock
detector