- 博客(464)
- 问答 (1)
- 收藏
- 关注
原创 Layer Normalization(层归一化) 和 Batch Normalization(批量归一化)
它一次看一个批次(Batch)的数据(比如32个学生),计算这32个学生的语文平均分和语文成绩的波动程度(方差),然后用这个均值和方差来标准化这32个学生的语文成绩。它计算这个学生所有科目(语文、数学、英语)的总平均分和所有科目成绩的波动程度(方差),然后用这个均值和方差来标准化这个学生所有科目的成绩。因为RNN的序列长度会变,每个Batch的形态可能不一致,很难计算稳定的均值和方差。假设你的数据是一个表格(比如学生成绩单),行是不同的人(样本),列是不同的特征(科目,如语文、数学、英语)。
2025-09-26 19:50:31
385
原创 RNN和LSTM模型研究
该门会读取h_{t-1}和x_t,输出一个在 0 到 1 之间的数值给每个在细胞状态C_{t-1}中的数字。LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。然后,一个 tanh 层创建一个新的候选值向量,C_t 会被加入到状态中。在标准的 RNN 中,这个重复的模块只有一个非常简单的结构,例如一个 tanh 层。LSTM 同样是这样的结构,但是重复的模块拥有一个不同的结构。现在是更新旧细胞状态的时间了,C_{t-1}更新为C_t。RNN 是包含循环的网络,允许信息的持久化。
2025-09-01 16:16:24
314
原创 时间序列模型LSTM的漫谈
pytorch-实现LSTM实现多变量输入多步预测。lstm多指标预测一个值 python代码。多指标/多参数/多变量/多特征 预测。
2025-08-13 15:28:28
203
原创 趣味AI神经网络
把大脑比作一个乐高积木工厂,里面有成千上万的小乐高积木工人(神经元)。这些工人不会一直忙碌,他们需要知道什么时候该工作,什么时候该休息。激活函数就像是告诉这些小工人“该干活了!”或者“休息一下吧!”的指挥官。激活函数被比喻为神经元的指挥家,神经网络的灵魂,能够创建更复杂的结构,而不仅仅是按照简单的规则(如每次加一块积木)来工作。这使得神经网络能够学习更复杂的模式。激活函数确保神经元的输出不会过大或过小,类似于确保乐高积木不会堆得太高而倒塌,或者留出足够的空间以避免过于拥挤,这样可以保持模型的稳定性。
2025-06-04 16:49:16
276
原创 非结构化数据比较成熟的分析方法及应用
是一种从大量文本数据中提取有用信息和知识的技术。文本挖掘的主要任务包括等。在商业领域,文本挖掘可以帮助企业分析消费者对产品的反馈和情感态度,从而更好地调整营销策略。在金融领域,文本挖掘可以帮助投资者分析股票市场的趋势和情绪,从而更好地把握投资机会。在医疗领域,文本挖掘可以帮助医生分析病人的病历和医学文献,从而更好地制定治疗方案。信息抽取是从文本中提取出结构化信息的技术。它可以将非结构化的文本转化为结构化的数据。信息抽取的主要任务包括等。
2025-04-10 09:41:57
419
原创 DeepSeek在日常办公中可以辅助大家做什么
文案撰写与润色:DeepSeek可以快速生成各类文案,包括报告、邮件、会议纪要等。例如,通过简单的提示词,它能生成一份产品推广文案或项目报告,并根据需要进行润色。文档校对与翻译:在WPS或Word中集成DeepSeek后,可以直接对文档内容进行校对、润色、翻译等操作。比如,选中一段文本后点击“生成”,DeepSeek会自动处理并生成优化后的结果。
2025-03-11 11:31:24
1465
原创 问答系统简述
PaddleNLP Pipelines带你10分钟完成抽取式智能问答系统。dureader baseline 的 tensorflow版。PaddleNLP带你十分钟搭建FAQ智能问答系统。信息抽取:只能从原有文本中抽取关键字。自己搭建个聊天机器人吧!开放域对话:有问题,机器会反问。生成式问答:运行错误?BERT 抽取式问答。
2025-02-09 23:57:35
746
原创 大模型最新进展跟踪(202410)
国内模型GLM-4-Plus、SenseChat 5.5、AndesGPT-2.0和Qwen2.5-72B-Instruct排名国内并列第一,有接近70分的表现,小幅落后于ChatGPT-4o-latest。(2)紧随其后的位列国内 Top10 的模型有 Hunyuan-Turbo、360gpt2-pro、Step-2-16k、DeepSeek-V2.5、Doubao-pro-0828、Baichuan4、山海大模型4.0、TeleChat2-Large,均有不俗表现。
2025-01-02 14:23:51
1226
1
原创 语音识别(音频转文本)
模型下载OpenAI的Whisper模型Whisper是OpenAI推出的一个多语言、端到端的语音识别模型,它能在多种情境下进行语音理解,包括跨语言对话、混合语言输入等。而Vosk则是一个轻量级的离线语音识别引擎,特别适合于资源有限的环境或对实时性要求高的场景。whisper集团 离线语音转写。
2024-11-06 09:08:10
1055
原创 Prompt工程(提示词工程)简述
Prompt是一种基于人工智能(AI)指令的技术,通过明确而具体的指令,指导语言模型的输出。在提示词工程中,Prompt的定义涵盖了任务、指令和角色三个主要元素,以确保模型生成符合用户需求的文本。任务: Prompt明确而简洁地陈述了用户要求模型生成的内容。这包括在特定应用场景中,用户希望模型完成的任务或生成的文本类型。指令: 模型在生成文本时应遵循的指令是Prompt中的关键要素之一。这些指令具体规定了模型生成文本的方式,通过清晰的语言来引导模型以获得所需的输出。
2024-10-12 09:24:07
478
原创 大模型微调方法简述
PEFT(Parameter-Efficient Fine-Tuning)是hugging face开源的一个参数高效微调大模型的工具,里面集成了4种微调大模型的方法,可以通过微调少量参数就达到接近微调全量参数的效果,使得在GPU资源不足的情况下也可以微调大模型。而当训练好新的参数后,利用重参的方式,将新参数和老的模型参数合并,这样既能在新任务上到达fine-tune整个模型的效果,又不会在推断的时候增加推断的耗时。低秩矩阵是指在线性代数中,其秩(即矩阵中线性无关的行或列的最大数目)较低的矩阵。
2024-09-02 13:59:52
908
原创 AI大模型简述
智谱清言ChatGLM,GLM全称”General Language Model“ 来源自清华的一篇论文——基于自回归空白填充目标的通用预训练框架,作为国产第一梯队的自研模型,这也是后续智谱AI发布的所有AI应用的底座。大模型是指拥有超过10亿个参数的深度神经网络,它们能够处理海量数据、完成各种复杂的任务,如自然语言处理、计算机视觉、语音识别等。华为盘古AI大模型包括了NLP大模型、CV大模型、科学计算大模型等多个AI大模型在内的合集,使其可以被应用到科学研究、教育、交通、工业等多个行业中。
2024-08-03 12:51:24
799
原创 flask创建登录页面
flask实现一个登录界面基础的Flask项目结构forms.py:定义登录表单和表单字段的文件。templates/login.html:用于渲染登录表单的 HTML 模板文件。routes.py:定义应用的路由和视图函数的文件。__init__.py:创建并初始化 Flask 应用的文件。run.py:启动应用的文件。Flask实现登录功能(参考)在上部署一个任务列表,在后期应设置为每个用户专用的列表登录页面设计。
2024-03-02 19:47:42
733
1
原创 向量数据库简介
当我们有一份文档需要 GPT 处理时,例如这份文档是客服培训资料或者操作手册,我们可以先将这份文档的所有内容转化成向量(这个过程称之为 Vector Embedding),然后当用户提出相关问题时,我们将用户的搜索内容转换成向量,然后在数据库中搜索最相似的向量,匹配最相似的几个上下文,最后将上下文返回给 GPT。向量数据库的核心思想是将文本转换成向量,然后将向量存储在数据库中,当用户输入问题时,将问题转换成向量,然后在数据库中搜索最相似的向量和上下文,最后将文本返回给用户。阿里巴巴智能引擎事业部团队。
2023-10-16 11:10:30
529
原创 2022-WACV-LaMa: Resolution-robust Large Mask Inpainting with Fourier Convolutions
试玩地址:https://huggingface.co/spaces/akhaliq/lama。PyTorch 中的傅立叶卷积:通过 FFT 有效计算大核卷积的数学原理和代码实现。基于LAMA的图像修复界面。
2023-09-18 11:27:05
204
原创 2023-Inpaint Anything: Segment Anything Meets Image Inpainting
区别于传统图像修补模型,IA 模型无需精细化操作生成掩码,支持了一键点击标记选定对象,IA 即可实现移除一切物体(Remove Anything)、填补一切内容(Fill Anything)、替换一切场景(Replace Anything),涵盖了包括目标移除、目标填充、背景替换等在内的多种典型图像修补应用场景。SAM在设计上可以同时输入原图和特定提示(点、框、阴影、文本),然后根据不同的提示输出不同的分割结果图,并且SAM支持不同提示的交互式分割。
2023-08-01 08:45:14
763
原创 基于CLEval的OCR精度评价指标
对“RIVERSIDE”的检测展示了细粒度的问题,对“WALK”的识别体现了正确性问题。TotalNum代表GT或检测到的字符的总数,CorrectNum代表正确的字符的总数。正确性表示的是文本与检测的匹配程度,在检测结果中,理想情况是每个字符被且仅被检测到一次。1.实例匹配过程:针对细粒度问题,将所有可能的gt和det做匹配,这里的匹配要求gt和det起码包含一个以上的共享字符。该论文提出了一种针对字符级别信息的评估方式,这种方式是对独立的文本检测、文本识别和端到端的文本发掘的细化评估。
2023-07-06 11:11:24
310
原创 PaddleOCR代码解读
在使用 训练模型 进行快速推理时,配置参数为image_shape: [736, 1280],此时对象中的数据成员self.resize_type的值应该为1。当self.resize_type为2时,首先是从图片宽高中找出最长边,计算缩放比例,然后保持图片的宽高比不变进行缩放。这里使用的图像归一化是常见的方法,先乘上scale进行线性变换,再减去对应通道的平均值,最后除以对应通道的标准差。当self.resize_type为0时,将把图片宽高等比例缩放成均在参数限制内的、32的整数倍。
2023-07-02 21:31:26
979
原创 OCR解码
CTC是最为经典的OCR解码算法,假设CRNN特征抽取器的输出维度Txn,其中T=8,n包含blank(记作 - )字符(blank字符是间隔符,意思是前后字符不连续)。对每一列1xn进行softmax得到概率最大的字符,得到的最终序列需要去除连续的重复字符,比如最终得到的序列为-stt-ate,那么去重合并后就得到state序列。2.将CNN的输出维度转换为25个1x512的序列,送入深层双向LSTM中,得到CRNN的输出特征,维度转换成为25xn(n是字符集合总数)。CRNN+CTC的文字识别算法。
2023-07-02 21:29:45
171
原创 2022-TPAMI-华科白翔-DBNet++
DBNet++网络在DBNet的基础上对head部分做了改进,DBNet直接把几个头分支concat起来,DBNet++通过Adaptive Scale Fusion (ASF)(自适应尺度融合)模块来连接,使用了空间自注意力机制来加强多尺度变化特征的刻画。论文主要动机:已有的算法耗时长。开发一种算法降低时间消耗,提高尺度鲁棒性。DBNet++:在DBNet的基础上引入了ASF结构。
2023-07-02 21:25:18
182
原创 2020-AAAI-华科白翔-DBNet文本检测
在基于分割的文本检测网络中,最终的二值化map都是使用的固定阈值来获取,并且阈值不同对性能影响较大。本文中,对每一个像素点进行自适应二值化,二值化阈值由网络学习得到,彻底将二值化这一步骤加入到网络里一起训练,这样最终的输出图对于阈值就会非常鲁棒。第一模块:使用CNN网络,对输入图像提取特征,得到特征图,本实验使用的骨干网络是轻量化网络MobileNetv3,同时使用了FPN结构,获取多尺度的特征,在本实验中,我们提取4个不同尺度下的特征图做拼接。DBNet属于基于分割的方法。做文字检测(基于分割的方法)
2023-07-02 21:24:00
226
原创 PyTorch模型量化方法
per channel是对于tensor的某一个维度(通常是channel的维度)上的值按照一种方式去scale和offset,也就是一个tensor里有多种不同的scale和offset的方式(组成一个vector),如此以来,在量化的时候相比per tensor的方式会引入更少的错误。动态量化,或者叫作Weight-only的量化,是提前把模型中某些op的参数量化为INT8,然后在运行的时候动态的把输入量化为INT8,然后在当前op输出的时候再把结果requantization回到float32类型。
2023-06-02 16:41:47
1490
3
原创 模型加速框架
前者在业界有许多非常优秀的框架:Google的GRPC、百度的BRPC等,甚至可以用python的Flask和Tornado框架,对于熟悉Python的算法工程师可以说是非常方便的。Triton支持从不同的框架(TensorRT、ONNX、Pytorch、TensorFlow)中托管/部署模型,并提供标准的模型推理API,减少了工程师的维护工作。TensorRT:为inference(推理)为生,是NVIDIA研发的一款针对深度学习模型在GPU上的计算,显著提高GPU上的模型推理性能。
2023-05-03 23:37:16
414
原创 模型压缩简介
模型部署是生产应用的最后一环,它将深度学习模型推理过程封装成服务,内部实现模型加载、模型版本管理、批处理以及服务接口封装等功能,对外提供RPC/HTTP接口。模型优化不彻底:TensorRT、TF-TRT等工具主要针对主干网络优化,但忽略了预处理部分,因此整个模型优化并不充分或者无法优化。另一种模型压缩还可以直接改变模型架构,虽然做不到模仿人脑进行稀疏连接,依然有很好的压缩效果,这种方法称为模型蒸馏。模型压缩领域对大脑的稀疏激活的应用是模型剪枝,相当于把模型做窄,永久失活一部分神经元,而不改变模型架构。
2023-04-06 09:14:03
284
原创 以图搜图综述
但特征的学习方式,尤其是引入度量学习的思路之后,即便是同一个网络的同一层特征,不同的训练方式对最后的精度也会有很大的影响。online部分,其中特征提取(query)和offline的特征提取(database)需要保持高度的一致性。2. 如何解决全量的特征迭代的问题,也就是说query和database的特征需要同步;以图搜图技术需要根据不同的使用场景来选择合适的技术方案,尤其是特征的选择。3. 特征增强,在检索结构确定的情况下获得更好的检索效果;1. 如何解决检索库动态增加的问题;4. 高并发低延迟;
2023-03-01 17:05:00
562
原创 特征匹配算法
它可以使复杂度为O(MN)的求和,求方差等运算降低到O(1)或近似于O(1)的复杂度,也就是说与邻域尺寸无关了,有点类似积分图吧,但是貌似比积分图更快(与它的实现方式有关)。对于二维的矩阵来讲,每一级Haar小波变换,需要先后进行水平方向和竖直方向上的两次一维小波变换,行和列的先后次序对结果不影响。盒子滤波是一种非常有用的线性滤波,也叫方框滤波,最简单的均值滤波就是盒子滤波归一化的情况。3.通过匹配特征点描述子,找到两张图中匹配的特征点对(这里可能存在错误匹配)2.提取每个特征点对应的描述子。
2023-02-13 16:22:18
309
原创 SURF特征匹配算法
在特征点周围取一个正方形框,框的边长为20s(s是所检测到该特征点所在的尺度)。然后把该框分为16个子区域,每个子区域统计25个像素的水平方向和垂直方向的haar小波特征,这里的水平和垂直方向都是相对主方向而言的。该haar小波特征为水平方向值之和,水平方向绝对值之和,垂直方向之和,垂直方向绝对值之和。用SIFT算法来实现图像拼接是很常用的方法,但是因为SIFT计算量很大,所以在速度要求很高的场合下不再适用。Surf算法的基本路程也可以分为四大部分:尺度空间建立、特征点定位、特征点方向确定,特征点描述。
2023-02-13 16:20:18
324
原创 正则表达式匹配
六种在正则表达式中的常见函数,分别是re.match、re.search、re.findall、re.compile、re.split和re.sub。re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配。print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配。
2023-02-13 15:39:59
164
原创 条码识别算法2
第二,为 了条码的可识读性,条码在制作时条和空之间有着较大的反射率差,从而条码区域内的灰度对比度较大,而且边缘信息丰富。第一,条码区域内的条空是平行排列的,方向趋于一致;基于方向一致性的条码定位算法。
2023-01-20 17:48:40
797
原创 条码识别算法
将最细的线宽设为 «1»,那么2倍的线宽就是«11»,3倍的线宽就是 «111»,以此类推。空白宽度按照同样原则,分别代表 «0», «00» 或 «000»。Code-128码是11位条码。把序列拆分成11位数据块,生成字符串并显示。通过纵横配置像素,能够存储更大的信息量,不仅能表达数字,还能表达各类语言。对条码的条杠(=线)及空间的宽度(间隔)差异进行感测,以此来读取数据。包括3种条杠,用3条杠和3格空格表达1个字符。用5条杠和4格空格表达1个字符的条码规格。符号(-,.,空格,$,/,+,%)
2023-01-20 17:47:29
2295
原创 C++调用yolov5 onnx模型的初步探索
用opencv的dnn模块做yolov5目标检测的程序,包含两个步骤:(1).把pytorch的训练模型.pth文件转换到.onnx文件。第二步编写yolov5.py文件,把yolov5的网络结构定义在.py文件里,此时需要注意网络结构里不能包含切片对象赋值操作,F.interpolate里的size参数需要加int强制转换。不过,最近我发现在yolov5-pytorch程序里,其实可以直接把原始训练模型.pt文件转换生成onnx文件的,而且我在一个yolov5检测人脸+关键点的程序里实验成功了。
2023-01-20 17:44:32
2720
原创 初步学习c++ createthread()多线程
要使用的这个线程需要将这个资源(取钱这个过程)先“锁”起来,然后用好之后再解锁,这期间别的线程就无法使用了,其他线程的也是类似的过程。cout
2023-01-20 17:02:10
424
原创 microsoft visual c++ build tools
因为visual studio的安装包太大,所以在不需要开发的情况下,可以选择使用microsoft visual c++ build tools安装c++编译器,这个工具会小很多。安装使用Visual C++ 编译器的 standalone(独立)版,而不需要安装庞大的Visual Studio。可以使用Microsoft C++ 生成/构建工具(Build Tools)来安装Visual C++ 编译器。visual c++ build tools的安装与使用。
2023-01-20 16:59:36
10857
原创 自监督学习
等我把模型参数训练个八九不离十,这时候再根据你下游任务 (Downstream Tasks) 的不同去用带标签的数据集把参数训练到完全成型,那这时用的数据集量就不用太多了,因为参数经过了第1阶段就已经训练得差不多了。第一个阶段不涉及任何下游任务,就是拿着一堆无标签的数据去预训练,没有特定的任务,这个话用官方语言表达叫做:in a task-agnostic way。预训练模型的时候,就是模型参数从一张白纸到初步成型的这个过程,还是用无标签数据集。
2023-01-01 21:22:41
150
原创 结构重参数化
结构重参数化:利用参数转换解耦训练和推理结构结构重参数化(structural re-parameterization)指的是首先构造一系列结构(一般用于训练),并将其参数等价转换为另一组参数(一般用于推理),从而将这一系列结构等价转换为另一系列结构。训练时的结构较大,具备好的某种性质(更高的精度或其他有用的性质,如稀疏性),转换得到的推理时结构较小且保留这种性质(相同的精度或其他有用的性质)。“结构重参数化”这个词的本意就是:用一个结构的一组参数转换为另一组参数,并用转换得到的参数来参数化(paramet
2022-12-04 21:15:03
3674
原创 2021图像篡改阿里天池比赛baseline
2021-arXiv-中国人民大学-(MVSS-Net++)MVSS-Net_ Multi-View Multi-Scale Supervised Networks for Image Manipulation Detection。为了兼顾模型在篡改图像检测上的灵敏度和在真实未篡改图像上的特异度,MVSS-Net 一方面利用语义无关的图像噪声分布特征和边界特征实现篡改区域的准确定位,另一方面引入图像级分类损失使得模型可以直接在真实图像上进行学习。MVSS-Net++ 没有开源 To Be Done。
2022-11-01 09:40:59
1167
1
原创 图像篡改检测调研
2020-D-Unet: A Dual-encoder U-Net for Image Splicing Forgery Detection and Localization (无代码)利用Faster R-CNN和噪声的方法,能够定位篡改区域,但仅针对特定篡改方式和数据库。论文笔记(图像篡改检测_CVPRW2019)(二)论文笔记(图像篡改检测_CVPR2018)(一)论文笔记(图像篡改检测_CVPR2019)(三)论文笔记(图像篡改检测)(四)Tensorflow代码。Tensorflow代码。
2022-11-01 09:39:39
893
双目视频视差图变化剧烈
2017-07-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人