Функция activations.mish
Функция activations.mish применяет к переданному тензору
нелинейную активацию Mish. Эта функция является гладкой
и неограниченной сверху, а также допускает небольшие
отрицательные значения, что помогает градиентам лучше
проходить через сеть. Первым параметром функция принимает
тензор с входными данными, а вторым - необязательное
имя операции.
Активация Mish часто используется в сверточных слоях, в том числе в современных архитектурах для компьютерного зрения, так как она показывает стабильные результаты при обучении глубоких сетей.
Синтаксис
tf.keras.activations.mish(x)
Пример
Давайте применим активацию Mish к тензору из пяти чисел:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5], dtype=tf.float32)
res = tf.keras.activations.mish(t)
print(res)
Результат выполнения кода:
tf.Tensor([0.8650984 1.943959 2.986535 3.9974127 4.9995437], shape=(5,), dtype=float32)
Пример
Давайте применим активацию Mish к двумерному тензору:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
res = tf.keras.activations.mish(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[0.8650984 1.943959 2.986535 ]
[3.9974127 4.9995437 5.999863 ]], shape=(2, 3), dtype=float32)
Пример
Давайте используем активацию Mish внутри слоя Dense:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(3, activation='mish', input_shape=(4,))
])
t = tf.constant([[1, 2, 3, 4]], dtype=tf.float32)
res = model(t)
print(res)
Результат выполнения кода:
tf.Tensor([[0.13975048 0.66955125 0.3962109 ]], shape=(1, 3), dtype=float32)