- 博客(27)
- 收藏
- 关注
原创 人工智能图像分割之Mask2former源码解读
相比F.binary_cross_entropy函数,F.binary_cross_entropy_with_logits函数在内部使用了sigmoid函数,也就是F.binary_cross_entropy_with_logits = sigmoid + F.binary_cross_entropy。为什么它是返回(100,10)?而上图中matched_col_inds的10个索引值是对应gt标签中的索引位置,matched_row_inds是100个中匹配到损失最小的对应的10个索引。
2025-02-08 23:30:32
424
1
原创 opencv图像处理框架
1)以前梯度算出来的边缘不算轮廓,轮廓看上去是比较大块的。1)在上面形状学中也是用卷积来算的,梯度也就是边缘信息(例如背景是黑色的,前景是白色的,白黑相交处的像素点信息),表示边缘像素点水平方向差异(卷积核右边减去左边的值<左列为负,右列为正>,例如用3行3列矩阵表示卷积核,设Gx是卷积核乘以像素点值的)与垂直方向差异(卷积核下边减去上边的值<下行为正,上行为正。例如如果背景是黑色的,前景是个白色的圆,那算水平方向的梯度后就会出现左边缘的白色信息,右边缘的信息全置为0,是黑色的。PyrUp为上采样。
2025-02-03 00:26:16
763
原创 强化学习与ai黑科技实例
图像经过图像编码器(例可用transformer,cnn等)生成图像特征向量,与图像配对的文本经过文本编码器生成文本特征向量,然后所有图像特征向量与所有文本特征向量做余弦相似度计算,计算出来的对角线上的值是正样本(相似度最高),其余的是负样本。不断学习,学习,尝试过程中,我们设置一个目标函数,若做错了就惩罚,若做对了奖励(每一步都会有奖励分,最后这样就可比较选出最优方案),它就不断努力尝试与环境交互,使最终目标函数值越高(奖励越高,惩罚越小)。它也是zero-shot,图像可以,生成视频也行。
2025-01-20 11:04:55
692
原创 对比学习与自监督
它是这样做的,首先把这些小块转成多个特征(可挡住某个特征,类似文本中的挡住某个词)组成的向量(通过beit encoder,类似transformer中的encoder),然后原理图像就再经过一个tokenizer(类似文本中的分词器<语料库>,也叫由8192个视觉特征表,它不是由rgb的256个像素值,而是8192个特征)匹配得到对应的矩阵并转成向量。对比学习例子主要有clip,它是用海量数据进行训练出来的,它是从互联网上爬取4亿对(图像与文本为一对)数据下来训练的,是openai产品。
2025-01-16 14:21:01
392
原创 CV与NLP经典大模型解读
一。llm与lora微调策略解读(1)文本大模型llama:meta开源语言模型(咱们能负担得起下游任务了)。lora:绘你模型你也得能训练的动才行(咱们也能微调下游任务)。lora+diffusion。self-instruct:下游任务得规矩些,输入与输出都得有一个标准格式。peft:将上面三个整合到huggingface中了(2)llm落地微调分析思路:把一个大模型冻住,下游任务做一个小模型,然后把大模型与小模型加起来就变成大模型功能更强大。只需训练下游任务的小模型就行。
2025-01-16 10:37:37
909
原创 人工智能机器学习之python数据科学必备工具(Numpy,Pandas)
例如array1=np.array([[1,2,3,4,5],[10,20,30,40,50]]),如果用array1[:,1]就表示一维来说可取任意的行,二维来说是取第二列,所以array1[:,1]取到的值是[2,20]。那又例如array1[0,0:2]就表示取第一行的前二列的数据为[1,2]。array1=np.array([[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]]),这样就创建了一个2维矩阵了,这个矩阵是由3行5列组成,所以叫做3行5列的二维矩阵。
2025-01-06 11:34:01
942
原创 人工智能之机器学习算法
所有的机器学习算法都是要优化的,优化的必要条件是确定优化的目标函数(损失函数),目标函数是根据实际问题(数据)转成的数学公式。一.线性回归原理推导(1)回归问题概述在机器学习的有监督算法中,分类与回归二种情况。分类就是好像去银行贷款,它会告诉你能贷款还是不能贷款。而回归问题是告诉你可以具体贷款多少钱。例1:去银行贷款,银行会据不同年龄与工资收入的数据(两个特征),来决定给你贷款多少钱(两个特征组合得到的贷款金额)。目标:那预测银行会贷款多少钱给你(标签)。解:工资与年龄都会影响银行能贷多
2025-01-04 21:22:01
463
原创 人工智能深度学习物体检测之YOLOV7源码解读
notest:是否测试;上图的tobj只是初始化置信度的值(调用zeros_like生成全为0的值),到时候要更新的,tobj是(8,3,80,80)的矩阵来的(即8批次共42个值,3个anchors共三层就是9个anchors,80是指这一层的长与宽)(2,18)是指2个真实值(gt)分别与18个预测值求出的各自的损失值(类别损失+3倍的iou损失)。上图中的stride是一行三列组成的一维矩阵,当i=0时它的值是8,当i=1时它的值是16,当i=2时它的值是32,即stride数组是[8,16,32]
2025-01-04 00:31:49
974
原创 人工智能python快速入门
这里要注意:差集的集合是有前,后之分的(即A.difference(B)表示A中有但B中没有的元素,B.difference(A)表示B中有但A中没有的元素)。也可以按创建对象方式这种写法,例如a=list([1,2,3,4,5])a=[1,'abc','13',1];或者直接这样:a=set([1,'abc','13',1]);例如a=[1,'abc',[123,456],3];例如a={1,'abc','13',1};
2024-12-26 10:26:28
262
原创 深度学习物体检测之YOLOV5源码解读
先打开common.py中的class BottleneckCSP中的代码,可看到模型BottleneckCSP的每一层定义(如conv,conv2d,batchnorm2d,leakyrelu,sequential)情况(__init__),然后计算的forward方法(主要是对__init__定义的各层之间进行怎样的先后计算,组合等)在forward_once方法中它会for每一个模型,然后会在common.py文件中调用相应的模型class,并进入这个类中的forward方法执行。
2024-12-15 18:18:21
1045
原创 人工智能必备数学知识之概率论基础
一。随机变量(1)离散型随机变量1)连续与离散型随机变量现实中的数据一般包括离散型与连续型的。连续型随机变量:有限多个的确定值表示的,例台阶数1,2,3等。离散型随机变量:不能确定貝体值,且无限个数,它不能确定是那一种归属。2)离散型概率函数(概率质量函数)p(x)=prob(X=x),由公式可知离散型概率函数(概率质量函数)就是一个概率值,其中X是随机变量的取值,p是概率了。比如扔骰子,每个点(1,2,3,4,5,6点)的概率都是1/6;又例如抛硬币,正,反面的概率值都50%。
2024-12-09 15:42:22
1108
原创 人工智能必备数学知识之线性代数
现先排除所有行向量中每行的每个元素都为0的向量(因为每个元素都为0的向量是线性相关的),假设有1个全为0的,那么下一步构造一个矩阵A,A是1行m-1列的矩阵(矩阵乘法时作为左矩阵),例A=[K1,K2,K3,Km-1],这时A*B就可以A每一行元素都分别乘以B每一列元素了,A每一行元素乘以B每一列素的和都等以0,这样可列出方程组等式出来(这样矩阵乘法变成列出方程组了),现在求解A矩阵的k每个值出来,如果K1=K2=K3=Km-1=0,那么矩阵B中就有m-1个行向量线性无关了;1)矩阵的行向量与列向量。
2024-11-26 12:07:50
772
原创 人工智能深度学习transformer应用之一VIT源码解读(包括环境搭建,VisionTransformer)
进入Block类的forward方法后,也就主要按Block网络结构执行(x = self.attention_norm(x) -------->x, weights = self.attn(x)------->x = self.ffn_norm(x)------> x = self.ffn(x),因为self.attn(x)这一步主要是做self-attention,dropout,softmax,权重计算后会得到weights。数据量越大,模型训练也许越好,就如大模型。
2024-11-24 01:30:49
1180
原创 人工智能必备数学知识之高等数学
一。高等数学基础(1)函数1)Y=f(x),其中x是自变量,y是因变量。函数在x1处取得的值Y1=Y | (x=x1)=f(x1)2)函数分类<1>分段函数: x的不同范围下,y的表达式有所不同。<2>反函数:自变量与因变量互相调换了一下。例y=f(x)与x=f(y)<3>显函数与隐函数例y=x的平方就是显函数的例子,又例3x+y-4=0就是隐函数。3)函数的几种特性<1>奇偶性。1>偶函数:f(x)=f(-x),它是
2024-11-21 15:49:46
682
原创 人工智能深度学习之时间序列预测(informer,timesnet,time-llm)
一。informer原理解读informer发布时间是2021年(1)时间序列预测要完成的任务1)时间序列算法可用于股票预测(这个可能不准确,因为不确定因素太多了,人为或政策等),机器人动作估计,人体姿态估计,行为识别,天气预测,工厂原材料预测等等。2)informer论文需解决的问题:<1>传统时间序列预测对短期预测或趋势预测是没问题的,例如前20天天气预测出21天或22天天气是比较准确的,但是对于精准长序列预测(例如未来30天的天气)就不准了。又例如预测未来一年或半年的用
2024-11-18 11:44:56
933
原创 人工智能深度学习之自然语言处理必备神器huggingface,nlp,bert,gpt
1>首先指定各个训练参数(打印训练结果,保存模型路径等等),指定训练与预测数据集,mask后的内容(例上面的data_collator),指定用那个模型训练(本例直接用大佬提供的就行),然后把5个值传入到transformers的Trainer方法中。生成的模型代表就是openai的gpt了。2>按epoch次训练调了train_epoch方法,例先定义如下变量,指定忽略的index,记录整个epoch的loss的总和,每个epoch中预测正确的word数量,每个epoch中预测的word总数量等等。
2024-11-14 21:36:03
492
原创 人工智能深度学习之图神经网络实战(gnn,simgnn,vectornet)
一.图神经网络基础(1)图基本模块定义1)图的基本组成<1>组成由点(Vertex,例如交通领域任务中的每个十字路口可当作一个点),边(Edge,把每个点连在一起),图(Global,由点与边组成)。<2>点用特征向量(例如性别,身高,年龄等)表示;边也是用特征向量表示,通常表示点与点间的关系;图是全局的,也是用特征向量表示。图是由很多点与边组成,所以可对他们的所有点做加权平均得到汇总全局点向量,同样边也这样加权平均。<3>因为点,边,图都是由特征向量
2024-11-12 14:21:40
211
原创 人工智能深度学习之对抗生成网络实战(cyclegan,stargan,gan)
但这里判别器要多做一些事情了,这里判别器一般是经过卷积后不会连sigmoid激活函数或全连接层,就是得到特征图(例N*N*1的矩阵),卷积后(例3*3)的感受野到原图像的某个区域(例3*3)的预测结果与标签(也是N*N)之间计算损失。最后还有一个损失函数的定义。流程:连续语音------>预加重------>加窗分帧------>傅里叶变换(FFT)----->MEL滤波器组------>对数运算----->DCT。
2024-11-08 23:17:05
1017
原创 人工智能深度学习的视觉项目实战之3D点云
一。3d点云和它的应用领域分析(1)点云数据概述。激光雷达扫描出来的数据(飞机,车,房,树等)是由一个一个点组成的,每个点都由(x,y,z)构成,把这些点组成在一起就构成点云数据。点云数据与摄像头拍下来的是不一样的。点云数据一般是激光雷达得到的,它的数据特点是近密远稀。(2)点云应用领域与发展分析传统的视频或图像数据都是由(x,y)构成的二维数据,而点云数据是三维(3d)的,是可多视觉表示物体。例如在实际中可对点云数据建模,来监测各种安全性行为,违章判断等。例如:通过带激光雷达的无人机采
2024-11-05 13:55:27
1230
原创 人工智能深度学习的经典视觉项目实战之目标追踪(DeepSort,卡尔曼滤波)算法解读
4)如果满足3)的所有线的数量=n,则找到了最优分配,算法结束,否则(例是3行3列矩阵,但满足的线只有2,则3不等以2)进入5)。1)第一个核心模块就是前面求解x1与v1的公式(其中用到的状态转移矩阵),即x1=x+v*t+(1/2)*u*t,v1=v+ut转为通用矩阵形式 g=Ax+B*u,另外一个是其协方差,公式即p1=f*p0*(f的转置)+q,其中p0表示前一时刻的协方差矩阵,q是高斯分布的噪声矩阵。(就比较花的时间最少吧),例人a做任务1,2,3的时间分别为15,40,45;
2024-11-02 01:32:41
1387
原创 人工智能深度学习的经典视觉项目实战之姿态估计(OpenPose)
例如,对于向量(1,2)求单位向量,先取其模为:1的平方加上2的平方之和再开根得到根号5,它的单位向量就是(1/根号5,2/根号5)。1)姿态估计主要先做定位(即找到所有物体关健点的位置在那里,例如COCO数据集中提供人有17个关健点<例如头,眼,耳朵,鼻子,肩膀,腿,手等>,OpenPose比COCO多一个脖子点)操作,再找出关健点还要进行拼接。1)检测得到所有人的框 ,即检测出所有人所在的位置 2)对每一个框进行姿态估计,定位人的关健点(回归坐标值),关健点进行拼接(按我们定义的规则), 输出结果。
2024-10-29 21:26:38
842
原创 人工智能深度学习的经典视觉项目实战之行为识别(slowfast与3d卷积的视频分析,动作识别)
例如按stride 16,1的平方采低频的,按stride 2,1的平方采高频的,这样输出低频的就是4*(224的平方),高频的输出大小就是16*(224的平方)。lr表示学习率的值;<2>环境与动作提取特征目的是不同的,他们用的卷积是3d的,卷积参数中第一个是表示时间维度,第二,三个表是长宽维度,例如1*7的平方表示环境特征,表示1帧的时间维度<静态的,每张图的特征丰富点,如64个>,而5*7的平方表示动作特征,表示5帧的时间维度<动态的,特征稍微没有那么丰富,因为重点关注序列中的动作,如8个>。
2024-10-28 23:41:44
945
原创 深度学习的图像分割实战之实例分割(maskFormer,mask2Former)
首先图像经过backbone后得到特征后,连接到transformer decode,这里如果图像中特征只有5个,那么就是说100个工人去特征中并行学时选中其中5个工人适合干的,其他就当啦啦队吧,这里工人初始化时是0加上位置编码的(类似detr),像这种学的过程是crossattention过程。maskFormer是由N个概率对组长,例如一个图像区域中,有n=100个工人去取图像中取特征,每个工人负责一样工作(如取白菜),并且每样工作在图像中有确定的二分类概率(即这块是白菜,另外的块不是白菜)。
2024-10-28 00:07:12
571
原创 物体检测经典算法实战(yolo,detr,deformableDetr,efficientNet,efficientDet)
一.深度学习经典检测方法概述(1)深度学习经典检测方法包括two-stage(两阶段)与one-stage(单阶段)two-stage(两阶段):faster-rcnn或mask-rcnn系列。它是通过中间先检测出结果(预选),再从这个中间结果中取最优的结果,最近比较少用了。one-stage(单阶段):yolo系列。它这边就是直接按一个算法得到结论(例如一个cnn网络就得到回归结果即可)。优势:速度非常快,适合做适时检测任务。缺点: 效果通常情况下不会太好。性能评估指标有 AP、mAP、Pre
2024-10-27 09:18:27
1087
原创 人工智能深度学习的必备核心算法之三Transformer
q表示要去查询的,k表示表示被查的,q与k是用来算权重的,v表示实际的特征信息。解码包括自身注意力机制(self-attention)----->标准化(normalize)------>Encoder-Decoder Attention------>标准化(normalize)------>前馈全连接层(feed forward)----->标准化(normalize),解码可以有多个连在一起,解码完后连接Linear和softmax最后得到分类结果。这种算权重是并行进行的,不再是串行。
2024-10-24 22:04:51
337
原创 人工智能深度学习的必备核心算法之二卷积神经网络(CNN)
那如果我们最终要做个分类,那就是要把特征图结果转为每个类别的概率,那么我们就可以在特征图与最终分类结果中加入一个全连接层(即特征图(例32*32*10)拉长成大向量(长为1024个向量,想像成1024行1列),然后大向量后加上wx+b,这时我们就设置成一组1024*5的权重参数(因为前面假设得出的1024个向量和假设最终结果是5分类))就行,这就是全连接层的思想,一般情况在对结果输出(分类或回归等)时用到这个全连接层来转换,全连接层不适合提特征。这个公式的优点是保留了数据的原始分布,但对异常值敏感。
2024-10-21 15:43:59
947
原创 人工智能深度学习的必备核心算法之一神经网络
依线性回归思想,有3072个点(特征),那也会有3072个权重值(w1-------3072)组成,w假设是1行3072列的列向量,x是3072行1列的行向量组成,所以w1x1+w2x2+.......w3072x3072是一个值,因为1行的列向量(1行3072列)与1列的行向量(3072行1列)的内积是一个值。即损失值= -log (p),例p=0.13时,-log(p)=0.89,这里的对数log是经过(1,0)点,y值是负穷到正穷范围值的递增函数。w开始都是比较小的,是随机初始化的。
2024-10-18 10:10:25
676
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人