小白从零开始勇闯人工智能:深度学习汇总(复习大纲篇)
一、神经网络基础1、神经元深度学习的“细胞”输入特征向量比如一张图片的像素值、房价预测中的面积和房间数。权重每个输入的重要程度模型通过训练自动学习。如果所有权重初始化为 0所有神经元对称无法学习。偏置让神经元可以平移决策边界即使输入全为零神经元仍可能被激活。加权和将输入与权重相乘后求和再加上偏置。激活函数引入非线性否则多层网络等效于单层线性模型无法拟合复杂问题。2、激活函数让网络“活”起来Sigmoid输出 (0,1)适合表示概率。缺点是梯度消失导数最大仅 0.25深层网络梯度指数衰减输出非零中心收敛慢。Tanh输出 (-1,1)零中心化比 Sigmoid 稍好但依然存在梯度消失。ReLU计算快正区间梯度恒为 1缓解梯度消失。但会有神经元死亡输入永远为负则不再更新。我们可以通过Leaky ReLU给负数一个微小斜率、PReLU斜率可学习、ELU、Swish来改进这一缺点。CNN 多用 ReLU 及其变种RNN 常用 tanh输出层二分类用 sigmoid多分类用 softmax回归用线性。3、前向传播与反向传播前向传播数据从输入层逐层计算最终得到预测结果。反向传播基于链式法则从输出层反向计算每个参数对损失的梯度并用梯度下降更新参数。这是网络“学习”的核心。二、模型训练与优化1、损失函数衡量预测与真实之间的差距均方误差MSE回归任务常用放大大误差的惩罚。交叉熵损失分类任务首选与 softmax 结合时梯度形式优美误差越大更新越快。为什么分类不用 MSE因为 MSE 配合 sigmoid 时梯度易饱和收敛慢且概率解释不匹配。还有多标签分类用二值交叉熵BCE每个类别独立 sigmoid。2、优化器如何下山SGD每次用一小批数据计算梯度直接更新。容易震荡收敛慢。SGD 动量累积历史梯度加速在平坦区域的移动减少震荡。Adam自适应学习率 动量收敛快超参数鲁棒是目前默认首选。偏差修正初始时刻矩估计有偏需校正。AdamW解耦权重衰减泛化更好。建议先选Adam 系列快速上手SGD 动量在图像分类上有时精度更高。3、学习率学习率太大会损失震荡不收敛。太小会收敛极慢易陷入局部最优。学习率的衰减为初期大步探索后期微调。4、过拟合与正则化过拟合模型死记硬背训练数据泛化能力差。L1/L2 正则化在损失中加权重惩罚。L2 让权重趋近于 0L1 使权重稀疏。Dropout训练时随机丢弃神经元迫使网络学习冗余特征。测试时关闭并缩放权重。数据增强旋转、翻转、裁剪、颜色抖动、MixUp、CutMix 等让模型见到更多样本来提升泛化。早停法验证集损失不再下降时停止训练最简单有效的正则化。标签平滑将硬标签0,1变为软标签0.05,0.95防止模型过于自信。5、归一化Batch Normalization对小批量样本做归一化再学习缩放和平移。加速收敛轻微正则化。缺点小 batch 效果差不适用于 RNN。Layer Normalization对单个样本所有特征归一化适用于 Transformer 和 RNN。Instance Norm每个样本每个通道独立归一化用于风格迁移。Group Norm折中方案在小 batch 下比 Batch Norm 稳定。三、卷积神经网络CNN与 YOLO1、卷积操作卷积核滑动手电筒提取局部模式参数共享平移不变性。步长控制输出尺寸步长为 2 时尺寸减半。填充Same 填充使输出尺寸不变避免边缘信息丢失。空洞卷积扩大感受野而不增参数。2、池化层最大池化保留最强特征。平均池化平滑信息。池化层没有可学习参数只下采样。3、经典 CNN 架构LeNet-5手写数字识别。AlexNetReLU、Dropout、GPU 并行。VGGNet堆叠小卷积核3×3参数少非线性强。ResNet跳跃连接解决退化问题可训练极深网络。残差学习让网络至少不差于浅层。Inception多尺度卷积核并行1×1 降维。DenseNet每层与所有前层连接特征复用显存大。EfficientNet复合缩放深度、宽度、分辨率。4、YOLO实时目标检测1、核心思想You Only Look Once将检测视为回归问题一次前向传播得到所有框。网格划分输入图划分为 S×S 网格每个网格负责预测中心落在此网格的物体。每个网格输出B 个边界框x, y, w, h, confidence C 个类别概率。损失函数坐标误差权重高、置信度误差、类别误差。2、演进YOLOv2引入 BatchNorm、锚点框、多尺度训练、联合训练YOLO9000。YOLOv3Darknet-53 骨干多尺度预测三个尺度用二元交叉熵实现多标签分类。YOLOv4/v5集成各种 trickMish、SPP、PANet、Mosaic 等工程优化。YOLOv8无锚点设计更强骨干支持实例分割。YOLO系列的优点是处理速度极快全局感受野背景误检少但是对小物体检测差密集物体易漏检。四、循环神经网络与序列模型1、RNN循环神经网络RNN通过隐藏状态在时间步之间传递信息形成对过往序列的记忆因此特别适合处理文本、语音等序列数据。然而在长序列训练中梯度消失或梯度爆炸问题会严重削弱模型对远距离依赖关系的捕捉能力使其难以有效关联前后相距较远的信息。2、LSTM长短时记忆网络通过精巧设计的遗忘门、输入门和输出门构建出独立的细胞状态让信息能在长序列中稳定传递有效缓解了传统RNN的长距离依赖问题。门控循环单元则是其简化版本将门结构合并在参数量更少、计算更高效的同时性能与LSTM相当。3、梯度裁剪梯度裁剪是一种常用的优化技巧通过预设一个阈值在反向传播时计算梯度的范数若范数超过该阈值则按比例缩放梯度使其幅度被限制在可控范围内。这种方法能有效防止梯度爆炸避免参数更新步长过大导致训练不稳定从而保障模型在长序列或深层网络中平稳收敛。五、Transformer 与 BERT1、Transformer 基础Transformer的核心是自注意力机制通过将输入映射为查询、键、值三个矩阵计算每对位置的相关性并以缩放点积形式加权聚合实现全局依赖的并行建模。多头注意力让模型从不同表示子空间联合关注信息。为弥补序列顺序的缺失引入正弦位置编码或可学习嵌入。每个位置通过独立的前馈网络增强表达配合残差连接与层归一化有效稳定了深层网络的训练。2、BERT双向编码器表示1、模型输入模型输入由三部分相加构成Token Embeddings通过WordPiece分词将词元映射为向量Segment Embeddings用于区分不同句子Position Embeddings采用可学习方式注入位置信息。此外输入序列中会加入特殊标记——[CLS]用于聚合整体语义以支持分类任务[SEP]用于分隔句子对[MASK]则作为掩码语言建模的预测目标。2、预训练任务掩码语言模型随机选取15%的词元进行预测其中80%替换为[MASK]10%替换为随机词元10%保持不变以此缓解预训练与微调之间的输入不匹配。下一句预测则通过判断两段文本是否为连续片段使模型学习句子间的语义关系。两者共同构成了BERT的预训练任务。3、微调微调阶段通常取[CLS]标记的输出向量作为序列的整体表示在其上方接入分类层并对整个预训练模型进行端到端的参数更新。这种方式能使模型快速适配分类、序列标注、问答等多种下游任务充分利用预训练学到的语言知识。4、BERT vs GPTBERT基于编码器架构实现双向上下文建模通过掩码语言模型与下一句预测进行预训练擅长分类、序列标注等理解类任务而GPT采用解码器架构进行自回归生成仅关注左侧上下文适用于文本生成场景。在面试中常问BERT选择双向而非自回归是因为理解任务更需要全局信息掩码时不全用[MASK]是为了避免预训练与微调间的输入差异受位置嵌入限制模型通常处理512长度以内的文本更长时可借助滑动窗口或分层策略。维度 BERT GPT 架构 编码器双向 解码器单向 预训练 掩码语言模型 NSP 自回归语言模型 适用 理解类任务 生成类任务 上下文 同时看左右 只看左边
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2444779.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!