【论文】on the properties of neural machine translation :Encoder-decoder approaches 阅读笔记

    2014年的文章,神经机器翻译相对SMT统计机器翻译而言是比较新的方法,包含一个encoder一个decoder,encoder将变长的输入序列转化为定长的表示方式,然后decoder再将其转化为正确的翻译。这篇文章是想用两种模型分析神经机器翻译的特性:RNN encoder-deocoder模型和门递归卷积神经网络(grCnov)。总的发现是,神经机器翻译在没有生词的短句翻译上表现良好,但是当句子变长、生词变多时性能下降很快。另外,门递归卷积神经网络可以自动学习一个句子的语法结构。

    神经机器翻译需要的存储单元比SMT少很多.这里用的RNN模型是带记忆的,


    用到的另一种神经机器翻译模型是CNN的一种,在通常的CNN的基础上添加了门的机制,这样递归网络可以快速的学习源句子的结构。


这是递归神经网络的图

  训练过程:

在英语-法语的训练集上,minibatch SGD的方法来训练两个模型,RNN模型使用tanh,后者使用max(0,x);来做非线性化处理;然后使用基本的beam search来寻找条件概率最大的回答。

结论就是翻译效果与句子长度和生词数是有关的。两个模型都在短句、无生词的时候表现最好,但是两者的表现都没有超过SMT系统;结合SMT之后整体的翻译效果变好了。神经模型在记录长句的时候会丢失一些信息,而传统的方法在长句上的表现则更好。


    

### 关于Sigmoid激活函数的研究论文 Sigmoid激活函数是一种常用的非线性激活函数,在神经网络的前向传播过程中起到重要作用。它通过将输入映射到0到1之间的范围来实现平滑的梯度下降过程[^1]。然而,随着深度学习的发展,研究者们逐渐发现其他类型的激活函数可能更适合某些特定的任务。 以下是几篇与Sigmoid激活函数相关的经典研究论文: #### 1. **Neural Networks and Backpropagation** 这是一篇早期介绍神经网络及其训练方法的经典文章。文中详细描述了如何利用Sigmoid作为激活函数进行反向传播算法的设计和优化。该论文奠定了现代深度学习的基础理论框架。 ```plaintext Rumelhart, D.E., Hinton, G.E., & Williams, R.J. (1986). Learning representations by back-propagating errors. ``` #### 2. **Understanding the Difficulty of Training Deep Feedforward Neural Networks** 此论文探讨了不同初始化策略对深层前馈神经网络的影响,并指出Sigmoid激活函数可能导致梯度消失问题。作者建议采用修正后的ReLU替代传统的Sigmoid以改善模型性能。 ```plaintext Glorot, X., & Bengio, Y. (2010). Understanding the difficulty of training deep feedforward neural networks. ``` #### 3. **Rectifier Nonlinearities Improve Neural Network Acoustic Models** 虽然本文主要讨论的是ReLU相对于传统激活函数的优势,但它也提到了Sigmoid存在的局限性和改进方向。这对于理解为什么Sigmoid不再广泛应用于当前主流架构具有重要意义。 ```plaintext Maas, A.L., Hannun, A.Y., & Ng, A.Y. (2013). Rectifier nonlinearities improve neural network acoustic models. ``` #### 4. **On the Properties of Neural Machine Translation: EncoderDecoder Approaches** 在自然语言处理领域,这篇论文分析了基于编码器-解码器结构的机器翻译系统的特性。尽管重点在于LSTM单元的应用,但其中仍然涉及到了Sigmoid的作用机制以及其在门控控制中的表现形式。 ```plaintext Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). On the properties of neural machine translation: Encoder-decoder approaches. ``` --- ```python import numpy as np def sigmoid(x): """定义Sigmoid激活函数""" return 1 / (1 + np.exp(-x)) # 测试Sigmoid函数 input_values = np.array([-1, 0, 1]) output = sigmoid(input_values) print(output) ``` 上述代码展示了如何简单实现并测试Sigmoid函数的功能。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值