深度学习
文章平均质量分 88
深度学习学习笔记
WSKH0929
2022年博客之星综合评分人工智能领域Top4、总榜Top24;阿里云专家博主;CSDN博客专家、人工智能领域优质创作者;已授权美国专利1件、发明专利9件和软著2件、受理发明专利2件、在申发明专利1件;获得17个算法/系统开发类竞赛奖项,在第四届集成电路EDA设计精英挑战赛(国内EDA算法领域最高水平竞赛)中获得一等奖和华大九天企业特别奖;负责过5个企业项目的算法及系统开发,其中3个合作企业为世界五百强,拥有较丰富的算法设计与开发经验
展开
-
【深度学习】李宏毅2021/2022春深度学习课程笔记 - 机器学习的可解释性
还有另外的方法如下图所示,我们可以用一个简单的容易解释的线性模型去模仿难以解释的深度模型,例如,我们给定同样的输入,目标是线性模型的输出和深度模型的输出越接近越好,以此训练出来的线性模型就会模仿深度模型,进而我们可以通过分析线性模型达到解释深度模型的效果。比如下面的第一张图,灰色方框位于狗狗的脸处时,模型识别出狗狗的概率最低,位于其他位置时,模型仍然可以大概率识别出狗狗,所以模型是根据狗狗的脸去判断的,而不是看到了地板或、墙壁或者玩具球才觉得图片中的是狗,这就成为了一个解释!原创 2023-05-30 12:00:00 · 1405 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Adversarial Attack(恶意攻击)
是有可能的,如下图所示,我们在训练资料中给图片加入一些人类观察不到的杂讯,用这些被加了杂讯的图片训练出来的模型,在看到特定的照片时就会识别错误。假设我们知道要被攻击的模型的训练资料,那么我们可以用一样的训练资料训练出一个和要被攻击的模型很相似的模型,然后用白盒攻击的方法攻击相似的模型,再用对相似模型攻击有效的带有杂讯的数据去攻击真正要攻击的模型,这时候成功率就会比较高。还有更离谱的,在加了另外的杂讯后,模型居然认为图片中的是 Keyboard,由此可见,恶意攻击对模型的影响真的是非常大呀!原创 2023-01-08 00:12:52 · 21265 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Anomaly Detection(异常侦测)
在这个案例中,我们就希望通过异常侦测的手段,把这些小白的操作找出来。在异常侦测任务中,我们往往不会拿正确率来衡量模型的好坏,因为异常数据的数量往往是比较少的,所以,即使模型将所有数据都认定为非异常的数据,算出来的正确率也是很高的。由于训练数据是没有标签的,我们可以让模型输出一个实数,代表输入和训练数据的相似程度,当模型输出小于阈值时,则认为输入是异常的,否则输入是正常的。当然,异常侦测也会遇到挑战,比如当正常资料是猫的时候,给定一个老虎的图片,模型很可能会认为老虎是猫,因为老虎和猫确实是有相似的地方的。原创 2023-01-07 08:54:10 · 20915 阅读 · 2 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Self-supervised Learning(自监督式学习)
在训练的时候,BERT的输入是Mask的,如下图所示,输入“台湾大学”中的“湾”字被Mask了,通常Mask有两种方式,一种是替换为特殊的Mask符,还有一种是随机替换为另一个中文字符。Predict Next Token 是生成式的,它可以根据输入的Token预测下一个Token,然后再用预测的Token作为输入继续往下预测Token,直到预测出现终止符停止。有很多方法,如下图所示,实验表明,把这些扰动的方法都用上效果是比较好的。如下图所示,线性层的参数是随机初始化的,而BERT的参数是预训练后得到的。原创 2023-01-06 08:13:58 · 22164 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - 各式各样神奇的自注意力机制(Self-Attention)变型
Local Attention / Truncated Attention 的思想是,在计算Attention的时候,不利用整个序列的信息,而是只利用当前位置附近的一些信息进行Attention的计算(如下图,只利用了当前位置左右两边的信息进行Attention的计算)。将Key和Query进行点积,可以得到一个N×N的Attention Matrix,但是,当N比较大时,点积的计算量是我们无法承受的。方法2:将原本的d×N的矩阵乘上一个N×K的矩阵,就可以得到d×K的矩阵,从而实现降维。原创 2023-01-05 09:43:29 · 21192 阅读 · 0 评论 -
【深度学习】生成对抗网络(GAN)生成海贼王图像 + PyTorch代码实现
本文基于Pytorch实现了GAN,并用于海贼王图像的生成。文章内提供了GAN教程和海贼王图像数据集的链接,配备有全部代码及其解释。原创 2023-01-02 16:33:06 · 25516 阅读 · 29 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Recurrent Neural NetWork(RNN)
其实也不难,其中一个想法就是,将同层中,上一个词汇的 Embedding 作为 当前词汇的 额外输入,这样就具有了上一个词汇的信息,而上一个词汇(如果不是第一个词汇的话)又具有上上个词汇的信息,以此类推,当前词汇就具有了上文所有词汇的信息。注意哈,这里的长短期记忆不是指长期或短期的记忆(我一开始就是这么认为的),其实是长的短期记忆的意思,也就是说LSTM其实还是短期记忆,只是稍微长了那么一些的短期记忆而已!但是在LSTM中,它的Memory是加权叠加性的,所以原来存在Memory里的值基本都会有所残留。原创 2022-12-14 20:23:49 · 21140 阅读 · 0 评论 -
【深度学习】PyTorch深度学习实践 - Lecture_13_RNN_Classifier
由于数据长短不一,所以我们需要进行Padding操作,填充0以使得所有数据长度一样。由于输入数据全是英文字符,所以可以利用ASCII码,将字符型数据转化为数值型数据。:根据名字,预测其所属国家。原创 2022-12-14 18:49:38 · 19833 阅读 · 0 评论 -
【深度学习】PyTorch深度学习实践 - Lecture_12_Basic_RNN
RNN的特点在于其可以用来处理有顺序要求的分类任务,例如自然语言处理、时间序列预测等。Q:那么RNN为什么可以处理有序数据呢?A:因为其具有一个特殊结构,称之为RNNCell。原创 2022-12-14 16:09:43 · 19861 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Convolutional Neural NetWork(CNN)
比如,同样的一只猫,可能因为背景的不同,网络就识别不好了,全连接网络不能较好地提取图像特征。这个特征域是可以根据你要求解的图像分类问题的特性任意设定的,比如你要求解的图像分类问题的图像中的特征位于图片的左上角和右上角,那接受域你也大可不用设置为正方形,可以设置成两个正方形分开的一种特殊接受域。如图所示,假设我们想知道图片的类别是鸟,作为人类,我们要想分辨图中有没有鸟,我们会着重分别图中有没有鸟的某些明显的特征,比如我看到图中有鸟的头,我就认为图中有鸟,我看到图中有鸟的尖嘴,我也认为图中有鸟。原创 2022-12-13 00:29:50 · 20932 阅读 · 0 评论 -
【深度学习】PyTorch深度学习实践 - Lecture_11_Advanced_CNN
在CNN基础篇中介绍的CNN都是串行结构,而在实际应用中,还存在很多具有更复杂结构的CNN,例如存在分支、存在回溯等等,下面对一些具有复杂结构的CNN进行介绍。原创 2022-12-12 23:27:07 · 20139 阅读 · 3 评论 -
【深度学习】PyTorch深度学习实践 - Lecture_10_Basic_CNN
如下图所示,MaxPooling=(2,2),即将输入数据分成四个(2,2)无交集的区域,然后选取每个区域的最大值作为输出数据。:在输入数据的四周进行扩展的数量,比如Padding = (1,1)代表在输入数据的四周一圈扩展并填充0。如Stride =(2,2)分别表示宽和高方向上的滑动步长。当卷积核大小为n×n时:Padding=(m,m),其中 m =(n-1)/2,n为奇数。当卷积核大小为3×3时:Padding=(1,1)当卷积核大小为5×5时:Padding=(2,2)最常用的下采样方法是。原创 2022-12-12 22:33:24 · 20436 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Classification(Short Version)
本节用较短的篇幅介绍一下深度学习解决如何分类问题。如果想看长的版本,可以参考下面的视频。原创 2022-12-12 12:02:13 · 20153 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Task Tips
如下图所示,我们会把原始训练资料分为训练集和验证集,其中假设验证集占原始训练资料的三分之一,那么就可以进行三折交叉验证,根据将原始训练数据分为三个不同的验证集和训练集,可以训练出三个模型,我们最终会选择这三个模型中,在验证集上Loss最小的作为最终模型。还是看上一节课讲的案例,2/26是星期五,按照以往的规律,星期五一般学习Deep Learning的人数都是比较少的,所以模型也认为2/26日播放量应该比较少,然而事实是,2/26反而是播放量最多的一天。尝试不同的模型,对比不同模型下,训练过程的Loss。原创 2022-12-11 22:06:06 · 21551 阅读 · 2 评论 -
【深度学习】超详细的 PyTorch 学习笔记(上)
帮助我们从批量tensor中取出指定乱序索引下的数据。在强化学习DQN中的使用 gather() 函数。view 和 reshape 的用法一致。标准正态分布:均值为0,方差为1。均匀分布:0-1之间。原创 2022-12-10 19:05:25 · 20781 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Introduction
这一步骤在 Deep Learning 中通常表现为建立Model。比如,建立了一个3层的全连接网络,每一层是由线性层+ReLu激活函数构成的,这就是我们定义的函数表达式。在每一个线性层中,都有未知的参数 w 和 b损失函数的值代表了真实值与预测值之间的差距,通常来说,损失函数值越小,代表模型的预测就越接近真实值。常用的损失函数如下图所示:MAE、MSE 等案例介绍已知2017年-2020年的播放量数据,通过已知的数据,训练一个模型(拟合一个函数),预测未来的播放量思路分析建立参数未知的函数表达式。原创 2022-12-10 18:38:30 · 22507 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Transformer
Transformer是一个用于解决Seq2Seq问题的模型,用来解决输出长度不确定的问题Transformer是一个利用自注意力机制来提高模型训练速度的深度学习模型它适用于并行化计算它本身模型的复杂程度较高它在精度和性能上都要高于之前流行的RNN循环神经网络。Seq2Seq模型是输出的长度不确定时采用的模型,这种情况一般是在机器翻译的任务中出现,将一句中文翻译成英文,那么这句英文的长度有可能会比中文短,也有可能会比中文长,所以输出的长度就不确定了。它的输入是一个序列,输出也是一个序列。原创 2022-11-11 15:31:00 · 23063 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Generative Adversarial Network 生成式对抗网络(GAN)
下面是小精灵游戏画面,有很多小精灵在“迷宫”里走动。现给出一个需求,需要通过当前的游戏画面,预测下一帧的画面传统神经网络的做法是,将前面一帧或几帧的画面图片作为特征,当前画面图片作为标签进行训练,目的是使得通过历史画面,输出的画面和当前画面越接近越好。有人按照这样的思路做了,结果出现了一个问题,小精灵在走到岔路口时,会一分为二,分裂成两个小精灵,这是为什么呢?这是因为在岔路口时,即使是同样的历史画面,小精灵也有可能向左走或者向右走,所以在训练集里,很存在这样“矛盾”的标签,即同样的特征,但是输出不同,为了满原创 2022-11-10 22:51:27 · 24640 阅读 · 2 评论 -
【论文阅读】(2019)SimGNN:A Neural Network Approach to Fast Graph Similarity Computation
图形相似性搜索是最重要的基于图形的应用程序之一,例如查找与查询化合物最相似的化合物。图相似性距离计算,如图编辑距离(GED)和最大公共子图(MCS),是图相似性搜索和许多其他应用程序的核心操作,但实际计算成本很高。受神经网络方法最近成功应用于若干图形应用(如节点或图形分类)的启发,我们提出了一种新的基于神经网络的方法来解决这一经典但具有挑战性的图形问题,旨在减轻计算负担,同时保持良好的性能。提出的方法称为SimGNN,它结合了两种策略。首先,我们设计了一个可学习的嵌入函数。原创 2022-10-28 21:53:47 · 23024 阅读 · 4 评论 -
【图神经网络实战】深入浅出地学习图神经网络GNN(下)
最简单的思路是:我们可以将每个时刻的序列先送入GCN进行特征提取,然后再将提取后的特征送入GRU单元往后传递,依此类推。图中的注意力机制相当于在某个点进行特征重构时,其邻接点都加上一个权重,使得其在重构特征时受权重较大的邻接点影响更大,起到注意力的效果。对于动态图,传统的GNN就不太好用了,想想在时间序列数据上我们最常用的网络是什么?左图展示的是静态图,随着时间的变化,其图的邻接矩阵不发生改变(图的结构不变)右图展示的是动态图,随着时间的变化,其图的邻接矩阵也在变化(图的结构在变)权重参数a怎么计算呢?原创 2022-10-26 14:17:13 · 26298 阅读 · 0 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - (Multi-Head)Self-Attention (多头)自注意力机制 + Pytorch代码实现
通过前面的分析,这就引出了 Self-attention 自注意力机制。输入整个语句的向量到self-attention中,输出对应个数的向量,再将其结果输入到全连接网络,最后输出标签。如此一来,FC考虑的就是全文的数据,而非窗口内的数据或部分数据当然,以上过程可多次重复,如下图所示Google 根据自注意力机制在《Attention is all you need》中提出了 Transformer 架构。原创 2022-10-25 21:50:16 · 25219 阅读 · 3 评论 -
【论文阅读及复现】(2017)Densely Connected Convolutional Networks + Pytorch代码实现
最近的工作表明,如果卷积网络在靠近输入的层和靠近输出的层之间包含较短的连接,则它们可以更深、更准确和更有效地训练。在本文中,我们接受了这一观察并介绍了密集卷积网络(DenseNet),它以前馈方式将每一层连接到其他每一层。具有 L 层的传统卷积网络有 L 个连接——每层与其后续层之间有一个连接——我们的网络有 L*(L+1) /2 个直接连接。F 或每一层,所有前面的层的特征图被用作输入,它自己的特征图被用作所有后续层的输入。原创 2022-10-23 00:15:00 · 21842 阅读 · 1 评论 -
【深度学习】李宏毅2021/2022春深度学习课程笔记 - Auto Encoder 自编码器 + PyTorch实战
在自编码器中,如果我们输入一张图片,它会将图片降维成一个低维向量,而这个低维向量里就包含了图片的重要信息(可能是图片的颜色、图片的类型等等)Feature Disentanglement 特征解耦的目的是:从Encoder压缩得到的低维向量中,得到哪些数据对应什么特征信息。例如,100维的向量,我们通过特征解耦得出前50维代表图片的颜色,后50维代表图片的类型。给定一个数据集,再给定一个新数据,Anomaly Detector可以检测出新数据是否与数据集中的数据比较相似,如果不是,则判定其为异常数据。原创 2022-10-10 22:12:11 · 23211 阅读 · 0 评论 -
【图神经网络实战】深入浅出地学习图神经网络GNN(上)
V:点,每个点都有自己的特征向量(特征举例:邻居点数量、一阶二阶相似度)E:边,每个边都有自己的特征向量(特征举例:边的权重值、边的定义)U:整个图,每个图都有自己的特征向量(特征举例:节点数量、图直径)传统神经网络(CNN、RNN、DNN)要求输入格式是固定的(如2424、128128等)。但在实际场景中(例如道路交通),不同城市的道路数量和节点数量都不同,即输入数据格式不固定。对此,传统神经网络不能很好地解决,但是GNN可以用来解决此类问题。卷积:卷积核平移计算图卷积:自身信息+所有邻居信息。原创 2022-10-04 16:53:17 · 53608 阅读 · 21 评论 -
【GNN从入门到精通】第三章 Graph Neural Network
GCN也是一个神经网络层,它的层与层之间的传播方式如下图所示:A=A+ID~ii=∑jA~ijHHσ。原创 2022-10-04 16:51:08 · 21716 阅读 · 0 评论 -
【GNN从入门到精通】第二章 Graph Embedding
优点:参数说明:适用场景:适用场景:一阶相似性:如果两个节点连接,并且他们连接边的权重比较大,那么他们的Embedding应该是很相近的二阶相似性:如果两个节点的邻居很接近,那么这两个节点就算不互连,他们的Embedding应该也是很相近的https://github.com/shenweichen/GraphEmbedding原创 2022-10-04 16:50:11 · 22005 阅读 · 0 评论 -
【GNN从入门到精通】第一章 图的基本知识
图是由点和边组成的数据结构。原创 2022-10-04 16:48:59 · 21450 阅读 · 0 评论