自编码算法与稀疏性

From Ufldl

Jump to: navigation, search
Line 83: Line 83:
【初译】
【初译】
-
我们刚才的论述需要基于隐藏神经元数量较小的假设,但是即使隐藏神经元的数量较大(可能比输入像素的个数还要多),我们仍然通过给自编码神经网络施加一些其他的限制条件来发现输入数据中的结构。具体来说,如果我们给隐藏神经元加入'''稀疏性'''限制,那么自编码神经网络即使在隐藏神经元数量较多的情况下仍然可以发现输入数据中一些有趣的结构。稀疏性可以被简单地解释如下。如果当神经元的输出接近于1的时候我们认为它被激活,而输出接近于0的时候认为它被抑制,那么使得神经元大部分的时间都是被抑制的限制则被称作稀疏性限制。这里我们假设神经元的激活函数是sigmoid函数。如果你使用tanh作为激活函数,那么当输出为-1的时候,我们认为神经元是被抑制的。
+
我们刚才的论述需要基于隐藏神经元数量较小的假设,但是即使隐藏神经元的数量较大(可能比输入像素的个数还要多),我们仍然通过给自编码神经网络施加一些其他的限制条件来发现输入数据中的结构。具体来说,如果我们给隐藏神经元加入'''稀疏性'''限制,那么自编码神经网络即使在隐藏神经元数量较多的情况下仍然可以发现输入数据中一些有趣的结构。
 +
 
 +
稀疏性可以被简单地解释如下。如果当神经元的输出接近于1的时候我们认为它被激活,而输出接近于0的时候认为它被抑制,那么使得神经元大部分的时间都是被抑制的限制则被称作稀疏性限制。这里我们假设神经元的激活函数是sigmoid函数。如果你使用tanh作为激活函数,那么当输出为-1的时候,我们认为神经元是被抑制的。
【一审】
【一审】
 +
 +
以上我们所讨论的都有基于隐藏层单元数量是很小的情况。但是即使隐藏层单元数量很大(甚至可能比输入像素的数量还大),只要给这个神经网络加入其他限制条件,我们还是可以发现某种有意思的相关结构。打个比方,如果我们给隐藏层单元加上“稀疏性”限制,那么即使隐藏层单元数量很大,自编码算法仍然可以在输入数据中找到这种有意思的结构。
 +
 +
如果某个神经元的输出值接近于1,我们就给此神经元一个非专业的说法“活性”(或“易燃”),而如果输出值接近于0,就称之为“惰性”。大多数情况下,我们都想把这些神经元限制为惰性。这里我们假设激活函数是sigmoid函数。如果你使用tanh激活函数,那么当一个神经元的输出值接近于-1时,它才是惰性的。
【二审】
【二审】
 +
 +
我们刚才的论述是基于隐藏神经元数量较小的假设。但是即使隐藏神经元的数量较大(可能比输入像素的个数还要多),我们仍然通过给自编码神经网络施加一些其他的限制条件来发现输入数据中的结构。具体来说,如果我们给隐藏神经元加入稀疏性限制,那么自编码神经网络即使在隐藏神经元数量较多的情况下仍然可以发现输入数据中一些有趣的结构。
 +
 +
稀疏性可以被简单地解释如下。如果当神经元的输出接近于1的时候我们认为它被激活,而输出接近于0的时候认为它被抑制,那么使得神经元大部分的时间都是被抑制的限制则被称作稀疏性限制。这里我们假设的神经元的激活函数是sigmoid函数。如果你使用tanh作为激活函数的话,当神经元输出为-1的时候,我们认为神经元是被抑制的。

Revision as of 12:10, 12 March 2013

Personal tools