np.maximum(X, 0) β ΡΡΠΎ Π²Π΅ΠΊΡΠΎΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° X Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ 0.
Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ:
result[i] = max(X[i], 0)
ΠΡΠΈΠΌΠ΅Ρ:
import numpy as np
X = np.array([[ 1, -2, 3],
[-4, 5, -6]])
Y = np.maximum(X, 0)
print(Y)Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[[1 0 3]
[0 5 0]]
Π§ΡΠΎ Π²Π°ΠΆΠ½ΠΎ:
β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π΅Π· ΡΠΈΠΊΠ»ΠΎΠ², ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²Π΅ΠΊΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ
β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ broadcasting (Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β ΡΠΊΠ°Π»ΡΡ)
β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
β ΠΏΠΎ ΡΠΌΡΡΠ»Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ X[X < 0] = 0, Π½ΠΎ Π±Π΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΠΎΠΊ
Π’ΠΈΠΏΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅:
β ΠΎΠ±ΡΠ΅Π·ΠΊΠ° ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (clipping ΡΠ½ΠΈΠ·Ρ)
β ReLU Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ
β ΠΎΡΠΈΡΡΠΊΠ° ΡΡΠΌΠΎΠ² ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ²
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π±ΡΠ»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡΠΊΠΎΠΉ:
Y = np.maximum(X, 0)vs
Y = X.copy()
Y[Y < 0] = 0np.maximum:
β ΠΊΠΎΡΠΎΡΠ΅
β ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅
β Π²ΡΡΠ°ΠΆΠ°Π΅Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎ
ΠΠΎΡΠΎΡΠΊΠΎ:
np.maximum(X, 0) β ΡΡΠΎ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π° Π½ΡΠ»ΠΈ Π±Π΅Π· ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ ΡΠ²Π½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ.