Вычислительная сложность обучения
Ранее при обсуждении истории нейрокомпьютинга мы ссылались на относительную трудоемкость процесса обучения. Чтобы иметь хотя бы приблизительное представление о связанных с обучением вычислительных затратах, приведем качественную оценку вычислительной сложности алгоритмов обучения.
Пусть как всегда - число синаптических весов сети (weights), а - число обучающих примеров (patterns). Тогда для однократного вычисления градиента функции ошибки требуется порядка операций. Допустим для простоты, что мы достаточно близки к искомому минимуму и можем вблизи этого минимума аппроксимировать функцию ошибки квадратичным выражением . Здесь - матрица вторых производных в точке минимума . Оценив эту матрицу по локальной информации (для чего потребуется операций метода back-propagation), можно попасть из любой точки в минимум за один шаг. На этой стратегии построены методы вторго порядка (метод Ньютона). Альтернативная стратегия - найти требуемые параметров за шагов метода первого порядка, затратив на каждом шаге операций. Именно такую скорость сходимости ( итераций) имеют лучшие алгоритмы первого порядка (например, метод сопряженного градиента). В обоих случаях оптимистическая оценка сложности обучения сети (т.к. она получена для простейшего из всех возможных - квадратичного - рельефа) составляет операций.
Оптимизация размеров сети
В описанных до сих пор методах обучения значения весов подбиралось в сети с заданной топологией связей. А как выбирать саму структуру сети: число слоев и количество нейронов в этих слоях? Решающим, как мы увидим, является выбор соотношения между числом весов и числом примеров. Зададимся поэтому теперь следующим вопросом:
n Как связаны между собой число примеров и число весов в сети ?
Дата добавления: 2015-04-10; просмотров: 887;