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

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

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

2015年11月5日,google翻译系统进行了一次大整改,翻译系统的翻译水准几近人类的翻译水平。

深度神经网络除了在翻译上有提升外,在实时图像切割也有很大的帮助。另外alphaGo在围棋比赛上战胜人类...

天文,医疗等等都可以在AI上获得好处。(以上是深度学习的相关背景)

学习清单:

  1. 了解什么是神经网络
  2. 怎么建构神经网络
  3. 熟悉这个东西
  4. 运用神经网络

课程的网址是:deeplearning.cs.cmu.edu

CMU的学生很神,如果课程很简单,很容易通过,他们反倒不会选择这堂课(所以挂科比较爽?虽然有挑战确实比较有意思,可是也要面对风险)

我们大脑的神经网络靠神经元来连接。

以前有个人说大脑里有50亿的神经元协助大脑运转,被世人嘲笑,后来他就道歉说自己错了,然后就死了。

现在我们知道他是错了,不是50亿而是有180亿。

(所以聪明的人从来不是聪明人的手下败将,而是被愚钝的人手刃)

[展开全文]

 

神经网络的向量化表示

  • 使得计算更加简洁
  • 同时有很多关于矩阵的库能够加速运算

前向传播

 

后向传播

 

神经网络的整个训练过程

 

反向传播一直有效吗

  • 在分类问题中分类误差是一个关于权重不可微的方程存在这种情况我们调整参数但是误差不改变的情况。如果一个实例得到了正确的分类分类误差会调到某个值。
  • 那么我们选择一种折中的方法就是采用divergence function 代替分类误差。
  • 但是还有一个问题最小化divergence function 不一定最小化了分类误差。

感知机与后向传播的区别

 

1对于感知机当训练样本中加入一个新的样本感知机分类器有可能会发生较大的变化

  • 能够很好的适应训练数据
  • 感知机规则有较低的偏差如果可能甚至可以做到无偏差
  • 感知机有较大的方差当输入有很小的改动是结果将会有较大的变化。

(2) 后向传播当训练样本中加入一个新的样本汇总将会有较小的改动。这就意味着不会因为一个样本的change网络发生较大的变化。

  • 它是一个 低方差的分类器
  • 理论上你想要的答案能够大体找到而不是精确找到。
  • 后向传播经常找不到一个分类答案尽管这个答案是神经网络可以学习的一个函数主要是是因为这个答案不是损失函数可以达到的最优值。但是反向传播算法比感知机具有较低的方差这是它的优点所在。

 

 

[展开全文]

神经网络向量化表示


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这就意味着我们队样本的预测十万八千里。

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

[展开全文]
第二课笔记:本节课主要介绍了神经网络的发展历史。起源于对大脑神经元的模仿,最开始只是简单的单独感知机模型,可以完成与或非布尔运算,但是不能完成异或运算。之后将感知机组成网络,多层感知机就出现了!多层感知机可以联结多个计算模型以此来耦合复杂布尔函数。之后的发展便是从布尔型机器,到可以处理实数,从硬阈值到软阈值,至此MLP(多层感知机)可用于图像分类,甚至是复杂函数的拟合。 所谓往往越简单的越是强大!小小的感知机在组成MLP后,会有很强大的功能。
[展开全文]

1⃣.感知机一般包含的元素

  1. 输入
    要求输入的是实值
  2. 仿射&线性
    放射函数满足f(ax+by)=af(x)+bf(y)f(ax+by)=af(x)+bf(y),这就意味着仿射函数一定穿过原点但是线性函数就不一定穿过原点
  3. 偏置
  • 类似一个阈值来激活感知机
  • 偏置也可以视为一个权重只不过对应的输入元素视为1
  1. 激活函数
    激活函数并非一定要是阈值函数。激活函数包括阶跃函数、sigmoid、tanh、Relu等

2⃣前馈神经网络

重点是没有循环在信号传播的过程中永远不会返回前面一个信号。这就相当于所有的计算都是单向的非循环的。当然循环神经网络也是非常重要的

3⃣有了神经网络如何使得神经网络能够按照特定的规则进行执行

学习神经网络的过程就是决定参数值的过程这个过程实际上就是使得神经网络能够输出我们想要的函数。前提是我们的这个神经网络有能力构建我们的目标函数。

0) 训练神经网络的结果可能得到的函数不是唯一的如何衡量所得到的函数好坏就需要指定一定的度量方式

1在实际中衡量预测值与真实值之间的差距并非只有一种度量方式重要的是多次之间的差异不能存在抵消的情况

2神经网络在逼近函数的过程中我们提供的数据不能是函数中每一个点的值这就意味着我们的训练样本实际上一个抽样的样本

样本训练过程中要求一个x只能对应一个唯一的输出值

4⃣多层感知机

感知机实际上就是寻找到一个超平面将正负样本进行分开其中权重与超平面是一个正交的关系在更新权重的过程中采取的策略就是权重方向指向正样本远离负样本。

在整个更新权重的过程中修正权重W的次数是有限的不会超过(R/γ)^2,其中R是最远的那个训练样本的距离γ是训练样本与超平面最近的距离.

 

 

 

 

 

 

 

[展开全文]

本节内容主要是导论内容,介绍了一些与深度学习有关的背景,嗯...深度学习起源于一个很早的年份,Alexander Brain,联结主义,信息存储在神经元与神经元之间的连接中!

[展开全文]

神经网络是一个通用逼近器

  • 可以逼近布尔函数利用电路进行解释通俗易懂
  • 可以逼近分类器。实际上MLP可以构建任意复杂的决策边界可以通过布尔函数的组合实现也可以通过神经网络实现其主要就是利用极限的思想从四边形到五边形到边数特别到时候极限近似为为圆柱体利用圆柱体进而逼近复杂的觉得边界
  • 可以逼近函数。基于圆柱体的思想利用不同的圆柱进行组合进而逼近函数的值。如果采用一个隐藏层的神经网络来近似函数那么就用指数级别的神经元来逼近函数。如果是深度神经网络就可以采用更少的神经元来毕竟函数而且可能达到更好的效果。对于深度神经网络每一层神经网络实际上实现了信息的过滤但是需要在最开始的时候能够捕获所有的信息这样才能在接下来的神经网络中信息不断的得到补偿进而反应事物否则一开始信息就没有捕获全面这样在不完全的信息中再深的神经网络也没有办法完成信息的恢复。
    在信息的捕获中实际上激活函数骑着重要的作用主要通过梯度实现因此在梯度饱和的时候失去了信息捕获的能力。这就意味着选择激活函数也是重要的其中sigmoid函数就存在信息饱和的情况。
    其实返回来看对于激活函数sigmoid当输入特别大时将会一个阶跃函数实际上就相当于实现了门的作用。
    就这样从布尔函数、分类器、连续函数完成了一步步的转化与递进。
[展开全文]

深度神经网络已经被应用在人类社会的各个领域中。这节课主要是介绍一下深度学习有多牛逼。同时介绍了人工神经网络的始祖Bain的理论。

[展开全文]

突然就了解到了图像,或者语意分割是怎么实现的了,我们之前就说,一个三层的神经网络可以你和任何形状的的函数,只要这个神经网络足够深,或者输入的特征足够多,他就可以拟合出一个人的形状,并且对其进行分类,在圈内的东西是“人”,在圈外的东西是“非人”。

[展开全文]

深度学习可用于多个领域,物体识别,机器翻译,下棋等等

神经网络能做任何事情!

这门课不容易,要做很多很多的工作。

神经网络是模仿人类思考的方式,从而形成的一种结构。可以实现人类的各种能力。

 

[展开全文]

进入小组观看课程

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

SMART Lab学习小组

成员:1泡泡:0

点击观看
生物医学小分队

成员:163泡泡:67

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

成员:278泡泡:160

点击观看