栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

机器学习、人工智能、大数据学习中笔记

机器学习、人工智能、大数据学习中笔记

机器学习、人工智能、大数据学习中笔记
  • 代码实现
      • 实现卷积层
      • CrossEntropyLoss
      • 实现nn.seqential
  • 机器学习
      • 有哪些超参数调优方法
      • 模型评估中有哪些方法,优缺点有什么
      • 什么是A/B测试,有什么作用
      • 如何进行A/B测试
      • 余弦距离是否为一个严格定义的距离
      • 在怎样的场景下使用余弦相似度而不是欧氏距离
      • ROC曲线是什么
      • 如何计算AUC
      • ROC曲线和P-R曲线有什么区别特点
      • 准确率(Accuracy)精准率(Precision)召回率(Recall)均方根误差(RMSE)区别和局限
      • 生成方法和判别方法区别
      • 过拟合应该如何处理
      • 对于类别数据应该如何处理
      • KL散度是什么
      • 交叉熵是什么、
      • 人工智能、机器学习、深度学习区别
      • 特征工程是什么
      • 为什么要做归一化、哪些类型数据需要做
      • 归一化和标准化区别
  • 深度学习
      • 深度学习优势
    • 卷积网络
      • 卷积下一层大小如何计算,padding和stride有什么作用
      • 卷积运算
      • 什么是感受野、怎样计算感受野
      • 一维卷积是什么
      • 卷积网络变种有哪些
      • 卷积网络和全连接层的区别
      • 卷积神经网络近年来的结构设计上的主要发展和变迁

学习中记得一些笔记:来源:李沐老师《动手学习深度学习_pytorch版本》、李航老师《统计学习方法》、葫芦娃《百面机器学习》《百面深度学习》、网络各种资料。现在是在做笔记,待做完以后再重新整理归类。实时更新。

代码实现 实现卷积层
import torch
import torch.nn as nn

def corr2d(X: torch.tensor, K: torch.tensor) -> torch.tensor:
    """
    步长为1、卷积核大小小于输入大小
    :param K: 卷积核
    :param X: 输入
    :return: 卷积后输出
    """
    n_h, n_w = X.shape
    k_h, k_w = K.shape
    re = torch.zeros((n_h - k_h + 1, n_w - k_w + 1))
    for i in range(re.shape[0]):
        for j in range(re.shape[1]):
            re[i][j] = (X[i:i + k_h, j:j + k_w] * K).sum()
    return re

# test
X = torch.tensor([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]])
K = torch.tensor([[0.0, 1.0], [2.0, 3.0]])
print(corr2d(X, K))
tensor([[19., 25.],
        [37., 43.]])
class Cov2d(nn.Module):
    def __init__(self, kernel_size):
        super().__init__()
        self.weight = nn.Parameter(torch.randn(kernel_size))
        self.bais = nn.Parameter(torch.zeros(1))

    def forward(self, x):
        return corr2d(x, self.weight) + self.bais
net = Cov2d([2, 2])
print(net(X))
CrossEntropyLoss

o j o_j oj​为为归一化预测的 o o o的第 j j j个元素。
y ^ j = s o f t m a x ( o ) = e x p ( o j ) ∑ k e x p ( o k ) hat y_j=softmax(o)=frac{exp(o_j)}{sum_{k}exp(o_k)} y^​j​=softmax(o)=∑k​exp(ok​)exp(oj​)​
这里就会发现当 o j o_j oj​ 足够大时数值会上溢出。一般处理方法是 o j − m a x ( o ) o_j-max(o) oj​−max(o)。这样softmax公式就变成了:
s o f m a x ( o ) = e x p ( o j − m a x ( o ) ) ∑ k e x p ( o k − m a x ( o ) ) sofmax(o)=frac{exp(o_j-max(o))}{sum_{k}{exp(o_k-max(o))}} sofmax(o)=∑k​exp(ok​−max(o))exp(oj​−max(o))​
这样有效防止上溢出。
但对于之后求损失函数:
l = − ∑ k y i l o g ( y ^ i ) l=-sum_{k}{y_ilog(hat y_i)} l=−k∑​yi​log(y^​i​)
l = − l o g ( y ^ i ) l=-log(hat y_i) l=−log(y^​i​)
当 y ^ i hat y_i y^​i​足够小时便会下溢出那么对于原公式进行化简:
l = − l o g ( e x p ( o j ) ∑ k e x p ( o k ) ) l=-log(frac{exp(o_j)}{sum_{k}exp(o_k)}) l=−log(∑k​exp(ok​)exp(oj​)​)
l = − o j + l o g ( ∑ k e x p ( o k ) ) l=-o_j+log({sum_{k}exp(o_k)}) l=−oj​+log(k∑​exp(ok​))

实现nn.seqential
import torch
import torch.nn as nn
from torch.nn import functional as F


class MySequential(nn.Module):
    def __init__(self, *arg):
        super().__init__()
        for block in arg:
            self._modules[block] = block

    def forward(self, x):
        for block in self._modules.values():
            x = block(x)
        return x

验证

net = MySequential(nn.Linear(20, 30), nn.ReLU(), nn.Linear(30, 2))
x = torch.randn((2, 20))
net(x)

输出:

tensor([[ 0.2447, -0.0728],
        [ 0.0344, -0.3802]], grad_fn=)

这里nn.ReLU 和F.ReLU其实我感觉没有区别。(如果有的话请指正)
x ˊ = { 1 , x >threshold 0 , x threshold} \ 0, & text{$x$thresholdx 机器学习 有哪些超参数调优方法

  1. 网格搜索
  2. 随机搜索
  3. 贝叶斯优化
    通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。具体而言就是根据先验分布,假设一个搜集函数;然后每一次使用新的采样点来测试目标函数时,利用这个信息来更新目标函数的先验分布。最后算法测试有后验分布给出全局值最有可能出现的位置的点。
模型评估中有哪些方法,优缺点有什么
  • Holdout检验
    将原始样本的样本集合随即划分成训练集和验证集两部分。
    缺点是在验证集上计算的最后评估指标与原始分组有很大关系。
  • 交叉验证
    k-fold交叉验证:将样本分为k部分大小相等的子集;依次遍历这些子集,遍历到的子集作为验证集,其余作为训练集,将得到结果取均值作为最终评估指标。
    留一验证:每次留一个样本作为验证集。
  • 自助法
    前两种方法,当样本量较少时划分训练集验证集会使得训练数据减少。自助法:对于总数n的样本集合,进行n次有放回的随机抽样,得到大小为n的训练集。n次采样过程中(可以重复抽取),没有抽取出来的样本作为验证集。
什么是A/B测试,有什么作用


知乎解释
原因:

  1. 离线评估无法完全消除模型过拟合影响,因此离线评估效果无法代替线上评估结果。
  2. 离线评估无法完全还原线上工程环境。简而言之数据存在丢失、标签数据缺失、线上环境延迟等情况。
  3. 线上某些商业指标在离线评估中无法计算。
如何进行A/B测试
  1. 主要手段是进行用户分桶。将用户分为实验组和对照组,对实验组实行新模型,对对照组实行就模型。在分桶时猪一样笨独立性和采样方式无偏,确保同一个用户只能分到同一个桶中。
余弦距离是否为一个严格定义的距离

距离的定义:在一个集合中如果每一对元素克为宜确定一个实数,使得三条距离公里成立(正定性,对称性,三角不等式)成立,则该实数可称为这对元素之间的距离。

  • 正定性
    d i s t ( A , B ) ≥ 0 dist(A,B)geq 0 dist(A,B)≥0
    证明:
    d i s t ( A , B ) = 1 − c o s ( θ ) = ∣ ∣ A ∣ ∣ 2 ∣ ∣ B ∣ ∣ 2 − A B ∣ ∣ A ∣ ∣ 2 ∣ ∣ B ∣ ∣ 2 ≥ 0 dist(A,B)=1-cos(theta)=frac{||A||_2||B||_2-AB}{||A||_2||B||_2}quadgeq0 dist(A,B)=1−cos(θ)=∣∣A∣∣2​∣∣B∣∣2​∣∣A∣∣2​∣∣B∣∣2​−AB​≥0
  • 对称性
    d i s t ( A , B ) = d i s t ( B , A ) dist(A,B)=dist(B,A) dist(A,B)=dist(B,A)
    这个证明略。
  • 三角不等式
    d i s t ( A , B ) + d i s t ( B , C ) ≥ d i s t ( A , C ) dist(A,B)+dist(B,C)geq dist(A,C) dist(A,B)+dist(B,C)≥dist(A,C)
    等号在共线时取得。
    给定三个点 A = ( 1 , 0 ) , B = ( 1 , 1 ) , C = ( 0 , 1 ) A=(1,0),B=(1,1),C=(0,1) A=(1,0),B=(1,1),C=(0,1)则有:
    d i s t ( A , B ) = 1 − 2 2 d i s t ( B , C ) = 1 − 2 2 d i s t ( A , C ) = 1 d i s t ( A , B ) + d i s t ( B , C ) ≤ d i s t ( A , C ) dist(A,B)=1-frac{sqrt{2}}{2}quad\dist(B,C)=1-frac{sqrt{2}}{2}quad\dist(A,C)=1\dist(A,B)+dist(B,C)leq dist(A,C) dist(A,B)=1−22 ​​dist(B,C)=1−22 ​​dist(A,C)=1dist(A,B)+dist(B,C)≤dist(A,C)

KL散度也不满足三角定理

在怎样的场景下使用余弦相似度而不是欧氏距离

向量A,B的余弦相似度为 A ⋅ B ∣ ∣ A ∣ ∣ 2 ∣ ∣ B ∣ ∣ 2 frac{Acdot B}{vertvert Avertvert_2||B||_2}quad ∣∣A∣∣2​∣∣B∣∣2​A⋅B​欧式距离为 ∣ ∣ A − B ∣ ∣ 2 ||A-B||_2 ∣∣A−B∣∣2​,所以能够发现余弦距离大小与向量本身大小无关,所以在计算类似于文本相似度时两段文本类容相似但段落不一致,如果使用词向量或者词频作为特征计算欧斯距离可能较大、但余弦相似度较小。并且欧斯距离和纬度大小相关。
欧 氏 距 离 : ∣ ∣ A − B ∣ ∣ 2 余 弦 相 似 度 : c o s ( A , B ) 余 弦 距 离 : 1 − c o s ( A , B ) 欧氏距离:||A-B||_2\余弦相似度:cos(A,B)\余弦距离:1-cos(A,B) 欧氏距离:∣∣A−B∣∣2​余弦相似度:cos(A,B)余弦距离:1−cos(A,B)
具体选择视情况而定。

ROC曲线是什么

ROC曲线是Receiver Operating Characteristic Curve简称。中文为“受试者工作特性曲线”。(最初源于医学领域)
ROC横坐标为假阳性率 F P R = F P N FPR=frac{FP}{N}quad FPR=NFP​。纵坐标为真阳性率 T P R = T P P TPR=frac{TP}{P}quad TPR=PTP​真阳性率也是召回率。

如何计算AUC

AUC是ROC曲线下的面积大小。该值能够量化反应基于ROC曲线衡量出的模型性能。

ROC曲线和P-R曲线有什么区别特点

ROC的横轴: F P / N FP/N FP/N纵轴: T P / P TP/P TP/P和P-R曲线横轴: T P / P TP/P TP/P纵轴 : T P / ( F P + T P ) :TP/(FP+TP) :TP/(FP+TP)
在正负样本分布发生变化时ROC曲线基本保持不变,P-R曲线一般会发生较大变化。所以ROC能够更稳定反应模型本省好坏。P-R能够看到模型在特定数据集上的表现。

准确率(Accuracy)精准率(Precision)召回率(Recall)均方根误差(RMSE)区别和局限
  1. 准确率: A c c u a r y = n c o r r e c t n t o t a l Accuary=frac{n_correct}{n_total}quad Accuary=nt​otalnc​orrect​
    当出现样本类别不平衡时这类方法无法有效区分、比如正样本1000个负样本10个只要预测时全为正样本就可以让正确率99%。
  2. 精准率:分类器分类正确的正样本个数占分类器分为正样本中的比例。
  3. 召回率:分类正确的正样本数占正真正样本的数量的比例。
    单独用精准率和召回率进行评估是不准确的,因此也引入了F1值。
  4. F 1 = 2 × p r e c i s i o n × r e c a l l p r e c i s i o n + r e c a l l F1=frac{2times precisiontimes recall}{precision+recall}quad F1=precision+recall2×precision×recall​
  5. R M S E = ∑ i = 1 n ( y i − y i ^ ) 2 n RMSE=sqrt{frac{sum_{i=1}^{n}(y_i-hat{y_i})^2}{n}quad} RMSE=n∑i=1n​(yi​−yi​^​)2​ ​因为RMSE对于较大的离群样本会非常敏感即使模型效果较好但当遇见较少的离群较远样本也会使得RMSE值很差。
    为此可以使用平均绝对比五擦汗提高鲁棒性。
    M A P E = ∑ i = 1 n ∣ y i − y i ^ y i ∣ × 100 n MAPE=sum_{i=1}^nmidfrac{y_i-hat{y_i}}{y_i}mid times frac{100}{n} MAPE=i=1∑n​∣yi​yi​−yi​^​​∣×n100​该方法相当于对每个误差点进行归一化。
生成方法和判别方法区别

判别方法:数据直接学习决策函数f(x)或者条件概率分布 p ( y ∣ x ) p(y|x) p(y∣x)作为预测模型。该方法关心给定输入x,应该预测什么样的输出y。(KNN、感知机、决策树、逻辑斯蒂回归、SVM等)
生成方法:生成模型由数据学生西联合概率分布 p ( x , y ) p(x,y) p(x,y)然后求出概率条件分布 p ( y ∣ x ) p(y|x) p(y∣x)作为预测模型。模型表示了给定输入x产生输出y的生成关系(朴素贝叶斯法和隐马尔可夫模型)

过拟合应该如何处理

两种方法:

  1. 基于模型:
    简化模型(非线性模型变为线性模型)、添加约束(结构风险最小化、正则化)、集成学习、Dropout超参数等。
  2. 基于数据:
    数据扩充:对原始数据适当变换达到扩充数据的效果。
对于类别数据应该如何处理

常用的三种方法:

  1. 序号编码:比如衣服尺码三种s,m,l分别为1,2,3
  2. one-hot:分别为(1,0,0),(0,1,0),(0,0,1)
  3. 二进制编码:分别为(0,1),(1,0),(1,1)

除此以外还有Helmert Contrast、Sum Contrast、Polynomial Contrast等。

KL散度是什么

又称相对熵、是衡量相同空间中两个概率分布相对差距的测度。两个概率 p ( x ) p(x) p(x)和 q ( x ) q(x) q(x)的KL散度为:

D ( p ∣ ∣ q ) = ∑ x ∈ X p ( x ) l o g p ( x ) q ( x ) D(p||q)=sum_{xin X}p(x)logfrac{p(x)}{q(x)}quad D(p∣∣q)=x∈X∑​p(x)logq(x)p(x)​

交叉熵是什么、

用于衡量估计模型和真是概率分布之间的差异。
随机变量 X ∽ p ( x ) Xbacksim p(x) X∽p(x),模型 q ( x ) q(x) q(x)用于近似 p ( x ) p(x) p(x)的分布,
H ( X , q ) = H ( X ) + D ( p ∣ ∣ q ) = − ∑ x ∈ X p ( x ) l o g q ( x ) = E p ( l o g 1 q ( x ) ) H(X,q)=H(X)+D(p||q)\=-sum_{xin X}p(x)logq(x)\=E_p(logfrac1{q(x)}) H(X,q)=H(X)+D(p∣∣q)=−x∈X∑​p(x)logq(x)=Ep​(logq(x)1​)

人工智能、机器学习、深度学习区别

人工智能泛指让机器具有人的智力的技术。
机器学习指计算机通过观察环境(学习数据特征)自我更新进步。
深度学习是机器学习的一种方法。基于神经网络。

特征工程是什么

对原始数据进行处理将其提炼为特征。从本质上讲特征工程是一个表现和展示数据的过程。实际工作生产中,特征工程指的是去除原始数据中的杂质和冗余。

为什么要做归一化、哪些类型数据需要做

是各个特征之间具有可比性(统一量纲)。使模型能够更容易通过梯度下降找到最优解。
上图来源

主要方法有线性归一化。
x ˊ = x − x m i n x m a x − x m i n acute x=frac{x-x_{min}}{x_{max}-x_{min}}quad xˊ=xmax​−xmin​x−xmin​​
标准化有些地方也叫零均值归一化
x ˊ = x − x ˉ σ acute x=frac{x-bar x}{sigma}quad xˊ=σx−xˉ​
使用场景:

  1. 对输出范围有要求
  2. 数据较稳定,不存在极端最大值或最小值。
  3. 存在异常值或者较多噪声使用标准化,通过中心化避免异常值和极端值影响。
  4. SVM,KNN,PCA等模型必须进行归一化或者标准化。

决策树不需要归一化因为其计算的是信息增益比,信息增益比和特征是否归一化无关。

归一化和标准化区别

归一化会改变数据的原始距离、分布和信息。标准化不会。

深度学习 深度学习优势

能够处理人们并不完全懂得问题,也更加擅长处理含噪声或不完全的数据。

卷积网络 卷积下一层大小如何计算,padding和stride有什么作用

通常,垂直padding为 p h p_h ph​当垂直步幅为 s h s_h sh​ 、水平padding为 p w p_w pw​水平步幅为 s w s_w sw​ 时,输出形状为

⌊ ( n h − k h + p h + s h ) / s h ⌋ × ⌊ ( n w − k w + p w + s w ) / s w ⌋ . lfloor(n_h-k_h+p_h+s_h)/s_hrfloor times lfloor(n_w-k_w+p_w+s_w)/s_wrfloor. ⌊(nh​−kh​+ph​+sh​)/sh​⌋×⌊(nw​−kw​+pw​+sw​)/sw​⌋.

  1. 填充可以增加输出的高度和宽度。这常用来使输出与输入具有相同的高和宽。
  2. 步幅可以减小输出的高和宽,例如输出的高和宽仅为输入的高和宽的 1/푛( 푛 是一个大于 1 的整数)。
  3. 填充和步幅可用于有效地调整数据的维度。
卷积运算

其实严格意义不能叫做卷积运算而应该叫做互相关运算,因为在实际卷积中是输入张量和卷积张量进行互相关运算产生张量。

截图:李沐老师动手学习深度学习

0 × 0 + 1 × 1 + 3 × 2 + 4 × 3 = 19 , 1 × 0 + 2 × 1 + 4 × 2 + 5 × 3 = 25 , 3 × 0 + 4 × 1 + 6 × 2 + 7 × 3 = 37 , 4 × 0 + 5 × 1 + 7 × 2 + 8 × 3 = 43. 0times0+1times1+3times2+4times3=19,\ 1times0+2times1+4times2+5times3=25,\ 3times0+4times1+6times2+7times3=37,\ 4times0+5times1+7times2+8times3=43. 0×0+1×1+3×2+4×3=19,1×0+2×1+4×2+5×3=25,3×0+4×1+6×2+7×3=37,4×0+5×1+7×2+8×3=43.
假设·输入的二维大小为 n h × n w n_htimes n_w nh​×nw​卷积核为 k h × k w k_htimes k_w kh​×kw​ 输出大小为: ( n h − k h + 1 ) × ( n w − k w + 1 ) (n_h-k_h+1)times (n_w-k_w+1) (nh​−kh​+1)×(nw​−kw​+1)(步长为1,不带padding(也就是卷积核能够全部遍历且不溢出的情况))。

什么是感受野、怎样计算感受野

对于某层输出特征图上某个点,在卷积网络的原始输入数据上能够影响到这个点的取值的区域。

一维卷积是什么

普通卷积可以转化为矩阵乘法。
y = A x y=Ax y=Ax
x,y为卷的输入输出(展平为一维向量的形式)维度分别为 d ( i ) 和 d o d^{(i)}和 d^{o} d(i)和do,A是由卷积核、滑动步长决定的长对角矩阵维度为 d 0 × d i d^{0}times d^{i} d0×di,其每一行对应着卷积核的一次滑动位置。
定义一维输入向量 x = [ a , b , c , d , e , f , g ] T x=[a,b,c,d,e,f,g]^T x=[a,b,c,d,e,f,g]T,卷积核为 K = [ x , y , z ] K=[x,y,z] K=[x,y,z],设卷积的滑动步长为2,则输出向量为:
y = [ a x + b y + c z c x + d y + e z e x + f y + g z ] = [ x y y z 0 0 0 0 0 0 x y y z 0 0 0 0 0 0 x y y z ] [ a b c d e f g ] = A x y=begin{bmatrix} ax+by+cz \ cx+dy+ez \ ex+fy+gz\ end{bmatrix}=begin{bmatrix} x&y&y&z&0&0&0&0 \0&0&x&y&y&z&0&0\ 0&0&0&0&x&y&y&z\ end{bmatrix}begin{bmatrix} a\ b\ c\ d\e\f\g\end{bmatrix}\=Ax y=⎣⎡​ax+by+czcx+dy+ezex+fy+gz​⎦⎤​=⎣⎡​x00​y00​yx0​zy0​0yx​0zy​00y​00z​⎦⎤​⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​abcdefg​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​=Ax

卷积网络变种有哪些
  1. 分组卷积:将输入通道和输出通道都划分为同样的组数,然后让处于相同组号的输入输出通道互相进行“全连接”。记 g g g为输入输出通道所分的组数,则其参数量和计算量都降低为普通卷积的 1 / g 1/g 1/g。
  2. 转置矩阵:普通卷积为 y = A x y=Ax y=Ax记 A T A^T AT为矩阵 A A A的转置,定义转置卷积运算为: y ^ = A T x ^ hat{y}=A^That{x} y^​=ATx^
    x ^ 和 y ^ hat{x}和hat{y} x^和y^​为转置卷积的输入和输出。起作用:1.转置卷积能够将普通卷积中输入到输出的尺寸变换逆反。2.转置卷积的信息正向传播与普通卷积的反向传播所用矩阵相同。实现对特征图进行扩展或者上采样。
  3. 空洞卷积:在不使用池化的情况下扩大感受野。
卷积网络和全连接层的区别

MLP是输出层每个节点于输入层每个节点都有连接。
卷积神经网络具有局部连接权值共享
卷积核通过对输入的多通道特征图进行扫描和运算。

  1. 局部链接: 因为卷积核尺寸小于输入的特征图尺寸,所以输出层的每个节点都只和输入层的部分节点相关,这与生物视觉信号相似,存在一个感受野的概念。全连接层中节点之间的连接时稠密的。
  2. 权值共享:因为卷积核参数一致是的在输出层上不同位置的节点与输入层权值连接都一样。全连接层中不同节点连接权值不同。
    为什么要权值共享:百度百科:另外,换个角度理解为什么权值要固定,比如我有个曲线的特征过滤器,那么这个过滤器在扫描全图的时候,我们想要提取出所有的曲线区域,是不是这个过率器不能变?如果在上半部分过滤器是曲线,到下半部分变成了直线,那么在图像上下区域内提取出来的曲线特征是真正的曲线吗?个人认为从这个直白的角度更容易理解。
    百面深度学习:权值共享降低内存和计算复杂度。
  3. 输入/输出数据结构化:在输入输出时保持原始数据的结构、空间对应特征。(二维图像进入全连接层会损失数据与原始数据结构上的对应)
卷积神经网络近年来的结构设计上的主要发展和变迁
  • AlexNet
  1. 其主要堆砌了卷积层和池化层,在网络末端加上了全连接层和Softmax
  2. 采用ReLU作为激活函数(替换了Sigmoid函数(一个是在0值附近梯度问题和均值方差偏移))缓解了梯度消失问题。
  3. 使用了局部响应归一化(LRN):对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力,并且加快收敛。
  4. 使用了Dropout和数据扩充
  5. 利用分组卷积突破GPU显存瓶颈
  • VGGNet
    采用同一个尺寸的卷积核和池化层。网络更深
  1. 使用33卷积核代替之前55,7*7等打卷机和,使得在更少的参数量、更小的计算量下,获得同样的感受野和更深更大的网络深度。
  2. 2 × 2 2times2 2×2 池化代替 3 × 3 3times3 3×3池化这里我没太懂希望有懂的大佬说一下
  3. 去掉了局部响应归一化
  • GoogLeNet/Inception-v1
    将网络中的大模块替换成由多个卷积层组成的多分支结构。数学依据是,大型稀疏矩阵可以分解成多个稠密小矩阵。Inception模块会使用 1 × 1 、 3 × 3 、 5 × 5 1times1、3times3、5times5 1×1、3×3、5×5三种卷积核进行多路特征提取。是的网络稀疏化的同时,增强网络对多尺寸特征的适应性。
  1. 1 × 1 1times1 1×1卷积核可以对通道数进行压缩减少计算量。
  2. 网络中有多条支路,环节梯度消失问题。
  3. 在网络末端将之前的网络的第一个全连接层换成了全局平均池化层。
  • ResNet
    随着网络层数增加,网络的训练误差和测试误差都会上升。称为网络退化(degeneration)。其与过拟合是不同的。其采用了跳层连接(shortcut connection)。
  1. 缩短误差反向传播到各层的路径,有效抑制梯度消失现象。
  2. 当发生网络加深性能退化时,跳层连接和其直连结构组合使得网络回到之前网络的浅层状态。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/679684.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号