![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 81
小浩码出未来!
数据分析/数据挖掘/机器学习/深度学习。
展开
-
数据分析-深度学习 NLP Day3句法分析
随着大规模标注树库的建立,基于统计学习模型的句法分析方法开始兴起,句 法分析器的性能不断提高,最典型的就是风靡于 20 世纪 70 年代的 PCFG ( Probabil istic Context Free Grammar ),它在句法分析领域得到了极大的应用,也是现在句法分析中常 用的方法。统计句法分析模型本质是一套面向候选树的评价方法,其会给正确的句法树 赋予一个较高的分值,而给不合理的句法树赋予一个较低的分值,这样就可以借用候选 句法树的分值进行消歧。而效率主要用于对 比句法分析器的运行时间。原创 2023-03-02 16:28:19 · 698 阅读 · 1 评论 -
数据分析-深度学习 NLP Day2关键词提取案例
根据具体要处理的文本,计算每个词的TF值,并获取前面训练好的IDF数据,直接获取每个词的IDF值,综合计算每个词的TF-IDF。model为本主题模型的具体算法,分别可以传入LSI,LDA,默认为LSI。5 加载数据集,并对数据集中的数据分词和过滤干扰词。12 对上面的各个方法进行封装,统一算法调用接口。3)根据训练好的算法提取关键词;3)对数据集中的文档进行分词;4)根据停用词表,过滤干扰词;2)根据停用词表,过滤干扰词;2 定义好停用词表的加载方法。1)加载已有的文档数据集;5)根据数据集训练算法;原创 2023-02-21 16:56:01 · 1226 阅读 · 0 评论 -
数据分析-深度学习 Tensorflow Day6
其实是这样的,前馈是从网络结构上来说的,是前一层神经元单向馈入后一层神经元,而后面的神经元没有反馈到之前的神经元;而BP网络是从网络的训练方法上来说的,是指该网络的训练算法是反向传播算法,即神经元的链接权重的训练是从最后一层(输出层)开始,然后反向依次更新前一层的链接权重。以上 就是损失函数: 我们知道,这个函数,当他的导数为0的时候, 它的值最小。则f(g(x))对x的导数为=f(g(x))的导数 * 个g(x)的导数。f(x)=x*x*x +3*x+4 的导数是 3(x*x)+3。原创 2023-02-15 17:51:09 · 384 阅读 · 0 评论 -
数据分析-深度学习 Tensorflow Day5
由上图可以看出,当正确结果处的概率越大 则信息熵越小,信息量越大 最大为1,交叉熵为0。本篇博客会记录数据加载,全连接层,输出方式,误差计算的相关知识点。就是各种激活函数和原始输出的联系和作用。MSE 和 交叉熵 计算loss。常用数据集及数据集加载。原创 2023-02-12 09:12:37 · 120 阅读 · 0 评论 -
数据分析-深度学习 Tensorflow Day2
那么为什么要区分需要计算梯度信息的张量和不需要计算梯度信息的张量呢?由于梯度运算会消耗大量的计算资源,而且会自动更新相关参数,对于不需要优化的张量,如神经网络的输入X不需要通过tf.Variable封装;相反,需要计算梯度并优化的张量,如神经网络层的W和b,需要通过tf.Variable封装以便TensorFlow跟踪相关梯度信息。为了区分需要计算梯度信息的张量和不需要计算梯度信息的张量。tf.Variable()类型在普通张量类型的基础上添加了name、trainable等属性来支持计算图的构建。原创 2023-02-04 10:09:26 · 147 阅读 · 0 评论 -
数据分析-深度学习Pytorch Day13
反向传播算法让多层感知器,或者说传统的全连接神经网络有了训练的手段,引发了神经网络的第二次热潮,虽然为期不长,毕竟当时算力和数据都很有限,但是全连接神经网络总算是正式起来了。单层感知机是二分类的线性分类模型,输入是被感知数据集的特征向量,输出时数据集的类别{+1,-1}。该函数称为单层感知机,其中w是网络的N维权重向量,b是网络的N维偏置向量, w.x是w和x的内积,w和b的N维向量取值要求在实数域。单层感知机是二分类的线性分类模型,输入是被感知数据集的特征向量,输出时数据集的类别{+1,-1}。原创 2023-01-31 22:22:48 · 391 阅读 · 0 评论 -
数据分析-深度学习Pytorch Day11
梯度下降法( gradient descent )是一阶最优化算法,通常也称为最速下降法,是通过函数当前点对应梯度(或者是近似梯度)的反方向,使用规定步长距离进例行迭代搜索,从而找到一一个函数的局部极小值的算法,最好的情况是希望找到全局极小值。但是在使用梯度下降算法时,每次更新参数都需要使用所有的样本。它是对梯度下降法算法的一种改进,且每次只随机取一部分样本进行优化, 样本的数量一般是2的整数次幂,取值范围是32~256,以保证计算精度的同时提升计算速度,是优化深度学习网络中最常用的一类算法。原创 2023-01-28 23:18:33 · 443 阅读 · 0 评论 -
数据分析-深度学习Pytorch Day9
理论篇的上一篇文章中我们学习了残差网络(ResNet),其核心思想是通过跳跃连接构建残差结构,使得网络可以突破深度的限制,从而构建更加深层次的网络。本期实战分享我们主要对ResNet网络结构中常用的ResNet-18进行代码Tensorflow实践, 本次代码十分简洁,希望各位全程跟上。本次数据采用RAFDB人脸表情数据集,包含七个分类:平和,开心,悲伤,惊讶,厌恶,愤怒,害怕。与之前的数据集类似,该人脸表情数据集也包含。一样,该数据集包含训练集与测试集,每个集包含七个文件夹(表情)原创 2023-01-26 18:10:46 · 279 阅读 · 0 评论 -
数据分析-深度学习 Pytorch Day9
换句话说,可以认为神经网络的前面几层学习到的是通用特征,随着网络的加深,后面的网络更偏重于学习到任务相关的特定特征,因此可以利用这种通用特征和任务相关的特定特征进行知识迁移。针对目前强化学习接入、训练都比价耗时的情况,利用预训练的模型可以显著的降低训练工作量,提升训练效果,预训练的模型在计算机视觉、NLP领域都取得了很大的成功,但是在强化学习领域,仍然是一个亟待研究的问题,后续我们可以考虑通用模型建模和预训练模型,从而进一步提升强化学习的训练效率和模型表现。生成器和判别器的互相博弈,就完成了对抗训练。原创 2023-01-23 22:05:27 · 727 阅读 · 0 评论 -
数据分析-深度学习 Pytorch Day8
我们类比着来学习,首先看图中最中间的地方,Cell,我们上面也讲到了memory cell,也就是一个记忆存储的地方,这里就类似于普通RNN的 �� ,都是用来存储信息的,这里面的信息都会保存到下一时刻,其实标准的叫法应该是 ℎ� ,因为这里对应神经网络里的隐藏层,所以是hidden的缩写,无论普通RNN还是LSTM其实t时刻的记忆细胞里存的信息,都应该被称为 ℎ�。在现实生活中,门就是用来控制进出的,门关上了,你就进不去房子了,门打开你就能进去,同理,这里的门是用来控制每一时刻信息记忆与遗忘的。原创 2023-01-22 21:46:22 · 605 阅读 · 1 评论 -
数据分析-深度学习Pytorch Day6
问题1:如果隐藏层有1000个神经元,每个样本的输入是100*100*3,仅仅单层的总weights数是。池化的缺陷:池化的作用是将图片变小,做了subsampling之后减小运算量。对比两种不同方式下的颜色:在单个感受野生成的列向量对应的权重和Fliters中的数值是一一对应。不同的神经元能够实现参数共享share parameters,从而作用域不同的感受野区域。感受野:用来表示网络内部的不同位置的神经元对原始图像的感受范围的大小。问题来了:相同的特征在不同的位置,需要在不同的位置使用不同的神经元吗?原创 2023-01-16 22:25:01 · 473 阅读 · 1 评论 -
数据分析-深度学习 Pytorch Day5
如果学习率调整的太小,比如蓝色的线,就会走的太慢,虽然这种情况给足够多的时间也可以找到最低点,实际情况可能会等不及出结果。坐标系中是两个参数的error surface(现在考虑左边蓝色),因为 w1 对 y的变化影响比较小,所以 w1 对损失函数的影响比较小,w1 对损失函数有比较小的微分,所以w1方向上是比较平滑的。同理反复进行这样的计算。上图左边是 x1 的scale比 x2 要小很多,所以当 w1 和 w2 做同样的变化时,w1 对y 的变化影响是比较小的,x2对 y 的变化影响是比较大的。原创 2023-01-15 22:09:18 · 477 阅读 · 1 评论 -
数据分析-深度学习 Pytorch Day4
对低频的参数做较大的更新,对高频的做较小的更新,也因此,对于稀疏的数据它的表现很好,很好地提高了 SGD 的鲁棒性,例如识别 Youtube 视频里面的猫,训练 GloVe word embeddings,因为它们都是需要在低频的特征上有更大的更新。但是在AdaGrad中,随着梯度g的增大,我们的r也在逐渐的增大,且在梯度更新时r在分母上,也就是整个学习率是减少的,这是为什么呢?在实际应用中,各个参数的重要性肯定是不一样的,所以我们对于不同的参数要动态的采取不同的学习率,让目标函数更快的收敛。原创 2023-01-14 23:44:44 · 442 阅读 · 0 评论 -
数据分析-深度学习 Pytorch Day3
PyTorch张量在概念上与numpy数组相同:张量是一个n维数组,PyTorch提供了许多操作这些张量的函数。对于现代的深度神经网络,gpu通常提供50倍或更高的加速,所以很不幸numpy不足以满足现代的深度学习。Torch张量和NumPy数组将共享它们的底层内存位置(如果Torch张量在CPU上),改变一个就会改变另一个。当创建一个未初始化的矩阵时,无论当时分配的内存中有什么值,都会显示为初始值。在现有张量上创建的张量,其属性将重用输入张量的属性,除非用户提供新的值。原创 2023-01-13 16:05:38 · 687 阅读 · 0 评论 -
数据分析-深度学习Pytorch Day2
server的带宽成为server和worker的通信瓶颈,并且worker数量越多,通信成本越大,在server和worker进行通信的时候,server是不进行计算的,因此会造成资源浪费。在model(test)之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。每个GPU两两进行梯度交互,构成一个闭环,最终可以使得所有GPU都有相同的梯度。DP比DDP慢,原因是:DP需要传输“数据”,“模型”,“输出”,“损失”,“梯度”,而DDP只需要传输“梯度”。原创 2023-01-12 23:59:41 · 209 阅读 · 0 评论 -
数据分析-深度学习Pytorch Day1
2其次要注意将命令中-c pytorch删除,-c pytorch的意思就是从官网上获取,即使你已经更换了镜像源,去除-c pytorch之后,系统就会默认从设置的镜像源中获取。第二步:安装CUDA,搜索Cuda download,下载CUDA Tookit10.0 Download(根据python版本选择相应的CUDA版本),安装完成之后,打开cmd检测安装是否成功。安装完成以后,默认会安装一些附属的包,比如torchvision等。找到对应的版本下载即可,我的是python3.6,cuda9.0。原创 2023-01-11 22:33:28 · 367 阅读 · 0 评论 -
数据分析-深度学习Day5
而a又可以为下一级神经元作为输入,经权重偏置计算的到Z',Z'',我们求C对z的偏微分就可以经过链式法则,a对z的偏微分就是sigmoid(z)的导数,我们很熟悉,而后者可以展开成图最后的式子,当然Z',Z''对a的偏微分就是w3,w4,但是C对Z',Z''的偏微分怎么求呢,只要还有下一级神经元,我们就需要再往下一级计算(事实上类似于递归的算法)我们假设当前神经元连结的不是输出层,即连接的还是神经元,我们为了求出当前的偏导就需要用到下一级的偏导,直到传递到输出层,和递归很向吧。关注IP属地: 上海。原创 2023-01-10 22:28:54 · 226 阅读 · 0 评论 -
数据分析-深度学习 Day4
参考下图,我们再来看一下,下图中的每一行都是一个样本资料,图中给了batch=3的情况,假设我们对 z1 做了微小的改动,那本来是只会影响到 a1 的输出,然后由于做了Feature Normalization, μ 和 σ 都会发生相应的变化,这会间接影响到每个 ai 的输出,因此,在做了Feature Normalization之后,每个输入都变得相互关联了,这样的话,我们将所有输入资料和网络看做是一个。原创 2023-01-09 19:03:02 · 205 阅读 · 0 评论 -
数据分析-深度学习 Day3
attention的运作方式如下,输入可以是一个embedding的input,或者是hidden layer,比如下面的每个 bi 的输出都考虑了每个输入 ai 的信息,同时对于每个 ai 需要考虑它们各自的重要程度,因此会有一个权重 α ,对于 α 的计算方式有很多,比如下面图中,红色框框内的计算方式就是transformer中self-attention的计算方式,右边黑色框框内的 α 是通过两个vector的和,再一层激活函数和一层线性层得到。Positon Encode 的功能,只是。原创 2023-01-08 22:54:41 · 237 阅读 · 0 评论 -
数据分析-深度学习 Day2
attention的运作方式如下,输入可以是一个embedding的input,或者是hidden layer,比如下面的每个 bi 的输出都考虑了每个输入 ai 的信息,同时对于每个 ai 需要考虑它们各自的重要程度,因此会有一个权重 α ,对于 α 的计算方式有很多,比如下面图中,红色框框内的计算方式就是transformer中self-attention的计算方式,右边黑色框框内的 α 是通过两个vector的和,再一层激活函数和一层线性层得到。Positon Encode 的功能,只是。原创 2023-01-07 21:50:30 · 563 阅读 · 3 评论 -
数据分析-深度学习 Day1
李宏毅老师给出了一个可能的解释是:在模型刚开始训练的时候,每个数据点对模型来说都是新的,并没有学到任何东西,或者说并不知晓数据的分布情况,这个时候的 σ 统计是不精准的,模型这个时候如果给与比较大的学习率很容易学偏,并且在一开始的时候很难把错误的点拉回来,因此在模型一开始训练的时候让它慢慢学,等到学到一定的先验知识,对数据分布有了解之后,再加大学习率去学习,至于后面为什么要小下去,这个解释和前面的learning rate decay的思想一样。但细心的同学也许会发现,原创 2023-01-06 08:51:33 · 661 阅读 · 0 评论