参考文献:

  1. Cheon J H, Kim A, Kim M, et al. Homomorphic encryption for arithmetic of approximate numbers[C]//International conference on the theory and application of cryptology and information security. Springer, Cham, 2017: 409-437.
  2. 全同态加密:BGV
  3. 全同态加密:BFV
  4. CKKS explained series

文章目录

  • CKKS
    • Canonical Embedding
    • Gaussian Distributions
    • SIMD
    • LHE
    • Rotate

CKKS

不论是 LSB 编码的 BGV,还是 MSB 编码的 BFV,它们的同态运算都是对 Zt\mathbb Z_tZt 上明文的精确计算,因为密文中的明文空间和噪声空间是分离的。例如,在 BGV 中是 te+mte+mte+m,在 BFV 中是 δm+e\delta m+eδm+e。但是,这种精确计算是在同余意义下的,如果将明文视为实数,那么实际上同态运算时的噪声破坏了明文的 MSB ⌊m/t⌋\lfloor m/t \rfloorm/t,仅保留了 LSB [m]t[m]_t[m]t,如图:

而 CKKS 关注近似计算,它使得在密文中的明文空间和噪声空间是不分离的,噪声位于明文空间的 LSB 位置。也就是说,在 CKKS 中是 m+em+em+e,同态运算破坏明文的 LSB,但不破坏其 MSB。这也是合理的,可以将噪声破坏 LSB 视为浮点运算的精度误差。类似 BGV 做模切换,来使得噪声规模不会指数级增长;CKKS 也要做重缩放rescaling),使得消息规模不会随电路深度而指数级增长,同时移除了 LSB 上的部分浮点误差。如图:

Canonical Embedding

符号:

  • ΦM(x)∈Z[x]\Phi_M(x) \in \mathbb Z[x]ΦM(x)Z[x]MMM 次单位根的分圆多项式,度数为 N=ϕ(M)N = \phi(M)N=ϕ(M)

  • R:=Z[x]/(ΦM(x))R := \mathbb Z[x]/(\Phi_M(x))R:=Z[x]/(ΦM(x)),数域 Q[x]/(ϕM(x))\mathbb Q[x]/(\phi_M(x))Q[x]/(ϕM(x)) 的子环(离散子群)

  • Rq=R/qRR_q = R/qRRq=R/qR,商环 Zq[x]/(ΦM(x))\mathbb Z_q[x]/(\Phi_M(x))Zq[x]/(ΦM(x))

  • S:=R[x]/(ΦM(x))S := \mathbb R[x]/(\Phi_M(x))S:=R[x]/(ΦM(x))分圆环(cyclotomic ring),其中元素 a(x)a(x)a(x) 的系数构成向量 a⃗=(a0,⋯,aN−1)∈RN\vec a = (a_0,\cdots,a_{N-1}) \in \mathbb R^Na

    =(a0,,aN1)RN

  • ∥a∥:=∥a⃗∥∞\|a\| := \|\vec a\|_{\infty}a:=a

    ,环元素的无穷范数

  • ∥a∥1:=∥a⃗∥1\|a\|_1 := \|\vec a\|_1a1:=a

    1,环元素的L1 范数

  • ZM∗:={x∈ZM:gcd(x,M)=1}\mathbb Z_M^* := \{x \in \mathbb Z_M:gcd(x,M)=1\}ZM:={xZM:gcd(x,M)=1},乘法群

  • ξM:=exp(−2πi/M)\xi_M := exp(-2\pi i/M)ξM:=exp(2πi/M)MMM 次本原单位根

  • 规范嵌入canonical embeddingσ:S→CN\sigma: S \to \mathbb C^Nσ:SCN 定义为
    σ(a):=(a(ξMj))j∈ZM∗\sigma(a) := (a(\xi_M^j))_{j \in \mathbb Z_M^*} σ(a):=(a(ξMj))jZM
    其中 a∈Q[x]/(ϕM(x))⊂Sa \in \mathbb Q[x]/(\phi_M(x)) \sub SaQ[x]/(ϕM(x))S

  • ∥a∥∞can:=∥σ(a)∥∞\|a\|_\infty^{can} := \|\sigma(a)\|_\inftyacan:=σ(a)规范嵌入范数canonical embedding norm

  • CRTMCRT_MCRTMMMM 次本原单位根 ξMj,j∈ZM∗\xi_M^j,\, j \in \mathbb Z_M^*ξMj,jZM 上的 Vandermonde 矩阵(可逆),使得 CRTM⋅a⃗=(a(ξMj))j∈ZM∗=σ(a)CRT_M \cdot \vec a = (a(\xi_M^j))_{j \in \mathbb Z_M^*} = \sigma(a)CRTMa

    =(a(ξMj))jZM=σ(a)(规范嵌入是线性变换)

  • ∥U=(uij)∥∞:=max⁡i∑j∣uij∣\|U=(u_{ij})\|_\infty := \max_{i} \sum_j |u_{ij}|U=(uij):=maxijuij矩阵的无穷范数

  • cM:=∥CRTM−1∥∞c_M := \|CRT_M^{-1}\|_\inftycM:=CRTM1,环常数(ring constant),仅与 MMM 有关

性质:

  • ∀a,b∈S\forall a,b \in Sa,bS,有 ∥a⋅b∥∞can≤∥a∥∞can⋅∥b∥∞can\|a \cdot b\|_\infty^{can} \le \|a\|_\infty^{can} \cdot \|b\|_\infty^{can}abcanacanbcan
  • ∀a∈S\forall a \in SaS,有 ∥a∥∞can≤∥a∥1\|a\|_\infty^{can} \le \|a\|_1acana1
  • ∀a∈S\forall a \in SaS,有 ∥a∥∞≤cM⋅∥a∥∞can\|a\|_\infty \le c_M \cdot \|a\|_\infty^{can}acMacan

Gaussian Distributions

定义线性子空间:
H:={z⃗=(zj)j∈ZM∗∈CN:zj=zˉ−j,∀j∈ZM∗}\mathbb H := \{ \vec z = (z_j)_{j \in \mathbb Z_M^*} \in \mathbb C^N:\, z_j = \bar z_{-j},\, \forall j \in \mathbb Z_M^* \} H:={z

=(zj)jZMCN:zj=zˉj,jZM}

也就是所有满足共轭约束的向量。可以验证,作为内积空间inner product spaceH≅RN\mathbb H \cong \mathbb R^NHRN,关于幺正矩阵(unitary basis matrix,酉矩阵)
U=[12Ii2J12J−i2I]∈CN×NU = \begin{bmatrix} \frac{1}{\sqrt 2}I & \frac{i}{\sqrt 2}J\\ \frac{1}{\sqrt 2}J & \frac{-i}{\sqrt 2}I\\ \end{bmatrix} \in \mathbb C^{N \times N} U=[2

1I2

1
J
2

i
J
2

i
I
]CN×N

其中 I∈CN/2×N/2I \in C^{N/2 \times N/2}ICN/2×N/2 是单位阵,JJJ 是其翻转矩阵(reversal matrix)
J=[0⋯010⋯10⋮1⋯00]∈CN/2×N/2J = \begin{bmatrix} 0 & \cdots & 0 & 1\\ 0 & \cdots & 1 & 0\\ & \vdots\\ 1 & \cdots & 0 & 0\\ \end{bmatrix} \in \mathbb C^{N/2 \times N/2} J=

001010100

CN/2×N/2

易知,共轭转置 UH=U−1U^H = U^{-1}UH=U1,并且有:H=U⋅RN\mathbb H = U \cdot \mathbb R^NH=URNUH⋅H=RNU^H \cdot \mathbb H = \mathbb R^NUHH=RN

对于 r>0r > 0r>0,定义 Gaussian functionρr:Rn→(0,1]\rho_r: \mathbb R^n \to (0,1]ρr:Rn(0,1]
ρr(z⃗)=exp⁡(−π∥z⃗∥22r2)\rho_r(\vec z) = \exp\left(\frac{-\pi \|\vec z\|_2^2}{r^2}\right) ρr(z

)=exp(r2πz

22
)

对于 r⃗=(r1,⋯,rN)∈(R+)N\vec r = (r_1,\cdots,r_N) \in (\mathbb R^+)^Nr

=(r1,,rN)(R+)NH\mathbb HH 上的 elliptical Gaussian distribution Γr⃗\Gamma_{\vec r}Γr

定义为:根据 Γri\Gamma_{r_i}Γri 独立采样 zi∈Rz_i \in \mathbb RziR,然后输出 U⋅z⃗U \cdot \vec zUz

上述连续高斯分布同时诱导了环 S:=R[x]/(ϕM(x))S := \mathbb R[x]/(\phi_M(x))S:=R[x]/(ϕM(x)) 上的分布 Ψr⃗\Psi_{\vec r}Ψr

,它的采样输出为:e⃗:=CRTM−1⋅U⋅z⃗\vec e := CRT_M^{-1} \cdot U \cdot \vec ze

:=
CRTM1Uz

,就是 e(x)∈Se(x) \in Se(x)S 在基 1,x,x2,⋯,xN−11,x,x^2,\cdots,x^{N-1}1,x,x2,,xN1 上的组合系数。

为了获得离散高斯分布,执行圆整操作 χ:=⌊Ψr⃗⌉R∨\chi := \lfloor \Psi_{\vec r}\rceil_{R^\vee}χ:=Ψr

R,即把采样结果 e∈Se \in SeS 最近的环元素 e′∈R∨e' \in R^\veeeR 作为离散采样结果。其中 R∨R^\veeR 是环 RRRdual fractional ideal(这啥?),我数学不好没看懂 (╥╯^╰╥)

SIMD

CKKS 使用 RLWE,类似 BGV 使用分圆多项式 ϕM(x)\phi_M(x)ϕM(x),根据 CRT 可以将密文分成 NNN 个的(slot),从而可以实现 SIMD。

基于 RLWE 的密码方案的明文空间可以被视作 SSS 的子集,其中的元素是 ∥m∥∞can≪q\|m\|_\infty^{can} \ll qmcanq 的那些 m(x)m(x)m(x)

ξM\xi_MξM 是一个复平面上的 MMM 次本原单位根。分圆环 S:=R[x]/(ΦM(x))S := \mathbb R[x]/(\Phi_M(x))S:=R[x]/(ΦM(x)),对于 a∈Sa \in SaS,规范嵌入为 σ(a):=(a(ξMj))j∈ZM∗∈CN\sigma(a) := (a(\xi_M^j))_{j \in \mathbb Z_M^*} \in \mathbb C^Nσ(a):=(a(ξMj))jZMCN

确切地说,由于 a∈Sa \in SaS 是实系数多项式,因此 a(ξ−j)=a(ξj‾)=a(ξj)‾a(\xi^{-j}) = a(\overline{\xi^j}) = \overline{a(\xi^j)}a(ξj)=a(ξj)=a(ξj),规范嵌入的 Im(σ)=H⊂CNIm(\sigma) = \mathbb H \sub \mathbb C^NIm(σ)=HCN,容易看出同构 H≅S\mathbb H \cong SHS

由于 H\mathbb HH 中的元素满足共轭约束,因此令 TTTZM∗\mathbb Z_M^*ZM 的乘法子群,使得 ZM∗/T={±1}\mathbb Z_M^*/T = \{\pm 1\}ZM/T={±1},那么考虑自然投影natural projectionπ:H→CN/2\pi: \mathbb H \to \mathbb C^{N/2}π:HCN/2
π((zj)j∈ZM∗):=(zj)j∈T\pi((z_j)_{j \in \mathbb Z_M^*}) := (z_j)_{j \in T} π((zj)jZM):=(zj)jT

那么关于映射 π\piπ,有同构 H≅CN/2\mathbb H \cong \mathbb C^{N/2}HCN/2

由于 R=Z[x]/(ϕ(x))R = \mathbb Z[x]/(\phi(x))R=Z[x]/(ϕ(x)),因此它有一组 Z−\mathbb Z-Z{1,x,⋯,xN−1}\{1,x,\cdots,x^{N-1}\}{1,x,,xN1},这利用规范嵌入 σ(⋅)\sigma(\cdot)σ() 可以得到一个秩 NNN理想格ideal latticeσ(R)\sigma(R)σ(R),基为 {σ(1),σ(x),⋯,σ(xN−1)}\{\sigma(1),\sigma(x),\cdots,\sigma(x^{N-1})\}{σ(1),σ(x),,σ(xN1)}

现在,我们已经有了 S→HS \to \mathbb HSH 的同构 σ\sigmaσ,以及 H→CN/2\mathbb H \to \mathbb C^{N/2}HCN/2 的同构 π\piπ,那么就有同构映射
π∘σ:(S,∥⋅∥∞can)→(CN/2,∥⋅∥∞)\pi \circ \sigma: (S,\, \|\cdot\|_\infty^{can}) \to \mathbb (C^{N/2},\, \|\cdot\|_\infty) πσ:(S,can)(CN/2,)

由于 R⊂SR \sub SRS 是子环,因此 σ(R)⊂H\sigma(R) \sub \mathbb Hσ(R)H 是离散子群,从而 π(σ(R))⊂CN/2\pi(\sigma(R)) \sub \mathbb C^{N/2}π(σ(R))CN/2 是有限精度的浮点数向量集合。如图:

所以,任给一个复向量 z⃗∈CN/2\vec z \in \mathbb C^{N/2}z

CN/2,它的原像 π−1(z⃗)\pi^{-1}(\vec z)π1(z

)
不一定落在格 σ(R)\sigma(R)σ(R) 上,需要就近圆整 ⌊π−1(z⃗)⌉σ(R)\lfloor \pi^{-1}(\vec z) \rceil_{\sigma(R)}π1(z

)σ(R)
,得到最接近的格点,这就导致了圆整误差。为了提高浮点数精度,可以设置一个 scaling factor Δ≥1\Delta \ge 1Δ1,先 z⃗′=Δ⋅z⃗\vec z' = \Delta \cdot \vec zz

=
Δz

,然后 π−1(σ−1(z⃗′))∈R\pi^{-1}(\sigma^{-1}(\vec z')) \in Rπ1(σ1(z

))
R
得到对应的明文。

CKKS 的编码解码算法为:

LHE

CKKS 使用了:BGV 的密钥切换技术、模切换技术、打包技术,BFV 的重线性化技术。抽象的来说,CKKS 方案如下(注意 Enc 算法):

CKKS 使用模切换过程,来移除密文中明文信息的被噪声淹没的 LSB 部分,叫做重缩放(rescaling)。固定 base p>0p>0p>0 和模数 q0>0q_0 > 0q0>0(都不必是素数)。对于深度为 LLL 的电路,设置梯子为 ql=ql⋅q0q_l = q^l \cdot q_0ql=qlq0,第 lll 层的密文属于 Rql2R_{q_l}^2Rql2

同态运算时,密文中的消息和噪声的规模都会增长。为了方便管理密文,还要在 ccc 上附加上一些标签:层级 0≤l≤L0 \le l \le L0lL,消息上界 v∈Rv \in \mathbb RvR,噪声上界 B∈RB \in \mathbb RBR

另外,同态运算之前,需要参与运算的两个密文 (c,l,v,B),(c′,l′,v′,B′)(c,l,v,B),\, (c',l',v',B')(c,l,v,B),(c,l,v,B)level 保证一致。假设 l′<ll' < ll<l,那么需要将 ccc 降级到 l′l'l 级的 Rql′R_{q_{l'}}Rql 上:

  1. 如果使用 RS 过程,c↦RS(c)c \mapsto RS(c)cRS(c),那么消息从 mmm 变化为 ql′qlm\frac{q_{l'}}{q_l}mqlqlm
  2. 而直接简单模约简c↦cmodql′c \mapsto c \mod q_{l'}ccmodql,这不会改变消息 mmm

如果选取 M=2k+1M = 2^{k+1}M=2k+1,那么 ϕM(x)=xN+1\phi_M(x) = x^N+1ϕM(x)=xN+1,其中 N=2kN = 2^kN=2k,环 R=Z[x]/(xN+1)R = \mathbb Z[x]/(x^N+1)R=Z[x]/(xN+1) 有良好的性质:

  1. 此时 R∨=N−1⋅RR^\vee = N^{-1} \cdot RR=N1R,从而噪声 e′∈R∨e' \in R^\veeeR 可以转化为 e=N⋅e′∈Re = N \cdot e' \in Re=NeR,它的各个系数是相互独立的离散高斯采样。
  2. 圆整运算可以高效计算,因为 CRTMCRT_MCRTM 是正交阵,因此 ⌊a(x)⌉σ(R)=∑i⌊ai⌉Z⋅xi\lfloor a(x) \rceil_{\sigma(R)} = \sum_i \lfloor a_i\rceil_\mathbb Z \cdot x^ia(x)σ(R)=iaiZxi(多项式圆整就是各项系数分别圆整)

CKKS 使用了多种分布(我不知道为何需要这么多。为了效率?为了安全性?):

  • DG(σ2)DG(\sigma^2)DG(σ2):实数 σ>0\sigma>0σ>0,采样 ZN\mathbb Z^NZN 上向量,各分量是方差为 σ2\sigma^2σ2Z\mathbb ZZ 上独立的离散高斯采样
  • HWT(h)HWT(h)HWT(h):正整数 hhh,采样 {0,±1}N\{0,\pm 1\}^N{0,±1}N 上向量(signed binary vectors),汉明重量为 hhh
  • ZO(ρ)ZO(\rho)ZO(ρ):实数 0≤ρ≤10 \le \rho \le 10ρ1,采样 {0,±1}N\{0,\pm 1\}^N{0,±1}N 上向量,它的各个分量以 ρ/2\rho/2ρ/2 的概率为 1,−11,-11,1,以 1−ρ1-\rho1ρ 的概率为 000

CKKS 方案如下:

我们说一个密文 (c∈Rql2,l,v,B)(c \in R_{q_l}^2,l,v,B)(cRql2,l,v,B)m∈Sm \in SmS有效密文valid encryption),如果 ∥m∥∞can≤v\|m\|_\infty^{can} \le vmcanv<c,sk>=m+2modql<c,sk> = m+2 \mod q_l<c,sk>=m+2modql,其中 e∈Se \in SeS 满足 ∥e∥∞can≤B\|e\|_\infty^{can} \le BecanB。可以证明:

为了达到 λ−\lambda-λ比特的安全性,需要使得 N≥λ+1107.2log⁡(P⋅qL)N \ge \frac{\lambda+110}{7.2} \log(P \cdot q_L)N7.2λ+110log(PqL)。由于 qLq_LqL 是梯子中最大的模数,因此让 PPP 接近于 qLq_LqL 即可。对于 λ=80\lambda = 80λ=80,文章中设置 σ=3.2\sigma = 3.2σ=3.2h=64h = 64h=64

下图展示了安全性和计算效率之间的 tradeoff:为了提高安全性,这需要提升分圆多项式的次数 NNN,即使我们不需要太多的(N/2N/2N/2个) 明文槽。

Rotate

根据数论知识,域扩张 Q(ξM)/Q\mathbb Q(\xi_M)/\mathbb QQ(ξM)/QGalois 群 Gal:=Gal(Q(ξM)/Q)Gal := Gal(\mathbb Q(\xi_M)/\mathbb Q)Gal:=Gal(Q(ξM)/Q) 是个同构于 ZM∗\mathbb Z_M^*ZM 的乘法群,其中的元素是自同构映射
κk:m(x)↦m(xk),∀gcd(k,M)=1\kappa_k: m(x) \mapsto m(x^k),\, \forall gcd(k,M)=1 κk:m(x)m(xk),gcd(k,M)=1

一个明文多项式为 m(x)∈R⊂Q(ξM)m(x) \in R \sub \mathbb Q(\xi_M)m(x)RQ(ξM),解码后对应的明文向量是 z⃗=π(σ(m(x)))∈CN/2\vec z = \pi(\sigma(m(x))) \in \mathbb C^{N/2}z

=π(σ(m(x)))CN/2。对于任意的 i,j∈T⊂ZM∗i,j \in T \sub \mathbb Z_M^*i,jTZM,令 k=j−1⋅imodMk = j^{-1} \cdot i \mod Mk=j1imodM,那么计算 m′=κk(m)m' = \kappa_k(m)m=κk(m),满足
zj′=m′(ξMj)=κ(m(ξMj))=m(ξMjk)=m(ξMi)=ziz_j' = m'(\xi_M^j) = \kappa(m(\xi_M^j)) = m(\xi_M^{jk}) = m(\xi_M^{i}) = z_i zj=m(ξMj)=κ(m(ξMj))=m(ξMjk)=m(ξMi)=zi

也就是说,自同构映射 κk\kappa_kκk 可以实现把明文信息从槽 iii 搬移到槽 jjj

定义向量 (ci)I(c_i)_I(ci)I 上的自同构映射为:κk((ci)I):=(κk(ci))I\kappa_k((c_i)_I) := (\kappa_k(c_i))_Iκk((ci)I):=(κk(ci))I,可以验证,如果 c∈Rql2c \in R_{q_l}^2cRql2 是明文 m∈Rm \in RmR 在私钥 (1,s)(1,s)(1,s) 下的有效密文,那么 κk(c)∈Rql2\kappa_k(c) \in R_{q_l}^2κk(c)Rql2 是明文 κk(m)∈R\kappa_k(m) \in Rκk(m)R 在私钥 (1,κk(s))(1,\kappa_k(s))(1,κk(s)) 下的有效密文。

类似 BGV 的 Pack / Unpack 技术,将密文的密钥切换变换 τ(1,s)→(1,κk(s))\tau_{(1,s) \to (1,\kappa_k(s))}τ(1,s)(1,κk(s))τ(1,κk(s))→(1,s)\tau_{(1,\kappa_k(s)) \to (1,s)}τ(1,κk(s))(1,s) 作为公钥发布,从而实现密文上各个槽里的明文信息的任意搬移。

全同态加密:CKKS相关推荐

  1. 隐私计算之全同态加密

    [引]走近任何一个领域,都会发现自己的渺小和微不足道,会越发地敬畏技术和未知,隐私计算也不例外.读了一点儿文章和paper,觉得还是ACM 上的这篇综述(https://queue.acm.org/d ...

  2. 全同态加密 (FHE) 框架

    同态加密密码系统是一种解密是态射的密码系统. Decrypt(a*b) = Decrypt(a) * Decrypt(b) 同态加密密码系统允许在不解密的情况下对密文进行操作.它确保了端到端的语义安全 ...

  3. 全同态加密(FHE)体系概述(初学版)

    同态加密定义 假设有这样一个场景,用户有一组私密数据,被加密存储在了第三方的云平台,现在,该用户想对这组数据进行某种处理,但是处理过程和结果都不想让第三方云平台看到.当然,用户可以选择将数据下载下来, ...

  4. 26. 隐私计算时代的全同态加密处理器

    新浪科技讯 12月16日下午消息,由新浪财经客户端.新浪科技联合主办的"2022科技风云榜"线上年度盛典今日开幕.中科院计算所副教授.硕士生导师路航发言指出,人和计算系统的关系正在 ...

  5. 区块链和同态加密结合使用的电子投票系统_全同态加密资源汇总

    本文由陈智罡博士撰写. ●全同态加密论文列表 1.http://people.csail.mit.edu/vinodv/FHE/FHE-refs.html 这个是根据同态加密进行分类的列表 2.htt ...

  6. OPPO 40万年薪招应届生,狂揽芯片人才;恶意差评小米新手机,一用户被判赔3万元;谷歌开源全同态加密通用转译器|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  7. 全同态加密(FHE):BV方案、密钥切换、模约化、自举

    目前,全同态加密FHE,仅仅在格上被构造出来. 编码 most significant bit encoding Encode: 输入1比特的消息 u u u,计算 b = < s , a &g ...

  8. 全同态加密研究资源汇总

    1.全同态加密论文列表 (1)CryptologyePrint Archive:  http://eprint.iacr.org .这个网站估计密码学的人都知道.可以查找按照关键字"全同态& ...

  9. bfv同态加密_全同态加密BFV-(section 2-SHE)

    写在前面 如果第一次来到我的专栏,如果想从头学习全同态加密FHE,那么点击下面的链接吧,我在最开始的地方等你~安全六三:全同态加密1-(BFV section 1)​zhuanlan.zhihu.co ...

最新文章

  1. 直流(DC)跟交流射频(RF)的电场构成
  2. Prototype 框架分析(一)
  3. LeetCode动态规划 杨辉三角
  4. 运营管理整改报告范文_整改报告 反馈问题整改报告范文精选5篇
  5. pandas php,pandas分组聚合代码详解
  6. window统计文本字节_【NLP】机器如何认识文本 ?NLP中的Tokenization方法总结
  7. 花书+吴恩达深度学习(十二)卷积神经网络 CNN 之全连接层
  8. ch341a烧录器zip_CH341A编程器
  9. python selenium 下载附件通过oss上传
  10. Node.js菜鸟教程入门笔记摘要
  11. 【JAVA基础】Java基础之-代理详解
  12. STM32F401超声波proteus仿真
  13. python处理word文档中表格 添加一列_Python操作word文档插入图片和表格的实例演示...
  14. exlsx表格教程_excel表格制作教程
  15. JavaScript制作日历
  16. Benchmarking of computational error-correction methods for next-generation sequen下一代测序数据的计算纠错方法的基准测试
  17. 学计算机编程应该先学什么,计算机编程好学吗?计算机编程入门应该先学什么?...
  18. 进程同步问题(Process Synchronization)
  19. 家庭装修是找设计师和施工队好,还是找装修公司好呀
  20. 2018 滴滴出行校招笔试(单词纠错)

热门文章

  1. 教你在CAD中编辑标注尺寸界线的倾斜角的方法
  2. CTP程序化交易入门系列之六:报单(一)
  3. centos+7.2+linux版本,在Linux Centos 7.2 上安装指定版本Docker。
  4. 下次再也不用清理注册表工具了
  5. 使用picard评估文库复杂度
  6. 2021-06-30软件测试day1学习笔记
  7. idea项目导出出现 in module XXX File is included in 4 contexts
  8. 君子处患难而不忧,当宴游而惕虑;遇权豪而不惧,对茕独而惊心
  9. Tekton pipeline DEMO + 探索一些tkn命令
  10. JPG转PDF转化用什么软件?分享几款办公必备软件