Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БИЛЕТЫ 25-26 уч.г..docx
Скачиваний:
0
Добавлен:
19.06.2026
Размер:
42.25 Mб
Скачать
  • 29. Режимы функционирования нс (многослойного персептрона). Назначение и задачи каждого из режимов. Переход из одного режима в другой на примере пакета нс Wizard.

НС может одновременно находиться только в одном из 3х режимов: (при этом можем попасть из режима редактирования сразу в режим применения и получим результат без обучения, т.к задавали значения min и max)

1) Режим редактирования. Это основной режим, в который сразу попадаем при запуске программы. В этом режиме задаем и редактируем параметры структуры НС. Разделяем данные на входные и эталонные, определяем число скрытых слоев, число нейронов в каждом слое, задаем параметры обучения:

  • Число нейронов в скрытых слоях, во входном слое и в выходном слое производится автоматически на основе поданных векторов.

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

  • % выборки - % от векторов для определения обучающей выборки.

  • скорость обучения (контролирует, насколько сильно будут изменяться веса в зависимости от входного значения. Чем выше, тем быстрее изменения)

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

  • эпохи (количество повторений преобразований над всей выборкой)

2) Режим обучения - подстройка весовых коэффициентов.

Часть данных идет на подстройку весов, часть данных на тестирование.

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

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

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

3 ) Режим применения. В данном режиме пользователь подает входные данные на НС и получает значения на выходе обученной НС. Применение необученной НС – всё равно даёт результат. Режим применения доступен только после ввода входных данных и назначения параметров структуры.

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

Сколько сигмоид в данном примере: 2- 10 - 10 - 1

Ответ: 21, определяется по количеству невырожденных нейронов, при этом в WIZARD управляем сразу всеми сигмоидами.

  • 30. Обучения нс на основе дельта-правила: назначение, область применения, алгоритм, расчетные соотношения, пример однократного расчета данных по алгоритму.

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

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

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

Д ельта-правило применяется:

1. Как единственный алгоритм в сетях прямого распространения (СПР) без скрытых слоев

2 . Для СПР со скрытыми слоями для подстройки весовых коэффициентов выходного слоя, имеющих связи

3. Как фрагмент алгоритма обучения для нейронов скрытых слоев СПР

@ подстройка весовых коэффициентов на основе дельта-правила

Алгоритм обучения по Δ-правилу + пример:

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

Результат не подается на вход.

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

– задается случайным образом

Для простаты расчётов считаем функцию активации линейной, либо отбрасываем. Скорость обучения = 0.1

3. На вход подаются значения первой обучающей пары и объединяются через сумматор.

Если применяем функцию активации со сдвигом, то будет формула: y=(w1⋅S1+ w2⋅S2) – θ

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

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

5. Рассчитываем (res – эталон)

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

6. Подстраиваем значение весовых коэффициентов (определяем довесок)

7. Определяем значения новых весов для следующей эпохи

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

Также обновляем пороговое значение, если оно имеется: θ(n+1)(n)+η⋅Δ1

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

Прошли все обучающие пары - закончилась эпоха.

Число подстроек на эпохе = количеству обучающих пар, направленных на подстройку весовых коэффициентов. Тестирующие пары в подстройке не участвуют, а Δ для них рассчитывается.

В конце каждой эпохи рассчитывается:

  • max значение ошибки для обучающих пар,

  • среднее значение ошибки для обучающих пар,

  • max значение ошибки для тестирующих пар,

  • среднее значение ошибки для тестирующих пар.

Обработка происходит по эпохам:

  • уменьшение ошибки

  • быстрое обучение

  • «Остановка» обучения

31. Обучения НС на основе алгоритма обратного распространения ошибки: назначение, область применения, отличия от алгоритма обучения на основе дельта-правила.

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

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

Использует для расчета Δ на скрытых слоях и дальнейшего применения Δ-правила для скрытых слоев.

Область применения

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

- Распознавание образов (речи и изображений),

- Прогнозирование временных рядов,

- Управление, обработка сигналов и фильтрация данных.

Отличие от алгоритма обучения на основе Δ-правила

Δ-правило используется для однослойных НС и корректирует веса только на основе ошибки выходного слоя.

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

Базируется на:

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

Если выходное значение не совпадает с эталоном, возможны погрешности:

  1. П огрешности в выходных коэффициентах максимального выходного слоя (для решения используем дельта-правило)

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

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

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

  1. Случайным образом задаём начальные весовые коэффициенты всех связей нейронной сети.

  2. Вычисляем суммарный входной сигнал для каждого нейрона скрытого слоя.

  3. Вычисляем выходы нейронов скрытого слоя через функцию активации.

  4. В ычисляем суммарный входной сигнал выходного нейрона.

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

  6. Вычисляем ошибку сети как разность эталона и выхода.

  7. Вычисляем локальную ошибку выходного нейрона.

  8. Вычисляем довески весов выходного слоя и обновляем веса скрытый→выходной.

  9. Вычисляем локальные ошибки нейронов скрытого слоя по алгоритму обратного распространения.

  10. Вычисляем довески весов скрытого слоя.

  11. Обновляем веса связей входной слой→скрытый слой.

  • 32. Формирование исходных данных для обучения, тестирования и применения НС (многослойного персептрона) в задачах интерполяции. Понятия обучающая пара, эпоха. Требования к исходным данным. Цель разделения исходных данных НС на данные для тестирования и данные для подстройки весовых коэффициентов. Примеры.

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

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

Обучающая пара - вектора входных данных и эталона.

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

Требования к исходным данным

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

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

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

Пусть есть функция y=sin(x), значения которой известны только для нескольких точек в диапазоне [0,π]. Наша цель — обучить НС, которая сможет интерполировать значения sin(x) для всех x в этом интервале.

Формирование исходных данных

  1. Сбор данных: соберем данные о значениях функции. Пусть есть таблица, содержащая столбцы "Х" и "y=sin(x)".

  2. Предварительная обработка данных:

Приводим значения x в диапазон [0,1], разделив их на π: xнорм=x/π

Значения y нормализуем в диапазон [0,1].

  1. Формирование обучающих пар:

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

Разделение данных на наборы

  1. Обучающий набор - используем первые 80% данных для обучения модели.

  2. Тестовый набор - 20% данных. Этот набор не участвует в обучении и служит для независимой оценки производительности модели.

Пусть у нас есть 30 точек, равномерно распределенный на интервале [0,π] :

  • Первые 24 наблюдений (80%) идут в обучающий набор.

  • Последние 6 наблюдения (20%) — в тестовый набор.

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

Примеры когда не делим: распознавание лиц сотрудников, формирование расписания обучения.

  • 33. Управление обучением НС в пакете Wizard. Классификация процессов. Действия над входным сигналом при прохождении по структуре НС. Процесс переобучения, критерий его

    Н а данном этапе пользователь контролирует процедуры обучения при помощи изменения параметров обучения:

• Устойчивое обучение – средняя скорость обучения и убывания ошибки (последняя цифра ошибки бежит).

• Быстрое обучение – бежит 2-3 цифры в ошибке. Мб плохо, потому что проскочили нужное значение.

• Режим колебаний (асцеляция) – быстрое изменение ошибки, нет чёткой тенденции в изменении положения на сигмоиды (необходимо уменьшить скорость и чуток изменить сигмоиду, буквально на тысячную)

• Режим остановки обучения (обучается так, что мы не видим уменьшения ошибки: эпохи бегут, ошибки стоят)

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

Действия над входным сигналом: показать изменение процесса изменения сигнала на каждом этапе прохождение НС и нейрона (выход, коэф, сумматор, функция активации)

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

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

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

Решение: увеличение обучающих пар, уменьшение скрытых слоев или нейронов.

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

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

Малая ошибка на обучающих данных, но на тестовых большая.

Режим применения:

Ввод данных - получаем значение с погрешностью

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

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

Обработка графики в НС требует ее представления в числовом виде, т.к необходимо выполнить арифметические действия (+,-,*,/) и вычислить функциональные зависимости.

При распознавании образов возможно:

  • образ подается целиком

  • образ подается фрагментарно

  • подавать отдельные отклонения от нормы для образа

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

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

ПРИМЕР: Формирование исходных данных для распознавания цифр:

1. определяем размеры образа: - равные, неравные

выбираем равные, тк проще реализовать = 2000 на 3000

2. выделяем область образа = 1000 на 2000

3 . Определяем минимальную размерность, обеспечивающую индивидуальность образа:

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

Как итог, чтобы обеспечить индивидуальность образа необходима сетка размерностью 3 на 5.

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

Варианты представления входных данных: (пусть у нас сетка 3*5 и вх. данные для числа 6)

Если пиксели автономны:

  • каждое число на отдельный нейрон

1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 - 15 входных нейронов (15 чисел)

  • группировка по несколько чисел на нейрон

111 100 111 101 111 - 5 входных нейронов (группировка по 3)

11110 01111 01111 - 3 входных нейронов (группировка по 5)

  • все числа на 1 нейрон

111100111101111 - 1 входной нейрон

Если пиксели взаимосвязаны:

  • сумма по строкам

3 1 3 2 3 - 5 нейронов

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

  • сумма по столбцам (тоже может потребоваться трафарет)

5 3 4 - 3 нейрона

  • сумма по строкам и по столбцов

3 1 3 2 3 5 3 4 - 8 нейронов

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

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

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

Варианты представления выходных данных:

  • от 0 до 9 (1 выход)

в режиме применения если поступают входные данные с помехами, то будет искажение распознавания (из-за отсутствия избыточности / из-за формы выходного сигнала)

  • 0-1 (10 выходов) - модель светофор.

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

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

При распознавании образов возможно:

- образ передается целиком,

- образ передается фрагментарно

Соседние файлы в предмете Теория обработки информации