0%

最受欢迎的两个循环单元是长短期记忆(LSTM)和门控循环单元(GRU),两者都可以将先前的记忆存储在隐藏状态,并使用门控机制来确定应该在何种程度将先前的记忆应与当前的输入结合。但是,由于其循环的结构,RNN不能并行计算。因此,训练RNN需要花费大量时间,这限制了学术研究和工业应用。

为了解决这个问题,一些学者尝试在NLP领域使用卷积神经网络(CNN)来代替RNN。但是,CNN无法获得序列的顺序信息,而顺序信息在NLP任务中非常重要。

线性激活函数

简介

瓶颈

  1. 训练速度
  2. 模型收敛 (梯度消失、弥散)

针对LSTM结构的加速策略

  • 合并input gate和forget gate:GRU、SRU
  • 合并cell state和hidden state: GRU、
  • 分割成多个子序列来实现并行化 SRNN。它在不改变循环单元的情况下,能够比标准RNN快得多

针对模型收敛的优化

  • LSTM
  • shortcut

TOD

SRU+slice。有必要吗?貌似没必要了。SRU中计算

自然语言理解

定义

什么是NLU?怎样才算理解了语言?

自然语言理解,也就是人或机器理解人类语言,有两种不同定义:一种基于表征,另一种基于行为
基于表征(representation),就是系统根据输入的语言产生相应的内部表征,这个过程也称为语义
接地(semantic grounding)。比如,有人说「哈利波特」,在大脑里联系到哈利波特的概念就意
味着理解了对方的语言。基于行为,就是系统根据输入的语言采取相应的动作。比如,有人说「给我
拿一杯茶」,机器人按照命令做了,就认为它理解了人的语言。这两个定义在一定程度上互为补充,
前者从语义角度,后者从语用角度界定这个问题。

扩展阅读

阅读全文 »

简介

市面上的免费代理IP种类繁多,很多品牌被吹嘘得天花乱坠,让用户在挑选时不知道该如何下手。
其实对于大部分用户来说,选择一款服务器稳定的代理IP资源是十分明智的,而对于免费代理IP来说,稳定性恰恰是它们的通用诟病,
你需要花费大量的时间精力来筛选可用IP资源,

资源

免费IP

https://github.com/jhao104/proxy_pool

阅读全文 »

名词解释

  • detection: find all objects (bounding box)
  • classification: classify objects
  • recognition: whether one is object
  • segmentation: cut all objects (pixel wise)
  • localization: find certain object (bounding box)

任务

广义的识别(Object Recognition/visual recognition),包括

阅读全文 »

语言

字母(或者中文的笔画)、文字和数字实际上是信息编码的不同单元。任何一种语言都是一种编码的方式,而语言的语法规则是编解码的算法

我们把一个要表达的意思,通过某种语言的一句话表达出来,就是用这种语言的编码方式对头脑中的信息做了一次编码,编码的结果就是一串文字。而如果对方懂得这门语言,他就可以用这门语言的解码方法获得说话人要表达的信息。这就是语言的数学本质。

基本名词

  • 文法、语法 Grammer
  • 文法包括词法和句法
  • 词法主要研究词的内部结构,包括变形、构词法。又称形态学(Morphologic)
  • 句法研究句子结构成分的相关关系
阅读全文 »

模型简介

convseq2seq 架构
Illustration of batching during training
注意: 这里的attention是同时得到的,RNN中的attention则是依次得到的。

卷积过程
convseq2seq的卷积过程

采用的全卷积网络(没有RNN)

  • Position Embedding: 给CNN更多的“位置感”
  • Gated Linear Units: 给CNN的输出加gate
  • Residual Connection: 给CNN都加
  • Multi-step Attention: 一层attention不够那就上叠加的attention
阅读全文 »

2016年9月,Google机器翻译实现重大突破!Google研究团队宣布开发Google神经机器翻译系统(GNMT)。同年11月,Google翻译停止使用其自2007年10月以来一直使用的专有统计机器翻译(SMT)技术,开始使用神经机器翻译(NMT)
从此宣告, 机器翻译经过27年左右, 正式从1989年的IBM机器翻译模型(PBMT,基于短语的机器翻译),过渡到了神经网络机器翻译模型。

GNMT是一种端到端的学习方法,不再将句子分解为词和短语独立翻译,而是翻译完整的句子,使得误差降低了 55%-85% 以上。

首先,模型对中文进行编码。整个句子编码完成后,启动decoder,进行解码。解码过程中的每一步,都需要一组attention weight,对输入序列的vector进行加权。

背景

阅读全文 »

简介

NumPy是Python语言的一个扩充程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库

NumPy参考CPython(一个使用字节码的解释器),而在这个Python实现解释器上所写的数学算法代码通常远比编译过的相同代码要来得慢。为了解决这个难题,NumPy引入了多维数组以及可以直接有效率地操作多维数组的函数与运算符。因此在NumPy上只要能被表示为针对数组或矩阵运算的算法,其运行效率几乎都可以与编译过的等效C语言代码一样快。[1]

numpy的依赖

独立安装

阅读全文 »

吐槽 hexo

  • 重量级
    • node_modules依赖特别大
    • filter多,

OOM:
在服务器端生成目前的700多篇文章占用大量内存,很难生成成功
1000+ 会造成OOM

1
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

原因: Node.js 的内存限制?一个node进程大概只能使用 1GB 的内存。需要修改启动配置

阅读全文 »