神经网络架构大盘点--读Fjodor Van Veen的《neural-network-zoo》

  各种神经网络架构层出不穷,比如DCIGN, BiLSTM, DCGAN等,Fjodor Van Veen总结了近几年来流行的神经网络各架构,易于直观理解。
  原文地址为:http://www.asimovinstitute.org/neural-network-zoo/
  总结如下:
  neural network architectures

阅读更多

爬虫抓取建委数据--观察存量房成交量变化趋势

  成交量是市场行情变化的一个重要指标,量在价先,价格的变化必然首先通过成交量的变化体现出来。根据价格与成交量的数据变化趋势,从而选择合适的存量房交易时机,从而尽可能减小市场风险。
  因建委网站每天会公布存量房交易量,那么我们就可以做个小爬虫,每天自动抓取其数据,从而可以观察其变化趋势,例如日线、周线、月线等。
  设计思路如下:
  1、数据库中建立三个表,分别存储每日、每周、每月的存量房成交量数据;
  2、后台每天自动运行爬虫程序,抓取数据存入数据库;
  3、前端从数据库读取数据,绘制图形曲线,便于可视化观察趋势。
  
  完整代码见我的github,图形结果如下:
  每日成交量数据
  每周成交量数据
  每月成交量数据
  
  对于北京市场而言,可以看出:
  1、日成交量在800以上,属于上涨趋势;1200以上,属于快速上涨趋势;400以下,属于下跌趋势;400-800之间,平稳趋势。
  2、周成交量在4000以上,属于上涨趋势;6000以上,属于快速上涨趋势;2000以下,属于下跌趋势;2000-4000之间,平稳趋势。
  3、月成交量在15000以上,属于上涨趋势;20000以上,属于快速上涨趋势;10000以下,属于下跌趋势;10000-15000之间,平稳趋势。

阅读更多

CNN经典网络模型摘要--AlexNet、ZFnet、GoogleNet、VGG、ResNet

  CNN的经典结构始于1998年的LeNet,成于2012年历史性的AlexNet,从此大盛于图像相关领域,主要包括:
  1、LeNet,1998年
  2、AlexNet,2012年
  3、ZF-net,2013年
  4、GoogleNet,2014年
  5、VGG,2014年
  6、ResNet,2015年

阅读更多

神经网络参数优化--基于CNN的验证

  当使用多层更深的隐藏层全连接网络时,参数量会变得非常巨大,达到数十亿量级;而采用CNN结构,则可以层间共享权重,极大减小待训练的参数量;同时可采用二维卷积,保留图像的空间结构信息;采用池化层,进一步减少参数计算。
  一般来说,提高泛化能力的方法主要有: 正则化、增加神经网络层数、改变激活函数与代价函数、使用好的权重初始化技术、人为扩展训练集、弃权技术。
  下面以MNIST为例,结合CNN、Pooling、Fc结构,通过不同的网络结构变化,给这些参数优化理论一个直观的验证结果。

CNN不同网络结构性能比较

阅读更多

为什么GoogleNet中的Inception Module使用1*1 convolutions?

  GoogleNet的创新之处,在于引入了Inception Module,其采用了并行结构,如下:
  GoogleNet Inception Module
  
  其中1*1 conv的作用:
  简单说,是特征降维,是feature pooling,filter space的transform。这种跨特征层的级联结构,可以有助于不同特征层间的空间信息交互。论文中语:”This cascaded cross channel parameteric pooling structure allows complex and learnable interactions of cross channel information”。
  这篇文章的解释:http://iamaaditya.github.io/2016/03/one-by-one-convolution/
  youtube上的1x1 Convolutions/inception相关视频,如下:
  
  

阅读更多

深度神经网络的梯度不稳定问题--梯度消失与梯度爆炸

  深度神经网络中的梯度不稳定性,前面层中的梯度或会消失,或会爆炸。

阅读更多

神经网络不同激活函数比较--读《Understanding the difficulty of training deep feedforward neural networks》

  various activation functions performance
  这篇论文比较了不同激活函数的中间各隐层输出值分布、梯度值分布、测试准确度等,从上图看出,至少在mnist和cifar10测试集下,看起来tanh和softsign都要好于sigmoid。

阅读更多

神经网络参数优化

1.学习缓慢问题

  激活函数采用sigmoid,代价函数采用二次项时,会存在学习缓慢即梯度下降较慢的问题。对此,可以使用交叉熵代价函数,或者使用ReLU、Softmax激活函数等,如下图。    
  

阅读更多

回归初心-读《Deep Big Simple Neural Nets Excel on Hand-written Digit Recognition》

  Mnist做为手写数字识别的基准数据集,one Hidden Layer Perceptron已可以取得较好性能(Error rate 2%-5%),更有诸多新型网络结构如CNN、RNN不断改善性能(Error rate 1%以下)。
  而这篇论文,则进一步回归初心,挖掘纯粹MLP的性能,通过可变学习速率,旋转、畸变数据以扩展训练集,更多隐藏层等,观察性能如下:
  MLP performance
  
  没有花拳绣腿,纯粹的MLP,同样可以得到错误率0.5%以下的性能,唯一的缺点就是计算量,方法上简单、粗暴、有效!

阅读更多

数据科学家路线图

网上搜到的,感谢原作者。
  

阅读更多