Этапы жизненного цикла нейронной сети

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

1. Постановка задачи и выбор архитектуры нейронной сети

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

2. Определение количественного и качественного составов входов и выходов

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

3. Формирование исходной выборки данных

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

4. Предварительная обработка и нормализация исходной выборки

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

5. Разделение исходной выборки на обучающую и тестовую составляющие

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

6. Определение структуры нейронной сети

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

7. Настройка параметров нейронной сети и алгоритма ее обучения

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

8. Обучение нейронной сети

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

9. Контрастирование нейронной сети

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

10. Тестирование нейронной сети

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

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

11. Практическое использование

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

12. Дообучение нейронной сети

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

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