NoRM

CVPR 提前看:视觉常识的最新研究进展

冷暖自知 提交于 2020-04-13 13:34:15
【今日推荐】:为什么一到面试就懵逼!>>> 2020 年 CVPR 将于 6 月 13 日至 19 日在西雅图举行。今年的 CVPR 有 6656 篇有效投稿,最终录用的文章为 1470 篇,接收率为 22%。作为计算机视觉三大顶会之一,CVPR 今年的论文方向依然为目标检测、目标跟踪、图像分割、人脸识别、姿态估计等等。CVPR 是老牌的视觉、图像和模式识别等研究方向的顶会,本篇提前看中,让我们在人工智能、深度学习热潮的冲击下,一起关注一下视觉常识的最新研究进展。 机器之心分析师网络,作者:仵冀颖,编辑:Joni Zhong。 具体的,我们关注下面四篇文章: 1、What it Thinks is Important is Important: Robustness Transfers through Input Gradients2、ClusterFit: Improving Generalization of Visual Representations3、Learning Representations by Predicting Bags of Visual Words4、AdderNet: Do We Really Need Multiplications in Deep Learning? 1、What it Thinks is Important is

paddlepaddle目标检测之水果检测(yolov3_mobilenet_v1)

拟墨画扇 提交于 2020-04-08 22:08:18
一、创建项目 (1)进入到https://aistudio.baidu.com/aistudio/projectoverview/public (2)创建项目 点击添加数据集:找到这两个 然后创建即可。 会生成以下项目: 二、启动环境,选择GPU版本 然后会进入到以下界面 选择的两个压缩包在/home/aistudio/data/下,先进行解压: !unzip /home/aistudio/data/data15067/ fruit.zip !unzip /home/aistudio/data/data15072/PaddleDetec.zip 之后在左边文件夹就可以看到解压后的内容了: 三、查看fruit-detection中的内容: 其实是类似pascal voc目标检测数据集的格式 (1) Annotations 以第一个apple_65.xml为例: folder:文件夹名称 filename:图片名称 path:文件地址 size:图片的大小 object:图片中的对象名称以及其的左下角和右上角的坐标。 < annotation > < folder > train </ folder > < filename > apple_65.jpg </ filename > < path > C:\tensorflow1\models\research\object

L0、L1与L2范数

不问归期 提交于 2020-04-05 17:22:49
L0-norm:L0范数,向量中非零元素的个数。 L1-norm:L1范数,向量中各个元素绝对值之和。 L2-norm:L2范数,向量中各个元素的平方和的平方根。 L0、L1、L2范数详解地址: http://blog.csdn.net/zouxy09/article/details/24971995/ 点赞 收藏 分享 文章举报 SnailTyan 博客专家 发布了604 篇原创文章 · 获赞 432 · 访问量 173万+ 他的留言板 关注 来源: oschina 链接: https://my.oschina.net/u/4312121/blog/3216587

Deep Learning(花书)教材笔记-Math and Machine Learning Basics(线性代数拾遗)

北慕城南 提交于 2020-04-03 14:05:47
I. Linear Algebra 1. 基础概念回顾 scalar : 标量 vector : 矢量,an array of numbers. matrix : 矩阵, 2-D array of numbers. tensor : 张量, 更高维的一组数据集合。 identity Matricx :单位矩阵 inverse Matrix :逆矩阵,也称 非奇异函数 。当矩阵A的行列式 \(|A|≠0\) 时,则存在 \(A^{-1}\) . 2. Span 3. Norm \(L^p\) norm 定义如右: \(||x||_p=(\sum_i|x_i|^p)^{\frac{1}{p}}\) for \(p∈R,p≥1\) . 任何满足如下条件的函数都可视为norm: \(f(x)=0 \, \Rightarrow x=0\) \(f(x+y)≤f(x)+f(y)\) (三角不等式) \(\forall α ∈R,f(αx)=|α|f(x)\) 1) \(L^2\) Norm 最常用的是二范式,即 \(L^2\) norm,也称为Euclidean norm(欧几里得范数)。因为在机器学习中常用到求导,二范式求导之后只与输入数据本身有关,所以比较实用。 2) \(L^1\) Norm 但是二范式在零点附近增长很慢,而且有的机器学习应用需要在零点和非零点之间进行区分

winCE下Unicode编码

吃可爱长大的小学妹 提交于 2020-04-01 04:47:32
Unicode :宽字节字符集 1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数? 可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。 调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。 2. 如何对DBCS(双字节字符集)字符串进行操作? 函数 描述 PTSTR CharNext ( LPCTSTR ); 返回字符串中下一个字符的地址 PTSTR CharPrev ( LPCTSTR, LPCTSTR ); 返回字符串中上一个字符的地址 BOOL IsDBCSLeadByte( BYTE ); 如果该字节是DBCS字符的第一个字节,则返回非0值 3. 为什么要使用Unicode? (1) 可以很容易地在不同语言之间进行数据交换。 (2) 使你能够分配支持所有语言的单个二进制.exe文件或DLL文件。 (3) 提高应用程序的运行效率。 Windows 2000是使用Unicode从头进行开发的,如果调用任何一个Windows函数并给它传递一个ANSI字符串,那么系统首先要将字符串转换成 Unicode,然后将Unicode字符串传递给操作系统。如果希望函数返回ANSI字符串,系统就会首先将Unicode字符串转换成ANSI字符串

深度学习归一化:BN、GN与FRN

南笙酒味 提交于 2020-03-25 09:46:34
3 月,跳不动了?>>> 在深度学习中,使用归一化层成为了很多网络的标配。最近,研究了不同的归一化层,如BN,GN和FRN。接下来,介绍一下这三种归一化算法。 BN层 BN层是由谷歌提出的,其相关论文为《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》,即Inception v2的主要思想。大家也可以看回 我以前的博客 ,关于这个BN层的介绍。 BN层的提出,主要解决的一个问题是Internal Covariate Shift。在BN层提出以前,是很难训练一个深层次的网络的,其主要难点是每层的数据分布均会发生变化,使得神经元需要去学习新的分布,导致模型训练缓慢、难以收敛。因此,作者借助了白化的思想,将每层数据都归一化成均值为0、方差为1的分布,如公式(1)所示,即减去均值、除以方差。这样就能是每层的数据分布不会发生过大变化,从而导致模型容易训练。 $$\hat{x}^{(k)}=\frac{x^{(k)}-E[x^{(k)}]}{\sqrt{Var(x^{(k)})}} \tag{1}$$ 但同时也引入了一个问题,我们将数据强行的归一化,会导致原始的数据分布遭到破坏,特征的表达能力就会下降。所以,BN层的核心亮点是 重构变换

Regularization

坚强是说给别人听的谎言 提交于 2020-03-03 23:47:05
Intro Regularization is an additional part in loss function or optimiazation loss, which prevent the loss function from doing too well on training data. Formulation indeed, the regularation prefer a smaller W intuitively for constructing a simple model. Intuition chosing L1-norm result in a pluse weight,while chosing L2-norm result in a plain vector. pics from: cs231n 来源: CSDN 作者: George1998 链接: https://blog.csdn.net/weixin_40833196/article/details/104639596

论文阅读-Cross-Iteration Batch Normalization

你。 提交于 2020-03-03 19:35:24
对msra的工作都比较关注,最近刚好看到了这篇对传统bn进行改进的论文。 论文地址: https://arxiv.org/abs/2002.05712 github地址: https://github.com/Howal/Cross-iterationBatchNorm openreview: https://openreview.net/forum?id=BylJUTEKvB 作者应该是投ICLR杯具了,不过个人觉得比较值得少花些时间读一读。 论文开门见山的指出 batchsize的大小直接影响了BN的效果,见图1中的绿色线,batchsize在小于16后的分类准确率急剧下降 。作者在本文提出了一种叫做cross-iteration BN的方法,通过泰勒多项式去估计几个连续batch的统计参数,可以很大程度缓解此问题,如图1中的蓝色线,在batchsize逐渐变小时,效果依然稳定,并且accuracy始终高于GN的效果。 (论文必备图,一图告诉你我有多nb) 1. Revisiting Batch Normalization 从实现的角度来说,BN对特征进行了一种白化操作,可以减少internal covariate shift,具体的可以查看原文。 这里作为对比可以回忆下几种比较常见的归一化方法 BatchNormalization,LayerNormization

计算方法(三)矩阵分解1-正交分解(QR分解)

北战南征 提交于 2020-03-02 19:07:16
正交分解 矩阵的正交分解又称为QR分解,是将矩阵分解为一个正交矩阵Q和一个上三角矩阵的乘积的形式。 任意实数方阵A,都能被分解为 。这里的Q为正交单位阵,即 R是一个上三角矩阵。这种分解被称为QR分解。 QR分解也有若干种算法,常见的包括Gram–Schmidt、Householder和Givens算法。 QR分解是将矩阵分解为一个正交矩阵与上三角矩阵的乘积。用一张图可以形象地表示QR分解: 为啥我们需要正交分解呢? 实际运用过程中,QR分解经常被用来解线性最小二乘问题,这个问题我们后面讲述。 提到正交分解就不得不讨论(Householder transformation Householder变换)豪斯霍尔德变换和(Schmidt orthogonalization Schmidt正交化)施密特正交化 Schmidt正交化 定理1 设A是n阶实非奇异矩阵,则存在正交矩阵Q和实非奇异上三角矩阵R使A有QR分解;且除去相差一个对角元素的绝对值(模)全等于1的对角矩阵因子外,分解是唯一的. 定理2 设A是m×n实矩阵,且其n个列向量线性无关,则A有分解A=QR,其中Q是m×n实矩阵,且满足QHTQ=E,R是n阶实非奇异上三角矩阵该分解除去相差一个对角元素的绝对值(模)全等于1的对角矩阵因子外是唯一的.用Schmidt正交化分解方法对矩阵进行QR分解时,所论矩阵必须是列满秩矩阵。

实现线程的方式到底有几种?

可紊 提交于 2020-02-28 06:52:39
这篇文章主要讲解实现线程的方式到底有几种?以及实现 Runnable 接口究竟比继承 Thread 类实现线程好在哪里? 实现线程是并发编程中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一系列操作。所以本文就先从并发编程的基础如何实现线程开始讲起。 实现线程的方式到底有几种?我们接下来看看它们具体指什么? 实现 Runnable 接口 public class RunnableThread implements Runnable { @Override public void run() { System.out.println("实现Runnable接口实现线程"); } } 第 1 种方式是通过实现 Runnable 接口实现多线程,如代码所示,首先通过 RunnableThread 类实现 Runnable 接口,然后重写 run() 方法,之后只需要把这个实现了 run() 方法的实例传到 Thread 类中就可以实现多线程。 继承 Thread 类 public class ExtendsThread extends Thread { @Override public void run() { System.out.println(“继承Thread类实现线程"); } } 第 2 种方式是继承 Thread 类,如代码所示,与第 1