1
什么是卷积神经网络?
2
经典控制技术中的线性规划
控制技术的任务是借助传感器读取数据并进行处理,然后根据规则做出响应,最后显示或发送结果。例如,温度调节器每秒钟测量一次温度,通过微控制器单元(MCU)读取温度传感器的数据。该数值用于闭环控制系统的输入,并与设定的温度进行比较。这就是一个借助MCU执行线性规划的例子,这种技术通过比较预编程值和实际值来给出明确的结论。相比之下,AI系统通常依据概率论来发挥作用。
3
复杂模式和信号处理
4
机器学习如何取代经典规则
5
AI的神经元网络类似于人脑的生物神经元网络。一个神经元有多个输入,但只有一个输出。基本上,这些神经元都是输入的线性变换——将输入乘以数字(权重w)并加上一个常数(偏置b),然后通过一个固定的非线性函数产生输出,该函数也被称为激活函数1。作为网络中唯一的非线性部分,激活函数用于定义人工神经元值的激活范围。神经元的功能在数学上可以描述为
其中,f为激活函数,w为权重,x为输入数据,b为偏置。数据可以是单独的标量、向量或矩阵。图1显示了一个神经元,它拥有三个输入和一个激活函数ReLU2。网络中的神经元总是分层排列的。
图1.拥有三个输入和一个输出的神经元
图2.一个小型神经网络
图3.用CIFAR-10数据集训练的CIFAR网络模型
CIFAR-10是一个特定数据集,通常用于训练CIFAR神经网络。它由60000幅32×32彩色图像组成,分为10个类别。这些图像是从各种来源收集的,例如网页、新闻和个人图像集。每个类别包含6000幅图像,平均分配在训练集、测试集和验证集中,使其成为测试计算机视觉和其他机器学习模型的理想图像集。
即使是像CIFAR这样的小型网络,每层也有数百个神经元,并且有许多串行连接的层。随着网络的复杂度和规模的增加,所需的权重和偏置数量也迅速增长。图3所示的CIFAR-10示例已经有20万个参数,每个参数在训练过程中都需要一组确定的值。特征图可以由池化层进一步处理,以减少需要训练的参数数量并保留重要信息。
图4.CNN的特征图
如上所述,在CNN中的每次卷积之后,通常会发生池化,在一些文献中也常被称为子采样。它有助于减少数据的维度。图4中的特征图里面的很多区域包含很少甚至不含有意义的信息。这是因为对象只是图像的一小部分,并不构成整幅图像。图像的其余部分未在特征图中使用,因此与分类无关。在池化层中,池化类型(最大值池化或均值池化)和池化窗口矩阵的大小均被指定。在池化过程中,窗口矩阵逐步在输入数据上移动。例如,最大值池化会选取窗口中的最大数据值而丢弃其它所有的值。这样,数据量不断减少,最终形成各个对象类别的唯一属性。
卷积和池化的结果是大量的二维矩阵。为了实现我们真正的目标即分类,我们需要将二维数据转换成一个很长的一维向量。转换是在所谓的压平层中完成的,随后是一个或两个全连接层。全连接层的神经元类似于图2所示的结构。神经网络最后一层的输出要与需要区分的类别的数量一致。此外,在最后一层中,数据还被归一化以产生一个概率分布(97.5%的猫,2.1%的豹,0.4%的虎,等等)。
这就是神经网络建模的全过程。然而,卷积核与滤波器的权重和内容仍然未知,必须通过网络训练来确定使模型能够工作。这将在后续文章中说明。
1通常使用sigmoid、tanh或ReLU函数。
2 ReLU:修正线性单元。对于该函数,输入值为负时,输出为零;输入值大于零时,输出值为输入值。
👇点击探索ADI“芯”世界
·
·