稀疏自编码重述
From Ufldl
(→Sparse Autoencoder Recap) |
|||
Line 24: | Line 24: | ||
在稀疏自编码中,有三层:输入层,隐含层和输出层。在之前对自编码的定义(在神经网络中),位于神经网络中的每个神经元采用相同激励机制。在这些记录中,我们描述了一个修改版的自编码,其中一些神经元采用另外的激励机制。这产生一个更简易于应用,针对参数变化稳健性更佳的模型。 | 在稀疏自编码中,有三层:输入层,隐含层和输出层。在之前对自编码的定义(在神经网络中),位于神经网络中的每个神经元采用相同激励机制。在这些记录中,我们描述了一个修改版的自编码,其中一些神经元采用另外的激励机制。这产生一个更简易于应用,针对参数变化稳健性更佳的模型。 | ||
- | + | :【一校】: | |
稀疏自编码器包含3层神经元,分别是输入层,隐含层以及输出层。 | 稀疏自编码器包含3层神经元,分别是输入层,隐含层以及输出层。 | ||
Line 30: | Line 30: | ||
在注解中,我们修改了自编码器定义,使得某些神经元采用不同的激励函数。这样得到的模型更容易应用,而且模型对参数的变化也更为鲁棒。 | 在注解中,我们修改了自编码器定义,使得某些神经元采用不同的激励函数。这样得到的模型更容易应用,而且模型对参数的变化也更为鲁棒。 | ||
- | + | :【原文】: | |
Recall that each neuron (in the output layer) computed the following: | Recall that each neuron (in the output layer) computed the following: | ||
Line 43: | Line 43: | ||
where <math>a^{(3)}</math> is the output. In the autoencoder, <math>a^{(3)}</math> is our approximate reconstruction of the input <math>x = a^{(1)}</math>. | where <math>a^{(3)}</math> is the output. In the autoencoder, <math>a^{(3)}</math> is our approximate reconstruction of the input <math>x = a^{(1)}</math>. | ||
- | + | :【初译】: | |
每一个神经元(输出层)计算方式如下: | 每一个神经元(输出层)计算方式如下: | ||
Line 56: | Line 56: | ||
这里 <math>a^{(3)}</math> 是输出. 在自编码中, <math>a^{(3)}</math> 是对输入<math>x = a^{(1)}</math>的近似重建。 | 这里 <math>a^{(3)}</math> 是输出. 在自编码中, <math>a^{(3)}</math> 是对输入<math>x = a^{(1)}</math>的近似重建。 | ||
- | + | :【一校】: | |
回想一下,输出层神经元计算公式如下: | 回想一下,输出层神经元计算公式如下: | ||
Line 69: | Line 69: | ||
其中 <math>a^{(3)}</math> 是输出. 在自编码器中, <math>a^{(3)}</math> 近似重构了输入<math>x = a^{(1)}</math>。 | 其中 <math>a^{(3)}</math> 是输出. 在自编码器中, <math>a^{(3)}</math> 近似重构了输入<math>x = a^{(1)}</math>。 | ||
- | + | :【原文】: | |
Because we used a sigmoid activation function for <math>f(z^{(3)})</math>, we needed to constrain or scale the inputs to be in the range <math>[0,1]</math>, | Because we used a sigmoid activation function for <math>f(z^{(3)})</math>, we needed to constrain or scale the inputs to be in the range <math>[0,1]</math>, | ||
Line 76: | Line 76: | ||
no longer constrained to <math>[0,1]</math> and it's not clear what the best way is to scale the data to ensure it fits into the constrained range. | no longer constrained to <math>[0,1]</math> and it's not clear what the best way is to scale the data to ensure it fits into the constrained range. | ||
- | + | :【初译】: | |
对于 <math>f(z^{(3)})</math>采用一个S型激励函数后,因S型函数输出值域为 <math>[0,1]</math>,需限制输入的范围为 <math>[0,1]</math>。有一些数据组,例如MNIST手写数字库中其输入输出范围符合极佳,但这种情况难以满足。例如,若采用PCA白化,输入将不再限制于 <math>[0,1]</math>,虽可通过缩放数据来确保其符合特定范围内,显然,这不是最好的方式。 | 对于 <math>f(z^{(3)})</math>采用一个S型激励函数后,因S型函数输出值域为 <math>[0,1]</math>,需限制输入的范围为 <math>[0,1]</math>。有一些数据组,例如MNIST手写数字库中其输入输出范围符合极佳,但这种情况难以满足。例如,若采用PCA白化,输入将不再限制于 <math>[0,1]</math>,虽可通过缩放数据来确保其符合特定范围内,显然,这不是最好的方式。 | ||
- | + | :【一校】: | |
S型激励函数输出范围是<math>[0,1]</math>,当<math>f(z^{(3)})</math>采用该激励函数时,就要对输入限制或缩放,使其位于<math>[0,1]</math>范围中。一些数据集,比如MNIST,能方便将输出缩放到[0,1]中,但是很难满足对输入值的要求。比如,PCA白化处理的输入并不满足<math>[0,1]</math>范围要求,也不清楚是否有最好的办法可以将数据缩放到特定范围中。 | S型激励函数输出范围是<math>[0,1]</math>,当<math>f(z^{(3)})</math>采用该激励函数时,就要对输入限制或缩放,使其位于<math>[0,1]</math>范围中。一些数据集,比如MNIST,能方便将输出缩放到[0,1]中,但是很难满足对输入值的要求。比如,PCA白化处理的输入并不满足<math>[0,1]</math>范围要求,也不清楚是否有最好的办法可以将数据缩放到特定范围中。 |