array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 卷积神经网络(CNN)介绍 - 爱码网

本文是B站李宏毅老师机器学习学习笔记

一个网络结构想要看图片中有没有出现某一个图案,不需要看整张图片,只需要看图片的一小部分就可以决定。

CNN的整体架构

卷积神经网络(CNN)介绍

 

卷积神经网络(CNN)介绍

在Convolution中有很多Filter,每一个Filter都是一个矩阵,矩阵的大小是自己设计出来的,数组里面的数值都是学出来的。

Convolution(卷积)

假设现在有一个6x6像素的图片,Filter的大小是3x3。

卷积神经网络(CNN)介绍

先将右上角的Filter放在6x6矩阵的左上角,然后对应元素相乘得3,然后向右移动,移动的大小由stride控制,当stride=1时,右移动一个位置,一直移动到和最右侧重合,每次移动后计算Filter与6x6矩阵重合元素相乘的和。从左到右分别是3、-1、-3、-1

卷积神经网络(CNN)介绍

第一排扫完后,Filter向下移动扫第二排,然后向右移动。

卷积神经网络(CNN)介绍

以此类推,当Filter扫到右下角的时候,得到的结果是-1。这样的原本是6x6的矩阵,做完卷积后得到的是一个4x4的矩阵。

卷积神经网络(CNN)介绍

这个Filter可以找到连续三个1的存在,可以发现移动完后左上角和左下角的值最大并且相同,就可以发现原来图片的左上角和左下角的像素有相同的部分。   

卷积神经网络(CNN)介绍

假设现在有多组filter,然后对每个Filter做卷积后得到如下的Feature Map。

卷积神经网络(CNN)介绍

可以将Filter1和Filter2的结果想象成Feature Map,可以想象成一个新的image。

刚才是对黑白图片做的卷积,彩色图片由RGB数值来表示,每一个颜色的数值称为一个通道,所以彩色图片由三通道组成,此时的卷积所使用的Filter不一样。

此时的Filter是一个3x3x3的立方体,最后一个3表示是3通道,所以一个Filter有27个参数。

卷积神经网络(CNN)介绍

 

其实卷积(Convolution)是全连接(Fully Connected)的一种简化版

将一个6x6图像展开后可以得到一个列向量,维数是36,此时用Filter做卷积时,第一次试FIlter 先连接图中列向量的(1、2、3)、(7、8、9)、(13、14、15)处。此时的权重就是Filter中的数值。Filter 向右移动做卷积时,所连接列向量的位置分别向下移动一位。此时连接的权重不变。

这种卷积方式的好处在于每次权重的值是一样的,这样就大大减少了参数量,比全连接(Fully Connected)的参数量少很多。

卷积神经网络(CNN)介绍

Max Pooling

对Filter1和Filter2卷积得到的数组进行分组,假设现在做完卷积后得到的是一个4x4的矩阵。然后对这几个数值4个一组进行分组,分组后的结果如下图所示。

卷积神经网络(CNN)介绍

然后分别获取每一组中的最大值。

卷积神经网络(CNN)介绍

做完一次卷积和max Pooling,就会把原来的6x6的图像变成2x2的图像,得到一个比原来图片小的图片。    

卷积神经网络(CNN)介绍

可以将上述操作进行重复进行。

卷积神经网络(CNN)介绍

Flatten

如果你觉得现在的图片够小了那么下一步就是要做Flatten

卷积神经网络(CNN)介绍

在做Flatten时,我们做的就是将这个图片拉直,然后传到全连接网络里面。

卷积神经网络(CNN)介绍

原来DNN网络的输入是一个向量,现在CNN的输入是一个三维的张量。RGB三维矩阵。

 

相关文章: