![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习
文章平均质量分 70
记录深度学习相关知识
zadarmo_
这个作者很懒,什么都没留下…
展开
-
【Datawhale组队学习】2023年11月动手学大模型应用开发 —— 第一章 大模型简介
LangChain 框架是一个开源工具,充分利用了大型语言模型的强大能力,以便开发各种下游应用。它的目标是为各种大型语言模型应用提供通用接口,从而简化应用程序的开发流程。具体来说,LangChain 框架可以实现数据感知和环境互动,也就是说,它能够让语言模型与其他数据来源连接,并且允许语言模型与其所处的环境进行互动。LangChian 作为一个大语言模型开发框架,可以将LLM 模型(对话模型、embedding模型等)、向量数据库交互层 Prompt外部知识外部代理工具。原创 2023-11-14 00:47:48 · 335 阅读 · 0 评论 -
【深度学习】Pytorch训练过程中损失值出现NaN
Pytorch训练过程中损失值出现NaN原创 2023-08-27 10:43:56 · 755 阅读 · 1 评论 -
卷积神经网络:池化层
一、最大池化层、平均池化层池化层与卷积层比较类似:池化层定义了一个池化窗口池化窗口也是在输入数组上最左上方开始,从左到右、从上到下滑动对于最大池化层来说,在每个位置的操作不是乘积相加,而是取输入数组在当前窗口内的最大值。比如上图:4=max(0,1,3,4)4=max(0,1,3,4)4=max(0,1,3,4)对于平均池化层来说,是取窗口内的平均值。二、填充、步幅、多通道对于池化层来说,也有填充、步幅、多通道三个概念。填充、步幅与卷积层的类似。对于池化层来说,多通道与卷积层的有所不原创 2020-10-12 22:03:23 · 516 阅读 · 0 评论 -
卷积神经网络:多输入通道和多输出通道
一、多输入通道之前说到的的输入输出都是二维数组(即只有两个维度:高、宽)。而真实数据实际上有很多维度。比如,彩色图像除了高、宽,还有RGB三个颜色通道。所以,彩色图像在内存中表示为一个形状为3∗hx∗wx3*h_x*w_x3∗hx∗wx的三维数组。大小为3的这一维称为通道(channel)。当输入含有多个通道时,对应的卷积核也应该有相同的通道数。此时,输出为:每个通道分别做互相关运算,然后按通道相加。如下图:二、多输出通道假设输入通道数为cinc_{in}cin,输出通道数为coutc_{o原创 2020-10-12 21:22:02 · 5259 阅读 · 0 评论 -
卷积神经网络:填充、步幅
在卷积神经网络:二维卷积层中说到,如果输入XXX的形状为(hx,wx)(h_x,w_x)(hx,wx),卷积核KKK的形状为(hk,wk)(h_k,w_k)(hk,wk),那么输出YYY(特征图feature map)的形状为:{hy=hx−hk+1wy=wx−wk+1\begin{cases}h_y=h_x-h_k+1 \\w_y=w_x-w_k+1\end{cases}{hy=hx−hk+1wy=wx−wk+1即卷积层的输出形状由输入形状、卷积核窗口形状决定。这篇文章将记原创 2020-10-05 13:46:53 · 1672 阅读 · 0 评论 -
卷积神经网络:二维卷积层
文章目录一、简介二、互相关运算与卷积运算1. 互相关运算2. 卷积运算三、二维卷积层四、特征图和感受野一、简介CNN中最常见的就是二维卷积层,它有高、宽两个维度,常用来处理图像数据。二、互相关运算与卷积运算1. 互相关运算在二维互相关运算中,一个二维输入数组XXX和一个二维核KKK(kernel)数组进行互相关运算,输出一个二维数组。其中,核数组在卷积计算中称为卷积核或过滤器(filter)。具体运算方式:卷积核从输入的最左上方开始,从左往右、从上往下进行滑动当滑到某一位置时,窗口中原创 2020-10-04 00:30:02 · 5735 阅读 · 2 评论 -
卷积神经网络CNN:简介、学习大纲
一、简介卷积神经网络是一类包含卷积运算且具有深度结构的神经网络,具有表征学习的能力,常用于计算机视觉、自然语言处理、推荐系统、语音识别等领域。二、学习大纲卷积层、池化层的工作原理概念:填充、步幅、输入通道、输出通道探究数个代表性深度卷积网络:AlexNet、VGG、NiN、GoogLeNet、ResNet、DenseNet...原创 2020-10-03 23:12:19 · 226 阅读 · 0 评论 -
循环神经网络:梯度裁剪、困惑度
一、梯度裁剪循环神经网络中很容易出现梯度衰减或爆炸。由于是循环计算,在进行反向传播的时候,梯度会传播很多次。当传播过程中有大多数导数 > 1时,最终的梯度会出现∞\infty∞,即所谓梯度爆炸;当大多数导数 < 1时,最终的梯度会 →0\rightarrow0→0,即所谓梯度消失。对此,有一种可行的做法,称为梯度裁剪。假设将所有模型参数梯度的元素拼接成一个向量g\boldsymbol gg,并设裁剪的阈值是θ\thetaθ。则定义裁剪后的梯度为min(θ∥g∥,1)gmin(\frac原创 2020-09-08 14:16:32 · 502 阅读 · 0 评论 -
循环神经网络:循环神经网络
本节将介绍循环神经⽹络。它并⾮刚性地记忆所有固定⻓度的序列,而是通过隐藏状态来储存之前时间步的信息。⾸先我们回忆⼀下前⾯介绍过的多层感知机,然后描述如何添加隐藏状态来将它变成循环神经⽹络。一、不含隐藏状态的神经网络先考虑一个单层的多层感知机:复习一遍隐藏层的输出、输出层的输出。隐藏层的输出:H=ϕ(XWxh+bh)H=\phi (XW_{xh}+b_h)H=ϕ(XWxh+bh)其中,WxhW_{xh}Wxh表示输入层xxx和隐藏层hhh之间的权重参数,bhb_hbh为隐藏层h的偏差.原创 2020-09-02 23:17:36 · 289 阅读 · 0 评论 -
循环神经网络:语言模型
一、语言模型及自然语言处理简介语言模型是自然语言处理的重要技术,而自然语言处理中最常见的是文本数据。实际上,一段文本可以看做是一段离散的时间序列。假设一段长度为TTT的文本中的词依次为,w1,w2,...,wTw_1,w_2,...,w_Tw1,w2,...,wT,那么在离散的时间序列中,wt(1≤t≤T)w_t(1\leq t \leq T)wt(1≤t≤T)可看作是在时间步长(time step) t\ t t的输出或者标签。对于这样一段文本来说,语言模型将根据给定的训原创 2020-08-16 14:37:10 · 457 阅读 · 0 评论 -
循环神经网络RNN:简介、应用及学习大纲
最近有个比赛设计到了自然语言处理。所以先跳过《动手学深度学习》的卷积神经网络章节,进行循环神经网络章节的学习一、简介循环神经⽹络(recurrentneural networks)被设计⽤来更好地处理时序信息。它引⼊状态变量来存储过去的信息,并与当前的输⼊共同决定当前的输出。二、应用RNN常用于处理序列数据,比如:一段文字或声音购物或观影的顺序图像中的一行或一列像素所以,RNN常常用于:语言模型文本分类机器翻译语音识别图像分析手写识别推荐系统本次学习的重点是:语言.原创 2020-08-16 13:41:50 · 475 阅读 · 0 评论 -
numpy.squeeze | torch.unsqueeze | torch.expand
一、squeeze函数作用:从指定数组中删除长度为1的维度用法:numpy.squeeze(a, axis=None) # 或者torch.squeeze(a, axis=None) - a为指定数组 - axis不为None时,指定的维度必须是长度为1的单维度;为None时,删除所有长度为1的单维度举例import numpy as npa = np.arange(2).reshape(2, 1, 1)# array([[[0]],# [[1]]])np.sq原创 2020-08-14 22:32:13 · 10705 阅读 · 2 评论 -
深度学习基础:dropout解决过拟合现象
dropout有很多种方式。该文章主要总结倒置丢弃法一、dropout概述dropout是指:将hidden layer中的某些隐藏单元以一定的概率进行丢弃。被丢弃的神经元,在反向传播时,与这些神经元相关的权重梯度均为0。由于在训练中隐藏层神经元的丢弃是随机的,即h1,...,h5h_1 ,...,h_5h1,...,h5 都有可能被清零。这样输出层的计算都⽆法过度依赖h1,...,h5h_1 ,...,h_5h1,...,h5中的任⼀个,从而在训练模型时起到正则化的作⽤,并可以⽤来应对.原创 2020-07-21 17:19:08 · 1139 阅读 · 0 评论 -
深度学习基础:解决过拟合现象之权重衰减
针对于过拟合现象,有两种可以解决的办法:权重衰减、丢弃法。这篇文章先总结权重衰减。一、权重衰减介绍及参数迭代方式推导权重衰减是等价于L2L_2L2范数正则化的。那么什么是正则化呢?正则化是通过为模型损失函数添加惩罚项使得学习出的模型参数值较小的办法,是应对过拟合的常用手段。下面先描述L2L_2L2范数正则化,再解释为何它叫权重衰减。L2L_2L2范数惩罚项是指:模型的权重参数每个元素的平方和 × 正常数。以线性回归中的损失函数为例。将权重参数用向量w=[w1,w2]\boldsymbol原创 2020-07-21 12:49:31 · 1006 阅读 · 0 评论 -
深度学习基础:模型选择、K折交叉验证、欠拟合和过拟合
有时候,模型在训练数据集上更准确时,这个模型在测试集上不一定更准确,这是为什么呢?一、训练误差和泛化误差训练误差是指在训练集上表现出的误差,而返回误差是指在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。我的理解:由于训练误差是经过模型在训练集上反复训练的,它的结果会更倾向于训练集的结果。那么如果将其损失值降得过低,就好像是这个模型专门为这个训练集训练了一组参数。显然,这组参数就不那么容易去适应测试集中随机出现的一组数据。如此,训练误差低的,返回误差就可能还更高一些了.原创 2020-07-19 17:57:39 · 1149 阅读 · 0 评论 -
深度学习基础:实现多层感知机
%matplotlib inlineimport d2lzh as d2lfrom mxnet import gluon, initfrom mxnet.gluon import loss as gloss, nn## 读取数据batch_size = 256train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, root='')## 构建网络net = nn.Sequential()net.add(nn.Dens原创 2020-07-19 12:52:49 · 189 阅读 · 0 评论 -
深度学习基础:多层感知机理论部分
一、概述前面所介绍的线性回归和Softmax回归都是单层神经网络。而深度学习主要关注多层网络模型。所以以多层感知机(multilayer perceptron, 简称MLP)为例,介绍多层神经网络的概念。二、隐藏层多层感知机在单层神经网络的基础上引入了若干层的隐藏层(hidden layer),其位于输入和输出之间。多层感知机的输出O∈Rn×q\boldsymbol O \in R^{n×q}O∈Rn×q为:H=XWh+bhO=HWo+bo\boldsymbol {H=XW_h+b_h} \\\原创 2020-07-19 11:47:36 · 661 阅读 · 0 评论 -
深度学习基础:实现Softmax回归
一、导入库%matplotlib inlineimport d2lzh as d2lfrom mxnet import gluon, initfrom mxnet.gluon import loss as gloss, nn二、获取Fashion-MNIST数据集并读取数据在给出代码之前,先介绍一下该数据集。Fashion-MNIST数据集是比MNIST数据集更复杂的数据集。其中,图像的形状为(28, 28, 1),表示高、宽均为28,通道数为1(灰度图像)训练集图像每个类别有6000个原创 2020-07-18 20:04:59 · 423 阅读 · 0 评论 -
深度学习基础:Softmax回归理论部分
一、概述前面所学的线性回归模型适用于输出为连续值的情景。而在某些场景中,模型输出也可以是像图像类别这样的离散值(比如1、2、3分别表示3个类别)。此时就需要用到Softmax回归。与线性回归不同的是,softmax回归的输出单元不止一个,有多个(如下图),并且还引入了sofmax运算,使得输出更适合离散值的预测和训练。二、基于一个简单例子的Softmax回归模型先引入一个简单的例子,为后续学习softmax模型做铺垫。现在有一个图像分类问题,图像的输入高、宽均为2个像素,且色彩为灰度,这种图像的原创 2020-07-14 15:31:45 · 343 阅读 · 0 评论 -
深度学习基础:实现线性回归
一、说在前面上一节总结了线性回归的基本要素。这一次用代码实现线性回归。在实际训练一个模型的时候,需要有以下一些步骤:实际上,每个部分都有一些小技巧在里面。只能慢慢学了~二、代码实现1. 数据由于是自己学习,将随机生成数据。在线性回归中具体是生成哪些数据呢?我们要达到的目的,给定影响一个房子放假的若干因素,比如面积和房龄,来预测出其房价。所以,我们需要生成以下数据:很多很多个房子的面积和房龄,记为x1,x2\boldsymbol{x_1,x_2}x1,x2这些房子的真实价格,记为y\bo原创 2020-07-10 17:15:46 · 719 阅读 · 0 评论 -
深度学习基础:线性回归理论部分
一、概述线性回归的输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,例如预测房屋价格、气温、销售额等连续值的问题。由于线性回归是单层神经网络,所以先学习线性回归,了解深度学习模型的基本要素和基本方法。二、一个具体的例子以房屋价格预测作为例子来解释线性回归的基本要素。房屋的价格受很多因素的影响,比如房屋状况、地段、市场行情等等。这里,我们假设价格只取决于两个因素:面积(平方米)和房龄(年)。我们希望探索价格与这两个因素的具体关系。1.模型线性回归顾名思义,就是假设输出和各个输入之间是线原创 2020-07-06 15:39:23 · 420 阅读 · 0 评论