万字长文解读深度学习——生成对抗网络GAN

🌺历史文章列表🌺

  1. 深度学习——优化算法、激活函数、归一化、正则化
  2. 深度学习——权重初始化、评估指标、梯度消失和梯度爆炸
  3. 深度学习——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总
  4. 万字长文解读深度学习——卷积神经网络CNN
  5. 万字长文解读深度学习——循环神经网络RNN、LSTM、GRU、Bi-RNN
  6. 万字长文解读深度学习——Transformer
  7. 万字长文解读深度学习——GPT、BERT、T5
  8. 万字长文解读深度学习——ViT、ViLT、DiT
  9. 万字长文解读深度学习——CLIP、BLIP
  10. 万字长文解读深度学习——AE、VAE
  11. 万字长文解读深度学习——GAN
  12. 万字长文解读深度学习——训练、优化、部署细节

推荐阅读:

GAN(生成对抗网络)的系统全面介绍(醍醐灌顶)-CSDN博客

适合小白学习的GAN(生成对抗网络)算法超详细解读_gan网络-CSDN博客


目录

一、GAN 的基本结构

二、GAN 的损失函数

三、GAN 的训练过程

训练流程概述

训练流程步骤

初始化参数和超参数

定义损失函数

训练过程的迭代

判别器训练步骤

生成器训练步骤

交替优化

收敛判别

GAN 训练过程的挑战

四、GAN 的常见变体

1. DCGAN(Deep Convolutional GAN)

2. CycleGAN

3. BigGAN

4. StyleGAN

5. cGAN(Conditional GAN)

五、GAN 的应用场景

六、GAN 的优势与挑战

优势

挑战

总结


生成对抗网络(Generative Adversarial Network, GAN)是一种生成模型,由 Ian Goodfellow 等人于 2014 年提出。GAN 通过两个网络——生成器(Generator)和判别器(Discriminator)之间的对抗训练,使得生成器能够生成逼真的数据,从而被判别器难以区分。GAN 已广泛应用于图像生成、图像修复、风格迁移、文本生成等任务。

一、基本结构

GAN 包含两个核心部分:生成器和判别器。

  1. 生成器(Generator)

    • 功能:生成器接收一个随机噪声向量(通常是高斯分布或均匀分布),并将其映射到数据空间,使生成的数据尽可能接近真实数据
    • 目标:生成器的目标是“欺骗”判别器,使其无法区分生成数据和真实数据。
    • 网络结构:生成器通常由一系列反卷积(或上采样)层组成,以逐步生成更高分辨率的图像
  2. 判别器(Discriminator)

    • 功能:判别器接收输入样本,并判断该样本真假
    • 目标:判别器的目标是尽可能准确地分辨出真假样本
    • 网络结构:判别器通常是一个卷积神经网络(CNN),将输入数据压缩为一个概率值,表示该样本属于真实数据的概率

二、损失函数

GAN 的训练是一个生成器判别器相互博弈的过程,通过对抗训练逐步提高生成器的生成质量。训练过程主要包括以下步骤:

判别器

  • 训练判别器时,其输入是真实数据和生成器的生成数据
  • 判别器的目标区分真实数据和生成数据,即使得判别器输出接近 1 的概率表示真实数据,接近 0 的概率表示生成数据。
  • 判别器的损失函数通常使用二元交叉熵(Binary Cross-Entropy):

生成器

  • 训练生成器时,其输入是一个 随机噪声向量,通常记为 z。
  • 生成器的目标是生成逼真的样本“欺骗”判别器使判别器无法分辨生成数据和真实数据,因此生成器希望判别器输出接近 1(让判别器以为生成的图像是真实的)
  • 生成器的损失函数与判别器的损失类似,但这里生成器希望最大化判别器对生成数据的输出,即让判别器认为生成数据为真实数据

生成器的目标是最小化该损失,即最大化判别器对生成样本的输出

交替优化

  • 在每轮训练中,固定生成器训练判别器固定判别器训练生成器
  • 通过交替优化,两者不断改进,生成器的生成样本越来越逼真,而判别器的分辨能力也不断提高。

GAN 的目标是找到一个平衡点,使生成器生成的样本和真实数据在分布上尽可能接近。它是一个极小极大(minimax)损失函数,表达了生成器和判别器的博弈

这个目标函数包含两个部分:

  • 最大化判别器的目标:判别器希望最大化 \log D(x)\log(1 - D(G(z))),即尽可能将真实数据判断为真实样本、生成数据判断为生成样本。
  • 最小化生成器的目标:生成器希望最小化 \log(1 - D(G(z))),即生成器希望生成的样本尽可能接近真实样本,以欺骗判别器。

实际的 GAN 训练过程中,不会直接出现极小极大损失函数,而是通过优化生成器和判别器的各自损失函数来间接实现这个目标。

极小极大损失函数的目标通过分解为判别器损失和生成器损失来实现,二者的对抗优化就是对极小极大目标函数的间接实现。通过交替优化生成器和判别器的损失。伪代码实现如下:

来自论文原文

三、GAN 的训练过程

训练流程概述

GAN 的训练是一个极小极大(minimax)的博弈过程

  1. 生成器的目标是生成逼真的样本来“欺骗”判别器,使得判别器无法分辨生成样本与真实样本;
  2. 判别器的目标是尽可能准确地区分真实样本和生成样本。
  3. 这种对抗关系通过两个网络的交替训练来实现。

GAN 的训练过程分为以下几个主要步骤。

训练流程步骤

  1. 初始化参数和超参数
    • 初始化生成器 G 和判别器 D 的网络参数。
    • 设定超参数,如学习率、训练轮数、批量大小、优化器等。
    • 通常选择的优化器为 Adam 优化器,初始学习率一般设为较小值,以确保训练过程稳定。
  2. 定义损失函数

    GAN 的损失函数由生成器和判别器的对抗损失组成。目标是找到一个平衡点,使生成器能够生成与真实样本分布相近的样本。

    • 判别器损失

      参考上节
    • 生成器损失

      参考上章
  3. 训练过程的迭代

    训练过程的每一轮迭代中,生成器和判别器会交替优化。一般的训练过程如下:

    判别器训练步骤

    判别器的目标是区分真实样本和生成样本。每轮判别器训练分为以下步骤:

    • 从真实数据分布中采样一批真实样本 x
    • 生成器从随机噪声分布 z(通常为正态分布或均匀分布)中采样一批噪声向量,并生成对应的样本 G(z)
    • 步骤 3:将真实样本 x 和生成样本 G(z) 分别输入判别器 D。判别器是一个二分类神经网络,通常由卷积层构成,以提取样本的特征输出是一个概率值,表示输入样本为真实样本的概率。计算出对真实样本的输出 D(x) 和生成样本的输出 D(G(z))。
    • 步骤 4:根据判别器损失函数 L_D计算判别器的损失更新判别器的参数,使其能够更好地区分真实样本和生成样本。

    判别器训练的目的是让它尽可能区分真实样本和生成样本,鼓励其将真实样本判断为 1,生成样本判断为 0。

    生成器训练步骤

    生成器的目标是生成能够“欺骗”判别器的样本。生成器的训练步骤如下:

    • 步骤 1:从随机噪声分布 z 中采样一批噪声向量。
    • 步骤 2:将噪声向量输入生成器 G,得到生成的样本 G(z)。生成器是一个神经网络,通常由多层神经网络构成。在图像生成任务中,生成器通常采用反卷积(转置卷积)或上采样层来逐步生成高分辨率图像
    • 步骤 3:将生成样本 G(z) 输入判别器 D,计算判别器对生成样本的输出 D(G(z))。
    • 步骤 4:根据生成器损失函数 L_G计算生成器的损失,通过反向传播更新生成器的参数,使生成器生成的样本更加逼真,以“欺骗”判别器。

    生成器的优化目标是使得判别器的输出 D(G(z)) 越接近 1 越好,即让判别器认为生成样本是真实样本。生成器训练时,这里的D的参数是不可训练的。

  4. 交替优化

    训练过程中,生成器和判别器会不断地交替优化。通常,每轮训练中会多次优化判别器(如更新判别器参数数次,再更新生成器参数一次),以确保判别器的分辨能力。这种交替优化的过程被称为 GAN 的“对抗训练”。

  5. 收敛判别

    GAN 的训练目标是找到生成器和判别器之间的平衡点,但收敛难以判断。通常可以通过以下方法判别 GAN 是否趋于收敛:

    • 生成样本质量:观察生成样本的视觉质量,当生成样本变得清晰且真实时,说明生成器已经学到了接近真实数据分布的特征。
    • 判别器输出的均衡:在理想的情况下,判别器对真实样本和生成样本的输出概率应接近 0.5,表示判别器很难区分真假样本。
    • 损失变化:监控生成器和判别器的损失,若损失趋于平稳,说明两者逐渐达到平衡状态。

GAN 训练过程的挑战

GAN 的训练通常存在一些挑战,需要在训练过程中进行调试和优化。

  1. 训练不稳定:GAN 的训练过程可能会发生梯度消失或梯度爆炸,导致生成效果不佳。可以使用 WGAN、谱归一化等方法来提升稳定性。

  2. 模式崩溃(Mode Collapse):生成器可能会陷入“模式崩溃”现象,即只生成相似的样本而缺乏多样性。可以通过多样性损失(如 Minibatch Discrimination)或训练策略(如添加噪声)来缓解模式崩溃。

  3. 对抗关系平衡:判别器和生成器的能力需要平衡。若判别器太强,生成器难以改进;若生成器太强,判别器很快失去判断能力。可以适当调整判别器和生成器的训练频率,保持两者的平衡。

四、GAN 的常见变体

原始的 GAN 结构存在一些问题,例如训练不稳定、容易陷入模式崩溃(mode collapse)等。为了克服这些问题,出现了多种改进的 GAN 变体

变体主要改进应用场景优点
DCGAN使用深度卷积结构生成图像,批量归一化等改进高质量图像生成、人脸生成、艺术风格图像生成生成质量高,结构简单
CycleGAN无需配对数据,使用循环一致性损失双生成器双判别器实现图像转换图像风格迁移(照片转素描、白天转夜晚)等无需配对数据,双向转换
BigGAN标签嵌入、谱归一化、大型网络结构(更多层次的卷积)高清图像生成、超高分辨率生成生成质量极高,适合大规模数据
StyleGAN样式映射网络,自适应实例归一化(AdaIN),多尺度控制高质量人脸生成、风格迁移细节控制能力强,质量极高
cGAN在生成器和判别器中加入条件输入,实现特定属性生成根据类别标签生成图像(不同表情、年龄等)可控性高,适合特定属性生成
1. DCGAN(Deep Convolutional GAN)

DCGAN 是最早将卷积神经网络(CNN)应用于 GAN 的变体之一,被广泛应用于图像生成任务。DCGAN 的目标是提升图像生成质量,使生成器可以生成更高分辨率和更具细节的图像。

  • 主要改进
    • 使用卷积层替代 GAN 中传统的全连接层,生成器使用反卷积(或转置卷积)逐步生成图像,判别器使用标准的卷积层提取图像特征。
    • 移除池化层,用步幅卷积(stride convolution)来减小分辨率,从而保留更多细节。
    • 在生成器和判别器中使用批量归一化(Batch Normalization)来加速训练和提升稳定性。
    • 生成器使用 ReLU 激活,判别器使用 Leaky ReLU 激活。
  • 应用场景:高质量图像生成、人脸生成、艺术风格图像生成等。
  • 优点:结构简单,训练稳定性较高,生成图像质量较好,是后续很多 GAN 变体的基础。
2. CycleGAN

CycleGAN 是一种专注于未配对数据集的图像到图像转换的 GAN 变体,用于解决当缺少成对样本时的风格迁移和图像转换任务。

  • 主要改进
    • 循环一致性损失(Cycle Consistency Loss):CycleGAN 在生成器中引入了循环一致性损失,使得图像从一种风格转换为另一种风格后,还可以还原回原始风格。这种双向映射的设计让 CycleGAN 能够在没有配对数据的情况下进行训练。
    • 双生成器双判别器:CycleGAN 使用两个生成器和两个判别器,分别负责从源域到目标域的转换,以及从目标域到源域的逆向转换。
  • 应用场景:图像风格转换(如将马变为斑马、照片转为素描、白天转为夜晚)、图像修复和艺术创作等。
  • 优点:无需配对训练数据,即可实现高质量的图像到图像转换,特别适合风格迁移任务。
3. BigGAN

BigGAN 是一种大规模、高分辨率的 GAN 变体,主要用于生成高质量、高分辨率的图像。BigGAN 在生成效果上达到了新的高度,但其训练难度和计算资源要求也较高。

  • 主要改进
    • 标签嵌入(Label Embedding):在生成器和判别器中加入标签嵌入,以便在条件 GAN 中生成具有特定类别的图像。
    • 正则化和归一化技术:BigGAN 使用谱归一化(Spectral Normalization)来控制判别器的梯度,使得训练更稳定。此外,使用大批量训练、渐进式训练等手段来提高生成图像的分辨率和质量。
    • 生成器架构调整:生成器中使用了更多层次的卷积,使得生成的图像更细腻,并利用大型网络结构提升生成质量。
  • 应用场景:高清图像生成、图像生成研究等,适用于需要超高质量和分辨率的生成任务。
  • 优点:生成质量出色,可以生成高分辨率的图像,但训练成本较高,适合有强大计算资源支持的场景。
4. StyleGAN

StyleGAN 是由 NVIDIA 提出的基于样式控制的 GAN 变体,提供了更高的图像生成质量和样式可控性。它被广泛用于高质量人脸生成和其他具有分层样式控制的生成任务中。

  • 主要改进
    • 样式映射网络(Style Mapping Network):StyleGAN 使用一个样式映射网络,将潜在空间中的输入向量映射到样式空间,然后将这些样式控制应用于生成器的不同层次。
    • 自适应实例归一化(Adaptive Instance Normalization, AdaIN):生成器在每一层应用 AdaIN 操作,使样式向量可以控制每层的特征分布,实现不同分辨率下的细节和整体风格调整。
    • 多尺度控制:通过在不同生成层次中应用样式向量,StyleGAN 可以在不同层次上控制图像的特征,从而生成更细腻、更有层次感的图像。
  • 应用场景:高质量人脸生成、艺术风格迁移、细节编辑等。
  • 优点:生成图像质量极高,具有强大的样式控制能力,能够在不同层次上调整生成样本的特征。
5. cGAN(Conditional GAN)

cGAN(条件 GAN)是在生成器和判别器中引入条件信息(如类别标签、属性标签等)的 GAN 变体,使得 GAN 生成的图像可以带有特定的属性或类别。cGAN 的基本思想是在生成器和判别器的输入中加入条件变量。

  • 主要改进
    • 条件输入:在生成器的输入噪声向量上添加类别标签或其他条件变量,这使得生成器可以根据给定条件生成带有特定特征的图像。
    • 判别器的条件输入:在判别器中引入相同的条件信息,使判别器能够更准确地判断生成样本是否符合给定条件。
  • 应用场景:根据类别生成特定属性的图像,如不同表情、服装、场景、年龄等。适用于需要生成带有特定特征的图像任务。
  • 优点:生成的图像具有更高的可控性,适合生成带有明确标签或特征的图像。

五、GAN 的应用场景

GAN 具有强大的生成能力,在多个领域中得到了广泛应用:

  1. 图像生成
    • GAN 可用于生成高分辨率图像,应用于艺术创作、广告、电影制作等领域。
  2. 图像修复
    • GAN 可用于修复有缺陷或损坏的图像,例如老照片修复、面部填补。
  3. 图像超分辨率
    • GAN 可生成清晰的高分辨率图像,用于增强低分辨率图像的细节。
  4. 图像到图像的转换
    • 例如将草图转为真实照片,黑白图像上色等。CycleGAN 在无监督图像转换任务上表现优异。
  5. 数据增强
    • 在数据集有限的情况下,GAN 可以用于生成新样本,扩展训练数据,提升模型的泛化能力。
  6. 文本生成与文本到图像生成
    • GAN 已应用于文本生成、文本到图像生成等任务,使 AI 能够根据描述生成符合语义的图像。

六、GAN 的优势与挑战

优势
  1. 生成能力强:GAN 的生成器可以生成逼真的样本,不仅限于简单的噪声分布。
  2. 无监督学习:GAN 不需要带标签的样本,能够通过未标注数据进行无监督训练。
  3. 适用范围广:GAN 的生成能力在图像、音频、文本等多种数据类型上都有广泛应用。
挑战
  1. 训练不稳定:GAN 的训练是生成器和判别器的对抗过程,容易陷入梯度消失或爆炸,训练过程不稳定。
  2. 模式崩溃:GAN 可能生成重复样本而缺乏多样性(模式崩溃),即生成器只生成某些特定样本。
  3. 超参数敏感:GAN 的训练对学习率、批量大小等超参数较为敏感,调优成本高。
  4. 难以衡量生成质量:GAN 的生成样本质量较难定量评估,目前常用的 FID(Fréchet Inception Distance)等指标也无法完全反映样本质量。

总结

GAN 是一种强大的生成模型,通过生成器和判别器的对抗训练,使得生成器能够生成接近真实的数据。GAN 的多种变体和改进版本在图像生成、数据增强、风格转换等领域取得了显著成果。尽管 GAN 面临训练不稳定、模式崩溃等挑战,但它的生成能力为多个领域的研究和应用提供了新的可能性。未来的研究将继续优化 GAN 的稳定性和多样性,扩展其在不同场景的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学SQL,要安装什么软件?

先上结论,推荐MySQLDbeaver的组合。 学SQL需要安装软件吗? 记得几年前我学习SQL的时候,以为像Java、Python一样需要安装SQL软件包,后来知道并没有所谓SQL软件,因为SQL是一种查询语言,它用来对数据库进行操…

Leecode刷题C语言之统计好节点的数目

执行结果:通过 执行用时和内存消耗如下: 题目:统计好节点的数目 现有一棵 无向 树,树中包含 n 个节点,按从 0 到 n - 1 标记。树的根节点是节点 0 。给你一个长度为 n - 1 的二维整数数组 edges,其中 edges[i] [ai,…

【代码审计】常见漏洞专项审计-业务逻辑漏洞审计

❤️博客主页: iknow181 🔥系列专栏: 网络安全、 Python、JavaSE、JavaWeb、CCNP 🎉欢迎大家点赞👍收藏⭐评论✍ 0x01 漏洞介绍 1、 原理 业务逻辑漏洞是一类特殊的安全漏洞,业务逻辑漏洞属于设计漏洞而非实…

【408】SDN重点笔记

总特征:数据平面(负责转发)与控制平面(负责控制)分离 控制平面: 由服务器和软件组成。控制平面完成转发表,并分发。 路由器不再需要路由选择协议,不再交换信息,只负责收到…

Redis的Zset在排行榜中应用

1.在pom文件导入&#xff1a; <!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframew…

安全见闻1-5

涵盖了编程语言、软件程序类型、操作系统、网络通讯、硬件设备、web前后端、脚本语言、病毒种类、服务器程序、人工智能等基本知识&#xff0c;有助于全面了解计算机科学和网络技术的各个方面。 安全见闻1 1.编程语言简要概述 C语言&#xff1a;面向过程&#xff0c;适用于系统…

入门车载以太网(4) -- 传输层(TCP\UDP)

目录 1.ECU通信方式的变化 2.传输层概述 2.1 UDP 2.2 TCP 3. TCP和ISO 15765-2 1.ECU通信方式的变化 我们先回顾下两种通信方式&#xff1a;Signal-Based Messaging、Service-Based Messaging。 Signal-Based Messaging 基于信号的通信方式&#xff0c;例如CAN通信&…

Tofu AI视频处理模块视频输入配置方法

应用Tofu产品对网络视频进行获取做视频处理时&#xff0c;首先需要配置Tofu产品的硬件连接关系与设备IP地址、视频拉流地址。 步骤1 Tofu设备点对点直连或者通过交换机连接到电脑&#xff0c;电脑IP配置到与Tofu默认IP地址同一个网段。 打开软件 点击右上角系统设置 单击左侧…

QT<30> Qt中使鼠标变为转圈忙状态

前言&#xff1a;当我们在写软件时&#xff0c;在等待阻塞耗时操作时可以将鼠标变为忙状态&#xff0c;并在一段时间后恢复状态&#xff0c;可以用到GxtWaitCursor&#xff1a;Qt下基于RAII的鼠标等待光标类。 一、效果演示 二、详细代码 在项目中添加C文件&#xff0c;命名为…

什么是CRM系统?

越来越多的企业意识到&#xff1a;如何有效管理与客户的关系、提升客户满意度&#xff0c;并通过这些提升推动销售增长&#xff0c;已经成为许多公司亟待解决的问题。为此&#xff0c;客户关系管理&#xff08;Customer Relationship Management&#xff0c;简称CRM&#xff09…

【青牛科技】 GC6153——TMI8152 的不二之选,可应用于摇头机等产品中

在电子工程领域&#xff0c;不断寻求性能更优、成本更低的解决方案是工程师们的永恒追求。今天&#xff0c;我们要为广大电子工程师带来一款极具竞争力的产品 —— GC6153&#xff0c;它将成为 TMI8152 的完美替代之选。 一、产品背景 随着科技的飞速发展&#xff0c;电子设备…

JS 实现游戏流畅移动与按键立即响应

AWSD 按键移动 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>.box1 {width: 400px;height: 400px;background: yellowgreen;margin: 0 auto;position: relative;}.box2 {width: 50px;height:…

服务器上安装Orcale数据库以及PL SQL工具(中文)

一、前期准备 1、oracle数据库安装包–>Oracle下载地址&#xff0c;版本根据当时情况就下最新的就行&#xff0c;下载时间可能有点长&#xff0c;耐心点。 2、PL SQL工具下载地址–>PL SQL下载地址&#xff0c;百度网盘可以共享【限速&#xff0c;没办法&#xff01;&am…

javaWeb小白项目--学生宿舍管理系统

目录 一、检查并关闭占用端口的进程 二、修改 Tomcat 的端口配置 三、重新启动 Tomcat 一、javaw.exe的作用 二、结束javaw.exe任务的影响 三、如何判断是否可以结束 结尾&#xff1a; 这个错误提示表明在本地启动 Tomcat v9.0 服务器时遇到了问题&#xff0c;原因是所需…

python爬虫(二)爬取国家博物馆的信息

import requests from bs4 import BeautifulSoup# 起始网址 url https://www.chnmuseum.cn/zx/xingnew/index_1.shtml # 用于存储所有数据 all_data [] page 1 global_index 1 # 定义全局序号变量并初始化为1 while True:html_url requests.get(url).textif requests.get…

2024 年(第 7 届)“泰迪杯”数据分析技能赛B 题 特殊医学用途配方食品数据分析 完整代码 结果 可视化分享

一、背景特殊医学用途配方食品简称特医食品&#xff0c;是指为满足进食受限、消化吸收障碍、代谢素乱或者特定疾病状态人群对营养素或者膳食的特殊需要&#xff0c;专门加工配置而成的配方食品&#xff0c;包括0月龄至12月龄的特殊医学用途婴儿配方食品和适用于1岁以上的特殊医…

TofuAI处理BT1120时序视频要求

时序要求 BT.1120视频用于1920x108030Hz数字视频输入。具体时序必须严格按照说明。BT.1120输入电平为1.8V。 BT1120数字视频采用YCbCr彩色格式输出&#xff0c;串行数据位宽为16bit&#xff0c;亮度在 高8bit&#xff0c;色度在低8bit&#xff0c;亮度和色度在同一个时钟周期输…

ASP.NET MVC宠物商城系统

该系统采用B/S架构&#xff0c;使用C#编程语言进行开发&#xff0c;以ASP.NET MVC框架为基础&#xff0c;以Visual Studio 2019为开发工具&#xff0c;数据库采用SQL Server进行保存数据。系统主要功能包括登录注册、宠物展示、个人中心、我的订单、购物车、用户管理、宠物类别…

嵌入式硬件实战提升篇(一)-泰山派RK3566制作多功能小手机

引言&#xff1a;主要针对于嵌入式全栈内容的知识点汇总并对于linux等相关驱动知识点进行串联&#xff0c;用大家参考学习&#xff0c;并用到了嘉立创提供的泰山派RK3566作为学习的主控。 实物演示如下所示&#xff1a; 目录 一、硬件设计 1.转接电路 2.背光电路 3.音频接…

玩转ChatGPT:文献阅读 v2.0

一、写在前面 好久不更新咯。 因为最近ChatGPT更新了不少功能&#xff08;水一篇刷存在感&#xff09;&#xff1a; 上线ChatGPT-4o模型&#xff0c;说推理能力还不错&#xff1b;上线联网功能&#xff0c;类似Kimi那种。 所以呢&#xff0c;用它来读文献就挺舒服的了。例如…