首页 文章 精选 留言 我的

精选列表

搜索[AI生态],共10000篇文章
优秀的个人博客,低调大师

Startdt AI提出:使用生成对抗网络用于One-Stage目标检测的知识蒸馏方法

人工智能正在驱动新一轮的商业变革,而算法技术则是推动核心底层技术的重要力量。算法崛起时代,技术浪潮可谓一日千里,算法工程师也只有不断精进自身技术,才能与时俱进、驭浪前行。近日,奇点云算法工程师三角肌在目标检测算法领域又有新突破。 摘要 卷积神经网络对目标检测的精度有着显著的提升,并且随着卷积神经网络的深度加深,对目标检测精度提升也越大,但是也需要更多的浮点计算。许多研究者通过知识蒸馏的方法,通过把一个更深更大的教师网络中的知识转移到一个小的学生网络中,以提高学生网络在目标检测中的效果。而大部分知识蒸馏的方法都需要设计复杂的代价函数,并且多数针对两步目标检测算法,本文针对一步目标检测算法提出一个干净有效的知识蒸馏方案。将教师网络生成的特征层作为真实样本,学生网络生成的特征层做为假样本,并对两者做生成对抗训练,以提高学生网络在一步目标检测中的表现。 1 Introduction 近些年来,随着目标检测算法的发展,研究者们发现利用更深更大的卷积神经网络作为骨架,对目标检测算法的精度提升越大。并且随着目标检测算法的检测精度提升,使视觉检测算法逐渐从非关键性领域,走向关键性领域(比如无人驾驶和医疗等领域)。但是为了保证检测精度,不得不使用更大的卷积神经网络作为骨架,造成检测速度下降,计算设备成本增加。因此许多研究者在确保检测精度的前提下,提高检测速度提出了很多方法和总结,如通过深度分离卷积 [1,2],或者通过点群卷积(pointwise group convolution)和通道混洗(channel shuffle)[3, 4] 来降低卷积神经网络浮点运算次数的方法,在保证骨架网络精度和容量的情况下减少计算量。虽然获得可观的提速效果,但是这些方法需要精心设计和调整骨架网络。很多研究者认为更深的骨架网络虽然有着更大的网络容量,因此在图像分类、目标检测等任务上有着更优秀的表现。但是一些特定的任务并不需要这么大的容量,所以在保证卷积神经网络精度的情况和下,对卷积神经网络做压缩、量化、通道减枝等[5, 6, 7, 8, 9]。 另一方面,有关于知识蒸馏的工作表明[10, 11, 12, 13],使用一个更深更大的模型,并且在充分训练完毕后作为teacher net,然后再选取一个比较浅的模型作为student net,最后使用teacher net输出的结果或者中间结果作为soft label结合真实样本的true label同时训练student net,可以极大的提升student net在特定任务上的表现。但是大部分这些方法都需要设计非常复杂的代价函数和训练方式,并且这些方法多用于图像分类和两步目标检测等,极少用于一步目标检测。因此,我们需要一个更加简单而有效,并且可以适用于一步目标检测的知识蒸馏方式。本文提出一种简单而有效知识蒸馏神经网络架构,并且可以明显的提升student net在一步目标检测网络的表现。和常规的知识蒸馏方式不同的是,我们参考对抗生成的神经网络架构[14],将重型目标检测神经网络和轻型目标检测神经网络的骨架分别拆分出来作为teacher net和student net,然后把teacher net 生成的feature map作为真实样本,而student net则作为生成器,并把student net生成的feature map作为假样本,最后根据真实样本和假样本设计一个神经网络作为判别器,做生成对抗训练。 我们的贡献主要有两点: 1 提出一种不需要设计复杂的代价函数的网络架构,并且可以适用于一步目标检测。 2 利用对抗生成网络架构,避免复杂的知识迁移设计,让student net自动的从teacher net中获取暗知识。 2 Related Works 深度学习目标检测算法架构主要分为两种,一种是一步检测,比如Liu W等人提出的SSD[15],直接通过通过卷积神经网络回归出物体的位置和类别,另一种是二步检测,如girshick等人提出的fast rcnn[16],以及后来Faster-RCNN [17] and R-FCN [18]等,首先通过卷积神经网络回归候选框,最后根据候选框再次识别每个候选框的类别,并回归出正确的位置。 网络裁剪,许多研究者认为深度神经网络被过度参数化,并且有很多冗余的神经元和连接,He Y等人认为[8],cnn每层神经元都是稀疏的,利用lasso regression回归找出cnn每层最有代表性的神经元重构该层的输出。Zhuang Z等人[9]认为layer-by-layer进行通道剪枝会影响cnn的鉴别能力,所以通过在fine-tune和剪枝阶段加入辅助loss,来保留cnn每层的鉴别能力。 网络量化, Wu J等人[20]通过k-means聚类算法加速和压缩模型的卷积层和全连接层,通过减小每层输出响应的估计误差可实现更好的量化结果,并提出一种有效的训练方案抑制量化后的多层累积误差 。Jacob B[21]等人提出将weights和inputs量化为uint8 bias量化为unit32同时训练期间前向时候采用量化,反向修正误差不量化,以确保cnn表现的情况下提高inference速度。 知识蒸馏是一种压缩模型并确保准确的一种方法。hinton 等人提出[2]将teacher net输出的结果作为soft label,并提倡使用温度交叉熵而不是L2损失。romero 等人[19]认为需要更多的unlabeled data让student net去mimic才能使student net经可能的接近teacher net,Chen G[12]等人在优化2步目标检测网络分别将teacher net的中间feature map 以及rpn/rcnn的暗知识提取出来让student net去mimic。其他研究者也有将teacher net的attention信息给student网络,如Zagoruyko S[22]等人提出spatial-attention,将teacher net的热力信息传递给student net。Yim J等人[23]将teacher net层与层之间的关系作为student网络mimic的目标。但是他们设计的的知识蒸馏都是要设计非常复杂的loss function,和复杂的暗知识的提取方式,并且这些方法多是在两步目标检测算法中很少用于一步目标检测中。为了能用一个简单有效的知识蒸馏的方式,我们参考生成对抗网络的架构方式[14]将教师网络生成的特征层作为真实样本,学生网络生成的特征层做为假样本,并对两者做生成对抗训练,以提高学生网络在一步目标检测中的表现。 3 Method 在本文中,我们采用一步目标检测算法SSD[15]作为我们的目标检测算法,SSD目标检测算法结构主要分成两部分,1)骨架网络,作为特征提取器。2)Head,在骨架网络提取的特征上,检测出目标的类别和位置。为了能获取更好的知识蒸馏效果,合理利用这个两个部分至关重要。 3.1 Overall Structure fig 1为我们算法模型的整体结构,我们首先使用一个容量更大的SSD模型,在充分训练后将该SSD模型拆分成骨架网络和SSD-Head,其中骨架网络作为teacher net,然后再挑选一个容量较小的CNN作为student net。我们把teacher net生成的多个feature map作为true sample,而student net生成的多个feature map作为fake sample,并且将true sample和fake sample送入D Net中相对应的每个判别网络(fig 2)中,同时把fake sample输入到SSD-Head中。 3.2 Training Process (1) 公式1中的N代表batchsize的大小,D代表判别网络,Teacher和Student分别代表teacher net和student net, θt、θs、θd分别代表teacher net、student net 和D Net模块中每个判别网络的weights。Lconf表示SSD中分类的损失函数,Lloc表示SSD中边界框的损失函数。 4 Experiment 在本章节,我们将在PASCAL VOC中做实验来验证我们的方法,包含20个类别。并且我们的方法训练的硬件为two NVIDIA GTX 1080Ti GPUs。训练所用的软件框架为gluoncv。 4.1 Training and testing data 由于时间的关系,我们训练使用的数据集Pascal Voc 2012trainval和Pascal Voc 2007 trainval sets,测试数据集为Pascal Voc 2007 test sets。该数据集包含检测物体的类别和位置信息。评估标准按照Pascal Voc竞赛所约定的,通过iou=0.5时的mAP来评估模型检测精度。而coco数据集上,使用coco 2017 trainset作为训练集,coco 2017 test作为测试集。 4.2 Results 我们将原生的SSD和在不同的Teacher net下知识蒸馏的SSD做比较,最高可以提升student net 2.8mAP。不过有趣的是,当teacher net为ResNet101,student net为ResNet18时,提升的效果反而不如ResNet50。而在coco上使用resnet50作为teacher net,moblinet作为student net,提升Moblient-SSD 4个mAP。 Table 1. Different student nets are not used GAN-knowledge distillation and the use of a GAN-knowledge distillation in different teacher net test results. 目前已经将该方法使用在faster rcnn上,考虑到时间,目前仅仅在pascal voc 2007上进行测试,coco正在训练。 Table 2. moblienetv1 use GAN-knowledge distillation in coco. Table 3. Teacher net为骨架网络为ResNet101的faster rcnn,且使用Pascal Voc 2007 trainval作为训练集,在Pascal Voc 2007 test测试集上mAP为74.8+。第一行和第二行使用GAN Knowledge Distillation[1]方法,第三行为cvpr2019的 Distilling Object Detectors with Fine-grained Feature Imitation[2]的方法效果。

优秀的个人博客,低调大师

Transformer原理解析——一种Open AI和DeepMind都在用的神经网络架构

Transformer模型是一种日益流行的神经网络结构。它最近被OpenAI用于他们的语言模型中。与此同时,近期也被DeepMind用于它们的程序“星际争霸”中击败了一名顶级职业星际玩家。 Transformer模型的开发是为了解决序列转换及神经机器翻译问题。这意味着可以解决任何sequence to sequence问题,例如语音识别、文本到语音转换等。 序列转换。输入用绿色表示,模型用蓝色表示,输出用紫色表示。GIF取自3 对于执行序列转换的模型而言,有一些记忆是必要的。例如,我们把下面的句子翻译成另一种语言(法语): “The Transformers”是日本的一个硬核朋克乐队。该乐队成立于1968年,处于日本音乐史的鼎盛期。” 在本例中,第二句中的“the band”指的是第一句中引入的“The Transformers”乐队。当你

优秀的个人博客,低调大师

[python作业AI毕业设计博客]英文原版新书下载:Impractical Python Projects - 2019.Pdf

python测试开发项目实战-目录 python工具书籍下载-持续更新 python 3.7极速入门教程 - 目录 下载:Impractical Python Projects - 2019.Pdf Impractical Python Projects is a collection of fun and educational projects designed to entertain programmers while enhancing their Python skills. It picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you'll use every day. And to keep things interesting, each project includes a zany twist featuring historical incidents, pop culture references, and literary allusions. You'll flex your problem-solving skills and employ Python's many useful libraries to do things like:• Help James Bond crack a high-tech safe with a hill-climbing algorithm • Write haiku poems using Markov Chain Analysis• Use genetic algorithms to breed a race of gigantic rats• Crack the world's most successful military cipher using cryptanalysis• Derive the anagram, "I am Lord Voldemort" using linguistical sieves • Plan your parents' secure retirement with Monte Carlo simulation• Save the sorceress Zatanna from a stabby death using palingrams• Model the Milky Way and calculate our odds of detecting alien civilizations• Help the world's smartest woman win the Monty Hall problem argument• Reveal Jupiter's Great Red Spot using optical stacking• Save the head of Mary, Queen of Scots with steganography• Foil corporate security with invisible electronic ink Simulate volcanoes, map Mars, and more, all while gaining valuable experience using free modules like Tkinter, matplotlib, Cprofile, Pylint, Pygame, Pillow, and Python-Docx. Whether you're looking to pick up some new Python skills or just need a pick-me-up, you'll find endless educational, geeky fun with Impractical Python Projects. e-Books Highlight Edition1st Edition ISBN159327890X Posted on12/3/2018 FormatPdf Page Count426 Pages AuthorLee Vaughan, 参考资料 本文最新版本地址 本文涉及的python测试开发库 谢谢点赞! 本文相关海量书籍下载 2018最佳人工智能机器学习工具书及下载(持续更新)

优秀的个人博客,低调大师

AI收银员来了!用华少的语速点30多杯咖啡,49秒搞定!

“五个巧克力、两个香草拿铁,巧克力加奶油。” “两个中杯焦糖拿铁,一个热的一个冷的。” ”算了巧克力不要了。” “再要六个小杯少冰摩卡,三杯加焦糖三杯加香草。” “再加一个大的冷的拿铁,去冰半糖加脱脂奶,打包。” 5月23日云栖大会武汉峰会上,阿里巴巴达摩院机器智能技术实验室语音交互首席科学家鄢志杰最快以每秒5个字的语速在一台机器前狂点了30多杯咖啡。 与这台机器一同接受挑战的,是一位资深咖啡师。当咖啡师因“语速太快、记不下来”在中途选择放弃时,这台机器却在每一轮对话中都做出了精准响应,并且在49秒时下单成功。 咖啡师在听了鄢志杰第二次复述后,用了2分37秒完成订单。 “今天,我们将机器对人类口语的理解能力带到了新的高度”,鄢志杰说,这种交互方式完全打破了“语音唤醒+语音指令”的传统命令式交互方式。 上述点单环节包含了修改、删除、加单等多轮对话,在

优秀的个人博客,低调大师

概率计算或成AI突破新爆点,最适合处理不确定性

根据英特尔首席技术官Mike Mayberry的说法,最初的人工智能浪潮是基于逻辑的,这是基于写下规则——即所谓的“经典推理”。在概率计算中,处理单元所消耗的能量降低,从而增加了某些操作出错的可能性。 定义概率计算 根据USFCA的说法,概率计算机将模拟问题(前向)带入一个推理程序(反向)。总部位于加州伯克利的Navia系统公司开发了概率计算机,它将其定义为最适合在不确定的情况下做出判断的技术,就像传统的计算技术是大规模的记录保存一样。这家成立于2007年的创业公司强调,与目前用于逻辑推理和精确计算的计算机不同,在概率计算领域,机器和程序是用来处理不确定性和从经验中进行学习的。 在概率计算下压上重注 英特尔正把赌注押在概率计算上,这是人工智能的一个主要组成部分,它将使未来的系统能够理解和计算自然数据中固有的不确定性,并有助于研究人员能够制

优秀的个人博客,低调大师

DeepLearning.ai学习笔记(五)序列模型 -- week2 自然语言处理与词嵌入

一、词汇表征 首先回顾一下之前介绍的单词表示方法,即one hot表示法。 如下图示,“Man”这个单词可以用 \(O_{5391}\) 表示,其中O表示One_hot。其他单词同理。 但是这样的表示方法有一个缺点,看是看下图中右侧给出的例子,比如给出这么一句不完整的话: **I want a glass of orange __** 假设通过LSTM算法学到了空白处应该填“juice”.但是如果将orange改成apple,即 **I want a glass of apple __** 那么是否也需要从头开始学习“apple juice”吗?能否通过构建“apple” 与 “orange” 的联系让它不需要重学就能进行判断呢?所以下面给出了一种改进的表示方法,称之为“词嵌入(Word Embedding)” 我们知道单词与单词之间是有很多共性的,或在某一特性上相近,比如“苹果”和“橙子”都是水果;或者在某一特性上相反: 比如“父亲”在性别上是男性,“母亲”在性别上是女性,通过构建他们其中的联系可以将在一个单词学习到的内容应用到其他的单词上来提高模型的学习的效率,下面是一个简化的表格用以说明: 原版 汉化版 (上面两个表格分别是课堂上吴大大的讲义和由大数据文摘整理得到的) 简单介绍一下上面的表格的意思: 以“性别(Gender)”这一特征为例,若以-1表示男性,1表示女性,那么显然“Man”在该特征上的值为-1,其他同理,不再赘述。 此时对于单词“orange”和“apple”来说他们会共享很多的特性,比如都是水果,都是圆形,都可以吃,也有些不同的特性比如颜色不同,味道不同,但因为这些特性让RNN模型理解了他们的关系,也就增加了通过学习一个单词去预测另一个的可能性。 假设所用的特征有300个,那么每一个单词就是由这300个特征值组成,因为这个维度是很高的了,所以可以使用$ t-SNE$算法将它们映射到二维空间之后进行可视化聚类,可以得到如下的效果图: 上图通过聚类将词性相类似的单词在二维空间聚为一类,所以这也就可以理解为什么这叫做"词嵌入(Word Embedding)"了,即把原来由多维的特征空间表示单词嵌入到二维空间中去了。 二、使用词嵌入 下面介绍词嵌入的实用场景。 以下图为例,该图表示的是输入一段话,判断出人名。通过学习判断可以知道orange farmer指的应该是人,所以其对应的主语Sally Johnson就应该是人名了,所以其对应位置输出为1。 那如果把orange换成apple呢?通过词嵌入算法可以知道二者词性类似,而且后面跟着farmer,所以也能确认Robert Lin是人名。 我们继续替换,我们将apple farmer替换成不太常见的durian cultivator(榴莲繁殖员)。此时词嵌入中可能并没有durian这个词,cultivator也是不常用的词汇。这个时候怎么办呢?我们可以用到迁移学习。 词嵌入迁移学习步骤如下: 1.学习含有大量文本语料库的词嵌入(一般含有10亿到1000亿单词),或者下载预训练好的词嵌入 2.将学到的词嵌入迁移到相对较小规模的训练集(例如10万词汇),这个时候就能体现出相比于使> 用one hot表示法,使用词嵌入的优势了。如果是使用one hot,那么每个单词是1*100000表> 示,而用词嵌入后,假设特征维度是300,那么只需要使用1*300的向量表示即可。 3.(可选) 这一步骤就是对新的数据进行fine-tune。 词嵌入其实与之前卷积神经网络人脸识别课程中介绍的Siamese网络有类似的地方。 即二者都是使用相同的评价模型对不同对象进行距离运算,距离越近则越相似 例如Siamese网络是将两张人脸图像分别送到相同的CNN模型中计算出特征值并求出差值,来进行判断二者的相似度。词嵌入则是使用两个单词的特征维度进行相似度计算。 但是二者也有差别,以Siamese网络为例,无论输入的人脸图像是什么,其总能计算出二者的相似度。而词嵌入不同,因为有的单词并不出现在某一个词嵌入数据集中,所以此时则无法计算相似度。 三、词嵌入的特性 我们小时候都做过反义词或者近义词的题目吧,那假如告诉机器“Man”↔“Woman”,那么能否退出“King”所对应的单词呢? 这个问题被称作词汇的类比问题(或推理),通过研究词嵌入的特征就可以解决这种问题。 ​如下图示,我们用\(e_{Man}\)来表示“Man”这个单词,其向量为[-1,0.01,0.03,0.09]。“Woman”同理,二者的差异向量为\(e_{Man}-e_{Woman}=[-2,0,0,0]\)(为方便理解,结果做了简化)。 我们可以很容易知道“King”和“Queen”是相对应的,并且它们之间的差异向量也是[-2,0,0,0]。 ​ 大部分时候对于人而言,是很容易找到一对相近的单词的,那么计算机如何找呢?其实按照上面的计算方法已经告诉我们了,即只要满足如下关系式的即可: 已知单词A和单词B是对应的,求与单词C相对应的单词D,则有如下等式: \(e_A - e_B \, \approx \, e_C-e_D\) 其中\(D\)满足\(argmax_w \;\, Similarity(e_D, e_A-e_B+e_C)\) 注意上面的相似度函数为余弦公式,即: \[Similarity(u,v)=\frac{u^Tv}{||u||_2||v||_2}\] 当然也可以用其他距离公式。 如下图用几何方式能够更容易理解,即只要找到与向量\(\vec{AB}\)最接近平行的向量\(\vec{CD}\)即可。 四、嵌入矩阵 如下图示,左边是词嵌入矩阵,每一列表示该单词的特征向量,每一行表示所有单词在某一特征上的值的大小,这个矩阵用\(E\)表示,假设其维度是(300,10000)。 右边矩阵是某一列单词的One hot向量,这里以orange为例,其Onehot向量为\(O_{6257}=[0,…,1,…,0]\)。 那么已知词嵌入矩阵和某一个单词的Onehot向量,那么该单词的特征向量则满足如下等式: \[E*O_j=e_j\] * 表示矩阵乘法 这种获取某个单词特征向量的方法涉及太多运算,所以一般在实际操作中是直接对词嵌入矩阵做列选择即可得到所需单词的特征向量的。 说一下这一小节的感受,虽然最后吴大大也说了在实际操作中只需要做列选择就可以了,但是不明白他为什么还要介绍前面所谓的矩阵相乘运算。。。。 五、学习词嵌入 下图展示了预测单词的方法,即给出缺少一个单词的句子: “**I want a glass of orange ___**” 计算方法是将已知单词的特征向量都作为输入数据送到神经网络中去,然后经过一系列计算到达 Softmax分类层,在该例中输出节点数为10000个。经过计算juice概率最高,所以预测为 “I want a glass of orange juice” 在这个训练模式中,是通过全部的单词去预测最后一个单词然后反向传播更新词嵌表E 假设要预测的单词为W,词嵌表仍然为E,需要注意的是训练词嵌表和预测W是两个不同的任务。 如果任务是预测W,最佳方案是使用W前面n个单词构建语境。 如果任务是训练E,除了使用W前全部单词还可以通过:前后各4个单词、前面单独的一个词、前面语境中随机的一个词(这个方式也叫做 SkipGram 算法),这些方法都能提供很好的结果。 六、Word2Vec 视频中一直没有给 Word2Vec 下一个明确的定义,我们再次下一个非正式定义便于理解: “word2vec” 是指将词语word 变成向量vector 的过程,这一过程通常通过浅层的神经网络完成,例如CBOW或者skip gram,这一过程同样可以视为构建词嵌表E的过程”。 1.Skip-grams ​下图详细的展示了Skip-grams。即先假设Context(上下文)是orange,而Target(预测词)则是通过设置窗口值得到的,例如设置为紧邻的后一个单词,此时Target则为juice,设置其他窗口值可以得到其他预测词。 注意这个过程是用来构建词嵌表的,而不是为了真正的去预测,所以如果预测效果不好并不用担心。 2.Skip-grams公式 Skip-grams模型可用如下表达式表示: \[O_{c}\rightarrow E \rightarrow e_{c} \rightarrow \underset{Softmax}{Output} \rightarrow \hat{y}\] Softmax公式为(假设输出节点数为10000): \[p(t|c)=\frac{e^{θ_t^Te_c}}{\sum_{j=1}^{10000}e^{θ_j^Te_c}}\] \(θ_t\) 表示与t有关的参数。 损失函数: \[l(\hat{y},y)=\sum_{i=1}^{10000}y_ilog\hat{y_i}\] 3.解决计算量大的问题 上面在使用Softmax的时候有一个很明显的问题,那就是计算量过于繁琐,所以为了解决计算量大的问题,提出了如下图所示的方法,即Hierachical Softmax(分层的Softmax) 简单的来说就是通过使用二叉树的形式来减少运算量。 例如一些常见的单词,如the、of等就可以在很浅的层次得到,而像durian这种少用的单词则在较深的层次得到。 七、负采样 对于skip gram model而言,还要解决的一个问题是如何取样(选择)有效的随机词 c 和目标词 t 呢?如果真的按照自然随机分布的方式去选择,可能会大量重复的选择到出现次数频率很高的单词比如说“the, of, a, it, I, ...” 重复的训练这样的单词没有特别大的意义。 如何有效的去训练选定的词如 orange 呢?在设置训练集时可以通过“负取样”的方法, 下表中第一行是通过和上面一 样的窗口法得到的“正”(1)结果,其他三行是从字典中随机得到的词语,结果为“负”(0)。通过这样的负取样法 可以更有效地去训练skip gram model. Context Word Target orange juice 1 orange king 0 orange book 0 orange the 0 orange of 0 负取样的个数k由数据量的大小而定,上述例子中为4. 实际中数据量大则 k = 2 ~ 5,数据量小则可以相对大一些k = 5 ~ 20 通过负取样,我们的神经网络训练从softmax预测每个词出现的频率变成了经典binary logistic regression问题,概率公式用 sigmoid 代替 softmax从而大大提高了速度。 \(x_1=(orange, juice) \rightarrow y_1=1\) \(x_2=(orange, king) \rightarrow y_2=0\) \(...\) \(P(y=1|c,t)=\sigma(\theta_t^Te_c)\) 最后我们通过一个并没有被理论验证但是实际效果很好的方式来确定每个被负选样选中的概率为: \(P(w_i)=\frac{f(w_i^{\frac{3}{4}})} {\sum_{j=1}^{10000}f(w_j^{\frac{3}{4}})}\) 八、GloVe词向量 GloVe(Global vectors for word representation)虽然不想Word2Vec模型那样流行,但是它也有自身的优点,即简单。 下面先介绍该算法定义的变量的含义: 如下图示,\(X_{ij}\)表示单词i在语境j中出现的次数,i就相当于前面内容中提到的t(target),j相当于之前的c(context)。 该算法的主要方法是最小化如下公式(假设共有10000个单词): \[\sum_{i=1}^{10000}\sum_{j=1}^{10000}f(x_{ij})(\theta_i^Te_j+b_i+b_j'-logx_{ij})^2\] 当\(x_{ij}=0\)时,\(f(x_{ij})=0\),并且定义\(0log0=0\)。 所以\(f(x_{ij})\)这么一个加权项就可以避免当\(x_{ij}=0\)时上面的式子是无穷大了。 同时对于像“the、of、a”等这些常用的词,加权项可以给与适当的权重。而对于像“durian”这类不常用到的单词,也可以给到更大但不至于过分的权重。 九、情绪分类 平时上淘宝我们都会对买的东西给出文字评价和对应的星级评价,如下图示。 商家可以通过对这些数据来构建一个情绪分类器,从而可以在一些社交平台上如微博、QQ等大家的文字评论然后对应输出相应的星级等级,这样就可以更容易知道自家店是蒸蒸日上还是日落西山了,2333。 下图展示了情绪分类器的模型。 可以看到下图中的模型先将评语中各个单词通过 词嵌表(数据量一般比较大,例如有100Billion的单词数) 转化成对应的特征向量,然后对所有的单词向量做求和或者做平均,然后构建Softmax分类器,最后输出星级评级。 但是上面的模型存在一个问题,一般而言如果评语中有像"good、excellent"这样的单词,一般都是星级评分较高的评语,但是该模型对下面这句评语就显得无能为力了: “Completely lacking in good taste, good service, and good ambience.” 该评语中出现大量的good,如果直接做求和或者平均运算,经过分类器得到的输出很大概率上是高星级评分的,但这显然与该评语的本意不符。 之所以上面的模型存在那样的缺点,就是因为它没有把单词的时序考虑进去,所以我们可以使用RNN构建模型来解决这种问题。RNN模型如下图示: 另外使用RNN模型还有另一个好处,假设测试集中的评语是这样的 “Completely absent of good taste, good service, and good ambience.” 该评语只是将lacking in替换成了absent of,而且我们即使假设absent并没有出现在训练集中,但是因为词嵌表很庞大,所以词嵌表中包含absent,所以算法依旧可以知道absent和lacking有相似之处,最后输出的结果也依然可以保持正确。 十、词嵌入除偏 现如今机器学习已经被用到了很多领域,例如银行贷款决策,简历筛选。但是因为机器是向人们学习,所以好的坏的都会学到,例如他也会学到一些偏见或者歧视。 如下图示 当说到Man:程序员的时候,算法得出Woman:家庭主妇,这显然存在偏见。 又如Man:Doctor,算法认为Woman:Nurse。这显然也存在其实和偏见。 上面提到的例子都是性别上的歧视,词嵌入也会反映出年龄歧视、性取向歧视以及种族歧视等等。 人类在这方面已经做的不对了,所以机器应当做出相应的调整来减少歧视。 下面将主要从性别歧视上来举例说明如何让机器学习消除偏见。 下图展示了一些单词,你可以在心里先想想你看到这些单词的第一时间认为他们所对应的性别是什么吧~~~ 下面正式介绍算法步骤: 1.识别偏见方向 因为该例子是以消除性别歧视为目的,所以我们需要计算出图中这些单词之间的距离的平均值,进而作为偏见方向(bias direction) \(e_{he}-e_{she}\) \(e_{boy}-e_{girl}\) \(e_{grandmother}-e_{grandfather}\) 将上面所求做平均运算,得到的向量方向即为偏见方向。 为方便理解,已在图中画出偏见方向,其余299D(除gender以外的其他单词特征)向量与偏见方向正交,也在下图中画出。 2.词性中和 像“boy,girl”这类词在性别词性上是很明确的,而且不存在歧视,所以无需中和(Neutralize)。 而图中的babysister、doctor则需要中和,具体方法就是将该词像非偏见方向投影得到一个新的坐标。 3.单词对等距离化 如下图示,虽然babysister中和化,但是它还是离grandmother更近,所以依旧带有偏见 所以我们还需要将grandmother、grandfather这类与性别有关的对应词等距分布在非偏见方向的两侧(红色剪头表示移动方向,红色点表示移动后的新坐标),如下图示。 MARSGGBO原创 2018-3-24

优秀的个人博客,低调大师

AI、新材料、5G、智慧城市,未来的社会场景在高交会提前上演

在高交会上跑断腿的镁客君都看到了什么…… 参与过大大小小的各种展会,除了十分接地气的消费娱乐展,很少有展会能像高交会一样,基本上每个展馆参展的观众都是爆满。 11月16日到21日,第19届中国国际高新技术成果交易会(简称高交会)于深圳会展中心举办,作为目前中国规模最大、最具影响力的科技类展会,有“中国科技第一展”之称的高交会,让镁客君看到不少新鲜亮眼的技术和产品。 一大波身怀绝技的机器人来了!最火的智能家居产品居然是智能门锁 最近,波士顿动力发布了一段视频,展示了他们新版的双足机器人Atlas进行跳跃动作实验,最令人震惊的是Atlas居然会后空翻! 虽然在高交会上没有看到会后空翻的机器人,但是我们看到了会泡咖啡、做饭、甚至是画自画像的机器人。比如下面这个名为“赛大千”的画像机器人,就吸引了不少参展观众。先对人脸进行实时拍照,“赛大千“识别面部轮廓和五官特征,开始自主规划路径,最后就用笔画出一张抽象的手绘画像。 地上的机器人秀出了五花八门的特技,高交会上也有不少天上飞的,光启就展出包括飞行包、GILO转子发动机、Mini云端号、H1、SkyX、动力伞和“旅行者”号在内的科技产品。镁客君还在现场看到一款非常概念性的智能汽车产品:可分离式飞行汽车,它在地面上就是智能无人驾驶电动汽车,当飞行模式开启后,其旋翼展开变形为四旋翼飞行器,然后飞行器脱离汽车底盘,垂直起飞。 除了地上走和天上飞的,高交会期间,水下无人机厂商吉影科技也发布了主打水下拍摄的消费级水下机器人Poseidon I(波塞冬I)。 毫不夸张的说,智能家居产品绝对是这次高交会的大热门之一,现场可以看到非常多的智能门锁厂商,从手势识别、指纹识别、人脸识别到虹膜识别,解锁的方式非常之丰富。就连我们印象中做学习机的小霸王,旗下的一家分公司也展出了他们开发的智能门锁产品。 镁客君在逛展馆的时候,总是会在无意间被一些人脸识别系统捕捉到,其实从最近一段时间计算机视觉公司获得融资的频率和金额来看,它绝对是时下行业内最为关注的技术,高交会上,镁客君也看到了商汤科技的SenseFace人脸布控实战平台,以及深醒科技动态人脸识别实时预警系统等。 物联网、5G,智慧城市已来 物联网方面,三大运营商围绕NB-lOT技术展示了智慧城市的一系列产品,包括智能路灯、智能停车管理等。中国电信网络研究院王庆杨表示,其实NB-IOT简单看是4G的蜂窝互联网技术,但它未来可能会实现5G大规模连接、mMTC的业务场景。 另外,中国电信在现场也展示了5G毫米波AAU,中国联通则演示了他们的5G外场试验。在5G时代真正到来之前,一个万物互联的概念世界正在我们眼前展开。 在智慧城市专馆,华为搭建了近300平方米的“虚拟智慧城市空间”,发布了“打造智慧城市神经系统”。在这个神经系统里面,华为把云计算、大数据、物联网、移动互联网、人工智能等技术与城市场景深度融合,通过数据采集、传输、处理,最终进入智慧城市‘大脑’,并通过对数据进行思考和判断,使更多数据纳入城市日常运行、应急管理和大数据决策支撑中。 VR/AR体验依然很热 虽然今年的VR厂商数量有所减少,并不妨碍各家展区前排成长龙准备体验的用户,不过套用一句业内人士的话,“还是以熟面孔为主。” 大家都在说VR圈的日子不好过,总是有一部分人能坚持下来。如果要给这次VR厂商做个划分的话:大致可以分为三大类:主打体验的线下解决方案商、以VR相机为代表的拍摄解决方案、以及包含人机交互的AR体感体验。 像超级队长就展出了他们的四人对战VR体验新品Super[V],另外镁客君也在现场体验了华捷艾米的滑雪体感游戏,由它们自主研发的深度传感器能够实时捕捉我们的手势动作,和屏幕内的游戏内容产生交互反馈,据华捷艾米的联合创始人沈瑄介绍,他们新一代的3D感知芯片在明年会正式量产。 看前沿技术如何落地 在新材料方面,我们此前报道过的室温液态金属也在高交会上正式亮相,除此之外,石墨烯算得上是绝对的热门,基本上每个展馆都能够看到利用石墨烯传热能力而设计的各种产品,小到发热眼罩,大到石墨烯取暖器,这个目前世界上最轻、最薄、拥有超高导热性的超级纳米材料正在迎来一波产品落地小高潮。 随着苹果打响了手机全面屏概念,关于柔性屏的讨论也甚嚣尘上,这一届高交会上我们看到不少柔性显示屏的产品。 柔宇科技就展示了能够折叠为一支笔大小的柔性键盘,当然他们这次主打的产品是其获得高交会十大人气产品的硬件——3D移动影院Royole Moon。 而在中国科学院展区,我们看到了包括量子通信在内的前沿科学,智能家居产品在内的智能生活,用光控技术明确癫痫治疗新靶点的脑科学、以及以薄膜太阳能电池、全固态柔性锂离子电池为代表的新能源和新材料技术。 结语: 两天的展会逛下来,不得不感慨高交会不愧是“中国科技第一展“,在这里,我们感受到科技技术发展的脉搏,看到技术是如何变革传统的行业,改变我们的生活。毫不夸张地说,未来的社会生活正提前在高交会上上演着。 原文发布时间: 2017-11-18 00:31 本文作者: 巫盼 本文来自云栖社区合作伙伴镁客网,了解相关信息可以关注镁客网。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册