李宏毅机器学习笔记——06.Brief Introduction of Deep Learning

2.7号作的笔记,现在回来单纯看导图是否能理解,如果过了一个月之后呢?

介绍了神经元,神经网络的结构,并以手写识别作为一个实例讲解神经网络,最后引出如何确定神经网络层数、神经元个数以及如何设计神经网络结构等问题。

更新:

20180502,回顾,增加详细内容

1.神经元

示例中使用logistic的sigmoid function作为激活函数,但是目前很少用sigmoid 作为激活函数了。

2.神经网络结构

结构,fully connected feedforward network(全连接反馈网络)是一种典型机构,输出作为下一层的输入,结构即定义了模型(函数集),layer数量,以及每个layer有可以有多个neural,决定了神经网络的结构。

输入、weight、bias作为matrix进行运算,gpu主要用于矩阵运算,可以提高运算速度。

hidden layers看作是特征提取(类似机器学习中的特征工程的作用)

hidden layers的输出作为output layer的输入,hidden layers提取出可用来分类的属性,output layer看作是多类分类器。

1525274040415

output layer也会加上softmax层,归一化指数函数,压缩到0至1,相加的和为1。【很像对每个数据评分,变化为权重】

3.示例-手写识别

3.1模型

图片用256个像素(256维的向量)输入,输出用10维(0-10的几率)向量表示,输入和输出直接的function就是神经网络。

1525274359430

如何确定网络结构(layer数和layer中neural数)?

经验和直觉。非DL(ML)转到DL,在ML要得到好的结果,一般做feature transform(特征工程找到好的feature),在DL中不要找好的feature,DL可以直接输入(hidden layer做了这件事,因此需要去设计hidder layer的结构,即是ML中的特征工程问题在DL中转化为了神经网络结构设计的问题),DL更适用于图像识别、语言识别(不易于提取feature),此时就去设计神经网络结构。

3.2 loss function

交叉熵

1525276333597

样本交叉熵之和为total loss,找到合适的参数,最小化total loss

1525276433083

3.3 算法

梯度下降,在DL中使用工具来计算Lw\dfrac {\partial L}{\partial w},原理是backpropagation