Глава 3. Вводим нелинейность: теперь не только взвешенные суммы
117
Рис. 3.4.
Сравнение результатов обучения с
сигма-функцией активации (блок
A) и
без нее (блок
Б). Обратите внимание, что исключение
сигма-функции активации приводит к
б
ольшим итоговым потерям на обучающем, проверочном и
контрольном наборах данных (на уровне,
сравнимом с
ранее обсуждавшейся чисто линейной моделью) и
менее гладким кривым потерь. Обратите также внимание, что масштабы осей
координат в
этих двух графиках различаются
118
Часть II • Введение в TensorFlow.js
Происходит это потому, что скрытый слой состоит из 50 нейронов, в результате
чего размер весов составляет
[18,
50]
. Данное ядро включает 900 отдельных весовых
параметров, в отличие от
12+1
=
13
параметров ядра линейной модели. Можно ли
приписать некий смысл каждому из отдельных весовых параметров? В общем
случае — нет. Дело в том, что ни у одного из 50 выходных сигналов скрытого слоя
не существует четко определенного смысла. Они представляют собой измерения
многомерного пространства, созданного для усвоения (автоматического выявления)
в нем моделью нелинейных связей. Человеческий мозг плохо приспособлен для от
слеживания нелинейных связей в пространствах подобной размерности. В общем
случае весьма непросто описать несколькими словами на доступном непосвящен
ным языке, что делает каждый из нейронов скрытого слоя, или пояснить его вклад
в итоговое предсказание глубокой нейронной сети.
Кроме того, учтите, что в приведенной здесь модели был только один скрытый
слой. В случае нескольких скрытых слоев, как в модели из листинга 3.2, отношения
становятся еще запутаннее, а описать их сложнее. И хотя ведутся исследования по
поиску усовершенствованных способов интерпретации смысла скрытых слоев глу
боких нейронных сетей
1
и для некоторых классов моделей достигнут значительный
прогресс
2
, справедливости ради следует сказать, что интерпретация глубоких ней
ронных сетей — более сложная задача, чем интерпретация неглубоких и некоторых
не относящихся к нейронным сетям типов моделей машинного обучения (например,
деревьев принятия решений). Выбирая глубокую модель, а не неглубокую, мы, по
существу, жертвуем интерпретируемостью в пользу б
ó
льших разрешающих воз
можностей модели.
3.1.2. Гиперпараметры и их оптимизация
При обсуждении скрытых слоев в листингах 3.1 и 3.2 мы говорили в основном о не
линейной функции активации (сигмафункции). Однако для достижения хороших
результатов обучения модели важны и другие параметры конфигурации этого слоя.
В их числе количество нейронов (50) и способ инициализации ядра
'leCunNormal'
.
Последнее представляет собой особый метод генерации случайных чисел для на
чальных значений ядра, в зависимости от размера входного сигнала. Он отличается
от используемого по умолчанию метода инициализации ядра (
'glorotNormal'
), при
котором учитываются размеры как входного, так и выходного сигнала. Возникает
естественный вопрос: почему именно этот пользовательский метод инициализации
ядра, а не используемый по умолчанию? Почему именно 50 нейронов (а не, ска
жем, 30)? Эти варианты конфигурации, обеспечивающие оптимальное или близкое
1
Ribeiro M. T., Singh S., Guestrin
C.
Local Interpretable ModelAgnostic Explanations (LIME):
An Introduction. — O’Reilly, 12 Aug. 2016. http://mng.bz/j5vP.
2
Olah C. et al.
The Building Blocks of Interpretability // Distill, 6 Mar. 2018, https://
distill.pub/2018/buildingblocks/.
Do'stlaringiz bilan baham: |