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

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

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

神经网络:由多个感知机组成的网络。 

感知机:仿射函数的和加上 bias T 得到的值和阈值作比较

仿射和线性的区别:

线性函数:过原点,即f(0) = 0
仿射函数:有偏置,因此不过原点,即当仿射的常数项为 0 的时候为线性函数

阈值,也即神经网络的激活函数可以选择的有,sigmoid,softmax,relu等

deep:一个有向图,从源到接收器的**最长的**长度就是“深度”

网络的深度:网络中每一个输入信号在抵达output时必须经历的最长的过程

处理一个问题,需要超过两个以上的神经元则称该网络为“deep network"

神经网络拟合函数:


1. as a Boolean function

MLP 可以 model any boolean function

只要一层(即没有隐藏层)的神经网络即可表示与门,或门,非门。

而在基础门的前提下,只要再增加一层隐藏函数既可以表示任意 boolean 函数

比如说,增加了一层隐藏层,该层由两个或门感知机组成,一个或门的阈值为1,一个为-1,即可表示 XOR boolean function 


但是在数据维度增加的时候,只有一层隐藏层的神经网络的系数将会呈指数级的增长。

这个时候可以通过增加神经网络的深度来使得指数由指数增长变为线性增长。



## Boolean Function 参考知识
DNF公式:[Disjunctive normal form](https://zh.wikipedia.org/wiki/%E6%9E%90%E5%8F%96%E8%8C%83%E5%BC%8F) 析取范式:析取作为最外层,其他的算子只能作为内层,同样的还有合取范式CNF

[卡诺图](https://zh.wikipedia.org/wiki/%E5%8D%A1%E8%AF%BA%E5%9B%BE):真值表的变形,可以将有 n 个变量的逻辑函数的 2^n 个**最小项**组织在给定的长方形表格中。同时为相邻最小项(相邻与(and)项运用邻接律化简提供了直观的图形工具。在部分情况下,卡诺图能让逻辑变得一目了然,但是如果需要处理的逻辑函数的自变量比较多,则卡诺图会变得更加复杂

[真值表](https://zh.wikipedia.org/wiki/%E7%9C%9F%E5%80%BC%E8%A1%A8):列是逻辑的基本操作的取值,而其中某一列或某几列是前面的列取值的结果,即满足 Y = A O B 的表达式,其中 O 表示的是某一种 boolean 表达式

[展开全文]

这就是一个感知器,作为一个阈元件,如果加权和大于某个临界值,则向下传递,否则不会。

从源到接收的最长路径就是图的深度,从输入到输出最大数量的神经元,称为神经网络的深度。如果超过两个神经元,则称此神经网络为深度神经网络。deep>2

MLP可以搭建任意布尔函数,不限类型的布尔函数。所以MLP又称为通用布尔函数。单一的神经元可以成为布尔开关。

一个隐藏层,两层的网络即可以组成任意的布尔函数。通常情况下,n个变量的XOR可能需要2n-1个感知机,然后你会需要指数级别数量的感知机,当你使用一个隐藏层的时候,这将仅仅使用一个线性数量的。这就是深度的作用。所以建议大家考虑增加层数。如果给所使用的层数设置一个上限,那么宽度将是指数级别的宽。那样电路将是最坏的情况。

布尔MLP如果只使用一层隐藏层的话,或者是限定层数,单元数将是指数型的大。我们还会有更加复杂的函数,不同的函数要求不同的深度。

[展开全文]

1阈值T到sigmol函数的转变。以及更多的激活函数,relu等

2deeply的定义?

Multi-layer perception

3.多层神经网络,可以拟合实现,所有基本的逻辑门运算,以及函数等。

4.两层隐含层的网路可以拟合任何boolean运算。

5.真值表,truth table

6.DNF? expressed disjunctive normal form. 

7.karnaugh Map. to . truth map

8. 2^n-1个perceptrons  in the hidden layer 对应 2n-1,甚至,2log2(n).

9宽度和深度,宽度是指数级的增加。

10.神经网络的参数个数的问题,网络深度决定于函数,

[展开全文]

 线性特质:

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

f(x)=西格玛求和xi+b,b不为零时,不过原点。

阈值使用激励函数进行平滑0,1的输出,比如sigmod,tanh,rl等函数。

 

 多层感知机作为一个通用的布尔函数,作为一个通用的分类器,作为一个通用的函数模拟器。这些机制在前面已经提到,深度学习的机制从这里展开。

 

首先是布尔函数的表达,单层表达布尔开关,多二层(一层隐藏层)表达所有的布尔表达式。如图:

 其中每个真值表里的真值可以用析取范式表达,而每个析取范式可以在隐藏层中的某一个节点与输入(x1到x5)的链接表达。因此两层足够表达表结构。而隐藏层的感知节点数通常在最坏情况下是为2的n-1次方,n为输入量,是指数关系。这时需要加深层次去削减节点,n个输入的异或操作使用3(n-1)个节点就可以了,而层数为2log2N。这里就需要对层数和节点数做个权衡,这里并不是那种深度固定的问题。

 

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)。

该笔记来自:2.1:神经网络作为通用逼近器

 

 

 

 

[展开全文]

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.

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

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

[展开全文]

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

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

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

2、仿射和线性的区别

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

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

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

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

[展开全文]
  1. 深度神经网络中的深度是什么意思?
  • 从源节点到目的节点的最长的路径长度

2. 感知机  一个神经元节点

3. 多层神经元可以模拟任何连续的函数

4. 一个感知机可以模拟任何简单的二元布尔运算

5. 多层感知机可以模拟任何复杂的布尔函数

6. 一个隐藏层神经网络 is Universal Boolean Function

7. 

[展开全文]

神经元: 放射变换(带bias)+ 符号运算

 

activation : relu、tanh、sigmoid

deep:dag最长路径 

mlp: bool运算、实数运算

模拟一个真值表需要多深的网络,单层网络参数多2的n次方级别

多层网络logn,

固定层数网络 c*n

 

 

[展开全文]

第三课笔记:

1.NNet有很广的应用。

2.线性和仿射的关系

3.神经网络深度的概念,(从源到接受机的最大深度)

4.理论上一层隐层感知机(共两层的神经网)就可表示任意布尔函数,但是对于复杂的函数,仅一层隐层会需要很多的节点。

5.于是,对于上述问题,通过加大MLP的深度,可以降低所需节点的个数。

6.老师讲课中提到的两门有关课程:

图论

复杂性理论  

[展开全文]

进入小组观看课程

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

SMART Lab学习小组

成员:1泡泡:0

点击观看
生物医学小分队

成员:164泡泡:67

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

成员:278泡泡:160

点击观看