上一篇我们写到了自己手动搭建ResNet18网络进行了图像分类训练,对猫狗进行分类,现在我们是用TensorRT API进行部署。
目录
1、ResNet18介绍
ResNet是一种基于跳跃连接的深度残差网络算法。根据该算法提出了18层、34层、50层、101层、152层的ResNet-18、ResNet-34、ResNet-50、ResNet-101和、ResNet-152等模型,甚至成功训练出层数达到1202层的超深的神经网络结构。
实际中,单纯的增加网络的深度,网络会变得越来越难训练,而且精度会达到饱和,这主要是由于两种问题造成的:1、梯度弥散/爆炸现象;2、退化问题
从图中可以看出,50层网络最终的训练误差率和测试率均比20层高。可见随着网络深度的增加,精度达到饱和,甚至导致更高的训练和测试误差率,这就是论文中提到的退化问题。而这种退化问题又不是由过拟合导致的,因为不仅验证集上的误差在增大,就连训练集上的误差也在增大。
梯度弥散/爆炸现象可由在网络中添加BN层或者通过数据预处理来解决,使得训练速度加快,但是针对退化问题,还没有一个完美的解决方案。于是,提出了深度残差网络算法ResNet。
ResNet创新之处:
1、提出了超深的网络结构