UMBRELLA

未雨绸缪,举重若轻

内容

在本文中,我将从RNN的基础知识开始,一直到构建最新的深度学习架构来解决NLP问题。它将涵盖以下内容:

  • 简单的RNN(循环神经网络)。
  • 词嵌入(Word Embeddings):定义以及如何获取。
  • 长短期记忆网络(LSTM)。
  • 门控循环单元(GRU)。
  • 双向RNN
  • 编码器-解码器模型(Seq2Seq模型)。
  • 注意力模型(Attention Models)。
  • Transformer-你所需要的就是注意力。
  • BERT
    阅读全文 »

介绍

过去几年深度学习取得显着进步的一个领域是自然语言处理(NLP)。计算机现在可以生成文本、自动从一种语言翻译成另一种语言、分析评论、标记句子中的单词等等。也许NLP最广泛的实际应用是分类——将文档自动分类到某个类别。例如,这可以用于:

  • 情绪分析(例如,人们对您的产品有正面还是负面评价)。
  • 作者识别(最有可能是哪个作者写了一些文档)。
  • 法律发现(哪些文件属于审判范围)。
  • 按主题组织文档。
  • 对电子邮件进行分类。
  • …以及更多!
    阅读全文 »

Pytrees

什么是Pytree?如果我们按照文档中提供的Pytress定义,那么Pytree是指由类似容器的Python对象构建的树状结构。什么是类似容器的Python对象?看到名称,您可能已经猜到类似容器的Python对象包括列表、元组、字典、namedtupleOrderedDictNone。这些数据结构是默认的类似容器的对象,被视为Pytree。我们还可以告诉JAX将视为类似容器的对象,但我们需要首先将它们包含在Pytree注册表中。让我们看一下Pytree的几个例子。

阅读全文 »

今天,我们将研究另一个重要概念自动微分。我们已经在TensorFlow中看到了自动微分自动微分的想法在所有框架中都非常相似,但IMO JAX比所有框架都做得更好。

阅读全文 »

如果我了解TensorFlow/Torch,为什么还要去学习JAX?尽管有n个理由,但我将介绍JAX中的一个概念,足以说服您尝试一下。我们将研究自动矢量化。我们接下来将讨论两种转换,即vmappmap

阅读全文 »

什么是即时(JIT)编译?

如果我们按照JIT的定义,那么JIT就是在执行期间编译代码的一种方式。实现JIT编译器的系统通常会连续分析正在执行的代码,并识别代码中从编译或重新编译获得的加速将超过编译该代码的开销的部分。

阅读全文 »

什么是PRNG?

如果我们按照定义,那么伪随机数生成是通过算法生成随机数序列的过程,使得生成的随机数的属性近似于从分布中采样的随机数序列的属性。当我们说随机时,意味着预测这个序列的概率并不比随机猜测更好。尽管我们担心这里的随机性,但伪随机数生成并不是真正的随机过程。为什么?因为序列是由提供给算法的初始值或初始状态决定的。用于生成这些随机数序列的算法称为伪随机数生成器Pseudo Random Number Generator)。

阅读全文 »

纯函数(Pure Functions)

函数就是纯函数:

  • 当使用相同的输入调用时,该函数返回相同的值。
  • 函数调用没有观察到副作用。

虽然这个定义看起来很简单,但如果没有示例可能很难理解,而且听起来很模糊(尤其是对于初学者)。副作用是什么意思呢?是什么导致了副作用?做什么可以来避免副作用?让我们举几个例子,看一下产生副作用的错误。

阅读全文 »

JAX是一个高性能机器学习库JAX在加速器(例如GPUTPU)上编译并运行NumPy代码。您可以使用JAX(以及为JAX构建的神经网络库FLAX)来构建和训练深度学习模型。

阅读全文 »

JAX是一个高性能机器学习库JAX在加速器(例如GPUTPU)上编译并运行NumPy代码。您可以使用JAX(以及为JAX构建的神经网络库FLAX)来构建和训练深度学习模型。

阅读全文 »
0%