摘要: 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术,有时甚至决定了算法能不能work以及work得好不好。谈到feature scaling的必要性,最常用的2个例子可能是: 特 阅读全文
posted @ 2019-11-02 18:27 shine-lee 阅读(34431) 评论(11) 推荐(42) 编辑
摘要: 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法),虽然常说常听常见,但其细节、物理意义以及几何解释还是值得深挖一下,这些不清楚,梯度就成了“熟悉的陌生人”,仅仅“记住就完了”在用时难免会感觉 阅读全文
posted @ 2019-10-21 17:59 shine-lee 阅读(65099) 评论(10) 推荐(65) 编辑
摘要: 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 2D图像常见的坐标变换如下图所示: 这篇文章不包含透视变换(projective/perspective transformation),而将重点放在仿射变换(affine transformation),将介绍仿射变换所包 阅读全文
posted @ 2019-05-30 17:37 shine-lee 阅读(90778) 评论(10) 推荐(56) 编辑
摘要: 博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核、滤波器通常为较小尺寸的矩阵,比如$3\times3$、$5\times5$等,数字图像是相对较大尺寸的2维(多维)矩阵(张量),图像卷积运算与相关运算的关系如下图所示(图片来自链接),其中 阅读全文
posted @ 2018-11-08 21:45 shine-lee 阅读(109189) 评论(9) 推荐(42) 编辑
摘要: 博客:博客园 | CSDN | blog 写在前面 Closed-set 和 Open-set 人脸识别的对比如下, 两张人脸图像,分别提取特征,通过计算特征向量间的距离(相似度)来判断它们是否来自同一个人。选择与问题背景相契合的度量方式很重要,人脸识别中一般有两种,欧氏距离和余弦距离(角度距离)。 阅读全文
posted @ 2020-08-04 20:10 shine-lee 阅读(4978) 评论(0) 推荐(5) 编辑
摘要: 博客:博客园 | CSDN | blog 写在前面 如果$arctan$的计算成为了瓶颈,那么是时候对其进行优化了。 $arctan$的近似计算本质上是在所需精度范围内对$arctan$曲线进行拟合,比较直接的想法是泰勒展开, \[ \arctan (x)=x-\frac{x^{3}}{3}+\fr 阅读全文
posted @ 2020-07-17 16:08 shine-lee 阅读(11419) 评论(0) 推荐(0) 编辑
摘要: 博客:博客园 | CSDN | blog 写在前面 在数值计算中,为了控制精度以及避免越界,需要严格控制数值的范围,有时需要知道二进制表示中"left-most 1"或"right-most 1”的位置,这篇文章就来介绍一下通过**德布鲁因序列(De Bruijn sequence)**来快速定位的 阅读全文
posted @ 2020-07-14 19:52 shine-lee 阅读(1932) 评论(0) 推荐(0) 编辑
摘要: 博客: "博客园" | "CSDN" | "blog" 写在前面 如题,这篇文章将尝试从卷积拆分的角度看一看各种经典CNN backbone网络module是如何演进的,为了视角的统一,仅分析单条路径上的卷积形式。 形式化 方便起见,对常规卷积操作,做如下定义, $I$:输入尺寸,长$H$ 宽$W$ 阅读全文
posted @ 2020-05-14 20:42 shine-lee 阅读(1947) 评论(0) 推荐(2) 编辑
摘要: [TOC] 博客: "博客园" | "CSDN" | "blog" 写在前面 在博客《ResNet详解与分析》中,我们谈到ResNet不同层之间的信息流通隐含在“和”中,所以从信息流通的角度看并不彻底, 相比ResNet,DenseNet最大的不同之处在于,并不对feature map求elemen 阅读全文
posted @ 2020-02-28 21:57 shine-lee 阅读(5921) 评论(3) 推荐(3) 编辑
摘要: [TOC] 博客: "博客园" | "CSDN" | "blog" Resnet要解决的是什么问题 ResNets要解决的是深度神经网络的“退化”问题。 什么是“退化”? 我们知道,对浅层网络逐渐叠加layers,模型在训练集和测试集上的性能会变好,因为模型复杂度更高了,表达能力更强了,可以对潜在的 阅读全文
posted @ 2020-02-25 20:03 shine-lee 阅读(88784) 评论(3) 推荐(52) 编辑
摘要: 博客: "博客园" | "CSDN" | "blog" [TOC] 本文的主要目的在于理解 的内存结构及其背后的设计哲学。 ndarray是什么 NumPy provides an N dimensional array type, the "ndarray" , which describes a 阅读全文
posted @ 2020-02-10 22:14 shine-lee 阅读(6199) 评论(0) 推荐(5) 编辑
摘要: 博客: "博客园" | "CSDN" | "blog" python中一般并不需要查看内存内容,但作为从C/C++过来的人,有的时候还是想看看内存,有时是为了验证内容是否与预期一致,有时是为了探究下内存布局。 用于获取对象占用的内存大小, 用于获取指定地址、指定字节长度的内容,因为返回的对象类型是 阅读全文
posted @ 2020-02-09 13:02 shine-lee 阅读(13220) 评论(1) 推荐(4) 编辑
摘要: [TOC] 博客: "博客园" | "CSDN" | "blog" 写在前面 在计算机视觉中, 滤波 ( filtering )是指 Image filtering : compute function of local neighborhood at each position. —— from 阅读全文
posted @ 2020-02-04 20:59 shine-lee 阅读(2594) 评论(0) 推荐(2) 编辑
摘要: 博客: "博客园" | "CSDN" | "blog" 先上图,下图通过输入输出来区分不同学科。 计算机视觉 ( Computer Vision , CV ),输入为图像或图像序列,输出为某种信息或描述, 目的在于理解图像,获得语义信息 。比如目标识别任务,输入一张图片,输出图中有哪些物体、都在什么 阅读全文
posted @ 2020-01-31 18:58 shine-lee 阅读(2178) 评论(2) 推荐(1) 编辑
摘要: [TOC] 博客: "博客园" | "CSDN" | "blog" 什么是感受野 The receptive field is defined as the region in the input space that a particular CNN’s feature is looking at 阅读全文
posted @ 2019-12-19 17:47 shine-lee 阅读(43648) 评论(7) 推荐(29) 编辑
摘要: 博客: "博客园" | "CSDN" | "blog" 远程桌面打开MATLAB会报错,解决办法,打开matlab的licenses路径,如 ,路径下存有license文件,如 (可能为其他名字),打开文件,在每行如下位置添加 。 行数较多,可通过执行如下 脚本自动添加, 注意,执行前先备份 再远程 阅读全文
posted @ 2019-12-14 16:06 shine-lee 阅读(1900) 评论(0) 推荐(0) 编辑
摘要: [TOC] 博客: "blog.shinelee.me" | "博客园" | "CSDN" 交叉熵损失与均方误差损失 常规分类网络最后的softmax层如下图所示,传统机器学习方法以此类比, 一共有$K$类,令网络的输出为$[\hat{y}_1,\dots, \hat{y}_K]$,对应每个类别的概 阅读全文
posted @ 2019-12-12 22:26 shine-lee 阅读(12772) 评论(1) 推荐(6) 编辑
摘要: [TOC] 博客: "blog.shinelee.me" | "博客园" | "CSDN" 动机 在博文《 为什么要做特征归一化/标准化? "博客园" | "csdn" | "blog" 》中,我们介绍了对输入进行Standardization后,梯度下降算法更容易选择到合适的(较大的)学习率,下降 阅读全文
posted @ 2019-12-05 15:20 shine-lee 阅读(53509) 评论(6) 推荐(33) 编辑
摘要: [TOC] 博客: "blog.shinelee.me" | "博客园" | "CSDN" 时间复杂度 如何评估一个算法的计算时间? 一个算法的 实际运行时间很难评估 ,当时的输入、CPU主频、内存、数据传输速度、是否有其他程序在抢占资源等等,这些因素都会影响算法的实际运行时间。为了公平地对比不同算 阅读全文
posted @ 2019-11-22 18:15 shine-lee 阅读(4277) 评论(0) 推荐(1) 编辑
摘要: [TOC] 博客: "blog.shinelee.me" | "博客园" | "CSDN" 权重初始化最佳实践 书接上回,全0、常数、过大、过小的权重初始化都是不好的,那我们需要什么样的初始化? 因为对权重$w$的大小和正负缺乏先验,所以应初始化 在0附近 ,但不能为全0或常数,所以要有一定的 随机 阅读全文
posted @ 2019-11-21 21:42 shine-lee 阅读(13916) 评论(1) 推荐(13) 编辑
摘要: [TOC] 博客: "blog.shinelee.me" | "博客园" | "CSDN" 前向传播与反向传播回顾 神经网络的训练过程可以简化成以下步骤, 1. 输入预处理(feature scaling等) 2. 初始化网络weight和bias 3. 前向传播,得到网络输出 4. 计算损失函数, 阅读全文
posted @ 2019-11-07 09:14 shine-lee 阅读(7952) 评论(4) 推荐(7) 编辑
摘要: [TOC] 博客: "blog.shinelee.me" | "博客园" | "CSDN" 写在前面 如果对Python源码感兴趣,那“窥探”其实现的最佳方式就是调教它,不,调试它。 获取源代码 Python的官方默认实现为CPython,即C语言实现(主要指解释器的实现,其他实现见 "Other 阅读全文
posted @ 2019-10-16 15:28 shine-lee 阅读(4285) 评论(4) 推荐(11) 编辑