首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能用转移学习来重新训练不同数据子集上的神经网络来解决记忆问题吗?

我能用转移学习来重新训练不同数据子集上的神经网络来解决记忆问题吗?
EN

Stack Overflow用户
提问于 2017-11-06 15:48:51
回答 1查看 105关注 0票数 2

我试着在亚马逊评论DataSet上训练一个神经网络,这样我就可以教它正确地区分积极情绪和消极情绪。我尝试使用的方法是首先使用Google的Word2Vec模型对每个评审进行矢量化,方法是从模型中抽取向量。然后,我把它们输入卷积神经网络来训练它。

我从这里那里获得了Google的预训练过的这里模型,它给了我一个长度为300维的向量,通过将每个评论截断为80个单词,我得到了一个80x300Vectorfor每个评论。

卷积神经网络I型训练器具有以下结构:

代码语言:javascript
复制
Layer (type)                 Output Shape    

- conv2d_1 (Conv2D)            (None, 1, 300, 128)       

- conv2d_2 (Conv2D)            (None, 1, 300, 64)        

- conv2d_3 (Conv2D)            (None, 1, 300, 32)        

- conv2d_4 (Conv2D)            (None, 1, 300, 16)        

- flatten_1 (Flatten)          (None, 4800)              

- dropout_1 (Dropout 0.5)      (None, 4800)              

- dense_1 (Dense)              (None, 256)               

- batch_normalization_1 (Batch (None, 256)               

- activation_1 (Relu)          (None, 256)               

- dropout_2 (Dropout 0.5)      (None, 256)               

- dense_2 (Dense)              (None, 1)                

我使用一个大的网络,具有较大的辍学率和神经元,以减少过度拟合的训练数据。

然而,我的主要问题是我无法对大部分数据进行训练,因为我无法将所有的数据加载到内存中,而且由于特征化的向量大多包含高精度的小数,它们占用了大量的内存和磁盘空间,如果我序列化它们。

对于我来说,是否有可能用转移学习来解决数据不足的问题?我计划使用的方法是:

  • 加载可以装入内存的数据集的子集。
  • 使用Google的Word2Vec模型对其进行矢量化(这个部分大约需要5-10分钟)
  • 训练50-100世纪的模型。
  • 加载数据集的第二个子集并重复。

这是训练大型模型的有效方法吗?因为我是在同一数据集中重新训练模型,我是否正确地假设我不需要冻结任何层?

另外,随机梯度下降是这个问题的一个很好的优化器,因为我将对大量的数据进行培训吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-06 19:03:00

与建议的方法不同,我认为使用数据生成器更合适。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47140767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档