深度学习基础与分布式表示:原理、实践与应用
1. 深度学习基础:自动编码器与受限玻尔兹曼机
自动编码器在训练数据上经过不同轮次(epoch)的输出会有所不同。从自动编码器对输入进行重构后的结果来看,其输出的清晰度不如某些示例,这主要是由均方误差(MSE)损失函数导致的。因为该函数计算的是平方误差,倾向于将所有值拉向均值,更注重输入的平均值而非特定区域。
受限玻尔兹曼机(RBM)在训练过程中学习无监督特征。学习到这些特征后,我们可以利用它们创建低维的带标签数据集,用于监督分类器。以下是定义 RBM 的代码:
class RBM(nn.Module):
def __init__(self, nvis=3072, nhin=128, k=5):
super(RBM, self).__init__()
self.W = nn.Parameter(torch.randn(nhin, nvis) * 1e-2)
self.vbias = nn.Parameter(torch.zeros(nvis))
self.hbias = nn.Parameter(torch.zeros(nhin))
self.k = k
def sample_from_p(self, p):
return F.relu(torch.sign(p - Variable(torch.rand(p.size()))))
def vtoh(self, v):
ph = F.sigmoid(F.linear(v, self.W,
深度学习与分布式表示应用
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



