标准英语新闻中“voa”、“bbc”、“npr”及“cnn”的区别和学习方法是什么?

标准英语新闻中“voa”、“bbc”、“npr”及“cnn”的区别和学习方法是什么?,第1张

除了BBC是英国的,其他都是美国的,具体区别如下:

VOA:美国官方国际广播电台,隶属美国新闻署。(Voice of America,简称VOA)。1942 年创立 ,总部设在华盛顿 。

BBC:英国的BBC是指英国广播公司,是英国的一家政府资助但却独立运作的媒体,长久以来一直被认为是全球最受尊敬的媒体之一。

NPR:美国全国公共电成立于1970年,节目以新闻及综述为主。虽然名称是“公共”电台,但是它实际上是一个完全独立的广播实体。

CNN:是美国有线电视新闻网,由特纳广播公司(TBS)董事长特德·特纳于1980年6月创办,通过卫星向有线电视网和卫星电视用户提供全天候的新闻节目,总部设在美国佐治亚洲的亚特兰大。

对于英语新闻学习方法,每个人有不同的学习方法。不过就这四个来说,其本质没有差多少。多听多读多记就好了。具体方法有:

1、多听写。一边听新闻,一边记下来,然后再查单词,锻炼听写能力。

2、重视查找工作,听不出来不要急,多使用工具。

3、练习复述和翻译。把听到的内容用中文翻译出来,也可以用英文总结归纳再说一遍。

嵌牛导读:卷积神经网络(Convolutional Neural Network)最早是应用在计算机视觉当中,而如今CNN也早已应用于自然语言处理(Natural Language Processing)的各种任务。

嵌牛鼻子:卷积神经网络;池化操作;NLP。

嵌牛提问:卷积神经网络结构有哪些?什么是池化操作?应用?

嵌牛正文:

先介绍卷积神经网络中各个重要的环节。

卷积

所以这里我们首先去理解卷积神经网络中卷积的运算。这里我们以图像作为输入。比较容易理解卷积的方法是把卷积想象成作用于矩阵的一个滑动窗口函数。如下面这张图的表示。

滑动窗口又称作卷积核、滤波器或是特征检测器。图中使用3x3的卷积核,将卷积核与矩阵对应的部分逐元素相乘,然后求和。对于卷积的运算可以看下面这幅图的解释。

在不改变卷积核权重的情况下,就像拿着一只刷子一样对整个图水平垂直滑动进行卷积运算,这样输出就是经过卷积运算后的输出层。

什么是卷积神经网络

卷积神经网络其实就是多层卷积运算,然后对每层的卷积输出用非线性激活函数做转换。卷积过程中每块局部的输入区域与输出的一个神经元相连接。对每一层应用不同的卷积核,每一种卷积核其实可以理解为对的一种特征进行提取,然后将多种特征进行汇总,以下面这幅图为例,原始的input为一幅,第一层卷积过后输出层变为6@2828,所以这里的卷积核实际上用了6个,6个卷积核代表了对这一张原始的六种不同角度的特征提取(例如提取左上方的边缘线条,右下方的边缘线条等等)。feature map实际上的含义就是特征通道(或者理解为一个的不同特征),也可以说就是输出层的深度,这里就是6,然后后面每一次做卷积操作是都是要对所有的特征通道进行卷积操作以便提取出更高级的特征。

例如,在上面这幅图中,第一层CNN模型也许学会从原始像素点中检测到一些边缘线条,然后根据边缘线条在第二层检测出一些简单的形状(例如横线条,左弯曲线条,竖线条等),然后基于这些形状检测出更高级的特征,比如一个A字母的上半部分等。最后一层则是利用这些组合的高级特征进行分类。

卷积神经网络中的卷积计算实际上体现了:位置不变性和组合性。位置不变性是因为卷积核是在全图范围内平移,所以并不用关心猫究竟在的什么位置。组合性是指每个卷积核对一小块局部区域的低级特征组合形成更高级的特征表示。

卷积是如何应用到自然语言处理中

在图像中卷积核通常是对图像的一小块区域进行计算,而在文本中,一句话所构成的词向量作为输入。每一行代表一个词的词向量,所以在处理文本时,卷积核通常覆盖上下几行的词,所以此时卷积核的宽度与输入的宽度相同,通过这样的方式,我们就能够捕捉到多个连续词之间的特征,并且能够在同一类特征计算时中共享权重。下面这张图很好地诠释了刚才的讲解。

池化层

卷积神经网络的一个重要概念就是池化层,一般是在卷积层之后。池化层对输入做降采样。池化的过程实际上是对卷积层分区域求最大值或者对每个卷积层求最大值。例如,下图就是2x2窗口的最大值池化(在自然语言处理中,我们通常对整个输出做池化,每个卷积层只有一个输出值)。

为什么要进行池化操作?

池化首先是可以输出一个固定大小的矩阵,这对于自然语言处理当中输入句子的长度不一有非常大的作用。例如,如果你用了200个卷积核,并对每个输出使用最大池化,那么无论卷积核的尺寸是多大,也无论输入数据的维度或者单词个数如何变化,你都将得到一个200维的输出。这让你可以应对不同长度的句子和不同大小的卷积核,但总是得到一个相同维度的输出结果,用作最后的分类。

另外池化层在降低数据维度的同时还能够保留显著的特征。每一种卷积核都是用来检测一种特定的特征。在以句子分类中,每一种卷积核可以用来检测某一种含义的词组,如果这种类型的含义的词语出现了,该卷积核的输出值就会非常大,通过池化过程就能够尽可能地将该信息保留下来。

激活函数

有关激活函数很多细节的讲述在最后的总结会提到。

卷积神经网络结构在NLP的应用

首先我们来介绍第一篇论文《Natural Language Processing (almost) from Scratch》,该论文主要是针对原来那种man-made 的输入特征和人工特征,利用神经网络的方法自动抽取出文本句子更高级的特征用来处理自然语言处理里的各项任务,例如本文中输入是一个句子序列,输出是对句子中各个词的词性的预测。该文提出了两种方法,一种是滑动窗口的方法(window approach),另一种就是将整个句子作为输入(sentence approach)的方法,两种方法就分别对应着局部和全局的特征。模型结构如下图所示:

window approach

sentence approach

window approach 是根据某一个单词以及其附近固定长度范围内的单词对应的词向量来为单词预测标签。需要注意的是,当处理到一个句子的开始或者结尾的单词的时候,其前后窗口或许不包含单词,这时候我们需要填充技术,为前面或者后面填充象征开始或者结束的符号。

实际上基于窗口的方法已经可以解决很多常见的任务,但是如果一个单词如果非常依赖上下文的单词,且当时这个单词并不在窗口中,这时就需要sentence approach,这里所使用的卷积操作与卷积神经网络中的卷积操作基本相同。这里需要对句子中的每一个单词进行一次卷积操作,这里池化过程选择最大池化,这里认为句子中大部分的词语对该单词的意义不会有影响。

总结/Q&A

1卷积层和池化层有什么区别?

首先可以从结构上可以看出,卷积之后输出层的维度减小,深度变深。但池化层深度不变。同时池化可以把很多数据用最大值或者平均值代替。目的是降低数据量。降低训练的参数。对于输入层,当其中像素在邻域发生微小位移时,池化层的输出是不变的,从而能提升鲁棒性。而卷积则是把数据通过一个卷积核变化成特征,便于后面的分离。

2采用宽卷积的好处有什么?

通过将输入边角的值纳入到滑窗中心进行计算,以便损失更少的信息。

3卷积输出的深度与哪个部件的个数相同?

输出深度(通道)与卷积核(过滤器)的个数相等。

4激活函数通常放在卷积神经网络的那个操作之后?

通常放在卷积层之后。

5为什么激活函数通常都是采用非线性的函数?

如果网络中都采用线性函数的组合,那么线性的组合还是线性,那么使用多次线性组合就等同于使用了一次线性函数。因此采用非线性函数可以来逼近任意函数。

6非线性激活函数中sigmod函数存在哪些不足?

Sigmod函数存在饱和状态,尤其是值过大时,当进入饱和状态时,进行梯度下降计算时,很容易出现梯度消失的情况,求导的精确值不能保证。

7ReLU和SoftPlus激活函数有哪些优势?

与sigmod相比,不存在指数计算,求导计算量变小,同时缓解了过拟合的情况,一部分输出为0,减少了参数的相互依存。

对于 OCR 任务来说,目的是为了将图像中的文字识别出来,近几年的研究主要包含以下几个步骤:

目前研究主要集中在文字检测和文字识别两个任务,本文只介绍文字识别任务中的一种模型,即 CRNN+CTC Loss 方案;另外一种方案是基于 Attention 机制。主要区别在于(后续重点介绍 CTC):

CRNN 网络结构如图 2-1 所示,输入为经过文字检测的文本框(小图),输出为具体的文字内容 “state”,从下往上的结构依次为:卷积层、循环层和翻译层。

卷积层:使用深度 CNN 进行图像的局部特征提取。如图 2-2 所示,整个 CRNN 网络的层级以及参数设置。

注意: 卷积核的大小是 3x3,步长 s 和 padding 都为 1,则证明卷积层在不改变图像的尺寸大小情况下进行特征提取;池化层有四个,大小分别为 2x2、2x2、1x2、1x2,则对于图像的高度减半 16 倍,宽度减半 4 倍。然后再经过最后的 Conv 层,例如:图像的输入尺寸为 (channel, height, width) = (1, 32, 160),CNN 的输出尺寸为 (512,1,40)。

经过 CNN 层的特征图(512,1,40)是不能直接送给 LSTM 进行训练的,通过对特征图中的 40 作为特征向量的序列数,每列包含 512 维特征,构成了 40x512 大小的维度矩阵,输入到 LSTM 网络中。论文 [5] 中提到:

使用双向的 LSTM 进行时序特征的提取,通过上一步,输入到 LSTM 的特征大小为(40x512),每个 LSTM 的时间步为 40,每个时间点的特征维度为 512。LSTM 网络的目标:预测每个时间步的字符内容,即输出为所有字符的 softmax 概率分布,然后将这个后验概率矩阵传入 CTC 层。

总结为:

对于 LSTM,正常使用多分类的交叉熵进行训练,完成参数更新,则每一时间步的输出对应一个字符,也就意味着训练时候每张样本都需要标记出每个字符在中的位置。但是实际上是不可能实现的,所以 CTC 提出一种对不需要对齐的 Loss 计算方法,用于训练网络,被广泛应用于文本行识别和语音识别中。

对于输入 X 和 输出标签 Y 长度都不一致且变换的情况,CTC 提供解决方案为:对于一个给定的输入序列 X ,CTC 给出所有可能的输出分布 Y。根据这个分布,我们可以输出最可能的结果或者给出某个输出的概率。

RNN 进行时序分类时,不可避免出现冗余信息,如图 3-1 所示,5 个时间步分别被识别为 [a,a,a,b,b],然后将重复的字符合并为 “ab”,但是对于如 book 等字符,合并字符后变成了 bok ,显然不行,所以 CTC 使用 blank 机制解决这个问题。

定义一条路径 的输出概率为:

其中, 代表 时间步为 t 时刻的输出概率,使用连乘的方式得出整条路径的概率值。但是存在多条路径经过上一步的合并冗余机制得到相同的路径结果,如(“a-a-a-b-b”和“aa-aa-a-b-b-”通过合并序列之后都为“aaabb”),所以定义:

其中, 代表合并之后的路径,由所有合并之后的相同路径求和所得。常规解法是将所有的合法路径输出概率,然后进行求和,但是实际上路径组合数量非常大,无法逐条求和直接计算 。

借用概率图 HMM 的 “向前-向后” 算法计算:

训练的目的在于最大化概率 ,使用对数似然法定义损失函数为:

递推公式为:

对于递推公式的解释说明,可以看到 X 轴代表时间步,z 轴代表输出的字符串,输出标签为“ZOO”:

上图主要分为以下两种情况:

递推公式为,解释见前向:

得到了前向和后向概率,将其概率相乘再经过转化,就可以计算 的概率,公式如下:

对于 来说,可以表示为每个时间步输出 label 的概率之和,因为上面的公式都是在 这一点进行前向和后向概率的计算。

为计算每个时刻每个因素的梯度: 观察公式 7 中右端求各项,仅有 的项包含 ,其他项的偏导都为 0,不用考虑,于是有:

公式 8 中,分子第一项是因为 中包含为两个 乘积项(即 ),其他均为与 无关的常数。 中可能包含多个 字符,它们计算的梯度要进行累加,因此,最后的梯度计算结果为:

通过对对数似然进行求导,梯度计算如下:

其中, 通过前向计算可得,就是最后输出为 "-" 或者最后一个 的前向概率值: 。其中,由于某时刻某因素的前向和后向概率都已经求出,都为常数,故此梯度计算完成,通过优化算法进行参数调整即可。

预测就是找到概率值最大的路径,目前存在两种方案:一是 Greedy Search,二是 Beam Search。

用CNN卷积的情况,这里面有几个关键点:

一个是文本跟不一样,有长宽,然后还有深度(RGB)。对应到文本上,假设文章总共N个词,每个词嵌入维度K维,那么输入是N

K的,N可以理解为高度,K作为长度,深度为1。那么卷积的时候的特征抽取器(filter)高度h一般设置多大呢?

一般可以从3开始,表示捕获住trigram特征。

更多的是使用几种不同的filter(比如有高度各为2,3,5的)。 特征抽取器(filter)的长度一般设置为词向量的维度,这样保证每个filter抽取出来一个N-h+1个特征点,而不是一个平面(想想为什么)。

最重要的,在文本上work的pooling层一般是max-pooling,对每个filter应用整个序列上的max-pooling得到一个特征点(也有用k-max-pooling得到k个点),组合多个filter就能得到一系列特征,最后一个全连接层做分类。

这里为什么是max-pooling而不是min-pooling呢?一般来说,pooling后我们引入非线性是用Relu,relu对于小于0的直接就不激活了。

然后我们对比图像的深度,文本一般深度只有一个,如何增加深度以及为什么增加呢?

一般我们的词向量都是先预训练出来的,然后在一个特定任务上使用,梯度会回传回来进一步finetune,如果语料不是特别大,这个finetune过程只会对部分词进行更新,有些词就一直不动,这样在测试阶段,出现那些没finetune到的词就会有所偏差。我们可以同时使用两份词向量(相当于通道数为2,深度加深为2),一份finetune一份静态地不更新,来缓解前面提到的问题。

二)

对于RNN做文本分类,相当于把每个词作为一个时间节点,把词向量作为每个单元的输入特征,一般会组合前向以及后向来构成双向特征,计算后每个单元有个状态特征以及输出特征,文本分类一般组合每一个单元的输出特征求个平均喂给全连接层来做分类。

求平均这个操作可以替换为更通用的注意力机制,复杂度更高点,效果更好。

复杂点的模型会分层来做,句子界别的rnn然后attention,最后文档级别在前一层的基础上再rnn+attention,效果据说能更进一步提升。

CNN是美国有线新闻网的简称,Cable

News

Network

,以提供即时电视新闻报导而闻名

“做人不能CNN!”的意思就是,做人不能象美国有线新闻网那样无知、无德、无耻

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/qinggan/744955.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-08
下一篇2023-07-08

发表评论

登录后才能评论

评论列表(0条)

    保存