当前位置: 首页 > news >正文

极简神经网络调参入门(1):单神经元单输入梯度下降调参

在人工智能飞速发展的今天,神经网络已经成为深度学习的核心组件。但你是否想过,这些网络是如何"学习"的?答案就在于参数优化。本文介绍最简单的情况(单神经元单输入,无激活函数)的参数优化。

1. 单个神经元模型

一个线性神经元的数学模型可以表示为:

ŷ = w₁x₁ + b

其中:

  • x₁是输入特征
  • w₁是权重参数
  • b是偏置参数
  • ŷ是预测输出

我们的目标是通过调整w₁b使得预测值ŷ尽可能接近真实值y

2. L1损失函数的参数优化

2.1 L1损失函数定义

L1损失函数,也称为平均绝对误差(MAE):

L₁ = |y - ŷ| = |y - (w₁x₁ + b)|

2.2 解析法调参(令L=0直接求w)

最直观的方法,解析法,通过直接令损失函数等于零来求解最优参数。

令L₁ = 0:

|y - (w₁x₁ + b)| = 0

y - (w₁x₁ + b) = 0

(当x₁≠ 0)直接求解权重w₁得
w₁ = (y - b) / x₁

这就是L1损失函数下,直接令损失为零得到的权重解析解。

2.3 数值法调参

当神经网络层数不断增加时,整个网络相当于一个多层复合函数,解析法直接求L最小值时的w将变得极其复杂。这时,我们可以采用数值法,下面的方法就是人工智能领域常用的梯度下降法

当ŷ - y > 0时,

L₁ = |ŷ - y| = ŷ - y = w₁x₁ + b - y

梯度计算:

∂L₁/∂w₁ = x₁
∂L₁/∂b = 1

(可以把b想象成w₀,b项为w₀x₀其中x₀恒等于1;这样,∂L₁/∂b = x₀ = 1)

参数更新:

w₁_new = w₁_old - α · ∂L₁/∂w₁ = w₁_old - α · x₁
b_new = b_old - α · ∂L₁/∂b = b_old - α

其中α学习率

当ŷ - y < 0时,

L₁ = |ŷ - y| = y - ŷ = y - w₁x₁ - b

梯度计算:

∂L₁/∂w₁ = -x₁
∂L₁/∂b = -1

参数更新:

w₁_new = w₁_old - α · ∂L₁/∂w₁ = w₁_old + α · x₁
b_new = b_old - α · ∂L₁/∂b = b_old + α

其中α学习率

直观理解:
当预测值过小时,我们需要增大权重和偏置来提高预测值。

当ŷ - y = 0时,

L₁ = |ŷ - y| = y - ŷ = 0

梯度计算:

由于函数 y = |x| 在 x = 0 处不可导(也就是L₁ = |ŷ - y| 在 y - ŷ = 0 处不可导),在实际中,

由于y - ŷ = 0已经是理想情况,所以令其梯度为0。

参数更新:

w₁_new = w₁_old - α · ∂L₁/∂w₁ = w₁_old
b_new = b_old - α · ∂L₁/∂b = b_old

其中α学习率

3. L2损失函数的参数优化

3.1 L2损失函数定义

L2损失函数,也称为均方误差(MSE):

L₂ = (y - ŷ)² = (y - (w₁x₁ + b))²

3.2 解析法调参(令L=0直接求w)

令L₂ = 0:

(y - (w₁x₁ + b))² = 0

y - (w₁x₁ + b) = 0

(当x₁≠ 0)直接求解权重w₁:

w₁ = (y - b) / x₁

可以看到,在单数据点情况下,L1和L2损失函数令L=0时得到的权重解析解是相同的。

3.3 数值法调参

梯度计算:

∂L₂/∂w₁ = -2(y - ŷ) · x₁
∂L₂/∂b = -2(y - ŷ)

这里使用了微分的链式法则微分的链式法则:以梯度下降中的L2(MSE)为例-CSDN博客

参数更新:

w₁_new = w₁_old - α · ∂L₂/∂w₁ = w₁_old + 2α(y - ŷ)x₁
b_new = b_old - α · ∂L₂/∂b = b_old + 2α(y - ŷ)

4. L1与L2的对比分析

4.1 解析法的异同

相同点:

  • 令L=0时,两者都要求完美拟合:y = w₁x₁ + b
  • 得到的权重解析解相同:w₁ = (y - b) / x₁

不同点:

  • L1使用y - ŷ的绝对值,L2使用y - ŷ的平方
  • L1对异常值更鲁棒(更不容易由于异常值大幅度调参),L2对异常值更敏感(与之相反;不难理解,这是由于加了平方的缘故)

4.2 数值法的优劣对比

L1数值法优势:

  • 对异常值鲁棒性强

L1数值法劣势:

  • 在零点不可导,需要特殊处理
  • 收敛速度相对较慢
  • 可能在最优解附近震荡

L2数值法优势:

  • 处处可导,数学性质良好
  • 收敛速度快,稳定性好
  • 在最优解附近收敛平滑

L2数值法劣势:

  • 对异常值敏感
  • 大误差时梯度可能过大

5. 总结

通过本文的学习,我们理解了:

  1. 解析法求L=0时的参数:令L=0直接求解w = (y - b) / x₁
  2. L1与L2的相同点:令L=0得到的解析解相同
  3. 数值法的必要性:解析法在大规模多层神经网络、多数据点时的局限性使得迭代优化成为必需
  4. ŷ、L1、L2、L1‘(w)、L2'(w)、L1'(b)、L2'(b)的求法
  5. 参数更新公式和学习率
http://www.jsqmd.com/news/605669/

相关文章:

  • 编程新手必看:C语言基础全解析
  • update_io_latency:为什么你的IO约束会变成负数?
  • 低成本监控方案:OpenClaw+千问3.5-9B巡检服务器日志
  • kubernetes学习(六)pod控制器
  • Multisim仿真实战:为你的PMOS驱动电路加上‘光耦隔离’,这份保姆级教程和仿真文件请收好
  • HDLbits刷题避坑指南:Q3a FSM里那个容易忽略的计数器细节,你踩雷了吗?
  • SSM学习之使用@ResquestBody注解处理json格式的请求参数
  • RedisDesktopManager-Windows故障排除:解决常见安装与运行问题的完整清单
  • 网络小课堂
  • GitLab 13升14实战:从报错到成功,我的踩坑全记录(附详细解决方案)
  • MacBook安装OpenClaw:M系列芯片运行Kimi-VL-A3B-Thinking优化指南
  • 微信小程序/小游戏:方糖试玩SEO优化全攻略(2026实操版)
  • 终极指南:如何用Le Git Graph为GitHub添加可视化提交历史
  • 2026年CZ型钢技术全解析:工艺、选型与成本管控 - 优质品牌商家
  • OpenClaw语音交互扩展:Qwen3-32B镜像对接本地ASR服务
  • OpenClaw学术研究加速:Qwen3.5-9B文献图表数据提取全攻略
  • 西门子PLC中String与WString的数据存储机制解析
  • Laravel WebSockets 2025年技术路线图:终极发展指南
  • WindowsInternals安全策略分析:SlPolicy工具的高级用法指南
  • 如何利用 SEO 优化平台提高网站排名
  • MeArm机械臂(Arduino)
  • OpenClaw硬件要求解析:千问3.5-27B在不同配置电脑的运行表现
  • so-vits-svc的使用声音克隆
  • OpenClaw配置优化指南:提升Qwen2.5-VL-7B图文任务执行效率30%
  • 如何为LSTM时间序列预测项目编写单元测试:终极完整指南
  • 如何快速启用Go-RESTful的Gzip和Deflate压缩:终极配置指南
  • Harmony-Music设置优化:动态主题、均衡器和睡眠定时器配置
  • 别再傻傻分不清了!IM和RTC到底差在哪?从微信聊天到视频会议的技术选择
  • BC7215红外编解码芯片:协议无关的物理层信号处理方案
  • 2023终极指南:OctoSQL vs DataFusion vs q三大SQL查询引擎性能深度对比与选择攻略