MolGAN网络架构:用于小分子图的隐式生成模型

news2024/9/21 0:41:30

MolGAN:小分子图的隐式生成模型

文章目录

  • 一、说明
  • 二、简介
  • 三、背景知识
    • 3.1.分子作为图表
    • 3.2.隐式方法与基于可能性的方法
    • 2.3 改进的 WGAN
    • 2.4.确定性策略梯度
  • 四、模型说明
    • 4.1生成器
    • 4.2.判别器和奖励网络
  • 五、实验
    • 5.1 数据集
    • 5.2 生成器架构
    • 5.3 判别器和奖励网络架构
    • 5.4 评估措施
    • 5.5 训练

一、说明

   图结构数据的深度生成模型为化学合成问题提供了一个新的角度:通过优化直接生成分子图的可微分模型,可以在离散且广阔的化学结构空间中避开昂贵的搜索过程。
   我们引入 MolGAN,一种隐式、无似然的小分子图生成模型这避免了对昂贵的图形匹配过程或先前基于可能性的方法的节点排序启发式的需要。我们的方法适应生成对抗网络(GAN)直接对图结构数据进行操作。我们将我们的方法与强化学习目标相结合,以鼓励生成具有特定所需化学物质的分子特性。在 QM9 化学数据库的实验中,我们证明我们的模型是能够生成接近 100% 有效的化合物。 MolGAN 与两者相比均具有优势最近的提案使用基于字符串(SMILES)的分子表示以及直接生成图形的基于可能性的方法,尽管容易受到模式崩溃的影响。

二、简介

   对于从头药物设计等重要应用来说,寻找具有所需特性的新化合物是一项具有挑战性的任务(Schneider & Fechner,2005)。可合成分子的空间是巨大的,在这个空间中的搜索被证明是非常困难的,主要是由于它的离散性自然。深度生成模型开发的最新进展催生了一系列有希望的建议来解决这个问题。该领域的大多数著作(Gomez-Bombarelli 等人,2016;Kusner 等人,2017;Guimaraes 等人,2017;Dai 等人,2018)利用分子的所谓 SMILES 表示(Weininger,1988):从分子图派生的基于字符串的表示。循环神经网络 (RNN) 是这些表示的理想候选者,因此,最近的工作遵循在此类编码上应用基于 RNN 的生成模型的方法。然而,基于字符串的分子表示有一定的缺点:RNN 必须花费大量精力来学习表示的句法规则和顺序模糊性。此外,这种方法不适用于通用(非分子)图。
在这里插入图片描述
图 1. MolGAN 的架构。向量 z 是从先验样本中采样的并传递给输出图形表示的生成器一个分子的。鉴别器对分子是否图表来自生成器或数据集。奖励网络试图估计化学性质的奖励由外部软件提供的特定分子。

   SMILES 字符串是根据基于图形的分子表示生成的,因此可以在原始图形中工作空间的好处是消除额外的开销。和图深度学习领域的最新进展(Bronstein et al., 2017; Hamilton et al., 2017),直接在图表示上训练深度生成模型变得已经在一系列方面进行了探索的可行替代方案近期作品(Kipf & Welling,2016;Johnson,2017;Grover等,2019;李等人,2018b;西蒙诺夫斯基和科莫达基斯,2018;你等人,2018)。
   然而,基于似然的分子图生成方法(Li et al., 2018b; Simonovsky & omodakis, 2018)要么需要提供固定的(或随机选择的)图或昂贵图的有序表示匹配过程来评估生成的可能性分子,因为所有可能的节点排序的评估是对于小尺寸的图表来说已经令人望而却步了。
在这项工作中,我们通过利用隐式来回避这个问题,无似然方法,特别是我们采用的生成对抗网络(GAN)(Goodfellow et al., 2014)直接处理图形表示。我们进一步利用类似于 ORGAN 的强化学习 (RL) 目标(Guimaraes 等,2017)鼓励具有特定性质的分子。

   我们的分子 GAN (MolGAN) 模型(如图所示)1)第一个解决图结构的生成问题使用 GAN 进行分子合成的数据(古德费罗等人,2014)。 MolGAN 的生成模型可以一次性(即非顺序地)预测离散图结构,以提高计算效率,尽管顺序变体通常是可能的。 MolGAN 进一步利用基于图卷积层 (Bruna) 的排列不变判别器和奖励网络(用于基于 RL 的优化以实现所需的化学性质)等,2014;杜维诺等人,2015;基普夫和威灵,2017;Schlichtkrull 等人,2017)两者都直接对图结构表示进行操作。

三、背景知识

3.1.分子作为图表

   大多数先前的分子数据深度生成模型(Gomez-Bombarelli 等人,2016 年;Kusner 等人,2017 年;吉马良斯等人,2017; Dai 等人,2018)求助于生成分子的 SMILES 表示。微笑然而,语法对于小的变化或错误并不稳健,这可能会导致无效或严重的产生不同的结构。语法 VAE(Kusner 等人,2017)通过限制生成过程来缓解这个问题遵循特定的语法。
   最近直接在图空间中操作已经被证明是生成建模的可行替代方案分子数据(Li 等人,2018b;Simonovsky & Komodakis,2018)还有一个额外的好处,即所有生成的输出都是有效的图表(但不一定有效的分子)。

   我们认为每个分子都可以用一个无向图 G表示;G具有一组边 E 和节点 V 。每个原子对应一个节点 v i ∈ V v_i ∈ V viV,该节点与 T 维单热向量 x i x_i xi 关联,表示原子的类型。我们进一步表示每个原子键作为边 ( v i , v j ) ∈ E (v_i, v_j ) ∈ E vi,vj)E 与键类型相关 y ∈ { 1 , . . . , Y } y ∈ \{1, ..., Y \} y{1,...,Y}。对于具有 N 个节点的分子图,我们可以将这种表示总结为节点特征矩阵 X = [ x 1 , . . . , x N ] X = [x_1, ..., x_N ] X=[x1,...,xN] T ∈ R , N × T T ∈ R,N×T TR,N×T 和邻接张量 A ∈ R A ∈ R AR N × N × Y N×N×Y N×N×Y 其中 A i j ∈ R A_{ij} ∈ R AijR是是一个独热向量,下标 i 和 j 之间的边的类型。

3.2.隐式方法与基于可能性的方法

   基于似然的方法,例如变分自动编码器 (VAE)(Kingma & Welling,2014;Rezende 等人,2014)通常允许更容易和更稳定的优化与 GAN 等隐式生成模型相比(Goodfel low et al., 2014)。当生成图结构数据时,然而,我们希望节点的重新排序保持不变在图的(有序)矩阵表示中,要求我们要么执行一个极其昂贵的图表匹配程序(Simonovsky & Komodakis,2018)或评估所有可能的节点排列的可能性明确地。
   通过诉诸隐式生成模型,特别是对于 GAN 框架,我们不需要明确的可能性。而 GAN 的判别器可以通过利用图来使节点排序不变卷积(Bruna 等人,2014;Duvenaud 等人,2015;Kipf & Welling, 2017)和节点聚合算子(Liet al., 2016),生成器仍然需要决定一个特定的生成图时的节点排序。既然我们不提供可能性,但是生成器可以自由选择任何适合手头任务的顺序。我们提供一个下面简单介绍一下GAN。
   生成对抗网络 GAN(Goodfellow et al., 2014)在某种意义上是隐式生成模型 它们允许推断模型参数而无需要求人们指定一种可能性。
GAN 由两个主要部分组成:
   模型 G θ G_θ Gθ,从数据分布之前学习映射以采样新数据点,以及判别模型 D φ D_φ Dφ,学习对样本是否来自数据分布而不是来自 G θ G_θ Gθ 。这两个型号是作为神经网络实现并同时训练随机梯度下降(SGD)。 G θ G_θ Gθ D φ D_φ Dφ有不同的目标,他们可以被视为两个参与者极小极大游戏
在这里插入图片描述
   其中 G θ G_θ Gθ 尝试生成样本来欺骗鉴别器 D φ D_φ Dφ 尝试正确区分样本。阻止不良行为,例如模式崩溃Salimans 等人,2016)并且为了稳定学习,我们使用小批量判别(Salimans et al., 2016)和改进的 WGAN(Gulrajaniet al., 2017),一种替代且更稳定的 GAN 模型最小化更适合的分歧。

2.3 改进的 WGAN

   WGAN(Arjovsky 等人,2017)最小化地球移动器 (EM) 距离的近似值(也称为 Wasserstein-1 距离)定义在两个之间概率分布。形式上,Wasserstein 距离在 p 和 q 之间,使用 Kantorovich-Rubinstein 对偶是
在这里插入图片描述
   其中对于 WGAN,p 是经验分布q 是生成器分布。请注意,上界是对于某些 K > 0 的所有 K-Lipschitz 函数。
   古尔拉贾尼等人(2017)引入梯度惩罚作为1-Lipschitz 连续性的替代软约束为对梯度裁剪方案的改进原来的 WGAN。相对于发电机的损耗与 WGAN 中的相同,但损失函数为对于判别器的尊重被修改为
在这里插入图片描述

   其中 α 是一个超参数(我们使用 α = 10,如原始论文), x ^ ( i ) \hat{x} ^{(i)} x^i x ( i ) ∼ p d a t a ( x ) x^{(i)}\sim p_{data}(x) x(i)pdata(x) 之间的采样线性组合. G θ ( z ( i ) ) G_θ(z^{(i)}) Gθ(z(i))对应变化域 z ( i ) ∼ p z ( z ) z^{(i) } \sim p_z(z) z(i)pz(z),因此:
在这里插入图片描述

2.4.确定性策略梯度

   GAN 生成器学习从先验分布到数据分布的转换。因此,生成的样本类似于数据样本。然而,在从头药物设计中方法,我们不仅对生成化学上有效的化合物感兴趣,而且希望它们具有一些有用的属性(例如,易于合成)。因此,我们还优化了一些生成过程使用强化学习的不可微指标。
   在强化学习中,代表了随机策略通过 π θ ( s ) = p θ ( a ∣ s ) π_θ(s) = p_θ(a|s) πθ(s)=pθ(as),这是 θ 中的参数概率分布,它选择a以一个状态s条件条件的分类动作 .相反,确定性策略表示为通过 µ θ ( s ) = a µ_θ(s) = a µθ(s)=a 确定性地输出一个动作。

   在最初的实验中,我们探索了使用 REINFORCE(Williams,1992)与随机策略相结合将图形生成建模为一组分类选择(行动)。然而,我们发现它的收敛性很差,因为生成图时的高维动作空间立刻。相反,我们的方法基于确定性已知表现良好的策略梯度算法在高维动作空间中(Silver et al., 014)。特别是,我们采用了 Lillicrap 等人引入的深度确定性策略梯度(DDPG)的简化版本。(2016),一种离策略的演员批评家算法,使用确定性策略梯度来最大化预期未来奖励的近似值。

   在我们的例子中,策略是 GAN 生成器 G θ G_θ Gθ,它采用先验样本 z z z 作为输入,而不是环境状态 s s s,并输出分子图作为动作 ( a = G ) (a =G) (a=G)。此外,我们不对情节进行建模,因此无需评估状态-动作组合的质量,因为它仅取决于图 G G G。因此,我们引入了奖励函数 R ^ ψ ( G ) \hat{R}_ψ(G) R^ψ(G) 的可学习且可微的近似值,用于预测即时奖励,我们通过基于外部系统提供的真实奖励(例如分子的可合成性得分)的均方误差目标来训练它。然后,我们通过 R ^ ψ ( G ) \hat{R}_ψ(G) R^ψ(G) 训练生成器最大化预测奖励,它是可微分的,为策略提供了梯度朝着所需的指标.

四、模型说明

   MolGAN 架构(图 2)由三个主要部分组成组件:

  • 生成器 G θ G_θ Gθ
  • 鉴别器 D φ D_φ Dφ
  • 奖励网络 R ^ ψ \hat{R}ψ R^ψ

   生成器从先验分布中获取样本并生成代表分子的注释图 G。G 的节点和边分别与表示原子类型和键类型的注释相关联。鉴别器从数据集和生成器中获取样本,学会区分它们。 G θ G_θ Gθ D φ D_φ Dφ都经过训练使用改进的 WGAN 使生成器学会匹配经验分布并最终输出有效的分子。
   奖励网络用于近似奖励样本的函数并使用强化学习优化分子生成以实现不可微分的指标。数据集和生成的样本是 R ^ ψ \hat{R}_ψ R^ψ 的输入,但是,与判别器不同,它为它们分配分数(例如,生成的分子可溶的可能性有多大在水里)。奖励网络学习分配奖励每个分子都匹配外部提供的分数软件1。请注意,当 MolGAN 输出无效时分子,不可能分配奖励,因为图甚至不是化合物。因此,对于无效分子图表中,我们分配零奖励。

   鉴别器使用 WGAN 目标进行训练,而生成器使用 WGAN 损失和 RL 损失的线性组合:
在这里插入图片描述
where λ ∈ [0, 1] is a hyperparameter that regulates the tradeoff between the two components.

在这里插入图片描述
图 2. MolGAN 的轮廓。从左至右:生成器从先验分布中获取样本并生成密集邻接张量A 和注释矩阵 X。随后,通过分类分别从 A 和 X 获得稀疏和离散的 A ~ \tilde{A} A~ X ~ \tilde{X} X~采样。 A ~ \tilde{A} A~ X ~ \tilde{X} X~的组合代表对应于特定化合物的注释分子图。最后,该图由判别器和奖励网络处理,这些网络对于节点顺序排列是不变的,并且基于关系 GCN (Schlichtkrull et al., 2017) 层。

4.1生成器

   G φ ( z ) G_φ(z) Gφ(z) 取 D 维向量 z ∈ R D z ∈ \mathbb{R}^D zRD 采样自标准正态分布 z ∼ N ( 0 , I ) z ∼ \mathcal{N} (0, I) zN(0,I) 和输出图表。虽然最近的工作表明这是可行的使用基于 RNN 的方法生成小尺寸图生成模型(Johnson,2017;You et al.,2018;Li et al.,2018a;b)为了简单起见,我们利用生成模型使用简单的多层一次性预测整个图感知器(MLP),与 Simonovsky & Ko modakis (2018) 中所做的类似。虽然这将我们的研究限制在图表上预先选择的最大尺寸,我们发现它显着更快、更容易优化。

   我们将域限制为有限数量节点的图,并且对于每一对 z , G θ z,G_θ zGθ 输出两个连续且密集的对象:定义原子类型的 X ∈ R N × T X ∈\mathbb{R}^{N×T} XRN×T A N × N × Y A^{N×N×Y} AN×N×Y 定义债券类型(参见第 2.1 节)。 X 和 A 都有概率解释,因为每个节点和边类型都用类型上的分类分布的概率表示。为了生成分子,我们通过分类采样获得离散、稀疏的对象 X ~ \tilde{X} X~ A ~ \tilde{A} A~分别来自 X 和 A。我们重载符号,并用二进制 X ~ \tilde{X} X~ A ~ \tilde{A} A~ 表示数据集中的样本。

   由于这个离散化过程是不可微的,我们探索了三种模型变体以允许基于梯度的训练:我们可以 i) 在前向传递过程中直接使用连续对象 X X X A A A (即 X ~ = X \tilde{X }=X X~=X A ~ = A \tilde{A}=A A~=A),ii) 在将 X 和 A 传递给 D φ D_φ Dφ R ^ ψ \hat{R}_ψ R^ψ 之前向 X 和 A 添加 Gumbel 噪声,以便使生成过程保持随机性转发连续对象(即 X ~ i j = X i j + G u m b e l ( µ = 0 , β = 1 ) \tilde{X}_{ij} = X_{ij} + Gumbel(µ = 0, β = 1) X~ij=Xij+Gumbel(µ=0,β=1) A ~ = A i j y + G u m b e l ( µ = 0 , β = 1 ) \tilde{A} = A_{ijy} + Gumbel(µ = 0, β = 1) A~=Aijy+Gumbel(µ=0,β=1)),或 iii) 使用基于 Gumbel-Softmax 分类重新参数化的直通梯度(Jang 等人,2017 年;Maddison 等人,2017 年),也就是说,我们使用样本形式前向传递期间的分类分布(即 X ~ i = C a t ( X i ) \tilde{X}_i = Cat(X_i) X~i=Cat(Xi) A ~ i j = C a t ( A i j ) \tilde{A}_{ij} = Cat(A_{ij} ) A~ij=Cat(Aij))和连续松弛值(即,原始 X 和 A) 在向后传递中。

4.2.判别器和奖励网络

   判别器 D φ D_φ Dφ 和奖励网络 R ~ ψ \tilde{R}_ψ R~ψ 都接收一个图作为输入,并且它们各自输出一个标量值。我们为两个网络选择相同的架构,但是它们之间不共享参数。 A A A 系列图卷积层使用图邻接张量 A ~ \tilde{A} A~ 对节点信号 X ~ \tilde{X} X~ 进行卷积。我们的模型基于 Relational-GCN(Schlichtkrull 等人,2017),一种支持多种边缘类型的图卷积网络。在每一层,节点的特征表示根据以下方式进行卷积/传播:
在这里插入图片描述
其中 h i ( l ) h^{(l)}_i hi(l) l l l层节点 i i i的信号, f s ( l ) f^{(l)}_s fs(l)是充当自连接的线性变换函数在各层之间。我们进一步利用边缘类型特定每层的仿射函数 f ( l ) y f^(l)_y f(l)y N i \mathcal{N}_i Ni 表示集合节点 i i i 的邻居。归一化因子 1 / ∣ N i ∣ 1/|\mathcal{N}_i| 1/∣Ni 确保激活处于相似的规模,而不管邻居的数量如何。
经过图卷积的几层传播后,跟随李等人。 (2016) 我们聚合节点嵌入转换成图级表示向量为
在这里插入图片描述
其中 σ ( x ) = 1 / ( 1 + e x p ( − x ) ) σ(x) = 1/(1+exp(−x)) σ(x)=1/(1+exp(x)) 是逻辑 sigmoid 函数,i 和 j 是具有线性输出层的 MLP,表示逐元素乘法。然后, h G h_{\mathcal{G}} hG 是图 G 的向量表示,并由 MLP 进一步处理,为判别器生成图级标量输出 ε ( − ∞ , + ∞ ) ε (−∞, +∞) ε(,+) ε ( 0 , 1 ) ε (0, 1) ε(0,1) 为奖励网络。

五、实验

   我们将 MolGAN 与最近基于神经网络的使用 QM9 在建立的基准上进行一系列实验中的药物生成模型(Ramakrishnan 等人,2014)化学数据库。我们首先重点研究的是λ 参数的影响,以找到最佳权衡
   GAN 和 RL 目标(参见第 5.1 节)。然后我们将 MolGAN 与 ORGAN 进行比较(Guimaraes 等人,2017)因为它是与我们最相关的工作:器官是在 SMILES 表示上运行的顺序生成模型,针对多种化学性质进行优化RL 目标(参见第 5.2 节)。我们也比较我们的针对变分自动编码方法的模型(部分5.3)例如CharacterVAE(Gomez-Bombarelli 等人,2016),GrammarVAE(Kusner 等人,017),以及最近的基于图的生成模型:GraphVAE (Simonovsky &科莫达基斯,2018)。

5.1 数据集

   在所有实验中,我们使用 QM9 (Ramakrishnan et al., 2014)1664亿个巨大分子的一个子集GDB-17 化学数据库(Ruddigkeit 等,2012)。 QM9含有 133,885 种有机化合物,最多 9 个重原子:碳©、氧(O)、氮(N)和氟(F)。

5.2 生成器架构

   所有实验的生成器架构都是固定的。我们使用 N = 9 N = 9 N=9 作为最大节点数, T = 5 T = 5 T=5 作为原子类型(C、O、N、F 和一个填充符号)的数量,以及 Y = 4 Y = 4 Y=4 作为原子类型的数量。键类型(单键、双键、三键和无键)。
   这些维度足以覆盖 QM9 中的所有分子。生成器采用从标准正态分布 z ∼ N ( 0 , I ) z ∼ N (0, I) zN(0,I) 采样的 32 维向量,并分别使用 [ 128 , 256 , 512 ] [128, 256, 512] [128,256,512] 隐藏单元的 3 层 MLP 对其进行处理,其中 tanh 为激活函数。最终,最后一层被线性投影以匹配 X 和 A 维度,并通过 softmax 操作对其最后一个维度进行归一化 ( s o f t m a x ( x ) i = e x p ( x i ) / ∑ i = 1 D e x p ( x i ) softmax(x)_i = exp(x_i)/\sum^{D}_{i=1}exp (x_i) softmax(x)i=exp(xi)/i=1Dexp(xi))

5.3 判别器和奖励网络架构

   两者网络使用 RelationalGCN 编码器(参见方程 5),其中有两个层和 [64, 32] 隐藏单元,分别处理输入图表。随后,我们计算一个 128 维图级表示(参见方程 6)进一步处理维度为 [128, 1] 且 tanh 为 2 层 MLP隐藏层激活函数。在奖励网络中,我们进一步在输出上使用 sigmoid 激活函数。

5.4 评估措施

   我们测量 Samanta 等人定义的以下统计数据。 (2018):有效性、新颖性和独特性。有效性定义为有效分子数与所有生成分子数之间的比率。新颖性衡量的是有效样本集之间的比率
   不在数据集中和有效样本总数中。最后,唯一性定义为唯一样本数与有效样本数之间的比率,它衡量抽样过程中的变异程度。

5.5 训练

   在所有实验中,我们使用的批量大小为 32并使用 Adam (Kingma & Ba, 2015) 优化器进行训练学习率为 10−3。对于每个设置,我们采用辍学率的网格搜索 ε {0.0, 0.1, 0.25} (Srivastavaet al., 2014)以及过度离散化变化(如第 3.1 节所述)。我们总是报告结果最佳模型取决于我们要优化的内容(例如,当优化溶解度时,我们报告模型为最高溶解度分数 – 当没有优化指标时,我们报告个体得分总和最高的模型)。
   尽管 WGAN 的使用在一定程度上可以防止模式崩溃等不良行为(Salimans 等人,2016),我们注意到我们的模型遇到了这个问题。
   我们将在未来的工作中解决这个问题。作为一个简单的对策,我们采用提前停止、评估每 10 个 epoch 一次,以避免完全崩溃的模式。在特别地,我们使用独特的分数来衡量我们的模型崩溃了,因为它本质上表明了如何生成过程有很多变化。我们设置了一个2% 的任意阈值,在该阈值下我们考虑模型崩溃并停止训练。
   在我们工作的早期阶段,我们注意到奖励网络在被使用之前需要几个时期的预训练用于将梯度传播到生成器,否则发电机很容易发散。我们认为发生这种情况是因为训练开始时, R ~ ψ \tilde{R}_ψ R~ψ 不能预测奖励准确,然后它不能很好地优化生成器。
   因此,在每个实验中,我们训练生成器前半个纪元没有 RL 组件,但使用仅 WGAN 目标。我们训练奖励网络在这些时期内,但没有使用 RL 损失来训练生成器。对于纪元的后半部分,我们使用公式 4 中的综合损耗。

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

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

相关文章

打造前端开发的利器--NPM

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

YOLOv8添加注意力模块并测试和训练

YOLOv8添加注意力模块并测试和训练 参考bilibili视频 yolov8代码库中写好了注意力模块,但是yolov8的yaml文件中并没用使用它,如下图的通道注意力和空间注意力以及两者的结合CBAM,打开conv.py文件可以看到,其中包含了各种卷积块的…

ClinicalAgent:结合大模型的临床试验多智能体系统

ClinicalAgent:结合大模型的临床试验多智能体系统 提出背景ClinicalAgent 框架规划智能体功效智能体安全智能体 解法解法 子解法1(因为需要处理复杂的数据和多变量) 子解法2(因为需要及时反馈临床试验中的变化) 子解…

海信聚好看的DBDocter软件使用心得

在墨天轮大会看到这个软件,好称是内核级别的诊断工具, 工作空闲下载免费看看 结果要1.7GB还TAR. DBdoctor是一款内核级数据库性能诊断软件。可以对数据库做细粒度的扫描,帮助您一分钟内找到数据库性能问题,实现性能诊断百倍提效。针对数据库性能诊断门…

ICML 2024:从历史数据中挖掘最优策略,高效完成50+任务,“离线策略提升的在线演员-评论家”研究工作

长期以来,如何提升数据利用效率被认为是强化学习落地应用的一大桎梏。过去非策略(off-policy)的强化学习虽然能反复利用收集到的数据来进行策略优化,然而这些方法未能最大限度地利用重放缓冲区(Replay buffer&#xff…

新手小白学习PCB设计,立创EDA专业版

本教程有b站某UP主的视频观后感 视频链接:http://【【教程】零基础入门PCB设计-国一学长带你学立创EDA专业版 全程保姆级教学 中文字幕(持续更新中)】https://www.bilibili.com/video/BV1At421h7Ui?vd_sourcefedb10d2d09f5750366f83c1e0d4a…

JAVA进阶学习13

文章目录 2.2.3 综合输入和输出方法进行文件拷贝2.2.4 字节流读取时乱码的问题 2.3 字符流的方法概述2.3.1 FileReader方法2.3.2 FileWriter方法2.3.3 小结 三、高级IO流3.1 缓冲流3.1.1 字节缓冲流3.1.2 字符缓冲流 3.2 转换流3.3 序列化流3.3.1 序列化流3.3.2 反序列化流 3.4…

亚马逊自养号测评一直被砍单封号怎么解决

亚马逊是一个大数据公司,可以检测出你的购买行为是否正常,如每次都是直接用链接购买产品而从来不用搜索栏,每次购买产品单一而且时间快速,买家留评比例过高或者评论内容太假,产品还没签收就上评论,某个list…

vxtable行转列

<script setup lang"ts"> import dayjs from "dayjs"; import {Search} from "element-plus/icons-vue"; import {ElMessage} from "element-plus"; class SearchModel{startTime?: Date | stringendTime?: Date | stringcons…

react-native从入门到实战系列教程一ScrollView组件吸顶效果

在ScrollView组件里面把第一元素固定在视图顶部的效果&#xff0c;ScrollView在手机上自带了bounce回弹的效果&#xff0c;不管内容是不是超出组件高度还是宽度 实现效果 代码实现 import {View,Text,StyleSheet,Dimensions,TextInput,Button,Alert,ScrollView,StatusBar,Saf…

[windows10]win10永久禁用系统自动更新操作方法

WinR打开运行 输入regedit打开注册表 点击确定打开注册表 按照如下路径找到UX 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 在空白处点击鼠标右键&#xff0c;新建选择DWORD&#xff0c;然后重命名为FlightSettingsMaxPauseDays 双击FlightSet…

图论:1203. 项目管理(以小组为单位进行拓扑排序)

文章目录 1.问题分析2.思路整理3.官解思路 LeetCode&#xff1a;1203. 项目管理 建议直接看思路整理 1.问题分析 仔细读题可以发现&#xff0c;如果不考虑小组项目彼此相邻&#xff0c;则项目之间的依赖关系就是一个拓扑排序。 但是如果要考虑小组项目彼此相邻&#xff0c;问…

【机器人学】6-3.六自由度机器人运动学参数辨识- 机器人辨识参数耦合性分析

前言 上一章我们用两步优化方法求解了辨识参数&#xff0c; 【机器人学】6-2.六自由度机器人运动学参数辨识-优化方法求解辨识参数 我们给机器人的几何参数进行了数学建模&#xff0c;其中使用高斯牛顿法求解出了激光仪相对于机器人基座的坐标变换和机器人末端执行器相对于靶球…

【RTT-Studio】详细使用教程七:SGM5352外部DAC使用

文章目录 一、简介二、RTT时钟配置三、初始化配置四、完整代码五、测试验证 一、简介 本文主要介绍使用RTT-ThreadStudio来驱动SGM5352芯片的使用&#xff0c;该芯片主要是一个低功率&#xff0c;4通道&#xff0c;16位&#xff0c;电压输出DAC。它从2.7V到5.5V&#xff0c;设…

短视频矩阵系统设计:抖音短视频平台的最佳选择

随着移动互联网的快速发展&#xff0c;短视频行业异军突起&#xff0c;抖音短视频平台凭借其丰富的内容、便捷的创作工具和智能推荐算法&#xff0c;吸引了大量用户。在这个背景下&#xff0c;短视频矩阵系统应运而生&#xff0c;成为抖音短视频平台的最佳选择。本文将详细介绍…

左手坐标系、右手坐标系、坐标轴方向

一、右手坐标系 1、y轴朝上&#xff1a;webgl、Threejs、Unity、Unreal、Maya、3D Builder x&#xff1a;向右y&#xff1a;向上z&#xff1a;向前&#xff08;朝向观察者、指向屏幕外&#xff09; 2、z轴朝上&#xff1a;cesium、blender x&#xff1a;向右y&#xff1a;向前…

C# 方法的重载(Overload)

在C#中&#xff0c;方法的重载&#xff08;Overloading&#xff09;是指在一个类中可以有多个同名的方法&#xff0c;只要这些方法具有不同的方法签名&#xff08;即参数的数量、类型或顺序不同&#xff09;。这使得你可以使用相同的方法名称来执行相似但参数不同的操作&#x…

GEE必须会教程——基于Landsat影像构建NDVI时间序列

很久很久以前&#xff0c;小编写了一篇基于MODIS影像构建归一化植被指数的文章&#xff0c;不知道大家还有没有印象&#xff0c;有一段时间没有更新时间序列分析相关的文章了。 今天&#xff0c;我们来看看基于Lansat影像&#xff0c;我们来看看在GEE上如何构建NDVI的时间序列。…

AI跟踪报道第50期-新加坡内哥谈技术-本周AI新闻: 听听没有Scarlett Johansson的GPT-4o更加震撼

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

shellcode加密免杀

通过加密shellcode方式过安全软件拦截 先说结论&#xff0c;笔者没成功 shellcode&#xff1a; Shellcode 是一段用于在目标系统上执行特定操作的机器码。它通常被用于利用软件漏洞&#xff0c;以获取对目标系统的控制权或执行特定的恶意行为。 Shellcode 可以执行诸如创建进程…