深度神经网络的本质(无一句代码)
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度神经网络的本质(无一句代码)相关的知识,希望对你有一定的参考价值。
提出问题
对于二分类问题,使用二元交叉熵损失函数,对于多分类问题,可以用分类交叉熵损失函数,对于回归问题,可以使用均方误差,对于序列问题,可以使用联结主义时序分类损失函数CTC(connectionlist temppral classfication),但是对于以上指导解决不了的问题时,我们需要开发目标函数。选择创建新的网络结构。
大脑的不同之处
我们指导大脑的神经元联结是无与伦比的,计算机的软件能创造的结构与之相比相差甚远,大脑可以在各种环境下,联想起各种事物之间的关系,而不仅仅是一个目标函数,所以我们缺少的是以前事物的关联性,使用神经网络的某一个目标函数只是一个死的方式,大脑是随时会更改目标,修正目标,真正意义上的无量目标同时跟踪,从而达到识别的目的。
导数
这个术语每个上过大学的人都知道,但是怎么运用到神经网络里面的?如果我们有这种疑问,说明我们还没有理解神经网络。
对于函数y=f(x)来说,导数意味着x的微小变化引起y的微小变化,如果函数是光滑的,在某个点上,把他的斜率求出来,就是该函数的导数,斜率又有什么用,就在这里,我们记住,斜率就是方向的变化,斜率是负的,说明x在求斜率的地方的变化将导致f(x)也就是y变小,反之,y将变大。 而斜率绝对值,表示着增大或者减小的速度快慢。
那么说到这里,是不是已经有化学反应了,实际上目标函数的定义已经决定了我们的 “方向”,我们对目标的前进是需要什么样的调整就是导数定义的,也就是可微的方向的变化引起我们对目标前进的变化。
张量运算
一元对于我们来说识别是过于简单了,无法做到,所以识别的维度一定是多维的,这样,多维数据才能达到识别的目的。
图像识别具有三个维度,高度,宽度,颜色深度,例如图像大小为256*256,128张灰度图像就保存在(128,256,256,1),里面最后是1是因为只有yuv的y分量也就是灰度,而彩色图像就保存在(128,256,256,3)的张量中。而视频数据是5d张量。
梯度下降
到达图像和视频的张量运算之后,定义出一个概念叫做梯度,梯度就是张量运算的导数,从一元的导数扩展到多元,这样,下面引出比较重要的一句话:神经网络的识别,就是用解析法求出最小损失函数对应的所有权重值,而对于图像和视频数据来说,无法简单使用一个例如y=f(x) 的函数来进行运算,实际上的神经网络全是节点联结,参数的个数不小于几千个,在最复杂的情况下,有上千万个参数,我没有夸张,是上千万个。
实际上就是用导数和梯度来计算衡量y 和 目标 y1 的距离和变化方向,以求得相对于梯度上最小的损失,而不让特征的主成分丢失,再进行反向传播来修改权重参数。
就是如此。
以上是关于深度神经网络的本质(无一句代码)的主要内容,如果未能解决你的问题,请参考以下文章
[人工智能-深度学习-22]:卷积神经网络CNN -- 单层神经网络的本质是矩阵相乘