【论文笔记】Layer-Wise Weight Decay for Deep Neural Networks

2024-05-24 20:12

本文主要是介绍【论文笔记】Layer-Wise Weight Decay for Deep Neural Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Abstract

本文为了提高深度神经网络的训练效率,提出了逐层权重衰减(layer-wise weight decay)。
本文方法通过逐层设置权重衰减稀疏的不同值,使反向传播梯度的尺度与权重衰减的尺度之比在整个网络中保持恒定。这种设置可以避免过拟合或欠拟合,适当地训练所有层,无需逐层调整系数。
该方法可在不改变网络模型的情况下提升现有DNN的性能。

1 Introduction

很多机器学习研究中,主要通过正则化避免过拟合。在深度学习中,通常使用三种正则化:dropout、数据增强、权重衰减。

本文提出的方法中,不需要任何试错过程就可以设置权重衰减系数,将其公式化,使其在训练时以相同的速率对网络的所有层进行正则化。

权重衰减正则化通过将其加入目标函数来降低网络中连接权重的 L 2 L_2 L2范数。加之前将范数乘以一个事先设定的系数。在正确训练网络时,调整这个系数是很重要的,因为一个很小的系数会导致过拟合,而一个很大的系数会导致欠拟合。 直觉上对所有曾进行同等对待是合理的,同时避免了手动调整每个系数所需的巨大计算成本。但这忽略了反向传播梯度和权重衰减之间的关系。
典型训练方法中,网络通过梯度和权重衰减两个方面进行更新,如图1所示。
![[Pasted image 20240517234356.png]]

图1:采用常数权重衰减系数的问题。反向传播梯度的尺度取决于上层权重的尺度,而权重衰减的尺度只取决于自身权重的尺度。因此,对于每一层,两者的比例是不同的,这导致了过拟合或欠拟合取决于层。

重点关注蓝色折线表示的第一个可训练层的更新,正如红色折线所示,由于反向传播,梯度的尺度取决于上层权重的尺度。相反,权重衰减的尺度仅取决于自身权重的尺度,如图中的蓝色折线所示。这两者之间的比例对于每一层来说都是不同的,这就导致了在某些层上的过拟合或者在另一些层上的欠拟合。因此,需要平衡梯度和权重衰减的尺度。

本文提出了逐层的权重衰减来有效地训练深度神经网络。该方法通过逐层设置不同的权重衰减系数的值,使得反向传播梯度的尺度和权重衰减的尺度在网络中的比例是恒定的。通过这种设置,可以对所有层进行适当的训练,而不必逐层调整系数。

2 Proposed Method

2.1 Overview

SGD梯度更新方法中,网络中的连接权重通过下式更新:
W l t + 1 = W l t − η ( ∂ E ∂ W l ∣ W l t + λ W l t ) (1) W_l^{t+1}=W_l^t-\eta(\frac{\partial E}{\partial W_l}|_{W_l^t}+\lambda W_l^t)\tag{1} Wlt+1=Wltη(WlEWlt+λWlt)(1)
其中 W l t W_l^t Wlt表示 t t t次更新后第 l l l层的连接权重, η \eta η是学习率, E E E是训练时用于最小化的目标函数, λ \lambda λ时权重衰减系数(正则化强度)。 W l t W_l^t Wlt用于第 l l l层的前向传播和反向传播,如图2所示。
![[Pasted image 20240518122313.png]]

图2:第 l l l层的前向传播和反向传播

Eq.1中的更新包含一个梯度项 ∂ E ∂ W l \frac{\partial E}{\partial W_l} WlE,一个正则化项 λ W l t \lambda W_l^t λWlt。梯度通过反向传播计算,其规模取决于 W k t ( k > l ) W_k^t(k>l) Wkt(k>l)的规模。相对地,权重衰减的规模只取决于 W l t W_l^t Wlt。因此,对于每一层,梯度的尺度和权重衰减的规模比例是不同的。如果对所有层都使用相同的 λ \lambda λ,对一些特定曾来说,衰减可能会过强或过弱,导致网络的过拟合或欠拟合。
为避免这个问题,利用逐层权重衰减,梯度的尺度和权重衰减的尺度之间的比值在整个网络中应当是恒定的:
W l t + 1 = W l t − η ( ∂ E ∂ W l ∣ W l t + λ l W l t ) (2) W_l^{t+1}=W_l^t-\eta(\frac{\partial E}{\partial W_l}|_{W_l^t}+\lambda_lW_l^t)\tag{2} Wlt+1=Wltη(WlEWlt+λlWlt)(2)
λ l = scale ( ∂ E ∂ W l ) scale ( W l ) λ (3) \lambda_l=\frac{\text{scale}(\frac{\partial E}{\partial W_l})}{\text{scale}(W_l)}\lambda\tag{3} λl=scale(Wl)scale(WlE)λ(3)
其中 λ l ( l = 1 , ⋯ , L ) \lambda_l\ (l=1,\cdots,L) λl (l=1,,L)是逐层的权重衰减系数, scale ( ∗ ) \text{scale}(*) scale()代表计算向量或矩阵的规模的函数。除了逐层设置权重衰减以外,本文方法和现有方法的训练网络方法相同。

2.2 Data-Dependent Layer-Wise Weight Decay

训练过程中,每次更新里, λ l \lambda_l λl通过Eq.3计算。定义 scale ( W ) = ave ( ∣ W ∣ ) \text{scale}(W)=\text{ave}(|W|) scale(W)=ave(W),其中 ave ( ∗ ) \text{ave}(*) ave()计算 ∗ * 的平均值。系数过于可变会影响优化性能,因此为了缓解这个问题,将 λ l \lambda_l λl的上下界设置为
λ l = max ⁡ ( ρ m i n , min ⁡ ( ρ m a x , scale ( ∂ E ∂ W l ) scale ( W l ) ) ) λ (4) \lambda_l=\max(\rho_{min},\min(\rho_{max},\frac{\text{scale}(\frac{\partial E}{\partial W_l})}{\text{scale}(W_l)}))\lambda\tag{4} λl=max(ρmin,min(ρmax,scale(Wl)scale(WlE)))λ(4)
其中 ρ m a x λ \rho_{max}\lambda ρmaxλ ρ m i n λ \rho_{min}\lambda ρminλ λ l \lambda_l λl的上下界。实验中设置 ρ m a x = 1 , ρ m i n = 1 0 − 4 \rho_{max}=1, \rho_{min}=10^{-4} ρmax=1,ρmin=104,提升训练过程20%的计算开销。

2.3 Data-Independent Layer-Wise Weight Decay

初始化网络时, W W W通常设置为零平均值随机数,因此可以自然地定义 scale ( W ) = std ( W ) \text{scale}(W)=\text{std}(W) scale(W)=std(W),其中 std ( ∗ ) \text{std}(*) std()表示元素的标准差。将其带入Eq.3,可以得到:
λ l = std ( ∂ E ∂ W l ) std ( W l ) λ (5) \lambda_l=\frac{\text{std}(\frac{\partial E}{\partial W_l})}{\text{std}(W_l)}\lambda\tag{5} λl=std(Wl)std(WlE)λ(5)
为了计算Eq.5中的 λ l \lambda_l λl,需要估计原始网络中的 std ( ∂ E ∂ W l ) \text{std}(\frac{\partial E}{\partial W_l}) std(WlE) std ( W l ) \text{std}(W_l) std(Wl) std ( W l ) \text{std}(W_l) std(Wl)可在模型参数初始化时决定,容易获得。为了简化描述,将 ∂ E ∂ ∗ \frac{\partial E}{\partial *} E记作 Δ ∗ \Delta * Δ

如图2所示,令 x l x_l xl y l y_l yl表示第 l l l层的输入和输出,应有 x l + 1 = y l x_{l+1}=y_l xl+1=yl
前向传播、反向传播可以写作:
y l = W l x l (6) y_l=W_lx_l\tag{6} yl=Wlxl(6)
Δ x l = W l T Δ y l (7) \Delta x_l=W_l^T\Delta y_l\tag{7} Δxl=WlTΔyl(7)
Δ W l = x l T Δ y l (8) \Delta W_l=x_l^T\Delta y_l\tag{8} ΔWl=xlTΔyl(8)
根据反向传播可以得到:
var ( Δ W l ) = var ( x l T Δ y l ) = var ( x l ) var ( Δ y l ) (9) \text{var}(\Delta W_l)=\text{var}(x_l^T\Delta y_l)=\text{var}(x_l)\text{var}(\Delta y_l)\tag{9} var(ΔWl)=var(xlTΔyl)=var(xl)var(Δyl)(9)
其中 var ( ∗ ) \text{var}(*) var()是计算一个矩阵或向量的所有元素的方差的函数。这里假设 x l x_l xl Δ y l \Delta y_l Δyl是相互独立的,且均值为0。
最近的初始化方法通过网络将 var ( x l ) \text{var}(x_l) var(xl)变为一个常数,因此这里将 var ( x l ) \text{var}(x_l) var(xl)视作一个常数值。相反, var ( Δ y l ) \text{var}(\Delta y_l) var(Δyl)可以计算为
var ( Δ y l ) = var ( Δ x l + 1 ) = M l + 1 var ( W l + 1 ) var ( Δ y l + 1 ) = β l + 1 var ( Δ y l + 1 ) , where  β k = m k var ( W k ) \begin{align} \text{var}(\Delta y_l)=\text{var}(\Delta x_{l+1})&=M_{l+1}\text{var}(W_{l+1})\text{var}(\Delta y_{l+1}) \\ &=\beta_{l+1}\text{var}(\Delta y_{l+1}), \ \text{where}\ \beta_k=m_k\text{var}(W_k)\tag{10} \end{align} var(Δyl)=var(Δxl+1)=Ml+1var(Wl+1)var(Δyl+1)=βl+1var(Δyl+1), where βk=mkvar(Wk)(10)
其中 M k M_k Mk是第 k k k层的输入和所有输出的连接数, β k \beta_k βk表示连续连续两层的反向传播梯度的方差之间的比率。迭代地计算Eq.10,可以得到:
KaTeX parse error: Can't use function '$' in math mode at position 2: $̲\text{var}(\Del…
将Eq.11代入Eq.9, var ( Δ W l ) \text{var}(\Delta W_l) var(ΔWl)可以变为:
var ( Δ W l ) = var ( x l ) ⋅ γ l var ( Δ y L ) = C ⋅ γ l (13) \text{var}(\Delta W_l)=\text{var}(x_l)\cdot \gamma_l\text{var}(\Delta y_L)=C\cdot\gamma_l\tag{13} var(ΔWl)=var(xl)γlvar(ΔyL)=Cγl(13)
其中 C C C等价于 var ( x l ) var ( Δ y L ) \text{var}(x_l)\text{var}(\Delta y_L) var(xl)var(ΔyL),可以被视为一个常量,因为本文认为 var ( x l ) \text{var}(x_l) var(xl)是个常量。将Eq.13代入Eq.5,可以获得:
λ l = std ( Δ W l ) std ( W l ) λ = var ( Δ W l ) var ( W l ) λ = C ⋅ γ l var ( W l ) λ (14) \lambda_l=\frac{\text{std}(\Delta W_l)}{\text{std}(W_l)}\lambda=\sqrt{\frac{\text{var}(\Delta W_l)}{\text{var}(W_l)}}\lambda=\sqrt{\frac{C\cdot\gamma_l}{\text{var}(W_l)}}\lambda\tag{14} λl=std(Wl)std(ΔWl)λ=var(Wl)var(ΔWl) λ=var(Wl)Cγl λ(14)
由于上述方程含有两个常数值 C C C γ l \gamma_l γl,利用 λ L \lambda_L λL作为权重衰减的基系数对方程进行变形:
λ l = λ L ⋅ λ l λ L = λ L ⋅ C ⋅ γ l var ( W l ) λ C ⋅ γ L var ( W l ) λ = λ L var ( W L ) var ( W l ) γ l (15) \lambda_l=\lambda_L\cdot\frac{\lambda_l}{\lambda_L}=\lambda_L\cdot\frac{\sqrt{\frac{C\cdot\gamma_l}{\text{var}(W_l)}}\lambda}{\sqrt{\frac{C\cdot\gamma_L}{\text{var}(W_l)}}\lambda}=\lambda_L\sqrt{\frac{\text{var}(W_L)}{\text{var}(W_l)}\gamma_l}\tag{15} λl=λLλLλl=λLvar(Wl)CγL λvar(Wl)Cγl λ=λLvar(Wl)var(WL)γl (15)
使用Eq.15,便可以在不训练数据时为网络的每一层计算 λ l \lambda_l λl,因为我们认为 var ( x l ) \text{var}(x_l) var(xl)是,并通过估计 λ l \lambda_l λl λ L \lambda_L λL的比例来从Eq.14估计 λ l \lambda_l λl。网络的正则化强度可以通过设置 λ L \lambda_L λL来调节。

2.4 Effects of Drop-Out

本节展示drop-out并不会影响Eq.15的逐层权重衰减。由于显然drop-out显然不会影响逐层权重衰减,因此关注梯度的规模,即Eq.9中的 var ( x l ) \text{var}(x_l) var(xl) var ( Δ y l ) \text{var}(\Delta y_l) var(Δyl)。假设第 l l l层的隐藏层结点被drop-out的概率是 p p p var ( Δ y ) \text{var}(\Delta y) var(Δy)可以改写为:
var ( Δ y l ) = ( 1 − p ) M l + 1 var ( W l + 1 ) var ( Δ y l + 1 ∗ ) (16) \text{var}(\Delta y_l)=(1-p)M_{l+1}\text{var}(W_{l+1})\text{var}(\Delta y_{l+1}^*)\tag{16} var(Δyl)=(1p)Ml+1var(Wl+1)var(Δyl+1)(16)
其中, y l ∗ y_l^* yl表示带有drop-out的第 l l l层输出结果。由于被drop-out的神经元会被视为0,且保留的隐藏层神经元会被 × 1 / ( 1 − p ) \times 1/(1-p) ×1/(1p),因此可以将 var ( Δ y l + 1 ∗ ) \text{var}(\Delta y_{l+1}^*) var(Δyl+1)变形为:
var ( Δ y l + 1 ∗ ) = ave ( ( Δ y l + 1 ∗ ) 2 ) = ( 1 − p ) ⋅ ave ( ( 1 1 − p Δ y l + 1 ) 2 ) + p ⋅ ave ( 0 2 ) = 1 1 − p ( ( Δ y l + 1 ) 2 ) = 1 1 − p var ( Δ y l + 1 ) \begin{align} \text{var}(\Delta y_{l+1}^*)&=\text{ave}((\Delta y_{l+1}^*)^2)\\ &=(1-p)\cdot\text{ave}((\frac{1}{1-p}\Delta y_{l+1})^2)+p\cdot\text{ave}(0^2) \\ &=\frac{1}{1-p}((\Delta y_{l+1})^2)=\frac{1}{1-p}\text{var}(\Delta y_{l+1})\tag{17} \end{align} var(Δyl+1)=ave((Δyl+1)2)=(1p)ave((1p1Δyl+1)2)+pave(02)=1p1((Δyl+1)2)=1p1var(Δyl+1)(17)
将Eq.17代入Eq.16,可以得到和Eq.10相同的等式,意味着drop-out不会对 var ( Δ y l ) \text{var}(\Delta y_l) var(Δyl)产生影响。

2.5 Effects of Pooling Layer

在2.3节只考虑了卷积层和全连接层中带有可训练的权重,但是池化层在很多情况下也被使用。即使池化层不会对 var ( x l ) \text{var}(x_l) var(xl)产生很大的影响,但其不会对 var ( Δ y l ) \text{var}(\Delta y_l) var(Δyl)有影响。因此,Eq.10中的 β l \beta_l βl在池化层也要被定义。本节定义 β l \beta_l βl在最大池化层和平均池化层中的数值。令 p p p s s s分别为池化大小和步长。

2.5.1 Max-pooling

最大池化层中,将局部区域内的最大输入值进行前向传播,并且在反向传播中只有对应的神经元接收到 Δ x l \Delta x_l Δxl,局部区域内的其他单元的 Δ x l \Delta x_l Δxl设置为0。如果假设 Δ x l \Delta x_l Δxl的平均值是0,那么 var ( Δ x l ) \text{var}(\Delta x_l) var(Δxl)会被缩放至 1 / s 2 1/s^2 1/s2的规模。随着 p p p大于 s s s,接收 Δ x l \Delta x_l Δxl的神经元占的比例变小,但是本文忽略了这种影响,为简单期间,使用了上述定义。

2.5.2 Average-pooling

与最大池化不同,平均池化中所有的神经元都接收 Δ x l \Delta x_l Δxl。然而,在反向传播中, Δ x l \Delta x_l Δxl被缩放为 M l / N l M_l/N_l Ml/Nl,因为 x l x_l xl中每个神经元以 1 / N l 1/N_l 1/Nl的权重连接到 y l y_l yl中的 M l M_l Ml个神经元中。因此,平均池化层的 β l \beta_l βl应被设为 ( M l / N l ) 2 (M_l/N_l)^2 (Ml/Nl)2。例如,当 p = s p=s p=s时, N l = p 2 N_l=p^2 Nl=p2 M l = 1 M_l=1 Ml=1,因此 β l \beta_l βl设置为 1 / p 4 1/p^4 1/p4

2.6 Rescaling Invariance of Layer-Wise Weight Decay

从理论上验证本文的方法,将证明本文提出的逐层权重衰减对于网络的逐层重新重新标度(rescaling)是不变的。
网络的重新标度也被称为重参数化(reparameterization),是通过重新标度连接权重而不改变网络计算的函数的一种变换。
如果使用某种激活函数 f f f,如恒等函数或ReLU,满足对任意的正标量 α \alpha α,这种尺度变换都可以轻松得到。图3展示了分层重标度的一个例子,是最简单的重标度之一。
![[Pasted image 20240524155901.png]]

图3:网络的逐层重标度。

当我们将 W l − 1 W_{l-1} Wl1重标度为 α W l − 1 \alpha W_{l-1} αWl1,将 W l W_l Wl重标度为 1 α W l \frac{1}{\alpha}W_l α1Wl,那么 x l + 1 x_{l+1} xl+1的值就不会改变。缩放不影响网络的功能性,训练过程中也不应该影响网络的更新。如果重标度过程影响了更新,意味着网络如何更新权重依赖于每个权重的尺度,导致训练过程的不稳定性。本文将表明,如果使用常数权重衰减,正则化的强度将受到重标度的影响,而如果使用逐层权重衰减,正则化的强度时不变的。注意到本文关注的是梯度和权重衰减之间的平衡,这与现有工作只关注梯度的尺度不同。

假设网络如图3所示进行重标度。由于任何逐层重标度都可以用这种重标度的组合来表示,因此研究这种重标度足以在所提出的方法中显示重标度不变性。

x l ′ x_l' xl W l ′ W_l' Wl为第 l l l层重标度后的输入值和连接权重,由此得到
Δ W l − 1 ′ = x ′ l − 1 T Δ y l − 1 ′ = x l − 1 T ( 1 α Δ y l − 1 ) = 1 α Δ W l − 1 (18) \Delta W_{l-1}'={x'}_{l-1}^T\Delta y_{l-1}'=x_{l-1}^T(\frac{1}{\alpha}\Delta y_{l-1})=\frac{1}{\alpha}\Delta W_{l-1}\tag{18} ΔWl1=xl1TΔyl1=xl1T(α1Δyl1)=α1ΔWl1(18)
Δ W l ′ = x ′ l T Δ y l ′ = α x l T Δ y l = α Δ W l (19) \Delta W_l'={x'}_l^T\Delta y_l'=\alpha x_l^T\Delta y_l=\alpha\Delta W_l\tag{19} ΔWl=xlTΔyl=αxlTΔyl=αΔWl(19)
将上述两个等式代入Eq.1,在权重衰减不变的情况下得到重标网络的更新值:
Δ W l − 1 ′ + λ W l − 1 ′ = 1 α Δ W l − 1 + λ α W l − 1 (20) \Delta W_{l-1}'+\lambda W_{l-1}'=\frac{1}{\alpha}\Delta W_{l-1}+\lambda\alpha W_{l-1}\tag{20} ΔWl1+λWl1=α1ΔWl1+λαWl1(20)
Δ W l ′ + λ W l = α Δ W l + λ α W l (21) \Delta W_l'+\lambda W_l=\alpha\Delta W_l+\frac{\lambda}{\alpha}W_l\tag{21} ΔWl+λWl=αΔWl+αλWl(21)
基于此,可以得到在逐层权重衰减下重新缩放后网络的更新值:
Δ W l − 1 ′ + λ l − 1 ′ W l − 1 ′ = 1 α Δ W l − 1 + λ l − 1 α 2 α W l − 1 = 1 α ( W l − 1 + λ l − 1 W l − 1 ) ∝ W l − 1 + λ l − 1 W l − 1 \begin{align} \Delta W_{l-1}'+\lambda_{l-1}'W_{l-1}'&=\frac{1}{\alpha}\Delta W_{l-1}+\frac{\lambda_{l-1}}{\alpha^2}\alpha W_{l-1}\\ &=\frac{1}{\alpha}(W_{l-1}+\lambda_{l-1}W_{l-1})∝ W_{l-1}+\lambda_{l-1}W_{l-1}\tag{24} \end{align} ΔWl1+λl1Wl1=α1ΔWl1+α2λl1αWl1=α1(Wl1+λl1Wl1)Wl1+λl1Wl1(24)
Δ W l ′ + λ l ′ W l ′ = α Δ W l + α 2 λ l α W l = α ( Δ W l + λ l W l ) ∝ Δ W l + λ l W l \begin{align} \Delta W_l'+\lambda_l'W_l'&=\alpha\Delta W_l+\frac{\alpha^2\lambda_l}{\alpha}W_l \\ &=\alpha(\Delta W_l+\lambda_l W_l)∝\Delta W_l+\lambda_lW_l\tag{25} \end{align} ΔWl+λlWl=αΔWl+αα2λlWl=α(ΔWl+λlWl)ΔWl+λlWl(25)
这个等式表明权重衰减的强度不改变重标度。这种不变性源于对梯度尺度的充分考虑,而梯度尺度又受到上层权重尺度的影响。虽然更新的尺度需要通过自适应的学习率或其他一些复杂的优化来补偿,但结论是,逐层权重衰减不受网络尺度变化的影响。

这篇关于【论文笔记】Layer-Wise Weight Decay for Deep Neural Networks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/999413

相关文章

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

操作系统实训复习笔记(1)

目录 Linux vi/vim编辑器(简单) (1)vi/vim基本用法。 (2)vi/vim基础操作。 进程基础操作(简单) (1)fork()函数。 写文件系统函数(中等) ​编辑 (1)C语言读取文件。 (2)C语言写入文件。 1、write()函数。  读文件系统函数(简单) (1)read()函数。 作者本人的操作系统实训复习笔记 Linux

LVGL快速入门笔记

目录 一、基础知识 1. 基础对象(lv_obj) 2. 基础对象的大小(size) 3. 基础对象的位置(position) 3.1 直接设置方式 3.2 参照父对象对齐 3.3 获取位置 4. 基础对象的盒子模型(border-box) 5. 基础对象的样式(styles) 5.1 样式的状态和部分 5.1.1 对象可以处于以下状态States的组合: 5.1.2 对象

DDS信号的发生器(验证篇)——FPGA学习笔记8

前言:第一部分详细讲解DDS核心框图,还请读者深入阅读第一部分,以便理解DDS核心思想 三刷小梅哥视频总结! 小梅哥https://www.corecourse.com/lander 一、DDS简介         DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有低成本、低功耗、高分辨率、频率转换时间短、相位连续性好等优点,对数字信

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库

【软考】信息系统项目管理师(高项)备考笔记——信息系统项目管理基础

信息系统项目管理基础 日常笔记 项目的特点:临时性(一次性)、独特的产品、服务或成果、逐步完善、资源约束、目的性。 临时性是指每一个项目都有确定的开始和结束日期独特性,创造独特的可交付成果,如产品、服务或成果逐步完善意味着分步、连续的积累。例如,在项目早期,项目范围的说明是粗略的,随着项目团队对目标和可交付成果的理解更完整和深入时,项目的范围也就更具体和详细。 战略管理包括以下三个过程

【软考】信息系统项目管理师(高项)备考笔记——信息化与信息系统

信息化与信息系统 最近在备考信息系统项目管理师软考证书,特记录笔记留念,也希望可以帮到有需求的人。 因为这是从notion里导出来的,格式上可能有点问题,懒的逐条修改了,还望见谅! 日常笔记 核心知识 信息的质量属性:1.精确性 2.完整性 3.可靠性 4.及时性 5.经济性 6.可验证下 7.安全性 信息的传输技术(通常指通信、网络)是信息技术的核心。另外,噪声影响的是信道

flex布局学习笔记(flex布局教程)

前端笔试⾯试经常会问到:不定宽⾼如何⽔平垂直居中。最简单的实现⽅法就是flex布局,⽗元素加上如下代码即 可: display: flex; justify-content: center; align-items :center; 。下⾯详细介绍下flex布局吧。   2009年,W3C提出了 Flex布局,可以简便⼂完整⼂响应式地实现各种页⾯布局。⽬前已得到了所有浏览器的⽀持,这意味着,现