动手学深度学习V2每日笔记(模型初始化和激活函数)

news2024/9/9 1:18:44

本文主要参考沐神的视频教程 https://www.bilibili.com/video/BV1u64y1i75ap=2&vd_source=c7bfc6ce0ea0cbe43aa288ba2713e56d
文档教程 https://zh-v2.d2l.ai/

本文的主要内容对沐神提供的代码中个人不太理解的内容进行笔记记录,内容不会特别严谨仅供参考。

1. 模型初始化

1.1 让训练更加稳定

  • 目标:让梯度值在合理的范围内
    例如[1e-6, 1e3]
  1. 将乘法变为加载:ResNet, LSTM
  2. 归一化:梯度归一化,梯度剪裁
  3. 合理的权重初始化和激活函数

1.2 让每层的方差是一个常数

  • 将每层的输出和梯度都看做随机变量
  • 让它们的均值和方差都保持一致
    正向:
    E [ h i t ] = 0 E[h_i^t]=0 E[hit]=0
    V a r [ h i t ] = a Var[h_i^t]=a Var[hit]=a
    反向
    E [ d l d h i t ] = 0 E[\frac{\mathrm{d}l}{\mathrm{d}h_i^t}]=0 E[dhitdl]=0
    V a r [ d l d h i t ] = b Var[\frac{\mathrm{d}l}{\mathrm{d}h_i^t}]=b Var[dhitdl]=b
    a 和 b 均为常数 a和b均为常数 ab均为常数

1.3 Xavier初始化

Xavier 初始化的基本思想是保持神经网络的输入和输出的方差相同,从而使每一层的输出在训练开始时具有相同的尺度。这样可以有效地防止梯度消失或爆炸问题,使得网络更容易训练。
Xavier使得 r t ( n t − 1 + n t ) / 2 = 1 − > r t = 2 n t − 1 + n t r_t(n_{t-1}+n_t)/2=1->r_t=\frac{2}{n_{t-1}+n_t} rt(nt1+nt)/2=1>rt=nt1+nt2
权重可以从均匀分布或正态分布中抽取:

  • 如果权重从均匀分布中抽取:
    w i j − u ( − 6 n t + n t − 1 , 6 n t + n t − 1 ) w_{ij}-u(-{\frac{\sqrt6}{\sqrt{n_t+n_{t-1}}}, \frac{\sqrt6}{\sqrt{n_t+n_{t-1}}}}) wiju(nt+nt1 6 ,nt+nt1 6 )
  • 如果权重从正态分布中抽取
    w i j − u ( 0 , 2 n t + n t − 1 ) w_{ij}-u(0, \frac {2}{n_t+n_{t-1}}) wiju(0,nt+nt12)

2 概率的基础知识

2.1 期望和方差

2.1.1 期望(均值)

定义:期望值(均值)是指一组数据的平均值,表示随机变量可能取值的中心位置。
数学定义:
对于离散随机变量
E ( X ) = ∑ i x i P ( X = x i ) E(X) = \sum_{i} x_i P(X = x_i) E(X)=ixiP(X=xi)

2.1.2 方差

定义:方差是描述随机变量的离散程度的参数,表示数据点与均值之间的平均偏离程度的平方。
数学定义
对于随机变量X及其期望值 E [ X ] = μ E[X]=\mu E[X]=μ方差 V a r ( X ) Var(X) Var(X)定义为:
Var ( X ) = E [ ( X − μ ) 2 ] = E [ X 2 ] − μ 2 \text{Var}(X) = E[(X - \mu)^2]=E[X^2]-\mu^2 Var(X)=E[(Xμ)2]=E[X2]μ2
对于离散随机变量 X:
V a r ( X ) = ∑ i ( x i − μ ) 2 P ( X = x i ) Var(X)=\sum_i(x_i-\mu)^2P(X=x_i) Var(X)=i(xiμ)2P(X=xi)
示例:
假设我们有一个离散随机变量 𝑋,它可以取以下三个值:1、2 和 3,并且它们的概率分别是0.2、0.5 和 0.3。我们想要计算这个随机变量的方差。
步骤1:计算期望
μ = 1 ∗ 0.2 + 2 ∗ 0.5 + 3 ∗ 0.3 = 2.1 \mu=1*0.2+2*0.5+3*0.3=2.1 μ=10.2+20.5+30.3=2.1
步骤2:计算每个取值与均值的差的平方
( x 1 − μ ) 2 = ( 1 − 2.1 ) 2 = 1.21 (x_1-\mu)^2=(1-2.1)^2=1.21 (x1μ)2=(12.1)2=1.21
( x 2 − μ ) 2 = ( 2 − 2.1 ) 2 = 0.01 (x_2-\mu)^2=(2-2.1)^2=0.01 (x2μ)2=(22.1)2=0.01
( x 3 − μ ) 2 = ( 3 − 2.1 ) 2 = 0.81 (x_3-\mu)^2=(3-2.1)^2=0.81 (x3μ)2=(32.1)2=0.81
步骤3:计算每个差的平方乘以相应的概率
( x 1 − μ ) 2 P ( X = x 1 ) = 1.21 ∗ 0.2 = 0.242 (x_1-\mu)^2P(X=x_1)=1.21*0.2=0.242 (x1μ)2P(X=x1)=1.210.2=0.242
( x 2 − μ ) 2 P ( X = x 2 ) = 0.01 ∗ 0.5 = 0.005 (x_2-\mu)^2P(X=x_2)=0.01*0.5=0.005 (x2μ)2P(X=x2)=0.010.5=0.005
( x 3 − μ ) 2 P ( X = x 3 ) = 0.81 ∗ 0.3 = 0.243 (x_3-\mu)^2P(X=x_3)=0.81*0.3=0.243 (x3μ)2P(X=x3)=0.810.3=0.243
步骤 4:计算方差 Var(X)
V a r ( X ) = 0.242 + 0.005 + 0.243 = 0.49 Var(X)=0.242+0.005+0.243=0.49 Var(X)=0.242+0.005+0.243=0.49

2.2 正态分布

正态分布(Normal Distribution),也称为高斯分布(Gaussian Distribution),是概率论和统计学中最重要的连续分布之一。它描述了许多自然现象和社会现象的分布情况。
正态分布的定义
正态分布的概率密度函数(PDF)定义为:
f ( x ) = 1 2 π μ 2 e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi\mu^2}}e^-\frac{(x-\mu)^2}{2\sigma^2} f(x)=2πμ2 1e2σ2(xμ)2
其中:

  • μ 是均值,表示分布的中心位置。
  • σ 是标准差,表示分布的宽度。标准差的平方 σ 2 \sigma^2 σ2为方差。
  • x 是随机变量的取值。
    正态分布的性质
  1. 对称性:正态分布关于均值 𝜇
  2. 钟形曲线:其概率密度函数呈钟形曲线。
  3. 均值、众数和中位数相等:对于正态分布,这三个统计量是相等的。
  4. 68-95-99.7 规则:在正态分布中,大约68%的数据位于均值 𝜇加减一个标准差 𝜎之间,大约95%的数据位于均值 𝜇加减两个标准差 𝜎之间,大约99.7%的数据位于均值 𝜇加减三个标准差 𝜎之间。
    在这里插入图片描述

2.3 均匀分布

均匀分布(Uniform Distribution)是一种简单但重要的概率分布,描述了在某个范围内每个值出现的概率相等的情况。
均匀分布的定义
均匀分布分为离散均匀分布和连续均匀分布两种。

连续均匀分布
对于连续均匀分布,若随机变量 𝑋在区间 [𝑎,𝑏]上均匀分布,其概率密度函数(PDF)定义为:
{ 1 b − a   i f   a ≤ x ≤ b 0   o t h e r w i s e \left\{ \begin{aligned} \frac{1}{b-a}\ if\ a≤x≤b \\ 0\ otherwise \end{aligned} \right. ba1 if axb0 otherwise
其中:

  • 𝑎和 𝑏是区间的下限和上限。
  • 1 b − a \frac{1}{b-a} ba1是在区间 [𝑎,𝑏]上每个值出现的概率密度。

离散均匀分布
对于离散均匀分布,若随机变量 𝑋只能取有限个值 { x 1 x_1 x1, x 2 x_2 x2,… x n x_n xn},且这些值出现的概率相等,则每个值的概率为:
P ( X = X i ) = 1 n P(X=X_i)=\frac 1n P(X=Xi)=n1
其中:

  • 𝑛是可能取值的总个数。

均匀分布的性质
对称性:均匀分布关于区间的中点对称。
均值和方差:
对于连续均匀分布 [𝑎,𝑏]均值和方差分别为:
μ = a + b 2 \mu=\frac {a+b}{2} μ=2a+b
σ 2 = ( b − a ) 2 12 \sigma^2=\frac{(b-a)^2}{12} σ2=12(ba)2
对于离散均匀分布{ x 1 x_1 x1, x 2 x_2 x2,… x n x_n xn},均值和方差分别为:
μ = 1 n ∑ i = 1 n ( x i − μ ) 2 \mu=\frac 1n\sum_{i=1}^n(x_i-\mu)^2 μ=n1i=1n(xiμ)2

import numpy as np
import matplotlib.pyplot as plt

# 参数
a = 2
b = 8

# 创建数据点
x = np.linspace(0, 10, 1000)
y = np.where((x >= a) & (x <= b), 1/(b - a), 0)

# 绘制均匀分布曲线
plt.plot(x, y, label='Uniform Distribution', color='blue')
plt.fill_between(x, y, where=(x >= a) & (x <= b), color='blue', alpha=0.3)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Uniform Distribution on [2, 8]')
plt.grid(True)
plt.show()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1959093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux安装与配置

下载VMware 首先我们需要下载一个叫VMware的软件&#xff1a; 进入官方下载&#xff0c;地址&#xff1a;https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html选择与自己电脑版本适配的VMware版本【 输入许可证密钥 MC60H-DWHD5-H80U9-6V85…

硬盘分区读不出来的解决之道:从自救到专业恢复

在日常的计算机使用过程中&#xff0c;硬盘分区读不出来的问题常常令人头疼不已。这一问题不仅阻碍了用户对数据的正常访问&#xff0c;还可能预示着数据安全的潜在威胁。硬盘分区读不出来&#xff0c;通常是由于分区表损坏、文件系统错误、物理扇区损坏、驱动程序冲突或硬件连…

流量卡对比?看看哪个运营商的流量卡更适合你?

你用过流量卡吗&#xff1f;在这个一机双卡的时代&#xff0c;大部分的朋友都是人手两张电话卡&#xff0c;甚至更多&#xff0c;其中还包括一张大流量卡&#xff0c;那么&#xff0c;你会选择流量卡吗&#xff1f; ​ 为了冲量和拉新用户&#xff0c;三大运营商都在线上推出一…

优化极限学习机,实现回归预测,三种算法对比,MATLAB代码免费获取

本期将原始蜣螂算法、减法优化器算法、鲸鱼优化算法进行应用。对极限学习机进行优化实现股票回归预测&#xff0c;三种算法相互对比。 股票预测案例 股票数据特征有&#xff1a;开盘价&#xff0c;盘中最高价&#xff0c;盘中最低价&#xff0c;收盘价等。预测值为股票价格。股…

大白话讲清楚GPT嵌入(Embedding)的基本原理

嵌入&#xff08;Embedding&#xff09;是机器学习中的一个基本概念&#xff0c;尤其是在自然语言处理 (NLP) 领域&#xff0c;但它们也广泛应用于其他领域。通常&#xff0c;嵌入是一种将离散的分类数据转换为连续向量的方法&#xff0c;通常在高维空间中&#xff0c;将复杂、…

Jmeter之逻辑控制器(事务控制器+仅一次控制器+吞吐量控制器)-第八天

一.逻辑控制器 1.1事务控制器 事务&#xff0c;其实可以理解为完成一个业务所调用所有接口的集合&#xff0c;当然可以是单个接口&#xff0c;也可以是多个相互关联的串联接口。 所以在进行性能测试时&#xff0c;在用于多接口串联的场景时&#xff0c;需要汇总统计该多个接…

强烈建议产品经理学习AI大模型!

随着GPT大热 “AI大模型”无疑是最火爆的话题&#xff01; Google、百度、腾讯等等巨头互联网公司&#xff0c; 无不在布局人工智能技术和市场&#xff0c; 甚至还有60k*16的高薪&#xff0c;挖掘AI大模型人才&#xff01; 非技术岗的AIGC产品经理&#xff0c; **薪资水平…

html+css+js前端作业和平精英官网1个页面(带js)

htmlcssjs前端作业和平精英官网1个页面&#xff08;带js&#xff09;有轮播图tab切换等功能 下载地址 https://download.csdn.net/download/qq_42431718/89597007 目录1 目录2 项目视频 htmlcssjs前端作业和平精英官网1个页面&#xff08;带js&#xff09; 页面1

leetcode 2236.判断根节点是否等于字节点

1.题目要求: 给你一个 二叉树 的根结点 root&#xff0c;该二叉树由恰好 3 个结点组成&#xff1a;根结点、左子结点和右子结点。如果根结点值等于两个子结点值之和&#xff0c;返回 true &#xff0c;否则返回 false 。2.思路: 直接数组前序遍历&#xff0c;然后判断后面两个…

前端开发的十字路口,薪的出口会是AI吗?

前言 在数字化转型的浪潮中&#xff0c;前端开发一直扮演着至关重要的角色&#xff0c;它连接着用户与产品之间的桥梁。然而&#xff0c;随着技术的不断进步和社会经济环境的变化&#xff0c;前端开发领域也面临着前所未有的挑战和机遇。 前端开发的困境 前端开发领域的竞争…

大模型LLM- 微调P-Tuning v1

P-tuning v1 一文小结 这篇文章介绍了一种名为P-Tuning的新方法&#xff0c;用于改善预训练语言模型&#xff08;PLMs&#xff09;在自然语言理解&#xff08;NLU&#xff09;任务中的性能和稳定性。P-Tuning通过将可训练的连续提示嵌入&#xff08;continuous prompt embeddi…

Javascript前端面试基础(八)

window.onload和$(document).ready区别 window.onload()方法是必须等到页面内包括图片的所有元素加载完毕后才能执行$(document).ready()是DOM结构绘制完毕后就执行&#xff0c;不必等到加载完毕 window.onload 触发时机&#xff1a;window.onload 事件会在整个页面&#xf…

【案例】区分是平行眼还是交叉眼,以及平行眼学习方法

案例一&#xff1a; 交叉眼&#xff1a;看到凸出的“灌水”&#xff0c;即文字好像显示在屏幕前面。PS&#xff1a;看的时候眼睛是斗鸡眼&#xff0c;容易疲劳 平行眼&#xff1a;看到凹陷的“灌水”&#xff0c;即文字好像显示在屏幕后面。PS&#xff1a;看的时候眼睛是平视…

前端JavaScript处理小数精度问题(最佳实践)

前言&#xff1a; 针对于小数精度问题&#xff0c;本次我们主要推荐两种方式&#xff0c;一种是简单的函数封装&#xff0c;一种是使用第三方库big.js。 方法一&#xff1a; 自封装函数搭配parseFloat和toFixed解决小数精度问题&#xff0c;仅适用于解决一般性小数精度问题&…

Java面试八股之简述spring的自动装配

简述spring的自动装配 Spring框架的自动装配&#xff08;Autowiring&#xff09;是一种机制&#xff0c;它允许Spring IoC容器自动满足Bean的依赖关系&#xff0c;而无需显式指定依赖注入的方式。这极大地简化了配置&#xff0c;并有助于减少配置错误。 Spring支持多种自动装…

硅纪元视角 | 苹果AI训练数据大曝光,坚持用户隐私第一

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

鲁迅曾经说过?现在没有中间派!以后也没有!——早读(逆天打工人爬取热门微信文章解读)

今天用了AI的风格模方&#xff0c;鲁迅的&#xff0c;开头那一小段改写&#xff0c;大家觉得如何&#xff1f; 引言Python 代码第一篇 续上第二篇 十点读书 “新型不孝”正在蔓延&#xff0c;很多父母浑然不知&#xff0c;还逢人就炫耀子女有出息结尾 引言 最近 我发觉自己的作…

手摸手教你撕碎西门子S7通讯协议02--socket连接

1、S7协议通讯流程回顾 1&#xff09;建立Socket连接&#xff1a;进行TCP三次握手 这里是指要建立socket的tcp连接&#xff0c;是tcp连接而不是udp连接&#xff0c;tcp连接是可靠连接&#xff0c;tcp连接就是要有稳定的IP地址&#xff0c;它是通过字节方式进行通讯&#xff…

OpenSSL SSL_connect: Connection was reset in connection to github.com:443

OpenSSL SSL_connect: Connection was reset in connection to github.com:443 目录 OpenSSL SSL_connect: Connection was reset in connection to github.com:443 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&…

云计算 华为云服务

配置虚拟私有云 云平台架管理 跳板机配置 ansible 管理主机 dnf install -y ansible-core glibc-langpack-zh ssh-keygenchmod 0400 /root/.ssh/id_rsa ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.125 ansible --version 代理 Yum 仓库 dnf install -y nginx vim /et…