![](https://img-blog.csdnimg.cn/direct/e3e3764db4cc49ad93e0700c87292540.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
TensorFlow与Keras机器学习实战
文章平均质量分 94
持续更新的人工智能机器学习领域中TensorFlow与Keras API实战栏目。
TensorFlow是机器学习领域中常用的深度学习框架,Keras则是一个易于使用且高级的神经网络API,它们相辅相成,帮助开发者构建和训练人工智能神经网络模型。
现仅需29.9元,就能驾驭最完整的TF与Keras!
政安晨
专注于人工智能感知交互技术的研究与产品实践,双一流大学软件领域硕士,数十项发明专利授权,18年+行业经验。
展开
-
政安晨:专栏目录【TensorFlow与Keras】【机器学习/深度学习/神经网络/实例实战】
本文篇是作者政安晨的专栏《TensorFlow与Keras实战演绎机器学习》的总纲,专栏文章不断更新,这篇总纲也会随着专栏不断更新。TensorFlow给自己的定位是端到端机器学习平台,是一个开源的机器学习框架,用于构建和训练各种机器学习模型。Keras给自己的定位是一个用 Python 编写的高级神经网络 API,是一个开源的高级神经网络库,用于构建和训练深度学习模型。原创 2024-03-25 05:45:00 · 2152 阅读 · 4 评论 -
政安晨:【Keras机器学习示例演绎】(五十三)—— 使用 TensorFlow 决策森林进行分类
TensorFlow 决策森林(TensorFlow Decision Forests)是与 Keras API 兼容的决策森林模型的最新算法集合。 这些模型包括随机森林(Random Forests)、梯度提升树(Gradient Boosted Trees)和 CART,可用于回归、分类和排序任务。原创 2024-07-09 05:45:00 · 764 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(五十二)—— 使用门控残差和变量选择网络进行分类
本文目标:使用门控残差和变量选择网络进行收入水平预测。本示例演示了如何使用 Bryan Lim 等人在 Temporal Fusion Transformers (TFT) for Interpretable Multi-horizon Time Series Forecasting 中提出的门控残差网络(GRN)和变量选择网络(VSN)进行结构化数据分类。GRN 为模型提供了灵活性,只在需要时才进行非线性处理。原创 2024-07-07 16:52:04 · 112 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(五十一)—— 利用广义网络、深度网络和交叉网络进行结构化数据学习
本文目标:使用 "宽深 "和 "深交 "网络进行结构化数据分类。本例演示如何使用两种建模技术进行结构化数据分类:广度模型和深度模型深度模型和交叉模型原创 2024-06-02 21:44:14 · 1004 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(五十)—— 从零开始的结构化数据分类
目标:对结构化数据进行二元分类,包括数字特征和分类特征。本例演示如何从原始 CSV 文件开始进行结构化数据分类。我们的数据包括数字特征和分类特征。我们将使用 Keras 预处理层对数字特征进行归一化处理,并对分类特征进行矢量化处理。原创 2024-05-22 05:45:00 · 907 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十九)—— 利用 KerasNLP 实现语义相似性
本文目标 :只需几行代码就能对表格数据进行分类。本例演示了如何从原始 CSV 文件开始进行结构化数据分类(也称为表格数据分类)。我们的数据包括数字特征、整数分类特征和字符串分类特征。我们将使用实用程序 keras.utils.FeatureSpace 对特征进行索引、预处理和编码。代码改编自从零开始的结构化数据分类示例。那一个示例使用 Keras 预处理层管理自己的底层特征预处理和编码,而在本示例中,我们将一切委托给 FeatureSpace,使工作流程变得极其快速和简单。原创 2024-05-21 07:24:33 · 815 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十八)—— 利用 KerasNLP 实现语义相似性
本文目标:在语义相似性任务中使用来自 KerasNLP 的预训练模型。语义相似性是指确定两个句子在含义方面相似程度的任务。在本示例中,我们已经了解了如何利用 HuggingFace Transformers 库使用 SNLI(斯坦福自然语言推理)语料库来预测句子的语义相似性。在本文中,我们将学习如何使用 KerasNLP(核心 Keras API 的扩展)来完成相同的任务。此外,我们还将了解 KerasNLP 如何有效减少模板代码并简化构建和使用模型的过程。原创 2024-05-20 05:45:00 · 1410 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十七)—— 进行数字加法的顺序到顺序学习
本文目标:学习数字串加法的模型,例如 "535+61" -> "596"。原创 2024-05-19 06:30:00 · 952 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十六)—— 使用变换器进行命名实体识别
本文目标:使用来自 CoNLL 2003 共享任务的 Transformers 和数据进行 NER。命名实体识别(NER)是识别文本中命名实体的过程。命名实体的例子有"人物"、"地点"、"组织"、"日期 "等。NER 本质上是一种标记分类任务,每个标记都被归入一个或多个预定类别。原创 2024-05-19 05:45:00 · 1863 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十五)—— 使用变换器进行命名实体识别
本文目标:使用来自 CoNLL 2003 共享任务的 Transformers 和数据进行 NER。在本练习中,我们将训练一个基于 Transformer 的简单模型来执行 NER。我们将使用来自 CoNLL 2003 共享任务的数据。有关该数据集的更多信息,请访问数据集网站。不过,由于获取该数据需要额外的步骤,即获得免费许可证,因此我们将使用 HuggingFace 的数据集库,其中包含该数据集的处理版本。原创 2024-05-14 07:34:31 · 889 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十四)—— 使用序列到序列转换器实现英语到西班牙语的翻译
本文目标:实现序列到序列转换器,并在机器翻译任务中对其进行训练。在本例中,我们将建立一个序列到序列 Transformer 模型,并在英语到西班牙语的机器翻译任务中对其进行训练。原创 2024-05-14 06:42:47 · 714 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十三)—— 使用 KerasNLP 实现英语到西班牙语的翻译
本文目标:使用 KerasNLP 在机器翻译任务中训练序列到序列转换器模型。KerasNLP 提供了 NLP 的构建模块(模型层、标记化器、度量指标等),方便构建 NLP 管道。在本示例中,我们将使用 KerasNLP 层构建编码器-解码器 Transformer 模型,并在英语-西班牙语机器翻译任务中对其进行训练。原创 2024-05-12 05:45:00 · 768 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十二)—— 使用 KerasNLP 和 tf.distribute 进行数据并行训练
本文目标:使用 KerasNLP 和 tf.distribute 进行数据并行训练。分布式训练是一种在多台设备或机器上同时训练深度学习模型的技术。它有助于缩短训练时间,并允许使用更多数据训练更大的模型。KerasNLP 是一个为自然语言处理任务(包括分布式训练)提供工具和实用程序的库。在本文中,我们将使用 KerasNLP 在 wikitext-2 数据集(维基百科文章的 200 万字数据集)上训练基于 BERT 的屏蔽语言模型 (MLM)。原创 2024-05-11 12:37:36 · 776 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(四十一)—— 使用预先训练的词嵌入
本文目标:使用预训练的 GloVe 词嵌入对 Newsgroup20 数据集进行文本分类。在本例中,我们将展示如何使用预训练的单词嵌入来训练文本分类模型。我们将使用 Newsgroup20 数据集,该数据集包含 20,000 条属于 20 个不同主题类别的留言板信息。对于预训练的词嵌入,我们将使用 GloVe 嵌入。原创 2024-05-09 10:28:40 · 856 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(三十九)—— 使用 FNet 进行文本分类
本文目标:使用 keras_nlp.layers.FNetEncoder 层对 IMDb 数据集进行文本分类。在本例中,我们将演示 FNet 在文本分类任务中取得与 vanilla Transformer 模型相当的结果的能力。我们将使用 IMDb 数据集,该数据集收集了贴有正面或负面标签的电影评论(情感分析)。原创 2024-05-08 14:58:56 · 881 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(三十八)—— 从零开始的文本分类
本文目标:从原始文本文件开始进行文本情感分类。本示例展示了如何从原始文本(磁盘上的一组文本文件)开始进行文本分类。我们在 IMDB 情感分类数据集(未处理版本)上演示了该工作流程。我们使用 TextVectorization 层进行分词和索引。原创 2024-05-07 07:05:50 · 987 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(三十七)—— 在计算机视觉中学习调整大小
本文目标:在计算机视觉中学习调整大小。人们普遍认为,如果我们限制视觉模型像人类一样感知事物,它们的性能就能得到提高。例如,在这项工作中,Geirhos 等人发现,在 ImageNet-1k 数据集上预先训练的视觉模型偏重于纹理,而人类大多使用形状描述符来形成共同的感知。但这种观点是否总是适用,尤其是在提高视觉模型的性能时?原创 2024-05-06 06:30:00 · 508 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(三十六)—— 用聚合注意力增强信念网络
本文目标:构建补丁-通信网架构并将其注意力图谱可视化。视觉转换器(Dosovitskiy 等人)已成为卷积神经网络的有力替代品。视觉转换器以基于补丁的方式处理图像。然后将图像信息汇总为一个 CLASS 标记。该标记与特定分类决策中最重要的图像片段相关联。原创 2024-05-06 05:45:00 · 468 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(三十五)—— 使用 LayerScale 的类注意图像变换器
本文目标:实现配备关注类和 LayerScale 的图像转换器。在本文中,我们将实现 Touvron 等人在《深入研究图像变换器》(Going deeper with Image Transformers)一书中提出的 CaiT(Class-Attention in Image Transformers)。深度缩放,即增加模型深度以获得更好的性能和泛化,在卷积神经网络(例如 Tan 等人,Dollár 等人)中已经取得了相当大的成功。原创 2024-05-05 06:45:00 · 855 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(三十四)—— FixRes:修复训练-测试分辨率差异
本文目标:减少训练集和测试集之间的分辨率差异。在训练和测试视觉模型时使用相同的输入图像分辨率是一种常见的做法。然而,正如《修复训练-测试分辨率差异》(Touvron 等人)一书所研究的那样,这种做法会导致性能不达标。数据增强是深度神经网络训练过程中不可或缺的一部分。原创 2024-05-05 05:45:00 · 367 阅读 · 0 评论 -
政安晨:【Keras机器学习示例演绎】(三十三)—— 知识提炼
本文目标:实施经典知识蒸馏。知识蒸馏(Knowledge Distillation)是一种模型压缩程序,在这种程序中,一个小的(学生)模型被训练成与一个大的预训练(教师)模型相匹配。通过最小化损失函数,将知识从教师模型转移到学生模型,目的是匹配软化的教师对数以及地面实况标签。通过在 softmax 中应用 "温度 "缩放函数来软化对数,从而有效地平滑概率分布,并揭示教师所学的类间关系。原创 2024-05-04 06:30:00 · 590 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(三十二)—— 在 Vision Transformers 中学习标记化
本文目标:为 "视觉变换器"自适应生成较少数量的令牌。视觉变换器(Dosovitskiy 等人)和许多其他基于变换器的架构(Liu 等人、Yuan 等人)在图像识别方面取得了显著成果。下面将简要介绍用于图像分类的视觉变换器架构所涉及的组件:—— 从输入图像中提取小块图像。—— 线性投影这些斑块。—— 为这些线性投影添加位置嵌入。—— 通过一系列 Transformer(Vaswani 等人)模块运行这些投影。—— 最后,从最后的 Transformer 模块中提取表示并添加分类头。原创 2024-05-04 05:45:00 · 557 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(三十一)—— 梯度集中,提高训练效果
本文目标:实施梯度集中化,提高 DNN 的训练性能。本示例实现了 Yong 等人提出的深度神经网络新优化技术 "梯度集中化"(Gradient Centralization),并在 Laurence Moroney 的 "马或人 "数据集(Horses or Humans Dataset)上进行了演示。梯度集中化既能加快训练过程,又能提高深度神经网络的最终泛化性能。它通过将梯度向量集中为零均值,直接对梯度进行操作。原创 2024-05-03 06:15:00 · 1338 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十九)—— 利用卷积 LSTM 进行下一帧视频预测
本文目标:如何建立和训练用于下一帧视频预测的卷积 LSTM 模型。卷积 LSTM 架构通过在 LSTM 层中引入卷积递归单元,将时间序列处理和计算机视觉结合在一起。在本示例中,我们将探讨卷积 LSTM 模型在下一帧预测中的应用,下一帧预测是指在一系列过去帧的基础上预测下一个视频帧的过程。原创 2024-05-02 07:01:14 · 767 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十八)—— 使用 卷积神经网络与循环神经网络 架构进行视频分类
文本目标:在 UCF101 数据集上使用迁移学习和递归模型训练视频分类器。原创 2024-05-02 06:47:41 · 973 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十七)—— 利用 NNCLR 进行自我监督对比学习
本文目标:计算机视觉自监督学习方法 NNCLR 的实现。自我监督表示学习旨在从原始数据中获取稳健的样本表示,而无需昂贵的标签或注释。这一领域的早期方法侧重于定义预训练任务,这些任务涉及在一个有大量弱监督标签的领域中的代用任务。为解决此类任务而训练的编码器有望学习到一般特征,这些特征可能对其他需要昂贵注释的下游任务(如图像分类)有用。自监督学习技术的一大类别是使用对比损失的技术,这些技术已被广泛应用于图像相似性、降维(DrLIM)和人脸验证/识别等计算机视觉应用中。原创 2024-05-01 21:49:13 · 352 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十六)—— 图像相似性搜索的度量学习
本文目标:在 CIFAR-10 图像上使用相似度量学习的示例。度量学习旨在训练能将输入嵌入高维空间的模型,从而使训练方案所定义的 "相似 "输入彼此靠近。这些模型一经训练,就能为下游系统生成对这种相似性有用的嵌入模型,例如作为搜索的排名信号,或作为另一种监督问题的预训练嵌入模型。原创 2024-05-01 08:23:48 · 577 阅读 · 2 评论 -
政安晨:【Keras机器学习示例演绎】(二十五)—— 使用具有三重损失的连体网络进行图像相似性估计
本文目标:使用三重损失函数训练连体网络,以比较图像的相似性。连体网络是一种网络架构,包含两个或多个相同的子网络,用于为每个输入生成特征向量并进行比较。连体网络可应用于不同的使用场景,如检测重复数据、查找异常数据和人脸识别。本例使用的连体网络有三个相同的子网络。我们将向模型提供三张图片,其中两张是相似的(锚和正样本),第三张是不相关的(负样本)。为了让网络学习,我们使用了三重损失函数。您可以在 Schroff 等人 2015 年发表的 FaceNet 论文中找到有关三重损失的介绍。原创 2024-04-30 06:15:00 · 694 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十四)—— 使用具有对比损失的连体网络进行图像相似性估计
本文目标:使用对比损失训练的连体网络进行相似性学习。连体网络是一种神经网络,它在两个或多个姊妹网络之间共享权重,每个网络产生各自输入的嵌入向量。在有监督的相似性学习中,对这些网络进行训练,使不同类别输入的嵌入向量之间的对比度(距离)最大化,同时使相似类别的嵌入向量之间的距离最小化,从而得到反映训练输入的类别划分的嵌入空间。原创 2024-04-30 05:45:00 · 575 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十三)—— 语义图像聚类
本文目标:采用近邻算法进行语义聚类(SCAN)。本示例演示了如何在 CIFAR-10 数据集上应用语义近邻聚类(SCAN)算法(Van Gansbeke 等人,2020 年)。该算法包括两个阶段:1. 图像的自监督视觉表征学习,其中我们使用了 simCLR 技术。2.对学习到的视觉表征向量进行聚类,以最大限度地提高相邻向量聚类分配之间的一致性。原创 2024-04-29 06:15:00 · 566 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十二)—— Grad-CAM 级激活可视化
本文目标:如何为图像分类模型获取类激活热图。原创 2024-04-29 05:45:00 · 319 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十一)—— 调查视觉转换器的表征
本文目标:研究不同 Vision 变形金刚变体所学到的表征。在本示例中,我们将研究不同视觉转换器(ViT)模型学习到的表征。本示例的主要目的是让我们深入了解 ViT 从图像数据中学习的能力。本示例特别讨论了几种不同 ViT 分析工具的实现。注:当我们说 "视觉转换器 "时,我们指的是涉及转换器模块的计算机视觉架构(Vaswani 等人),而不一定是原始的视觉转换器模型(Dosovitskiy 等人)。原创 2024-04-28 06:00:00 · 733 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(二十)—— 综合梯度的模型可解释性
本文目标:如何获得分类模型的综合梯度。综合梯度集成梯度是一种将分类模型的预测归因于其输入特征的技术。它是一种模型可解释性技术:您可以用它来直观显示输入特征与模型预测之间的关系。集成梯度是一种将分类模型的预测归因于其输入特征的技术。原创 2024-04-28 05:45:00 · 118 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(十九)—— 可视化网络学习内容
本文目标:显示 convnet 过滤器响应的视觉模式。在本示例中,我们将研究图像分类模型能学习到哪些视觉模式。我们将使用在 ImageNet 数据集上训练的 ResNet50V2 模型。我们的过程很简单:我们将创建输入图像,最大限度地激活目标层。(选在模型中间的某个位置:层 conv3_block4_out)中的特定滤波器。这些图像代表了过滤器响应模式的可视化。原创 2024-04-27 06:00:00 · 181 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(十八)—— 图像字幕
本文目标:使用 CNN 和 Transformer 实现图像字幕模型。本文将使用 Flickr8K 数据集。该数据集包含 8000 多张图片,每张图片都配以五个不同的标题。原创 2024-04-27 06:00:00 · 349 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(十七)—— 用于图像分类的 RandAugment 可提高鲁棒性
本文目标:用于训练图像分类模型的 RandAugment,具有更强的鲁棒性。数据增强是一种非常有用的技术,有助于提高卷积神经网络(CNN)的平移不变性。RandAugment 是一种用于视觉数据的随机数据增强程序,在 RandAugment 中提出:RandAugment: Practical automated data augmentation with a reduced search space》一书中提出的。它由色彩抖动、高斯模糊、饱和度等强增强变换和随机作物等更传统的增强变换组成。原创 2024-04-26 06:00:00 · 857 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(十六)—— 用于图像分类的混合增强
本文目标:利用混合技术对图像分类进行数据扩增。mixup 是由 Zhang 等人在 mixup.Beyond Empirical Risk Minimization 一书中提出的一种与领域无关的数据增强技术。这项技术的名称相当系统。从字面上看,我们是在混合特征及其相应的标签。实施起来很简单。神经网络很容易记住错误的标签。mixup 通过将不同的特征相互组合(标签也是如此)来放松这一点,这样网络就不会对特征及其标签之间的关系过于自信。原创 2024-04-26 05:45:00 · 323 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(十五)—— 用于图像分类的 CutMix 数据增强技术
本文目标:利用 CutMix 对 CIFAR-10 上的图像分类进行数据扩增。CutMix 是一种数据增强技术,可解决区域剔除策略中存在的信息丢失和效率低下问题。该技术不是删除像素并用黑色或灰色像素或高斯噪声填充,而是用另一幅图像的补丁替换被删除的区域,同时根据合并图像的像素数量按比例混合地面实况标签。CutMix 是在 CutMix 中提出的:利用可定位特征训练强分类器的正则化策略》(Yun et al.)原创 2024-04-25 06:00:00 · 807 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(十四)—— 用于弱光图像增强的零 DCE
本文目标:实施零参考深度曲线估算,实现低-高。零参考深度曲线估算(Zero-Reference Deep Curve Estimation 或 Zero-DCE)将低照度图像增强定义为利用深度神经网络估算图像特定色调曲线的任务。在本示例中,我们训练一个轻量级深度网络 DCE-Net,以估计像素级和高阶色调曲线,从而调整给定图像的动态范围。原创 2024-04-25 05:45:00 · 345 阅读 · 1 评论 -
政安晨:【Keras机器学习示例演绎】(十三)—— 利用高效子像素 CNN 实现图像超分辨率
本文目标:在 BSDS500 上使用高效子像素模型实现超分辨率。ESPCN (Efficient Sub-Pixel CNN)由 Shi 于 2016 年提出,是一种在低分辨率版本图像的基础上重建高分辨率版本图像的模型。它利用高效的 "子像素卷积 "层,学习一系列图像升级滤波器。在本代码示例中,我们将实现论文中的模型,并在一个小型数据集 BSDS500 上对其进行训练。原创 2024-04-24 06:00:00 · 213 阅读 · 1 评论