Deep Learning入门---神经网络概念

第三章核心内容总结

重点名词:

  • 神经网络:由输入层、隐藏层(中间层)和输出层构成,通过自动学习权重参数从数据中学习。
  • 激活函数:连接感知机和神经网络的桥梁,如sigmoid函数(平滑连续)和ReLU函数,替代感知机中的阶跃函数。
  • sigmoid函数:平滑的S型曲线函数,输出0到1之间的连续值,用于信号转换。
  • 阶跃函数:以阈值为界输出0或1的函数,感知机中使用。
  • 恒等函数:回归问题中输出层的激活函数,输入直接输出。 softmax函数:分类问题中输出层的激活函数,将输入正规化为概率输出,总和为1。
  • MNIST数据集:手写数字图像数据集,包含6万张训练图像和1万张测试图像,用于图像识别。
  • 批处理:将输入数据打包成批(batch)进行处理,利用NumPy高效运算,加速推理和学习。

第三章主要介绍了神经网络的基本概念、结构以及实现方法,重点包括以下内容:

  1. 从感知机到神经网络

神经网络由输入层、隐藏层(中间层)和输出层构成,信号通过激活函数在层间传递。

感知机使用阶跃函数作为激活函数,而神经网络通常使用平滑的激活函数(如sigmoid函数),这是两者的主要区别。

  1. 激活函数

阶跃函数:以阈值为界,输出发生急剧变化(0或1)。

sigmoid函数:输出在0到1之间平滑变化,公式为 h(x)=11+e−xh(x) = \frac{1}{1 + e^{-x}}h(x)=1+e−x1。

ReLU函数:在输入大于0时输出原值,小于等于0时输出0,公式为 h(x)=max⁡(0,x)h(x) = \max(0, x)h(x)=max(0,x)。

激活函数必须是非线性的,否则多层网络无法发挥优势。

  1. 多维数组运算

使用NumPy进行高效的矩阵运算,实现神经网络中的信号传递。

矩阵乘法(内积)是神经网络前向传播的核心操作,通过np.dot()实现。

  1. 3层神经网络的实现

通过定义权重、偏置和激活函数,实现从输入到输出的信号传递。

使用NumPy数组简化代码,提高计算效率。

  1. 输出层的设计

恒等函数:用于回归问题,输出输入信号的原样。

softmax函数:用于分类问题,将输出转换为概率分布,公式为 yk=eak∑i=1neaiy_k = \frac{e^{a_k}}{\sum_{i=1}^{n} e^{a_i}}yk=∑i=1neaieak。

输出层神经元数量通常等于类别数。

  1. 手写数字识别(MNIST数据集)

使用MNIST数据集进行图像分类任务。

实现神经网络的前向传播(推理处理),通过批处理(batch)提高计算效率。

预处理(如正规化)对提高识别性能很重要。

  1. 批处理

将输入数据打包成批(batch),一次性处理多个数据,提高计算速度并减轻数据总线负荷。

关键点总结:

神经网络通过激活函数实现非线性变换,增强表达能力。

使用NumPy进行矩阵运算,高效实现前向传播。

输出层根据问题类型(回归或分类)选择激活函数。

批处理和预处理是实际应用中的重要技巧。

第三章为后续神经网络的学习(如损失函数、梯度下降等)奠定了基础。

第四章核心内容总结

重点名词:

  • 学习:从训练数据中自动获取最优权重参数的过程。
  • 损失函数:衡量神经网络性能"恶劣程度"的指标,如均方误差和交叉熵误差。
  • 均方误差:损失函数的一种,计算输出与监督数据各元素差的平方和。
  • 交叉熵误差:损失函数的一种,用于分类问题,仅计算正确解标签对应的输出的自然对数。
  • mini-batch学习:从训练数据中随机选取一小批数据进行学习,近似整体损失函数。
  • 梯度:损失函数关于所有权重参数的偏导数汇总而成的向量,指示函数值减小最多的方向。
  • 梯度法(梯度下降法):通过沿梯度方向更新参数寻找损失函数最小值的方法。
  • 学习率:控制参数更新步长的超参数,过大或过小都会影响学习效果。
  • 数值微分:利用微小差分近似计算导数的过程,简单但计算耗时。 解析性求导:基于数学式推导求导数的过程,结果精确无误差。
  • 随机梯度下降法(SGD):对随机选择的mini-batch数据使用梯度下降法。
  • epoch:所有训练数据被使用过一次的更新次数,用于评价学习进度。

第四章《神经网络的学习》主要介绍了神经网络如何通过数据自动学习权重参数,核心内容包括损失函数、梯度下降法以及数值微分的实现。以下是第四章的总结:

  1. 从数据中学习

神经网络的核心优势是能够从数据中自动学习权重参数,无需人工设定。

机器学习分为两个阶段:学习阶段(使用训练数据优化参数)和推理阶段(使用学习到的模型处理新数据)。

数据驱动的方法避免了人为设计规则,使神经网络能够端到端地学习。

  1. 训练数据与测试数据

为防止过拟合,数据分为训练数据(用于学习)和测试数据(用于评估模型泛化能力)。

泛化能力是模型处理未见过数据的关键目标,过拟合会降低泛化能力。

  1. 损失函数

损失函数衡量神经网络输出与正确标签之间的差异,是学习的指标。

常用损失函数:

均方误差(MSE):计算输出与标签之差的平方和。

交叉熵误差(CEE):用于分类问题,关注正确标签对应的输出概率。

损失函数需为连续可导函数,以便使用梯度法优化(阶跃函数不适用)。

Mini-batch学习:从训练数据中随机选取小批量数据计算损失,提高学习效率。

  1. 数值微分

导数表示函数在某个瞬间的变化量,通过微小差分近似计算(数值微分)。

为避免舍入误差,使用中心差分法(f(x+h)−f(x−h)f(x+h) - f(x-h)f(x+h)−f(x−h) / 2h2h2h)。

偏导数:多变量函数中对某一变量的导数,其他变量固定。

梯度:所有变量偏导数组成的向量,指向函数值下降最快的方向。

  1. 梯度法

梯度法通过沿梯度方向更新参数,寻找损失函数的最小值。

梯度下降法:用于最小化损失函数;梯度上升法用于最大化(可通过符号反转转换)。

学习率:控制参数更新步长,过大可能导致震荡,过小则收敛缓慢。

梯度法可能陷入局部极小值或鞍点,但仍是神经网络学习的主要方法。

  1. 学习算法的实现

结合数值微分、损失函数和梯度法,实现神经网络的学习过程。

通过迭代更新权重参数,使损失函数逐渐减小,提升模型性能。

关键点

损失函数的选择:回归问题常用均方误差,分类问题常用交叉熵误差。

梯度的重要性:梯度指示参数更新方向,是优化过程的核心。

学习率的调整:需谨慎设置学习率,平衡收敛速度与稳定性。

批处理:使用Mini-batch提高计算效率,近似整体数据分布。

第四章为神经网络的学习奠定了理论基础,后续章节将深入实现细节(如误差反向传播法)。

相关推荐
AI先驱体验官2 小时前
臻灵:数字人+大模型,实时交互的技术临界点在哪里
大数据·人工智能·深度学习·microsoft·重构·开源·交互
AI大法师2 小时前
复盘 TikTok 品牌升级:动态品牌系统应该怎么理解和落地
大数据·人工智能·设计模式
王解2 小时前
第5篇:ReMe——文件即记忆,让用户可读、可改、可迁移
人工智能·ai agent·记忆管理·认知进化
youcans_2 小时前
【HALCON 实战入门】4. 图像读取、显示与保存
图像处理·人工智能·计算机视觉·halcon
weixin_447443252 小时前
AI启蒙Lean4正篇
人工智能·经验分享
w_t_y_y2 小时前
python AI工程(一)python实现mcp(1)概述
人工智能
鸿途优学-UU教育2 小时前
AI赋能教育——法考备考的智慧升级
大数据·人工智能·法律·uu教育·法考机构
FrontAI2 小时前
深入浅出 LangChain —— 第三章:模型抽象层
前端·人工智能·typescript·langchain·ai agent
Destiny_where2 小时前
Langgraph基础(4)-中断interrupt.实现图执行的动态暂停与外部交互
人工智能·python·langchain·langgraph