深度学习之pytorch(五)

图像增强的方法
从图像增强的方面入手,提高模型的准确率和泛化能力
因为对于计算机来说,他们看的是像素,所以当一个图片的位置发生改变的时候,他本身的像素变换还是很大的。
这些都是在PyTorch中内置的一些方法,torchvision,transforms包含了所有图像增强的方法,第一个函数Scale,是对图片的尺寸进行缩小和放大,再是CenterCrop,对图像正中心进行给定大小的裁剪,RandomCrop,对图片进行给定大小的随机裁剪,RandomHorizaontalFlip,对图片进行概率为0.5的随机水平翻转,和最后一个RandomSizeCrop,先对图片进行随机尺寸裁剪,在对裁剪之后的图片进行一个随机比例缩放,最后把图片变成一个给定的大小。

循环神经网络
主要是在于,让模型“充满记忆力”。也就是基于记忆的网络模型。
1.基本结构
比较简单,也就是将网络的输出保存在一个记忆单元中,这个记忆单元和下一次的输入一起进入神经网络中,使用一个简单的两层网络作为示范,在他的基础上扩充为循环神经网路的结构。
2.存在的问题
具有“遗忘性”,如果一项任务需要依赖近期的信息来预测结果,循环神经网络往往具有较好的变现,也就是能解决短时依赖的问题,但对于长时依赖的问题,循环网络的表现就很一般了,主要在于记忆的信息与预测位置之间的跨度和时间的跨度都在变大,所以导致网络越来越难以学习这些信息。
在这里插入图片描述
循环神经网络的两种比较流行的结构
1.LSTM
long short term memory networks的缩写,也就是长的短时记忆网络,解决的依然是短时记忆的问题。它由三个门来控制,分别是输入门,遗忘门和输出门。分贝控制着网络的输入,记忆单元和网络的输出,最重要的就是遗忘门,因为他决定了之前的哪些记忆被保留,哪些记忆被去掉,他可以“自己学习保留多少以前的记忆”
在这里插入图片描述
2.GRU
gated recurrent unit的缩写,GRU的改进就是,将遗忘门和输入门合成了一个“更新门”,同时网络不再额外给出记忆状态,而是将输出结果作为记忆状态不断向后循环传递,他们的本质是相同的。

由于出现**“loss乱跳**”的现象,人们研究出来解决策略,也就是在于,RNN的误差曲面粗糙不平。
这个在PyTorch的实现形式如下:
1.标准RNN
在这里插入图片描述
直接调用就行,有一些参数,input_size表示输入x的特征维度,hidden_size表示输出h 的特征维度,num_laye rs辨识网络层数,默认是1层,nonlinearity表示非线性激活函数的选择,bias表示是否使用偏置,默认是true,batch_first艹参数决定的是网络输入的维度顺序,最后是特征维度。
2.LSTM
本质上和RNN是一样的,但内部计算更复杂,参数更多。他的不同在于,LSTM 的参数比标准RNN多,但访问的方式是相同的,使用wight_ih_lo即可,但他的维度和之前的不同,他是之前的4倍,因为多了三个线性变换,所以是4倍。
3.GRU
同样,本质上是一样的,他的不同之处在于,首先他的隐藏状态参数不再是标准RNN的4倍,而是3倍,这是由于它内部计算结构确定的,再是他的隐藏状态不是h和c,而只有h了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值