TensorFlow 简介与概览 – Part 4/8

递归神经网络 (RNN)

RNN 是具有循环的网络
RNN 是具有循环的网络

RNN 是具有循环的网络,因此具有 “状态记忆”。这种网络可适时展开,以成为共享权重的前馈网络。正如 CNN 可跨 “空间” 共享权重一样,RNN 可跨 “时间” 共享权重。这使其能够处理并有效表示序列数据中的模式。

我们已开发出 RNN 模块的许多变体(包括 LSTM 和 GRU),以帮助学习较长序列中的模式。其应用包括自然语言建模、语音识别、语音生成等。递归神经网络的训练颇具挑战性,但同时也让我们可以对序列数据进行一些有趣而强大的建模。利用 TensorFlow 生成文本 是我最喜欢的教程之一,因为只需几行代码便可完成一些事情:逐字生成合理文本。

利用 TensorFlow 生成文本
利用 TensorFlow 生成文本

GitHub地址项目 GitHub 地址

TensorFlow 简介与概览 – Part 3/8

卷积神经网络 (CNN)

CNN(又名 ConvNet)是一种前馈神经网络
CNN(又名 ConvNet)是一种前馈神经网络

CNN(又名 ConvNet)是一种前馈神经网络,其使用空间不变性技巧来有效学习图像中最常见的局部模式。举例而言,若图像左上方与右下方的猫耳拥有相同的特征,我们便可将其称为空间不变性。CNN 可跨空间共享权重,从而更高效地检测出猫耳及其他模式。

CNN 不是只使用密集连接层,而是使用卷积层(卷积编码器)。这些网络可用于图像分类、对象检测、视频动作识别,以及任何在结构上具备一些空间不变性的数据(例如语音音频)。

了解用于对 MNIST 数据集中的手写数字进行分类的 CNN 示例。我们利用影像变形技术创造梦幻般的精彩扭曲效果,并通过数据集之外生成的高分辨率手写数字对分类器进行测试:

利用影像变形技术生成手写数字(左侧)并进行分类预测(右侧)
利用影像变形技术生成手写数字(左侧)并进行分类预测(右侧)

GitHub地址项目 GitHub 地址

TensorFlow 简介与概览 – Part 2/8

前馈神经网络 (FFNN)

FFNN 的历史可以追溯至 20 世纪 40 年代,只是一种没有任何循环的网络。数据以单次传递的方式从输入传递至输出,而没有任何之前的 “状态记忆”。从技术上讲,深度学习中的大多数网络均可被视为 FFNN,但 “FFNN” 通常指的是其最简单的变体:一种密集连接的多层感知器 (MLP)。密集编码器用于将输入上已经很紧凑一组数字映射至预测:分类(离散)或回归(连续)数据。

以下是一个用于预测波士顿房价的 FFNN 示例,属于回归问题:

GitHub地址项目 GitHub 地址

TensorFlow 简介与概览 – Part 1/8

深度学习是表征学习,即通过数据自动生成有用的表征。我们表述世界的方式可以使复杂事物简单化,让人类及我们构建的机器学习模型能够容易理解。哥白尼于 1543 年发表的日心说模型。与先前以地球为中心的地心说模型不同,该模型将太阳置于 “宇宙” 的中心。在最佳情况下,深度学习让我们可以自动处理此步骤,无需哥白尼(即人类专家)即可完成 “特征工程” 过程:

从高层次来看,神经网络可以是编码器、解码器或二者的结合:

  • 编码器会在原始数据中找到模式,以生成简洁有用的表征
  • 解码器会利用这些表征生成高分辨率数据。所生成的数据是新示例或描述性知识

其余是一些巧妙方法,可帮助我们有效处理视觉信息、语言和音频,甚至可以帮助我们根据这些信息和偶尔的奖励在现实世界中采取行动。以下是总体图示:

在下面的部分,将分别简要描述这 7 种架构范例,每种范例均提供 TensorFlow 教程链接,以作说明。

大规模中文自然语言处理语料

中文的信息无处不在,但如果想要获得大量的中文语料,却是不太容易,有时甚至非常困难。在 2019 年初这个时点上 —— 普通的从业者、研究人员或学生,并没有一个比较好的渠道获得极大量的中文语料。笔者想要训练一个中文的词向量,在百度和 Github 上上搜索了好久,收获却很少:要么语料的量级太小,要么数据过于成旧,或需要的处理太复杂。

为此,徐亮创建了一个中文自然语言处理语料库项目:nlp_chinese_corpus ,初步贡献了几个已经预处理好的中文语料,包括维基、新闻和百科语料。包括 ——

  1. 维基百科(wiki2019zh),100万个结构良好的中文词条;
  2. 新闻语料(news2016zh),250万篇新闻,含关键词、描述;
  3. 百科问答(baike2018qa),150万个带问题类型的问答;
  4. 社区问答json版(webtext2019zh),410万个高质量社区问答,适合训练超大模型;
  5. 翻译语料(translation2019zh),520万个中英文句子对;

GitHub地址项目 GitHub 地址