深度学习简介

  • 深度学习的发展趋势以及应用领域

图1

        深度学习从2012年~2016年期间,使用的人数呈现上升的趋势。同时,深度学习可以被应用于很多领域:Android, NLP, 语音识别等。

  • 深度学习的发展历程

• 1958: Perceptron (linear model)
1969: Perceptron has limitation
• 1980s: Multi-layer perceptron
   • Do not have significant difference from DNN today
• 1986: Backpropagation
   • Usually more than 3 hidden layers is not helpful •
• 1989: 1 hidden layer is “good enough”, why deep?
• 2006: RBM initialization (breakthrough)
• 2009: GPU
• 2011: Start to be popular in speech recognition(开始应用于语音识别)
• 2012: win ILSVRC image competition(开始应用于图像识别)

  •  深度学习的三步骤

图2

Step1 Neural Network
首先,简单介绍一下神经网络(神经网络主要包括输入,隐藏与输出层。其中,隐藏与输出的每个小圆圈表示一个神经元,如图6所示)

图3

图3所示,是一个神经网络的例子。输入: 将用户现有数据的特征值经过处理作为输入(例如:图像->向量);紧接着,经过隐藏层单元的逐层处理(处理方式见图4),最后输出y。(隐藏层单元 与 输出单元的每个小圆圈被称为一个神经元[因为这些单元对“输入”数据进行了处理])。

图4

如图4所示,当用户输入数据为[1,-1] 权重矩阵为[1,-1; -2,1] 偏置为[4,-2] 激活函数为sigmoid函数 时,第一个隐藏层的输出为[0.98,0,12] = segma([1,-1]*[1,-1; -2,1]+[4,-2]),然后将[0.98,0.12]作为输入,按照 segma(输入*权重+偏置)计算第二个隐藏层的输出,依次类推,直到计算出最终的输出y为止。最终结果如图5所示,你算对了吗?

图5

图6

图7所示,为所谓的深度神经网络。所谓的深,即隐藏层的个数比较多。

图7 

应用案例

图8 

如图8所示,假设用户当前要做图片分类的任务。首先,要做的是将图片读取到并转换为向量(图像2为16pixels*16pixels的,可以将其转换为256*1的向量[1通道],分别记为x1, ..., x256);其次,将x1, ..., x256作为输入,经过神经网络,得出当前输入为0, ..., 9的概率,选取概率最大的数字,作为当前数字的识别结果。

图9

图9的神经网络结构可以是如图10标红区域所示

图10

Step 2. goodness of function

图11

图11所示,我们的目标是识别数字1,实际的label(10*1)向量为[1, 0, ..., 0]^T,经过我们的神经网络得到的结果为[y1, y2, ..., y10]^T。因此,我们计算实际值与估测值的Cross Entropy,因为训练数据不止有一条,每条训练数据可以得到1个Cross Entropy(图12)。最终,我们将这些Cross Entropy值求和,作为测试集的代价函数L(Lost Function)。

图12

Step3: Pick the best function

接下来,我们需要利用梯度下降法优化参数,从而得到最优模型。

图13

图13所示,每次按照梯度下降优化一组参数。最终,使得模型在训练数据集中得到比较好的效果。关于在测试集上的效果,读者可以通过自己尝试总结。

猜你喜欢

转载自blog.csdn.net/guxunshe5199/article/details/81179732