首页 AI学术青年与开发者社区

【中文字幕】卡耐基梅隆大学 2018 秋季《深度学习导论》Bhiksha Raj 领衔主讲

开课时间:9月27日开始正式发布,更新节奏视官网课程而定
开课时长:28讲视频

WtX = |W|x|X|cosb

两个向量的点乘,在计算时采用线性代数的运算法则行向量W乘以列向量X 得出两个向量之间的结果。

找到整个函数的最小值,考虑一阶导数与二阶导数。实际无法一次求得,采用反复迭代的方式求得结果。即函数导数为0点。每次前进方向都为函数导数的反方向取一定的步长。

最后利用交叉熵函数求预测结果y与标定d的相关回传梯度去修正W与b。两个结果之间的相关度使用散度来表示。

[展开全文]
mefly · 2020-01-02 · 4.2 反向传播 0

神经网络向量化表示


a^{(k)}(x)=b^{(k)}+W^{(k)}h^{(k-1)

对于二分类实际输出层是一个标量就是一个数值。



对于多分类实际输出层是长度为类别数量的向量。

 

神经网络实现分类

对于分类问题分为二分类与多分类。

  • 对于二分类选择激活函数如sigmoid通过计算使得P(Y=1|X)的概率最大通过选择阈值判定是正样本还是负样本。
  • 对于多分类样本有几个类别就是有一个几维的one-hot向量我们通过神经网络就是使得每一类的概率最大与此同时越接近我们的实际值越好。通常选用的激活函数式soft-max即我们的上述神经网络的向量化最后的输出层采用的soft-max函数.基于上述共同的目标我们采用交叉熵(cross-entropy). 当y_i=p_iyi=pi是交叉熵能够达到最小值【可以通过求导得出】为0实际上就说明我们将样本预测的很准确。
    如果y_i \neq p_iyi̸=pi时这时候交叉熵到达最大值\infty这就意味着我们队样本的预测十万八千里。

在整个过程中是如何通过优化参数使得我们的目标达到最优呢即预测值与真实值的差距最小呢
最主要的实现方式就是梯度下降在每一次的迭代过程后过程中利用上一次的权重&目标函数的导数进行修正最新的权重如此反复使得我们的目标值达到我们的精度要求即可。
这里边涉及到求导、链式法则整体的思想就是当输入有微小变动时这个微小变动能够影响下一层神经元进而这个微小的影响对输出也会有微小的影响。
其实这就要求我们的目标函数、中间的激活函数都是对参数可微的。

[展开全文]

vector notation:

Y表示网络最终的输出,即网络的响应。

使用一个阈值函数,比如sigmoid函数,计算y=1的概率。

若是multi-class output:one-hot表示(包含一个1,其他元素都是0):

输出是向量。

softmax层。

————————————————

误差反向传播:

我们会使用链式法则,来计算误差的梯度。

二分类问题:

收敛度量方式:

如果你想要1 0,网络输出是0 1,怎么办?

所以我们经常使用交叉熵来提高效率。

分两种情况:

1、d和y相等;2、d和y不相等。

d是desired output;y是实际输出。

1、当输出的期望d和与样本点实际的标签y相同的时候,散度函数Div(y,d)=0。

2、另d=1,y=0,

-dlogy=-1 * log(0)=-1 * (负无穷)=正无穷

————————————

多分类问题:

需要累加所有的-d * logy,当y和d相同的时候,散度函数Div(y,d)=0;当y和d不同的时候,假设每个分类结果完全不一样的时候,Div(y,d)的结果为无穷大。

只需要计算某一个类的偏导数,其他不用关心。

————————————————————

训练集中所有样本点散度的平均值,就是总误差。

在梯度下降中,每次迭代时,需要用到平均误差来修正其中的变量。在每次迭代中,需要利用上一次迭代的权重以及误差的偏导数来修正更新权重值。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[展开全文]
琦舞 · 2019-02-23 · 4.2 反向传播 0

进入小组观看课程

更多 >>
以下为该课程相关学习小组,您可以选择任意小组加入学习课程并交流

SMART Lab学习小组

成员:1泡泡:0

点击观看
生物医学小分队

成员:163泡泡:67

点击观看
CUM 11-485/785 NLP学习小组

成员:278泡泡:160

点击观看