Функция activations.silu
Функция activations.silu применяет к входным данным
активацию Sigmoid Linear Unit, также известную как
Swish. Функция вычисляет значение по формуле
x * sigmoid(x), где sigmoid(x) равно
1 / (1 + exp(-x)). Первым параметром функция
принимает входной тензор или массив чисел.
Активация SiLU часто используется в скрытых слоях
нейронных сетей и показывает хорошие результаты
в глубоких архитектурах.
Синтаксис
tf.keras.activations.silu(x)
Пример
Давайте применим активацию SiLU к тензору
-3, -1, 0, 1, 3:
import tensorflow as tf
t = tf.constant([-3.0, -1.0, 0.0, 1.0, 3.0])
res = tf.keras.activations.silu(t)
print(res)
Результат выполнения кода:
tf.Tensor([-0.14227763 -0.26894143 0. 0.7310586 2.8577223 ], shape=(5,), dtype=float32)
Пример
Давайте применим активацию SiLU к двумерному тензору:
import tensorflow as tf
t = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
res = tf.keras.activations.silu(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[ 0.7310586 1.7615942 2.8577223]
[ 3.928055 4.9665356 5.985164 ]], shape=(2, 3), dtype=float32)
Пример
Давайте используем активацию SiLU внутри слоя
Dense нейронной сети:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(4, activation='silu', input_shape=(3,)),
tf.keras.layers.Dense(1)
])
t = tf.constant([[1.0, 2.0, 3.0]])
res = model(t)
print(res)
Результат выполнения кода:
tf.Tensor([[-0.37779546]], shape=(1, 1), dtype=float32)