深度学习02——Softmax、DNN、WideDeep Model

说明:本系列是七月算法深度学习课程的学习笔记

1 背景介绍

深度学习在图片上的应用:功能上讲:图像分类和物体识别;应用上:可以用来分类图片:白菜形状的玉器摆件、白菜、大白菜;图片搜索;给照片打标签;识别超市的蔬菜;自动驾驶;模仿画家作画;拍立淘:以图搜索产品。

深度学习在nlp上的应用:模仿作家写作;抽取图片中的文字。
综合应用:识别图片中的物品以及人物。

2 神经网络非线性能力及原理

2.1 感知器与逻辑门

2.1 得分函数

线性分类器
分类问题:输入图像数据;输出所属分类;线性分割:f(x,W)。找到合适的映射函数f。

f(x,W) = Wx
输入是一个32x32x3的图片,W是一个10x3072的矩阵,x是一个3072x1的向量),其中W叫做参数或者权重。f称为得分函数。
把输入值全部展开就是一个3072x1的向量。

如果我们的分类是3个:cat,dog,ship。
W中每一行是对一个分类的线性参数。
b是偏移,相当于是截距。
最后一列是得分,在哪个分类上得分最高就最 可能是哪种分类。

2.2 损失函数

f(x,W) = Wx是否与实际符合,需要用损失函数来衡量。
损失函数:用来衡量参数W的吻合度。
损失函数1: hinge loss 支持向量机损失

衡量的是当前样本计算的得分与标准答案之间的差异到底有多大。

例如在图片分类中有3个分类,标准答案是分类2,那么蓝色的线就是分类2的得分。delta是警戒线。如果蓝色线是90,分类1和分类3的得分都比90小,那就分类正确,没有损失。但是有点不靠谱。加个delta可以让正确答案更靠谱一些。其他分类的值,只要不超过警戒线损失就是0,否则就有损失。
计算每个错误分类的错误距离之和。对于第i个图片的损失值等于:
Li=∑j!=yimax(0,f(xi,W)j−f(xi,W)yi+δ)L_i=\sum_{j!=y_i}max(0,f(x_i,W)_j-f(x_i,W)_{y_i}+\delta)Li=j!=yimax(0,f(xi,W)jf(xi,W)yi+δ)
在这里插入图片描述

损失函数2: 交叉熵损失(softmax)
如果将每个分类上的得分记为s1,s2,s3。我们将它们处理为es1e^{s1}es1,es2e^{s2}es2,es3e^{s3}es3,然后对他们做归一化得到概率。做指数的原因是每个分类的得分可正可负,没法计算概率。
对于训练集中的第i张图片数据xix_ixi,如果真实分类是dog,如果我们把分类记为:cat,dog,ship,那真实的向量应该是:[0,1,0]。如果我们计算得到的向量是(已经是e的次方了):[0.9,0.05,0.05]。那这个向量和真实的向量之间的差距有多大,这时候从极大似然的角度来看,我们会希望dog的概率pdogp_{dog}pdog是最大的,从而logpdogp_{dog}pdog也应该是最大的。那么−logpdog-logp_{dog}logpdog就会希望是最小值。

极大似然会将所有分类的概率乘积起来,这里使用log是因为概率值比较小,概率值相乘可能会超出计算机的精度范围。

那么最后得到损失函数:对于训练集中的第i张图片数据xix_ixi,在W下会有一个得分结果向量fff,损失值等于:
Li=−log(efyi∑jefj)L_i=-log(\dfrac{e^{f_{y_i}}}{\sum_{j} e^{f_j}})Li=log(jefjefyi)
j:所有的类别,fyi{f_{y_i}}fyi是第i张图片计算得到的结果向量在正确分类上的数值。
例如上面例子中的Li=−log(0.050.9+0.05+0.05)=−log(0.05)=3.0L_i=-log(\dfrac{0.05}{0.9+0.05+0.05})=-log(0.05)=3.0Li=log(0.9+0.05+0.050.05)=log(0.05)=3.0
这样我们的目标就是求LiL_iLi的最小值。
在这里插入图片描述

问题:这里为什么不用MSE做损失函数?
在做线性回归问题的时候(也就是函数的结果值是一个连续的数,例如房价预测),我们经常使用MSE做损失函数。MSE是一个非凸的函数,而交叉熵是一个凸函数。我们给交叉熵加入softmax之后,是一个具有单调性的函数,损失越大,梯度越大,非常利于梯度下降的反向传播。所以softmax经常和交叉熵一起使用。参考链接

2.3 神经网络

一般神经网络的结构分为:输入层、1-多个隐藏层、输出层。

在logistic回归中
z=θ0+θ1x1+θ2x2z=\theta_0+\theta_1x_1+\theta_2x_2z=θ0+θ1x1+θ2x2
a=g(z)=11+e−za=g(z)=\dfrac{1}{1+e^{-z}}a=g(z)=1+ez1

可以把这个看所一个神经元感知器。

神经网络有若干个这样的感知器。就相当于有多个logistic回归,有多个线性切分。多个线性切分可以得到什么结果呢?

2.3 非线性切分

logistic回归在上图数据中就没有办法画出非线性的边界。
通过神经元的逻辑与逻辑或操作多个线性切分就可以画出复杂的决策边界。但是也是复杂的线性边界。

逻辑与

逻辑或

对线性分类器的与或 进行组合就可以得到复杂的线性切分

2.4 网络表达能力与过拟合问题

提升隐层层数或者隐层神经元的个数,神经网络的容量会变大,空间表达能力会更强。
解决方法:不要试图通过降低神经网络参数数量来缓解,用正则化或者dropout。

2.5 神经网络之激活函数

sigmoid 和 双s函数tahn,通常是非线性函数。在每一个隐藏层后面都会加一个激活函数层。
加激活函数是要起到非线性的作用。否则无论加多少个隐层,这个符合函数还是线性的。遇到下图这样的数据,即使多复杂的线性表达式也不能完全区分。

如果使用激活函数,例如sigmoid。三个隐藏层每层过sigomoid函数,就能得到下图右边的效果。参考链接

2.6 BP与SGD

BP:反向传播,传播误差;做题,传回修正值。
SGD:相当于改题,找到梯度,沿着梯度的方向更新参数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]44在ECC密码学方案中基本的防御方法

这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 在ECC密码学方案中,描述一些基本的防御方法 在上篇文章中我们提到了在ECC中对抗侧信道攻击的一…

第六十五期:央行万字工作论文:区块链能做什么、不能做什么?

本文从经济学角度研究了区块链的功能。首先,在给出区块链技术的经济学解释的基础上,归纳出目前主流区块链系统采取的“Token 范式”,厘清与区块链有关的共识和信任这两个基础概念,并梳理智能合约的功能。 作者:徐忠 邹…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]45.描述一些对抗RSA侧信道攻击的防御方法

这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 为了让这篇文章保持简单,我们将会我们将讨论所谓的“香草”RSA(在加密中不使用随机性)&#xff…

第六十六期:运维专家写给运维工程师的6条人生忠告

最近由于新公司需要招聘运维人员,所以接触了大量应聘者,基本都是85后的年轻人。在他们身上看到年轻的活力,也看到浮躁社会留下的烙印。作为一个奔5的老IT运维人员,真心希望他们少走自己的弯路,能够成就自己的一番事业&…

深度学习03——CNN

说明:本系列是七月算法深度学习课程的学习笔记 文章目录1神经网络与卷积神经网络1.1 深度神经网络适合计算机视觉处理吗1.2CNN的结构1.2.1 数据输入层1.2.2 卷积层1.2.3 激励层1.2.3 池化层1.2.4 全连接层1.3CNN的训练算法1.4CNN的优缺点2正则化与Droupout3典型结构…

第六十八期:做中台找死,不做中台等死?

今年参加了云栖大会,作为中台的践行者,我也更关注中台架构实施的行业状况,学习了其他公司中台的思想和经验。 作者:谭明智 今年参加了云栖大会,作为中台的践行者,我也更关注中台架构实施的行业状况&#…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]46.Sigma协议正确性、公正性和零知识性

这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 在Sigma协议中,正确性,公正性和零知识性意味着什么? Sigma协议 一个更一般的理解 …

第六十七期:全球500强公司的2100万登录信息惊现于暗网上!

暗网上多处出现了从《财富》500强公司窃取的2100余万条登录信息,其中许多登录信息已被破解,以明文形式提供。 作者:布加迪编译 暗网上多处出现了从《财富》500强公司窃取的2100余万条登录信息,其中许多登录信息已被破解&#xff…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]47.什么是Fiat-Shamir变换?

这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 只要Alice和Bob同时在线,Sigma协议能快速的完成Alice向Bob证明的任务。Alice向Bob发送承诺&…

第六十九期: 漫画说算法之什么是一致性哈希?

当缓存集群的节点有所增加的时候,整个环形空间的映射仍然会保持一致性哈希的顺时针规则,所以有一小部分key的归属会受到影响。 作者:IT知识课堂来源 一年之前—— 未来两年内,系统预估的总订单数量可达一亿条左右。 按Mysql单表…

spring学习(25):通过构造函数依赖注入

目录结构 pox.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

计算机原理

计算机组成原理 简单易学、开源免费、可移植、可拓展、可嵌入、面向对象&#xff0c;比java、c#等更彻底 谷歌、CIA、nasa、YouTube、Dropbox、Instagram、Facebook、redhat、豆瓣、知乎、春雨医生、搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等都在使…

spring学习(26):更优雅的依赖注入 在@bean注入参数

目录结构 pox.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

[dp] LeetCode 62. Unique Paths

输入&#xff1a;两个int m和n 输出&#xff1a;一个int,表示不同路径的个数。 规则&#xff1a;有一个m行n列的矩阵&#xff0c;一个机器人从左上角走到右下角&#xff0c;每次向下或者向右走一格。 分析&#xff1a;目的是要找到从(0,0)到(m-1,n-1)有多少种不同 的走法。如果…

spring学习(27):通过setter依赖注入

目录结构 pox.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]50.什么是BLS基于对的签名方案?

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 转载链接&#xff1a;https://www.cnblogs.com/zhuowangy2k/p/12248721.html

深度学习04-RNN

文章目录1 为什么需要RNN1.1RNN的应用场景1.2 DNN和CNN不能解决的问题2 RNN的网络结构2.1 RNN基础结构2.2 不同类型的RNN3 RNN的优化算法BPTT4 LSTM5 GRU1 为什么需要RNN 1.1RNN的应用场景 1 模仿论文&#xff08;生成序列&#xff09;。输入是一堆的论文文章&#xff0c;输出…

spring学习(28):处理自动装配的歧义性

pox.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]51.基于ID的加密安全模型,描述IBE方案

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 在公钥密码学中&#xff0c;如果Alice想要给Bob发送一条消息&#xff0c;她需要Bob的公钥&#xff0c;一般来…

spring学习(29):xml配置规范

目录结构 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…