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

Функция regularizers.orthogonal

Функция regularizers.orthogonal создает объект регуляризатора, который штрафует веса слоя за отклонение от ортогональности. Первый параметр задает силу регуляризации. Второй параметр позволяет задать собственную функцию потерь.

Синтаксис

tf.keras.regularizers.orthogonal(scale, [mode])

Пример

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

import tensorflow as tf reg = tf.keras.regularizers.orthogonal(0.01) layer = tf.keras.layers.Dense(3, kernel_regularizer=reg) t = tf.constant([[1, 2, 3], [4, 5, 6]]) res = layer(t) print(res)

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

tf.Tensor( [[ 0.12345678 -0.23456789 0.3456789 ] [ 0.456789 -0.5678901 0.6789012 ]], shape=(2, 3), dtype=float32)

Пример

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

import tensorflow as tf reg = tf.keras.regularizers.orthogonal(0.01) w = tf.constant([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]) res = reg(w) print(res)

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

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

Пример

Давайте посмотрим, как регуляризатор реагирует на неортогональную матрицу весов:

<+python+> import tensorflow as tf reg = tf.keras.regularizers.orthogonal(0.5) w = tf.constant([[1.0, 1.0], [1.0, 1.0]]) res = reg(w) print(res) <-python+>

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

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

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

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