
深度学习
文章平均质量分 62
暗紫色的乔松(-_^)
但行远方,莫问前程
展开
-
深度理解卷积神经网络
神经网络包括卷积层,池化层,全连接层。一个最简单的神经元结构,假如有三个输入,都对应一个权重参数,然后通过权重加起来,经过一个激活函数,最后输出y。CNN中独特的结构就是卷积层,就是一个卷积核然后根据步幅进行扫描运算,最后输出特征矩阵。卷积核的深度和输入特征矩阵的深度相同,而输出的特征矩阵深度和卷积核个数相同。如果加上偏移量bias的话,就在输出的特征矩阵进行相加减即可。使用激活函数的目的是引用非线性因素,具备解决非线性的能力。主要有sigmoid激活函数和Relu激活函数。原创 2023-01-22 20:23:39 · 4074 阅读 · 2 评论 -
数据增广,微调(迁移学习)
应用图像增广的其中一个好处就是扩大了训练集的规模,另外一个好处就是,随机改变训练样本可以减少模型对某些属性的依赖,也就是说提高了模型的泛化能力,模型性能更好。假如把在一个关于车辆的预处理好的模型应用在医学影像上边,这样的效果可能不是很好,往往两个具有相似的数据,应用迁移学习比较好一些。包括左右翻转,上下翻转,需要注意的是上下翻转不一定总是可行,比如说一只正经的猫,上下翻转后,就不对了。这个也好说,就是从图片中切割一块,然后变形到固定形状,常见形式有随机高宽比,随机大小,随机位置。改变色调,饱和度,明亮度。原创 2023-01-16 16:42:08 · 381 阅读 · 0 评论 -
残差网络ResNet
ResNet架构:类似于VGG,但是是替换成了ResNet块,残差快里首先是两个有相同输出通道的3*3卷积层,每个卷积层后面是一个批量规范化层和ReLU激活函数。通过跨层数据通路,跳过这两个卷积运算,将输入加在最后的ReLU激活函数之前。如果改变通道数的话,可以再引入一个1*1的卷积层将输入变换成需要的形状后再做相加运算。残差块:串联一个层改变函数类,相当于扩大函数类,加入快速通道来得到相应的结构,类似于一个跳跃的操作。通俗点就是类似与一个嵌套的函数结构,保证更接近真实的函数。原创 2023-01-15 18:01:11 · 184 阅读 · 0 评论 -
AlexNet,VGG,NiN,GoogleNet,批量归一化
学着学着突然发现,数据分析numpy,matplotlib,pandas这一部分内容没学完,还有pytorch的一些代码没有学完,所以看AlexNet这一些代码实现的时候,很多都看不懂,也得慢慢的补上来了hhh。原创 2023-01-15 15:57:43 · 496 阅读 · 0 评论 -
经典卷积神经网络LeNet
先使用卷积层来学习图片空间信息。然后使用全连接层来转换到类别空间。原创 2023-01-08 16:45:53 · 133 阅读 · 0 评论 -
卷积层里的多输入多输出通道、池化层
在每个输入通道应用池化层以获得相应的输出通道。输出通道数等于输入通道数。无论有多少输入通道,到目前为止我们只用到单输出通道。可以有多个三维卷积核,每个核生成一个输出通道。每个输入通道有独立的二维卷积核,所有通道结果相加得到一个输出通道结果。平均池化层:将最大池化层中的“最大”操作替换为“平均”。每个通道都有一个卷积核,结果是所有通道卷积结果的和。最大池化层:每个窗口中最强的模式信号。每个输出通道有独立的三维卷积核。池化层返回窗口中的最大或平均值。输出通道数是卷积层的超参数。缓解卷积层对位置的敏感性。原创 2023-01-08 15:53:35 · 425 阅读 · 0 评论 -
卷积层、卷积层里的填充和步幅
填充就是在输入周围添加额外的行/列,填充减小的输出大小与层数线性相关。权重衰退通过L2正则项使得模型参数不会过大,从而控制模型复杂度。步幅是每次滑动核窗口时的行/列的步长,可以成倍的减少输出形状。输入X,卷积核W,输出Y=X*W+b,w和b是可学习的参数。填充在输入周围添加额外的行/列,来控制输出形状的减少量。正则项权重是控制模型复杂度的超参数。训练误差:模型在训练数据上的误差。泛化误差:模型在新数据上的误差。比如说,文本,语言,时间序列。填充和步幅是卷积层的超参数。训练数据集:训练模型参数。原创 2023-01-08 10:06:28 · 514 阅读 · 0 评论 -
Anaconda基本命令
conda env list或者conda info -e或者conda info --env。conda list或者pip3 list或者pip list。pip3 install 包名。pip3 install 包名。pip3 search 包名。查看已经创建的虚拟环境。name代表环境名字。原创 2023-01-08 00:01:32 · 189 阅读 · 0 评论 -
深度学习——多层感知机
多层感知机在输出层和输入层之间增加一个或多个全连接隐藏层,并通过激活函数转换隐藏层的输出。常用的激活函数包括ReLU函数,sigmoid函数和tanh函数。原创 2023-01-01 19:37:41 · 1294 阅读 · 0 评论 -
GPU版本PyTorch
下载完Anaconda之后,pip的版本过低,先用命令升级一下,要不然pip3用不了,也会出现很多问题,直接用pip去下载PyTorch会很慢,容易超时,直接用pip3下载,瞬间完事儿。用镜像下载也行,可以提高下载速度,一些博主也给了一些方法了,但是官网给的那个路径不是CPU版本的,所以得自己单独去挑选,也比较麻烦,如果官网直接就给的GPU版本就好办了。经过我两天两夜的不懈努力,看了无数的博客,结合自己电脑的情况,终于把它给下载成功了!直接用pip3下载即可,30秒左右就可以下载完了,可惜是CPU版本的。原创 2023-01-01 13:06:52 · 542 阅读 · 0 评论 -
线性神经网络
1.在训练模型时,为了能够同时处理整个小批量的样本,对计算进行矢量化,从而利用线性代数库。矢量化表达更简洁,同时运行的更快。2.机器学习模型中的关键要素是训练数据、损失函数、优化算法,还有模型本身。3.最小化目标函数(损失函数)和执行极大似然估计等价。接下来要定义模型,将模型的输入和参数同模型的输出关联起来。计算模型的输出,只需要计算输入特征X和模型权重w的矩阵-向量乘法后加上偏置b。X,w是向量,b是标量。由于广播机制,用一个向量加上一个标量时,标量会被加到向量的每个分量上。原创 2022-12-25 00:40:13 · 489 阅读 · 0 评论 -
深度学习——预备知识(3)线性代数、微积分、自动微分、概率、查阅文档
标量、向量、矩阵和张量是线性代数的基本数学对象。标量、向量、矩阵和张量分别具有0,1,2和任意数量的轴。一个张量可以通过sum和mean沿指定的轴降低维度。两个矩阵的按元素乘法被称为他们的Hadamard积,与矩阵乘法不同。在深度学习中,会经常使用范数,如L1范数,L2范数和Frobenius范数。深度学习框架可以自动计算导数,首先将梯度附加到想要对其计算偏导数的变量上,然后记录目标值的计算,执行它的反向传播函数,并访问得到的梯度。一些用法可以查看官方文档。原创 2022-12-20 12:24:02 · 539 阅读 · 0 评论 -
深度学习——预备知识(2)数据预处理
我们常用pandas进行数据分析,pandas可以与张量兼容。用pandas处理缺失数据,我们可以根据情况选择用插值法和删除法。原创 2022-12-18 20:17:25 · 274 阅读 · 0 评论 -
深度学习——预备知识(1)数据操作
解决分类问题,最常见的目标函数是最小化错误率(预测与实际不符的样本比例)。损失函数根据模型参数来定义,并取决于数据集。在一个数据集上,可以通过最小化总损失来学习模型参数的最佳值。原创 2022-12-18 17:04:08 · 678 阅读 · 0 评论