type
status
date
slug
summary
tags
category
icon
password
就是一个电钻,不需要求甚解
text encoder
image encoder
深度理解
这张图片展示了一个视觉和语言表示学习(Vision-and-Language Representation Learning)以及视觉到语言生成学习(Vision-to-Language Generative Learning)的框架。这个框架主要涉及图像编码器、查询Transformer(Q-Former)和大型语言模型(LLM)。以下是对这张图片中各个部分的详细介绍:
左半部分:Vision-and-Language Representation Learning
Image Encoder(图像编码器)
- 功能:图像编码器负责提取输入图像的特征。它将图像转换为一个特征向量,通常使用预训练的卷积神经网络(如ResNet、VGG或Transformers等)来实现。
- 作用:图像编码器的输出是一个高维的特征向量,代表输入图像的视觉内容。
Q-Former(Querying Transformer)
- 功能:Q-Former是一个查询Transformer,负责将图像编码器提取的特征和文本输入进行融合。
- 输入:
- 图像特征:来自图像编码器的特征向量。
- 文本查询:代表特定任务的查询向量,例如生成与图像相关的文本描述。
- 输出:Q-Former将图像特征和文本查询进行融合,生成用于下游任务的特征表示。
右半部分:Vision-to-Language Generative Learning
Large Language Model (LLM)(大型语言模型)
- 功能:LLM负责根据输入的视觉和语言特征生成文本。LLM通常是预训练的大型语言模型,如GPT-3、BERT等。
- 作用:LLM可以生成与图像内容相关的自然语言文本。例如,描述图像内容、生成图像标题或撰写与图像相关的故事。
框架工作流程
- 图像编码:
- 输入图像首先通过图像编码器进行处理,生成高维的图像特征向量。
- 特征融合:
- 图像特征和文本查询一起输入到Q-Former中进行融合。Q-Former通过查询机制,将图像和文本特征结合在一起,生成适合用于语言生成任务的特征表示。
- 文本生成:
- 融合后的特征表示输入到LLM中,由LLM生成与图像相关的文本。例如,在图片中给出的示例中,模型生成了与日落图片相关的浪漫消息:“Love is like a sunset, it’s hard to see it coming but when it does it’s so beautiful.”
总结
这张图片展示了一个用于视觉和语言联合学习的框架,结合图像编码器、查询Transformer和大型语言模型,能够实现图像到文本的生成任务。该框架通过预训练的图像模型和语言模型来增强表示学习能力,适用于多种视觉和语言相关的任务,如图像描述生成、图像标题生成和跨模态内容生成等。
这种框架在实际应用中具有广泛的潜力,可以用于增强人机交互、自动化内容生成和多模态数据分析等领域。
yolo把图片分割开来
不用再训练
训练不了这个模型
2021 OpenAI
没有那么多的权重
直接拿来用就可以了
服务器也非常贵
几十千瓦 “炼铁炉”
AI就是一个工具,自己训练也没有什么意义
R-CNN非常慢
YOLO v3
Mask R-CNN
上古的东西没有什么必要去复现
不用自己去实现,没有什么意义
yolof
2012之前都是上古算法
两步检测路线
一步检测路线(yolo)
retina-net(人脸识别)
只看一遍
可以分为前面一步,又干后面一步
告诉你7*7的物体里面都是些什么东西
寻找物体的能力
7*7*20
置信率
中心点
扩展阅读看这篇,内容有些重复了
格子大,太粗犷
分割格更加小了
epoch概念
在深度学习和机器学习中,epoch是一个非常重要的概念,它用于描述整个数据集通过模型一次的过程。理解epoch的概念对于理解模型训练过程中的迭代和优化机制至关重要。以下是对epoch的详细介绍:
Epoch的定义
Epoch是指在训练过程中,模型使用整个训练数据集进行一次完整的前向传播和反向传播。换句话说,一个epoch就是模型对整个训练数据集进行一次完整的学习过程。
Epoch的工作流程
- 数据分批处理(Batch Processing):
- 在实际操作中,由于数据集通常非常大,一次性将整个数据集输入模型进行训练会导致计算资源和时间的消耗非常高。因此,数据集通常被划分为多个小批次(batch),每个批次包含若干个样本。
- 一个epoch包含多个batch。例如,如果数据集有1000个样本,每个batch包含100个样本,那么一个epoch就包含10个batch。
- 前向传播(Forward Propagation):
- 在每个batch中,模型通过前向传播计算每个样本的预测值。这一步骤包括输入数据、通过神经网络计算、并输出预测结果。
- 损失计算(Loss Calculation):
- 通过前向传播的输出值和实际值之间的差异计算损失函数。损失函数是模型优化的目标,通过最小化损失函数来提高模型的性能。
- 反向传播(Backward Propagation):
- 损失函数的值通过反向传播传回模型中,计算每个参数的梯度。这些梯度用于更新模型的参数,使模型在下一次迭代中能够更好地预测。
- 参数更新(Parameter Update):
- 使用优化算法(如梯度下降、Adam等)根据计算得到的梯度更新模型的参数。
多个Epoch的作用
- 训练稳定性:通过多个epoch进行训练,模型可以逐步调整参数,收敛到一个更好的解。
- 过拟合防止:通过适当的正则化技术(如dropout、L2正则化)和监控验证集的表现,可以在多个epoch训练中找到最佳的停止点,防止过拟合。
- 学习曲线:在训练过程中,通过监控训练误差和验证误差随epoch变化的曲线(学习曲线),可以判断模型的训练进度和性能,适时调整训练策略。
Epoch与其他相关概念
- Batch Size:
- Batch Size是指在一次前向传播和反向传播中使用的样本数量。Batch Size的选择影响训练的稳定性和速度。
- 小的Batch Size可以使模型参数更新更频繁,但计算效率较低;大的Batch Size则可以提高计算效率,但参数更新较慢。
- Iteration(迭代):
- 一个Iteration是指一次前向传播和反向传播过程。一个epoch包含多个iteration,其数量等于数据集的样本总数除以Batch Size。
示例
假设我们有一个数据集包含10000个样本,Batch Size设为100,训练10个epoch,那么训练过程如下:
- 每个epoch包含10000 / 100 = 100个iteration。
- 训练10个epoch总共需要进行10 * 100 = 1000个iteration。
总结
Epoch在机器学习和深度学习中是一个基本的概念,表示模型对整个训练数据集进行一次完整的学习过程。通过多个epoch进行训练,模型逐步调整参数,优化性能。理解epoch的概念对于理解模型的训练过程、监控训练进度和调整训练策略至关重要。
yolo v1
设别9000个类别
更多类的
imagenet 1000个类
coco 融合在一起
识别更多的类
预测变得更加有意义
速度非常快
20个类到9000
把很多东西进行一个合并
装更多的东西
大路制造支路
让信息更加丰富一些
效果没有那么好
速度很快,但是效果没有那么好
改了bounding box
直白的坐标
最终的结果
收敛更加容易一些
darknet
更加深的东西
添加了一些层次上的东西
多 、 密 和 疏
如出一辙
早期网络
感知不细微
多层感知
大感知和小感知
深度学习网络
神经元 整个车 感知是同一个东西
树枝 感觉到是直的 deep learning 会改变世界 机械化生产
战争 热成像结果 玩游戏一样 杀伤性
工人失业(挑选哪个螺丝是坏的,侧面,反面) 大规模的失业潮
v3之后没有什么值得说的了
后面作为一个融合 把技术搬进来
- Author:NotionNext
- URL:https://tangly1024.com/article/YOLO%20V1-V9%20%E4%BD%A0%E9%9C%80%E8%A6%81%E7%9F%A5%E9%81%93%E7%9A%84%E9%83%BD%E5%9C%A8%E8%BF%99%E9%87%8C%E4%BA%86%EF%BC%81%E5%9B%BE%E7%89%87%E6%A0%87%E6%B3%A8%E7%AE%97%E6%B3%95%E5%85%A8%E8%A7%A3%E6%9E%90%EF%BC%81%E4%B8%8A%E9%9B%86
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!