如何解决RNN中梯度消失问题?

由于0-1范围内的导数累乘,会发现累乘会导致激活函数导数的累乘,如果取tanh或sigmoid函数作为激活函数的话,那么必然是一堆小数在做乘法,结果就是越乘越小。随着时间序列的不断深入,小数的累乘就会导致梯度越来越小直到接近于0,这就是“梯度消失“现象。

Python字符串处理的8招秘籍

Python的字符串处理,在爬虫的数据解析、大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强大、使用非常方便。今天我就把字符串处理时用到最多的方法总结分享给大家,希望大家可以轻松应对字符串处理。

1. 字符串的切片和相乘

(1)切片

str='Monday is a busy day'
print(str[0:7])  #表示取第一个到第七个的字符串
print(str[-3:])  #表示取从倒数第三个字符开始到结尾的字符串
print(str[::])   #复制字符串

(2)相乘

当我们编写Python代码时要分隔符,此时用字符串的乘法操作就很容易实现。

line='*'*30
print(line)
>>******************************

2. 字符串的分割

(1)普通的分割,用split函数,但是split只能做非常简单的分割,而且不支持多个分隔。

自然语言处理中的Encoder-Decoder模型

Encoder-Decoder(编码-解码)是深度学习中非常常见的一个模型框架,比如无监督算法的auto-encoding就是用编码-解码的结构设计并训练的;比如这两年比较热的image caption的应用,就是CNN-RNN的编码-解码框架;再比如神经网络机器翻译NMT模型,往往就是LSTM-LSTM的编码-解码框架。

OpenGL黑屏常见原因总结

做OpenGL开发的同学,想必一定碰到过黑屏的问题,特别是刚接触OpenGL的同学,可能会觉得黑屏问题让人相当头疼,因为OpenGL的查错没有一般编程时那么简单,我们通常是利用glGetError()这个API来获取错误码,但这个方法获取的错误是调用这个方法时,已经产生的错误,它有可能是很久之前产生的,这样查越来还是比较不方便的,而且,有些黑屏的情况下,glGetError()也不会报任何错。