NIPS2014 | GAN: 生成对抗网络

news2024/12/27 18:04:21

Generative Adversarial Nets

  • 摘要-Abstract
  • 引言-Introduction
  • 相关工作-Related Work
  • 对抗网络-Adversarial Nets
  • 理论结果-Theoretical Results
  • 实验-Experiments
  • 优势和不足-Advantages and disadvantages
    • 缺点
    • 优点
  • 结论及未来工作-Conclusions and future work
    • 研究总结
    • 未来研究方向


论文链接
本文 “Generative Adversarial Nets” 提出了生成对抗网络(GAN)这一通过对抗过程估计生成模型的新框架,为生成模型的研究开辟了新方向。


摘要-Abstract

We propose a new framework for estimating generative models via an adversarial process, in which we simultaneously train two models: a generative model G G G that captures the data distribution, and a discriminative model D D D that estimates the probability that a sample came from the training data rather than G G G. The training procedure for G G G is to maximize the probability of D D D making a mistake. This framework corresponds to a minimax two-player game. In the space of arbitrary functions G G G and D D D, a unique solution exists, with G G G recovering the training data distribution and D D D equal to 1 2 \frac{1}{2} 21 everywhere. In the case where G G G and D D D are defined by multilayer perceptrons, the entire system can be trained with backpropagation. There is no need for any Markov chains or unrolled approximate inference networks during either training or generation of samples. Experiments demonstrate the potential of the framework through qualitative and quantitative evaluation of the generated samples.

我们提出了一种通过对抗过程估计生成模型的新框架,在这个框架中我们同时训练两个模型:一个生成模型 G G G,它捕获数据分布;以及一个判别模型 D D D,它估计一个样本来自训练数据而非 G G G 的概率。 G G G 的训练过程是最大化 D D D 犯错的概率。这个框架对应于一个极小极大的双人博弈。在任意函数 G G G D D D 的空间中,存在一个唯一解,此时 G G G 恢复训练数据分布,并且 D D D 处处等于 1 2 \frac{1}{2} 21。在 G G G D D D 由多层感知器定义的情况下,整个系统可以用反向传播进行训练。在训练或生成样本期间,不需要任何马尔可夫链或展开的近似推理网络。实验通过对生成样本的定性和定量评估展示了该框架的潜力。


引言-Introduction

深度学习旨在发现丰富的分层模型以表示数据概率分布,但目前在生成模型方面影响较小。生成对抗网络(GAN)框架通过对抗过程估计生成模型,其生成模型与判别模型相互竞争,推动双方改进方法,直至生成样本与真实样本难以区分。在该框架中,生成模型通过多层感知器将随机噪声映射到数据空间,判别模型也为多层感知器,用于判断样本来源。此框架可避免传统生成模型在近似概率计算和利用分段线性单元方面的困难,且训练时仅需反向传播和随机失活算法,无需马尔可夫链或近似推断网络,为生成模型研究带来新的思路与方法。


相关工作-Related Work

该部分主要回顾了与生成对抗网络(GAN)相关的先前研究工作,包括深度生成模型、生成机器、基于判别准则训练生成模型、神经网络竞争概念以及对抗样本等方面的研究进展,通过与这些工作对比,凸显了GAN的独特性与创新性。具体内容如下:

  1. 深度生成模型:多数工作聚焦于通过最大化对数似然训练提供概率分布函数参数化规范的模型,如深度玻尔兹曼机,但此类模型似然函数难处理,需众多近似计算。
  2. 生成机器:为解决上述问题,“生成机器”应运而生,如生成随机网络,可通过精确反向传播训练,但仍需马尔可夫链。本文工作在此基础上消除了马尔可夫链的使用。
  3. 基于判别准则训练生成模型:已有方法使用判别准则训练生成模型,但对于深度生成模型,这些准则难以处理,因其涉及概率比率,无法用变分近似法逼近。噪声对比估计(NCE)通过让生成模型区分数据与固定噪声分布来训练,类似GAN中的竞争机制,但NCE的“判别器”定义需评估和反向传播两种密度,限制了其应用。
  4. 神经网络竞争概念:先前工作如预测性最小化,让神经网络隐藏单元与预测其值的另一网络输出竞争,但与GAN有显著差异。GAN中网络竞争是唯一训练准则,竞争性质为生成丰富高维向量作为输入,且基于极小极大游戏而非优化问题。
  5. 对抗样本:GAN常与“对抗样本”概念混淆,对抗样本是通过梯度优化找到的使分类网络误分类的样本,主要用于分析神经网络行为,而非训练生成模型,而GAN是一种生成模型训练机制。

对抗网络-Adversarial Nets

这部分主要介绍了生成对抗网络(GAN)的模型结构、训练过程以及在实际训练中遇到的问题和解决方法,为理解GAN的工作原理和实现方式提供了详细阐述。具体内容如下:

  1. 模型结构
    • 生成模型 G G G:将输入噪声变量 z z z(先验为 p z ( z ) p_z(z) pz(z))通过多层感知器映射到数据空间,记为 G ( z ; θ g ) G(z; \theta_g) G(z;θg),其中 θ g \theta_g θg 为参数。
    • 判别模型 D D D:同样为多层感知器,输出一个标量,表示样本 x x x 来自数据而非生成模型 G G G 生成样本的概率。
  2. 训练过程
    • 训练目标:判别模型 D D D 训练目标是最大化将训练样本和生成模型 G G G 生成样本正确分类的概率,生成模型 G G G 训练目标是最小化 log ⁡ ( 1 − D ( G ( z ) ) ) \log (1 - D(G(z))) log(1D(G(z))),二者构成极小极大博弈,价值函数为 V ( G , D ) = E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] V(G, D)=\mathbb{E}_{x \sim p_{data}(x)}[\log D(x)]+\mathbb{E}_{z \sim p_{z}(z)}[\log (1 - D(G(z)))] V(G,D)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]
    • 实际训练方法:由于直接优化判别模型 D D D 至最优计算成本高且易过拟合,实际采用交替优化方法,即先进行 k k k 步优化 D D D(通过小批量随机梯度上升),再进行1步优化 G G G(通过小批量随机梯度下降),实验中 k = 1 k = 1 k=1 效果较好。
  3. 训练问题及解决方法:训练初期,生成模型 G G G 生成样本较差,判别模型 D D D 能高置信度拒绝,导致 log ⁡ ( 1 − D ( G ( z ) ) ) \log (1 - D(G(z))) log(1D(G(z))) 饱和,梯度消失。解决方法是训练 G G G 最大化 log ⁡ D ( G ( z ) ) \log D(G(z)) logD(G(z)),该目标函数在学习早期能提供更强梯度,且与最小化 log ⁡ ( 1 − D ( G ( z ) ) ) \log (1 - D(G(z))) log(1D(G(z))) 有相同的动态平衡点。
    在这里插入图片描述
    图1:生成对抗网络通过同时更新判别分布( D D D,蓝色虚线)来进行训练,使其能够区分来自数据生成分布(黑色点线) p x p_{x} px 的样本和来自生成分布 p g p_{g} pg G G G)(绿色实线)的样本。下方的水平线是 z z z 采样的域,在此情况下是均匀采样。上方的水平线是 x x x 域的一部分。向上的箭头展示了映射 x = G ( z ) x = G(z) x=G(z) 如何将非均匀分布 p g p_{g} pg 施加到变换后的样本上。 G G G p g p_{g} pg 的高密度区域收缩,在低密度区域扩展。
    (a)考虑一对接近收敛的对抗网络: p g p_{g} pg p d a t a p_{data} pdata 相似,并且 D D D 是一个部分准确的分类器。
    (b)在算法的内循环中, D D D 被训练以区分来自数据的样本,收敛到 D ∗ ( x ) = p d a t a ( x ) p d a t a ( x ) + p g ( x ) D^*(x)=\frac{p_{data}(x)}{p_{data}(x)+p_{g}(x)} D(x)=pdata(x)+pg(x)pdata(x)
    (c)在对 G G G 进行更新后, D D D 的梯度引导 G ( z ) G(z) G(z) 流向更有可能被分类为数据的区域。
    (d)经过若干步训练后,如果 G G G D D D 有足够的能力,它们将达到一个两者都无法改进的点,因为 p g = p d a t a p_{g}=p_{data} pg=pdata。此时判别器无法区分这两个分布,即 D ( x ) = 1 2 D(x)=\frac{1}{2} D(x)=21

理论结果-Theoretical Results

本部分从理论上对生成对抗网络(GAN)进行了深入分析,包括证明极小极大博弈的全局最优解以及算法1的收敛性,为GAN的有效性提供了理论支持,具体内容如下:

  1. 全局最优性
    • 最优判别器 D D D 的形式:对于给定的生成器 G G G,最优判别器 D G ∗ ( x ) = p d a t a ( x ) p d a t a ( x ) + p g ( x ) D_G^*(x)=\frac{p_{data}(x)}{p_{data}(x)+p_g(x)} DG(x)=pdata(x)+pg(x)pdata(x)。证明通过对判别器训练准则 V ( G , D ) V(G, D) V(G,D) 求最大值得到,其本质是最大化估计条件概率 P ( Y = y ∣ x ) P(Y = y|x) P(Y=yx) 的对数似然( Y Y Y 表示样本 x x x 来源, y = 1 y = 1 y=1 表示来自 p d a t a p_{data} pdata y = 0 y = 0 y=0 表示来自 p g p_g pg)。
    • 全局最小值条件:当且仅当 p g = p d a t a p_g = p_{data} pg=pdata 时,虚拟训练准则 C ( G ) C(G) C(G) 达到全局最小值 − log ⁡ 4 -\log 4 log4。证明通过将 p g = p d a t a p_g = p_{data} pg=pdata 代入 C ( G ) C(G) C(G) 表达式得到 C ( G ) = log ⁡ 1 2 + log ⁡ 1 2 = − log ⁡ 4 C(G)=\log \frac{1}{2}+\log \frac{1}{2}=-\log 4 C(G)=log21+log21=log4,再通过与 C ( G ) = − log ⁡ ( 4 ) + K L ( p d a t a ∣ ∣ p d a t a + p g 2 ) + K L ( p g ∣ ∣ p d a t a + p g 2 ) C(G)=- \log (4)+KL(p_{data}||\frac{p_{data}+p_g}{2})+KL(p_g||\frac{p_{data}+p_g}{2}) C(G)=log(4)+KL(pdata∣∣2pdata+pg)+KL(pg∣∣2pdata+pg) 对比,利用詹森 - 香农散度(JSD)非负性,得出 C ∗ ( G ) = − log ⁡ 4 C^*(G)=-\log 4 C(G)=log4 为全局最小值且唯一解为 p g = p d a t a p_g = p_{data} pg=pdata
  2. 算法1的收敛性:若 G G G D D D 有足够容量,在 算法1 的每一步中,判别器能达到给定 G G G 下的最优,且 p g p_g pg E x ∼ p d a t a [ log ⁡ D G ∗ ( x ) ] + E x ∼ p g [ log ⁡ ( 1 − D G ∗ ( x ) ) ] \mathbb{E}_{x \sim p_{data}}[\log D_G^*(x)]+\mathbb{E}_{x \sim p_g}[\log (1 - D_G^*(x))] Expdata[logDG(x)]+Expg[log(1DG(x))] 准则更新,则 p g p_g pg 收敛到 p d a t a p_{data} pdata。证明基于 V ( G , D ) = U ( p g , D ) V(G, D)=U(p_g, D) V(G,D)=U(pg,D) p g p_g pg 的凸函数,其上确界的次导数包含函数在最大值点的导数,通过计算 p g p_g pg 的梯度下降更新,结合定理1中 sup ⁡ D U ( p g , D ) \sup_D U(p_g, D) supDU(pg,D) p g p_g pg 上的凸性和唯一全局最优性,得出 p g p_g pg 收敛到 p d a t a p_{data} pdata 的结论。

算法1:生成对抗网络的小批量随机梯度下降训练。应用于判别器的步数 k k k 是一个超参数。在我们的实验中,我们使用了 k = 1 k = 1 k=1,这是成本最低的选项。
在这里插入图片描述

在实际中,虽然GAN通过函数 G ( z ; θ g ) G(z; \theta_g) G(z;θg) 表示有限的 p g p_g pg 分布族,优化 θ g \theta_g θg 而非 p g p_g pg 本身,使得上述理论证明不完全适用,但多层感知器在实践中的良好性能表明其仍是合理模型。


实验-Experiments

该部分详细阐述了在多个数据集上对生成对抗网络(GAN)进行训练的实验过程,包括数据集选择、模型配置、评估指标以及实验结果展示,通过实验验证了GAN的有效性和潜力,具体内容如下:

  1. 实验设置
    • 数据集:使用了MNIST、多伦多人脸数据库(TFD)和CIFAR - 10等数据集进行训练。
    • 模型结构与激活函数:生成器网络使用整流线性激活函数和sigmoid激活函数的混合,判别器网络使用maxout激活函数,并在训练判别器网络时应用了随机失活(dropout)。实验中仅在生成器网络的最底层输入中添加噪声。
  2. 评估方法
    • 通过将高斯Parzen窗拟合到生成器 G G G 生成的样本上,来估计测试集数据在 p g p_g pg 下的概率,并报告其对数似然。高斯分布的 σ \sigma σ 参数通过在验证集上进行交叉验证获得。此方法虽在高维空间表现不佳且方差较大,但为当时估计生成模型似然的最佳可用方法,也凸显了研究新评估方法的必要性。
  3. 实验结果
    • 表1 展示了在MNIST和TFD数据集上基于Parzen窗的对数似然估计结果,与其他模型对比,体现了GAN的性能表现。
    • 图2 展示了训练后从生成器网络中抽取的样本,表明这些样本与训练集中的最近邻样本不同,是模型实际生成的,且采样过程不依赖马尔可夫链混合,样本间不相关,凸显了GAN生成样本的能力。
    • 图3 展示了通过在 z z z 空间坐标之间进行线性插值得到的数字,进一步展示了模型的特性。

通过这些实验,虽未声称GAN生成的样本优于现有方法,但表明其至少与文献中较好的生成模型具有竞争力,证明了对抗框架在生成模型研究中的潜力。

在这里插入图片描述
表1:基于Parzen窗的对数似然估计。MNIST数据集上报告的数字是测试集样本的平均对数似然,均值的标准误差是通过样本计算得出的。在TFD数据集上,我们计算了数据集各折的标准误差,每折使用其验证集选择不同的 σ \sigma σ。在TFD数据集上, σ \sigma σ在每一折上进行交叉验证,并计算每折的平均对数似然。对于MNIST,我们与该数据集的实值(而非二进制)版本的其他模型进行比较。

在这里插入图片描述
图2:模型样本的可视化。最右侧列显示相邻样本的最近训练示例,以证明模型没有记忆训练集。样本是公平的随机抽取,并非精心挑选。与大多数其他深度生成模型的可视化不同,这些图像展示的是来自模型分布的实际样本,而非给定隐藏单元样本的条件均值。此外,由于采样过程不依赖马尔可夫链混合,这些样本是不相关的。a) MNIST数据集 b) TFD数据集 c) CIFAR - 10(全连接模型)d) CIFAR - 10(卷积判别器和“反卷积”生成器)

在这里插入图片描述
图3:通过在完整模型的(z)空间坐标之间进行线性插值得到的数字。


优势和不足-Advantages and disadvantages

该部分主要分析了生成对抗网络(GAN)相对于先前建模框架的优缺点,明确了GAN的特性和改进方向,具体内容如下:

缺点

  1. 缺乏显式表示:生成模型 p g ( x ) p_g(x) pg(x) 没有显式表示,这在某些应用场景下可能限制对模型分布的直接理解和分析。
  2. 训练同步要求高:训练时判别器 D D D 必须与生成器 G G G 良好同步。若 G G G 训练过多而未及时更新 D D D,可能出现“Helvetica场景”,即 G G G 将过多 z z z 值映射到相同 x x x 值,导致缺乏足够多样性来建模 p d a t a p_{data} pdata,类似于玻尔兹曼机中负链需在学习步骤间保持更新的要求。

优点

  1. 计算效率高
    • 无需马尔可夫链,仅通过反向传播即可获得梯度,简化了训练过程。
    • 学习过程中无需进行复杂推断,减少了计算资源和时间消耗。
    • 能够灵活融入各种函数,增加了模型的表达能力。
  2. 统计特性良好
    • 生成器网络仅通过判别器的梯度更新,避免了输入组件直接复制到参数中,有助于学习到更具代表性的特征。
    • 可以表示非常尖锐甚至退化的分布,而基于马尔可夫链的方法为保证链在模式间混合,要求分布相对模糊,GAN在这方面具有优势。

总体而言,GAN在计算方面具有显著优势,在统计特性上也有独特之处,但仍存在一些需要解决的问题,特别是在训练同步和分布表示方面。这些优缺点为进一步研究和改进GAN提供了重要参考。


结论及未来工作-Conclusions and future work

本部分总结了生成对抗网络(GAN)框架的研究成果,并对未来研究方向提出了展望,为GAN的进一步发展提供了思路,具体内容如下:

研究总结

本文提出的GAN框架通过对抗过程估计生成模型,理论分析表明在一定条件下能使生成模型收敛到数据分布,实验在多个数据集上验证了其有效性,生成样本具有竞争力,证明了对抗框架的可行性。

未来研究方向

  1. 构建条件生成模型:通过将条件变量 c c c 作为输入添加到生成器 G G G 和判别器 D D D 中,可得到条件生成模型 p ( x ∣ c ) p(x|c) p(xc),从而扩展GAN的应用范围,如生成特定类别的图像等。
  2. 执行学习近似推断:训练一个辅助网络来预测给定 x x x z z z,类似于唤醒 - 睡眠算法中的推断网,但具有在生成器网络训练完成后针对固定生成器进行训练的优势,有助于深入理解生成过程中的潜在因素。
  3. 建模条件分布:训练一系列共享参数的条件模型来近似建模 p ( x S ∣ x S ′ ) p(x_S|x_{S'}) p(xSxS) S S S x x x 索引的子集),可实现对数据条件关系的更深入建模,例如对图像不同部分之间的关系进行建模。
  4. 用于半监督学习:利用判别器或推断网的特征,在有限标记数据情况下提高分类器性能,为半监督学习提供新的方法和思路,有望在数据标记困难或成本高昂的场景中发挥作用。
  5. 改进训练效率:通过设计更好的方法协调 G G G D D D 的训练,或确定更合适的 z z z 采样分布,有望大幅加速训练过程,提高GAN的实用性和效率,使其能更好地应用于大规模数据和复杂任务。

这些研究方向有望进一步挖掘GAN框架的潜力,推动生成模型领域的发展,为解决实际问题提供更强大的工具。

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

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

相关文章

《战神:诸神黄昏》游戏运行时提示找不到emp.dll怎么办?emp.dll丢失如何修复?

《战神:诸神黄昏》游戏运行时提示找不到emp.dll怎么办?emp.dll丢失的修复方法 在畅游《战神:诸神黄昏》这款史诗级游戏的过程中,如果突然遭遇“找不到emp.dll”的错误提示,无疑会打断你的冒险之旅。作为一名深耕软件开…

笔记本通过HDMI转VGA线连接戴尔显示器,wifi不可用或网速变慢

早上开开心心的来使用我的分屏显示器,结果winP开拓展,我的wifi就断掉了,琢磨了好一阵我以为是wifi的问题,发现不进行拓展,网络又好了,一上午就研究这个了,说是hdmi信号干扰了wifi信号啥的额&…

【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法(无目标函数)含特征变量置信区间分析

【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法(无目标函数)含特征变量置信区间分析 一、介绍 PAWN(Probabilistic Analysis With Numerical Uncertainties)是一种基于密度的全局敏感性分析(Gl…

BiTCN-BiGRU基于双向时间卷积网络结合双向门控循环单元的数据多特征分类预测(多输入单输出)

Matlab实现BiTCN-BiGRU基于双向时间卷积网络结合双向门控循环单元的数据多特征分类预测(多输入单输出) 目录 Matlab实现BiTCN-BiGRU基于双向时间卷积网络结合双向门控循环单元的数据多特征分类预测(多输入单输出)分类效果基本描述…

python: Oracle Stored Procedure query table

oracel sql script CREATE OR REPLACE PROCEDURE SelectSchool(paramSchoolId IN char,p_cursor OUT SYS_REFCURSOR ) AS BEGINOPEN p_cursor FORSELECT *FROM SchoolWHERE SchoolId paramSchoolId; END SelectSchool; /-- 查询所有 CREATE OR REPLACE PROCEDURE SelectScho…

软件老化分析

软件老化 课程:软件质量分析 作业 解答 Python代码如下: n int(input("类别数:")) theta list(map(float, input("各个类别的权重:").split())) m list(map(int, input("各个类别的度量元数量&…

cesium通过经纬度获取3dtiles 得feature信息

找到这里3dtiles的两种访问方式: 1.1 3DTileContent#getFeature 这里涉及3DTile 数据结构,暂不了解3DTile 数据结构,因此暂不使用。 1.2 scene.pick 本次使用 scene表示虚拟场景中所有 3D 图形对象和状态的容器;scene中…

【Lua之·Lua与C/C++交互·Lua CAPI访问栈操作】

系列文章目录 文章目录 前言一、概述1.1 Lua堆栈 二、栈操作2.1 基本的栈操作2.2 入栈操作函数2.3 出栈操作函数2.4 既入栈又出栈的操作函数2.5 栈检查与类型转换函数2.5 获取表数据 三、实例演示总结 前言 Lua是一种轻量级的、高性能的脚本语言,经常被用于游戏开发…

Linux -- 生产消费模型

目录 概念 代码 BlockQueue.hpp 代码: 伪唤醒!! Thread.hpp 代码: Task.hpp 代码: test.cc 代码: 再次理解 概念 生产消费模型,也称为生产者-消费者问题,是计算机科学中的一…

DevOps实战:用Kubernetes和Argo打造自动化CI/CD流程(1)

DevOps实战:用Kubernetes和Argo打造自动化CI/CD流程(1) 架构 架构图 本设计方案的目标是在一台阿里云ECS服务器上搭建一个轻量级的Kubernetes服务k3s节点,并基于Argo搭建一套完整的DevOps CI/CD服务平台,包括Argo CD…

React 第二十节 useRef 用途使用技巧注意事项详解

简述 useRef 用于操作不需要在视图上渲染的属性数据,用于访问真实的DOM节点,或者React组件的实例对象,允许直接操作DOM元素或者是组件; 写法 const inpRef useRef(params)参数: useRef(params),接收的 …

【2024最新】基于Python+Mysql+django的水果销售系统Lw+PPT

作者:计算机搬砖家 开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:Java精选实战项…

利用Java爬虫速卖通按关键字搜索AliExpress商品

在这个信息爆炸的时代,数据的价值日益凸显。对于电商领域的从业者来说,能够快速获取商品信息成为了一项重要的技能。速卖通(AliExpress)作为全球领先的跨境电商平台,拥有海量的商品数据。本文将介绍如何使用Java语言编…

动态规划<五> 子数组问题(含对应LeetcodeOJ题)

目录 引例 经典LeetcodeOJ题 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 6.第六题 7.第七题 引例 OJ传送门 Leetcode<53> 最大子数组和 画图分析: 使用动态规划解决 1.状态表示 dp[i]表示以i位置为结尾的所有子数组中的最大和 2.状态转移方程 子数组的问题可以…

前端实现PDF预览的几种选择(pdfjs-dist、react-pdf、pdf-viewer)

记录 PDF预览的选型 对于浏览器自带的PDF预览 如果能直接使用&#xff0c;那自然最好不过了&#xff0c;但考虑多种因素&#xff0c;比如权限问题&#xff0c;禁止用户去下载PDF、预览样式不统一&#xff08;不同浏览器PDF预览的实现不同&#xff09;&#xff0c;所有最终放弃…

小米路由器开启SSH,配置阿里云ddns,开启外网访问SSH和WEB管理界面

文章目录 前言一、开启SSH二、配置阿里云ddns1.准备工作2.创建ddns脚本3.添加定时任务 三、开启外网访问SSH和WEB管理界面1、解除WEB管理页面访问限制2.手动添加防火墙端口转发规则&#xff0c;开启外网访问WEB管理和SSH 前言 例如&#xff1a;随着人工智能的不断发展&#xf…

机器学习(三)-多项式线性回归

文章目录 1. 多项式回归理论2. python通过多项式线性回归预测房价2.1 预测数据2.2导入标准库2.3 导入数据2.4 划分数据集2.5 构建二次多项式特征&#xff08;1, x, x^2&#xff09;2.6 导入线性回归模块2.7 对测试集进行预测2.8 计算均方误差 J2.9 计算参数 w0、w1、w22.10 可视…

【再学javascript算法之美】前端面试频率比较高的基础算法题

基础算法题练习代码&#xff0c;看看能做出几道题 代码实现 找出字符串中出现次数最多的字符 const array "cncnansdnajsadnjasndjnasjdnjj";// 找出出现次数最多的字符 let obj {}; for (let index 0; index < array.length; index) {const element array[…

芯产品|暴雨推出基于兆芯晶片的新品台式机

近期&#xff0c;基于兆芯开先KX-7000系列处理器&#xff0c;暴雨推出新品桌面整机TSJ200-ZX&#xff0c;凭借开先KX-7000系列处理器强劲的性能表现和优异的兼容性&#xff0c;将为行业信创深入发展增添更多的活力和能量。 暴雨TSJ200-ZX是针对政务办公&#xff0c;金融机构和…

echarts进度仪表盘形式

const pointerData 55; // 仪表指针数据const steps 10; // 总共10个步骤 const borderColor {colorStops: [{offset: 0,color: rgba(208, 244, 255, 1)}, {offset: 1,color: rgba(35, 190, 240, 1)}] }; // 边框颜色// 使用数组和循环动态生成颜色数组 const axisLinecolor…