Рекомендации по обучению и архитектуре многослойных нейронных сетей
Эффективность обучения многослойных нейронных сетей зависит от числа слоев, числа элементов в скрытых слоях нейронной сети и начальной инициализации весовых коэффициентов. Рассмотрим эти вопросы более подробно. Как отмечалось, разная инициализация весовых коэффициентов нейронной сети может приводить к различным решениям задачи. Важную роль здесь играет величина случайно инициализируемых синаптических связей. Так, для сигмоидной функции активации, если весовые коэффициенты будут иметь большие значения (положительные или отрицательные), то выходная активность нейронов будет близка к единице или нулю и веса будут изменяться незначительно. Это приведет к тому, что процесс обучения остановится в ближайшем локальном минимуме от стартовой точки. Рекомендуется случайно выбирать значения весов по правилу:
или случайно инициализировать их в диапазонах [-0,05; 0,05] или [-0,1; 0,1]. При этом пороговые значения нейронных элементов устанавливаются в начальный момент времени в единичные значения. Большую роль для эффективности обучения играет архитектура НС. Размерность вх. и вых. слоев определяется из условия задачи или обучающей выборки. При помощи трехслойной НС можно аппроксимировать любую функцию с любой заданной точностью. При этом точность аппроксимации возрастает при увеличении числа нейронов в скрытом слое. Однако при слишком большой размерности скрытого слоя может наступить явление, называемое перетренировкой сети.
На первом рисунке показана нейронная сеть с 5-ю скрытыми, а на втором – с 20-ю скрытыми нейронными элементами. Объем обучающей выборки при этом равняется 12. Как следует из рисунков, нейронная сеть с пятью скрытыми нейронами достаточно точно аппроксимирует функцию на тех данных, которым ее не учили (сплошная линия). Нейронная сеть с 20-ю скрытыми нейронами хорошо аппроксимирует функцию только на тренировочных наборах (на рис. они представлены кружками). Отсюда следует, что слишком большое число нейронов в скрытом слое ухудшает их обобщающие способности. Поэтому их число в скрытом слое должно быть меньше числа тренировочных образцов. С другой стороны, при слишком малой размерности скрытого слоя можно попасть в локальный минимум или процесс обучения будет слишком длительным. Здесь необходим разумный компромисс. Для обеспечения требуемой точности и обобщающей способности можно использовать нейронную сеть с двумя скрытыми слоями, размерность которых меньше, чем при использовании трехслойной сети. Однако нейронные сети, которые имеют несколько скрытых слоев, обучаются значительно медленнее. Как отмечалось ранее, одним из недостатков метода градиентного спуска является застревание его в нежелательных локальных минимумах. Для нейтрализации этого недостатка можно использовать метод тяжелого шарика. В этом случае модификация синаптических связей сети происходит в соответствии с выражением где g – величина постоянная, которая называется моментным параметром. Его значение выбирается из диапазона [0, 1], но часто используется g = 0.9. Слагаемое g D wij (t) называется моментным термом. Он позволяет выходить из небольших локальных минимумов. Исходя из приведенных рассуждений, можно сделать следующие выводы: ü нейронная сеть с одним скрытым слоем позволяет осуществить любое отображение входных сигналов в выходные; ü число нейронных элементов в промежуточном слое должно быть меньше числа тренировочных образцов; ü мощность нейронной сети можно увеличивать как за счет числа нейронов в слое, так и за счет числа слоев. Если на нейронную сеть накладываются ограничения п.2 и она не может решить поставленную задачу, то необходимо увеличивать число скрытых слоев нейронной сети; ü случайная инициализация весовых коэффициентов нейронной сети должна проходить в достаточно узком диапазоне значений.
|