AI学习笔记5
Amazon SageMaker
Amazon SageMaker 是 AWS 于 2017 年推出的 全面的机器学习平台,旨在帮助数据科学家和开发者 构建、训练、部署 机器学习模型。它是一个端到端的机器学习解决方案,可以处理从数据预处理到模型部署的整个流程。
特点与功能
机器学习生命周期管理:包括数据准备、特征工程、模型训练、超参数调优、模型部署和监控。
托管 Jupyter Notebook:提供基于云的 Jupyter Notebook 环境,方便开发和测试机器学习代码。
自动化模型训练:支持 AutoML(自动机器学习) 和 自动超参数优化,帮助选择最佳模型。
模型部署:通过托管服务轻松部署 ML 模型,同时具备扩展性和高可用性。
安全性:集成 AWS 安全功能,如 IAM 权限管理、VPC 网络隔离、加密存储等。
支持自定义模型:可以使用 TensorFlow、PyTorch、MXNet 等主流深度学习框架训练自定义模型。
使用场景
数据科学与预测分析:构建数据驱动的预测模型,例如销售预测、需求预测、欺诈检测。
图像和视频分析:应用于图像分类、物体检测、面部识别等领域。
自然语言处理(NLP):开发文本分类、情感分析、聊天机器人等应用。
自定义 AI 应用:通过深度学习框架开发自定义的机器学习模型,并将其部署到生产环境中。
机器学习分类
1. 监督与无监督(核心分类维度)
- 监督学习:数据带有标签,模型学习输入和输出之间的关系。
- 适合训练的模型:
- 分类模型:支持向量机(SVM)、逻辑回归、决策树、随机森林、k近邻(KNN)、神经网络(如卷积神经网络 CNN)
- 回归模型:线性回归、岭回归、Lasso回归、梯度提升回归、神经网络
- 应用场景:
- 图像分类:手写数字识别(MNIST)、物体检测(COCO Dataset)
- 语音识别:将音频数据转换为文本
- 自然语言处理:情感分析、垃圾邮件分类
- 预测分析:房价预测、股票市场预测
- 适合训练的模型:
- 无监督学习:数据没有标签,模型从数据中发现隐藏模式。
- 适合训练的模型:
- 聚类模型:K-means、层次聚类(Hierarchical Clustering)、DBSCAN
- 降维模型:主成分分析(PCA)、t-SNE、独立成分分析(ICA)
- 异常检测模型:孤立森林(Isolation Forest)、高斯混合模型(GMM)
- 应用场景:
- 客户细分:根据购买行为对客户进行分群
- 降维和数据可视化:高维数据的特征提取和可视化
- 异常检测:信用卡欺诈检测、网络入侵检测
- 推荐系统:电影推荐、音乐推荐(基于聚类的协同过滤)
- 适合训练的模型:
- 半监督学习:使用部分标注的数据,结合大量未标注的数据进行训练。
- 适合训练的模型:
- 半监督分类模型:半监督SVM、图神经网络(Graph Neural Networks, GNN)
- 生成式模型:生成对抗网络(GANs)、自编码器(Autoencoders)
- 应用场景:
- 文本分类:新闻分类、社交媒体情感分析(少量标注数据 + 大量未标注数据)
- 医疗诊断:通过少量标注的医学图像数据与大量未标注的数据结合,提高诊断准确性
- 语音识别:部分转录的音频数据与大量未转录的数据一起训练
- 图像分类:在少量标注图像的基础上使用大量未标注数据改进模型效果
- 适合训练的模型:
2. 基于数据获取方式的技术
这些方法可以组合使用,与监督和无监督学习协同工作:
- 主动学习(Active Learning):
- 适用于监督学习场景,尤其是标签获取成本高的情况。
- 但也可以应用在无监督学习中,如选择最有信息量的数据点来进行聚类或降维。
- 迁移学习(Transfer Learning):
- 可以用于监督或无监督任务,将在源任务中学到的知识迁移到目标任务中。
- 在线学习(Online Learning):
- 既可用于监督学习(处理有标签的数据流),也可用于无监督学习(适应数据分布的变化)。
- 自监督学习(Self-supervised Learning):
- 通常用于生成标签(如 NLP 和计算机视觉领域),可以视为无监督学习的一种特殊形式。
3. 基于任务目标的学习方法
这些方法可用于不同任务目标,并结合上面的学习方式:
- 强化学习(Reinforcement Learning):
- 独立于监督/无监督学习分类,更多用于决策问题。
- 元学习(Meta-learning):
- 可应用于监督学习或无监督学习,通过学习多个任务来提高模型的泛化能力。
- 多任务学习(Multi-task Learning):
- 通常用于监督学习,但也可以扩展到无监督学习(如同时学习聚类和降维任务)。
举例说明:主动学习的组合方式
监督学习 + 主动学习:例如,在图像分类任务中,模型主动选择最不确定的样本供人工标注,从而提升监督学习的效率。
无监督学习 + 主动学习:在聚类任务中,可以通过主动选择最有代表性的未标注数据点进行聚类,从而提高聚类效果。
总结
不同学习方法并非互斥,它们可以在不同维度上组合使用。例如,主动学习可以同时应用于监督和无监督学习。
分类纬度可以包括数据标注情况(监督、无监督、半监督)、数据处理方式(主动学习、在线学习、迁移学习)以及任务目标(强化学习、元学习)。
所以,主动学习并不是独立于监督或无监督学习的,而是与这些方法相辅相成的技术。
模型分类
按技术分类来看,大语言模型(LLM)和生成对抗网络(GAN)都属于生成模型类别,但它们的具体实现和应用领域有所不同。以下是按技术纬度对各种生成模型的分类:
1. 基于神经网络的生成模型
- 生成对抗网络(GAN):
- GAN是由生成器和判别器组成的对抗式神经网络结构,广泛应用于生成图像、视频等数据。其核心思想是生成器生成假数据,判别器判断数据真伪,生成器通过反馈不断提高生成数据的质量。
- 应用:
- 图像生成
- 视频生成
- 数据增强
- 文本生成(较少)。
- 自回归模型(Autoregressive Models):
- 例如GPT系列(如GPT-3、GPT-4)是典型的自回归生成模型,通过预测下一个词来生成文本,通常训练过程中通过最大化条件概率分布进行优化。
- 应用:
- 文本生成
- 机器翻译
- 对话系统
- 变分自编码器(VAE,Variational Autoencoders):
- VAE通过编码器将数据映射到潜在空间,通过解码器从潜在空间重构数据,常用于生成新数据样本,并有较好的概率建模能力。
- 应用:
- 图像生成
- 数据去噪
- 表示学习
- 生成式对抗网络的变体(如CycleGAN, StyleGAN等):
- CycleGAN用于无监督图像翻译任务(如将照片转换为绘画),StyleGAN专注于生成高质量的图像。
- 应用:
- 风格转换
- 图像超分辨率
- 无监督学习
2. 大语言模型(LLM)
- BERT(Bidirectional Encoder Representations from Transformers):
- BERT是一种基于双向Transformer的模型,主要用于理解文本中的上下文信息,常用于分类、问答等任务,而非直接生成内容。
- 应用:
- 文本分类
- 问答系统
- 命名实体识别
- GPT(Generative Pre-trained Transformer):
- GPT是一种自回归的Transformer模型,专注于生成文本,通过大规模无监督学习进行预训练,具有很强的生成能力。
- 应用:
- 文本生成
- 对话系统
- 文本摘要
- T5(Text-to-Text Transfer Transformer):
- T5是一种统一的框架,将所有NLP任务(包括生成任务、分类任务、问答任务等)转化为文本到文本的格式,从而使用相同的模型进行处理。
- 应用:
- 文本翻译
- 文本生成
- 文本分类
- BART(Bidirectional and Auto-Regressive Transformers):
- BART结合了BERT的双向编码和GPT的自回归生成方法,适合于文本生成和文本重构任务。
- 应用:
- 文本生成
- 文档摘要
- 问答系统
3. 强化学习与生成
- 深度强化学习(Deep Reinforcement Learning):
- 强化学习通过智能体与环境的互动来学习优化策略,生成任务可以通过强化学习与生成模型结合来进行,比如在生成对话时使用强化学习来优化生成结果的质量。
- 应用:
- 机器人
- 游戏
- 自动驾驶
- 生成式对话系统
- 生成对抗网络与强化学习结合(如RL-GAN):
- 在一些应用中,GAN和强化学习结合起来,强化学习为生成模型提供奖励信号,GAN的生成过程则是通过对抗训练提高生成结果的质量。
- 应用:
- 生成式对话系统
- 图像生成
4. 其他生成模型
- WaveNet:
- WaveNet是由DeepMind提出的一种深度生成模型,最初用于语音生成。它基于卷积神经网络,但通过使用自动回归的方法生成音频波形。
- 应用:
- 语音合成
- 音频生成
5. 模型综合
- 多模态生成模型:
- 多模态生成模型(如DALL·E、CLIP)结合了图像和文本处理,能够基于文本描述生成图像,或基于图像内容生成文本描述。
- 应用:
- 图像生成
- 文本生成
- 图像和文本的双向理解
总结:
大语言模型(如GPT系列、BERT、T5等)专注于自然语言处理任务,而生成对抗网络(GAN)则更倾向于生成各种数据(如图像、视频等)。两者属于不同的生成模型技术,应用场景也有所不同。
常见问题
以下是机器学习和人工智能领域常见的各种问题和挑战的汇总,包括数据泄露、幻觉、过拟合、欠拟合以及其他相关问题:
1. Bias (偏差)
定义:模型的预测系统性地偏离真实值,通常是由于数据集的偏见或不平衡。
例子:模型在性别或种族数据上的不公平预测。
2. Variance (方差)
定义:模型在不同训练数据集上的表现波动过大,通常是由于模型过于复杂,导致过拟合。
例子:复杂的模型在每次训练时表现不同,导致泛化能力差。
3. Class imbalance (类别不平衡)
定义:数据集中的某些类别样本数量远大于其他类别,导致模型偏向预测多数类别。
例子:在疾病预测任务中,健康样本远多于疾病样本,导致模型难以识别少数类别。
4. Model interpretability (模型可解释性)
定义:模型的决策过程难以理解,尤其是在复杂模型中(如深度神经网络)。
例子:在医疗领域,医生需要理解模型的诊断依据。
5. Data quality (数据质量)
定义:数据中存在缺失、噪声、错误标记等问题,影响模型的准确性。
例子:缺失值或标注错误的标签导致训练效果差。
6. Exploding/vanishing gradients (梯度爆炸/消失)
定义:在深度学习中,反向传播时梯度值过大或过小,导致模型训练不稳定。
例子:深层神经网络的训练过程中梯度爆炸导致模型无法学习。
7. Overfitting in ensemble methods (集成方法中的过拟合)
定义:集成方法(如随机森林、梯度提升)中,过多或过深的基础模型可能会导致过拟合。
例子:在随机森林中,过多的树导致模型对训练数据过拟合。
8. Model drift (模型漂移)
定义:模型随着时间变化其性能下降,通常是由于数据分布的变化。
例子:市场需求的变化导致销售预测模型的效果逐渐下降。
9. Transfer learning (迁移学习)
定义:利用在一个任务上训练的模型知识,应用到其他任务中,减少训练数据和时间。
例子:用在大规模图像数据集上训练的CNN模型,迁移到医疗影像分类任务中。
10. Data leakage (数据泄露)
定义:训练数据中包含了本应只有在推理阶段才能获取的信息,导致模型在训练阶段提前”看到了”测试数据,导致过于乐观的评估结果。
例子:在建模过程中,测试集的标签或未来信息被错误地包含到训练数据中。
11. Hallucination (幻觉)
定义:在生成型模型中,模型生成的内容看似合理,但其实是错误的、虚构的或与实际情况不符的信息。
例子:生成文本时,模型会输出看似合理但并不存在的事实或事件。
12. Overfitting (过拟合)
定义:模型过于复杂,以至于在训练数据上表现得非常好,但在未见过的数据(测试集)上表现差,无法有效泛化。
例子:训练深度学习模型时,模型可能会”记住”训练数据的细节,而不是学到一般规律。
13. Underfitting (欠拟合)
定义:模型过于简单,无法捕捉到训练数据中的重要模式或特征,导致在训练集和测试集上都表现较差。
例子:使用过于简单的线性模型去拟合复杂的非线性数据。