task7

作者: 欧飞红 | 来源:发表于2020-02-25 17:51 被阅读0次

优化算法进阶

ill-conditioned problem

Condition Number of Hessian Matrix:

cond_{H} = \frac{\lambda_{max}}{\lambda_{min}}

举例:

f(\boldsymbol{x})=0.1x_12+2x_22

cond_{H} = \frac{4}{0.2} = 20 \quad \rightarrow \quad \text{ill-conditioned}

Supp: Preconditioning

在二阶优化中,我们使用Hessian matrix的逆矩阵(或者pseudo inverse)来左乘梯度向量 i.e. \Delta_{x} = H^{-1}\mathbf{g} ,这样的做法称为precondition,相当于将 H 映射为一个单位矩阵,拥有分布均匀的Spectrum,也即我们去优化的等价标函数的Hessian matrix为良好的identity matrix。

Solution to ill-condition

  • Preconditioning gradient vector: applied in Adam, RMSProp, AdaGrad, Adelta, KFC, Natural gradient and other secord-order optimization algorithms.

  • Averaging history gradient: like momentum, which allows larger learning rates to accelerate convergence; applied in Adam, RMSProp, SGD momentum.

word2vec

onehot的缺陷与word2vec的改进

使用 one-hot 向量表示单词,虽然它们构造起来很容易,但通常并不是一个好选择。一个主要的原因是,one-hot 词向量无法准确表达不同词之间的相似度,如我们常常使用的余弦相似度。

Word2Vec 词嵌入工具的提出正是为了解决上面这个问题,它将每个词表示成一个定长的向量,并通过在语料库上的预训练使得这些向量能较好地表达不同词之间的相似和类比关系,以引入一定的语义信息。

word2vec

感觉教程更偏向代码,我这里搜集了讲原理比较好的博客:

BERT发展史(三)全方位多角度理解Word2Vec

词嵌入进阶

子词嵌入

子词嵌入(subword embedding):FastText 以固定大小的 n-gram 形式将单词更细致地表示为了子词的集合,而 BPE (byte pair encoding) 算法则能根据语料库的统计信息,自动且动态地生成高频子词的集合;

GloVe全局向量的词嵌入

GloVe 全局向量的词嵌入: 通过等价转换 Word2Vec 模型的条件概率公式,我们可以得到一个全局的损失函数表达,并在此基础上进一步优化模型。

而在 Word2Vec 之后提出的 GloVe 模型,则是在之前的基础上做出了以下几点改动:

  1. 使用非概率分布的变量 p'{ij}=x{ij} 和 q′_{ij}=\exp(\boldsymbol{u}^\top_j\boldsymbol{v}_i) ,并对它们取对数;
  2. 为每个词 w_i 增加两个标量模型参数:中心词偏差项 b_i 和背景词偏差项 c_i ,松弛了概率定义中的规范性;
  3. 将每个损失项的权重 x_i 替换成函数 h(x_ij) ,权重函数 h(x) 是值域在 [0,1] 上的单调递增函数,松弛了中心词重要性与 x_i 线性相关的隐含假设;
  4. 用平方损失函数替代了交叉熵损失函数。

GloVe模型的损失函数公式:

\sum_{i\in\mathcal{V}}\sum_{j\in\mathcal{V}} h(x_{ij}) (\boldsymbol{u}^\top_j\boldsymbol{v}i+b_i+c_j-\log x{ij})^2

torchtext.vocab 中已经支持了 GloVe, FastText, CharNGram 等常用的预训练词向量,我们可以通过声明 torchtext.vocab.GloVe 类的实例来加载预训练好的 GloVe 词向量。

利用GlovVe的语料库

求近义词:由于词向量空间中的余弦相似性可以衡量词语含义的相似性,我们可以通过寻找空间中的 k 近邻,来查询单词的近义词。

求类比词:求类比词的思路是,搜索与 \text{vec}(c)+\text{vec}(b)−\text{vec}(a) 的结果向量最相似的词向量,其中 vec(w) 为 w 的词向量。

相关文章

  • task7

    class 和 id 的使用场景?class 用于具有相同样式特征的一组元素上。id 是元素的独一无二的名称。 C...

  • task7

    1. class 和 id 的使用场景? 对于需要应用同一种样式的不同元素可以使用同一个 class,而 id ...

  • task7

    1.class 和 id 的使用场景? id的使用场景: id只能被使用一次,在页面分段等场景下可以使用。 cla...

  • task7

    题目1: \d,\w , \s , [a-zA-Z0-9] , \b , . , * , + , ? , x{3}...

  • task7

    问题1: 3种列表及嵌套无序列表一般用于导航菜单等,使用范围最广。有序列表用于排序 问题2:如何去除表前面的点或者...

  • task7

    优化算法进阶 ill-conditioned problem Condition Number of Hessia...

  • Operation的addDependency操作

    我们有7个任务task1, task2, task3, task4, task5, task6, task7并发执...

  • HTML(7)

    Task7 Version two 问答 一、有序列表、无序列表、自定义列表如何使用?写个简单的例子。三者在语义上...

  • task7笔记

    一、定义a标签的需要按照一定顺序才能正常执行(link->visited->hover->active)如以下顺序...

  • 基础学习:进阶模式

    相遇梦境 抵颚相亲,流丝缭绕……两个不同世界的相遇,似梦似幻 Task7: 四个模式,任选其一,交一张照片 主题:...

网友评论

      本文标题:task7

      本文链接:https://www.haomeiwen.com/subject/beoxchtx.html