seq2seq 是一个Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列, Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。 要了解这个首先要对RNN以及BiLSTM模型有一个清晰的理解,需要再回顾的查看以下文章: 梦里寻梦:(五)通俗易懂理解——BiLSTM277 接下去要对E
自然语言这几年也可以说是飞速发展,不过好长一段时间没有接触了,最近偶然有机会了解一下,特此补充相关知识点。 关于BiLSTM尚不太理解的可以看之前的内容: 梦里寻梦:(五)通俗易懂理解——双向LSTM276 关于BiLSTM-CRF,网上内容也很多,个人而言就该篇解析的比较透彻,耐心看下去绝对能通俗易懂理解,真看不懂了,那就再多看几遍,哈哈哈。 概要 此系列博文将会包含以下内容: 引
接触人脸识别的内容,想做部分总结,查阅关于MTCNN的资料,发现网上已经总结的特别好了,直接迁移过来,再次感谢网上各位大牛的无私奉献。 在说到人脸检测我们首先会想到利用Harr特征提取和Adaboost分类器进行人脸检测,其检测效果也是不错的,但是目前人脸检测的应用场景逐渐从室内演变到室外,从单一限定场景发展到广场、车站、地铁口等场景,人脸检测面临的要求越来越高,比如:人脸尺度多变、数量冗大、姿
#数据增强 from matplotlib import pyplot as plt from mxnet import image from mxnet.gluon import data as gdata, utils utils.download('https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/doc/c
import math import os import shutil from collections import Counter data_dir = 'DEMO/Data/Dogcls' label_file = 'labels.csv' train_dir = 'train' test_dir = 'test' valid_dir = 'valid' input_s
很有必要再梳理一下CNN网络框架的演进,网上找到一些优秀的资源,在此转述下,后附文章来源。 卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀。CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF Net到VGG,GoogLeNet再到ResNet和最近的DenseNet,网络越来越深,架构越来越复杂,
文章主要使用MXnet框架,主要来源:mxnet官网API。 # Uncomment the following line if matplotlib is not installed. # !pip install matplotlib from mxnet import nd, gluon, init, autograd from mxnet.gluon import nn fr
参考文章:https://blog.csdn.net/yuanlisky/article/details/55050071 在看完前面的文章: 梦里寻梦:(八)通俗易懂理解——jieba中的HMM中文分词原理 再来看这篇文章会恍然大悟的感觉,不然原来还是懵懵的。 jieba分词 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG) 采用了动态
import tensorflow as tf import numpy as np # 用 NumPy 随机生成 100 个数据 x_data = np.float32(np.random.rand(2, 100)) y_data = np.dot([0.100, 0.200], x_data) + 0.300 # 构造一个线性模型 b = tf.Variable(tf.z
首先要弄清相机坐标的转换关系。 一、世界坐标系(world coordinate),也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体的空间位置。世界坐标系的位置可以根据实际情况自由确定。 坐标原点为车头中心点位置,X轴水平向右,Y轴指向地面,Z轴与光轴方向平行。坐标系中的点,用 表示。 相机坐标系{camera}:坐标原点为相机的光心位置,X 轴和Y
网上的资料永远都是参差不齐,经典的卡尔曼滤波让我折腾好久都没完全搞懂,现在总算找到点门路,特此记录下,后附原文来源。利用卡尔曼滤波我们可以做什么?我们举一个玩具的栗子:你开发了一款小型机器人,它可以在树林里自主移动,并且这款机器人需要明确自己的位置以便进行导航。 我们可以通过一组状态变量 来描述机器人的状态,包括位置和速度: 注意这个状态仅仅是系统所有状态中的一部分,你可以选取任何数
MXNet框架用于做图像相关的项目时,读取图像主要有两种方式:第一种是读.rec格式的文件,优点是.rec文件比较稳定,移植到别的电脑上也能复现,缺点是占空间(.rec文件的大小基本上和图像的存储大小差不多),而且增删数据不大灵活。第二种是.lst和图像结合的方式,首先在前面生成.rec文件的过程中也会生成.lst文件,这个.lst文件就是图像路径和标签的对应列表,也就是说通过维护这个列表来控制你
这个问题困扰我挺久,一度还理解错混淆矩阵的含义,每次记住一会没多久又忘了,而目标检测的AP与mAP问题又一直模模糊糊的,今天终于比较清晰地理解了,感谢网络上各网友无私而又丰富的知识分享。 混淆矩阵的定义 混淆矩阵(Confusion Matrix),它的本质远没有它的名字听上去那么拉风。矩阵,可以理解为就是一张表格,混淆矩阵其实就是一张表格而已。 以分类模型中最简单的二分类为例,
在谈到faster rcnn时,很多细节还有待深究,一直想好好看看其源码,并整理出来,好像还挺遥遥无期,留待以后吧。现在主要针对三处比较模糊的地方进行分析。 一、ROI Align的基本原理 讲到Align有必要谈一下双线性插值的原理。 数字图像中实现缩放的方法有很多种,其中一种就是双线性插值,在实现图像缩放时,有两种方法来确定缩放后的图像的像素值,第一种是根据原图像中的的像素找到对应的缩放
Mask R-CNN是ICCV 2017的best paper,彰显了机器学习计算机视觉领域在2017年的最新成果。在机器学习2017年的最新发展中,单任务的网络结构已经逐渐不再引人瞩目,取而代之的是集成,复杂,一石多鸟的多任务网络模型。Mask R-CNN就是典型的代表。本篇大作的一作是何凯明,在该篇论文发表的时候,何凯明已经去了FaceBook。我们先来看一下,Mask R-CNN取得了何等的
1. 归一化的定义 归一化用一句话说就是:把数据经过处理后使之限定在一定的范围内。比如通常限制在区间[0, 1]或者[-1, 1]等等。那么为什么要进行归一化呢? 那么首先要说到一个重要的概念,即奇异样本数据。奇异样本数据的存在会引起训练时间增大,并可能引起无法收敛。 (1)初始化 过初始化的同学会发现,输入数据的范围会影响我们初始化的效果。例如,某个神经元的值为tansig(w1*x1+
前言 目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型(参考RefineDet):(1)two-stage方法,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,然后对这些候选框进行分类与回归,two-stage方法的优势是准确度高;(2)one-stage方法,如Yolo和SSD,其主要思路是均匀
前言 当我们谈起计算机视觉时,首先想到的就是图像分类,没错,图像分类是计算机视觉最基本的任务之一,但是在图像分类的基础上,还有更复杂和有意思的任务,如目标检测,物体定位,图像分割等,见图1所示。其中目标检测是一件比较实际的且具有挑战性的计算机视觉任务,其可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目
文章《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》是在RCNN之后,是对RCNN的改进(关于RCNN可以查看R-CNN文章详细解读),先给出SPP-net总的框架图如下 该文章主要改进两点: 1. CNN需要固定输入图像的尺寸,导致不必要的精度损失 2. R-CNN对候选区域进
本文主要对无人驾驶的整体情况做一个简要的概括介绍。 无人车的实现需要诸多硬件传感器的支持,这些传感器包括: GPS+IMU 全球定位+惯性测量 Camera 视觉传感器 Lidar 激光传感器 Millimeter Wave Radar 毫米波雷达 Ultrasonic Radar 超声波雷达 Vehicle Control Unit Signals VCU信号 Autonom
本篇没有将所有细节全部扣清楚,希望看的时候了解以下整体的流程。 R-CNN这是一篇比较早的Object Detection算法,发表在2014年的CVPR,也是R-CNN系列算法的开山之作,网上可以搜到很多相关的博客讲解,本篇博文没有按论文顺序来讲述,而是结合自己经验来看这个算法,希望给初学者一个直观的感受,细节方面不需要太纠结,因为很多部分在后来的算法中都改进了。 论文:Rich fea
首先对为何转置卷积能够起到上采样进行说明。看第一部分应该以这样的角度去理解,不然可能也会看的云里雾里。 用转置卷积进行上采样 对于上采用的需求 当我们用神经网络生成图片的时候,经常需要将一些低分辨率的图片转换为高分辨率的图片。 对于这种上采样(up-sampling)操作,目前有着一些插值方法进行处理: 最近邻插值(Nearest neighbor interpolation
Depthwise Separable Convolution MobileNet是基于深度可分离卷积的。通俗的来说,深度可分离卷积干的活是:把标准卷积分解成深度卷积(depthwise convolution)和逐点卷积(pointwise convolution)。这么做的好处是可以大幅度降低参数量和计算量。分解过程示意图如下: 其实就是把特征图按照通道数进行分割,比如N*H*W*C的
Resnet看相关的文章都比较容易理解,本文主要转自两篇对该内容有较为全面解释和理解的文章。 1. 引言 网络的深度为什么重要? 因为CNN能够提取low/mid/high-level的特征,网络的层数越多,意味着能够提取到不同level的特征越丰富。并且,越深的网络提取的特征越抽象,越具有语义信息。 为什么不能简单地增加网络层数? 对于原来的网络,如果简单地增加深度,会导致梯度弥散
该文主要来源于其他文章转载整理,所以一开始也没仔细核对篇中出现的一些低级错误,确实对读者造成一定困扰,已修改部分内容,鉴于部分是附图已无法修改,只能将错就错,如发现其他问题,欢迎提出。后续将另写文章再填补这个坑吧。 在神经网络当中,为了尽快落地就需要考虑到数据存储以及速度问题,这时候将浮点数转为定点数就是一种比较常规的做法,也就是涉及到Binary neural networks和quantiz
BN是由Google于2015年提出,这是一个深度神经网络训练的技巧,它不仅可以加快了模型的收敛速度,而且更重要的是在一定程度缓解了深层网络中“梯度弥散”的问题,从而使得训练深层网络模型更加容易和稳定。所以目前BN已经成为几乎所有卷积神经网络的标配技巧了。 从字面意思看来Batch Normalization(简称BN)就是对每一批数据进行归一化,确实如此,对于训练中某一个batch的数据{x1
本节主要来自书本《大话数据结构》,挺容易看懂的。 另附Huffman编码代码,代码来自: https://www.cnblogs.com/kubixueshen 1 //haffman 树的结构 2 typedef struct 3 { 4 //叶子结点权值 5 unsigned int weight; 6
该文似乎出现的有点慢,现在各种反正传播还有梯度求导优化都直接可以调包处理,但是进一步了解细节,仍会发现自己又成长了一些。以下这篇博客内容可以说是深度学习当中最为基础的入门知识,感谢原文作者的分享。 最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进
最近在看功能相关的一些内容,其中有一个就是关于代码覆盖率,咋看好像很简单,但是仔细一看又不知道该如何检测,先找了一篇令我恍然大悟的文章,后续更深层次内容再做补充。 个人认为所谓覆盖率可以理解成如何保证代码的顺利运行,比方判断语句有两个分支,当符合条件时会执行语句1,当不符合条件可能执行语句2,那我们可以通过一定的检测方式来验证当前模型按照预期的功能进行实现。比方说你可以通过某个数据a=5和a=1
刚刚接触Linux系统,找到该篇文章,觉得讲的比较简单,所以就照搬过来以方便自己时不时复习记忆。 前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要是总结Linux的基础操作以及一些简单的概念~如果不熟悉的同学可下个Linux来玩玩(或者去买一个服务器玩玩【学生版的不是很贵】),对于开发者
ISO26262 是 IEC61508 对 E/E 系统在道路车辆方面的功能安全要求的具体应用。 ——提供了汽车生命周期(管理,研发,生产,运行,服务,拆解)和生命周期中必要的改装活动。 ——提供了决定风险等级的具体风险评估方法(汽车安全综合等级,ASILs)。 ——使用 ASILs方法来确定获得可接受的残余风险的必要安全要求。 ——提供了确保获得足够的和可接受的安全等级的有效性和确定性措
最近内容看的挺少,但是遇到仍是一大堆不懂的知识点,感觉有很多坑要弥补。这节给自己稍微复习记录一下SVD降维算法,该算法在推荐上有一定的应用。其实挺想吐槽一下网上的一些博客,虽然人家也是给自己做个记录,不过对于本渣渣,实在理解能力有限,细节上的处理仍是不懂,希望今后我的记录不会出现类似问题。 线性代数相关知识: 任意一个M*N的矩阵A(M行*N列,M>N),可以被写成三个矩阵的乘积:
以下内容针对梯度下降算法的概述,但是仍没有涉及到各个优化算法的优化场景,有待以后看到补充。 梯度下降算法是深度学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现。但是,它们就像一个黑盒优化器,很难得到它们优缺点的实际解释。这篇博客旨在提供梯度下降算法中的不同
主成分分析在于降维,很多特征存在多重共线性,通过降维可以减少数据量,同时对结果产生影响又不大。以下是实例讲解主成分分析是如何做的,至于数学原理,有待以后补充(好像给自己挖了很多细节上的坑,内容太多了,现在就是想不断知道常用机器学习与深度学习的主流算法运用,至于细节原理还是需要后面慢慢啃)。 1. 问题 真实的训练数据总是存在各种各样的问题: 1、 比如拿到一个汽车的样本,里面既有以“千米/每小时”
这篇看到现在还是有点迷糊,没有完全弄懂,先转载过来自己消化,后续有更浅显易懂的内容再更。 原文文章:https://blog.csdn.net/google19890102/article/details/51746402 梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法是近年来被提及比较多的一个算法,这主要得益于其算法的性能,以及该算法在各类数据挖掘
看了一堆的博客,都很难找到能够综合起来完全理解这个原理,直到这位博主文章的出现·······不多说了,直接上。 本博客将会详细介绍AdaBoost算法过程,并给出了一个Adaboost例子的详细求解过程,当然也给出了Matlab代码求解过程。碍于太多复杂公式,文章是在电脑Word文档写好再复制上博客的,为了排版好看,有些地方给出了截图。 下面给出几个我认为不错的博客资料: 【1】http://bl
上一文讲到了信息熵的一些基础知识,而机器学习中的一个经典算法——决策树就是基于信息熵的基础上进行分析的,有关信息熵的基础知识可以回顾: 梦里寻梦:(十一)通俗易懂理解——信息熵58 赞同 · 1 评论文章 今天看到了李航的统计方法分析中讲解的决策树,觉得也是特别浅显易懂的,现在做适当终结。 首先是对熵以及信息熵进行回顾 接下去是对于算法5.1的理解,这个看得有点吃力的可以直接看以下例子部
经常遇到关于信息熵的,东西不难,但是概念老是混淆了,现在找了一篇文章copy过来,内容简洁清晰,网友的力量实在精湛! 原文链接:https://blog.csdn.net/v_JULY_v/article/details/40508465 1 预备知识 为了更好的理解本文,需要了解的概率必备知识有: 大写字母X表示随机变量,小写字母x表示随机变量X的某个具体的取值; P(X)表示随机变量X的概率
参考文章1:http://www.cnblogs.com/baiboy/p/jieba2.html 参考文章2:https://www.jianshu.com/p/0eee07a5bf38 参考文章3:https://blog.csdn.net/sinat_33741547/article/details/78867039 多篇文章相辅相成,才能更好理解,该篇需要一定的HMM算法原理基础。
网上资料真的是非常丰富(杂乱),每次想要很清楚地了解一些算法原理都找不到比较有代表性,通俗易懂的。另外,自己以前很多内容看过理解了,当时更多地操作是收藏,但是结果就呵呵了(收藏过的东西基本上很少再去翻看了)。现在决定看过一些比较好的,易于理解的内容尽可能地放进专栏里,虽然很大部分是直接整合别人的文章转载过来,希望可以帮助自己以及跟我一样需要了解这方面内容的朋友。在此也感谢原作者的贡献,也希望
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信