生成模型基础 08 Diffusion Model
Difussion ModelWhy we introduce diffusion in generative modeling
x为复杂分布无法表达,但是可以通过“扩散”,形成可以建模的简单分布z~N(0, I)
核心思路:如果能够逆转这一过程,则可以重新得到x,完成生成模型的目标
问题:
高维image如何变成噪声
如何逆转这一过程z -> x
如何训练模型
Forward process
forward pass:image -> noise
标记法:
image -> x0
image(data)服从的分布:q(x0)
随机变量x服从高斯分布:N(𝑥; 𝜇, 𝜎²𝐼)
从高斯分布中采样:𝑥 = 𝜇 + 𝜖𝜎
前传的过程不断加噪,一共加T次,每次加一点
可以从中sample中x1:
式子的前项可以理解为减弱x0中原来含有的信息,而后一项可以认为加入噪声信息𝜖1
后续的加噪过程与q(x1|x0),相似,可以依次计算q(x2|x1),采样出x2,……
从而可得递推公式:
计算和上上 ...
生成模型基础 07 Normalizing Flow
Normalizing FlowLooking back
VAE特点:
浅层网络
非序列化
重建进行复原image
Autoregressive特点:
深层网络
序列化
可以通过MLE优化
GAN特点:
深层网络
非序列化
通过近似距离用神经网络评估
希望非序列化(image 难以表征为序列),但是可以通过MLE进行优化 -> Normalizing Flow
Normalizing Flow的特点:
深层网络
非序列化
可以通过MLE优化
normalizing flow和AR的区别:normalizing flow是非序列的;换相比于VAE和GAN,可以计算密度,从而可以使用MLE方法优化
标记法:
image -> x
noise -> z
generator -> g(z)
目标:学习g(z),使得g(z)生成结果接近于x
生成模型的流程可由下图所示,我们希望设计一个方法使得给定任意x,我们都能计算出使用生成模型生成出这个sample的概率密度p(x; θ)
若似然函数已知,则可以用MLE进行优化
思路:若g( ...
生成模型基础 06 GAN
Generative Adversarial NetworksMetricsFrom complex distribution to simple distribution
生成模型的核心:给定随机噪声,生成想要的结果形式 e.g. text、image
假设随机变量X服从一个非常复杂的无法显示表示的分布Q,我们该如何从Q中生成数据?
假设我们已知Q的累计概率密度函数F(x),F(x)有如下性质:
假设我们可以算出F(x)的逆函数F(x)^(-1),则可通过下面的算法采样Q:
从均匀分布中采样Z
X = F(Z)^(-1)服从Q
代入X=F(Z)^(-1)后,X的随机性变为Z的随机性。再对等式两侧同时作用F可得𝑃(𝑍 < 𝐹(𝑡)) = 𝐹(𝑡)
从而如果Q的反函数可求,可利用均匀分布采样出复杂分布Q
问题:Q未知,F(x) 和 F(x) 的反函数都不可求,因而需要神经网络来解决
VAE问题:VAE较浅,用小网络做image generation任务时,image真实性和质量较差
解决方法:可以使用GAN来实 ...
生成模型基础 05 Debugging
DebuggingDebug通常是一件比较麻烦的事情
深度神经网络是复杂、不可解释的
超参数极多(模型结构,网络层数、宽度、学习率,batch size,优化器,dropout)
非线性模型,没有优化方法可以收敛到全局最优
如何debug训练问题 —— 训练
说明数据对应的代码和处理任务是正确的,优化器是正确的
迭代输入数值溢出:例如方差为0,经过 layer norm 后造成÷0,溢出
迭代步长过大:例如从一个极小值点跳到了另一个极小值点,且出不来
学习率问题:不同的优化器所要求的学习率不同
如何debug训练问题 —— 测试
模型参数:可以使用LoRA低秩分解可以降低可改变的参数
生成模型基础 04 Autoregressive models
Autoregressive modelsProbabilistic model in high-dimensional space
概率建模,生成模型:希望采样数据分布达到真实数据类似的效果
问题:高维数据
Image:sample出image = 给定image的概率为sample出每个像素概率 = 给定image概率的联合概率
Sentence:sample出句子的概率 = 给定句子的概率等于sample出每个词的概率 = 给定每个词的联合概率
General setting
高维数据可以由一个高位向量表示:Data 𝑥 = (𝑥1,𝑥2,…,𝑥𝑑):
Image:d表示image的大小(pixel x pixel),xi代表每个pixel的三通道RGB值
Language:d表示句子长度,xi表示对应位置的每个词
目标:model 𝑃(𝑋 = 𝑥) -> 联合概率分布:𝑃(𝑋1 = 𝑥1,…,𝑋𝑑 = 𝑥𝑑)
可以通过条件概率的chain ...
生成模型基础 03 Transformer Model
Transformer ModelTransformer componentsChallenging language understanding(NLP 问题)
Long term dependency:
e.g.指代消岐:我的书柜太宽了,而且非常重,我没有办法把它搬出书房,“它”的指代是?
解决方法:Attention
Sophisticated meaning:
e.g. 多重否定:我原以为这部电影挺无聊的,没想到还不错,“原以为”,“无聊”,“没”,“还不错”
解决方法:Feed Forward network
Word order matters a lot:
e.g. 词语顺序敏感:屡败屡战,屡战屡败
解决方法:Position encoding
Key module: attention layer for long-term interaction
假设词有独立含义,可以用有语义信息的向量表示(本质上是word embedding)
Attention的作用:已知词含义,求每个词在上下文关联中的含义
输入:n个词向量,输出:n个基于上下文理解 ...
智能机器人概论 07 运动控制
运动控制 Motion Control基本概念
开环控制–Open-Loop Control
闭环控制–Close-Loop Control,也称为反馈控制(Feed-back Control)
运动控制方法分类:
黑箱控制Black-box Control:PID Control
几何控制Geometric Control:Pure Pursuit Control
优化控制Optimal Control:MPC Control
基于学习的控制Learning-based Control:End-to-end Control
黑箱控制 Black-box Control– PID Control
u(t) 是控制量,e(t) 是误差,积分项是过去误差的累积,微分项是误差变化的趋势
问题:需要微调Kp、Ki、Kd
P控制–比例(Proportion)
比例控制局限性:u低于机器人驱动敏感区间的下界є后,机器人与目标保持et而不可达。误差小的时候不敏感
解决方法:加入误差累积,使得e(t)累积进入敏感状态
PI控制–积分(Integration)
积 ...
智能机器人概论 05 激光雷达
激光雷达LiDAR – Light Detection and Ranging2D LiDAR
2D LiDAR基本原理:(红色)激光打到 mirror 反射至物体后,(蓝色)激光经过 mirror 返回,计算时间差
3D LiDAR
3D LiDAR’s Needs:无人驾驶技术
测距原理:ToF
Mechanical Spinning LiDAR
局限性:
点分辨率受限于阵列上的激光器
激光器阵列的校准在大规模生产中面临困难
系统设计与维护存在挑战
智能机器人概论 04 惯性传感器
惯性传感器惯性传感器Inertial Sensors
陀螺仪Gyro:测量角运动(角速度)
加速度计Accelerometer:测量线加速度
磁力计Compass:测量磁场方位
惯性导航系统INS/惯性测量单元IMU:组合惯性传感器,测量载体的位姿
应用:动捕系统,视觉动捕系统在运动幅度过大时不再适用,而惯性运动捕捉系统则可以根据惯性恢复动作(假设刚体)
惯性传感器的问题:测量加速度和力时,每帧误差累积,时间长误差累计高
陀螺仪(Gyroscope/Gyro)
陀螺仪:测量角运动(角速度)的惯性传感器,用于精密测量的陀螺仪,精度是他的一项重要性能指标
陀螺仪累计误差:角速度测量值,经积分得到角度变化,与真实值的差为累计误差
陀螺漂移Gyro drift:累计误差随时间而增大,称为陀螺漂移
漂移率ε(单位:度/小时):每小时的积累误差
主要误差来源:
干扰力矩,引起陀螺仪漂移误差的有害力矩
干扰力矩越大,陀螺仪的精度越低
在精度不高的转子式陀螺仪中,主要干扰力矩来自框架轴承内的摩擦力矩,及由陀螺仪中心与框架中心不重合和陀螺马 ...
智能机器人概论 03 运动传感器与位姿估计
运动传感器与位姿估计里程编码器(测量距离)
基本原理:记录刻度数,测量转角(转动端相对于固定端的转角),转换为弧长(≈行驶里程)
实质测量的是转角
里程编码器误差:里程编码器测量的里程≠真实里程。本质上是轮子(装有里程编码器)里程≠车的里程
e.g.:一个轮子气多,一个轮子气少;地面凹凸不平;光滑地面/沙地
测量车轮行驶里程的里程编码器又称车轮编码器Wheel Encoder
编码器数据
数据文件:COMPort_X_20130903_195003.txt
格式(文本):E Millisecond 1 Count
Count:累计计数,[1,30000]
单位计数对应的里程数:1 Count ≈ 0.003846154 meter
数据有跳跃是因为测量帧率不够高
惯性传感器
陀螺仪、加速度计、惯性测量单元(Inertial Measurement Unit, IMU)
见 04 惯性传感器
位姿估计
利用运动传感器和运动模型,可以对机器人的位置姿态进行估计
里程计法(Odometry):
利用轮速编码器等传感器和运动学 ...


