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。

  1. 选择一个好的方式去构造树:我们构造二叉树的方法很多。例如一个比较好的构造二叉树的方式是用贪婪算法在每一步去尝试每个可能选择孩子节点,最后选择这一步重构损失最低的方式建树。
  2. 选择一个好的重构损失函数:前面我们的重构损失是平均的惩罚所有序列的损失值。假设我们可以包含孩子节点多的RAE过程的损失的权重比包含孩子节点少的RAE过程的损失函数的权重大。
  3. 归一化:RAE计算的隐藏节点,它们后面会被下一个RAE重建。为了最小化重构的损失,RAE计算隐藏节点的时候可以对它进行归一化。

5. 总结

本文主要介绍了RAE的构造和优化方向,RAE适合用来处理序列问题。

3. Recursive AutoEncoder(递归自动编码器)的更多相关文章

  1. 7 Recursive AutoEncoder结构递归自编码器(tensorflow)不能调用GPU进行计算的问题(非机器配置,而是网络结构的问题)

    一.源代码下载 代码最初来源于Github:https://github.com/vijayvee/Recursive-neural-networks-TensorFlow,代码介绍如下:“This ...

  2. Recursive - leetcode [递归]

    经验tips: Recursion is the best friend of tree-related problems. 一是只要遇到字符串的子序列或配准问题首先考虑动态规划DP,二是只要遇到需要 ...

  3. React-router4 第七篇 Recursive Paths 递归路径

    https://reacttraining.com/react-router/web/example/recursive-paths import React from 'react' import ...

  4. [03] Recursive Function递归应用

    递归应用 1.理解 百科:一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的: 理解:函数调用自己的过程,这类函数处理的事情具有重复性,处理此类实行可用while或者for,但结构上 ...

  5. Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记

    Representation learning : 表征学习,端到端的学习 pre-specified  预先指定的 demonstrate  论证;证明,证实;显示,展示;演示,说明 attempt ...

  6. 4. Stacked AutoEncoder(堆栈自动编码器)

    1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...

  7. 降噪自动编码器(Denoising Autoencoder)

    起源:PCA.特征提取.... 随着一些奇怪的高维数据出现,比如图像.语音,传统的统计学-机器学习方法遇到了前所未有的挑战. 数据维度过高,数据单调,噪声分布广,传统方法的“数值游戏”很难奏效.数据挖 ...

  8. 9.1、AutoEncoder自动编码器[转]

    如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重.自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征.自动编码器就是一种尽可能复 ...

  9. 2. AutoEncoder在NLP中的应用

    1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...

随机推荐

  1. ROS学习(六)—— 理解ROS节点

    一.准备工作 下载一个轻量级的模拟器 sudo apt-get install ros-kinetic-ros-tutorials 二.图概念的理解 1.Nodes:一个节点就是一个可执行文件,用来与 ...

  2. html5界面手机播放mp3

    1把这段代码复制到htm5界面. <audio id="audio" src="2.mp3" style="opacity:0" pr ...

  3. webpack window 处理图片和其他静态文件

    安装url-loader npm install url-loader --save-dev 配置config文件 {        test: /\.(png|jpg)$/,        load ...

  4. 转载:windiws server 2008R2 IIS7.5 设置win7 IIS7设置,文件夹权限配置,Authenticated Users,支持asp temp

    第一步,进入控制面板,点击程序图标 第二步,点击打开或关闭Windows功能 第三步,勾选Internet信息服务全部功能,或根据需要,点击确定,安装 第四步,进入控制面板,点击管理工具 第五步,点击 ...

  5. HSSFWorkbook 与 XSSFWorkbook

    刚开始使用new HSSFWorkbook(new FileInputStream(excelFile))来读取Workbook,对Excel2003以前(包括2003)的版本没有问题,但读取Exce ...

  6. java-容器-ArrayList

    工作中经常会用到Java的集合类,最近不忙了,把相关知识总结一下,便于理解记忆. 打开java.util.ArrayList的源代码,首先映入眼帘的是@author  Josh Bloch(相对于源码 ...

  7. macOS SIP 权限设置

    1.macOS SIP 权限设置 对于 macOS 10.11+ 用户,由于系统启用了 SIP(System Integrity Protection), 导致 root 用户也没有权限修改 /usr ...

  8. ORACLE在线切换undo表空间

    切换undo的一些步骤和基本原则 原文:http://www.xifenfei.com/3367.html 查看原undo相关参数 SHOW PARAMETER UNDO; 创建新undo空间 cre ...

  9. Linux共享内存使用常见陷阱与分析

    所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式.是针对其他通信机制运行效率较低而设计的.往往与其它通信机制,如 信号量结合使用,来达到进程间的同步及互斥.其他进程能把同一段 ...

  10. CentOS下Redisserver安装配置

    1.CentOS 6.6下Redis安装配置记录 2.CentOS下Redisserver安装配置