3. Recursive AutoEncoder(递归自动编码器)
1. AutoEncoder介绍
2. Applications of AutoEncoder in NLP
3. Recursive Autoencoder(递归自动编码器)
4. Stacked AutoEncoder(堆栈自动编码器)
1. 前言
今天主要介绍用在NLP中比较常见的AutoEncoder的模型,Recursive Autoencoders(递归自动编码模型)。这篇文章主要讨论RAE在序列化的数据中,如何把数据降维并且用向量表示。
2. 矩阵表示
假设我们有一个矩阵\(L\)的表示向量,一个有序的有\(m\)个元素的序列,每个元素有\(k\)维的向量表示,我们用\(b_k\)代表我们需要找的那个向量,公式如下:
\[
x_i=Lb_k
\]
现在我们能用矩阵表示这个\(m\)个元素的序列了,\((x_1,x_2,x_3...,x_m)\)。
3. 非监督递归自动编码器
上图是RAE的二叉树递归结构,最底层的节点\(x_1,x_2...,x_m\)都是序列的内容。第一个RAE从在最底层最右边的两个孩子节点序列的元素\(x_1\),\(x_2\)开始,对它们进行重构,会产生一个隐藏层\(y_1\)。再上层一点,一个节点是序列中的元\(x_i\)素,另一个节点是下一程节点通过AE的过程算出来的隐藏层向量\(y_i\),经过RAE后,会产生隐藏节点\(y_{i+1}\),如此循环直到序列中所有元素都进行了AE的过程。
- 编码过程:父节点是\(y_1\),两个孩子节点是\(x_1\)和\(x_2\):
\[
\mathbf{y_1}=f(\mathbf{W}[\mathbf{x}_{1},\mathbf{x}_{2}]+\mathbf{b})
\]
- 解码过程:通过父节\(y_1\)点再重构\(x_1\)和\(x_2\)
\[
[\mathbf{x}_{1}';\mathbf{x}_{2}']=\mathbf{W}'\mathbf{y_1}+\mathbf{b}'
\]
- 损失函数
\[
E=\frac{1}{2}\Vert [\mathbf{x}_{1},\mathbf{x}_{2}]-[\mathbf{x}_{1}',\mathbf{x}_{2}']\Vert ^{2}
\]
这个过程在每一个AE过程中重复,直到构造出整棵树。
4. 优化
我们可以从几个方面去优化RAE。
- 选择一个好的方式去构造树:我们构造二叉树的方法很多。例如一个比较好的构造二叉树的方式是用贪婪算法在每一步去尝试每个可能选择孩子节点,最后选择这一步重构损失最低的方式建树。
- 选择一个好的重构损失函数:前面我们的重构损失是平均的惩罚所有序列的损失值。假设我们可以包含孩子节点多的RAE过程的损失的权重比包含孩子节点少的RAE过程的损失函数的权重大。
- 归一化:RAE计算的隐藏节点,它们后面会被下一个RAE重建。为了最小化重构的损失,RAE计算隐藏节点的时候可以对它进行归一化。
5. 总结
本文主要介绍了RAE的构造和优化方向,RAE适合用来处理序列问题。
3. Recursive AutoEncoder(递归自动编码器)的更多相关文章
- 7 Recursive AutoEncoder结构递归自编码器(tensorflow)不能调用GPU进行计算的问题(非机器配置,而是网络结构的问题)
一.源代码下载 代码最初来源于Github:https://github.com/vijayvee/Recursive-neural-networks-TensorFlow,代码介绍如下:“This ...
- Recursive - leetcode [递归]
经验tips: Recursion is the best friend of tree-related problems. 一是只要遇到字符串的子序列或配准问题首先考虑动态规划DP,二是只要遇到需要 ...
- React-router4 第七篇 Recursive Paths 递归路径
https://reacttraining.com/react-router/web/example/recursive-paths import React from 'react' import ...
- [03] Recursive Function递归应用
递归应用 1.理解 百科:一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的: 理解:函数调用自己的过程,这类函数处理的事情具有重复性,处理此类实行可用while或者for,但结构上 ...
- Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
Representation learning : 表征学习,端到端的学习 pre-specified 预先指定的 demonstrate 论证;证明,证实;显示,展示;演示,说明 attempt ...
- 4. Stacked AutoEncoder(堆栈自动编码器)
1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...
- 降噪自动编码器(Denoising Autoencoder)
起源:PCA.特征提取.... 随着一些奇怪的高维数据出现,比如图像.语音,传统的统计学-机器学习方法遇到了前所未有的挑战. 数据维度过高,数据单调,噪声分布广,传统方法的“数值游戏”很难奏效.数据挖 ...
- 9.1、AutoEncoder自动编码器[转]
如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重.自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征.自动编码器就是一种尽可能复 ...
- 2. AutoEncoder在NLP中的应用
1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...
随机推荐
- springboot(五):spring data jpa的使用
在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...
- 纯CSS兑现侧边栏/分栏高度自动相等(转)
这里直接介绍我认为的最佳的侧边栏/分栏高度自动相等方法.核心的CSS代码如下(数值不固定): margin-bottom:-3000px; padding-bottom:3000px; 再配合父标签的 ...
- mysql 1449 : The user specified as a definer ('root'@'%') does not exist
1)创建试图时抛出此错误信息,如下图所示: 2)从网上搜索了一下,是SQL权限问题,通过如下的方式便可以解决: 3)再次执行创建视图的语句,验证一下问题是否已经解决,可以了,如下所示: 4)参考如下所 ...
- Eclipse SQLExplorer插件的安装和使用
from: http://blog.csdn.net/flashlm/archive/2007/06/30/1672836.aspx 插件名称: SQLExplorer 插件分类: SQL Edito ...
- SQLAlchemy(1) -- Python的SQLAlchemy和ORM
Python的SQLAlchemy和ORM(object-relational mapping:对象关系映射) web编程中有一项常规任务就是创建一个有效的后台数据库.以前,程序员是通过写sql语句, ...
- Java 8 Stream – Read a file line by line
In Java 8, you can use Files.lines to read file as Stream. c://lines.txt – A simple text file for te ...
- Java 8 – Filter a Map examples
Java 8 – Filter a Map examplesFew Java examples to show you how to filter a Map with Java 8 stream A ...
- 非正常关闭vi编辑器时会生成一个.swp文件
非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...
- 【剑道】日常练习相关Q&A 整理
Q:如何使手腕灵活,手指灵活.有力量? A: 1)提重物.将手腕搁在膝盖上,凭手指和手腕的力量将重物提上来 2)指卧撑.用十个指头着地的方法做俯卧撑 Q:怎样才算肩膀放松,如何方式? A:收放自如,多 ...
- Oozie-自定义实现WorkFlow中shell action
拷贝默认的shell目录来进行修改 $ cp -r ./examples/apps/shell/ my-apps/ 定义job.properties nameNode=hdfs://bigdata-0 ...