1.实现直接通过文件夹分类来读取数据集:https://blog.csdn.net/u012193416/article/details/79368855
keras 搭建基础多分类网络:http://blog.sina.com.cn/s/blog_d76227260102wxbj.html
keras中ImageDataGenerator用法:https://blog.csdn.net/u012969412/article/details/76796020
2. 如何理解反卷积
两个问题;
1. 假如是 0 padding的,X4,这4个数由一个数反卷积得来的,那么这些参数是怎一样的还是学习得到的,学习到的一定和之前正卷积一样吗?
2假如是 0 padding的,X4,这4个数是怎么通过不通过的数叠加得到的?
a.数学上来看,卷积可以转化为矩阵操作im2col,用空间换时间:
而反卷积就是将参数矩阵反置,乘以结果就得到输入
b.直观上看比如2*2得到1,也就是感受野是2*2, 4个参数,(x1,X2,x3,x4)*(h1,h2,h3,h4)T=(y) =====> y*((h·1,h·2,h·3,h·4)T)T=(x1,X2,x3,x4)注意类型一样,值不一样,所以叫转置卷积,反卷积并不准切
感受野内的输出只由1个输入乘以不同参数得到(在0padding情况下)
3.理解Global average Pooling (GAP)
GAP的真正意义是:对整个网路在结构上做正则化防止过拟合。
全连接的替换,减少参数的数量,这样计算的话,global average pooling层是没有数据参数的
maxout,NIN:
总的来说,maxout和NIN都是对传统conv+relu的改进。
maxout想表明它能够拟合任何凸函数,也就能够拟合任何的激活函数(默认了激活函数都是凸的)
NIN想表明它不仅能够拟合任何凸函数,而且能够拟合任何函数,因为它本质上可以说是一个小型的全连接神经网络