我们之前讲的卷积神经网络CNN所处理的都是2D的图像、视频之类的,这种数据的大多具有位置相关性
那么自然界中除了图片、视频数据之外,更多的还有一些类似于序列的数据,例如语音、文字,这些数据都是有一个时间的先后顺序的。
对于2D的图片数据,我们用一个像素点的RGB值来表示这个像素的一个色彩度,那么对于语音和文字这种类型的信息我们该怎么表示呢
这些都是类似string类型的数据,而pytorch中处理的都是数值类型,我们要想办法把string类型表示成数值类型,这就叫做sequence representation或者叫做word embedding
one-hot encoding的方式
最简单的一种方式
word2vec/blove
one-hot 编码的方式是非常稀疏的,一个编码中只有一个位置为1其他都是0,维度也很高,在实际应用中基本用不了
word2vec/blove是更加密集的表达方式,同时也考虑了语义相关性
语义相关性是计算的夹角cosθ,夹角越小,说明相似度越高
Batch & RNN的输入的shape
为了提高train的效率我们会加入batch,即不会一次只送一个句子
b=batch
b=10就是表示一次送10个句子进去,一次train多个实例CNN中[b,channel,h,w] h和w是长和宽
RNN的shape有两种格式
①[word_num, batch, word_vec]
②[batch, word_num, word_vec]
更好理解的是第一种word_num也就表示一次喂多少个数据,即一条曲线上有多少个数据
batch是表示喂多少条曲线
深度学习与神经网络 之 时间序列表示
最新推荐文章于 2024-06-17 00:35:49 发布