人工智能(二)卷积神经网络(CNN)

2020/03/28 AI 共 5539 字,约 16 分钟
AI智谷X

人工智能(二)卷积神经网络(CNN)

一、视觉的原理

  视觉是人类感知世界的重要方式之一,它涉及眼睛、大脑以及视觉系统的相互作用。以下是视觉的基本原理:

1、光的传播:

  视觉的起点是光线从外界物体反射或发射出来,通过眼睛进入人眼。光线在空气中的传播是一个波动现象,它的颜色和强度会受到不同波长的光的影响。

2、角膜和晶状体:

  光线首先通过眼睛的角膜,然后进入晶状体。角膜和晶状体的聚焦作用使得光线能够准确地落在眼球的视网膜上。

3、视网膜:

  视网膜是眼球内的感光器官,包含了大量的光感受器,即视觉细胞。这些细胞分为两种类型:锥细胞和杆细胞,分别负责彩色和黑白视觉。

4、视觉信息的转导:

  光线照射到视网膜上的感光细胞,会激活细胞内的光敏色素,导致电化学反应。这些反应会产生神经信号,通过视神经传递到大脑。

5、视觉皮层:

  大脑中的视觉皮层是负责处理视觉信息的区域。它分为多个层次,每个层次处理不同的特征,如边缘、颜色、形状等。信息在不同的皮层间传递和加工,从而形成我们对于视觉世界的感知。

6、特征提取和模式识别:

  在视觉皮层中,神经元会对视觉信息进行特征提取和模式识别。这使得我们能够识别物体、形状、运动等视觉特征。

7、视觉注意和感知:

  视觉系统在处理大量信息时,需要进行注意和过滤,以便关注重要的信息。视觉注意机制使我们能够选择性地集中注意力,从而形成对于周围环境的感知。

8、视觉深度和立体感:

  通过比较左右眼的视角差异,我们能够感知到物体的深度和距离。这被称为立体视觉,它是通过两只眼睛的协同工作实现的。

9、视觉意识:

  尽管我们的视觉系统在大脑中完成了复杂的信息处理,但我们对于视觉的感知是主观的体验。视觉意识是我们能够主动意识到和感受到视觉信息的存在。

  总之,视觉是一个复杂的过程,涉及眼睛的光学和生物学特性,大脑的神经信号传递和信息加工,以及我们对于视觉世界的感知和体验。这些原理共同作用,使我们能够感知和理解周围的视觉环境。

1、1981年诺贝尔生理学和医学奖授予了两位神经科学家:大卫-休伯尔和托斯坦-威泽尔

  他俩用猫做实验,把电极插入到猫的脑子当中,然后给猫看各种各样不同的图片,去研究猫脑子的反应,他们发现了猫脑子中两种细胞:

第一种叫简单的细胞:

  它的特点是对某一些线条上比较敏感的。

第二种叫复杂的细胞:

  它的特点是不光对线条产生反应,它还能对线条的运动产生反应。

2、在休伯尔和威泽尔的启发下,日本的福岛帮彦提出二一个模型:神经认知模型

  人是如何识别一个物体的类型的呢,人的大脑中有很多皮层,是一层一层对这个视觉信号进行处理的。每个皮层对信号的处理方式是不一样的。

  视觉神经的分层结构:刚进入眼中是一大堆像素点—-抽象出一些特征,比如边缘,方向—-形成了物体的轮廓以及物体的细节—-做出判断。

3、杨立昆,发明出了实用的图像识别方法,称之为卷积神经网络(CNN)

二、卷积:用数学的方法,提取出图像中的特征

  卷积(Convolution)是一种基本的操作,它在图像处理和模式识别领域中起着重要作用。卷积神经网络(Convolutional Neural Network,CNN)就是利用卷积操作来处理图像数据的一类神经网络。

  卷积操作的本质是一种数学运算,它在给定输入数据和一个称为卷积核(或滤波器)的小矩阵之间进行操作,从而产生输出特征图。卷积操作在图像处理中常用于特征提取,它能够捕获图像中的不同特征,如边缘、纹理、形状等。

  卷积操作的基本原理是:将卷积核的每个元素与输入数据的对应元素相乘,然后将所有乘积的结果相加,得到输出特征图的一个像素值。然后,通过滑动卷积核的方式,对整个输入数据进行遍历,从而得到整个输出特征图。

  在卷积神经网络中,卷积操作的主要目的是从输入图像中提取特征。通过使用不同的卷积核,网络可以学习到不同的特征,例如边缘、角点、纹理等。卷积操作的一个重要特点是参数共享,即同一个卷积核在不同位置使用相同的权重,这有助于减少网络的参数量,从而提高训练效率。

  在卷积神经网络中,卷积操作通常会和池化(Pooling)操作、激活函数等结合使用,以构建深层的网络架构,从而实现图像分类、目标检测、图像生成等任务。

  总之,卷积操作在神经网络中是一种基本的特征提取操作,通过卷积核和输入数据之间的运算,可以捕获输入数据中的特定特征,从而为后续任务提供更有意义的表示。

三、池化和激活

1、池化

  池化(Pooling)是卷积神经网络中常用的一种操作,用于减小特征图的尺寸,降低计算复杂度,并增强网络的鲁棒性。池化操作通常紧随卷积操作,在每个卷积层后进行。

  池化操作的基本思想是在特征图上滑动一个固定大小的窗口,然后在窗口内计算一个统计值(如最大值、平均值等),将这个统计值作为窗口内的特征,并将特征图尺寸缩小。常用的池化方法有最大池化(Max Pooling)和平均池化(Average Pooling)。

  具体来说,最大池化会在窗口内选择特征图的最大值作为池化后的值,这有助于保留窗口内最显著的特征。平均池化则是在窗口内计算特征值的平均值,这有助于平滑特征并减少噪声。

池化操作的主要优势包括:

(1)、减小尺寸:

  池化操作可以减小特征图的尺寸,从而降低计算成本和内存占用。

(2)、减少参数:

  池化操作减少了特征图的尺寸,也就减少了后续层的参数数量。

(3)、位置不变性:

  池化操作的最大值或平均值是对窗口内的特征进行汇总,这使得池化操作具有一定的平移不变性,对物体的位置变化不敏感。

(4)、抗噪能力:

  最大池化可以强化突出特征,减少噪声对特征的影响。

然而,池化操作也有一些潜在问题:

(1)、信息损失:

  池化操作可能会损失一些细节信息,尤其是在池化窗口较大时。

(2)、过度采样:

  如果池化窗口过大,可能导致过度采样主要特征,忽略其他重要信息。

(3)、特征定位:

  池化操作降低了特征图的分辨率,可能导致在更深的网络层中难以准确定位特征。

  总之,池化是一种有助于提高卷积神经网络性能的操作,它通过减小特征图尺寸、提取主要特征以及增强鲁棒性等方式,为神经网络的后续层提供更有意义的输入。

2、激活

  激活函数(Activation Function)是连接神经元之间的非线性变换,它在神经网络中起到引入非线性特性的作用,使得网络可以捕获更加复杂的关系和模式。

  神经网络的每个神经元都会将输入加权求和,然后通过激活函数进行转换,得到神经元的输出。如果没有激活函数,多层神经网络将退化为线性模型,无法捕获非线性模式,因为多个线性变换的组合仍然是线性的。

常见的激活函数包括:

(1)、Sigmoid 函数:

  Sigmoid 函数将输入映射到一个介于 0 和 1 之间的输出。它在早期神经网络中被广泛使用,但在深度网络中逐渐被其他激活函数取代,因为它存在梯度消失的问题。

(2)、ReLU 函数(Rectified Linear Unit):

  ReLU 函数在输入大于 0 时返回输入值,否则返回 0。它在深度学习中很受欢迎,因为它避免了梯度消失问题,同时计算效率较高。

(3)、Leaky ReLU 函数:

  Leaky ReLU 是 ReLU 的变种,当输入小于 0 时返回一个较小的斜率乘以输入值,以防止神经元死亡问题。

(4)、Tanh 函数:

  Tanh 函数将输入映射到介于 -1 和 1 之间的输出。它类似于 Sigmoid 函数,但输出范围更广,可以带来更快的收敛速度。

(5)、Softmax 函数:

  Softmax 函数通常用于多类别分类问题,它将一组原始分数(也称为 logits)映射到一个概率分布,使得每个类别的概率都在 0 到 1 之间且总和为 1。

  激活函数的选择会影响神经网络的性能和训练效果。不同的激活函数适用于不同的情况,因此在设计神经网络时需要根据问题的特点和网络的结构来选择适当的激活函数。

四、人工智能的三个核心概念:算法、数据、算力(三者缺一不可)

1、人工智能的算法:

  人工智能领域涵盖了多种算法,用于解决不同类型的问题。以下是一些常见的人工智能算法:

(1)监督学习算法:

  这类算法用于从带有标签的训练数据中学习,并根据这些数据进行预测或分类。常见的监督学习算法包括决策树、支持向量机、朴素贝叶斯、逻辑回归、神经网络等。

(2)无监督学习算法:

  这类算法用于从无标签的数据中发现模式、结构和关系。主要的无监督学习算法有聚类(如 K-Means、层次聚类)、降维(如主成分分析 PCA)、关联规则挖掘等。

(3)半监督学习算法:

  这类算法结合了监督学习和无监督学习,使用带有少量标签的数据和大量无标签的数据来训练模型。

(4)强化学习算法:

  强化学习是一种通过与环境交互来学习最优行为策略的方法。常见的强化学习算法包括 Q-learning、深度 Q 网络(DQN)、策略梯度方法等。

(5)深度学习算法:

  深度学习使用深层神经网络模型来学习复杂的特征表示。常见的深度学习算法包括卷积神经网络(CNN)、循环神经网络(RNN)、长短时记忆网络(LSTM)、变换器(Transformer)等。

(6)遗传算法:

  遗传算法模拟了生物进化的过程,通过遗传操作(如选择、交叉、变异)来优化问题的解。

(7)模糊逻辑:

  模糊逻辑处理模糊或不确定信息,用于建模复杂的关系和决策。

(8)进化算法:

  进化算法通过模拟进化的过程来优化问题的解,包括遗传算法、粒子群优化等。

(9)自然语言处理算法:

  自然语言处理算法用于处理和分析文本数据,包括词嵌入、文本分类、情感分析等。

(10)计算机视觉算法:

  计算机视觉算法用于图像和视频数据的处理,包括图像分类、目标检测、图像生成等。

  这只是人工智能领域中众多算法的一小部分。根据问题的性质和需求,选择适当的算法对于解决具体的任务和实现特定目标非常重要。不同的算法在不同的场景中都有其优势和应用价值。

2、人工智能的数据:

  人工智能的发展和应用需要大量的数据作为支撑,这些数据可以是结构化的、非结构化的、文本、图像、音频等多种形式。以下是人工智能中常见的数据类型:

(1)结构化数据:

  结构化数据是以表格形式呈现的数据,其中包括行和列。这些数据通常在数据库中存储,可以使用 SQL 等技术进行查询和分析。常见的结构化数据包括销售数据、用户信息、金融数据等。

(2)文本数据:

  文本数据是以自然语言形式呈现的数据,包括文章、评论、社交媒体帖子等。自然语言处理技术可以用于处理和分析文本数据,如情感分析、文本分类、机器翻译等。

(3)图像数据:

  图像数据是由像素组成的二维数据,用于表示图像和视觉信息。计算机视觉技术可以用于分析图像数据,如图像分类、目标检测、人脸识别等。

(4)音频数据:

  音频数据是声音波形的数字表示,用于表示声音和语音信息。语音识别技术可以用于将音频数据转换为文本,实现语音命令、转录等应用。

(5)视频数据:

  视频数据是一系列图像的集合,用于表示动态场景和运动信息。视频分析技术可以用于实时监控、行为识别等应用。

(6)时序数据:

  时序数据是按照时间顺序记录的数据,如传感器数据、股票价格、天气数据等。时间序列分析技术可以用于预测未来趋势和模式。

(7)空间数据:

  空间数据涉及地理位置信息,如地图数据、卫星图像等。地理信息系统(GIS)技术可以用于分析和可视化空间数据。

(8)社交媒体数据:

  社交媒体数据包括在社交媒体平台上生成的各种内容,如帖子、评论、分享等。这些数据可用于分析用户行为、舆情分析等。

(9)传感器数据:

  传感器数据由各种传感器收集,如温度传感器、加速度传感器等。这些数据在物联网和工业领域中广泛应用。

  这些不同类型的数据在人工智能应用中起着关键作用,它们提供了训练模型、验证算法和实现各种任务的基础。同时,数据的质量、多样性和数量也对人工智能系统的性能和可靠性产生重要影响。

3、人工智能的算力

  在人工智能领域,算力是指计算机系统的处理能力和性能。随着人工智能技术的发展,特别是深度学习的兴起,对高性能计算资源的需求越来越大。以下是人工智能中涉及的算力相关概念:

(1)训练算力:

  在训练神经网络模型时,需要进行大量的矩阵运算、梯度计算等复杂计算。训练算力指的是计算机系统能够快速高效地执行这些计算任务的能力。高性能图形处理单元(GPU)和专用的神经网络加速器(如TPU)常被用于加速训练过程。

(2)推理算力:

  在模型训练完成后,需要在实际应用中进行推理,即使用训练好的模型对新数据进行预测和分类。推理算力指的是在实时或批处理中,计算机系统能够快速地执行模型的前向传播过程,从而输出预测结果。

(3)分布式计算:

  一些复杂的人工智能任务,如大规模训练和数据处理,需要使用多台计算机协同工作。分布式计算利用多台计算机的算力来并行执行任务,加快任务完成速度。

(4)云计算:

  云计算平台提供了弹性的计算资源,使用户能够根据需要动态地分配和释放算力。许多人工智能应用都依赖于云计算平台来获取必要的计算资源。

(5)量子计算:

  量子计算是一种基于量子位的计算模型,具有极高的计算能力。虽然目前还处于研究阶段,但量子计算可能在未来为一些复杂的人工智能任务提供巨大的计算优势。

  算力的提升对于实现更复杂、更精确的人工智能模型和应用至关重要。随着人工智能技术的不断发展,各种计算硬件和算力优化技术也在不断涌现,以满足日益增长的计算需求。

算力计算还分成三种计算硬件,分别是:

(1)CPU:中央处理器,通用型强,并行能力差

(2)GPU:图形处理器,专用性强,并行能力强

(3)NPU:神经网络处理器,专用性和并行能力都很强


文档信息

Search

    Table of Contents