Вопрос или проблема
Я тренирую нейронную сеть и хотел построить график изменения различных метрик (MSE…) в процессе обучения. Чтобы получить представление о вариациях между разными обучениями, я использую несколько моделей и строю среднее значение и стандартное отклонение. Моя проблема следующая: мне не удается найти хороший способ построения этого графика, и также я не нашел никаких хороших объяснений в интернете.
Обозначим y как метрику, которую нужно отобразить, а x — как количество эпох. На графиках ниже одно стандартное отклонение обозначено затемненной областью.
Вот что я пробовал и почему, по моему мнению, это не работает:
-
Линейная шкала не подходит, потому что метрика охватывает разные порядки величины. В частности, ранние значения значительно больше поздних. Одним из возможных решений могло бы быть начало кривой с эпохи 5, например, чтобы убрать ранние большие значения, но я предпочел бы отобразить все.
-
Логарифмическая шкала кажется гораздо более естественной с учетом предыдущего пункта, однако вариации могут быть значительными, сопоставимыми по масштабу со средним значением. Поскольку расстояние между двумя делениями геометрически распределено, одно стандартное отклонение ниже кривой выглядит гораздо больше, чем выше. Это приводит к образованию больших пиков на графике или даже полностью заполняет область ниже кривой.
- Я попытался отобразить относительное стандартное отклонение вместо этого (пересчитанное по $\log_{10} \mathrm e$). Это соответствующее стандартное отклонение для переменной $z = \ln y$. Однако я не хочу строить z, а действительно y в логарифмической шкале. Тем не менее, я подумал, что нормально отображать относительное стандартное отклонение, если оно выглядит лучше. Но я не уверен, действительно ли это интуитивно понятно. Еще одна проблема в том, что стандартное отклонение оказалось очень большим для малых значений (поскольку мы делим на число < 0).
- Наконец, я пытался использовать симметричную логарифмическую шкалу, но не уверен, является ли это хорошим решением: если линейный порог велик, то, по моему мнению, это затрудняет интерпретацию графика. Если он мал, мы получаем те же проблемы, что и при логарифмической шкале. Ниже приведен график для порога 0.01.
Вывод: как будет лучше всего отобразить стандартное отклонение в логарифмической шкале?
Один из вариантов — построить график для меньшего количества эпох. В нем нет полезной информации после 20 эпох, потому что производительность обучения и валидации одинаковая после этой точки.
Ответ или решение
Показ стандартного отклонения на кривой обучения нейронной сети представляет собой важный аспект визуализации, который помогает исследователям и практикам лучше понять стабильность обучения и разброс результатов. Ниже приведены рекомендации по улучшению визуализации и интерпретации стандартного отклонения при отображении метрик, таких как среднеквадратичная ошибка (MSE), в процессе обучения.
1. Построение графиков на линейной шкале
Линейная шкала может быть неэффективной, особенно если значения метрик существенно изменяются в процессе обучения. Сочетание больших начальных значений и меньших значений в более поздних эпохах может привести к искажению визуализации. Тем не менее, использование линейной шкалы для ранних эпох также может быть оправдано, если вы хотите указать на необходимость стабилизации. Например, можно использовать усеченный график, начиная с определенной эпохи, чтобы минимизировать влияние аномально высоких значений.
2. Логарифмическая шкала
Логарифмическая шкала позволяет эффектно визуализировать данные, которые охватывают несколько порядков величины. Проблема с логарифмической шкалой заключается в том, что стандартное отклонение может выглядеть непропорционально большим или маленьким в зависимости от значений метрики. Это делает интерпретацию сложной. Для более корректного отображения убедитесь, что стандартное отклонение визуализируется в относительном масштабе, что поможет нивелировать влияние экстремальных значений.
3. Относительное стандартное отклонение
Отображение относительного стандартного отклонения, как вы уже пробовали, может быть методом, который стоит рассмотреть глубже. Это позволяет увидеть, насколько метрика варьируется в процентном выражении в зависимости от её величины. Важно помнить, что относительное стандартное отклонение может привести к искажениям на малых значениях, где стандартное отклонение может выглядеть чересчур большим. Для решения этого можно использовать обрезку значений, что позволит избежать значительных колебаний, но при этом важно объяснить данную методологию в интерпретации графика.
4. Симметричная логарифмическая шкала (Symlog)
Симметричная логарифмическая шкала представляет собой компромисс между линейным и логарифмическим масштабом. Она полезна для уменьшения воздействия экстремальных значений, однако выбор порога может повлиять на четкость интерпретации. Лучше всего протестировать различные пороги и визуализировать результаты с несколькими значениями, чтобы выбрать оптимальный.
Рекомендации по визуализации
-
Сочетание графиков: Рассмотрите возможность отображения нескольких графиков. Один может показывать значения метрики, а второй — стандартное отклонение. Это поможет избежать наложения данных и позволяет легче интерпретировать результаты.
-
Анимация или интерактивные графики: Попробуйте интегрировать анимацию или интерактивные элементы, позволяющие пользователю просматривать различные эпохи и соответствующие значения метрик и стандартного отклонения.
-
Описание и обозначения: Все графики должны содержать детальные легенды и описания, чтобы зритель мог легко понимать, что каждая из кривых обозначает. Это особенно важно при использовании комплексных шкал.
-
Анализ данных: Перед окончательной визуализацией проанализируйте данные для выявления тенденций, которые могут быть недоступны при простом визуальном представлении.
Заключение
Построение кривой обучения с включением стандартного отклонения — это сложная задача, требующая понимания механики представления данных. Применяя предложенные рекомендации, вы сможете создать более ясную и интуитивно понятную визуализацию, которая будет служить ценным инструментом для анализа обучения модели.