Better handling of outliers for numeric extractors
racinmat opened this issue · 1 comments
racinmat commented
Numeric scalar extractor now performs min-max normalization, which is very sensitive to outliers. Large, during schema computation unseen outliers can be transformed to large values, leading to exploding gradient.
We could fix this aby applying following function at the end of scalar numeric extractor:
f(x) = x if x ∈ [0, 1]
f(x) = ln(x) + 1 if x > 1
f(x) = -ln(-x + 1) if x < 0
which lowers the magnitude of large numbers.