avatar
Articles
45
Tags
19
Categories
5

Home
Archives
Tags
Categories
Link
Xavier's blog
Search
Home
Archives
Tags
Categories
Link

Xavier's blog

D2L: AlexNet
Created2022-09-15|Machine Learning|Neural-Network•Dive-Into-Deep-Learning
AlexNetConcept and Principle 在深度学习之前: 核方法 特征提取 选择核函数 凸优化问题 漂亮的定理 几何学 抽取特征 将计算机视觉问题描述为几何问题(如多相机) 凸优化 漂亮的定理 建立假设模型,若假设满足,效果会很好 特征工程 特征工程(人工特征提取)是关键,不太关心机器学习模型 特征描述子(SIFT、SURF) 视觉词袋(聚类) 最后一般用SVM AlexNet赢得了2012年ImageNet竞赛的冠军,引起了深度学习的热潮,其本质上是一个更深更大的LeNet 主要改进: 丢弃法 ReLU MaxPooling 数据增强(截取、调亮度、调色温等) 更深更大 网络结构与复杂度 Implementation123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import torchfrom torch import nn,optimimport d2lclass AlexNe ...
D2L: LeNet
Created2022-09-15|Machine Learning|Neural-Network•Dive-Into-Deep-Learning
LeNetConcept and Principle 最早是用于手写数字识别,识别信件上的邮政编码 网络结构 提出了一个数据集:MNIST 5w个训练数据 1w个测试数据 图像大小 28x28 10类 总结 LeNet是早期成功的神经网络 先使用卷积层学习图片空间信息 然后使用全连接层转换到类别空间 Implementation123456789101112131415161718192021222324252627282930313233343536373839from torch import optimimport torchfrom torch import nnimport d2l# 定义Reshape层class Reshape(nn.Module): def forward(self,x): return x.view(-1,1,28,28)net=nn.Sequential( Reshape(), nn.Conv2d(1,6,kernel_size=5,padding=2), nn.AvgPool2d(2),nn. ...
D2L: Convolution and Pooling
Created2022-09-15|Machine Learning|Neural-Network•Dive-Into-Deep-Learning
Convolution and PoolingConcept and Principle 卷积 平移不变性和局部性是在图片中寻找某种模式的原则。 因为模式不会随着其在图片中位置改变而改变,所以一个识别器(卷积核)被设计为具有平移不变性(即参数只与输入的像素值有关,而与像素在图片的位置无关),去学习图片中的一种模式 模式与其相邻的局部相关,识别器每次仅去看图片的一部分 对全连接层使用平移不变性和局部性得到卷积层 卷积层 不同卷积核(值)会对图片带来不同的效果,当某种效果对任务有帮助时,网络很有可能就会学习出这种卷积核 填充与步幅 在输入的四周加入额外的行和列以控制卷积后的输出图像大小,卷积核大小一般选奇数,能上下对称地填充图片来保证输入输出图片大小不变 增大卷积步幅,快速缩小图片 总结 通道 每个通道有自己的卷积核,输入通道不同通道的对应卷积后直接相加后再加偏置项,最后输出一个单通道 多输出通道就是多个上述操作输出的多个单通道 每个输出通道可以识别特定的模式,输入通道识别并组合(加权相加)输入中的模式 池化 池化层缓解卷积对位置的敏感性 池化层不学习任何参数 ...
D2L: Sequential Model
Created2022-09-15|Machine Learning|Neural-Network•Dive-Into-Deep-Learning
Sequential ModelConcept and Principle序列模型是考虑时间信息的模型 序列数据 数据带有时序结构,如电影的评价随时间变化 电影拿奖后评分上升 导演、演员负面报道后评分下降 统计工具 将序列中每个元素看作随机变量,显然他们不是独立的 在实际操作中,时序序列一般只能正向建模去预测 要使用序列模型预测T时刻x的概率,核心是求T时刻的条件概率(似然),这里的f可看作神经网络,神经网络将训练集建模。自回归指的是用数据对见过的数据建模(因为最后预测也是在预测相同的数据),与非序列模型用数据对独立于数据的标签建模不同。 具体如何建模? 马尔科夫假设当前预测的数据只跟过去的tau个数据相关,tau是一个固定常数。假设x是标量数据,此时只需要将其看作回归问题,使用MLP把tau个x当作特征训练得到t时刻标量x。MLP进行梯度优化的过程便是最大化似然概率的过程 潜变量模型引入一个可不断更新的潜变量用于概括历史信息,使得建模更加简单(RNN) Implementation 马尔可夫假设+MLP123456789101112131415161718 ...
D2L: Numerical Stability & Initialization
Created2022-09-15|Machine Learning|Neural-Network•Dive-Into-Deep-Learning
D2L: Numerical Stability & InitializationConcept and Principle 数值的稳定性 神经网络的梯度求某一层的参数的梯度,直接就对损失函数关于该层参数求导,然后通过链式法则,化成d-t次的矩阵乘法 梯度爆炸与梯度消失上述连续的乘法运算会带来两个问题:梯度爆炸与梯度消失梯度爆炸带来的问题:梯度值超过计算机可表示大小、对学习率敏感梯度消失带来的问题:梯度值变为0(超出计算可表示精度的小浮点数)、无论如何选择学习率训练都没有进展、神经网络无法做到更深 模型初始化 如何让训练更加稳定?(不产生梯度消失和梯度爆炸)要让梯度值保持在合理的范围内,一般有如下方法: 将乘法变为加法(ResNet、LSTM) 归一化(梯度归一化、梯度裁剪) 选定合适的激活函数 合理的初始参数 让每层的方差是一个常数 合理的权重初始化 需要在一个合理值区间里随机初始参数 远离最优解的地方损失函数很复杂(梯度很大) 最优解附近比较平缓 Xavier初始化使得输入空间的方差和输出空间的方差尽量相等
1…456…9
avatar
Xavier
Articles
45
Tags
19
Categories
5
Follow Me
Recent Post
Transaction2023-02-24
Index2023-02-20
Database Designment2023-02-18
Stored Procedure & Trigger2023-02-18
Basic SQL2023-02-16
Categories
  • Computer Literacy7
  • Genesis1
  • Machine Learning26
  • MySQL10
  • notes1
Tags
Asynchronous-programming Compile Computer Vision DI DIP Design Patterns Dive-Into-Deep-Learning Generative-Model Hello IoC MultiThreading-programming Neural Network Neural-Network Residual-learning Seq2Seq-Model git hexo papers typography
Archives
  • February 202310
  • September 202226
  • March 20222
  • February 20221
  • January 20224
  • October 20212
©2020 - 2023 By Xavier
Framework Hexo|Theme Butterfly
Have a good day !
Local search
Loading the Database