人工智能知识点笔记(Part 1)

人工智能

机器学习/深度学习

在人工智能领域,有一种方法叫机器学习。在机器学习里,有一类算法叫神经网络(如下图所示)。

上图中每个圆圈都是一个神经元,每条线表示神经元之间的连接。上面的神经元被分成多层,层与层之间的神经元有连接,而层之间的神经元没有连接。最左边的叫做输入层,这层负责接收输入数据;最右边的层叫输出层,可以从这层获取神经网络输出数据。输入层和输出层之间的叫做隐藏层。隐藏层比较多(大于 2)的神经网络叫做深度神经网络。而深度学习,就是使用深层架构(比如,深度神经网络)的机器学习方法

感知器

神经元也叫做感知器。一个感知器定义(如下图):

可以看到,一个感知器有如下组成部分:

  • 输入权值 一个感知器可以接受多个输入(x_1, x_, …, x_n | x_i \in \Re),每个输入上有一个权值w_i \in \Re,此外还有一个偏置项 b \in \Re,就是上图中的w_0

  • 激活函数 感知器的激活函数可以有很多选择,比如我们可以选择下面这个阶跃函数f来作为激活函数:

    f(z) = \begin{cases}
    1 & z>0 \\
    0 & otherwise
    \end{cases}
  • 输出 感知器的输出由下面这个公式来计算

    y = f(w \cdot x + b)

感知器的训练

感知器的训练算法可以训练得到权重项和偏置项,通常将权重项和偏置项初始化为 0,然后利用下面的感知器规则迭代修改w_ib,直到训练完成:

w_i \leftarrow w_i + \Delta w_i \\
b \leftarrow b + \Delta b

其中:

\Delta w_i = \eta (t-y)x_i \\
\Delta b = \eta(t-y)

w_i是与输入x_i对应的权重项,b是偏置项。事实上,可以把b看作是值永远为 1 的输入x_b所对应的权重。t是训练样本的实际值,一般称之为label。而y是感知器的输出值,它是根据公式计算得到的。\eta是一个称为学习速率的常数,其作用是控制每一步调整权的幅度。

每次从训练数据中取出一个样本的输入向量x,使用感知器计算其输出y,再根据上面的规则来调整权重。每处理一个样本就调整一次权重。经过多轮迭代后(即全部的训练数据被反复处理多轮),就可以训练出感知器的权重,使之实现目标函数。

神经网络与深度学习

邱锡鹏

绪论

  • 深度学习(Deep Learning)是机器学习的一个分支,是指一类问题以及解决这类问题的方法
    • 指从有限样例中,通过算法总结出一般性的规律,并可以应用到新的未知数据上。
  • 与传统的机器学习不同,深度学习采用的模型一般比较复杂,指样本的原始输入到输出目标之间的数据流经过多个线性或非线性组件(components)。
    • 因为每个组件都会对信息进行加工,并进而影响后续的组件。当我们最后得到输出结果时,并不清楚其中每个组件的贡献是多少。这个问题叫做 贡献度分配问题(Credit Assignment Problem, CAP)。
      • 贡献度分配问题也经常翻译为信用分配问题功劳分配问题
    • 在深度学习中,贡献度分配问题是一个很关键的问题,关系到如何学习每个组件中的参数。
  • 目前,比较好的解决贡献度分配问题的模型是 人工神经网络(Artifical Neural Network,ANN)。
    • 人工神经网络,简称 神经网络,是一种受人脑神经系统的工作方式启发而构造的一种数学模型。
    • 和目前计算的结构不同,人脑神经系统是有一个由生物神经元组成的高度复杂网络,是一个并行的非线性信息处理系统。
    • 和人脑神经网络类似,人工神经网络是由人工神经元以及神经元之间的连接构成,其中有两类特殊的神经元:一类用来接收外部的信息,另一类是输出信息。这样,神经网络可以看作是信息从输入到输出的信息处理系统。如果我们把神经网络看作是由一组参数控制的复杂函数,并用来处理一些模式识别任务(比如语音识别、人脸识别等)时,神经网络的参数可以通过机器学习的方式来从数据中学习。由于神经网络模型一般比较复杂,从输入到输出的信息传递路径一般比较长,所
      以复杂神经网络的学习可以看成是一种深度的机器学习,即深度学习。
    • 神经网络和深度学习并不等价。深度学习可以采用神经网络模型,也可以采用其它模型(比如深度信念网络是一种概率图模型)。但是由于神经网络模型可以比较容易地解决贡献度分配问题,因此神经网络模型成为深度学习中主要采用的模型。