• Week 5 - Neural Networks and Neural Language Models


    一、Introduction to Neural Networks (NNs)

    1、人工神经网络的定义

    •  人工神经网络(英语:Artificial Neural Network,ANN),简称神经网络(Neural Network,NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型,用于对函数进行估计或近似。
    • 和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,例如机器视觉和语音识别。这些问题都是很难被传统基于规则的编程所解决的

    2、神经元定义

            神经元是人工神经网路中最小的结构。 在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值”,那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。 

            1943 年,McCulloch 和 Pitts 将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的 M-P 神经元模型。把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。一个简单的神经元如下图所示:

    3、激活函数(Activation function) 

    (1)常见的激活函数

    看图可知:

    • sigmoid 只会输出正数,以及靠近0的输出变化率最大
    • tanh和sigmoid不同的是,tanh输出可以是负数
    • Relu是输入只能大于0,如果你输入含有负数,Relu就不适合,如果你的输入是图片格式,Relu就挺常用的,因为图片的像素值作为输入时取值为[0,255]。

     (2)激活函数的作用

    • 增加模型的非线性分割能力
    • 提高模型鲁棒性

    • 缓解梯度消失问题

    • 加速模型收敛等

    (3)激活函数的例子

    通过不带激活函数的感知机(一层或者两层神经网络)模型我们可以划出一条线, 把平面分割开:

     但是如果此时,我们在前面感知机的基础上加上非线性的激活函数之后,输出的结果就不在是一条直线  :

    4、单层、双层、多层神经网络

    参考之前文章: Week 5 Image Classification、Bag of Visual Words (Bag of Features) and Multi-Layer Neural Networks_金州饿霸的博客-CSDN博客

    二、Neural Classifier

    1、Binary Classifier(二分类)

    (1)具体步骤

    • 通过输入x1,x2,x3
    • 然后经过神经元的处理,计算w1*x2 + w2*x2 + w3*x3的值
    • 把计算结果代入sigmoid函数,sigmoid函数如下图
    • 得出一个输出,这个输出就是判断某一个分类的概率

    (2)举个例子:
    假设,让这个神经网络去判断一个学生是不是好学生。
    我们设x1表示学生的成绩、x2表示学生的体能、x3表示这个学生玩游戏厉不厉害,

    w1表示老师对此学生的x1成绩的支持程度,w2表示老师对此学生x2的支持程度,w3表示老师对此学生x3的支持程度,如果w权重是小于0的,表示老师对此学生的某个品质持反对态度,否则持支持态度。

    小明的品质:x = [3, 2, 4]

    小明的老师:w = [2, 1, -5]

    小明的老师以 w权重的标准去评价小明是不是好学生,可见,小明的老师对小明打游戏这个行为是嫉恶如仇的,其实小明学习还不错,绩点3.0,体能也不错及格2.0,打撸啊撸玩吃鸡就牛逼了,上4.0的战绩了。

    那么老师对小明的评价是: 3*2 + 2*1 + 4*(-5) = -12

    代入sigmoid函数以后,f(x) = 1 / (1 + e^12) ,显然,f(x)的值是很小的,肯定小于0.5了那么小明有很小的概率被老师评价为好学生

    (3)二分类结构图

    注意在score输出前要用softmax把它转成概率向量:

     2、Loss Function-Cross-Entropy

    三、Training NNs

    四、The challenge of statistical language modelling

    1、LM评价指标——困惑度(Perplexity)

    困惑度(Perplexity, PP)用来评估一个语言模型的好坏。我们知道语言模型是用来计算一个句子的概率,但实际中,我们不会使用原始的概率作为语言模型的度量。

    (1)困惑度公式

     

    2、n-gram models的局限性

    • 对于捕获远程依赖关系无效
    • 难以解释生词
    • 没有自然的方式来结合词之间的隐含相似性
    • 维度灾难(参数数量呈指数增长)

     

    五、Feedforward NN Language Models

    六、Recurrent Neural Networks (RNNs)

    七、RNN Language Models

    八、A few important papers

  • 相关阅读:
    WangEditor的toobar支持的key
    【数据结构】链表与LinkedList
    codeblock安装及汉化教程
    C++模版初阶
    智联招聘的基于 Nebula Graph 的推荐实践分享
    (王道考研计算机网络)第四章网络层-第五节3:BGP协议
    Python-----for循环基本语法及其应用---对序列进行遍历循环
    图像超分综述:超长文一网打尽图像超分的前世今生 (附核心代码)
    c语言 编程及答案
    7z命令行
  • 原文地址:https://blog.csdn.net/wangjian530/article/details/125885035