pytorch学习_基础知识
PyTorch 是一个开源的机器学习库,广泛应用于计算机视觉和自然语言处理等人工智能领域。由Facebook的人工智能研究团队开发,它基于之前的Torch库。PyTorch以其高度灵活和动态的计算图特性,在科研领域尤其受到青睐。下面是对PyTorch基础知识的一些介绍:
核心特性
动态计算图:PyTorch 使用动态计算图(也称为Define-by-Run方法),这意味着计算图的构建是即时的,并且可以根据运行中的数据进行改变。这为复杂的动态输入和不同长度的输出提供了便利
简洁的接口:PyTorch 提供了简洁直观的API,便于快速实现和调试模型,使得研究人员可以将更多时间投入到实验设计而非代码调试上
Python优先:PyTorch 设计为符合Python语言习惯,并且可以无缝集成到Python生态中,与NumPy等库协同工作
基础组件
张量(Tensors):张量是PyTorch中的基础数据结构,它类似于NumPy的ndarrays,但它也可以在GPU上运行以加速计算
自动微分(Autograd):PyTorch 的 autograd 模块提供了自动计算梯度的功能,对 ...
python常用库学习
图像相关
10个Python图像处理工具,非常全了!
图像的RGB 色彩模式
RGB 三个颜色通道的变化和叠加得到各种颜色,其中
R 红色,取值范围,0-255
G 绿色,取值范围,0-255
B 蓝色,取值范围,0-255
一幅图像上的所有像素点的信息就完全可以采用矩阵来表示,通过矩阵的运算实现更加复杂的操作
网络图片读取
12345678def get_url_img_io(url: str) -> BytesIO: """ 获取网络图片的io流 """ return BytesIO(requests.get(url).content)def get_url_img(url: str): """ 获取网络图片,并转为np.array """ return np.asarray(bytearray(get_url_img_io(url).read()), dtype="uint8")
plt.imsho ...
深度学习在图像领域的应用
必读!计算机视觉四大基本任务(分类、定位、检测、分割)
模型介绍
模型可视化netron工具库
pytorch模型转onnx模型的方法详解
图像分类
Stable Diffusion总共包含三个主要的组件
人工智能Ai画画——stable diffusion 原理和使用方法详解!
1)Clip Text用于文本编码。输入:文本输出:77个token嵌入向量,其中每个向量包含768个维度
2)UNet + Scheduler在信息(潜)空间中逐步处理/扩散信息。输入:文本嵌入和一个由噪声组成的初始多维数组(结构化的数字列表,也叫张量tensor)。输出:一个经过处理的信息阵列
3)自编码解码器(Autoencoder Decoder),使用处理过的信息矩阵绘制最终图像的解码器。
Clip Text 是一种自然语言处理模型,由 OpenAI 开发。它基于 CLIP(Contrastive Language-Image Pretraining)模型,旨在将文本和图像联系起来。Clip Text 模型可以理解和处理文本数据,以便进行各种任务,例如文本分类、情感分析、命名实体识别等。 ...
transformer学习
LLM总览
ChatGPT复现之路
LLM物种进化图
大模型训练流程图
动画科普LLM大模型进阶之路:为何GPT之外一定要关注LLaMA
四大步骤
预训练
监督式微调
奖励建模
强化学习
数据集
互联网公开数据集(2万亿token)
问题对(1万-10万)
人工反馈评价(10万-100万)
人工提示词(1万-10万)
算法
语言模型(预测下一个token)
语言模型(预测下一个token)
二元分类器(输出奖励)
强化学习(最大化奖励)
模型
基础模型
SFT模型
奖励模型
强化学习模型
所需资源
千块GPU训练数月
几十块GPU训练几天
几十块GPU
指标(TODO)
指令微调
Transformer
Attention Is All You Need
论文解读: Attention is All you need
Hugging Face的GitHub代码库
The Illustrated Transformer
通常而言,绝大部分NLP问题可以归入上图所示的四类任务中
序列标注: 这是最典型的NLP任务,比如中文分词,词 ...
图论算法
图结构基本概念
图论基础和表示
图的基本介绍和表示方式
定义图论(Graph Theory)是离散数学的一个分支,是一门研究图(Graph)的学问
图的分类
有无方向
有向图
无向图
有无权重
无权图
有权图
连通性
图论中,连通图基于连通的概念,在一个无向图G中,若从顶点i到顶点j有路径相连(当然从j到i也一定有路径),则称i和j是连通的
如果图中任意两点都是连通的,那么图被称作连通图,如果此图是有向图,则称为强连通图
完全图
完全图是一个简单的无向图,其中每对不同的顶点之间都恰连有一条边相连
图的表示图的表示方式有两种:二维数组表示(邻接矩阵)、链表表示(邻接表)
邻接矩阵
邻接表
十字链表[有向图]
图的类型欧拉图
欧拉通路、欧拉回路、欧拉图和半欧拉图以及 Hierholzer 算法
回路与通路的定义:
欧拉通路(欧拉路径): 通过图中所有边恰好一次且行遍所有顶点的通路
欧拉回路: 通过图中所有边恰好一次且行遍所有顶点的回路
欧拉图与半欧拉图:
欧拉图(Eulerian graph): 具有欧拉回路的图称
半欧拉图(semi ...
树算法
树结构概念
排序算法
排序算法
十大经典排序算法_动图演示
常见的10种排序算法
十大经典排序算法动画,看我就够了
十大经典排序算法
分类十种常见排序算法可以分为两大类:
比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破$O(n)$,因此也称为非线性时间比较类排序
非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序
排序算法
比较类
交换排序
冒泡排序(稳定)
快速排序[分治]
插入排序
简单插入排序(稳定)[打扑克]
希尔排序(插入排序的改进)
选择排序
简单选择排序[选最值]
堆排序
归并排序(稳定)[递归]
二路归并排序
多路归并排序
非比较类
计数排序(稳定)
桶排序(稳定)
基数排序(稳定)
算法复杂度
排序方法
时间复杂度(均)
时间复杂度(最坏)
时间复杂度(最好)
空间复杂度
稳定性
本地排序
插入排序
$O(n^2)$
$O(n^2)$
$O(n)$
$O(1)$
稳定
都可
希尔排序
$O(n^{1.3})$
$O(n^2)$
...
机器学习_最优化方法(1)
写在前面,本系列主要是对下面这本书做的学习笔记
常用数学符号的 LaTeX 表示方法
Markdown 常用数学符号和公式
基本概念
前言
最优化方法在机器学习领域处于中心地位,绝大多数算法最后都归结于求解最优化问题,从而确定模型参数,或直接获得预测结果
有监督学习,通过最小化损失函数或优化其他类型的目标函数确定模型的参数
数据降维算法,通过优化某种目标函数,确定降维后的结果,如主成分分析
按照优化变量的类型,可以将优化问题分为连续型优化问题与离散型优化问题
连续型优化问题的优化变量是连续变量,一般可借助导数求解
离散型优化问题的优化变量则为离散值
连续型优化问题又可分为凸优化问题与非凸优化问题,凸优化问题可以保证求得全局最优解
按照目标函数的数量
单目标优化:只有一个目标函数,
多目标优化:有多个目标函数
按照是否带有约束条件
不带约束的优化
带约束的优化
按照求解方式可分为
数值优化:求问题的近似解
解析解:求精确的公式解
基于概率的优化算法是优化算法家族中一种特殊的存在,典型的是遗传算法与贝叶斯优化
通常情况下最优化问题是求函数的极值,其优化变量是整 ...
高斯分布相关算法
学派对概率的诠释有两大学派,一种是频率派另一种是贝叶斯派,后面我们对观测集采用下面记号:
X_{N\times p}=(x_{1},x_{2},\cdots,x_{N})^{T},x_{i}=(x_{i1},x_{i2},\cdots,x_{ip})^{T}$X$这个矩阵展开如下
X=\left(\begin{array}{cccc}x_{11} & x_{12} & \cdots & x_{1 p} \\ x_{21} & x_{22} & \cdots & x_{2 p} \\ \vdots & & & \\ x_{N 1} & x_{N 22} & \cdots & x_{N p}\end{array}\right)_{N \times p}表示有$N$个样本,每个样本都是$p$维向量,其中假设每个观测都是由 $p(x|\theta)$生成的
频率派频率派认为$p(x|\theta)$中的$\theta$是一个未知的常量,而数据是一个随机变量,关心的是数据,目标是估计未知的常量$\theta$
常用的方法是最大似然估计
\theta_{MLE}=\mathop{argm ...
机器学习_概率论(1)
写在前面,本系列主要是对下面这本书做的学习笔记
常用数学符号的 LaTeX 表示方法
Markdown 常用数学符号和公式
随机事件与概率概率论同样在机器学习和深度学习中有至关重要的作用。如果将机器学习算法的输入数据和输出数据看作随机变量,则可用概率论的方法对数据进行计算,以此对不确定性进行建模
使用概率模型,可以输出概率值而非确定性的值,这对某些应用是至关重要的
对于某些应用问题,需要对变量之间的概率依赖关系进行建模,也需要概率论的技术,概率图模型是典型代表
随机数生成算法,即采样算法,需要以概率论作为理论指导
某些随机算法,如蒙特卡洛算法、遗传算法,同样需要以概率论作为理论或实现依据。
随机事件和概率是概率论中基本的概念,也是理解随机变量的基础
随机事件概率随机事件是可能发生也可能不发生的事件,这种事件每次出现的结果具有不确定性
例如,天气可能是晴天、雨天、阴天;考试分数可能为0与100之间的整数;掷骰子,1到6这几种点数都可能出现
以集合论作为工具,给出随机事件的定义
对于一个随机试验,其所有可能结果组成的集合称为样本空间记为$\Omega$
随机试验可能的结果 ...