人工智能:从基础到实践(微课视频版)课件 第5章 神经网络与深度学习基础_第1页
人工智能:从基础到实践(微课视频版)课件 第5章 神经网络与深度学习基础_第2页
人工智能:从基础到实践(微课视频版)课件 第5章 神经网络与深度学习基础_第3页
人工智能:从基础到实践(微课视频版)课件 第5章 神经网络与深度学习基础_第4页
人工智能:从基础到实践(微课视频版)课件 第5章 神经网络与深度学习基础_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章神经网络与深度学习基础任课教师:1.神经网络基础21.1神经网络概述什么是神经网络(NeuralNetwork,NN)?受生物神经元启发的计算模型。由大量相互连接的节点(神经元)组成。通过节点之间的连接权重(weights)来学习和存储信息。能够从数据中学习复杂的模式和关系。3信息传输方向

4网络结构(NetworkArchitecture):输入层(InputLayer):接收原始数据。隐藏层(HiddenLayers):进行特征提取和转换(可以有多层)。输出层(OutputLayer):输出最终结果(e.g.,类别概率,预测值)。5连接方式:全连接层(FullyConnected/DenseLayer):层内的每个神经元都与前一层的所有神经元相连接。前馈网络(FeedforwardNetworks):信息从输入层单向流向输出层,没有循环。61.2激活函数(ActivationFunctions)激活函数的作用:引入非线性性(IntroduceNon-linearity):这是激活函数最核心的作用。如果神经网络只使用线性操作(加权求和),那么多层线性网络本质上等同于单层线性网络,无法拟合复杂数据。使得神经网络能够学习和逼近复杂的非线性函数:现实世界中的许多问题是非线性的。影响模型的学习能力和收敛速度。7没有激活函数(或使用线性激活)会怎样?整个网络退化为一个简单的线性模型,无法解决非线性问题。8常见激活函数Sigmoid:

输出范围:(0,1)优点:输出可解释为概率(常用于二分类输出层)。缺点:梯度消失(VanishingGradient):当输入值过大或过小时,梯度趋近于0,导致训练缓慢。输出不以零为中心(Notzero-centered):可能影响梯度下降的效率。9Tanh(HyperbolicTangent):

输出范围:(-1,1)优点:输出以零为中心,通常比Sigmoid收敛更快。缺点:仍存在梯度消失问题。10ReLU(RectifiedLinearUnit):

优点:计算简单,训练速度快。在正区间内梯度恒为1,有效缓解梯度消失问题。是目前最常用的激活函数之一。缺点:死亡ReLU(DyingReLU):如果神经元输入为负,梯度为0,该神经元可能永远不会被激活。输出不以零为中心。11LeakyReLU:(e.g.,)优点:解决了DyingReLU问题,允许负输入时有小的非零梯度。变种:ParametricReLU(PReLU,可学习),RandomizedReLU(RReLU).12Softmax:for作用:将一个K维的实数向量转换为一个K维的概率分布。*每个输出值在(0,1)之间。*所有输出值之和为1。常用场景:多分类问题的输出层。与Sigmoid的区别:Sigmoid用于二分类或多标签分类(每个标签独立)。Softmax用于互斥的多分类(一个样本只属于一个类别)。131.3前馈神经网络与反向传播算法

14

15反向传播算法(Backpropagation)

16参数更新(梯度下降):(eta)是学习率(LearningRate)。171.4神经网络的应用案例图像识别(ImageRecognition):手写数字识别(MNIST)物体检测(ObjectDetection-e.g.,YOLO,SSD)图像分类(ImageClassification-e.g.,ImageNetChallenge)图像分割(ImageSegmentation)人脸识别自然语言处理(NLP):文本分类(e.g.,情感分析,主题分类)机器翻译(e.g.,GoogleTranslate)问答系统文本生成(e.g.,GPT系列)18语音识别(SpeechRecognition):将语音信号转换为文本(e.g.,Siri,Alexa)。推荐系统(RecommenderSystems):个性化商品/内容推荐(e.g.,Netflix,Amazon)。预测与决策:金融市场预测(股票价格、信用评分)医疗诊断辅助游戏AI(e.g.,AlphaGo)192.深度学习基础202.1卷积神经网络(ConvolutionalNeuralNetworks-CNN)为什么需要CNN?(尤其针对图像)传统FNN的问题:处理高维图像数据时,参数量巨大(e.g.,256x256x3imageFClayermillionsofweights)。忽略了图像的空间结构(像素间的局部相关性)。CNN的优势:局部连接(LocalConnectivity/SparseConnectivity):神经元只与前一层的一个局部区域相连。参数共享(ParameterSharing):同一个卷积核在图像的不同位置共享权重。平移不变性(TranslationInvariance):对物体在图像中的位置不敏感。核心思想:模拟人类视觉皮层处理信息的方式,逐层提取特征。21CNN核心概念(1/2)卷积层(ConvolutionalLayer):卷积核(Kernel/Filter):一个小的权重矩阵,用于在输入数据上滑动并进行卷积运算,提取特定特征(e.g.,边缘,纹理)。特征图(FeatureMap):卷积核在输入上运算后得到的输出。每个卷积核产生一个特征图。感受野(ReceptiveField):特征图上一个神经元对应到输入图像上的区域大小。步长(Stride):卷积核每次滑动的像素数。填充(Padding):在输入图像边缘添加像素(通常是0),以控制输出特征图的大小,并保留边缘信息。‘valid’padding:不填充。‘same’padding:填充使得输出与输入大小相同(当stride=1)。22CNN核心概念(2/2)池化层(PoolingLayer/SubsamplingLayer):目的:降低特征图的维度(空间尺寸)。减少参数数量和计算量。增强模型的鲁棒性,防止过拟合(引入少量平移不变性)。常见类型:最大池化(MaxPooling):取池化窗口内的最大值。平均池化(AveragePooling):取池化窗口内的平均值。全连接层(FullyConnectedLayer):通常在卷积层和池化层之后。将提取到的高级特征进行整合,用于最终的分类或回归任务。与传统神经网络中的层相同。23卷积神经网络架构24CNN:典型架构与应用典型CNN架构演进:LeNet-5(YannLeCun,1998):手写数字识别。(Conv->Pool->Conv->Pool->FC->FC->Output)AlexNet(2012):ImageNet冠军,引爆深度学习热潮。更深,更大,使用ReLU,Dropout,DataAugmentation。VGGNet(2014):使用非常小的(3x3)卷积核,通过堆叠构建深层网络。GoogLeNet(Inception,2014):Inception模块,并行使用不同大小的卷积核,提高参数效率。ResNet(ResidualNetwork,2015):引入残差连接(ShortcutConnections),使得训练非常深的网络(上百甚至上千层)成为可能,解决了深度网络的退化问题。25应用:图像分类物体检测(e.g.,R-CNN,FasterR-CNN,YOLO,SSD)图像分割(e.g.,FCN,U-Net)人脸识别医学影像分析262.2循环神经网络(RecurrentNeuralNetworks-RNN)为什么需要RNN?处理序列数据(SequentialData),其中元素的顺序很重要。文本(单词序列)时间序列(股票价格、传感器数据)语音(音频帧序列)传统FNN和CNN假设输入是独立的,不适合处理序列依赖。核心思想:网络具有记忆能力,当前时刻的输出不仅依赖于当前输入,还依赖于之前时刻的状态。通过循环连接(RecurrentConnection),将前一时刻的隐藏状态传递给当前时刻。27RNN:核心概念与数学表示核心概念:隐藏状态(HiddenState,):编码了到当前时刻为止的序列信息,作为网络的“记忆”。循环连接(RecurrentConnection):的计算依赖于。通过时间展开(UnrollinginTime):可以将RNN视为在时间维度上共享参数的深层前馈网络。28数学表示(简单RNN):隐藏状态更新:输出计算::时刻的输入:时刻的隐藏状态(通常初始化为零向量):时刻的输出:权重矩阵(在所有时间步共享):偏置向量:激活函数(e.g.,Tanh,ReLU)29RNN:问题与改进变体RNN存在的问题:梯度消失(VanishingGradients):在长序列中,梯度通过时间反向传播时会指数级衰减,导致难以学习长距离依赖。梯度爆炸(ExplodingGradients):梯度指数级增长,导致训练不稳定(可用梯度裁剪解决)。难以捕捉非常长的序列依赖关系。30循环神经网络架构31

32RNN:应用自然语言处理(NLP):语言建模(LanguageModeling):预测下一个词。机器翻译(MachineTranslation):Seq2Seq模型(Encoder-Decoder架构)。文本生成(TextGeneration):故事、诗歌、代码。情感分析(SentimentAnalysis):判断文本情感倾向。命名实体识别(NamedEntityRecognition,NER)。问答系统。33语音识别(SpeechRecognition):将声学特征序列转换为文本。时间序列预测(TimeSeriesPrediction):股票价格预测。天气预报。传感器数据分析。图像描述生成(ImageCaptioning):CNN(图像特征提取)+RNN(描述生成)。视频分析:动作识别。342.3Transformer网络为什么是Transformer?(Motivations)RNN/LSTM的局限性:顺序计算,难以并行化:依赖,限制了训练速度。长距离依赖捕捉仍有挑战:虽然LSTM缓解了,但对非常长的序列仍可能不足。Transformer(Vaswanietal.,2017,“AttentionIsAllYouNeed”):完全抛弃了循环结构。完全基于注意力机制(AttentionMechanism)。可以高效并行计算。在捕捉长距离依赖方面表现优异。核心思想:在处理序列中的一个元素时,能够同时关注序列中所有其他元素的重要性。35Transformer:核心概念(1/2)自注意力机制(Self-AttentionMechanism):允许模型在编码序列中某个词时,动态地衡量序列中其他词对该词的重要性。对于输入序列中的每个词,计算三个向量:查询(Query,Q):代表当前词。键(Key,K):代表序列中所有词,用于与Q匹配。值(Value,V):代表序列中所有词的内容。注意力权重计算::键向量的维度(用于缩放)。36多头注意力(Multi-HeadAttention):将Q,K,V线性投影到多个不同的子空间(“头”)。在每个头上并行计算自注意力。将多个头的输出拼接并再次线性投影。好处:允许模型在不同表示子空间中共同关注来自不同位置的信息。37Transformer:核心概念(2/2)

38Transformer:结构与应用Transformer整体结构:通常包含编码器(Encoder)和解码器(Decoder)堆栈。编码器:由N个相同的层堆叠,每层包含多头自注意力和前馈网络。解码器:由N个相同的层堆叠,每层除了编码器中的两个子层外,还插入一个作用于编码器输出的多头注意力层(Encoder-DecoderAttention)。解码器的自注意力层需要使用掩码(Masking)防止关注未来位置。39应用:机器翻译文本生成预训练语言模型(Pre-trainedLanguageModels-PLMs):BERT(BidirectionalEncoderRepresentationsfromTransformers):使用TransformerEncoder,通过掩码语言模型(MLM)和下一句预测(NSP)进行预训练。GPT(GenerativePre-trainedTransformer):使用TransformerDecoder,通过自回归语言模型进行预训练。这些模型在大量文本上预训练后,可以通过微调(Fine-tuning)适应各种下游NLP任务。也开始应用于计算机视觉(VisionTransformer-ViT)、语音等领域。40Transformer网络结构412.4主流深度学习框架及实践案例为什么使用深度学习框架?高效的张量(Tensor)运算:Tensor是多维数组,是深度学习的基本数据结构。框架底层使用C++/CUDA优化,提供高效的数值计算。自动微分(AutomaticDifferentiation/Autograd):自动计算复杂模型的梯度,是反向传播的核心,极大简化了模型开发。丰富的API和预构建模块:内置各种网络层(Dense,Conv,RNN,Attention)、激活函数、损失函数、优化器。方便快速搭建和实验模型。硬件加速支持(GPU/TPU):无缝利用GPU/TPU进行大规模并行计算,大幅缩短训练时间。大规模分布式训练能力:支持在多GPU或多台机器上进行分布式训练。模型部署与生态系统:提供模型保存、加载、转换(e.g.,ONNX)和部署工具(e.g.,TFServing,TorchServe)。42主流深度学习框架(1/4)TensorFlow:开发者:GoogleBrainTeam特点:成熟稳定,生态系统完善:广泛的社区支持,丰富的教程和工具。KerasAPI:作为TensorFlow的官方高级API,简洁易用,适合快速原型开发。灵活性:支持静态图(GraphMode,TF1.x)和动态图(EagerExecution,TF2.x默认)。部署能力强:TensorFlowServing:用于生产环境部署。TensorFlowLite:用于移动和嵌入式设备。TensorFlow.js:用于浏览器和Node.js环境。TensorBoard:强大的可视化工具。适用场景:工业界大规模应用、研究、全平台部署。43主流深度学习框架(2/4)PyTorch:开发者:FacebookAIResearch(FAIR)/MetaAI特点:动态图优先(Define-by-Run):非常灵活,易于调试,代码更Pythonic。简洁直观的API:上手快,深受研究者喜爱。强大的社区和学术界支持:大量最新研究成果首先在PyTorch上实现。TorchScript&TorchServe:用于模型序列化和部署。生态:torchvision,torchtext,torchaudio等库。适用场景:学术研究、快速原型开发、对灵活性要求高的项目。44主流深度学习框架(3/4)PaddlePaddle(飞桨):开发者:百度特点:国内使用广泛:中文文档和社区支持完善。易学易用:提供简洁的API和丰富的模型库(PaddleHub)。动静统一:支持动态图和静态图编程。端到端开发套件:提供从模型训练到部署(PaddleLite,PaddleServing,EasyDL,BML)的全流程支持。针对国内应用场景优化:丰富的产业级模型库。适用场景:国内工业界应用、教育、对中文支持有需求的项目。45主流深度学习框架(4/4)MindSpore:开发者:华为特点:全场景AI框架:支持端、边、云的协同与部署。自动并行与图算融合:针对华为昇腾(Ascend)AI处理器和GPU进行了深度优化。支持动静态图统一。原生支持大模型训练。安全可信:内置隐私保护和对抗鲁棒性等特性。适用场景:华为生态系统、对国产硬件优化有需求、全场景AI应用、研究。46框架实践案例选择一个框架(e.g.,TensorFlow/Keras或PyTorch)常见步骤:数据加载与预处理:使用框架内置数据集(MNIST,CIFAR-10)或自定义数据集。数据增强、归一化。模型构建:使用框架提供的层(Dense,Conv2D,LSTM,etc.)搭建模型。示例:构建一个简单的CNN用于图像分类。模型编译/配置:指定优化器(Adam,SGD)、损失函数(CrossEntropyLoss,MSELoss)、评估指标(accuracy)。模型训练:调用fit()(Keras)或编写训练循环(PyTorch)。在GPU上进行加速训练(如果可用)。模型评估:在测试集上评估模型性能。模型保存与加载:保存训练好的模型权重或整个模型。472.5GPU编程环境搭建与神经网络加速训练为什么需要GPU加速?并行计算能力:CPU(CentralProcessingUnit):少量核心,擅长通用计算和复杂逻辑控制。GPU(GraphicsProcessingUnit):大量(数千个)小型核心,专为大规模并行计算设计。深度学习的计算特点:涉及大量的矩阵/张量乘法和加法运算。这些运算可以高度并行化。效果:使用GPU训练深度学习模型通常比CPU快几个数量级。48GPU环境搭建(NVIDIA为例)硬件要求:NVIDIAGPU(e.g.,GeForceRTXseries,Quadro,Tesla)。NVIDIA显卡驱动(NVIDIADriver):从NVIDIA官网下载并安装与GPU型号和操作系统匹配的最新驱动。CUDAToolkit:NVIDIA的并行计算平台和编程模型。深度学习框架依赖CUDA来利用GPU。下载并安装与驱动版本兼容的CUDAToolkit。nvcc--version(检查CUDA版本)49cuDNN(CUDADeepNeuralNetworklibrary):NVIDIA提供的用于深度神经网络的GPU加速库。包含卷积、池化等操作的高度优化实现。下载cuDNN(需要注册NVIDIA开发者账户),解压并将其文件复制到CUDAToolkit的相应目录。安装支持GPU的深度学习框架:TensorFlow:

pipinstalltensorflow(通常会自动安装GPU支持版,若CUDA环境配置正确)检查:importtensorflowastf;print(tf.config.list_physical_devices('GPU'))PyTorch:

pipinstalltorchtorchvisiontorchaudio--index-url/whl/cuXXX(XXX对应CUDA版本,e.g.,cu118,cu121)检查:importtorch;print(torch.cuda.is_available());print(torch.cuda.get_device_name(0))50GPU加速原理与框架使用GPU加速原理(简要):数据传输:模型参数和训练数据从CPU内存复制到GPU显存。并行计算:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论