机器学习
文章平均质量分 58
s.feng
计算机视觉,C++
展开
-
Welford算法解决layernorm问题
背景在利用框架做计算的时候,经常会遇到layernorm的问题,不知道有没有小伙伴发现,当fp32切到fp16的时候,有时候直接结果为nan或者为inf了,为此需要研究一下。原理其实layernorm的核心就是计算方差,定义的公式如下,但是实际上考虑到计算效率的问题,我们会采用FP32的公式来实现,具体可以节省多少计算量,有兴趣可以试一下,不过当把fp32强行切换到fp16的时候,就会出现误差,导致位置错误。welford算法之前很多框架采用的都是上面的fp32的算法,下面来看看一种新的计算方式原创 2022-02-10 12:28:22 · 2312 阅读 · 0 评论 -
FLOPS和FLOPs
文章目录定义获取FLOPSFLOPs卷积层全连接层使用参考对手机或者pc芯片比较有兴趣的可能对flops这个字眼不陌生,比如苹果A14芯片性能,或者英伟达V100的算力怎么样都会出现flops, 如果做过ai模型剪枝的同学,可能在一些压缩框架比如distiller, ncnn, paddle.slim里也看到过flops, 问题来了,这两个flops是一个意思吗?定义FLOPS: 全大写,指每秒浮点运算次数,可以理解为计算的速度。是衡量硬件性能的一个指标。(硬件)FLOPs: s小写,指浮点运原创 2020-10-21 20:03:30 · 1863 阅读 · 0 评论 -
通俗理解最大似然估计,最大后验概率估计,贝叶斯估计
以下所有例子都是抛硬币问题,在两次试验中出现正,反两次结果,求该硬币出现正面的概率p,最大似然估计: 假设分布为伯努利分布,也就是二项分布,出现正面的概率是p,则下次出现上述实验结果现象的概率是:L=P(1-p),如何才能让下次出现相同结过的概率最大?自然是L越大越好,则p=0.5,所以极大似然估计的核心思想是求参数为何值时才能使样本出现的概率最大。最大后验概率估计:我们...原创 2017-05-04 15:41:55 · 3482 阅读 · 0 评论 -
Transformer的实现原理(tensor2tensor)
背景 最近在做机器翻译的优化,接触到的是谷歌在18年发布的transformer模型,在经历过一个星期后的算法原理和源码阅读后,基本上对整个模型有了相对透彻的理解,下面对整个流程进行复盘,避免以后自己忘记,后面也会对相关优化进行简单介绍。预处理在对翻译处理的过程,首先需要对一句话进行分词,比如“我是一个好学生”,分词出来后可能就是“我”,“是”,“一”,“ 个”,“好”,“...原创 2019-11-15 15:07:41 · 2639 阅读 · 5 评论 -
高斯混合模型算法
聚类的方法有很多种,k-means要数最简单的一种聚类方法了,其大致思想就是把数据分为多个堆,每个堆就是一类。每个堆都有一个聚类中心(学习的结果就是获得这k个聚类中心),这个中心就是这个类中所有数据的均值,而这个堆中所有的点到该类的聚类中心都小于到其他类的聚类中心(分类的过程就是将未知数据对这k个聚类中心进行比较的过程,离谁近就是谁)。其实k-means算的上最直观、最方便理解的一种聚类方式了,原...转载 2018-10-07 10:17:23 · 2952 阅读 · 0 评论 -
通俗理解PCA降维原理
数学来到这个世界上是为了服务其他学科,所以PCA算法不是先天存在的,下面就从实际需求来推导出pca的原理。背景:下面有个组淘宝数据顾客编号 性别 身高/cm 电子产品 美妆 1 1 175 100 5 2 1 178 98 3 3 0 160 50 16 4 0 16...原创 2019-07-25 11:36:06 · 1669 阅读 · 0 评论