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

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

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

1、感知器:输入加权值和,与阈值相比,超过则传递,否则不传递。

2、仿射和线性的区别

(线性)f(ax + by)= af(x)+ bf(y)

(仿射)f(x) = sum(wixi)+ b

3、多层感知器作为布尔函数

一层感知器就可以表达任意布尔函数,但是参数是指数级的。(深度很重要,固定深度会导致宽度过大。)

[展开全文]

神经网络作为通用逼近器:

激活函数 

[展开全文]

神经网络作为通用逼近器:

激活函数 阈值 与或非异或 
[展开全文]

# 第二遍学习:

1.神经网络是通用函数的逼近器。

  • 可以建模任何布尔函数
  • 可以建模任何分类边界
  • 可以建模任意连续值函数模型

如果网络满足最小约束,也就是使用较少的参数你逼近拟合函数,效果未必那么好!

2.感知机,一般情况下:

  • 输入时实数,是输入的放射组合
  • 偏置b,感知机阈值的偏置
  • 激活函数,是一个非必须的阈值函数。最早用的是阶跃函数,如果我们将他替换为更为平滑的激活函数,例如,sigmoid和relu就可以用于图像处理等等。
  • 因此,激活函数,未必是阈值函数。

3.偏置可以和放射项拼在一起,更加简洁。

4.前馈网络,输出不会反馈回输入。单向计算是单向的。非循环的。

5.网络的参数是权重和偏置。

6.已知一个目标函数,构建网络的过程就是,你拟合接近,最小化误差的过程。(网络学习)

7.从样本学习到的关系,并非是独一无二的。

8.Rosebaltt

9.阈值,直线,超平面。

10.感知机最早的模型可以理解为一个符号函数。

11.感知机的权重W与正样本的cos值是正,与负样本的cos值为负。因此,根据这个对W进行修正,就可以达到训练的效果。W+X,这的X是错误样本,就会将分类平面向正确方向靠拢。

12.如果数据线性可分,以上方法可以在有限的步数只能完成更新。(R/r)^2;

[展开全文]

affine和linear的区别:

affine是translated linear hyperplane。

perception(bias)->soft perception->other activation function->multi-layer perception(only input layer and output layer)-> deep networks(depth: length og th elongest path from a source to a sink)

 

多层感知机(MLP)作为一个执行任意布尔运算的函数-> universal boolean function.

除了通常的与,或,非,MLP还能计算亦或,泛化与,泛化或等计算。

a boolean functio is just a truth table。

一个两层的MLP就可以实现任何布尔函数。实现其真值表即可。

卡诺图可以简化DNF公式,从而得到用来计算该布尔元算的所需最少的perception数量。

一般化的,如果我们只用一个隐层来表达布尔函数的话,那么最坏情况下,最多需要2^(n-1)个perception,n是输入的数量。

如果允许多层的话,那么在最坏情况下,我们只需要2 * (n - 1),实际上是用的xor运算来实现的。一个xor最少用2个perception就可以实现,(如果允许bias为小数的话,如果不允许,就需要三个)那么需要的层数是log_2 n.

这就是为什么需要深度网络的原因!!!减少参数才是关键!

实际情况会更复杂,如果我们要表达的是一个更复杂的函数,

[展开全文]

hebbian learning的方案的问题:

不能进行减法,权重会一直增加。

Frank Rosenblatt:

提出权重,阈值,并且提供了权值更新的算法,实际上也是现在广泛使用的方法。

可以进行模拟  与,和,或,非操作

但是无法模拟亦或操作!

[展开全文]

激活函数的进步,见证了神经网络的进步。

从不可导的阶跃函数,到sigmoid函数,到relu等等。提升了训练的效果

 

这些视频应该多看几次。

[展开全文]

Karnaugh Map优点:

1、用Grid的形式来表示真值表,第一眼看起来很直观。

2、每个相邻的格子之间的只有一个bit位的差别。

3、简化了析取范式。

  • 如果用最基本的析取范式(DNF)来表示,则需要7个表达式(每一个高亮的格子都需要一个表达式,例如0000,表示为XYZW,再将其7个表达式组成析取范式)。
  • 如果用Karnaugh Map,运用Group组合,由第一列可以看出来,当YZ为00的时候,WZ的值不会影响真值(Truth Value)。​此时四个表达式可以简化为一个。

4、在第一层可以减少Neuron神经结点的数量。可以减少到3个神经元。

 

Karnaugh Map缺点:

1、在Karnaugh Map中找到最紧凑的Group组合是一个NP难的问题。

2、(Worst Case)当表示为一个棋盘格的时候,Karnough Map所需要的Neuron神经结点是最多的。下图需要8个单元。

 

Karnough Map 三维 6个变量的特性:

1、由4 x 4 x 4 =64 个小立方体组成,每一个立方体代表一种表达式,一种可能性。

2、Worst Case需要 8 x 4 = 32 个 Neurons。总结:2^(N-1)(指数型)

 

XOR 特性:

1、交换律。

2、结合律。

简化版的XOR运算只需要2个神经元。

 

每一个XOR运算可以只用3个神经元表示。这样将神经元数量由指数型降到了线形。2^(N-1) -> 3 x (N-1)。运用XOR的结合律可以讲,深度从N -> log(n)。

[展开全文]

只有一个隐藏层的神经网络也可以拟合任意函数,但是隐藏层所需要的神经单元可能是无限多个。故为了降低神经元的数量,我们可以考虑增加神经网络的层数。如果我们限定了神经网络的深度,那么需要的神经元个数的上限是多少?无限大。所以当你在AC0级的基础上建立一个固定深度的神经网络的时候,理论上,神经元的个数并没有一个上限。并且这个网络可以很好地构成任一函数。

但是接下来,假设我们有这样一个网络,如果这个网络足够深,但我限制每一层中神经元的个数,那么这个神经网络是否绝对可以拟合任一函数呢?确实不能。所以当我提到一个神经网络足够用的时候,意味着它的层数足够深,并且每一层的神经元数目足够。这整个网络可以模拟一个具体的函数了。现在我们谈论的是模拟一个具体函数的能力,并不是意味着仅仅它才可以模拟这个函数。

我们应该怎样设计一个神经网络去计算着一个特定的函数?第一个问题就是我们如何使用一堆数字来表示我们的输入和输出。神经网络的基本结构是感知机,它数学公式是:z=权重×输入的结果+偏置项。这样就得到一个关于输入的仿射组合。

其次是如何构建一个神经网络来执行必要的函数。激活函数,这个函数用来处理输入的仿射组合,并且激活函数在大多数情况下可以将它看做一个感知机,因为它最初被定义为一个阈值函数或是正弦函数。(每次提到感知机的时候,你应该能想到输入数据的仿射组合,而这些输入数据是输入到激活函数中去的,即all输入×权重+偏置)。但这样写有些麻烦,每次都得加b,有个简单的方法即在输入向量里添加1,设想它就是输入变量里的一个额外部分,这样偏置就直接变成了这里的权重,z=all输入×权重。

前馈网络:输入的数据在第一层被运算,得到的结果传到第二层继续运算,一直到最后一层。信号永远不会返回到前面的任何单元,它是单向的、非循环的。

分歧函数告诉了网络输出值和每个x对应的真实想要的值之间的差值。

学习一个神经网络就和确定网络参数是一样的,这些需要确定的参数就是网络所需要的权重和误差。用来对目标函数进行建模。在实际中,不会知道g(x)的函数定义,所以我们将根据画出输入输出训练实例,并估计网络的参数,来使用这些实例来对输入输出关系进行拟合。

最简单的多层感知机模型实际上并没有多层的概念,甚至也没有层,就是一个感知机模型。我们有很多实例,在数轴中就是一个个蓝色红色的点点,我们需要通过这些数据学习能够产生不同输出的权重w和偏置项b,这样就可以找到一个超平面,来完美分开蓝色和红色的点。

[展开全文]

进入小组观看课程

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

SMART Lab学习小组

成员:1泡泡:0

点击观看
生物医学小分队

成员:164泡泡:67

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

成员:278泡泡:160

点击观看