自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 2024年终总结和2025年规划

2024年的主线是AI基础的学习和读书,虽然AI学习花费了更多的时间,但是读书长久看来于我是更重要的事情,哈哈哈,因此先简单回顾一下读书记忆。

2025-02-15 19:39:03 1458

原创 跟着问题学18——万字长文详解Transformer

1.Transformer总体框架先来一张名图镇楼,哈哈哈。Transformer模型是深度学习模型的里程碑之作,但它并不是凭空产生的,相反,经过前面章节的学习,在学习transformer模型时,我们可以意识到其是站在巨人的肩膀上的,融合了很多之前创新的想法,比如残差网络,比如全连接层,比如词向量,比如注意力机制,比如seq2seq框架,取得了惊艳的效果。下面我们将一步一步抽丝剥茧,仔仔细细地完成transformer模型的学习。开始的开始,我们说深度学习就是用来拟合函数,是一个参数经

2024-12-15 17:59:47 1761

原创 跟着问题学13——RNN循环神经网络结构详解及代码实战

再来看一下序列T_seq和通道channel,RNN系列的序列T_seq是指一个连续的输入,比如一句话,一周的股票信息,而且这个序列是有时间先后顺序且互相关联的,而CNN系列的通道channel则是指不同角度的特征,比如彩色图像的RGB三色通道,过程中每个通道代表提取了每个方面的特征,不同通道之间是没有强相关性的,不过也可以进行融合。输入不是序列而输出为序列的情况怎么处理?但卷积神经网络并不能处理好这种关联性,不同时刻的输入之间是没有关联的,没有记忆能力,所以前面时刻的输出不能传递到后面的时刻。

2024-12-08 17:30:00 2207

原创 跟着问题学12——word2vec之CBOW和skip-gram详解

(3)此时队列中最小的频次(权重)为2,继续取出节点进行合并,过程依次为将1、3合并为node4(权重4),node2、4合并为node5(权重4),node1、node3合并为node6(权重4),node4、node5合并成node7(权重8),然后将node6和1合并成node8(权重9),最后将node7和node8合并为node9(权重17)得到Huffman树,如下图所示。由于CBOW使用的是词袋模型,因此这8个词都是平等的,也就是不考虑和关注的词之间的距离大小,只要在上下文之内即可。

2024-12-07 20:32:56 1656

原创 跟着问题学10——ResNet网络详解及代码实战

如果F(x)对于提高模型的训练精度无作用,自然梯度下降算法就调整该部分的参数,使该部分的效果趋近于0,也就意味着主线路的F(x)变为0,这时网络的特征图流向就是只走“跳接”曲线(shortcut connection),此时H(x)=F(x)+x=0+x=x了,不必再去拟合H(x)=x,很明显,将网络的主干拟合函数F(x)优化为0比将最终输出拟合成恒等变换H(x)=x要容易得多。(3)每个残差模块(图中的conv2_x等)中的子结构是相同的,都是2个3*3的卷积层,通道数会有变化,在后面乘上重复的系数。

2024-12-01 16:20:25 3156

原创 跟着问题学3——卷积神经网络详解

尤为注意的是,输出通道数是卷积核的个数(事实上用组数更合适),这里是一组卷积核,因为输入通道数是2,所以这一组卷积核对应的通道数也是2,且参数各不相同(可以通过conv_layer.weight.shape验证,查看卷积核的 shape 是(1, 2, 2, 2),对应是(output_channel, input_channel, kernel_size, kernel_size)),输出特征图的计算方法就是卷积核和对应通道的输入特征图卷积,然后得到多通道的输出,再相加合并成一个输出特征图。

2024-11-23 16:29:55 1054

原创 AI大模型入门1.4-python基础-字典代码

print("更新后的字典:", dict4) # {'name': 'Alice', 'age': 26, 'city': 'New York'} #键存在,更新值;print("使用关键字参数更新:", dict6) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}print("使用可迭代对象更新:", dict7) # {'x': 1, 'y': 2, 'z': 3}# # 键不存在时,报KeyError: 2。# update基本使用,参数为另一个字典。

2025-12-18 08:15:00 221

原创 AI大模型入门1.4-python基础-字典

Python 中的字典(dict)提供了两种删除元素的方法:popitem() 和 pop(),两种方法都会从字典中移除指定的元素,并。print("使用关键字参数更新:", dict3) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}print("使用可迭代对象更新:", dict4) # {'x': 1, 'y': 2, 'z': 3}print("更新后的字典:", dict1) # {'name': 'Alice',直接使用大括号,键可以为字符串,数值,元组,但。

2025-12-18 08:00:00 581

原创 AI大模型入门1.2&元组-python基础-列表&元组代码

【代码】AI大模型入门1.2&元组-python基础-列表&元组代码。

2025-09-16 19:24:50 112

原创 AI大模型入门1.2&3-python基础-列表&元组

因此,普通创建,切片,遍历方法都是相同的,但是添加,删除,更改等变动元组内部元素的情况是不可行的。一般的创建方式有2种,一种是创建一个空列表,在实际操作中不断添加;永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用。)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。只知道要删除的元素的值,可使。

2025-09-16 19:23:08 377

原创 AI大模型入门1.1-python基础字符串代码

print(f"使用 join() 方法耗时: {end_time - start_time:.4f} 秒")print(f"原始字符串是否改变: {str4 is str_strip}") # 输出: False。print(f"使用 + 操作符耗时: {end_time - start_time:.4f} 秒")print(f"原始字符串 ID: {id(original)}")print(f"转换后字符串 ID: {id(uppered)}")print(f"原始字符串: '{str4}'")

2025-09-09 20:06:39 292

原创 AI大模型入门1.1-python基础-字符串

,增就是添加,删就是删除,查就是获取对象,包括单个和多个元素的获取(切片),改就是修改,下面具体地介绍一下各个数据结构的基本操作。括起来的部分,每一项包括2个子项,键key和值value,键一般是字符串,键值对用冒号(:)分开,每一项也是用逗号(,)分开。print(f"使用 join() 方法耗时: {end_time - start_time:.4f} 秒")print(f"使用 + 操作符耗时: {end_time - start_time:.4f} 秒"),序列中的元素必须是字符串类型。

2025-09-09 19:59:42 371

原创 Python基础

类是一种抽象,有2个主要组件,一是变量,类中称为属性,二是函数,类中称为方法,属性通过init构造方法进行初始化,类实例化的时候,类名后括号内的参数应该和init方法的参数一致,除非init方法的参数有了默认值;默认拥有基类属性和方法,但值得注意的是,在子类隐式继承基类的时候,除非基类__init__方法的参数有了默认值,子类实例化时也需要基类的参数。在子类继承基类时,是完整继承了基类的属性和方法的,如果子类对基类的方法进行了重写,则实例化对象后调用的是子类的方法,否则调用的是基类的方法。

2025-06-15 19:10:35 636

原创 pytorch学习基础1——张量的创建与基础操作

张量在形式上就是多维数组,例如标量就是0维张量,向量就是一维张量,矩阵就是二维张量,而三维张量就可以想象RGB图片,每个channel是一个二维的矩阵,共有三个channel,还可以考虑更多。在进行张量的各种操作时,需要牢牢掌握张量的两个特性,一是维度dimension(dim),从0开始,在代码中,每一个括号代表一个维度,深度学习中一般会有3-4个维度(batch_size,channel,width,height),;形状shape,这里是指每个维度的数值大小。

2025-02-15 19:36:55 1218

原创 跟着问题学3.6——YOLO v1&v2&v3 详解

换种说法就是,原始图片(448/7)*(448/7)这片区域的信息(包括是否有目标,目标类别,目标边界框位置)包含在了最后的7*7特征图的对应一个像素点上(当然,实际上是1024尺寸的特征信息,因为通道数是1024)。我们知道,图像是长*宽的尺寸的像素点组成的,可以在图像上设置图像坐标系(比如以左上角为坐标原点,向右向下分别为x,y轴正方向),然后就可以使用边界框选中目标,边界框使用在图像坐标系上的坐标来表示,如下图,x,y,w,h,其中(x,y)是边界框左上角的像素坐标,w,h分别是边界框的宽和高。

2025-01-19 19:09:47 796

原创 跟着问题学3.3——Faster R-CNN详解及代码实战

可以看到,输入和最终的输出具有相同的高和宽,输出的通道数取决于卷积核的组数,每一通道的输出特征图由一组卷积核对输入特征不同通道相同位置的元素按权重累加得到。(3)RoI池化层输出统一尺度的候选框特征图;因为区域生成网络可以参与学习,我们可以定制一个只识别某几种对象的网络,例如图片中有人,狗,车,树,房子的时候,固定的算法可能会把他们全部提取出来,但区域生成网络经过训练可以只提取人所在的区域,其他对象所在的区域都会当作背景处理,这样区域生成网络输出的区域数量将会少很多,而且包含对象的可能性会很高。

2025-01-19 19:08:39 987

原创 跟着问题学3.5——MASK-RCNN详解及代码实战

这被称为是一种耦合关系,是不利于最终的结果的。同样的道理,我们通过class、box分支知道了候选框的类别是cat,那么我们将这个候选框在原图对应的GT(原图对应的GT是单通道的喔,目标区域为1,背景区域为0)上进行裁剪并将裁剪后图片缩放到28×28大小得到GTMask,此时计算GTMask和Mask分支的损失即可。如图所示,图中的虚线为特征图,黑色实线为建议区域,黑点为传统池化操作选择的采样点,在本文中,不对这些点进行量化操作,而是使用特征图中的四个边界点使用双线性插值的方法代表这些采样点。

2025-01-19 19:07:52 1096

原创 跟着问题学13——RNN循环神经网络结构详解及代码实战

再来看一下序列T_seq和通道channel,RNN系列的序列T_seq是指一个连续的输入,比如一句话,一周的股票信息,而且这个序列是有时间先后顺序且互相关联的,而CNN系列的通道channel则是指不同角度的特征,比如彩色图像的RGB三色通道,过程中每个通道代表提取了每个方面的特征,不同通道之间是没有强相关性的,不过也可以进行融合。输入不是序列而输出为序列的情况怎么处理?但卷积神经网络并不能处理好这种关联性,不同时刻的输入之间是没有关联的,没有记忆能力,所以前面时刻的输出不能传递到后面的时刻。

2025-01-19 19:07:00 1144 1

原创 跟着问题学10——ResNet网络详解及代码实战

如果F(x)对于提高模型的训练精度无作用,自然梯度下降算法就调整该部分的参数,使该部分的效果趋近于0,也就意味着主线路的F(x)变为0,这时网络的特征图流向就是只走“跳接”曲线(shortcutconnection),此时H(x)=F(x)+x=0+x=x了,不必再去拟合H(x)=x,很明显,将网络的主干拟合函数F(x)优化为0比将最终输出拟合成恒等变换H(x)=x要容易得多。(3)每个残差模块(图中的conv2_x等)中的子结构是相同的,都是2个3*3的卷积层,通道数会有变化,在后面乘上重复的系数。

2025-01-19 19:06:19 1029

原创 跟着问题学3——卷积神经网络详解

尤为注意的是,输出通道数是卷积核的个数(事实上用组数更合适),这里是一组卷积核,因为输入通道数是2,所以这一组卷积核对应的通道数也是2,且参数各不相同(可以通过conv_layer.weight.shape验证,查看卷积核的shape是(1,2,2,2),对应是(output_channel,input_channel,kernel_size,kernel_size)),输出特征图的计算方法就是卷积核和对应通道的输入特征图卷积,然后得到多通道的输出,再相加合并成一个输出特征图。

2025-01-19 19:05:27 1145

原创 跟着问题学3.6——YOLO v1&v2&v3 详解

换种说法就是,原始图片(448/7)*(448/7)这片区域的信息(包括是否有目标,目标类别,目标边界框位置)包含在了最后的7*7特征图的对应一个像素点上(当然,实际上是1024尺寸的特征信息,因为通道数是1024)。我们知道,图像是长*宽的尺寸的像素点组成的,可以在图像上设置图像坐标系(比如以左上角为坐标原点,向右向下分别为x,y轴正方向),然后就可以使用边界框选中目标,边界框使用在图像坐标系上的坐标来表示,如下图,x,y,w,h,其中(x,y)是边界框左上角的像素坐标,w,h分别是边界框的宽和高。

2025-01-12 19:51:27 1888

原创 跟着问题学3.6——YOLO v2&v3 详解及代码实战

YOLO v2系列和v1的模型框架基本是一致的,针对YOLO v1存在的问题,其改进点在两处,一是把原来提取成7*7的特征图变为13*13,这样能够预测更多的物体,同时对小物体的检测效果也有所提升;前面介绍v1的时候讲到,模型是在原始图上划分7*7个网格区域,然后在每个区域上直接预测2个框的位置,判断这些框内是否含有目标,但是预测准确度不高,对比同时代R-CNN系列(预测精度较高)的思路,是预测边界框相对推荐框(anchor)的偏移量,于是YOLO v2也从这个方面进行了优化。每个λ都是一个权重值。

2025-01-12 19:49:39 876

原创 跟着问题学3.6——YOLO v1详解及代码实战

首先输入到特征提取网络的是3*448*448的图片,经过特征提取网络之后输出的是1024*7*7的特征图,通道数我们认为是不同形式的特征,仅就特征图的尺寸来说,从448*448变到7*7,这就意味着7*7特征图上的每个“像素点”实际上等效于原始图片的(448/7)*(448/7)这样一片区域。前面讲到传统方法是先枚举出大量的边界框,然后在判断边界框是否包含目标,R-CNN系列在这个思想的基础上进行了优化改进,包括设置边界框的数量和格式,以及根据真实框去调整边界框的偏移量。那么是如何提取特征的呢?

2025-01-11 20:02:15 1200

原创 跟着问题学3.5——MASK-RCNN详解及代码实战

这被称为是一种耦合关系,是不利于最终的结果的。同样的道理,我们通过class、box分支知道了候选框的类别是cat,那么我们将这个候选框在原图对应的GT(原图对应的GT是单通道的喔,目标区域为1,背景区域为0)上进行裁剪并将裁剪后图片缩放到28×28大小得到GT Mask,此时计算GT Mask和Mask分支的损失即可。如图所示,图中的虚线为特征图,黑色实线为建议区域,黑点为传统池化操作选择的采样点,在本文中,不对这些点进行量化操作,而是使用特征图中的四个边界点使用双线性插值的方法代表这些采样点。

2025-01-05 20:38:55 1535

原创 跟着问题学3.3——Faster R-CNN详解及代码实战

可以看到,输入和最终的输出具有相同的高和宽,输出的通道数取决于卷积核的组数,每一通道的输出特征图由一组卷积核对输入特征不同通道相同位置的元素按权重累加得到。(3)RoI池化层输出统一尺度的候选框特征图;因为区域生成网络可以参与学习,我们可以定制一个只识别某几种对象的网络,例如图片中有人,狗,车,树,房子的时候,固定的算法可能会把他们全部提取出来,但区域生成网络经过训练可以只提取人所在的区域,其他对象所在的区域都会当作背景处理,这样区域生成网络输出的区域数量将会少很多,而且包含对象的可能性会很高。

2025-01-05 19:45:00 1294

原创 Fast R-CNN损失函数

可以看到训练过程类似于一种“迭代”的过程,不过只循环了2次。因为区域生成网络可以参与学习,我们可以定制一个只识别某几种对象的网络,例如图片中有人,狗,车,树,房子的时候,固定的算法可能会把他们全部提取出来,但区域生成网络经过训练可以只提取人所在的区域,其他对象所在的区域都会当作背景处理,这样区域生成网络输出的区域数量将会少很多,而且包含对象的可能性会很高。举一个通俗的例子,如果区域生成网络选取了某个包含了脸的左半部分的区域,它会判断这个区域可能包含对象,并且要求区域范围向右扩大一些,

2025-01-04 20:56:21 883

原创 跟着问题学3.3——Faster R-CNN详解及代码实战(1)

Faster-RCNN 是 RCNN 和 Fast-RCNN 的进化版,最大的创新是引入了区域生成网络 (RPN - Region Proposal Network),区域生成网络支持使用机器学习代替固定的算法找出图片中可能包含对象的区域,精度比固定的算法要高很多,而且速度也变快了。从R-CNN到Fast R-CNN,再到本文的Faster R-CNN,目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架之内。

2025-01-04 20:52:55 1288

原创 pytorch学习笔记汇总

在代码中创建张量Tensor数据类型时,除了封装张量本身的数据data外,还会附加张量的一些性质和操作,例如数据的梯度(grad),创建tensor的函数(grad_fun,是求导的关键),是否为叶子节点(is_leaf),是否需要梯度(require_grad)。这里使用 input*channel 为 3,output_channel 为 1 ,卷积核大小为 3×3 的卷积核nn.Conv2d(3, 1, 3),使用nn.init.xavier_normal*()方法初始化网络的权值。

2024-12-30 19:15:00 1182

原创 PyTorch 的 Autograd代码实现

而以 TensorFlow 为代表的静态图,每次都先设计好计算图,需要的时候实例化这个图,然后送入各种输入,重复使用,只有当会话结束的时候创建的图才会被释放(不知道这里我对 tf.Session 的理解对不对,如果有错误希望大佬们能指正一下),就像我们之前举的那个水管的例子一样,设计好水管布局之后,需要用的时候就开始搭,搭好了就往入口加水,什么时候不需要了,再把管道都给拆了。这么做会导致相关的导数的计算结果错误,因为我们在计算导数的过程中还会用到 b 的值,但是它已经变了(和正向传播过程中的值不一样了)。

2024-12-30 19:00:00 1090

原创 跟着问题学23番外——反向传播算法理论及pytorch自动求导详解

而以 TensorFlow 为代表的静态图,每次都先设计好计算图,需要的时候实例化这个图,然后送入各种输入,重复使用,只有当会话结束的时候创建的图才会被释放(不知道这里我对 tf.Session 的理解对不对,如果有错误希望大佬们能指正一下),就像我们之前举的那个水管的例子一样,设计好水管布局之后,需要用的时候就开始搭,搭好了就往入口加水,什么时候不需要了,再把管道都给拆了。这么做会导致相关的导数的计算结果错误,因为我们在计算导数的过程中还会用到 b 的值,但是它已经变了(和正向传播过程中的值不一样了)。

2024-12-23 20:29:54 1755

原创 跟着问题学23番外——反向传播算法理论(1)

这就是对一个前向传播中的某个参数进行梯度更新的过程,当然这个更新过程不可能是一次完成的,在进行完一次反向传播更新梯度后紧接着会进行下一个前向传播,然后重新计算误差,这样多次循环之后会使得损失值逐渐降低,当达到某个设定值时这个循环更新梯度的过程就会停止,从而完成一整个训练流程。在神经网络中,梯度计算是通过反向传播算法来实现的。这是一个简单的两层神经网络,输入数据是1*2的向量,中间一个含有3个神经元的隐藏层,输出层为1*1的向量,简化起见,偏置b设为0,激活函数选择ReLu,根据前面推导的公式,

2024-12-22 18:48:12 746

原创 跟着问题学22番外——优化算法理论及代码详解

对于SGD/MBGD而言,每次使用的损失函数只是通过这一个小批量的数据确定的,其函数图像与真实全集损失函数有所不同,所以其求解的梯度也含有一定的随机性,在鞍点或者局部最小值点的时候,震荡跳动,因为在此点处,如果是训练集全集带入即BGD,则优化会停止不动,如果是mini-batch或者SGD,每次找到的梯度都是不同的,就会发生震荡,来回跳动。这个损失函数L的变量就是θ,其中L中的参数是整个训练集,换句话说,目标函数(损失函数)是通过整个训练集来确定的,训练集全集不同,则损失函数的图像也不同。

2024-12-22 17:20:25 984

原创 跟着问题学番外1-深度学习中的损失函数详解

前面的文章我们已经从模型角度介绍了损失函数,对于神经网络的训练,首先根据特征输入和初始的参数,前向传播计算出预测结果,然后与真实结果进行比较,得到它们之间的差值。损失函数又可称为代价函数或目标函数,是用来衡量算法模型预测结果和真实标签之间吻合程度(误差)的函数。通常会选择非负数作为预测值和真实值之间的误差,误差越小,则模型越好。有了这个损失函数,我们便可以采用优化算法更新网络参数,使得训练样本的平均损失最小。而损失函数根据任务的不同,也可以分为不同的类型,下面进行介绍。

2024-12-21 20:13:50 1357

原创 跟着问题学19——BERT详解

在训练的初始阶段,我们可以设置一个很大的学习率,但是我们应该在后面的迭代中设置一个较小的学习率。因为在初始的迭代时,我们远没有收敛,所以设置较大的学习率带来更大的步长是可以的,但在后面的迭代中,我们已经快要收敛了,如果学习率(导致步长)较大可能会错过收敛位置(极小值)。在我们的例子中,单词pretraining不在BERT的词表中。假设我们有一个数据集。可能是因为我们的词表太小了,然而哪怕有一个超大的词表,先不说这样的词表会带来内存和性能方面的压力,仍然有可能无法处理没有出现过的词(词表中也没有出现过)。

2024-12-15 19:25:47 790

原创 跟着问题学17——attention与seq2seq详解及代码实战

query向量需要经过st-1(维度是dec_hid_dim*1),key矩阵需要经过h1:x(维度是enc_hid_dim*seq_len),变换后的key和query向量维度是自定义的,可以定为dec_hid_dim,所以大的变换矩阵维度。,这个是描述数据本质特征的向量,这个特征值会对应一个“索引”,类似字典中的键,称为键向量(key),而所谓的注意力就是查询匹配当前的特征和原始数据特征的相似度,就需要从当前数据特征中挖掘一个用于查询匹配的向量,即查询向量(query)。

2024-12-14 21:30:00 883

原创 跟着问题学16——seq2seq详解及代码实战

在模型训练和预测时,如果输入是有前一个输出向量的,预测时可以直接使用前一个预测出来的输出值,但是训练时一般使用的是真实文本的输出向量,不然一旦预测错误一个输出值,后面的也都将会受到影响,所谓一步错,步步错。通过上文可以知道编码器和解码器之间有一个共享的中间向量(上图中的向量c)来传递信息,而且它的长度是固定的,意味着编码器要将整个序列的信息压缩进一个固定长度的向量中去。Encoder-Decoder强调的是模型设计(编码-解码的一个过程),Seq2Seq强调的是任务类型(序列到序列的问题)。

2024-12-14 17:05:39 2295

原创 跟着问题学15——GRU网络结构详解及代码实战

隐藏层有T_seq个隐状态H_t(和输入序列长度相同),每个隐状态H_t类似于一个channel,对应着T_seq中的t时刻的输入特征;再来看一下序列T_seq和通道channel,RNN系列的序列T_seq是指一个连续的输入,比如一句话,一周的股票信息,而且这个序列是有时间先后顺序且互相关联的,而CNN系列的通道channel则是指不同角度的特征,比如彩色图像的RGB三色通道,过程中每个通道代表提取了每个方面的特征,不同通道之间是没有强相关性的,不过也可以进行融合。而越接近0则代表”遗忘“的越多。

2024-12-08 19:48:34 1825

原创 跟着问题学14——LSTM网络结构详解及代码实战

隐藏层有T_seq个隐状态H_t(和输入序列长度相同),每个隐状态H_t类似于一个channel,对应着T_seq中的t时刻的输入特征;再来看一下序列T_seq和通道channel,RNN系列的序列T_seq是指一个连续的输入,比如一句话,一周的股票信息,而且这个序列是有时间先后顺序且互相关联的,而CNN系列的通道channel则是指不同角度的特征,比如彩色图像的RGB三色通道,过程中每个通道代表提取了每个方面的特征,不同通道之间是没有强相关性的,不过也可以进行融合。),水平线贯穿图的顶部。

2024-12-08 17:11:36 1730 1

原创 跟着问题学11——基础语言模型&词向量基础详解

它的思路是通过训练,将每个词都映射到一个较短的词向量上来,能够体现词与词之间的关系,所有的这些词向量就构成了向量空间,进而可以用普通的统计学的方法来研究词与词之间的关系。一个比较实用的场景是找同义词,得到词向量后,假如想找出与“爱”相似的词,建立好词向量后,对计算机来说,只要拿这个词的词向量跟其他词的词向量一一计算欧式距离或者cos距离,得到距离小于某个值的那些词,就是它的同义词。(3)考虑是否微调,用新的数据调整词嵌入。还要注意的是每个词在不同的语料库和不同的训练方法下,得到的词向量可能是不一样的。

2024-12-07 17:35:22 1273

原创 跟着问题学9——GoogLeNet网络详解及代码实战

在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfitting、梯度消失、梯度爆炸等,GoogLeNet则做了更加大胆的网络结构尝试,Inception的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果,采用了Inception结构的GoogLeNet深度只有22层,其参数约为AlexNet的1/12,是同时期VGGNet的1/3。

2024-12-01 18:51:16 1488 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除