AI与大模型笔记
文章平均质量分 93
不如语冰
这个作者很懒,什么都没留下…
展开
-
跟着问题学10——RNN代码实战
input 即RNN网络的输入,维度应该为(T_seq, batch_size, input_size)。如果设置batch_first=True,输入维度则为(batch, seq_len, input_size)#计算两个tensor的矩阵乘法,torch.bmm(a,b),tensor a 的size为(b,h,w),tensor b的size为(b,w,m)#维度应该为(num_layers * num_directions, batch, hidden_size)。#自己实现一个RNN函数。原创 2024-09-16 17:37:55 · 336 阅读 · 0 评论 -
跟着问题学10——RNN详解及代码实战
虽然说X{t-1},X{t},X{t+1}是表示不同时刻的输入,但是他们输入到RNN网络中的时候并不是作为单独的向量一个一个输入地,而是组合在一起形成一个矩阵输入,然后这个矩阵再通过权重矩阵U的变化,其实是同一时刻输入地,只是计算的先后顺序不同。从特征角度考虑:输入特征是n*1的单维向量(这也是为什么linear层前要把所有特征层展平的原因),然后根据隐含层神经元的数量m将前层输入的特征用m*1的单维向量进行表示(对特征进行了提取变换),单个隐含层的神经元数量就代表网络参数,可以设置多个隐含层;原创 2024-09-16 17:36:34 · 816 阅读 · 0 评论 -
跟着问题学9——word2vec代码实战
(w和wi都是中心词)比如下面这段话,上下文大小取值为4,特定的这个词是"Learning",也就是需要的输出词向量(单词Learning的one-hot编码),上下文对应的词有8个,前后各4个,这8个词是模型的输入(8个单词的one-hot编码)。一种最简单的词向量方式是one-hot representation,就是用一个很长的向量来表示一个词,向量长度是预定义的词汇表(想象一本词典)中拥有的单词量,向量在这一维中的值只有一个位置是1,其余都是0,1对应的位置就是词汇表中表示这个单词的地方。原创 2024-09-08 21:29:34 · 865 阅读 · 0 评论 -
跟着问题学9——基础语言模型&word2vec详解及代码实战
(w和wi都是中心词)比如下面这段话,上下文大小取值为4,特定的这个词是"Learning",也就是需要的输出词向量(单词Learning的one-hot编码),上下文对应的词有8个,前后各4个,这8个词是模型的输入(8个单词的one-hot编码)。一种最简单的词向量方式是one-hot representation,就是用一个很长的向量来表示一个词,向量长度是预定义的词汇表(想象一本词典)中拥有的单词量,向量在这一维中的值只有一个位置是1,其余都是0,1对应的位置就是词汇表中表示这个单词的地方。原创 2024-09-08 21:00:00 · 1249 阅读 · 0 评论 -
跟着问题学8——GoogLeNet网络详解及代码实战
GoogLeNet是2014年Christian Szegedy等人在2014年大规模视觉挑战赛(ILSVRC-2014)上使用的一种全新卷积神经网络结构,并以6.65%的错误率力压VGGNet等模型取得了ILSVRC-2014在分类任务上的冠军,于2015年在CVPR发表了论文《Going Deeper with Convolutions》。原创 2024-08-27 19:30:00 · 898 阅读 · 0 评论 -
跟着问题学7——ResNet网络详解及代码实战
为什么是恒等映射呢:20层的网络是56层网络的一个子集,56层网络的解空间包含着20层网络的解空间。若神经网络学习到这层的参数是冗余的时候,它可以选择直接走这条“跳接”曲线(shortcut connection),只需要把主线路的F(x)变为0就可以跳过这个冗余层,而不需要再去拟合参数使得H(x)=F(x)=x。模型在训练过程中,F(x)是训练出来的,如果F(x)对于提高模型的训练精度无作用,自然梯度下降算法就调整该部分的参数,使该部分的效果趋近于0.这样整个模型就不会出现深度越深反而效果越差的情况了。原创 2024-08-25 20:00:00 · 668 阅读 · 0 评论 -
跟着问题学4-基于LeNet网络的代码实战
在卷积层块中,每个卷积层都使用5*5的窗口,并在输出上使用sigmoid激活函数。也就是说,全连接层的输入形状将变成二维,其中第一维是小批量中的样本,第二维是每个样本变平后的向量表示,且向量长度为通道、高和宽的乘积。卷积层块里的基本单位是卷积层后接最大池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的最大池化层则用来降低卷积层对位置的敏感性。在分析具体代码前,我们先来看一下整体的代码框架,一般来说,深度学习网络模型分为三个核心部分,一是模型定义,二是模型训练,三是模型预测应用。原创 2024-08-11 18:31:01 · 703 阅读 · 0 评论 -
跟着问题学3-深度学习数据集
另外,目的地必须是可写的。在代码中创建张量Tensor数据类型时,除了封装张量本身的数据data外,还会附加张量的一些性质和操作,例如数据的梯度(grad),创建tensor的函数(grad_fun,是求导的关键),是否为叶子节点(is_leaf),是否需要梯度(require_grad)。张量在形式上就是多维数组,例如标量就是0维张量,向量就是一维张量,矩阵就是二维张量,而三维张量就可以想象RGB图片,每个channel是一个二维的矩阵,共有三个channel,还可以考虑更多。是一个表示数据集的抽象类。原创 2024-08-04 17:21:14 · 951 阅读 · 0 评论 -
跟着问题学2——卷积神经网络
考虑一层具有n个输入神经元的全连接层,如果权重的方差为1/n,那么通过该层的输出的方差为1/n * n/2 = 1/2(每个神经元权重独立同分布,所以为n/2)。在这种情况下,前一层是输入层,有100个神经元,后一层是隐藏层1本身,有80个神经元。为例,对于传统神经网络,输出特征图的每个像素点(神经元)都是由输入图像的所有像素点乘上特定的权重值并求和得到的,也就意味着每个输出层的神经元所对应的权重数是输入图像的所有像素点(神经元)数,而输出层的神经元数也是庞大的,因此总的权重数是庞大的。原创 2024-07-28 20:05:27 · 708 阅读 · 0 评论