keras学习笔记4——部分连接非共享权重层
来源:互联网 发布:电视机网络顶盒 编辑:程序博客网 时间:2024/04/30 07:57
最近一直在纠结一个问题,n久没有解决,幸运的是终于在昨天取得了突破,以下就听我细细道来。
在工业应用中,模型效果的好坏主要取决于相关特征的提取,而在各类数据挖掘竞赛中,竞赛人员也将大部分比赛时间应用于此,特征提取工作的重要性在此体现的淋漓尽致。
在我们的日常生活中,有一种数据类型非常普遍,那就是时间序列数据,凡是与时间相关的具有前后顺序的数据均可称为时间序列数据,如天气变化、股市波动以及实体行为轨迹等。对于该类数据,如何兼顾时间因素,有效地对其特征进行提取是一个非常重要的问题。就目前而言,业内通常的处理方式是依靠业务人员的多年工作经验,手动提取特征,这种方式虽然有时比较准确、方便,但受限较大,对数据分析人员要求较高,既主观又无法深刻体现时间序列中相互依存的相关关系。
基于以上观点,Jiajun Liu在“Learning Abstract Snippet Detectors with Temporal Embedding in Convolutional Neural Networks” 中提出利用部分连接非共享权重的方式(长的与CNN中的卷基层比较像,但权重是非共享的)提取时间序列中蕴含的时序特征,通过实验证明了这种方式的有效性。
最近一段时间一直在探索利用keras实现上述算法,对keras框架有了更为清楚的认识。keras是一个基于Theano或Tensorflow的上层框架,上手极快,设计网络原型极其方便,但其对于学术研究人员有一个致命性缺陷,那就是灵活性不够,实现自己定义的层相当困难,必须对tensor相关语法非常熟悉才可,故学术研究人员还需兼修Theano或Tensorflow中的一种。
废话说了一大篇,部分连接非共享权重层样子如下:
有两大明显特征:部分连接、非共享权重,CNN卷基层的亲兄弟。
曾经尝试过自己定义该层,可惜因为对Tensor语法不了解,一直出错,again and again (应该学学Theano或Tensorflow了),比较幸运的是,与我有类似需求的人还是不少的,终于在github找到了该层的实现方式(汗,可惜不是我写的),https://github.com/fchollet/keras/pull/2658,我期待keras的下一个升级版本将该层加入进去。
导入后,一个玩具式代码实现如下:
# training setx_test=np.random.random_sample((100,5,1))y_test=np.random.randint(2,size=100)# modelmodel=Sequential()model.add(local.LocallyConnected1D(nb_filter=1,filter_length=2,input_shape=(5,1)))model.add(Flatten())model.add(Dense(1))model.compile(optimizer='sgd', loss='mse')model.fit(x_test,y_test)
对利用神经网络处理时序数据感兴趣的可以联系我,共同交流,学习。
ps:keras上手真的很快,并且应付绝大部分任务需求足够了
另外,感谢nitish11在github上的帮助
参考
1. Learning Abstract Snippet Detectors with Temporal Embedding in Convolutional Neural Networks
2. https://github.com/fchollet/keras/pull/2658
- keras学习笔记4——部分连接非共享权重层
- Keras学习笔记02——常用的网络层
- Keras学习笔记一:常用层keras.layers.core部分函数
- 论文笔记:DeepRebirth——从非权重层入手来进行模型压缩
- keras中文文档笔记9——关于keras层
- keras学习笔记(4)—损失函数
- keras学习笔记2——Keras模块概述
- keras——常用层
- 0——keras学习笔记
- keras学习笔记——基本概念
- keras学习笔记(3)—优化器
- Keras学习笔记二:卷积神经网络相关层
- [计算机网络笔记]第三部分——传输层之TCP 连接建立与拆除的过程
- Keras学习笔记三:BatchNormalization层和融合层(Merge层)
- 深度学习keras连接
- 机器学习笔记—局部权重线性回归
- CSS权重,选择器—笔记
- Keras学习笔记01——快速搭建神经网络结构
- 异常记录tableCellBlock
- 【网络安全】SSL通信证书生成及作用详解
- 网盘容量反面的技术秘密
- 有趣的机器学习概念纵览:从多元拟合,神经网络到深度学习,给每个感兴趣的人
- 数字证书及其认证过程
- keras学习笔记4——部分连接非共享权重层
- c/c++时间函数
- iOS开发之调用系统应用
- MFC 静态文本框控件
- java 获取后台返回json 并js循环利用
- android jni 出现format not a string literal and no format arguments [-Werror=format-security]问题
- C#使用sharppcap实现网络抓包
- 安装ubuntu分区建议
- wampserver 最新版本 mysql修改数据库密码