《数据库系统原理》知识点梳理
《数据库系统原理》知识点梳理
来源:同济大学《数据库系统原理》李文根老师课件
仅包含硬性知识点(背、记、看),不含理解性或实操性知识点(如SQL)。
2024-06-23@isSeymour
CH1 - 数据库系统概述
1.1 数据库系统
传统文件处理系统的缺点
数据的冗余和不一致性 (data redundancy and inconsistency)
数据访问困难(difficulty in accessing data)
数据孤立(data isolation)
完整性问题(integrity problems)
原子性问题(atomicity problem)
并发访问异常(concurrent-access anomaly)
安全性问题(security problems)
数据库(Database, DB)
什么是数据库?
一组相互有关联的数据集合
长期储存在计算机中的有组织的、可管理和可共享的数据集合
数据库的基本特征
数据按一定的数据模型组织、描述和储存
支持数据的增删改查
支持并发查询处理
什么是数据库系统?
数据库系统是指由数 ...
CVDL - Transformer
十一、Transformer
11.1 架构
RNN困境
Transformer 提出
架构
11.2 输入输出
输入输出
嵌入 PE 位置编码
位置编码
输入还需要经过一个PE(检测位置信息)
如“我爱中国”和“爱我中国”不应该一样,但是若没有PE层,则会使得输入变得一样效果。
编码解码
11.3 多头注意力
编码器
注意力计算
计算方法
下图为计算一个 x1得到 z1 的过程。
矩阵合并表示
多头
并行地计算多个 Z ,最后使用 W 综合效果即可。
计算过程:
头数推导:
11.4 ADD&Norm
区分不同的Norm:
11.5 前馈网络
11.6 解码器
11.7 图像领域
自监督学习
使用无标注数据用自我监督的方式学习特征表示的方法。
其通过构造一个代理任务(pretext task)来实现特征表示学习。
代理任务
预测类任务
生成式任务
对比学习任务
…
代理任务的监督信息来源是从数据本身获得的。
举例
完型填空(BERT)、预测下 ...
CVDL - 循环神经网络
十、循环神经网络
10.1 RNN
引入
几种形式
基本形式
更深
两种网络设计
Elman Network
Jordan Network
双向设计
Bidirectional RNN
10.2 LSTM
定义
函数示意图:
工作流程
单个神经元工作流程:
RNN工作流程:
训练问题
很不幸,往往RNN训练过程中,反向传播的梯度是并不平滑的,很任意梯度消失或者梯度爆炸。
为什么会这样?
太多的连乘!
控制方法:学习率的控制(太大则设置只能为xx,太小为xxx)
LSTM优势
LSTM本身可以解决上述的训练问题。
10.3 更多应用
Many to One
Many to Many (Output is shorter)
Many to Many (No Limitation)
10.4 注意力机制
定义
示例1:机器翻译
示例2:图像捕获
CVDL - 生成网络
九、生成网络
主题:
无监督学习
产生式模型
PixelRNN and PixelCNN
Variational Autoencoders(VAE)
Generative Adversarial Networks(GAN)
9.1 无监督学习
有监督学习
数据: (x, y) ,其中x表示样本, y表示标签
目标: 学习 x -> y的映射
例子:分类,回归,目标检测,语义分割等等
无监督学习
数据: x ,其中x为数据
目标: 找出隐含在数据里的模式或者结构
例子:聚类,降维,特征学习,密度估计等
9.2 产生式模型
定义
训练数据服从 pmodel(x)p_{model}(x)pmodel(x),产生样本服从 pdata(x)p_{data}(x)pdata(x)
给定训练集,产生与训练集同分布的新样本,希望学到一个模型pmodel(x)p_{model}(x)pmodel(x) ,其与训练样本的分布 pdata(x)p_{data}(x)pdata(x)相近。
无监督学习里的一个核心问题——密度估计问题
几 ...
CVDL - 可视化
八、可视化
8.1 第一层
可以看到就是一些基元信息。
8.2 更高层
更高层,直接可视化看不到太多有意义的信息。
8.3 最后一层
最终分类器的前一层:
图像的4096维特征向量
把这些特征向量收集下来,进行可视化。
可视化的3种方法:
Activations 激活
Gradients 降维
Fun 函数(梯度上升)
8.4 梯度上升
8.4 梦境图
8.5 风格迁移
Gram Matrix
8.6 多风格
8.7 总结
理解CNN的方法:
Activations
Nearest neighbors, Dimensionality reduction, maximal patches, occlusion
Gradients
Saliency maps, class visualization, fooling images, feature inversion
Fun
DeepDream, Style Transfer.
CVDL - 视觉识别
七、视觉识别
7.1 分类
前面讲的都是
从
线性分类器
全连接神经网络
卷积神经网络
7.2 语义分割
给每个像素分配类别标签不区分实例,只考虑像素类别
滑动窗口
问题
效率太低!重叠区域的特征反复被计算。
全卷积
解决方案
让整个网络只包含卷积层,一次性输出所有像素的类别预测。
问题
处理过程中一直保持原始分辨率,对于显存的需求会非常庞大。
解决方案
让整个网络只包含卷积层,并在网络中嵌入下采样与上采样过程。
反池化操作
转置卷积
可学习的上采样
转置卷积(Transpose Convolution)
操作
7.3 目标检测
单目标
单目标(分类+定位)
将定位任务建模为回归问题!
采用多任务损失。
前面 常使用在ImageNet上预训练的模型 (迁移学习)
多目标
困境
每张图像期望输出的维度都不一样!
寻找区域
利用CNN对图像中的区域进行多分类,以确定当前区域是背景还是哪个类别的目标。
困境:
CNN需要对图像中所有可能的区域(不同位置 ...
CVDL - 经典网络解析
六、经典网络解析
经典卷积神经网络的解析。
ImageNet大规模视觉识别挑战赛
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
计算机视觉领域最具权威的学术竞赛之一
ImageNet数据集——由斯坦福大学李飞飞教授主导制作,其包含了超过1400万张全尺寸的有标记图片
ILSVRC从ImageNet数据集中抽出子集作为竞赛数据
2012年ILSVRC——1281167张训练集,50000张验证集,100000张测试集。
经典网络
AlexNet
ZFNet
VGG
GoogleNet
ResNet
6.1 AlexNet
验证了深度卷积神经网络的高效性。
主体贡献
提出了一种卷积层加全连接层的卷积神经网络结构
首次使用ReLU函数做为神经网络的激活函数
首次提出Dropout正则化来控制过拟合
使用加入动量的小批量梯度下降算法加速了训练过程的收敛;
使用数据增强策略极大地抑制了训练过程的过拟合;
利用了GPU的并行计算能力,加速了网络的训练与推断。
层次
AlexNe ...
CVDL - 卷积神经网络
五、卷积神经网络
5.0-1 卷积与图像去噪
图像去噪与卷积
卷积的定义
令F为图像,H为卷积核,F与H的卷积记为R=F∗HRij=∑u,vHi−u,j−vFu,v令F为图像,H为卷积核,F与H的卷积记为R = F * H \\
R_{ij} = \sum_{u,v} H_{i-u,j-v} F_{u,v}
令F为图像,H为卷积核,F与H的卷积记为R=F∗HRij=u,v∑Hi−u,j−vFu,v
本质上,是使用 HHH 将 FFF 卷积到域 RRR 。
卷积性质
叠加性: filter(f1+f2)=filter(f1)+filter(f2)filter(f_1 + f_2) = filter(f_1) + filter(f_2)filter(f1+f2)=filter(f1)+filter(f2)
平移不变性: filter(shift(f))=shift(filter(f))filter(shift(f)) = shift(filter(f))filter(shift(f))=shift(filter(f))
交换律: a∗b=b∗aa*b = b ...
CVDL - 全连接神经网络
四、全连接神经网络
4.0 整体架构
图像表示
与前面一样,直接利用原始像素作为特征,展开为列向量。
4.1 多层感知器
回顾前面,线性分类器是:
全连接神经网络:
全连接神经网络级联多个变换来实现输入到输出的映射。
注:非线性操作是不可以去掉!
理解权值
全联接神经网络的描述能力更强。
因为调整 W1W_1W1 行数 等于 增加模板个数,分类器有机会学到两个不同方向的马的模板。
线性可分:线性分类器
线性不可分:全连接神经网络
绘制
命名
4.2 激活函数
激活函数是全连接神经网络中的一个重要部分,缺少了激活函数,全连接神经网络将退化为线性分类器。
必要性
常用的激活函数
网络结构设计
用不用隐层,用一个还是用几个隐层?(深度设计)
每隐层设置多少个神经元比较合适?(宽度设计)
没有统一的答案!
结论:
神经元个数越多,分界面就可以越复杂,在这个集合上的分类能力就越强。
依据分类任务的难易程度来调整神经网络模型的复杂程度。
...
CVDL - 线性分类器
三、线性分类器
为什么从线性分类器开始?
形式简单、易于理解
通过层级结构(神经网络)或者高维映射(支撑向量机)可以形成功能强大的非线性模型
线性分类器体验
3.1 定义
线性分类器
是一种线性映射,将输入的图像特征映射为类别分数。
示例
3.2 参数
矩阵表示
权值向量
决策边界
3.3 图像表示
将图像转换成向量的方法有很多,这里我们用一种最简单的方法,直接将图像矩阵转换成向量。
3.4 损失函数
对示例样本,分类器1与分类器2的分类谁的效果更好?
需要损失函数来帮忙!
损失函数搭建了模型性能与模型参数之间的桥梁,指导模型参数优化。
损失函数是一个函数,用于度量给定分类器的预测值与真实值的不一致程度,其输出通常是一个非负实值。
其输出的非负实值可以作为反馈信号来对分类器参数进行调整,以降低当前示例对应的损失值,提升分类器的分类效果。
一般定义
多类支撑向量机损失
示例
疑问
多类支撑向量机损失 L 的最大/最小值会是多少?
最大:无穷大
最小:0
...