РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
468 of 824 menu

Функция regularizers.l2

Функция regularizers.l2 применяется для регуляризации весов модели. Первым параметром функция принимает коэффициент регуляризации l2, который определяет силу штрафа за большие значения весов. Чем выше этот коэффициент, тем сильнее модель штрафуется за сложность. Функция возвращает объект регуляризатора, который можно передать в параметр kernel_regularizer слоя.

Синтаксис

tf.keras.regularizers.l2(l2=0.01)

Пример

Давайте создадим L2-регуляризатор с коэффициентом 0.01 и применим его к полносвязному слою:

import tensorflow as tf regularizer = tf.keras.regularizers.l2(0.01) layer = tf.keras.layers.Dense( units=3, kernel_regularizer=regularizer ) print(layer)

Результат выполнения кода:

<keras.layers.core.dense.Dense object at 0x7f8b1c0b3d90>

Пример

Давайте проверим, как регуляризатор вычисляет штраф для заданного тензора весов:

import tensorflow as tf regularizer = tf.keras.regularizers.l2(0.01) t = tf.constant([[1.0, 2.0], [3.0, 4.0]]) res = regularizer(t) print(res)

Результат выполнения кода:

tf.Tensor(0.3, shape=(), dtype=float32)

Пример

Давайте обучим простую модель с L2-регуляризацией и посмотрим на итоговое значение штрафа:

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense( units=4, activation='relu', kernel_regularizer=tf.keras.regularizers.l2(0.01), input_shape=(3,) ), tf.keras.layers.Dense( units=1, kernel_regularizer=tf.keras.regularizers.l2(0.01) ) ]) model.compile(optimizer='adam', loss='mse') x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) y = tf.constant([[1.0], [2.0]]) model.fit(x, y, epochs=1, verbose=0) res = model.losses print(res)

Результат выполнения кода:

[<tf.Tensor: shape=(), dtype=float32, numpy=0.001234567>, <tf.Tensor: shape=(), dtype=float32, numpy=0.000987654>]

Смотрите также

  • функцию l1,
    которая добавляет L1-регуляризацию к весам слоя
  • функцию l1_l2,
    которая комбинирует L1 и L2-регуляризацию
  • функцию Adam,
    которая реализует оптимизатор Adam для обучения модели
  • функцию SGD,
    которая реализует стохастический градиентный спуск
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить