博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Deep Learning课程作业中深度网络的习题备忘
阅读量:4078 次
发布时间:2019-05-25

本文共 851 字,大约阅读时间需要 2 分钟。

Deep Learning的在线学习资料一直进展比较慢,开始的时候还可以,只有一层的训练,简单的BP算法求导然后使用L-gfbs就基本可以求出来解了。但是真正到了后面的深度网络的时候才算是真正的是Deep的Learning吧。

1:这节课是使用2层的sparse encoder然后给stacked起来,第二层的sparse encoder的输出直接带入到一个softmax层的输入,然后进行softmax的分类识别。单独的训练每一层的sparse encoder以及单独的softmax这些都是非常简单的,计算active层的值然后直接求partial derivative接着带入工具包直接迭代求解就是了。

2:这里要说的是每一层的weight都求出来了,如何统一进行fine tune(微调)。微调主要是撰写stackedAE的cost 以及求出来gradient,cost就不多说了指的是softmax层的cost。主要说下gradient。在本书中其实是不进行softmax层的weight的更新的,只需要更新其余两层的weight。对最有一层sparse encoder的权重的求偏导书上已经给出就是theta'(I-P)

theta就是softmax层的weight,I首先是一个向量,大小是label的数量,然后如果当前样本x属于第k个label那么I(label,1)=1, 其余都为0。P就是当前样本属于每个theta的概率。

然后倒数第二层的偏导就好求多了,直接根据课本上来就是了,具体的推导也很简单,推导最难的是对最后一层sparse encoder的求导。

3:总结下,主要是2个难点,第一个是cost指的是最后一层的cost,也就是softmax的cost;第二个是求偏导是直接从sparse encoder的最后一层开始,对于softmax的权重是不进行更新的。。

4:可以完全达到书本上的参考值,fine tune之前精度是87%点多,fine tune之后是97%点多

转载地址:http://gbini.baihongyu.com/

你可能感兴趣的文章
Objective-C 基础入门(一)
查看>>
Objective-C 基础入门(三) 读写文件与回调
查看>>
C++ STL标准库与泛型编程(一)概述
查看>>
C++ STL标准库与泛型编程(四)Deque、Queue、Stack 深度探索
查看>>
C++ STL标准库 算法
查看>>
JVM内存模型_Minor GC笔记
查看>>
SpringCloud学习之PassCloud——(一)PassCloud源代码下载
查看>>
Linux下安装Python环境并部署NLP项目
查看>>
Nginx篇-springCloud配置Gateway+Nginx进行反向代理和负载均衡
查看>>
Nginx篇-Nginx配置动静分离
查看>>
缓存篇-Redis缓存失效以及解决方案
查看>>
缓存篇-使用Redis进行分布式锁应用
查看>>
缓存篇-Redisson的使用
查看>>
phpquery抓取网站内容简单介绍
查看>>
找工作准备的方向(4月22日写的)
查看>>
关于fwrite写入文件后打开查看是乱码的问题
查看>>
用结构体指针前必须要用malloc,不然会出现段错误
查看>>
Linux系统中的美
查看>>
一些实战项目(linux应用层编程,多线程编程,网络编程)
查看>>
我觉得专注于去学东西就好了,与世无争。
查看>>