<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Deep learning on 断念梦的站点</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/</link><description>Recent content in Deep learning on 断念梦的站点</description><generator>Hugo</generator><language>zh-cn</language><atom:link href="https://desistdaydream.github.io/docs/12.AI/Machine-learning/index.xml" rel="self" type="application/rss+xml"/><item><title>Machine learning</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Machine-learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Machine-learning/</guid><description>概述 参考：
Wiki, Machine_learning Wiki, Data mining Machine learning(机器学习，简称 ML) 是 AI 领域的一个研究方向。ML 致力于研究出一种统计算法，能够从数据中学习，并对未见过的数据进行 generalization(泛化)，从而无需明确的编程指令即可执行任务。
就像人需要学习一样，机器也需要学习。机器学习是人工智能的一个广泛子领域。
机器学习围绕 Model(模型) 构建了一套体系，通过 Training(训练)，让模型从 Dataset(数据集) 中学会规律，以便可以根据输入，Inference(推理) 出可能的输出。
[!Example] 自然语言处理中，当我们向模型提交输入的文字后，模型会根据参数，逐步预测将要输出的每一个文字，每个文字都是由模型根据训练好的参数，依据统计学的百分比概率推导出来的（选择可能性概率最高的那个字）。
[!TODO] 我们人类好像也是通过这种方式沟通的，每个字都在脑子中依据已有知识，推理出来后，逐一说出来。
交给模型的数据总是需要进行 Data processing(数据预处理)，不论是 训练 或者 推理，数据总是需要以一种模型可以理解的形式（e.g. Ternsor）传入。
TODO: 这都是啥？
Convolutional Neural Network(卷积神经网络简称 CNN) Transformer(变压器) Generative Adversarial Network(对抗网络模型，简称 GAN) Data mining(数据挖掘) 学习方法 参考：
Wiki, Machine_learning - Approaches(方法) Wiki, Supervised learning 监督学习 Wiki, Unsupervised learning 无监督学习 TODO:
RLHF # Reinforcement Learning from Human Feedback(基于人类反馈的强化学习) B 站 - AI老兵文哲，大模型成功背后的RLHF到底是什么？ 个人理解：有点像强化学习，但是对完成目标提供的奖励不是提前设计好的。这个奖励通常是一个评分体系，由人类预先训练模型（假如称为 Mentor）进行的打分。然后让待训练的模型，被整个 Mentor 打分，直到这个待训练的模型可以获得最高的分数。 机器学习方法传统上分为三类，它们对应于学习范式，取决于学习系统可用的“信号”或“反馈”的性质：</description></item><item><title>Deep learning</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Deep-learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Deep-learning/</guid><description>概述 参考：
Wiki, Deep_learning Deep learning(深度学习) 是Machine learning方法家族的一部分，专注于利用多层神经网络来执行分类 、 回归和表征学习等任务。该领域从生物神经科学中汲取灵感，其核心是将人工神经元堆叠成层，并“训练”它们来处理数据。“深度”一词指的是网络中使用了多层（从三层到几百层甚至几千层不等）。学习可以是监督的、半监督的或无监督的。
深度神经网络、深度信念网络、深度强化学习、递归神经网络、卷积神经网络和 Transformer 等深度学习架构已应用于计算机视觉、语音识别、自然语言处理、机器翻译、生物信息学、药物设计等领域、医学图像分析、气候科学、材料检验和棋盘游戏程序，它们在这些方面产生的结果可与人类专家的表现相媲美，在某些情况下甚至超过人类专家的表现
TODO:
生成式模型 判别式模型 深度学习框架 TensorFlow # 基于 NumPy 构建，谷歌开发
用于操作 Tensor(张量) 的库 PyTorch # 基于 Torch 构建，Facebook 开发
Paddle，百度飞桨
DeepSpeed 参考：
GitHub 项目，microsoft/DeepSpeed DeepSpeed Chat 一键式 RLHF 训练，让你的类 ChatGPT 千亿大模型提速省钱 15 倍</description></item><item><title>Model</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Model/</guid><description>概述 参考：
Wiki, Machine_learning - Models Wiki, Hyperparameter Model(模型)，狭义上指数学模型中的统计模型，是一种数学表示，用于描述和解决特定类型的问题。这些模型可以是各种各样的，包括传统的统计学模型，如线性回归和逻辑回归，也可以是基于神经网络的深度学习模型，如卷积神经网络和循环神经网络。
模型可以根据给定的输入数据进行训练和调整，以使它们能够在未见过的数据上进行准确预测或分类（线性回归的逻辑）。因此，AI 领域中的模型，本质上是一种数学模型，通过使用数学方法来处理和分析数据，以解决各种问题，如 分类、预测、图像处理、自然语言处理 等。
在 Machine learning 领域，Model(模型) 可以代指多个不同层次的概念，可以是 数学公式、一个模型文件、一组模型文件、提供推理的模型服务、等等。
从广义角度看，模型通常由如下几个部分组成
Architecture(架构) # 模型架构是一组代码，定义神经网络结构与计算方式。本质是数学公式的代码化表达。 若是没有参数，无法单独使用。用来定义如何使用 Parameters 简单粗暴点理解的化，最底层就是 nn.Linear。😂 Parameters(参数) # i.e. Weight(权重)，用于表示模型从数据中学习到的特征，也可以理解为模型的状态（特征/状态是一系列数值，用 Tensor(张量) 记录）。 若是没有架构，无法单独使用。用来为架构提供有状态的信息。 由于权重文件需要消耗大量空间，所以诞生多种 权重格式。 Data processing(数据处理) # 提供 “人类可理解的信息” 与 “Tensor” 之间的相互转换逻辑。 由于模型保存的都是 Tensor。所以需要把 人类可读的文件、可看的图片、etc. 转为 Tensor，以便输入给模型；或者在模型输出 Tensor 之后，转换为人类可理解的信息。 对于 NLP 来说，Tokenization(分词器) 是典型的数据处理器；对于 CV 来说，Transform(TODO: 需要总结) 是典型的数据处理器 从狭义角度看，我们也可以把模型理解为 单一的权重文件、单一的公式，都算模型吧~ 主要看我们日常交流的语境是什么了。甚至若是从广义角度看，那些可以提供模型推理能力的 WebAPI 也可以是模型的一部分。
个人理解：架构 + 参数 = 模型。哪怕没有数据处理，模型本身依然成立，但是只有架构或者只有参数，模型本身就不成立。数据处理只是让模型可以被用起来而已。
[!Note] Hyperparameter(超参数)</description></item><item><title>Dataset</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Dataset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Dataset/</guid><description>概述 参考：
TODO: Wiki, 没有 Wiki？ https://docs.lanyingim.com/quest/40_20240615_1_73_1718389635.html https://easyaitech.medium.com/%E4%B8%80%E6%96%87%E7%9C%8B%E6%87%82-ai-%E6%95%B0%E6%8D%AE%E9%9B%86-%E8%AE%AD%E7%BB%83%E9%9B%86-%E9%AA%8C%E8%AF%81%E9%9B%86-%E6%B5%8B%E8%AF%95%E9%9B%86-%E9%99%84-%E5%88%86%E5%89%B2%E6%96%B9%E6%B3%95-%E4%BA%A4%E5%8F%89%E9%AA%8C%E8%AF%81-9b3afd37fd58 Datasete(数据集) 是用于 训练模型、测试模型 的一组特定数据的集合。Dataset 中通常包含两部分内容
Unlabeled data(未标记数据) i.e. 原始数据 Labeled data(已标记数据) 也称为 Annotated data(已标注的数据) 通过数据标注，将 Unlabeled data 变为 Labeled data 后，将这些 Labeled data 打包成 Dataset 供模型训练。
有时候，训练模型并需要已标记的数据，比如 无监督学习、etc. 。
Data annotation(数据注释) 参考：
OpenCV 博客，Data Annotation – A Beginner’s Guide Wiki, Labeled data https://www.amantyatech.com/data-annotation-and-labeling-everything-you-need-to-know AWS，What is Data Labeling? https://toloka.ai/blog/annotation-vs-labeling/ Data annotation(数据注释) 是一组数据中的 信息 Annotation(注释)/Label(标签)。这些 信息注释/标签 在不同的场景下有不同的表示含义，e.g. 一张照片中哪部分是牛，哪部分是马；录音中说了哪些词；视频中正在执行什么类型的动作；新闻文章的主题是什么；推文想要表达的是一种什么情绪；X 光片中的一个点是否是肿瘤；etc. 。
[!Note] 上面例子中标记照片中的牛、马通常用于 Object detection(对象检测) 任务、识别音频中的问题通常用于 语音识别 任务、识别动作通常用于 Pose estimation(姿态评估) 任务、etc.</description></item><item><title>Data processing</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Data-processing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Data-processing/</guid><description>概述 参考：
Wiki, Data_preprocessing 在 AI 领域，Data preprocessing(数据预处理) 是将 非结构化数据（e.g. 模型不可理解的） 转换为适合Machine learning模型的可理解表示的过程。模型的这一阶段旨在处理噪声，从而从原始噪声数据集中获得更优的结果。该数据集也存在一定程度的缺失值。
Data postprocessing(数据后处理) 是将结构化数据（e.g. Tensor）转为人类可以理解的数据。
[!Quote] 通常，数据预处理是指在分析数据之前对其进行操作、过滤或增强，通常是数据挖掘过程中的重要步骤。 数据收集方法往往缺乏有效控制，导致数据中出现超出范围的值、不可能的数据组合以及缺失值等问题。
计算机视觉 与 自然语言处理 的数据预处理并不完全一样
NLP 可能的数据预处理方式：
Tokenization CV 可能的数据预处理方式：
TODO [!Tip] 个人理解 在模型架构（e.g. Transformer, etc.）没有变化的前提下，对于输入数据的预处理，就显得尤为重要，对于向模型输入的数据的不同处理方式，会直接影响到模型的训练效果以及推理效果。
Data preprocessing Data preprocessing(数据预处理)
Data postprocessing Data postprocessing(数据后处理)</description></item><item><title>Training</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Training/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Training/</guid><description>概述 参考：
Wiki, Machine_learning - Training_models Wiki, raining, validation, and test data sets https://en.wikipedia.org/wiki/Training#Artificial-intelligence_feedback Training(训练) 模型最基本需要如下几样东西
原始模型 Dataset(数据集) Hyperparameter(超参数) 加载原始模型，设置超参数，对数据集进行 Data processing 以便把数据转为模型可以识别的数值（e.g. Tensor），一遍一遍训练，最后得出权重。
在开始训练之前，通常需要准备三个数据集，分别用于 训练、验证、测试：
并不是所有训练都需要 验证集 和 测试集
Training datasets(训练数据集) Validation datasets(验证数据集) Test datasets(测试数据集) 先使用训练数据集对模型进行最初的训练生成权重；然后使用验证数据集对训练后的模型进行评估打分，调整权重纠正训练中的偏差；最后使用测试数据集对模型评估打分。
一个模型的权重在没有训练之前通常都有一个默认值（0 - 1 的正态分布）。训练模型一般是指将数据集提供给模型后，数据将会转为一组数值，模型根据这组数值调整权重，随着一次一次的训练，模型会不断更新这些权重，直到满足最终目标。
通过模型配套的程序，将数据集交给原始模型并训练 N epoch(周期)，最终得到可以执行特定任务的模型（识别对象、沟通、etc.）
[!Tip] 不同种类的模型（计算机视觉、自然语言处理、etc.）训练时，可能需要一些特定于该种类模型的东西。
训练场景 参考：
知乎，训练100多个语言模型后，EvoLM告诉你：预训练、CPT、SFT、RL，每一步到底在干什么？ https://www.reddit.com/r/learnmachinelearning/comments/19f04y3/what_is_the_difference_between_pretraining/ Pre-training(预训练) # Fine-tuning(微调) # Continual Pre-Training(继续预训练，简称 CPT) # Supervised Fine-Tuning(监督微调，简称 SFT) # Reinforcement learning(强化学习，简称 PT) # 用 自然语言处理 的模型（i.e. LLM）举例：</description></item><item><title>Inference</title><link>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Inference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/12.AI/Machine-learning/Inference/</guid><description>概述 参考：
Inference(推理) 是一种行为，可以让 Model 依据用户输入，预测出输出。
Inference service(推理服务) 可以获取 自然语言处理、计算机视觉、etc. 计算结果的服务。
[!Note] 截至 2026-03-28，这是我自己造的词。我暂时想不到有其他词来描述这种东西
参考 Transformers model 的推理架构，Model 只是最底层用于计算 Tensor 的数学公式，想要让人类可用，还需要 分词器、etc. 其它 Model 的辅助功能，这些能力组合在一起，形成一个整体的 Inference service 对外提供服务。</description></item></channel></rss>