如何完成一个深度学习的模型
突发奇想,想把模型中要用到的参数,模型,优化的一些选择系统的做一个简单总结
本文中的图片引用自:邱锡鹏,神经网络与深度学习,机械工业出版社,https://nndl.github.io/, 2020.
Model(模型)
模型就是你的模型(听君一席话如听一席话
Optimizer(优化器,或者说优化算法)
优化器一般选择集各家所长的Adam
Loss Function(学习准则,损失函数)
损失函数就是你的模型需要优化的函数,根据不同任务选择不同的损失函数
回归问题常用平方损失
分类问题一般使用交叉熵损失函数,因为它可以用来衡量两个分布的差异
Hinge损失
Activation Function(激活函数)
一般情况首选ReLu激活函数
零中心化的Tanh函数:
Normalization(标准化,数据预处理)
一般有最大最小归一化,BN,LN
假设每一行为输入变量x的每个特征,一个工有n行,代表批量大小为n,有m列,代表有m个特征
在nlp中就是有很多个长度不一的句子,BN相当于对每一列做归一化,LN相当于对每一行,也就是每个句子自己的所有词做归一化,而因为句子长度不易,BN的效果并不好,所以常用LN
Regularization(正则化)
L1,L2,权重衰减,提前停止,dropout,数据增强,标签平滑
Initialization(参数初始化)
NLP中现在主流方法是使用预训练初始化(词向量,bert)
基于方差缩放的参数初始化
Evaluating Metric(评价指标)
常见的几个评价指标:
- ‘accuracy’,
- ‘bleu’,
- ‘f1’,
- ‘glue’,
- ‘precision’,
- ‘recall’,
batch_size(批量大小)
batch size别太小,也别太大,其他都行
epochs(训练轮数)
一般训练到dev set的损失不再下降即可
learning_rate(学习率)
一个简单的办法Leslie N. Smith 在2015年的一篇论文“Cyclical Learning Rates forTraining Neural
Networks”中的3.3节描述了一个非常棒的方法来找初始学习率,同时推荐大家去看看这篇论文,有一些非常启发性的学习率设置想法。这个方法在论文中是用来估计网络允许的最小学习率和最大学习率,我们也可以用来找我们的最优初始学习率,方法非常简单。首先我们设置一个非常小的初始学习率,比如1e-5,然后在每个batch之后都更新网络,同时增加学习率,统计每个batch计算出的loss。最后我们可以描绘出学习的变化曲线和loss的变化曲线,从中就能够发现最好的学习率。作者:Sherlock
链接:https://zhuanlan.zhihu.com/p/31424275
来源:知乎
数据预处理
针对不同的任务有不同的方法
如何完成一个深度学习的模型相关推荐
- PyTorch学习系列教程:构建一个深度学习模型需要哪几步?
导读 继续PyTorch学习系列.前篇介绍了PyTorch中最为基础也最为核心的数据结构--Tensor,有了这些基本概念即可开始深度学习实践了.本篇围绕这一话题,本着提纲挈领删繁就简的原则,从宏观上 ...
- NVIDIA GPUs上深度学习推荐模型的优化
NVIDIA GPUs上深度学习推荐模型的优化 Optimizing the Deep Learning Recommendation Model on NVIDIA GPUs 推荐系统帮助人在成倍增 ...
- 谷歌、阿里们的杀手锏:三大领域,十大深度学习CTR模型演化图谱
作者 | 王喆 来源 | 转载自知乎专栏王喆的机器学习笔记 今天我们一起回顾一下近3年来的所有主流深度学习CTR模型,也是我工作之余的知识总结,希望能帮大家梳理推荐系统.计算广告领域在深度学习方面的前 ...
- 谷歌、阿里们的杀手锏:3大领域,10大深度学习CTR模型演化图谱(附论文)
来源:知乎 作者:王喆 本文约4000字,建议阅读8分钟. 本文为你介绍近3年来的所有主流深度学习CTR模型. 今天我们一起回顾一下近3年来的所有主流深度学习CTR模型,也是我工作之余的知识总结,希望 ...
- 如何看懂一个深度学习的项目代码
搞深度学习的人,两大必备日常除了读论文之外就是读代码. 深度学习项目代码,小到几百行的测试demo,大到成千万行的开源项目,读起来方法肯定各有不同. 如下图Mask R-CNN项目代码和PyTorch ...
- TorchFusion 是一个深度学习框架,主要用于 AI 系统加速研究和开发
TorchFusion 是一个深度学习框架,主要用于 AI 系统加速研究和开发. TorchFusion 基于 PyTorch 并且完全兼容纯 PyTorch 和其他 PyTorch 软件包,它供了一 ...
- 深度学习CTR模型最全演化图谱 [王喆观点]
毕业于清华大学计算机系的王喆学长回顾了近3年来的所有主流深度学习CTR (click through rate) 模型,并梳理推荐系统.计算广告领域在深度学习方面的前沿进展.内容来源:https:// ...
- GPU云服务器深度学习性能模型初探
摘要: 本文根据实测数据,初步探讨了在弹性GPU云服务器上深度学习的性能模型,可帮助科学选择GPU实例的规格. 1 背景 得益于GPU强大的计算能力,深度学习近年来在图像处理.语音识别.自然语言处理等 ...
- 从头搭建一个深度学习框架
从头搭建一个深度学习框架 转自:Build a Deep Learning Framework From Scratch 代码:https://github.com/borgwang/tinynn 当 ...
- 如何开始一个深度学习项目
刚接触深度学习的小伙伴们应该有这样的疑惑:如何从零起步,从一个简单的idea开始,一步一步推进一个深度学习的学术项目,完成从idea到paper的成功转化?下面我们一起来看看慕尼黑工业大学的Matth ...
最新文章
- 如何安装altium designer 10
- 树莓派3B用Ubuntu MATE安装ros
- Vue+Openlayer使用Draw实现交互式绘制线段
- P4357-[CQOI2016]K远点对【K-Dtree】
- weblogic jmx_在WebLogic Server上驯服JMX
- kubernetes精华问答 | Swarm和K8S的共同点有哪些?
- 白盒测试中几种逻辑覆盖法及其优缺点
- mysql innodb 缓存设置_数据库分享一: MySQL的Innodb缓存相关优化
- Python必会知识点详细笔记(B站黑马程序员) 上篇 面向过程
- SI 9000 及阻抗匹配学习笔记(二)
- 物联网 毕业设计——方案选择
- postman控制台打印数据
- 利用vtk实现管状模型沿中心线切割平面
- 2019上半年教资综合素质——主观题
- windows切换窗口快捷键
- iOS手机上查看html源码,View Source:在 iOS 上轻松查看网页源代码-网页源文件
- 基于内容的图像检索引擎(以图搜图)
- 今宵多珍重(珍藏绝版精选)铃声 今宵多珍重(珍藏绝版精选)手机...
- 联想拯救者常用快捷键
- c语言鸡兔同笼(二)
热门文章
- GCC编译器使用简介
- 【html和css入门】实现简单的页首导航
- dao层如何调用对象_如何实现DBCP数据库连接池工具类&mvc分层开发web流程操作?...
- python集合常用方法_python基础-集合set的常用方法
- 区间选点问题(贪心)
- 计算机二级考试c语言 上机,计算机等级考试二级C语言上机题[2]
- 睡眠 应该用 a加权 c加权_?焦虑自测 ,看看你的焦虑程度到底有多深?是否影响睡眠?...
- python input nameerror_用python写的,运行时出现NameError: name 'raw_input' is not defined 这是什么原因?求解...
- spring 配置项 随机_Spring Boot--从配置文件中获取随机数
- 带有RNN循环神经网络的机器学习 4 NLP 从零到英雄 ML with Recurrent Neural Networks