Improving Deep Neural Networks (Week1)---Practical aspects of Deep Learning

一、Train/Dev/Test sets

介绍使得神经网络在实际操作过程中高效的方法,如:超参数调整、数据准备、优化算法、时间调整

因此,机器学习是一个高度迭代的过程,不断尝试超参数的选择,通过比较以得到最优的选择

1、较快速得到较好结果的方式之一就是:将数据集分为train sets\dev sets\test sets

dev set的作用是:评估几个算法中,哪个算法效果最优

test set 是:在确定最优算法后,最终确定其表现如何

数据集较小的话:采用传统的分割比例:6:2:2

数据集很大:98:1:1(如100万条数据)

2、训练集与测试集的数据分布不匹配:如在进行识别猫的应用时,训练集的图片是从网上爬下来的,而测试集的图片是用户自己上传的,这就导致了训练集和测试集的数据分布不匹配,训练集的数据多是高分辨率的,而测试集的数据分辨率较低,就造成了问题。

因此,要保证测试集和数据集的数据分布要一致

3、没有测试集也是可以的,测试集的目的是通过一个无偏估计来评价最终选取的网络的性能,因此只有dev数据集而没有测试集也是可以的,

这时,应该用训练集尝试不同的模型结构,用开发集进行评估,并根据结果进行进一步迭代

二、Bias / Variance

train+dev表现都不好是欠拟合,但数值差距不大,(一个是15%,另一个是16%)高偏差

train表现好,Dev表现不好是过拟合,高方差

train-15%,dev-30%,即对数据集拟合不好是过偏差,且两者数据差距又大,是高方差

train-0.5%,dev-1%,都对数据拟合较好,低偏差,且两者数据差距又小,是低方差,这是较优的算法

上述前提是,人为误差为0

若没有好的分类器,如何分析偏差和方差?

三、Basic Recipe for Machine Learning

当训练好一个神经网络模型时,要首先为是否存在高偏差问题

四、Regularization

解决高方差问题:正则化、加大数据量

一般采用正则化,

一般使用L2正则化,即对w进行平方后求和,而L1正则化则是直接对w进行求和而不平方

在神经网络中,需要对每一层所有的w进行平方后求和

加上正则化项之后,会对权重进行衰减

五、Why regularization reduces overfitting?

 增加正则化项以避免权重矩阵过大,but why?

把正则化项lamda设置的很大,权重矩阵w的取值会很接近于0,相当于消除了某个隐藏单元的影响,即相当于删除了某些特征,把一个很大的神经网络变成一个很小的神经网络

但这样会造成其特征减少,出现欠拟合现象

直观理解就是:通过增大λ,减小了w,从而减小了Z,而在tanh函数中,Z值较小时,相当于线性函数,这样一来就减少了过拟合时产生的那些曲线,因此会减少过拟合现象,

六、Dropout Regularization

遍历网络中每一层的每一个节点,并为丢弃网络中的某个节点设置一个概率值,决定消除哪个节点,清除那些节点上所有正在进行的运算,得到一个简化很多的较小的神经网络,之后再做BP

对不同的训练样本可以重新设置概率,重新删除某些节点

总之,dropout也是通过减少隐藏节点个数,即特征值以避免过拟合  

七、Understanding Dropout

因为神经网络中的每一个单元都有被随机删除的可能性,所以每个的权值都会比较小,即也是通过缩小权值的方式进行的。

对于某些W值多的层,可以设置较小的留存率,即可以删除某些值

原理上也可以对输入层进行Droupout,直接随机删除某些特征,但实践中一般不这么做,会把留存率设置到1或0.9等较大的值

注:只有在过拟合状态下再考虑使用Droupout,除了计算机视觉领域,一般其他领域不会这么做

八、other regularization methods

1.加数据(通过转移图像,如水平平移、随机剪裁图像、)

2.early stopping,在迭代到一定次数时,可以停止迭代,J的值已经足够小,以避免W过大

九、Normalizing inputs

目的是为了对输入进行归一化处理

对数据的输入进行减平均数然后除以方差,但要注意对于训练集和测试集使用的平均数和方差要一致

进行归一化操作的好处是:使得代价函数看起来更加对称,可以在梯度下降中采用更长的步长

但是否进行归一化取决于输入的数据之间区别是否是很大的,如一种是0-1,另一种是100-1000;如果差距不大,就不需要做归一化处理了

十、Vanishing / Exploding gradients

当训练一个层数非常多的神经网络时,梯度会出现消失和爆炸,使得训练很难进行

即如果一个神经网络足够深,会出现梯度消失和梯度爆炸问题

十一、Weight Initialization for Deep Networks

其中一种较好的方法就是更好、更细致地随机初始化神经网络

1、初始化单个神经元

十二、Numerical approximation of gradients

梯度检验以确保BP梯度计算时的梯度逆传播的实现是正确的

使用双侧差值检验而非不够精确的单侧差值

十三、Gradient checking

讨论如何使用梯度检查来调试代码,并检验反向传播代码

十四、Gradient Checking Implementation Notes

 

Autoencoder-based data augmentation can have a significant influence on deep learning-based wireless communication systems. By generating additional training data through data augmentation, the performance of deep learning models can be greatly improved. This is particularly important in wireless communication systems, where the availability of large amounts of labeled data is often limited. Autoencoder-based data augmentation techniques can be used to generate synthetic data that is similar to the real-world data. This can help to address the problem of overfitting, where the deep learning model becomes too specialized to the training data and performs poorly on new, unseen data. By increasing the diversity of the training data, the deep learning model is better able to generalize to new data and improve its performance. Furthermore, autoencoder-based data augmentation can also be used to improve the robustness of deep learning models to channel variations and noise. By generating synthetic data that simulates different channel conditions and noise levels, the deep learning model can be trained to be more resilient to these factors. This can result in improved performance in real-world wireless communication scenarios, where channel conditions and noise levels can vary widely. In conclusion, autoencoder-based data augmentation can have a significant influence on deep learning-based wireless communication systems by improving the performance and robustness of deep learning models.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值