Pytorch学习笔记4

Pytorch学习笔记4

过拟合与欠拟合

Pytorch学习笔记4_第1张图片
Pytorch学习笔记4_第2张图片

交叉验证减少overfitting

Pytorch学习笔记4_第3张图片
Pytorch学习笔记4_第4张图片
Pytorch学习笔记4_第5张图片
把训练集划分为K份,每次取1/k 作为验证集

减轻overfitting

Pytorch学习笔记4_第6张图片
Pytorch学习笔记4_第7张图片
Pytorch学习笔记4_第8张图片
正则化方法:在损失函数中加入一范数,使得参数尽量小,减少模型复杂度,使得曲线更加平滑,使得高维特征参数比较小,使其在保持性能时退化成更低复杂的网络,避免overfitting
Regularization也被称为weight-decay
Pytorch学习笔记4_第9张图片
Pytorch学习笔记4_第10张图片
Pytorch学习笔记4_第11张图片
Pytorch使用:
optimizer=optim.SGD(net.parameters(),lr=learning_rate,weight_dacay=0.01)
Pytorch学习笔记4_第12张图片
Pytorch学习笔记4_第13张图片

SGDM的pytorch实现

Pytorch学习笔记4_第14张图片
Pytorch学习笔记4_第15张图片

optimizer=torch.optim.SGD(model.parameters(),args.lr,momentum=args.momentum,weight_decay		 
	=args.weight_decay

Pytorch学习笔记4_第16张图片
Pytorch学习笔记4_第17张图片
Pytorch学习笔记4_第18张图片

optimizer=torch.optim.SGD(model.parameters(),args.lr,momentum=args.momentum,weight_decay		 
	=args.weight_decay
scheduler=ReduceLROnPlateau(optimizer,'min')
for epoch in x range(args.start_epoch,args.epochs):
	train(train_loader,model,criterion,optimizer,epoch)
	result_avg,loss_val)=validate(val_loader,model,criterion,epoch)
	scheduler.step(loss_val)

Pytorch学习笔记4_第19张图片
Pytorch学习笔记4_第20张图片

Early stopping 的pytorch实现

Pytorch学习笔记4_第21张图片
Pytorch学习笔记4_第22张图片

Dropout

Pytorch学习笔记4_第23张图片
Pytorch学习笔记4_第24张图片

net_dropped=torch.nn.Sequential(
	torch.nn.LInear(784,200),
	torch.nn.Dropout(0.5)
	torch.nn.ReLU(),
)

Pytorch学习笔记4_第25张图片
Pytorch学习笔记4_第26张图片

test时,所有连接都会使用,所以validation时需要加入

net_dropped.eval()

Stochastic Gradient Descent

Pytorch学习笔记4_第27张图片
与之不同,SGD只取一个batch的梯度。也就是说SGD把以前在所有数据集上的梯度改成了在一个batch上的梯度。
Pytorch学习笔记4_第28张图片
Pytorch学习笔记4_第29张图片
原因:速度更快
Pytorch学习笔记4_第30张图片
Pytorch学习笔记4_第31张图片
Pytorch学习笔记4_第32张图片
如果用线性层处理图片,数据过多。

Receptive Field and Weight sharing

Pytorch学习笔记4_第33张图片
Pytorch学习笔记4_第34张图片
Pytorch学习笔记4_第35张图片
Pytorch学习笔记4_第36张图片
一个卷积核代表一个观察角度(边缘信息,模糊信息,脸部信息)
Pytorch学习笔记4_第37张图片
Pytorch学习笔记4_第38张图片
输入通道与卷积核的通道一一对应,比如输入3通道图像,就要用3通道卷积核进行处理,一个通道处理一个通道的图像,但是3通道卷积核也是一个卷积核,最后得到的数值是三个通道数值的累加。
也就是说,三通道图片用三通道单卷积核处理,得到单通道图像。
如果有多卷积核的话,有多少卷积核得到多少通道的图像

Pytorch学习笔记4_第39张图片
Pytorch学习笔记4_第40张图片
Pytorch学习笔记4_第41张图片
Pytorch学习笔记4_第42张图片
Pytorch学习笔记4_第43张图片
Pytorch学习笔记4_第44张图片

池化层

Pytorch学习笔记4_第45张图片
Pytorch学习笔记4_第46张图片
Pytorch学习笔记4_第47张图片
out=F.interpolate(x,scale_factor=2,mode=‘nearest’)
Pytorch学习笔记4_第48张图片
Pytorch学习笔记4_第49张图片
Pytorch学习笔记4_第50张图片

Batch nomalization

Pytorch学习笔记4_第51张图片
Pytorch学习笔记4_第52张图片

Feature scaling

Pytorch学习笔记4_第53张图片
Pytorch学习笔记4_第54张图片
Pytorch学习笔记4_第55张图片

BatchNorm1d

Pytorch学习笔记4_第56张图片
Pytorch学习笔记4_第57张图片
β,γ根据梯度信息自动更新
Pytorch学习笔记4_第58张图片
Pytorch学习笔记4_第59张图片
Pytorch学习笔记4_第60张图片

Pytorch学习笔记4_第61张图片

你可能感兴趣的:(pytorch,学习,深度学习)