到目前为止,我为深度学习学习的所有技术/模型都是从对特征进行某种归一化开始的,例如高斯方法、最小最大缩放、鲁棒缩放、批量归一化、实例归一化。
是否有任何技术可以在没有归一化的情况下运行神经网络,以便网络可以(以绝对值)查看值的大小并根据该值而不是归一化值做出响应?如果我不规范化我的数据,会不会出现梯度爆炸/消失的问题?
例如,如果我正在为多变量时间序列数据训练自定义 LSTM 网络,则特征向量的输入维度是来自的所有值到, 在哪里是时间步数,输出向量是在. 在这种情况下是否需要规范化?
到目前为止,我为深度学习学习的所有技术/模型都是从对特征进行某种归一化开始的,例如高斯方法、最小最大缩放、鲁棒缩放、批量归一化、实例归一化。
是否有任何技术可以在没有归一化的情况下运行神经网络,以便网络可以(以绝对值)查看值的大小并根据该值而不是归一化值做出响应?如果我不规范化我的数据,会不会出现梯度爆炸/消失的问题?
例如,如果我正在为多变量时间序列数据训练自定义 LSTM 网络,则特征向量的输入维度是来自的所有值到, 在哪里是时间步数,输出向量是在. 在这种情况下是否需要规范化?
标准化有助于消除数据变量之间可能存在的比例因子。以预测房价的经典问题为例。如果您以平方毫米为单位表示您家的平方英尺,则此值的较大变化将对房价产生相对较小的影响,这意味着该变量的梯度较小。如果您以平方公里为单位表示该值,那么小的数值变化将对价格产生很大影响,这意味着梯度很大。标准化不一定是必需的,但可以通过使模型中的所有变量具有“同等权重”来帮助平衡问题。如果你在训练数据中同时包含平方毫米和平方千米变量,神经网络可能会花费大量精力优化平方千米变量,因为它在数字上更重要。您仍然可以使用未归一化的数据进行训练,但如果您的重要变量在数值上最小,则可能需要更长时间,并且输出可能会更差。