The Value of Depth in Message Passing on Sparse Graphs: A Kesten-Stigum Dichotomy¶
作者: Aseem Raj Baranwal
主题: 高维统计 / 随机矩阵
相关性: 7/10
链接: https://arxiv.org/abs/2607.16676
一、领域脉络与小综述¶
这个方向是什么¶
本文研究的根本问题是:在稀疏图上,图神经网络(GNN)的深度到底有多大统计价值? 具体而言,给定一个节点分类任务,当图是稀疏的(平均度 Δ = O(1)),增加一层消息传递(即聚合更远邻居的信息)能带来多少分类精度的提升?这个问题是 GNN 设计中最基础的问题之一,因为经验上深层 GCN 往往比浅层表现更差(归因于过平滑或信息瓶颈),但缺乏一个严格的统计框架来量化“深度”的价值。本文在稀疏上下文随机块模型(CSBM)的局部弱极限——带广播标记的泊松 Galton-Watson 树——上,给出了一个精确的答案:深度的价值完全由单个 Kesten-Stigum 比率 κ = γ²Δ 决定,低于阈值时深度饱和(几何速率),高于阈值时深度放大(几何速率)。
发展脉络¶
-
奠基工作:树上的重建问题与 Kesten-Stigum 阈值。 这个方向根植于对树上广播过程的重建问题。Kesten 和 Stigum [19] 在研究多类型分支过程时首次引入了比率 κ = γ²Δ,证明了当 κ > 1 时,根节点的标签可以从深层叶子中重建。Evans 等人 [14] 和 Mossel & Peres [18] 进一步研究了树上信息流,确立了 κ > 1 是根节点从深层叶子可重建的阈值。Janson & Mossel [16] 则证明了鲁棒重建(从带噪声的深层观测中恢复根节点)的阈值也由 κ 精确决定。这些工作为理解稀疏图上的社区检测提供了理论基础。
-
主要进展:稀疏随机块模型(SBM)中的社区检测阈值。 Decelle 等人 [9] 基于统计物理的 cavity 方法,猜想稀疏 SBM 中社区检测存在一个尖锐的相变阈值,即 Kesten-Stigum 阈值。Mossel, Neeman & Sly [13] 证明了该猜想的“不可能”部分(κ < 1 时无法非平凡检测)。Massoulié [12] 和 Mossel, Neeman & Sly [13] 独立证明了“可能”部分(κ > 1 时存在有效算法),从而完整建立了稀疏 SBM 中社区检测的 Kesten-Stigum 阈值。Abbe [7] 的综述总结了这些进展。Krzakala 等人 [11] 提出了非回溯算子,其谱在 κ > 1 时能检测社区,建立了线性化 BP 与谱方法之间的联系。
-
当前 Frontier:带节点特征的稀疏图(CSBM)与消息传递架构。 Deshpande 等人 [15] 引入了上下文随机块模型(CSBM),将图结构与节点特征结合。Baranwal 等人 [3] 在稀疏 CSBM 的局部弱极限上,推导了一个渐近局部贝叶斯最优的消息传递分类器,并证明其可由 GNN 实现。该分类器正是本文分析的对象。Kanade 等人 [22] 研究了带少量标签信息的 SBM,发现标签信息与阈值有微妙交互。Lu & Sen [24] 证明了 CSBM 在高维比例 regime(d/n → const)下的尖锐检测阈值,其中特征会移动阈值位置。
-
本文的位置。 本文固定了 Baranwal 等人 [3] 推导的消息传递分类器,并量化了其深度 ℓ 的边际价值。它回答了“在稀疏图上,深度 ℓ 的统计价值是什么?”这个更基础的问题,而不是提出新架构或新算法。其核心发现是,深度的价值完全由 Kesten-Stigum 比率 κ 决定,与图的大小无关。这与之前关于 GNN 深度的工作(如过平滑 [18, 22, 31, 35]、信息瓶颈 [4]、表达性限制 [23])形成互补,提供了一个纯粹的统计视角。
子线索聚类¶
- 树上的重建与信息论阈值:聚焦于广播过程、重建问题、鲁棒重建,以及 Kesten-Stigum 阈值。代表工作:Kesten & Stigum [19], Evans et al. [14], Mossel & Peres [18], Janson & Mossel [16], Mézard & Montanari [17]。
- 稀疏随机图上的社区检测:聚焦于 SBM 和 CSBM 中的检测、弱恢复、精确恢复阈值,以及算法(谱方法、BP、SDP)。代表工作:Decelle et al. [9], Mossel et al. [13], Massoulié [12], Krzakala et al. [11], Abbe [7], Deshpande et al. [15], Lu & Sen [24]。
- GNN 的理论分析:聚焦于 GNN 的深度、过平滑、信息瓶颈、表达性、以及图卷积的效果。代表工作:Kipf & Welling [4], Li et al. [6], Alon & Yahav [8], Keriven [16], Loukas [23], Baranwal et al. [3, 5, 6, 7, 34]。
这个方向在追问的核心问题¶
- 深度 ℓ 的边际价值是什么? 在稀疏图上,增加一层消息传递能带来多少分类精度的提升?这个提升是有限的还是无限的?速率如何?
- 这个价值由什么决定? 是图的平均度 Δ,还是边信号强度 γ,还是它们的组合?Kesten-Stigum 比率 κ 是否扮演核心角色?
- 这个价值与图的大小有关吗? 在稀疏图上,有用的深度是 O(log n) 还是 O(1)?
- 线性化消息传递(如 GCN)与精确贝叶斯推理(如 BP)在深度价值上有什么差异? 线性化会带来什么代价?
⚠️ 作者的 framing¶
作者将缺口 frame 成:“在稀疏图上,GNN 深度价值的统计基础是什么?” 他们声称,之前关于 GNN 深度的理论(过平滑、信息瓶颈)关注的是特定架构和训练动态,而他们回答的是一个更基础的统计问题。他们通过将问题形式化为 CSBM 的局部弱极限上的节点分类,并分析一个统计上推导出的消息传递分类器,来“显然地”成为下一步。作者淡化了以下竞争路线: - 过平滑理论:作者承认过平滑是深层 GCN 失败的一个原因,但认为他们的分析提供了一个互补的、纯粹的统计解释:统计上推导的规则(消息衰减)不会像均匀聚合那样随深度崩溃。 - 高维比例 regime 下的 CSBM 阈值:作者明确区分了他们的 regime(d 固定,每节点特征 SNR 为常数)与高维比例 regime(d/n → const,特征 SNR 消失)。在后一 regime 中,特征会移动阈值位置,而他们的 regime 中 κ 是唯一决定因素。这是一个重要的澄清,但也意味着他们的结果不直接适用于高维特征场景。 - 精确 BP:作者将他们的分类器定位为线性化 BP,并承认精确 BP 表现更好(单调、更快饱和),但选择分析线性化规则,因为它是 GNN 实现的。
什么明显该被引 / 该存在、却没出现在 intro 里? 作者没有引用关于统计-计算权衡(statistical-computational tradeoff)的文献,例如在 SBM 中,信息论阈值和计算阈值之间存在差距(如 Kesten-Stigum 阈值本身就是一个计算阈值)。虽然本文不涉及算法复杂性,但讨论“深度价值”与“计算成本”之间的权衡是自然的延伸。此外,关于图神经网络表达性的文献(如 Xu et al., 2019, Morris et al., 2019)也没有被引用,尽管 Loukas [23] 被引用了。这可能是因为本文关注的是统计最优性,而非表达性。
张力¶
未见明显对立引用。所有被引工作都一致认为 Kesten-Stigum 比率 κ 是稀疏随机图上一个核心的相变参数。作者的工作是在这个共识上,将其应用于 GNN 深度价值问题。
二、最核心、最简单的例子 / 数学问题¶
第一步:把符号、模型、可观测数据交代清楚¶
-
符号:
n: 图中节点数。y_i ∈ {±1}: 节点i的潜在类标签(社区归属)。X_i ∈ ℝ^d: 节点i的可观测特征向量。G_n: 在n个节点上生成的稀疏随机图。a, b > 0: 控制类内和类间边概率的常数。边概率为a/n(同标签)和b/n(异标签)。Δ = (a+b)/2: 平均度。γ = (a-b)/(a+b) ∈ (0,1): 边信号强度,衡量图结构的信息量。κ = γ²Δ: Kesten-Stigum 比率,本文的核心参数。o: 随机选取的根节点。T: 局部弱极限下的泊松 Galton-Watson 树,根为o。N_k(o): 距离根节点o恰好为k的顶点集合。S_k = |N_k(o)|: 第k代顶点数。σ_v = y_v y_o ∈ {±1}: 顶点v相对于根节点的标签(+1 表示相同,-1 表示相反)。ρ_±(x): 给定标签y = ±1时特征x的条件密度。t(x) = (ρ_+(x) - ρ_-(x)) / (ρ_+(x) + ρ_-(x)) ∈ [-1, 1]: 有界似然比变换。log ψ(x) = 2 artanh(t(x)): 对数似然比。M_k(x) = 2 artanh(γ^k t(x)): 来自距离根节点k的顶点v的消息,其特征为x。T_ℓ = Σ_{k=0}^ℓ Σ_{v ∈ N_k(o)} M_k(X_v): 深度ℓ的决策统计量。h_ℓ = sgn(T_ℓ): 深度ℓ的消息传递分类器。E(ℓ) = P(y_o T_ℓ ≤ 0): 深度ℓ的分类器的误分类概率。
-
模型:稀疏上下文随机块模型(CSBM)。数据生成过程如下:
- 标签:每个节点
i的标签y_i独立同分布地从{±1}中均匀抽取。 - 图结构:对于每一对节点
(u, v),如果y_u = y_v,则以概率a/n连边;否则以概率b/n连边。平均度Δ = (a+b)/2是 O(1) 常数。 - 特征:每个节点
i的特征X_i独立地从其标签对应的条件分布P_{y_i}中抽取。
- 标签:每个节点
-
可观测数据:研究者可以观测到整个图
G_n以及所有节点的特征{X_i}。潜在/不可观测的是节点的真实标签{y_i}。在局部弱极限下,研究者观测到的是以随机根节点o为中心的 ℓ-邻域,包括树结构、所有节点的特征,但不知道根节点的标签y_o。分类任务就是根据这些观测来推断y_o。
第二步:讲最小内核¶
本文的核心思路可以用一个最简特例来理解:假设特征是无信息的(即 t(X) ≡ 0),且图是正则树(每个节点有恰好 Δ 个孩子)。在这个特例下,消息传递分类器退化为只依赖于图结构的规则。
-
无信息特征:当
t(X) ≡ 0时,M_k(X_v) = 2 artanh(γ^k * 0) = 0。因此,所有来自非根节点的消息都是 0。决策统计量T_ℓ退化为T_0 = log ψ(X_o) = 0(因为特征无信息)。这意味着分类器只能随机猜测,E(ℓ) = 1/2。深度没有任何价值。 -
引入特征信号:现在假设特征是有信息的,但为了简化,我们考虑一个二值特征:
t(X) ∈ {+t₀, -t₀},且P(t(X)=+t₀ | y=+1) = (1+t₀)/2。那么,来自距离根节点k的顶点v的消息M_k(X_v)只能取两个值:±2 artanh(γ^k t₀)。消息的符号携带了关于v的标签y_v的信息,但其幅度被γ^k衰减。 -
核心数学问题:在正则树上,第
k代有Δ^k个顶点。每个顶点的消息幅度是O(γ^k)。如果这些消息的符号是独立的,那么第k代的总信号强度(期望)是O(γ^k * Δ^k) = O(κ^k)。当 κ < 1 时,信号随k指数衰减,因此深层的信息可以忽略。当 κ > 1 时,信号随k指数增长,因此深层的信息至关重要。 -
关键难点:消息的符号不是独立的,因为它们通过树上的广播过程相关。例如,两个共享父节点的子节点的消息是相关的。本文的核心技术贡献是证明了,尽管存在这种相关性,第
k代的总信号(即Σ_{v ∈ N_k} M_k(X_v))的二阶矩仍然以O(κ^k)的速率衰减(当 κ < 1 时)。这证明了“信号随k指数衰减”的直觉在二阶矩意义上成立,从而支撑了饱和定理。 -
最小内核总结:本文证明了,在稀疏 CSBM 的局部弱极限上,消息传递分类器
h_ℓ的深度价值完全由 Kesten-Stigum 比率κ = γ²Δ决定。当κ < 1时,深层消息的总贡献(二阶矩)以κ^k的速率几何衰减,因此深度饱和。当κ > 1时,深层消息的总信号以κ^k的速率几何增长,因此深度放大。
三、这篇论文做了什么¶
三句话¶
- 研究了什么问题:在稀疏 CSBM 的局部弱极限(带广播标记的泊松 Galton-Watson 树)上,量化了消息传递分类器
h_ℓ的深度 ℓ 对节点分类误分类概率E(ℓ)的边际价值。 - 核心工具/方法:使用两类型分支过程鞅、广播过程的相关衰减、消息的反称性恒等式和反集中不等式,对
E(ℓ)进行上下界分析。 - 主要结论:深度的价值由 Kesten-Stigum 比率
κ = γ²Δ决定。低于阈值(κ < 1)时,E(ℓ)以几何速率κ^{ℓ/3}饱和;高于阈值(κ > 1)时,E(ℓ)以几何速率κ^{-sℓ}(对任意 s < 1)降低到一个由分支过程波动决定的 floor。此外,存在一个与深度无关的通用 floore^{-Δ} Φ(-ζ),且第一层总是有帮助的。
关键设定与假设¶
- 设定:稀疏 CSBM 的局部弱极限
(T, o, y, X),其中T是泊松 Galton-Watson 树PGW(Δ),标签遵循广播过程,特征条件独立于标签。 - 假设:
- Assumption 1 (对称、相互绝对连续的特征):
P_+和P_-相互绝对连续,且存在一个保测度对合τ使得ρ_-(x) = ρ_+(τ(x))。这保证了消息的反称性(M_k(τ(x)) = -M_k(x)),是下文阈值饱和证明的引擎。 - Assumption 2 (有信息的特征):
ϑ := E_+[t(X)^2] > 0。确保特征确实携带了关于标签的信息。 - Assumption 3 (非原子对数似然比):在
P_+下,log ψ(X)的密度有界。这个假设只用于定理 3.1 的反集中论证,可以放宽为 Lévy 集中函数形式。
- Assumption 1 (对称、相互绝对连续的特征):
- 与已有文献的比较:相比 Baranwal et al. [3](推导了分类器并计算了固定深度下的误差),本文固定了规则并量化了深度的边际价值。相比 Deshpande et al. [15] 和 Lu & Sen [24](研究高维比例 regime 下的检测阈值),本文的 regime 是 d 固定、每节点特征 SNR 为常数,因此 κ 是唯一决定因素,特征不会移动阈值。
主要结果¶
- 定理 3.1 (深度饱和,κ < 1):对于所有
ℓ' > ℓ,|E(ℓ) - E(ℓ')| ≤ C κ^{(ℓ+1)/3}。这意味着E(ℓ)是柯西序列,极限E(∞)存在,且深度O(log(1/ε))就足以达到 ε 精度。技术难点:证明的关键是引理 4.4,它证明了深度 ℓ 之后所有层的总贡献R = T_{ℓ'} - T_ℓ的二阶矩E[R^2] ≤ C_1 κ^{ℓ+1}。这需要利用消息的反称性(引理 4.2)和广播过程的结构(引理 4.3)来精确控制条件均值和条件方差。 - 定理 3.2 (决策翻转下界,κ < 1):在额外正则性条件下,
P(h_ℓ ≠ h_{ℓ+1}) ≥ c κ^{ℓ/2}。这证明了饱和的指数是 ℓ/2 而不是 ℓ/3,与模拟结果一致。技术难点:使用条件 Berry-Esseen 论证,需要控制新一层的条件均值和方差,并利用根节点特征密度在 0 附近有下界。 - 定理 3.3 (深度放大,κ > 1):对于任意
s ∈ (0,1),E(ℓ) ≤ 16/(κ-1) + 2κ^{-sℓ} + exp(-c_0 (κ-1) κ^{(1-s)ℓ-1} / ℓ^2) + exp(-ϑ/2 κ^ℓ)。误差被驱动到一个由分支过程波动决定的 floor(16/(κ-1))。技术难点:证明需要构造一个“好事件”,在该事件上分支过程行为良好(W_k远离 0,S_k不太大),然后在该事件上证明条件均值很大且条件方差可控。floor 项来自分支过程灭绝或早期波动的事件。 - 定理 3.4 (通用 floor):对于任何 ℓ-局部分类器,
P(error) ≥ e^{-Δ} ε_feat,其中ε_feat是特征混合的贝叶斯误差。这源于根节点有e^{-Δ}的概率是孤立的,此时只能依靠特征。 - 定理 3.5 (深度处方):在两种 regime 下,深度
O(log(1/ε))就足够,与图大小无关。 - 定理 3.6 (第一层有帮助):
E(0) - E(1)有一个明确的正下界。证明利用了h_1是深度 1 观测的贝叶斯规则这一事实。 - 定理 3.8 (成对规则是线性化 BP):指出
h_ℓ是精确 BP 的线性化版本,两者在 ℓ=1 时一致,但在 ℓ≥2 时因处理祖先相关性的方式不同而分歧。 - 定理 3.9 (有限最优深度):
E(ℓ)不是 ℓ 的单调函数,存在一个有限的最优深度,超过后误差会轻微上升。这是因为成对规则将祖先相关的消息视为独立,导致相关噪声累积。
证明路线与技术技巧¶
- 整体路线:
- 对称性简化:利用引理 4.1 将问题简化为条件于
y_o = +1。 - 消息矩分析:引理 4.2 计算了消息
M_k的均值、二阶矩和上界,揭示了其反称性和衰减特性。 - 广播与分支结构:引理 4.3 分析了广播过程下的标签相关性和分支过程的鞅结构,特别是 Kesten-Stigum 鞅
W_k。 - 尾部贡献的二阶矩:引理 4.4 是定理 3.1 的核心,它通过条件于树和标签
G,将R = T_{ℓ'} - T_ℓ的二阶矩分解为条件方差和条件均值的平方,并利用引理 4.2 和 4.3 进行上界估计。 - 反集中与 Chebyshev:定理 3.1 的证明将误差差
|E(ℓ) - E(ℓ')|与P(|R| > s)和反集中项P(|T_{ℓ'}| ≤ s)联系起来,然后通过优化s得到几何速率。 - 好事件与条件论证:定理 3.3 的证明构造了分支过程行为良好的事件
E_W和E_S,在这些事件上证明条件均值μ'很大,然后使用 Hoeffding 不等式和指数界来 bound 条件误差。
- 对称性简化:利用引理 4.1 将问题简化为条件于
- 关键跳跃点:
- 引理 4.4 的证明:这是整个论文最吃功夫的部分。它需要同时处理条件均值和条件方差。条件方差部分相对直接,因为给定
G后消息独立。条件均值部分E[R|G] = Σ_{k>ℓ} m_k D_k的期望平方需要处理D_j D_k的相关性,这通过引理 4.3 的鞅结构转化为κ^{max(j,k)}的求和,最终得到O(κ^{ℓ+1})的界。 - 定理 3.3 中 floor 项的来源:
16/(κ-1)来自分支过程早期波动(W_1 < 3/4或sup_{k≥2} |W_k - W_1| > 1/4)的概率。这个概率通过 Chebyshev 和 Doob 不等式 bound 住,但常数远非最优。
- 引理 4.4 的证明:这是整个论文最吃功夫的部分。它需要同时处理条件均值和条件方差。条件方差部分相对直接,因为给定
- 技术技巧点名:
- 两类型分支过程鞅:
W_k = D_k / (γΔ)^k是 Kesten-Stigum 鞅,用于分析D_k的矩和相关性。 - 广播过程的相关衰减:
E[σ_v σ_w | T] = γ^{d(v,w)},用于计算D_j D_k的期望。 - 消息的反称性恒等式:
E_-[M_k(X)] = -E_+[M_k(X)],这是饱和证明中条件均值项能够被有效控制的关键。 - 反集中不等式:引理 4.5 利用根节点特征
log ψ(X_o)的密度有界性来 boundP(|T_{ℓ'}| ≤ s)。 - Hoeffding 不等式:用于在好事件上 bound 条件误差
P(T' ≤ μ'/2 | G)。 - Berry-Esseen 定理:用于定理 3.2 的决策翻转下界证明。
- 两类型分支过程鞅:
真实例子与应用¶
本文包含模拟实验,没有真实数据例子。
- 模拟设置:直接模拟局部弱极限对象:带广播标记的 PGW(Δ) 树,特征为高斯混合(定理 2.1)。在每棵树上评估成对规则
h_ℓ和精确 BP。默认参数 Δ=3,每个点平均 4×10^5 棵树。 - 主要发现:
- 二分法验证:图 1 展示了低于阈值(κ=0.65)和高于阈值(κ=2.25)时
E(ℓ)的曲线。低于阈值时,深度 2 就几乎达到饱和;高于阈值时,深度持续降低误差。 - 几何饱和速率:图 2(左)展示了决策翻转概率
P(h_ℓ ≠ h_{ℓ+1})的几何衰减,拟合速率接近√κ,支持了定理 3.2 的 ℓ/2 指数猜想。 - BP 基线:精确 BP 的误差曲线是单调的,且饱和速率比成对规则更快,其有效比率
κ_BP < κ。 - 有限图验证:图 2(右)在 n=2×10^4 的有限 CSBM 图上验证了树极限的结论,误差差异在 ±0.002 以内。
- 非单调性:成对规则的误差曲线在有限最优深度后轻微上升,验证了定理 3.9。
- 近临界窗口:图 3(左)显示在 κ 接近 1 时,二分法在有限深度内不明显,存在一个临界窗口。
- κ 的主导作用:图 3(右)显示,在相同 κ 但不同 Δ 下,深度价值曲线相似,证明 κ 是主导参数。
- 二分法验证:图 1 展示了低于阈值(κ=0.65)和高于阈值(κ=2.25)时
🔎 结论是否比证明窄¶
- 定理 3.1 的指数 ℓ/3:作者明确承认这个指数不是最优的,并猜想可以改进到 ℓ/2(与模拟和定理 3.2 的下界匹配)。瓶颈在于对条件均值
E[R|G]的波动控制,目前只用了 L2 界(Chebyshev),而升级到次高斯界需要指数控制,目前没有。 - 定理 3.3 的 floor 常数:作者明确声明 floor 常数
16/(κ-1)未经优化,且该界在 κ > 17 时才非平凡。这意味着对于大多数稀疏图(Δ 较小),该定理的 floor 项是平凡的。作者指出,通过利用根节点特征在坏事件上的信息,可以改进 floor。 - 定理 3.5 的深度处方:作者强调处方是
O(log(1/ε))而不是Θ(log(1/ε))。除了第一层(定理 3.6),他们没有证明少于对数层数是不够的。这意味着处方是上界,不是紧界。 - 定理 3.9 的非单调性:作者在附录 C 中通过一个二值特征的具体例子严格证明了非单调性,但指出这个效应很小(低于阈值时被定理 3.1 控制)。
四、开放问题¶
-
改进饱和指数:将定理 3.1 的指数从 ℓ/3 改进到 ℓ/2。扎根点:定理 3.1 后的讨论和定理 3.2 的证明。作者指出瓶颈在于对
D_k的指数控制,而非 L2 控制。这与研究者武器库中的“高维渐近理论”和“高阶 U-统计量理论”有潜在联系,因为D_k的矩与分支过程的谱性质有关。 -
改进放大 floor:将定理 3.3 的 floor 从
16/(κ-1)改进到接近通用 floore^{-Δ} ε_feat。扎根点:定理 3.3 后的讨论。作者指出,通过利用根节点特征在坏事件上的信息,可以改进 floor。这需要更精细地分析 Kesten-Stigum 鞅W_∞在 0 附近的左尾行为,这是一个经典的超临界 Galton-Watson 过程问题。 -
精确 BP 的深度价值:证明精确 BP 的深度价值也由 κ 决定,但其饱和指数由
κ_BP = Δ E[F'_γ(L)^2]控制,且κ_BP < κ。扎根点:第 6 节“Exact belief propagation”和模拟结果(图 2 左)。作者提出了这个猜想,但证明需要控制非线性递归的收缩性质,这是一个开放问题。这与研究者武器库中的“半参数理论”和“M-估计理论”有潜在联系,因为 BP 可以看作是一种 M-估计器。 -
非对称类别的饱和性:当类先验不平衡时,定理 3.1 的饱和性是否仍然成立?扎根点:第 6 节“Extensions”。作者指出,对称性假设(Assumption 1)是饱和证明的引擎,在非对称情况下,消息的均值会有一个与标签无关的漂移项,需要重新中心化统计量。这是一个重要的扩展方向,与研究者对因果推断中处理效应异质性的兴趣有潜在联系。
Maintained by 陈星宇 · Homepage · Source on GitHub