首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第16章 使用RNN和注意力机制进行自然语言处理

自然语言处理的常用方法是循环神经网络。所以接下来会从 character RNN 开始(预测句子中出现的下一个角色),继续介绍RNN,这可以让我们生成一些原生文本,在过程中,我们会学习如何在长序列上创建TensorFlow Dataset。先使用的是无状态RNN(每次迭代中学习文本中的随机部分),然后创建一个有状态RNN(保留训练迭代之间的隐藏态,可以从断点继续,用这种方法学习长规律)。然后,我们会搭建一个RNN,来做情感分析(例如,读取影评,提取评价者对电影的感情),这次是将句子当做词的序列来处理。然后会介绍用RNN如何搭建编码器-解码器架构,来做神经网络机器翻译(NMT)。我们会使用TensorFlow Addons项目中的 seq2seq API 。

02

如何用 Keras 为序列预测问题开发复杂的编解码循环神经网络?

本文介绍了如何利用Keras框架开发基于序列数据的循环神经网络模型,并给出了一个序列到序列预测问题的实例。首先介绍了如何定义一个简单的编码器-解码器模型,然后利用Keras的Sequential模型定义了一个基于LSTM的编码器-解码器模型,最后利用Keras的Dataset API从数据集中加载数据并划分训练集和测试集。在划分数据集之后,使用Keras的Sequential模型定义了一个基于LSTM的编码器-解码器模型,并使用Keras的Keras Tuner对模型进行超参数调优。最后,使用Keras的Keras Tuner对模型进行超参数调优,并使用测试集对模型进行评估。实验结果表明,该模型在序列到序列预测问题上的性能优于传统的循环神经网络模型。

00

TensorFlow从1到2(十)带注意力机制的神经网络机器翻译

机器翻译和语音识别是最早开展的两项人工智能研究。今天也取得了最显著的商业成果。 早先的机器翻译实际脱胎于电子词典,能力更擅长于词或者短语的翻译。那时候的翻译通常会将一句话打断为一系列的片段,随后通过复杂的程序逻辑对每一个片段进行翻译,最终组合在一起。所得到的翻译结果应当说似是而非,最大的问题是可读性和连贯性非常差。 实际从机器学习的观点来讲,这种翻译方式,也不符合人类在做语言翻译时所做的动作。其实以神经网络为代表的机器学习,更多的都是在“模仿”人类的行为习惯。 一名职业翻译通常是这样做:首先完整听懂要翻译的语句,将语义充分理解,随后把理解到的内容,用目标语言复述出来。 而现在的机器翻译,也正是这样做的,谷歌的seq2seq是这一模式的开创者。 如果用计算机科学的语言来说,这一过程很像一个编解码过程。原始的语句进入编码器,得到一组用于代表原始语句“内涵”的数组。这些数组中的数字就是原始语句所代表的含义,只是这个含义人类无法读懂,是需要由神经网络模型去理解的。随后解码过程,将“有含义的数字”解码为对应的目标语言。从而完成整个翻译过程。这样的得到的翻译结果,非常流畅,具有更好的可读性。

02

Python 实现注意力机制

随着信息技术的发展,海量繁杂的信息向人们不断袭来,信息无时无刻充斥在四周。然而人类所能接收的信息则是有限的,科研人员发现人类视觉系统在有限的视野之下却有着庞大的视觉信息处理能力。在处理视觉数据的初期,人类视觉系统会迅速将注意力集中在场景中的重要区域上,这一选择性感知机制极大地减少了人类视觉系统处理数据的数量,从而使人类在处理复杂的视觉信息时能够抑制不重要的刺激,并将有限的神经计算资源分配给场景中的关键部分,为更高层次的感知推理和更复杂的视觉处理任务(如物体识别、场景分类、视频理解等)提供更易于处理且更相关的信息。借鉴人类视觉系统的这一特点,科研人员提出了注意力机制的思想。对于事物来说特征的重要性是不同的,反映在卷积网络中即每张特征图的重要性是具有差异性的。注意力机制的核心思想是通过一定手段获取到每张特征图重要性的差异,将神经网络的计算资源更多地投入更重要的任务当中,并利用任务结果反向指导特征图的权重更新,从而高效快速地完成相应任务。

05
领券