baike.aiufida.com 小编在本篇文章中要讲解的知识是有关lstm是谁发明的和的内容,详细请大家根据目录进行查阅。
文章目录:
- 1、神经网络的来源
- 2、王增杰和李青翔谁厉害
- 3、RNN的研究发展过程
神经网络的来源
神经网络技术起源于上世纪五、六十年代,当时叫 感知机 (perceptron),包含有输入层、输出层和一个隐藏层。输入的特征向量通过隐藏层变换到达输出层,由输出层得到分类结果。但早期的单层感知机存在一个严重的问题——它对稍微复杂一些的函数都无能为力(如异或操作)。直到上世纪八十年代才被Hition、Rumelhart等人发明的多层感知机克服,就是具有多层隐藏层的感知机。
多层感知机可以摆脱早期离散传输函数的束缚,使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。这就是现在所说的神经网络NN。
神经网络的层数直接决定了它对现实的刻画能力 ——利用每层更少的神经元拟合更加复杂的函数。但问题出现了——随着神经网络层数的加深, 优化函数越来越容易陷入局部最优解 ,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。同时,另一个不可忽略的问题是随着网络层数增加, “梯度消失”现象更加严重 。(具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。)
2006年,Hition提出了深度学习的概念,引发了深度学习的热潮。具体是利用预训练的方式缓解了局部最优解的问题,将隐藏层增加到了7层,实现了真正意义上的“深度”。
DNN形成
为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。结构跟多层感知机一样,如下图所示:
我们看到 全连接DNN的结构里下层神经元和所有上层神经元都能够形成连接,从而导致参数数量膨胀 。假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有10^12个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。
CNN形成
雹陵 由于图像中存在固有的局部模式(如人脸中的眼睛、鼻子、嘴巴等),所以将图像处理和神将网络结合引出卷积神经网络CNN。CNN是通过卷积核将上下层进行链接,同一个卷积核在所有图像中是共享的,图像通过卷积操作后仍然保留原先的位置关系。
通过一个例子简单说明卷积神经网络的结构。假设我们需要识别一幅彩色图像,这幅图像具有四个通道ARGB(透明度和红绿蓝,对应了四幅相同大小的图像),假设卷积核大小为100*100,共使用100个卷积核w1到w100(从直觉来看,每个卷积核应该学习到不同的结构特征)。
用w1在ARGB图像上进行卷积操作,可以得到隐含层的第一幅图像;这幅隐含层图像左上角第一个像素是四幅输入图像左上角100*100区域内像素的加权求和,以此类推。
同理,算上其他卷积核,隐含层对应100幅“图像野拦”。每幅图像对是对原始图像中不同特征的响应。按照这样的结构继续传递下去。CNN中还有max-pooling等操作进一步提高鲁棒性。
注意到最后一层实际上是一个全连接层,在这个例子里,我们注意到输入层到隐藏层的参数瞬间降低到了100*100*100=10^6个!这使得我们能够用已有的源脊戚训练数据得到良好的模型。题主所说的适用于图像识别,正是由于CNN模型限制参数了个数并挖掘了局部结构的这个特点。顺着同样的思路,利用语音语谱结构中的局部信息,CNN照样能应用在语音识别中。
RNN形成
DNN无法对时间序列上的变化进行建模。然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。为了适应这种需求,就出现了大家所说的另一种神经网络结构——循环神经网络RNN。
在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被成为前向神经网络(Feed-forward Neural Networks)。而在RNN中,神经元的输出可以在下一个时间段直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!表示成图就是这样的:
为方便分析,按照时间段展开如下图所示:
(t+1)时刻网络的最终结果O(t+1)是该时刻输入和所有历史共同作用的结果!这就达到了对时间序列建模的目的。RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度!正如我们上面所说,“梯度消失”现象又要出现了,只不过这次发生在时间轴上。
所以RNN存在无法解决长时依赖的问题。为解决上述问题,提出了LSTM(长短时记忆单元),通过cell门开关实现时间上的记忆功能,并防止梯度消失,LSTM单元结构如下图所示:
除了DNN、CNN、RNN、ResNet(深度残差)、LSTM之外,还有很多其他结构的神经网络。如因为在序列信号分析中,如果我能预知未来,对识别一定也是有所帮助的。因此就有了双向RNN、双向LSTM,同时利用历史和未来的信息。
事实上,不论是哪种网络,他们在实际应用中常常都混合着使用,比如CNN和RNN在上层输出之前往往会接上全连接层,很难说某个网络到底属于哪个类别。不难想象随着深度学习热度的延续,更灵活的组合方式、更多的网络结构将被发展出来。
参考链接:
王增杰和李青翔谁厉害
王增杰和李青翔都是在人工智能领域有很高造诣的专家,他们各自在不同的领域有显著的贡献和成就。因此无法进行简单的比较和判断谁更厉害。以下是他们各自的一些成就和贡献:
王增杰:
- 中国科学院院士,清华大学计算机科学与技术系教授,是中国深度学习领域的开拓者之一;
- 提出了一种基于循环神经网络的语言模型,称为LSTM,为解决长序列数据的建模扮察问题作出了巨大贡献;
- 为推动中国在深度学习和人工智能领域的发展做出了重要贡献,厅州茄并被誉为“中国人工智能之父”。
李青翔:
- 美国斯坦福大学教授,IEEE Fellow、ACM Fellow,国际计算机视觉领域的知名专家;
- 提出了一种基于图像配准技术的结构光三维重建方法,并发表了多篇相关论文,成为该领域的标志性成果;
- 曾在PASCAL VOC、迹友ILSVRC等计算机视觉领域比赛中多次获得冠军,同时也在业界担任多个重要职务,推动了计算机视觉和人工智能的快速发展。
总之,两位专家都是在人工智能领域有很高造诣的专家,各自在不同的领域有着显著的贡献和成就。
RNN的研究发展过程
1982年,美国加州理工学院物理学家John hopfield 发明了一种单层反馈神经网络 Hopfield network,用来解决组合优化问题。这是最早的RNN的雏形。86年,michael I. Jordan 定义了recurrent的概念,提出 Jordan network。1990年, 美国认知科学家Jeffrey L. Elman 对jordan network进行了简化,并采用BP算法进行训练,便有了如今最简单的包含单个自连接节点的RNN 模型。但此时RNN由于梯度消失(gradient vanishing)及梯度爆炸(gradient exploding)的问题,训练非常困难,应用非常受限。直到1997年,人工智能研究所的主任Jurgen Schmidhuber 提出长短期记忆(LSTM),LSTM使用门控单元及梁纯记忆机制大大缓解了早期RNN训练的问题。同样在1997年,Mike Schuster 提出双向RNN模型(Bidirectional RNN)。这两种模型大大改进了早期RNN结构,拓宽了RNN的应用范围,为后续序列建模的发展奠定了基础。此时RNN虽然在一些序列建模任务上取得了不错的效果,但由于计算资源消耗大,后续几年一直没有太大的进展。
2010年,Tomas Mikolov对bengio提出的feedforward Neural network language model (NNLM) 进行了改进,提出了基于RNN的语言模型(RNN LM),并将其用在语音识别任务中,大幅提升了识别精度。再此基础上Tomas Mikolov于2013年提出了大名鼎鼎的word2vec,与NNLM及RNNLM不同,返大word2vec的目标不再专注于建模语言模型,而是如何利用语言模型学习每个单词的语义化向量(distributed representation),其中distributed representation概念最早要来源于Hinton 1986年的工作。Word2vec引发了深度学习在自然语言处理领域的浪潮,除此之外还启发了knowledge representation,network representation等新的领域。
另一方面,2014年,Bengio团队与google几乎同时提出了seq2seq架构,将RNN用于机器翻译。没过多久,Bengio团队又提出attention机制,对seq2seq架构进行改进。自此机器翻译全面进入到神经机器翻译(NMT)的时代,NMT不仅过程简单,而且效果要远超统计机器翻译的效果。目前主流的机器翻译系统几乎都采用了神经机器翻译的技术。除此之外,attention机制也被广泛用于基于深度学习的各种任务中。
近两年,相关领域仍有一些突破性进展,2017年,facebook人工智能实验室提出基于卷积神经网络的seq2seq架构,将rnn替换为带有门控单元的cnn,提升效果的同时大幅加快了模型训练速度,此后不久,google提出transformer架构,使用self-attention代替原有的RNN及CNN,更进一步降低了模型复杂度。在词表示学习方面,Allen人工智能研究所2018年提出上下文橡世咐相关的表示学习方法ELMo,利用双向LSTM语言模型对不同语境下的单词学习不同的向量表示,在6个nlp任务上取得了提升。OpenAI团队在此基础上提出预训练模型GPT,把LSTM替换为transformer来训练语言模型,在应用到具体任务时,与之前学习词向量当作特征的方式不同,GPT直接在预训练得到的语言模型最后一层接上softmax作为任务输出层,然后再对模型进行微调,在多项任务上GPT取得了更好的效果。不久之后,Google提出BERT模型,将GPT中的单向语言模型拓展为双向语言模型(Masked Language Model),并在预训练中引入了sentence prediction任务。BERT模型在11个任务中取得了最好的效果,是深度学习在nlp领域又一个里程碑式的工作。
综上就是 baike.aiufida.com 小编关于lstm是谁发明的的知识的个人见解,如果能够提供给您解决问题时的帮助,您可以在评论区留言点赞哟。
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。
评论