Ошибка, связанная со сложностью модели
Описание сети сводится, в основном, к передаче значений ее весов. При заданной точности такое описание потребует порядка
-logP(iV)~W
бит. Следовательно удельную ошибку на один пример, связанную со сложностью модели, можно оценить следующим образом:
complex ~ Wl Р .
Она, как мы видим, монотонно спадает с ростом числа примеров.
Действительно, для однозначного определения подгоночных параметров (весов сети) по Р заданным примерам необходимо, чтобы система Р уравнений была переопределена, т.е. число параметров W было больше числа уравнений. Чем больше степень переопределенности, тем меньше результат обучения зависит от конкретного выбора подмножества обучающих примеров. Определенная выше составляющая ошибки обобщения, как раз и связана с вариациями решения, обусловленными конечностью числа примеров.
Оптимизация размера сети
Итак, мы оценили обе составляющих ошибки обобщения сети. Важно, что эти составляющие по-разному зависят от размера сети (числа весов), что предполагает возможность выбора оптимального размера, минимизирующего общую ошибку:
dlW + WlP > 4dlP.
Минимум ошибки (знак равенства) достигается при оптимальном числе весов в сети соответствующих числу нейронов в скрытом слое равному по порядку величины:
Поэтому эту часть ошибки называют в литературе variance, тогда как часть, связанную с точностью аппроксимации -bias. Оптимизация же зтих двух составляющих известна как bias-variance dilemma.
В ЭТОЙ СВЯЗИ вспомним изложенный в начале этой главы принцип минимальной длины описания. Согласно этому общему принципу, ошибка предсказаний сети на новых данных определяется общей длиной описания данных с помощью модели вместе с описанием самой модели:
= описание ошибки + описание модели
Первый член этого выражения отвечает наблюдаемой ошибке обучения. Мы оценили его выше. Теперь обратимся к оценке второго члена, регуляризирующего обучение.
Ранее, когда речь шла о мозге как управляющем устройстве, мы оценивали его производительность по числу переключений нейронов. Поскольку здесь речь идет об обучении, т.е. об изменениях в синапсах, производительность оценивается по числу срабатываний синапсов.
Этот результат можно теперь использовать для получения окончательной оценки сложности обучения (С - от английского complexity)
С ~ PW ~ dP
Отсюда можно сделать следующий практический вывод: нейрозмуляторам с
производительностью современных персональных компьютеров (-10 операций в секунду)
вполне доступны анализ баз данных с числом примеров Р - Ю"* и размерностью входов
с/~10ч-10 Типичное время обучения при этом составит г~10ч-10 секунд, т.е. от
десятков минут до несколько часов. Поскольку производственный цикл нейроанализа предполагает обучение нескольких, иногда - многих сетей, такой размер баз данных, представляется предельным для нейротехнологии на персональных компьютерах. Эти оценки поясняют также относительно позднее появление нейрокомпьютинга: для решения практически интересных задач требуется производительность суперкомпьютеров 70-х годов.
Согласно полученным выше оценкам ошибка классификации на таком классе задач порядка 10%. Это, конечно, не означает, что с такой точностью можно предсказывать что угодно. Многие относительно простые задачи классификации решаются с большей точностью, поскольку их эффективная размерность гораздо меньше, чем число входных переменных. Напротив, для рыночных котировок достижение соотношения правильных и неправильных предсказаний 65:35 уже можно считать удачей. Действительно, приведенные выше оценки предполагали отсутствие случайного шума в примерах. Шумовая составляющая ошибки предсказаний должна быть добавлена к полученной выше оценке. Для сильно зашумленных рыночных временных рядов именно она определяет предельную точность предсказаний. Подробнее эти вопросы будут освещены в отдельной главе, посвященной предсказанию зашумленных временных рядов.
Другой вывод из вышеприведенных качественных оценок - обязательность этапа предобработки вьюокоразмерных данных. Невозможно классифицировать непосредственно
картинки с размерностью с/- 10. Из оценки точности классификации следует, что это потребует числа обучающих примеров по крайней мере такого же порядка, т.е. сложность
обучения будет порядка С~с/~10. Современным нейрокомпьютерам с
производительностью 10** операций в секунду потребовалось бы несколько лет обучения распознаванию таких образов. Зрительная система человека, составляющая несколько
процентов коры головного мозга, т.е. обладающая производительностью ~10"- способна
обучаться распознаванию таких образов за несколько часов. В действительности, зрительный
нерв содержит как раз около 10 нервных волокон. Напомним, однако, что в сетчатке глаза
содержится порядка 10 клеток-рецепторов. Таким образом, уже в самом глазе происходит существенный этап предобработки исходного сигнала, и в мозг поступает уже такая информация, которую он способен усвоить. (Непосредственное распознавание образов с
с/ ~ 10 потребовало бы обучения на протяжении т ~ Ю*"" = Ю" секунд, т.е. около 300 лет.)
Дцаптивная оптимизации архитектуры сети
Итак, мы выяснили, что существует оптимальная сложность сети, зависящая от количества примеров, и даже получили оценку размеров скрытого слоя для двухслойных сетей. Однако в общем случае следует опираться не на грубые оценки, а на более надежные механизмы адаптации сложности нейросетевых моделей к данным для каждой конкретной задачи.
Для борьбы с переобучением в нейрокомпьютинге используются три основных подхода:
Ранняя остановка обучения
Прореживание связей (метод от большого - к малому)
Поэтапное наращивание сети (от малого - к большому)
Валидация обучения
Прежде всего, для любого из перечисленных методов необходимо определить критерий оптимальной сложности сети - эмпирический метод оценки ошибки обобщения. Поскольку ошибка обобщения определена для данных, которые не входят в обучающее множество, очевидным решением проблемы служит разделение всех имеющихся в нашем распоряжении данных на два множества: обучающее - на котором подбираются конкретные значения весов, и валидационного - на котором оценивается предсказательные способности сети и выбирается оптимальная сложность модели. На самом деле, должно быть еще и третье - тестовое множество, которое вообще не влияет на обучение и используется лишь для оценки предсказательных возможностей уже обученной сети.
Рисунок 7. Обучающее (темные точки) и валидационные (светлые точки) множества примеров
Ранняя остановка обучения
Обучение сетей обычно начинается с малых случайных значений весов. Пока значения весов малы по сравнением с характерным масштабом нелинейной функции активации (обычно принимаемом равным единице), вся сеть представляет из себя суперпозицию линейных
Методы предобработки сигналов и формирования относительно малоразмерного пространства признаков являются важнейшей составляющей нейроанализа и будут подробно рассмотрены далее в отдельной главе.