- 博客(45)
- 收藏
- 关注
原创 DeepSeek系列 ----《DeepSeek-R1 - Incentivizing Reasoning Capability in LLMs via Reinforcement Lear》论文解析
我们推出了第一代推理模型,DeepSeek-R1-Zero与DeepSeek-R1。DeepSeek-R1-Zero作为先导性研究,通过未采用监督微调(SFT),直接大规模强化学习(RL)直接训练而成,却展现出卓越的推理能力。在强化学习过程中,该模型自然涌现出大量强大而有趣的推理行为,但也面临可读性差、语言混杂等挑战。为解决这些问题并进一步提升推理性能,我们推出了DeepSeek-R1,该模型在强化学习前引入了多阶段训练与冷启动数据,最终在推理任务上达到与OpenAI-o1-1217相当的水平。
2025-05-13 14:55:32
178
原创 DeepSeek系列 ----《DeepSeek-V3 - DeepSeek-V3 Technical Report》论文解析
我们提出了DeepSeek-V3,这是一个强大的混合专家MoE(Mixture-of-Experts)语言模型,具有671B个总参数,以及每个token激活37B参数。为了实现高效的推理和低成本的训练,DeepSeek-V3采用了多头潜在注意力机制MLA(Multi-head Latent Attention)和DeepSeekMoE架构,这两种架构在DeepSeek-V2中得到了充分的验证。此外,
2025-05-13 12:15:52
57
原创 DeepSeek系列 ----《DeepSeek-V2 - A Strong, Economical, and Efficient Mixture-of-Exper》论文解析
我们提出了DeepSeek-V2,一个强大的专家混合(MoE)语言模型,其特点是经济实惠的训练成本和高效的推理。它总共包含236B个参数,其中每个token激活21B个参数,每个token支持128K的上下文长度。DeepSeek-V2采用了新颖的多头潜在注意力机制MLA(Multi-head Latent Attention )和DeepSeekMoE等创新架构。MLA通过将键值值(KV)缓存显著压缩为潜在向量来保证高效推理,而DeepSeekMoE通过稀疏计算以实惠的计算训练成本训练强大的模型。
2025-04-22 15:18:48
79
原创 DeepSeek系列 ----《DeepSeekMoE - Towards Ultimate Expert Specialization in Mixture-o》论文解析
在大语言模型时代,混合专家(MoE)是一种很有前景的架构,可以实现在扩大模型参数时,同时对计算成本进行有效控制。然而,像GShard这样的传统MoE架构,它在N个专家(experts)中激活top-K个,其在专家专业化方面面临着挑战,每个专家要求获得不重叠和集中的知识。为此,我们提出了DeepSeekMoE架构,以实现最终的专家专业化。
2025-04-22 14:59:33
176
原创 DeepSeek系列 ----《DeepSeek LLM - Scaling Open-Source Language Models with Longtermism》论文解析
开源大语言模型(LLMs)的快速发展确实令人瞩目。然而,既有文献提出的缩放定律(指导模型性能与规模关系的核心经验规律,模型性能如何随着参数规模、数据量和计算资源的增加而系统性提升)结论不一,这为LLM的规模扩展蒙上了一层阴影。我们深入研究了缩放定律,并在两种主流开源配置(7B和67B参数规模)中提出了促进大模型扩展的独特发现。基于这些缩放定律的指导,我们推出了DeepSeek LLM项目。一个致力于长期推动开源语言模型发展的计划。为进行预训练,我们构建了当前包含2万亿token且持续扩增的数据集。
2025-04-15 20:13:36
112
原创 3D人脸模型Flame ----《Learning a model of facial shape and expression from 4D scans》论文讲解及代码注释
前文在阅读论文前,首先我们要有一定的知识储备,包括人脸建模,表情制作,旋转转换等,才能方便我们的论文理解,所以首先我会讲解一些关键的知识点。Flame模型的作用?Flame是一个3D人脸的通用模型,举个例子,你现在有一个特定人的3D人脸扫描序列,那么我便可以通过Flame模型拟合,构建个性化的模型,然后通过改变表情参数,动作参数,从而生成一些新的表情,动作的3D数据,以进行动画制作等。除此之外,因为扫描数据的误差和缺失,我可以通过Flame模型,对数据进行拟合平滑,得到较为完善,完美的3D数据。除
2022-03-29 10:37:22
6828
3
原创 Wav2Lip模型------《A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild》论文解读及代码解析
ABSTRACT:在这篇文档中,我们将研究任意人物的人脸视频与目标音频的口型匹配问题。当前领域能做到对特定训练过的人物进行精准的口型匹配,但在其他未训练的人物上效果不好。我们找到了导致这种问题的主要原因,并学习了一个强大的口型匹配模型。接着,我们提出新的口型评估标准,从而精准评估任意视频的口型匹配的准确度。结果表明,我们的模型wav2lip跟真实视频的准确率相当。1. INTRODUCTION:随着视频内容消费的爆炸增长,从而需要快速的视频创作。同时,让这些视频以不同的语言进行呈现也是一种挑
2022-03-15 16:41:18
8820
13
原创 OCR模型DBNet-------《Real-time Scene Text Detection with Differentiable Binarization》论文,模型,代码解剖
首先,我先对DBNet的论文进行重点翻译解释说明,之后再对整个模型进行解剖,最后再对官方源码的实现方法,关键代码进行分析,所以篇幅也比较长,之间会附带一些例子说明,让你更深刻的了解DBNet。论文解析:Abstract基于语义分割的文本检测模型得到广泛应用,因为其对各种形状的文本,如曲线文本,都有更好的精准度。然而,用于后处理生成区域的二值化对最终的检测效果起到关键影响,在这论文,提出了可微分二值化(Differentiable Binarization (DB)),它可以融入分割网络,结合
2021-11-16 11:16:29
3261
原创 换脸论文----《SimSwap An Efficient Framework For High Fidelity Face Swapping》解析
ABSTRACT:提出了新的换脸模型,Simple Swap(SimSwap),可以融合任意的source face跟target face,并且保存source face的身份及target face的属性特征。模型克服了以往模型的缺陷,通过两个创新点,1,提出了ID Injection Module(IIM)模块,通过这个模块,将针对特定的source face的框架扩展到适用任意的source face。2,提出了Weak Feature Matching Loss损失函数,他能帮助我们模型更好的
2021-10-12 14:52:17
2546
原创 换脸论文----《FaceShifter Towards High Fidelity And Occlusion Aware Face Swapping》解析
Abstract:提出了一个新颖的两阶段模型,称为FaceShifter,在第一阶段,提出了一个新的属性编码器提取多个层次的目标人脸属性,和一个精心设计的新的Adaptive Attentional Denormalization(AAD)层,在合成人脸时可以自适应集成身份和属性。在第二阶段,为了解决面部遮挡问题,设计了一个新的Heuristic Error Acknowledging Refifinement Network(HEAR-Net),经过训练,可以在不需要人工标注的情况下,以自我监督的方式
2021-09-18 19:46:00
819
原创 《A Survey of Quantization Methods for Efficient》论文解读------关于模型量化的报告
这篇文章是关于21年的论文《A Survey of Quantization Methods for Efficient》的解读,因为论文篇幅较大,所以不会全文翻译,只提取关键点进行翻译讲解。摘要:提出了在当下,内存或计算资源受限的情况下,如何将连续数值,分布至最小的比特数表示的离散数上,并且保证原先的准确率的问题。I. INTRODUCTION:在当前,我们通过堆积大量的参数,使我们的模型准确率得到明显的提高,然而,在资源受限,实时性要求的情况下,却存在壁垒,于是为了实现高精度,高...
2021-06-22 18:32:12
1166
原创 模型剪枝详解及pytorch代码实现
在当前的领域,随着需求的复杂程度以及难度,精度的要求越来越高,像实例分割等需求,对比分类模型,我们的模型结构变得越来越大,但同时,我们对实时性要求也越来越高,往往在33ms(大概在33ms处理完一帧才能达到不延迟的实时要求)以内要串联运行好几个模型,这就产生了相互矛盾,因此我们开始寻求高精度,低延迟的模型结构。于是,便出现了很多轻量级模型,比如mobileNet,shuffleNet,ghostNet等等,但往往这些还不足以支撑我们庞大的实时性需求,因此,我们往往还会对模型进行人工修改,比如修改backbo
2021-05-08 19:37:30
2420
原创 OpenPose论文解析
本文是对19年论文,对OpenPose改进版的论文进行解析。因为改进版官方代码未找到,所以本文单纯从论文层面对模型进行解析。本文只对算法流程,模型构建,Loss构成,公式整理,关键要点等进行整合解析,其他部分可以自己祥阅原论文,如贪婪算法的改进,新的脚部数据集等,但不妨碍对OpenPose的整体架构,模型,思想的理解。17年版本论文地址:https://arxiv.org/abs/1611.0805019年版本论文地址:https://arxiv.org/abs/1812.08008OpenPo
2021-01-04 12:02:00
3626
原创 自创实时高精度人脸检测模型原理及相关代码实现,及目标检测的各种相关知识,试验及细节。
本文是总结了我自创的一个高精度的,实时的人脸检测模型的相关文档及代码。在项目的过程中,使用了多种技巧的实现及试验结果。包括多种损失函数,多种NMS。模型的多种构建方式等等。最终模型在GPU上测试,使用keras框架,未剪枝的情况下,单张图片耗时10ms,即为100fps,模型的参数量为18w,模型大小为800KB。因计算mAP较为耗时,所以我只计算了在判断为人脸的conf阈值为0.4的识别标准,识别正确的IOU阈值为0.5的判断标准下,的准确率及召回率我将COCO数据集分为两部分,其一:
2020-11-23 17:12:21
356
1
原创 DSFD-Dual Shot Face Detector人脸检测模型原理代码超全面解剖
DSFD为19年腾讯提出的,用于人脸检测的轻量级实时模型,全称为Dual Shot Face Detector。接下来会给出模型的大结构,然后针对模型的创新点结合代码进行重点分析。首先论文的效果图如下:模型结构如下:模型的输入像素为640,模型结构采用single stage doul shot,backbone网络采用vgg16,类似于PyramidBox或S3FD网络,选择conv3_3,conv4_3,conv5_3,conv_fc7, conv6_2和conv7_2作为First
2020-11-21 18:14:32
1226
1
原创 踩坑记----Batch Normalization引发的INF或NAN
Batch Normalization是众所周知的好用,但Batch Normalization在某些情况下,却会适得其反。在使用别人的模型训练时,往往因为显存的不足,会导致我们的BatchSize无法设置的较高,当我使用BatchSize=4的情况下,开始Loss会稳定下降,但当一定step之后,会在某个Batch时出现Loss突然变大的情况,在这个Batch之后,Loss会变得越来越大。最终出现INF或者NAN的情况。当Loss出现异常值,往往会优先考虑是否Loss的计算方法存在Bu..
2020-11-15 21:20:17
4343
原创 FaceBoxes原理代码超全面解剖
FaceBoxes是一个人脸检测的轻量级模型,类似于YoloV3模型,采用了archor进行方框预测,FaceBoxes采用高像素1024*1024的图片输入,但在高分辨率输入的情况下,依然能达到实时效果。下面为论文给出的TABLE及效果图模型结构如下:模型使用了常规的卷积conv,池化maxPool,以及InceptionV3中提出的Inception模块,除此之外,模型还使用到CRelu激活函数,快速扩张channel数目。模型的输出:模型借鉴了YoloV3的多尺
2020-11-09 21:34:27
631
原创 DBFace原理代码超全面解剖
轻量级检测网络DBFace,因为我只使用到人脸检测,没用到特征点检测,所以特征点检测部分我不作分析。简介DBFace是用于人脸检测的轻量级网络,可部署于移动端实时运行。骨干网络为CenterNet,对比yolo,faster_rcnn等目标检测网络,CenterNet具有结构简单优雅,构建简单,数据处理简单,直接检测目标的中心及方框位置的特点。可以说,它放弃了之前一直被使用的AnchorBox,直接输出预测框的坐标,而不需通过Anchorbox进行转换。它也将输出分为多个grid cell.
2020-11-06 14:15:59
1826
原创 目标检测之AnchorBox详解
Anchor在计算机视觉中称为描点或者描框,在目标检测中,作为描框anchor box应用于各个目标检测的网络模型中,也成为先验框。来历,及应用场景:Anchor最新在Faster rcnn被提出及应用,后被YOLOV2借鉴,及应用与YOLO之后的各个版本。之后的各个目标检测框架都基本采用Anchor Box进行目标检测。那么就要说到,为什么要提出AnchorBox。那就要追根到之前的目标框的选择方式。在Fast rcnn中,要提取2000个候选框,通过Selective Sear.
2020-11-04 11:36:00
12812
6
原创 Normalization vs. Standardization vs. Batch Normalization
Normalization标准化和Standardization归一化,作为ML常用的tricks,大家再熟悉不过,但大家往往只知道基本的计算公式,且没深入了解过,甚至不知道标准化与归一化的区别,也不知道其具体作用,原理等,其次,存在为为什么使用Batch Normalization替代Normallization等问题。于是,我做了一定功课,及归纳如下。一:Normalization归一化和Standardization标准化的定义以上为众所周知的数学公式定义,我们看国外对Normaliz
2020-06-11 16:36:23
477
原创 图像随机旋转及坐标进行旋转原理及Python实现
在做人脸或物体检测的任务中,往往需要对训练集进行随机旋转,做数据增强,增加模型的鲁棒性。在进行图像随机旋转的同时,相应的Label值坐标,如人脸关键点检测中人脸对应的关键点坐标,物体检测任务中的物体所在box坐标。(1).原理-------坐标旋转变换公式原理参照博客:https://blog.youkuaiyun.com/u012686154/article/details/88854...
2020-05-08 16:28:53
4804
1
原创 踩坑记----keras,训练准确率远高于验证准确率,keras底层代码解剖
前几天,帮朋友处理一个深度学习网络问题,具体场景是这样的,总共有12张,分为3个类别,同时作为训练集跟验证集,训练集跟验证集的预处理一样,使用的模型为ResNet50,最后的激活函数为softmax。使用keras框架,总共10个epoch,每个epoch都是只有1个batch(因为数据集就12张图片,所以一个batch也就12张图片)。在训练前几个epoch时,训练准确率便达到100%,因为...
2020-01-22 15:14:50
7110
22
原创 强化学习---DQN相关知识及代码实现
DQN全名为Deep Q-Network,是结合了Q-learning和深度学习网络的一个网络结构模型。接下来分析DQN的实现流程及细节处理:一:为什么提出DQN:Q-learning作为传统的强化学习算法,功能强大且好实现,但存在一个致命的弱点,便是,Q-learning需要一个状态转移表,来保存状态及决定下一步的action,但当状态很多时,且可采取的行动较多时,这个表格便会...
2020-01-15 15:31:40
3495
1
原创 踩坑记----numpy.array,shape为(m,1)和(m,)的区别
在我们使用numpy跟tensorflow时,时常会遇到这个坑,而这个坑又不容易发现,比如当我们使用y-y'时,时常就会踩进这个坑。直接上例子:import numpy as nparr1 = np.array([1,2,3])arr2 = np.array([[1],[2],[3]])print (arr1.shape,arr2.shape)#### 输出为:((3,), (3...
2020-01-14 11:55:54
3277
原创 tensorflow2.0 Post-training quantization
因为tensorflow2.0版本对比tensorflow1.0版本变化较大,所支持的量化方式方法都有所改变,所以重新写一篇文档记录。先附上官方文档:https://www.tensorflow.org/lite/performance/post_training_quantization?hl=en因为tf2.0已经不更新aware-quantization,所以这篇文章重点简...
2019-12-25 15:14:11
3072
7
原创 踩坑记----large batch_size cause low var_acc
有时候,我们在训练模型前期,会出现很高的train_acc(训练准确率),但var_acc(验证准确率)却很低。这往往是因为我们模型在训练过程中已经进入局部最优,或者出现过拟合的现象。造成这种情况有多种原因,我只提出以下几点,有补充的可以在下面留言,我补充。(1).训练数据分布不均匀,可能你的训练数据某一类别占据了大多数,比如95%的数据为苹果,5%的数据为其他类别,那么模型为了拟合训练数据,...
2019-12-16 15:21:19
1028
原创 TensorFlow剪枝API开发教程
Tensorflow在今年推出剪枝API,可用于对模型剪枝,使模型的大小可以得到压缩,速度得到提升。具体的参考文档为以下两篇:第一篇,tensorflow推出的weixin推文:https://mp.weixin.qq.com/s?__biz=MzU1OTMyNDcxMQ==&mid=2247485959&idx=1&sn=8d27c110d1ff857df9868...
2019-12-12 16:46:48
2383
20
原创 实时目标检测模型-ThunderNet原理详解
ThunderNet是旷视提出来的一个用于目标检测的模型,它是基于Light-Head R-CNN 进行改动,使的模型更轻量级,更快速。上图为ThunderNet的模型结构图ThunderNet输入图片像素为320*320,模型结构主要分为两部分,主干部分backbone part及检测部分detection part,主干部分用于图像特征的提取。检测部分用于候选框的提取及物体的...
2019-11-28 22:40:23
1079
1
原创 TensorflowLite量化原理
一 : 原理原理公式:Here:ris the real value (usuallyfloat32) qis its quantized representation as aB-bit integer (uint8,uint32, etc.) S(float32) andz(uint) are the factors by which we scale an...
2019-03-12 17:29:37
3610
4
原创 yield生成器之keras模型训练代码实现
1 . 何为yield?包含yield的函数,会生成一个生成器generator ,听过next函数可以不断生成一批数据.示例:>>> def test():... testData = ['a' , 'b' , 'c' , 'd' , 'e' ,'f']... for x in testData:... yield x......
2019-02-18 11:15:54
2558
2
原创 安装bazel , 编译freeze_graph、toco
1.安装bazel:(1) . bazel官网:https://docs.bazel.build/versions/master/install-ubuntu.html#install-with-installer-ubuntu(2) . 推荐使用二进制源码安装Use the binary installer (recommended)(3) . 按照指导安装,源码包在: https:...
2019-01-17 15:16:50
2560
9
原创 shuffleNet之原理及tensorflow实现
为了解决常规模型过大且计算量过大,除了出现mobilenet属于轻量级网络,shuffleNet同样也为新型的轻量级网络,shuffleNet主要由group convolution跟channel shuffle两部分组成.Group convolution:对于常规卷积,假如输入Dk*Dk*m的tensor,使用n个大小为Dw*Dw的卷积核进行卷积,输出Dk*Dk*n的tensor....
2018-12-29 17:00:21
4643
3
原创 Tensorflow之TensorBoard
TensorBoard 简介TensorBoard 是用于可视化 TensorFlow 模型的训练过程的工具(the flow of tensors)TensorBoard 如何工作简单来说,TensorBoard 是通过一些操作将数据记录到文件中,然后再读取文件来完成作图的。想要在浏览器上看到 TensorBoard 页面,大概需要这几步:summary。在定义计算图的时候,在适...
2018-11-26 20:52:45
284
原创 MobileNet-v1和MobileNet-v2
MobileNet-v1:MobileNet主要用于移动端计算模型,是将传统的卷积操作改为两层的卷积操作,在保证准确率的条件下,计算时间减少为原来的1/9,计算参数减少为原来的1/7.MobileNet模型的核心就是将原本标准的卷积操作因式分解成一个depthwise convolution和一个1*1的pointwise convolution操作。简单讲就是将原来一个卷积层分成两个卷积...
2018-07-25 17:33:35
6793
2
原创 激活函数 为什么使用非线性激活函数
Sigmoid函数:g(z) = a = 1 / (1 + e ^(-z))g'(z) = g(z) * (1 - g(z)) = a * (1-a)while z = 10 g(z) ≈ 1 g'(z) = 1 * (1 - 1) ≈ 0 z = -10 g(z) ≈ 0 g'(z) = 0 * (1 - 0) ≈ 0 ...
2018-06-20 16:28:44
6692
原创 色差计算(颜色之间的相似度计算)
色彩有多种颜色空间表示方式,如RGB,HSV,HSL,LAB等等,RGB颜色空间:RGB颜色空间相对简单,也最为普遍,就分为三个颜色通道,分别为红色,绿色,蓝色这三种基本色调的值,然后将这三个颜色融合在一起,也就成为一种颜色.但用RGB比较颜色之间的相似度时,存在很大的问题,不建议直接使用,因为往往一个通道的一点改变,会导致最后融合在一起的颜色发生巨大变化,而如果三个通道的同时改...
2018-06-14 21:25:36
98899
42
原创 tensorflow 图片批处理--- tf.train.batch
当我们使用tensorflow进行深度学习时,进行训练模型时,我们往往要读取大量的图片进行批处理输入模型进行训练.如果我们一次性读取全部图片或者过多张图片,内存将有可能溢出.如果我们一次读取小批量图片,再将图片转换成tensor,然后再输入模型,则随着模型的迭代次数增大,内存占用将越来越大,最终内存溢出.如下代码:sess=tf.Session()ImgFiles= ***** (包括所有训练集...
2018-04-20 18:04:50
3438
原创 tensorflow .pb文件模型量化
(1).下载解压tensorflow源码(2).下载安装bazel工具,要求jdk不低于1.8(3).编译量化脚本sudo bazel build tensorflow/contrib/quantization/tools:quantize_graph运行后报错:ERROR: no such package 'tensorflow/contrib/quantization/tools': BUIL
2018-01-18 14:42:04
4343
4
原创 Tensorflow Lite之编译生成tflite文件
这是tensorflow生成的各种模型文件:GraphDef (.pb) - a protobuf that represents the TensorFlow training and or computation graph. This contains operators, tensors, and variables definitions. CheckPoint (.ckpt) -...
2018-01-07 19:08:47
22401
98
原创 LDA主题模型代码实现流程
LDA主题模型的原理,推导过程比较复杂,可以参考此链接,讲的比较详细:http://www.52nlp.cn/lda-math-mcmc-%E5%92%8C-gibbs-sampling1 本文主要是通过阅读别人实现的LAD主题模型代码,总结的一个实现流程,供别人想实现LAD时可作参考,如若有何错误,麻烦请指出:LDA代码流程:(1) 先对文档切词,然后对每个词语赋ID编号0~(n-...
2017-09-04 17:20:20
13732
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人