Featured image of post 读《设计机器学习应用系统》有感-神经网络与机器学习

读《设计机器学习应用系统》有感-神经网络与机器学习

AI Coding 时代,程序员等工程人员应该何去何从,第二部分,机器学习的前置知识。如何表示数据,如何计算和构建树等。

神经网络结构

神经网络基础原理

生物神经元结构与启发

神经元结构示意图

生物神经元结构

  • Hebb 学习规则
  1. 无监督学习:Hebb 规则不需要外部标签指导,只需根据神经元自身的活动调整连接。这是无监督学习思想的源头。
  2. 联想记忆:Hebb 规则天然适合构建联想记忆网络。当两个概念(如"苹果"和"红色")反复同时出现时,网络中对应的神经元连接增强,形成联想。之后看到苹果,自然会联想到红色。
  3. 竞争学习:Hebb 规则的延伸,引入竞争机制,最强的神经元获得权重更新,弱者被抑制。这发展出了自组织映射(SOM)等方法。

线性感知机

能够自动调整权重,从而实现模式识别和分类任务。

  • 感知机模型:一个单层神经网络,由输入层和输出层组成,没有隐藏层。
  1. 线性组合:计算输入的加权总和,加上偏置。
  2. 激活函数:通过阈值函数(简单的正负号函数)将线性输出转换为二值输出

感知机结构

线性可分与 XOR 问题

多层感知机(MLP)

多层感知机在输入和输出层之间增加了隐藏层,隐藏层对输入施加了非线性变换,将原始空间映射到新的空间。

多层感知机结构示意图

XOR问题特征空间变换

重新组织数据的空间分布,原本在空间中交错的XOR数据,变成了在(h1,h2)空间后变的有序,正类聚在一起,负类被分离到两侧,可以轻松的完成线性分类。

  • 万能逼近定理

1789961464372.png

只要隐藏层神经元足够多,单隐藏层 MLP 可以逼近任意连续函数,误差可以任意小。

  • 多层感知机和单层感知机的对比

代码运行结果

  1. 左图是感知机决策边界,绿色直线代表感知机学到的决策边界,是一条僵硬的直线(由于随机数据,不一定每次都会在有限的坐标区域中看到),试图切分两个交叠的月牙。无论这条直线如何调整,都无法分隔蓝色和红色数据点,大量样本落在错误的一侧。这是感知机线性约束的局限。

  2. 中图是 MLP 的决策边界,绿色的曲线边界蜿蜒而行,优雅地包裹住蓝色月牙,同时避开红色月牙。这条弯曲的边界正是隐藏层非线性变换的结果,MLP 将原始空间"扭曲",使得弯曲边界在原空间中呈现为优雅的弧线。数据点被正确分类,准确率显著提升。

  3. 右图是训练过程的损失函数变化情况,交叉熵损失随迭代次数稳步下降,展示了 MLP 学习过程的收敛特性。初期损失快速下降,网络迅速掌握数据的主要规律,后期损失平稳收敛,表明网络已接近最优解。

前向传播

神经网络中信号从输入层经各层神经元逐层传递至输出层的过程。

  • 信号流动过程:"输入 → 加权求和 → 激活变换" 1789962131456.png

信号流动是一个接力传递的过程,输入信号进入第一层,经过线性组合和激活变换后,输出作为第二层的输入,以此类推,制造输出最终预测。网络每层都在加工上一层传递来的信号。

数与变量表达的计算过程表述为矩阵乘法和非线性变换的组合,既便于推导反向传播公式,也便于利用 GPU 等硬件的矩阵运算优化能力,现代深度学习框架(TensorFlow、PyTorch)的底层实现都是基于矩阵运算的。

  • 计算图

深度学习架构如何管理复杂的计算流程

表示计算过程的图形化方法,节点表示运算(加减乘除),边表示数据流动,将复杂的计算过程分解为基本运算的组合。

1791445562176.png

1791445605450.png

计算图让计算过程变得可视且透明。调试神经网络时可以直接顺着图的拓扑结构定位计算错误或理解中间结果。它为自动微分提供了数据结构层面的支撑。

  • 批量计算与效率优化
Licensed under CC BY-NC-SA 4.0
用心记录每一段技术成长 · Powered by Hugo & Stack
使用 Hugo 构建
主题 Stack 由 Jimmy 设计
访客数 - · 总访问量 -