kawhy_机器学习笔记
文章平均质量分 62
平时学习、实践深度学习的内容记录
武汉大学-王浩宇
这个作者很懒,什么都没留下…
展开
-
Transformer
Transformer是一个Seq2Seq的模型,其特点是输出Seq的长度是由模型决定的。原创 2024-08-06 18:22:12 · 548 阅读 · 0 评论 -
补充:理解Query、Key和Value
Query(查询)每个输入元素(如单词、字符等)都有一个Query向量。Query向量表示我们正在寻找的信息或特征。在计算注意力权重时,Query用于匹配Key,从而确定关注哪些元素及其重要程度。Key(键)每个输入元素也有一个Key向量。Key向量表示元素的特征或内容。Key用于与Query匹配,计算两者的相似度或相关性,从而确定哪些元素对当前Query重要。Value(值)每个输入元素还有一个Value向量。Value向量表示实际的信息或特征值。原创 2024-07-30 17:26:58 · 605 阅读 · 0 评论 -
多层感知机(MLP)笔记
多层感知机(Multilayer Perceptron,简称MLP)是一种典型的前馈神经网络。它由多个层次的节点(也称为神经元)组成,其中每一层的节点与下一层的节点全连接。MLP通常包含一个输入层、一个或多个隐藏层以及一个输出层。每个节点使用一个激活函数来处理输入,并输出到下一层。原创 2024-07-30 16:56:42 · 274 阅读 · 0 评论 -
Recurrent Neural Network-01
假设一个需求:客户发送语句给自动订票系统,网络输出目的地和到达时间。词语编码向量,这并不难。如“Taibei”会被网络识别为目的地,“Nov 12th”会被识别为时间。现在可能会遇到一个问题,如果客户说“I want toleaveTaibei on Nov 12th”呢?这就需要机器有记忆力,在看到“Taibei”之前已经看到过“leave”这个词汇,从而分辨出发和到达的地点与时间。原创 2024-07-28 23:13:23 · 142 阅读 · 0 评论 -
图神经网络-01
接下来,介绍图的聚合(Aggregate)的定义:在图神经网络中,聚合操作用于节点特征的更新,例如下图通过邻居节点的特征来更新当前节点的特征,最终Readout从节点的特征表示中提取出图的全局特征。思路2:应用数据处理的傅里叶域(Fourier Domain)等概念,基于光谱的方法。已知图包含结点(Node)和边(Edge),如何用卷积的方法将节点嵌入到特征空间?这其中,GAT和GCN是常用的网络图神经网络模型。思路1:将卷积的概念推广到图——空间近邻的卷积;原创 2024-07-27 17:39:41 · 218 阅读 · 0 评论 -
注意力机制简介
与传统的前馈神经网络(如全连接网络和卷积神经网络)不同,RNN具有循环的结构,能够保留序列数据的上下文信息。该类任务output与input的数量相同,一个简单的思路是使用全连接层依次处理,但这对于句子理解等任务是不适用的,比如“I saw a saw(锯子)”,模型无法区别不同词性,所以需要考虑上下文信息。以a1为例,首先是找到Sequence中的其余元素与之的相关联程度α,它的计算方法有很多,常用的方法有Dot-product。谁的α越大,谁的k越大,说明对应的v就会对结果有更大的影响。原创 2024-07-25 11:07:39 · 612 阅读 · 0 评论 -
卷积神经网络
虽然感受野的可以自己定义,但也有常规的方法:默认考虑图像的每个channel,长宽的尺寸被叫做kernel size,下图中的kernel size是3×3。感受野并不是划分的,而是有重叠的,移动的步长是stride,这也是人工设定的hyperparameters。它的出发点是:以图像识别为例,一只鸟的“喙”可能出现在不同的区域,如果在每个区都用一个neuron侦查“喙”,过多的重复工作会带来过多参数量。图像分类问题与前面的回归是不一样的,模型的输入是固定尺寸的图片,输出是一个Vector(向量)原创 2024-07-23 22:15:06 · 319 阅读 · 0 评论 -
机器学习任务攻略
本节介绍在训练网络时的一些技巧。如果训练好的模型表现不尽人意,第一步是检查损失函数在训练集上的表现,如果Loss太大,说明在训练资料上没学好。接下来对于多种可能的原因,给出了应对思路。当模型过于简单时,可能找不到很好的函数去预测。解决思路:重新设计model,给它更大的弹性,如使用更多的特征、更深的网络(2)Optimization的问题可能是在优化过程中陷入局部最小值。如何确定是model bias还是优化的问题呢?原创 2024-07-22 19:17:01 · 232 阅读 · 0 评论 -
Pytorch入门
tensor有加减乘等运算,也有求和sum()和求平均mean()等函数,另外还有transpose、squeeze、unsqueeze、cat等对维度操作的函数。在进行validation和testing的时候,要把梯度关掉,目的是为了避免验证集或测试集干扰模型参数。Tensor是Pytorch的数据组织格式,dim(维)和numpy中的axis含义相似。是一个类,用于构建神经网络模型的容器。Pytorch是一个Python机器学习框架,优点是可以使用GPU进行高维的矩阵运算,而且方便梯度计算。原创 2024-07-22 14:42:47 · 412 阅读 · 0 评论 -
机器学习基本概念(二)
与Sigmoid函数相似的,有ReLU函数,两个ReLU起到1个sigmoid函数的相似作用,在机器学习中都被称为Activation function(激活函数),这些激活函数就叫做Neuron,很多个组合在一起就叫做Neural network。以上就完成了ML的第一步,得到带有未知数的函数,后面要考虑的就是如何定义Loss以及如何优化求解。如下图所示的蓝色折线,多个这样的线重叠可以逼近曲线模型。深度学习的训练会用到Backpropagation(反向传播),是一种比较高效的算Gradient的方法。原创 2024-07-21 23:27:17 · 177 阅读 · 0 评论 -
机器学习基本概念(一)
后者是需要自己设定的,被称为hyperparameters(超参数)。梯度变化的内容,理解原理即可,在Pytorch等深度学习网络框架中,仅需一行代码就可以完成计算。为了衡量w和b的值有多好,需要设计一个损失函数(Loss function)L(w,b),其值越小,说明学习到的w和b越让人满意。为了优化求解最优的w和b,机器学习通常采用Gradient descent(梯度下降)方法,如下图所示,决定变化率的有偏导数与学习率。w是weight,b是bias,这两个的值是需要通过学习得到的。原创 2024-07-20 20:33:57 · 171 阅读 · 0 评论