TensorFlow 深度学习笔记 从线性分类器到深度神经网络
转载请注明作者:梦里风林
Github工程地址:https://github.com/ahangchen/GDLnotes
欢迎star,有问题可以到Issue区讨论
官方教程地址
视频/字幕下载
Limit of Linear Model
- 实际要调整的参数很多
如果有N个Class,K个Label,需要调整的参数就有(N+1)K个
Linear Model不能应对非线性的问题
- Linear Model的好处
- GPU就是设计用于大矩阵相乘的,因此它们用来计算Linear Model非常efficient
- Stable:input的微小改变不会很大地影响output
- 求导方便:线性求导是常数
- 我们希望参数函数是线性的,但整个model是非线性的
- 所以需要对各个线性模型做非线性组合
- 最简单的非线性组合:分段线性函数(RELU)
Neural network
- 用一个RELU作为中介,一个Linear Model的输出作为其输入,其输出作为另一个Linear Model的输入,使其能够解决非线性问题
- 神经网络并不一定要完全像神经元那样工作
- Chain Rule:复合函数求导规律
- Lots of data reuse and easy to implement(a simple data pipeline)
- Back propagation
- 计算train_loss时,数据正向流入,计算梯度时,逆向计算
- 计算梯度需要的内存和计算时间是计算train_loss的两倍
Deep Neural Network
Current two layer neural network:
优化:
- 优化RELU(隐藏层), wider
增加linear层,layer deeper
- Performance: few parameters by deeper
- 随层级变高,获得的信息越综合,越符合目标
About t-model
- t-model只有在有大量数据时有效
- 今天我们才有高效的大数据训练方法:Better Regularization
- 难以决定适应问题的神经网络的规模,因此通常选择更大的规模,并防止过拟合
Avoid Overfit
Early Termination
- 当训练结果与验证集符合度下降时,就停止训练
Regulation
- 给神经网络里加一些常量,做一些限制,减少自由的参数
- L2 regularization
在计算train loss时,增加一个l2 norm作为新的损失,这里需要乘一个β(Hyper parameter),调整这个新的项的值
Hyper parameter:拍脑袋参数→_→
l2模的导数容易计算,即W本身
DropOut
最近才出现,效果极其好
- 从一个layer到另一个layer的value被称为activation
- 将一个layer到另一个layer的value的中,随机地取一半的数据变为0,这其实是将一半的数据直接丢掉
- 由于数据缺失,所以就强迫了神经网络学习redundant的知识,以作为损失部分的补充
- 由于神经网络中总有其他部分作为损失部分的补充,所以最后的结果还是OK的
- More robust and prevent overfit
如果这种方法不能生效,那可能就要使用更大的神经网络了
- 评估神经网络时,就不需要DropOut,因为需要确切的结果
- 可以将所有Activation做平均,作为评估的依据
因为我们在训练时去掉了一半的随机数据,如果要让得到Activation正确量级的平均值,就需要将没去掉的数据翻倍
觉得得我的文章对您有帮助的话,就给个star吧~
转载于:https://www.cnblogs.com/hellocwh/p/5515421.html
TensorFlow 深度学习笔记 从线性分类器到深度神经网络相关推荐
- 深度学习笔记(4) 浅层神经网络
深度学习笔记(4) 浅层神经网络 1. 神经网络概述 2. 激活函数 3. 激活函数的导数 4. 神经网络的梯度下降 5. 随机初始化 1. 神经网络概述 神经网络看起来是如下: 有输入特征x1.x2 ...
- [深度学习基础] 2. 线性分类器
本文将以 softmax 线性分类器为例, 讨论数据驱动过程的各组成部分. 同时本章是后文非线性分类器和深度学习的铺垫. 1 训练数据 给定由 m 张图像组成的训练集, 每个图像的标记是 K 个不同类 ...
- 【深度学习-CS231n】线性分类器和神经网络
文章目录 神经网络静态部分 基本概念和小细节 算法设计选项 神经网络动态部分 学习过程 [梯度检查](https://zhuanlan.zhihu.com/p/21741716?refer=intel ...
- 深度学习 笔记(线性神经网络)
3.1. 线性回归 - 动手学深度学习 2.0.0-beta1 documentation 目录 3.1. 线性回归 - 动手学深度学习 2.0.0-beta1 documentation 3.1 线 ...
- 深度学习笔记第二门课 改善深层神经网络 第三周 超参数调试、Batch正则化和程序框架...
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 深度学习笔记第二门课 改善深层神经网络 第一周:深度学习的实践层面
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 深度学习笔记(一)了解深度学习
深度学习关键词定义: 训练样本:机器通过"看/学习"未知系统的输入-输出对而达到的某种自适应理解,对于未知系统的输入-输出叫做训练样本. 泛化:机器通过对未知系统的训练样本进行学习 ...
- 深度学习笔记第二门课 改善深层神经网络 第二周:优化算法
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 【深度学习笔记】零基础入门深度学习必备知识
文章目录 1.[深度学习必备基础知识] 2.[入门必备数学知识] 3.[Python必备基础] 4.[深度学习框架开发基础入门] 1.[深度学习必备基础知识] 深度学习的发展历程 机器学习 深度学习如 ...
最新文章
- 2010年计算机专业怎么样,关于2010年计算机专业考研
- UVA 1415 - Gauss Prime(数论,高斯素数拓展)
- HTML常用基础标签
- iOS开发-模板方法模式
- 微力同步linux,云端同步软件-微力同步下载 v2.4.3 官方版 - 下载吧
- HALCON示例程序check_blister_mixed.hedv药品胶囊缺陷检测
- 应用c语言编辑画图程序,应用C语言编辑画图程序
- k2p华硕系统怎么设置_Linux怎么设置系统环境变量之export命令详解
- *推荐* 杏雨梨云U盘系统2011 全面加速 [2010.12.28]
- Golang 协程的使用方法
- 基于Bootstrap的后台通用模板
- 动态爬虫之qzone空间自动秒赞 - qq空间自动点赞
- 星星之火-51:LTE的物联网技术,Cat-M与NB-IoT的比较
- 绩效管理系统(Performance Management System)
- Unity入门 简单的3D场景制作
- SPSS MODELER
- Luogu P4246 [SHOI2008]堵塞的交通(线段树+模拟)
- 60几行代码绘制丘比特爱情之箭!
- 如何顺利完成从员工到管理者的角色转变?
- 我的世界服务器不显示前缀,[管理|聊天]TRCStudioChatSystem —— 多功能聊天系统|聊天|脏话|匿名|前缀[1.7-1.15]...
热门文章
- 此上下文中不允许函数定义。_深度好文 | 你知道Go中的 context 是怎么实现的吗?...
- java进城杀不死怎么办_linux – 如何杀死永不死的进程?
- arcgis制作空间变化图怎么做_【教程:如何使用ArcGIS10.2制作气温空间分布图】...
- JAVA移慎_谨慎使用Java8的默认方法
- react native连接mysql_react-native上手之环境搭建及连接模拟器
- opencv打开相机实时采集与处理
- 线性最小二乘问题求解的豪斯荷尔德法C实现
- 安卓心理测试实训代码_我是如何从测试转到开发的
- java plc通讯_树莓派+西门子PLC+Aliyun
- MySQL 优化实战记录