目录

1 人工智能,机器学习与深度学习的关系

2 神经元

3  感知机

4  神经网络

4.1  全连接层

4.2  激活函数


1 人工智能,机器学习与深度学习的关系

深度学习是机器学习的分支之一,以人工神经网络为架构对数据进行特征学习

embedding层和全连接层_感知机

深度学习会自动进行特征抽取,与机器学习在使用上的区别是,深度学习不需要复杂的建模与人工特征提取,只需要创建神经网络,然后对神经网络进行调参

embedding层和全连接层_激活函数_02

深度学习的数据量比起机器学习多得多

pytorch与numpy都是facebook的框架,所以两者的语法相似,相比tensorflow的语法会简单些

2 神经元

神经元是神经网络中的基础单元,神经源相互连接组成神经网络,如果神经元接收的信号达到某一阈值,那么该神经元就会处于"兴奋"状态,从而向下一个神经元传递某些信息

将上面的过程抽象程简单的模型,就是沿用至今的M-P神经元模型,像这样

embedding层和全连接层_激活函数_03

  • a是输入
  • w的权重
  • b是偏置
  • sum是神经元
  • f是激活函数,激活函数可以看作神经元兴奋的条件
  • t是输出,输出是一个标量

多个神经元组成单层神经网络

embedding层和全连接层_python_04

每一个神经元的输入是一个向量,输入是一个标量。一层有多个神经元产生多个标量,所以但层神经元的输出是一个向量,向量的维数是神经元的数目

3  感知机

感知机由两层神经网络组成,下面这个图就是一个感知机

embedding层和全连接层_embedding层和全连接层_05

如果我们将下图左侧的小点当作输入层,中间的大点儿当作输出层,那么下面这张图有三个感知机

embedding层和全连接层_感知机_06

感知机可以把n为向量空间用一个超平面分割成两部分来判断结果。这里注意是两部分,一个神经网络有若干个感知机构成,也就是说神经网络从多个二分类结果中得到最终的结果。超平面可以这样理解,如果一张图上有若干个点,可以用一条曲线给若干个点分类,如果若干个点在一个体中,那么就需要用一个平面将其分类

4  神经网络

神经网络就是像下面这样的东西,每一层的神经元不定,神经网络分为输入层,输出层与隐藏层,中间的是隐藏层

embedding层和全连接层_神经网络_07

4.1  全连接层

关于输出层与隐藏层有全连接层的概念。如果当前层与前一层的所有神经元都有连接,那么我们称该层为全连接层。就像下图这个样子,我们称右侧的层位全连接层

embedding层和全连接层_激活函数_08

如果左侧层有m个神经元,右侧层n个神经元,且n为全连接层,那么左侧与右侧之间一共有m*n个w参数

因为如果右侧层为全连接层,一个左侧的神经元就会有n个w参数,左侧一共有m个神经元,所以左侧与右侧之间一共有m*n个w参数

4.2  激活函数

激活函数是一个非线性的函数,如果没有激活函数 感知机 会以线性曲线(可理解为直线)进行分类

embedding层和全连接层_embedding层和全连接层_09

加入激活函数后,感知机会以非线性曲线进行分类

embedding层和全连接层_python_10

除了增加非线性分割能力外,还可以提高模型鲁棒性,缓解梯度消失,加速模型收敛

这些是常用的激活函数

embedding层和全连接层_embedding层和全连接层_11