锅炉加磷酸三钠的作用是什么 磷酸三钠msds
2023-08-11
很多朋友对grad-cam用tensorflow实现,稀疏自编码器及TensorFlow实现详解不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。
顾名思义,自动编码器可以用自己的高阶特征对自己进行编码。自编码器其实是一种神经网络,输入和输入维数是一样的。利用稀疏编码的思想,目标是利用一些稀疏的高阶特征进行重组来重构我们自己。
早年在稀疏编码的研究中,通过对从大量黑白风景照片中提取的16*16的图像片段进行分析,发现几乎所有的图像片段都可以由64条正交的边组合而成,而组合一个图像片段所需的边数很少,即稀疏。声音也是如此。大量未标记音频中有20种基本结构,大部分声音可以通过这些基本结构的线性组合获得。
这就是特征的稀疏表达,更高层次的抽象特征是由少数几个基本特征组合组装而成的。
稀疏性是当今机器学习领域的一个重要课题。
稀疏性最重要的“客户”可能是高维数据。在今天的机器学习问题中,非常高维的数据随处可见。例如,在文档或图片分类中常用的词袋模型中,如果字典的大小是一百万,那么每个文档将由一百万维的向量表示。高维带来的一个问题就是计算量:在一个百万维的空间里,即使是计算向量内积的基本运算也会非常费力。
但是,如果向量是稀疏的(实际上,在单词袋模型中文档向量通常是非常稀疏的),例如两个向量分别只有L1和L2非零元素,那么内积的计算只需要使用min(L1,L2)乘法就可以完成。因此,稀疏性对于解决高维数据的计算问题是非常有效的。
稀疏自编码器和张量流实现的详细说明
在稀疏自编码器(也称为稀疏自动编码器)中,稀疏惩罚被添加到重建误差中,以限制不是隐藏层中的所有单元在任何时候都被激活。如果m是输入模式的总数,可以定义一个参数_hat来表示每个隐层单元的行为(平均激活多少次)。基本思想是使约束值_hat等于稀疏参数。在具体实现中,在原损失函数中加入代表稀疏度的正则项,损失函数如下:
如果_hat偏离,那么正则项将惩罚网络。传统的实现方法是测量和_hat之间的Kullback-Leiber(KL)散度。在准备工作开始之前,我们先来看一下KL散度DKL的概念,它是一种非对称的度量,用来度量两个分布之间的差异。在本节中,两个分布是和_hat。当和_hat相等时,KL散度为零,否则会随着两者之差的增大而单调增大。KL散度的数学表达式如下:
下面是=0.3时KL散度DKL的变化图。从图中可以看出,_hat=0.3时DKL=0;在0.3的两边会单调增加:导入必要的模块:从TensorFlow加载MNIST数据集示例:定义SparseAutoEncoder类,除了引入KL散度损失外与前面的自动编码机类非常相似:在损失函数中加入KL约束,如下图:其中alpha为稀疏约束的权重。这个类的完整代码如下:
声明一个SparseAutoEncoder类的对象,调用fit()训练,然后计算重建图像:用网络学习重建损耗均方误差变化图:查看重建图像:结果如下:解读与分析。
必须注意的是,稀疏自编码器的主要代码和标准自动编码器完全一样,只有一个主要变化,——,增加了KL发散损失,以保证隐藏(瓶颈)层的稀疏性。如果我们比较两种方法的重建结果,我们可以看到,即使隐藏层中的单元数量相同,稀疏自动编码器也比标准自动编码器好得多:
在MNIST数据集上,标准自动编码器训练后的重构损失为0.022,而稀疏自编码器的重构损失为0.006,这表明稀疏自编码器更好地学习了数据的内在表示。
以上知识分享希望能够帮助到大家!
版权声明:本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们
推荐阅读
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
2023-08-11
栏目热点
锅炉加磷酸三钠的作用是什么 磷酸三钠msds
LilyGoT手表键盘C3迷你电脑套件
索泰ZBOXEdgeCI342迷你电脑正式上市
谷歌在最新的视频预告片中展示了PixelWatch的独特设计
三星与设计师Juun.J合作推出限量版可折叠产品和配件
从2023年起Fitbit设备将需要Google帐户
TOKKCAMC2+智能WiFi独立日 夜视摄像头
三星正在与全球时尚品牌JUUN.J合作
OnePlusNordWatch的颜色选项通过泄露的渲染揭示
就在第一款Nothing手机发布之前一种新的TWS芽设计浮出水面