深度学习核心之激活函数
概述
激活函数(Activation Function)
激活函数可视化
激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式
引入激活函数的目的
不使用激活函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线性变换。因为线性模型的表达能力通常不够
所以这时候就体现了激活函数的作用了,激活函数可以引入非线性因素,设有三个线性变换
\begin{array}{l}\mathrm{z}_{1}=\mathrm{w}_{1} \mathrm{x}+\mathrm{b}_{1} \\ \mathrm{z}_{2}=\mathrm{w}_{2} \mathrm{x}+\mathrm{b}_{2} \\ \mathrm{z}_{3}=\mathrm{w}_{3} \mathrm{x}+\mathrm{b}_{3}\end{array}将这三个线性变换加到一起,可以得到
\begin{aligned} \mathrm{y} & =\mathrm{w}_{4} \mathrm{z}_{1}+\mathrm{w}_ ...
深度学习核心基础知识点
基础知识简单说明下机器学习和深度学习的主要区别:
模型结构:一般深度学习基于深度神经网络架构较为复杂化
自动提取特征:传统机器学习需要人工构造特征但深度学习基于神经网络自动提取特征
数据量:深度学习需要大量的数据集来训练多层神经网络
反向传播算法反向传播(Backpropagation)算法是一种用于计算神经网络中各个参数梯度的方法,它基于链式法则和梯度下降算法,下面是反向传播算法的基本步骤:
前向传播(Forward Propagation):
输入一个样本,通过神经网络的前向传播计算得到预测输出
逐层计算每个神经元的输出值,直至输出层
在前向传播过程中,将每一层的输入、权重和激活函数的结果保存下来,用于后续的反向传播计算
计算损失函数(Loss Calculation):
根据预测输出和真实标签计算损失函数的值
常见的损失函数包括均方误差(Mean Squared Error)、交叉熵损失(Cross-Entropy Loss)等
反向传播计算梯度(Backward Propagation):
从输出层开始,根据链式法则计算每个参数的梯度
逐层向后传播,通过链式法则 ...
图像分类算法
图像分类
计算机视觉中图像分类任务脉络梳理
An Analysis of Deep Neural Network Models for Practical Applications
经典模型综述
模型综述
LeNet-5: 早期卷积神经网络中最有代表性的架构,是Yann LeCun在1998年设计的,用于手写数字识别的卷积神经网络
AlexNet: 2012年ILSVRC冠军,6千万参数。由于准确率远超传统方法的第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。自此之后,CNN成为在图像识别分类的核心算法模型,带来了深度学习的大爆发
ZF-Net: 2013年ILSVRC冠军,结构和AlexNet区别不大,分类效果也差不多。这篇文章的贡献在于,提出了一种CNN特征可视化方法:反池化、反激活、反卷积,从而成为CNN特征可视化的开山之作
GoogLeNet: 2014年ILSVRC冠军网络。同样也是5+3的模式(以池化层为界),参数量约为5百万,核心模块是Inception Module。Inception历经了V1、V2、V3、V4等多个版本的发展 ...
目标检测与跟踪算法
目标检测
经典目标检测Object Detection模型整理
深入浅出Yolo系列之Yolov5核心基础知识完整讲解
目标检测 YOLO系列算法
Object Detection in 20 Years: A Survey
论文详解
R-CNN史上最全讲解
YOLOv1论文翻译解读
YOLO v4:物体检测的最佳速度和精度
Yolo系列代码
概述
目标检测——RCNN与YOLO系列
核心问题
分类问题:即图片(或某个区域)中的图像属于哪个类别
定位问题:目标可能出现在图像的任何位置
大小问题:目标有各种不同的大小
形状问题:目标可能有各种不同的形状
算法分类
Anchor Based模型
Anchor Free模型
One-stage模型
YoloV2-5系列、SSD、RetinaNet
YoloV1、FCOS、CornerNet
Two-stage模型
Faster RCNN、Cascade RCNN、MaskRCNN
two stage:
先进行区域生成,该区域称为region proposal(RP,一个有可能包含物体的预选框);再 ...
数据标注工具
label-studio
label-studio社区版和企业版比较
基于UIE的命名实体识别下的label-studio-ml教程
Specific-examples-for-pre-annotations
Label Studio是一个开源的,可配置的数据注释工具,其目的是使您能够使用标准化输出格式的最方便的界面标记不同类型的数据
特色:支持多人协作,支持主动学习、支持多种的标注的任务
缺点:在目标检测标注时,好像没有十字辅助线
支持的标注任务,包括了如下所示,具体的见官方git介绍
label studio 结合 MMDetection 实现数据集自动标记、模型迭代训练的闭环
Label Studio使用技巧
关键的两个git仓库,其中label-studio的官方文档在这里
label-studio, 进行普通的图片标记工作,如果要使用其提供的辅助预标记功能,则需要进行后续配置
label-studio-ml-backend,主要提供深度学习服务,包括预标记和模型训练,结合前端形成模型迭代训练的主动学习效果
版本
1234567891011-- 前端labe ...
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代码库
通常而言,绝大部分NLP问题可以归入上图所示的四类任务中
序列标注: 这是最典型的NLP任务,比如中文分词,词性标注,命名实体识别,语义角色标注等都可以归入这一类问题 ...
图论算法
图结构基本概念
图论基础和表示
图的基本介绍和表示方式
定义图论(Graph Theory)是离散数学的一个分支,是一门研究图(Graph)的学问
图的分类
有无方向
有向图
无向图
有无权重
无权图
有权图
连通性
图论中,连通图基于连通的概念,在一个无向图G中,若从顶点i到顶点j有路径相连(当然从j到i也一定有路径),则称i和j是连通的
如果图中任意两点都是连通的,那么图被称作连通图,如果此图是有向图,则称为强连通图
完全图
完全图是一个简单的无向图,其中每对不同的顶点之间都恰连有一条边相连
图的表示图的表示方式有两种:二维数组表示(邻接矩阵)、链表表示(邻接表)
邻接矩阵
邻接表
十字链表[有向图]
图的类型欧拉图
欧拉通路、欧拉回路、欧拉图和半欧拉图以及 Hierholzer 算法
回路与通路的定义:
欧拉通路(欧拉路径): 通过图中所有边恰好一次且行遍所有顶点的通路
欧拉回路: 通过图中所有边恰好一次且行遍所有顶点的回路
欧拉图与半欧拉图:
欧拉图(Eulerian graph): 具有欧拉回路的图称
半欧拉图(semi ...