第四周作业:卷积神经网络(Part2)

2000年初期最主要的机器学习算法是核方法。其核心是特征提取、选择和函数来计算相关性、凸优化问题(凸优化问题指的是在定义域内具有全局最优解的问题)、漂亮的定理。

ImageNet(2010)

第四周作业:卷积神经网络(Part2)

AlexNet

正是因为ImageNet变大,才使得AlexNet神经网络可以更深更大。

第四周作业:卷积神经网络(Part2)

 上图右边两张部分分别是深度学习神经网络前后对图片的处理。在深度学习神经网络之后的优点是CNN更易学习,不必了解过多计算机视觉的知识;CNN与softmax一起训练,效率更高。

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 VGG

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

VGG16是13层卷积层+3层全连接层

 第四周作业:卷积神经网络(Part2)

 VGG使用可重复的卷积块来构建深度卷积神经网络。

不同的卷积块个数和超参数可以得到不同复杂度的变种。

NiN

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

1X1卷积唯一就是可以进行通道数的改变。

 第四周作业:卷积神经网络(Part2)

使用全局平均池化,即当输入通道数是类别数时,全局平均池化后相当于每个通道取出一个平均值作为结果。

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 GoogLeNet

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

由图中可以看到最后输出高宽比不变。

 第四周作业:卷积神经网络(Part2)

 由图中看到只有通道数的改变,白色框进行通道数改变,深蓝框进行通道信息或空间信息提取。

第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 批量归一化

第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 批量归一化固定小批量中的均值和方差,然后学习出合适的偏移和缩放。

可以加速收敛速度,但一般不改变模型精度。

ResNet

增加神经网络深度即增加层数总是可以改进精度吗

第四周作业:卷积神经网络(Part2)

 如上图,蓝色星星是最优模型,下方大小表示模型复杂度,左边随着模型复杂度增加,离最优解距离并没有逐渐减小,只有像右边,大模型始终包含小模型,才会不至于模型越大反而不如之前模型效果。

第四周作业:卷积神经网络(Part2)

 以函数来举例,最差f(x)结果是g(x)没有学习到东西。

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

 第四周作业:卷积神经网络(Part2)

宽高减半即在第一个ResNet块中一个卷积层将宽高减半。

 第四周作业:卷积神经网络(Part2)

 也是5部分。

第四周作业:卷积神经网络(Part2)

 代码:

import numpy as np
import matplotlib.pyplot as plt
import os
import torch
import torch.nn as nn
import torchvision
from torchvision import models,transforms,datasets
import csv
import cv2
from torch.autograd import Variable
from PIL import Image
# 判断是否存在GPU设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print('Using gpu: %s ' % torch.cuda.is_available())
#数据处理
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
data_transform = transforms.Compose([
                transforms.CenterCrop(224),
                transforms.ToTensor(),
                normalize,
            ])
'''加载数据'''
!wget https://static.leiphone.com/cat_dog.rar
!unrar x cat_dog.rar

问题:

上一篇:第七章:网络优化与正则化(Part2)


下一篇:win32程序调试OutputDebugString 类似printf格式化输出