神经网络

一文彻底搞懂BERT

北战南征 提交于 2020-08-10 15:43:17
一文彻底搞懂BERT 一、什么是 BERT? 没错下图中的小黄人就是文本的主角 Bert ,而红色的小红人你应该也听过,他就是 ELMo 。 2018 年 发布的 BERT 是一个 NLP 任务的里程碑式模型,它的发布势必会带来一个 NLP 的新时代。 BERT 是一个算法模型,它的出现打破了大量的自然语言处理任务的记录。在 BERT 的论文发布不久后, Google 的研发团队还开放了该模型的代码,并提供了一些在大量数据集上预训练好的算法模型下载方式。 Goole 开源这个模型,并提供预训练好的模型 , 这使得所有人都可以通过它来构建一个涉及 NLP 的算法模型,节约了大量训练语言模型所需的时间,精力,知识和资源。 BERT 模型的全称是: BERT( B idirectional E ncoder R epresentations from T ransformers) 。 从名字中可以看出, BERT 模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的 Representation 。 二、Bert模型原理 BERT 模型简介 BERT BASE: 与OpenAI Transformer 的尺寸相当,以便比较性能。 BERT LARGE: 一个非常庞大的模型,是原文介绍的最先进的结果。 BERT的基础集成单元是 Transformer的Encoder

你只要上传两张毫无关联的照片「这个网站就会自动帮你合成了!」

喜欢而已 提交于 2020-08-10 14:03:52
随着科技越来越发达,许多复杂的事情都得到了简化,就连合成照都不再需要自己动手合成。如今网络上已有许多的合成网站,但Ostagram 却是现在最热门的合成网站哦。Ostagram 是一个使用DeepDream 算法( DeepDream 是 Google 基于人工神经网络创建的软件,能够以极高的精度分析图像)的俄罗斯网站,它可以将两张随机选择的照片组合起来,创造出迷幻震撼的效果哦!来看看Ostagram 高超的技术吧! 狐狸 + 彩绘 人 + 龟裂土地 猫 + 雕像 人 + 诡异图 狮子 + 火 龙 + 浓烟 漫画 + 血腥画 猫 + 浓烟 人 + 柠檬草地 巷子 + 漂亮街道 人 + 石头 风景 + 油画 人 + 猫头鹰 动物 + 浓烟 怪物 + 时钟 人 + 画像 猫头鹰 + 浓烟 猫+ 抽象画 松鼠 + 火 真的超酷的!只要随便上传两张照片,Ostagram 就会自动合成超有艺术感又具震撼力的照片哦!你想尝试玩玩看吗? 来源: oschina 链接: https://my.oschina.net/u/4339497/blog/4273184

关于RNN (循环神经网络)相邻采样为什么在每次迭代之前都需要将参数detach

三世轮回 提交于 2020-08-10 12:27:13
关于RNN (循环神经网络)相邻采样为什么在每次迭代之前都需要将参数detach 这个问题出自《动手学深度学习pytorch》中RNN 第六章6.4节内容,如下图所示: 当时看到这个注释,我是一脸懵逼,(难道就不能解释清楚一点嘛,让我独自思考了那么长时间,差评!!!)我主要有以下疑惑: 每次小批量反向传播之后,由于torch是动态计算图,本质上该次的计算图已经销毁,与下次小批量迭代的构建的计算没有任何关联,detach不是多此一举嘛? 按照注释所说的,难道下次小批量构建的计算图由于初始隐藏状态引用于上次小批量迭代最后的时间步长的隐藏状态,这样计算图存在分支关联,方向传播会经过以前所有批量迭代构建的计算图,导致内存和计算资源开销大? 带着这两个疑惑,我开始面向百度编程(网上的博客真的是千篇一律啊,10篇当中9篇一样,哎世风日下,我也是服了,文章转来转去有意思嘛,自己收藏着看看不好嘛,非得全篇复制还转载,真的***)百度之后,我发现了以下解释(没一个有用的) 胡说八道型 这讲的啥?按你这么说,state是叶子节点了(估计不知道从哪抄的错误博客,害人匪浅啊),既然state都是叶子节点了,那还跟上一次批量的计算图有毛关系,反向传播个屁?叶子节点的定义:一棵树当中没有子结点(即度为0)的结点称为叶子结点。除了第一次小批量的初始隐藏状态是叶子节点外,其他批量的隐藏状态都经过隐藏层的计算

[Python人工智能] 二十二.基于大连理工情感词典的情感分析和情绪计算

风流意气都作罢 提交于 2020-08-10 12:25:34
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了CNN实现中文文本分类的过程,并与贝叶斯、决策树、逻辑回归、随机森林、KNN、SVM等分类算法进行对比。这篇文章将详细讲解通过自定义情感词典(大连理工词典)实现情感分析和情绪分类的过程,并与SnowNLP进行对比,为后续深度学习和自然语言处理(情感分析、实体识别、实体对齐、知识图谱构建、文本挖掘)结合做基础,希望对您有所帮助~ 本专栏主要结合作者之前的博客、AI经验和相关视频及论文介绍,后面随着深入会讲解更多的Python人工智能案例及应用。基础性文章,希望对您有所帮助,如果文章中存在错误或不足之处,还请海涵~作者作为人工智能的菜鸟,希望大家能与我在这一笔一划的博客中成长起来。写了这么多年博客,尝试第一个付费专栏,但更多博客尤其基础性文章,还是会继续免费分享,但该专栏也会用心撰写,望对得起读者,共勉! TF下载地址: https://github.com/eastmountyxz/AI-for-TensorFlow Keras下载地址: https://github.com/eastmountyxz/AI-for-Keras 情感分析地址: https://github.com/eastmountyxz/Sentiment-Analysis PS:本文参考了作者YX学生的学习思路

是时候抛弃旧的摩尔定律了

此生再无相见时 提交于 2020-08-10 10:06:28
来源:IEEE 转自:悦智网 在技术领域最著名的准则之一就是摩尔定律。在过去55年的时间里,“摩尔定律”已经描述并预测了晶体管的缩小,如一组称为技术节点的数字在过去以大约每两年一次的频率更新。像一些基于物理学的世界末日时钟一样,几十年来,节点数量一直在不停地下降,因为工程师设法使它们可以容纳在同一块硅片中的晶体管数量定期增加一倍。 其实在戈登·摩尔(Gordon Moore) 首次推出以他的名字命名的趋势时,业界并没有节点之类的东西,而且在一个IC上经济上只能集成大约50个晶体管。 但是经过从业人员数十年的艰苦努力和数千亿美元的投资,看看我们已经走了多远!如果您有幸在高端智能手机上阅读本文,那么它内部的处理器是使用称为7纳米节点的技术制造的。这意味着在一平方毫米的硅中大约有1亿个晶体管。在5纳米节点上制造的处理器现已投入生产,行业领导者期望在十年内致力于所谓的1纳米节点。 然后呢? 毕竟1nm已经几乎是五个硅原子的宽度。因此,也许您会以为您很快就会想到摩尔定律将不再存在,半导体制造技术的发展将不会进一步提高处理能力,而固态设备工程是一条死路一条。 不过你会错的。半导体技术节点系统绘制的前景图是错误的。实际上,7纳米晶体管的大多数关键特征都比7纳米大得多,并且命名和物理现实之间的脱节已经存在了大约二十年。当然,这不是秘密,但这确实会带来一些不幸的后果。 一是持续关注“节点

引用量比肩ImageNet的数据集下线!给黑人标N*gger,MIT道歉

混江龙づ霸主 提交于 2020-08-10 09:43:34
      大数据文摘出品    作者:刘俊寰、牛婉杨   抵制种族歧视最紧张的关头, MIT 忽然被牵扯了进去。   在一篇名为《LARGE IMAGE DATASETS: A PYRRHIC WIN FOR COMPUTER VISION?》的论文中,研究者发现,MIT正在使用的一个高引用 图片数据集Tiny Images存在强烈种族歧视和厌女症标签 。   这个数据库内,当黑人或猴子出现时,标签显示为N*gger这一对黑人的蔑称词汇;此外,身穿比基尼或抱着孩子的妇女的图片被标记为b*tch等这一侮辱性词汇。      这一曝光引发了学术圈的激烈争议。得知消息后,麻省理工学院 迅速下线了这一数据集 ,并发布公告称,由该数据集训练出的AI系统,会潜在地使用种族主义、厌女症和其他激进术语来描述对象, 请所有研究员暂停使用和训练 。   比如,利用Tiny Images训练的机器学习模型,能够自动识别并列出静止图像中的人和物体,当用户输入公园照片,系统会标注出照片中的儿童、成人、宠物、野餐点、花草和树木。但同时,由于在组合训练集时采用的方法,系统也可能将女性标记为妓女,黑人和亚裔的标记也多带有贬义色彩的词语。   使用该数据集训练出的神经网络的 应用程序、网站和其他产品 ,都很有可能在最终分析照片和视频时出现带有歧视性的术语。   下线该数据库后,MIT还表示,将

一线算法工程师经典面试题

半世苍凉 提交于 2020-08-10 09:39:52
一、 机器学习基础题 1、LSTM的公式 2、RNN为什么出现梯度消失及BPTT的推导 3、DQN的基本原理么 4、GBDT和随机森林有什么区别 5、GBDT的原理,如何做分类和回归 6、随机森林的随机体现在哪方面 7、Wide &Deep的原理 8、GBDT+LR是怎么做的? 9、DQN模型为什么要做经验回放 10、数据之间如果不是独立同分布的会怎样 11、AUC的原理介绍一下 12、XGBOOst和GBDT的区别。 13、强化学习和监督学习的区别 14、神经网络里面的损失函数有哪些 15、机器学习中常见的激活函数有哪些?为什么通常需要零均值? 16、DeepFM介绍 17、FM推导 18、boosting和bagging的区别? 19、bagging为什么能减小方差? 20、交叉熵损失函数,0-1分类的交叉熵损失函数的形式。什么是凸函数?0-1分类如果用平方损失为什么用交叉熵而不是平方损失? 21、L1和L2有什么区别,从数学角度解释L2为什么能提升模型的泛化能力。 22、深度学习中,L2和dropout有哪些区别? 23、L1正则化有哪些好处 24、如果有一万个地理坐标,转换成1-10000的数,可以用决策树么? 25、CART分类树和ID3以及C4.5有什么区别? 26、树集成模型有哪几种实现方式:Bagging和Boosting,回答过程中又问到了很多细节

第二次作业:卷积神经网络 part 2

耗尽温柔 提交于 2020-08-10 09:26:23
【第二部分】 代码练习 MobileNetV1 网络 MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, 2017 https://arxiv.org/abs/1704.04861 VGG,GoogleNet,ResNet进一步提高CNN的性能。但是到ResNet,网络已经达到152层,模型大小动辄几百300MB+。这种巨大的存储和计算开销,严重限制了CNN在某些低功耗领域的应用。在实际应用中受限于硬件运算能力与存储(比如几乎不可能在手机芯片上跑ResNet-152),所以必须有一种能在算法层面有效的压缩存储和计算量的方法。而MobileNet/ShuffleNet正为我们打开这扇窗。 Mobilenet v1是Google于2017年发布的网络架构,旨在充分利用移动设备和嵌入式应用的有限的资源,有效地最大化模型的准确性,以满足有限资源下的各种应用案例。Mobilenet v1核心是把卷积拆分为Depthwise+Pointwise两部分。 Depthwise 处理一个三通道的图像,使用3×3的卷积核,完全在二维平面上进行,卷积核的数量与输入的通道数相同,所以经过运算会生成3个feature map。卷积的参数为: 3 × 3 × 3 = 27,如下所示:

【2020暑假学习】第三次作业:卷积神经网络 part2

久未见 提交于 2020-08-10 09:25:49
问题总结 当模型准确率已经较高时,如何判断自己的改动是否提升了性能。因为可能每一次准确率变化都不太大,而且每次训练的模型最后准确率也会有波动,多运行几次取准确率平均值做比较吗? 在想要提高性能的改进过程中,有很多改变可能都对性能的提升有些许的帮助。这个过程是一种一种方法的尝试,不断累积提升了性能的改变吗。比如先改了batch_size,找到了一个合适的大小,然后就固定使用这个大小,再调整优化器损失函数之类的?在调整的时候总有一种虽然当前的尝试没有提高性能,但说不定和别的组合在一起可能会变好的想法,简直要进行排列组合。 代码练习 MobileNet V1 如何判断nn.Conv2d(3, 3)是做的图一运算而不是图二? 通过Conv2d函数中的groups参数区别。groups取值范围为1 - in_channels。groups=1时做图二运算,groups=3时做图一运算。 若groups=x,则将输入通道分为x份,输出通道分为x份,对应每份分别做全卷积。 举例:nn.Conv2d(in_channels=6, out_channels=6, kernel_size=1, groups=3) 卷积核大小为torch.Size([6, 2, 1, 1]) 参考: 卷积层中的 group 参数理解 pytorch的conv2d函数groups分组卷积使用及理解 MobileNet

第二次作业:卷积神经网络 part 2

こ雲淡風輕ζ 提交于 2020-08-10 09:25:36
第二次作业:卷积神经网络 part 2 【第一部分】 问题总结 在编写网络的时候,bn层是否可以无脑添加?什么时候添加bn层比较好? conv层的padding,stride怎么计算?什么时候stride=1什么时候=2 有些混乱。。 数据处理时 transforms.Normalize((0.1307,), (0.3081,) 为什么要这样正交化?这两个数是怎么算出来的? 在之前第二周的作业part1有一个ResNet的代码实现,课程里老师有提到下采样,但没有详细讲解,只说了“stride=1就不下采样,stride=2已经下采样了。“ 这句话我并不是很理解。 shortcut 具体在哪些地方可以使用?我理解的Resnet的f(x) + x = y 是 shortcut是否正确? 对于计算机视觉专业,有哪些经典的深度学习的项目作为入门练手比较好? 【第二部分】 代码练习 具体的论文学习在往期作业中,以下仅为代码实现 MobileNet V1 链接 MobileNet V2 链接 HybridSN 高光谱分类 链接 【第三部分】 论文学习 《Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising》 链接 《Squeeze-and-Excitation Networks》 链接