Bog'liq Цэй Ш., Байлесчи С., и др. - JаvaScript для глубокого обучения (Библиотека программиста) - 2021
Глава 3. Вводим нелинейность: теперь не только взвешенные суммы
109 TensorFlow.js (либо на инструментальной панели разработчика в браузере, либо
в стандартном потоке вывода в Node.js). Вот что было сгенерировано для нашей
двухслойной модели:
Layer (type) Output shape Param #
=================================================================
dense_Dense1 (Dense) [null,50] 650
_________________________________________________________________
dense_Dense2 (Dense) [null,1] 51
=================================================================
Total params: 701
Trainable params: 701
Non-trainable params: 0
Основная информация в этой сводке.
z
z
Названия и типы слоев (первый столбец).
z
z
Форма выходного сигнала для каждого слоя (второй столбец). Первое измерение
(измерение батча) в этих формах практически всегда
null
, символизируя тем
самым неопределенный/переменный размер батча.
z
z
Количество весовых параметров для каждого слоя (третий столбец). Здесь указы
вается количество всех отдельных чисел, составляющих весовые коэффициенты
данного слоя. Для слоев с более чем одним весовым коэффициентом оно равно
сумме по всем весам. Например, первый плотный слой в данном примере содер
жит два весовых коэффициента: ядро формы
[12,
50]
и смещение формы
[50]
,
так что в результате получается
12
*
50
+
50
=
650
параметров.
z
z
Общее число весовых параметров модели (внизу сводки), а далее — его распре
деление на обучаемые и необучаемые параметры. Приведенные ранее примеры
включали только обучаемые параметры, относящиеся к обновляемым при вы
зове
tf.Model.fit()
весам модели. Мы обсудим необучаемые веса, когда будем
говорить о переносе обучения и точной подстройке модели в главе 5.
Для чисто линейной модели из главы 2 функция
model.summary()
выводит сле
дующее. По сравнению с линейной моделью, наша двухслойная модель содержит
примерно в 54 раза больше весовых параметров. Большинство дополнительных
весов относится к добавленному нами скрытому слою.
_________________________________________________________________
Layer (type) Output shape Param #
=================================================================
dense_Dense3 (Dense) [null,1] 13
=================================================================
Total params: 13
Trainable params: 13
Non-trainable params: 0
Поскольку двухслойная модель включает больше слоев и весовых параметров,
чем однослойная, ее обучение и вывод на основе обученной модели требуют больше
времени и вычислительных ресурсов. Стоит ли игра свеч? Оправдывает ли повы
шение точности эти дополнительные затраты? Когда мы обучили эту модель на