个人CNN学习笔记一(小白不喜勿喷)

一、卷积神经网络 – CNN,最擅长的就是图片的处理,它受到人类视觉神经系统的启发。

目前 CNN 已经得到了广泛的应用,比如:人脸识别、自动驾驶、美图秀秀、安防等很多领域。

在 CNN 出现之前,图像对于人工智能来说是一个难题,有2个原因:

  1. 图像需要处理的数据量太大,导致成本很高,效率很低
  2. 图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率不高

而CNN的出现解决了上述问题,即 「将复杂问题简化」,把大量参数降维成少量参数,再做处理。而且保留了图像特征。即CNN 有2大特点:

  1. 能够有效的将大数据量的图片降维成小数据量
  2. 能够有效的保留图片特征,符合图片处理的原则

典型的 CNN 由3个部分构成:

  1. 卷积层               2.池化层          3. 全连接层

简单描述:卷积层负责提取图像中的局部特征,;池化层用来大幅降低参数量级(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。

1.卷积----提取特征

用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。得到的图像仍然较大

2.池化层(下采样)——数据降维,避免过拟合

        做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,得到的图像更小,就进行下采样。

3.全连接层——输出结果

      经过卷积层和池化层处理过的数据输入到全连接层,得到最终想要的结果。

二、人工神经网络

       神经网络由大量的神经元相互连接而成。每个神经元接受线性组合的输入后,最开始只是简单的线性加权,后来给每个神经元加上了非线性的激活函数,从而进行非线性变换后输出。每两个神经元之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。下图便是一个三层神经网络结构

最左边的原始输入信息称之为输入层*(接受输入讯息),最右边的神经元称之为输出层,输出结果(上图中输出层只有一个神经元),中间的叫隐藏层*(激活函数)。

实际中也有多层隐藏层的,即输入层和输出层中间夹着数层隐藏层,层和层之间是全连接的结构,同一层的神经元之间没有连接。

监督学习:

训练样本既包括输入特征x,也包含对应的输出y(也叫标记,label)

无监督学习:

训练样本只有x没有y,模型可以总结出特征x的一些规律,但是无法知道对应的y。如语音转到文本的识别任务

梯度下降:

每次迭代修改x为x1、x2、x3.....,经过数次迭代后最终达到函数最小值点。因为梯度是个向量指向函数值上升最快的方向,而我们每次都是向函数y=f(x)的梯度的反方向修改x,所以指向的就是函数下降最快的方向。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络(Convolutional Neural Network,CNN)是一种常用于图像、音频等数据的深度学习模型。它通过卷积层、池化层等操作,对输入数据进行特征提取,最终输出分类结果。下面是一个简单的CNN学习笔记: ## 1. 卷积层 卷积层是CNN的核心组件之一,它通过滑动一个固定大小的卷积核(filter)在输入数据上进行卷积操作,从而提取出输入数据的局部特征。在卷积操作中,卷积核的参数是要被学习的,因此卷积层可以自动学习到对输入数据最有效的特征。 卷积操作的数学定义如下: $$ y_{i,j} = \sum_{m=0}^{k-1} \sum_{n=0}^{k-1} x_{i+m,j+n} \cdot w_{m,n} $$ 其中,$x$ 是输入数据,$y$ 是卷积后的输出数据,$w$ 是卷积核。$k$ 是卷积核的大小。在卷积操作中,卷积核从左上角开始,每次向右移动一个像素,直到遍历完整张图片,得到卷积后的输出数据。 ## 2. 池化层 池化层是一种用于减少特征图大小的操作。它将输入数据的局部区域进行池化操作,输出一个单一的值。常用的池化操作包括最大池化、平均池化等。 最大池化操作的数学定义如下: $$ y_{i,j} = \max_{m=0}^{k-1} \max_{n=0}^{k-1} x_{i+m,j+n} $$ 其中,$x$ 是输入数据,$y$ 是池化后的输出数据。$k$ 是池化的大小。 ## 3. 全连接层 全连接层是CNN的输出层,它将卷积层和池化层提取到的特征进行连接,并输出最终的分类结果。在全连接层中,每个神经元都与上一层的所有神经元相连接,因此全连接层的参数量很大。 ## 4. Dropout Dropout是一种防止过拟合的技术。在训练过程中,Dropout会随机将一部分神经元的输出设置为0,从而强制神经网络学习到更加鲁棒的特征。 ## 5. 损失函数 损失函数是CNN训练过程中的关键指标,它用于评估模型的预测结果与真实结果之间的差异。常用的损失函数包括交叉熵损失函数、均方误差损失函数等。 ## 6. 优化器 优化器是用于更新神经网络参数的算法。常用的优化器包括随机梯度下降(SGD)、Adam等。 以上是一个简单的CNN学习笔记,希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值