目录
一、神经网络本质
在深度学习的热门领域中,CV把图像数据转化为计算机能识别的特征,NLP把文本数据转化为计算机能识别的特征,DM把结构化文本数据转化为计算机能识别的特征。整个深度学习都在干的一件事——提特征。
那么深度学习的”训练“、”学习“是什么意思呢?
给了原始的输入输出数据,比如下图通过360°移动”四不像“可以得到不同的”映射“,但关键是怎么把特征学好,这就是深度学习本质问题:怎么对输入输出做变换才能得到好的特征。
”映射“是对输入输出数据做了什么?
从以上例子就是把一个“四不像”通过“投影”成一个我们需要的“映射”,最后这个“兔子”比我们原来的“四不像“识别起来更轻松。
同样,神经网络就是找到一个通用方向,把输入的数据映射到这个方向以后,用映射后的特征能够更精准地去做预测,深度学习的本质问题是怎么对输入数据做变化才能得到好的特征。
二、神经网络的核心原理
1. 前向传播

1.1 数据预处理
拿到了数据之后,不能直接的输入到神经网络当中,要稍微做一些改变。比如:做一个标准化的操作。 不同的预处理结果会使得模型的效果发生很大的差异!

1.2 参数初始化

1.3 线性函数
公式
对于每一层神经元的计算,可以表示为:
其中,是第 l 层的权重矩阵,
是上一层的输出,
是第 l 层的偏置项,
是该层的加权输入。
就像做课后练习,z(答案)与a(题目)都是已知的,怎么答这个题(调整W与b)让预测值与真实值更接近,以后加入新数据(a),通过W与b得到新的预测结果。
注意:W和b开始都是随机初始化的,就像零基础啥也不懂,全靠后天训练调整正确率
以识别猫的照片举例

这个猫由每一个像素点决定的,这里有32 * 32 * 3=3072个像素点。不同的像素点对于它是猫是促进的作用,有些是抑制的作用。所以每一个像素点对应的权重w是不一样的。3072个像素点对应3072个权重参数。

x 代表像素点,32 * 32 * 3=3072 * 1。可以理解为把每一个像素点拉长了,总共有3072个格(像素点)。权重参数w 为1 * 3072个。它们相乘=1 * 1(一个点或者一个值)。

比如我们要做一个十分类任务(猫、狗、蛇.....),当前这个点要分别计算它属于十个类别各自的得分值,把所有像素点都考虑进去。w1表示它属于猫类别的得分,w2表示它属于狗类别的得分。...w10...。最后w就是10 * 3072(10代表十个不同的类别,十个结果)最后相乘完=10 * 1,表示它得到10个类别各自的得分(比如猫400分,狗300分)。b为偏置项,微调(上下进行浮动),w起决定性作用。各自类别,各自微调。b的10 * 1,十个数。
注意:W、b、X均为矩阵

这里把猫当做四个像素点,做三分类,分别得到得分值。3 * 4(3代表类别个数,4代表猫有四个像素点,每个像素点要对应一个权重值)。计算:0.2 * 56 +(-0.5)* 231 + 0.1 * 24 + 2.0 * 2 + 1.1 = -96.8(猫类别的得分)。权重参数中,数值越大影响越重要,正值代表促进,负值代表抑制。
那么这个 3 * 4 的矩阵是怎么来的呢?<


被折叠的 条评论
为什么被折叠?



