机器学习笔记3

1.Convolutional Neural Network

卷积神经网络主要用于图像视觉识别方面,例如输入一张图片,判断是什么东西,图片在电脑中存储的格式是tensor,channel*width*height,channel一般为RGB的三个通道,当图片进行输入时,一般将维度为3的tensor展平为维度为1的tensor,作为一个向量输入:

在这里插入图片描述

但是这样参数数量太多,我们一般不使用fully connected。

Method 1:receptive

对于影像来说,其实在过程中需要检测到有没有出现一些有用的形态特征(pattern).因此我们一般将tensor划分为多个receptive field,对于每一个receptive field对应多个输出神经元,每个神经元只需要关注对应的receptive field即可。

在这里插入图片描述 一般关于receptive field选取3*3的kernel size,移动步长(stride)一般取1或2,当移动到空的地方时可以根据padding参数选择是否填充以及填充方式,

Method 2:parameter sharing

有许多神经元做了相同的事情,因此我们可以采用共享参数的方法进行优化,减少参数数目。

 共享参数就是让任务相同的两个神经元所有参数都一样,如下图所示:

Summary:

bias大flexibility小,专门为影像设计,所以应用在影像上效果很好,但是运用在其他方面效果不一定好。 

Convolutional Layer

Convolutional Layer即receptive field+parameter sharing,选取filter进行卷积,filter的大小为kernel size*输入图片的channel,例如输入图片为3通道,kernel size为3*3,则filter的大小即为3*3*3。没经过一次卷积层,虽然kernel size不变,但是实际探测的区域在原图中已经变大了,filter其实就是参数,卷积层与神经网络的关系:每个Filter就是各个感受野上对应神经元共享的一组参数,Filter的个数就说明了感受野上有多少个神经元在进行观测。

在这里插入图片描述

Pooling 

池化层没有参数,经常用max pooling 只是将图片减小,一般为一层卷积层,一层池化层。主要作用为减少计算量,现在由于算力的提升,也可以全为卷积层不用池化层。

在这里插入图片描述

summary 

在这里插入图片描述

传统机器学习问题:

我们得到的训练数据有可能和真实数据差别很大,想要训练数据和真实数据接近的方法是提高N和降低H即提高数据集或减少参数可选择数量,但是这两个方法在传统机器学习中均有问题:

我们可能很难提高N的数量,能获得的数据集有限只有那么多,而如果我们降低H,可能会使得原本得到的loss就很大,解决办法是采用深度学习。

深度学习一般采用deep(深)的模型, 而不是用层数少一层中神经元较多的模型

虽然一层的模型也可以表示所有式子,但是当模型只有一层时往往需要很多输入,而较深的模型需要的输入较少

 

 

部分图片来自李宏毅2021春季机器学习课程笔记5:Convolutional Neural Network(CNN)_Andy in boots的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值