{
  "analytic": "federated-clipping",
  "kind": "declared_analytical_or_constructed_example",
  "experimental_model_result": false,
  "panels": [
    {
      "kind": "line",
      "x": [
        0.0,
        0.05,
        0.1,
        0.15000000000000002,
        0.2,
        0.25,
        0.30000000000000004,
        0.35000000000000003,
        0.4,
        0.45,
        0.5,
        0.55,
        0.6000000000000001,
        0.65,
        0.7000000000000001,
        0.75,
        0.8,
        0.8500000000000001,
        0.9,
        0.9500000000000001,
        1.0,
        1.05,
        1.1,
        1.1500000000000001,
        1.2000000000000002,
        1.25,
        1.3,
        1.35,
        1.4000000000000001,
        1.4500000000000002,
        1.5,
        1.55,
        1.6,
        1.6500000000000001,
        1.7000000000000002,
        1.75,
        1.8,
        1.85,
        1.9000000000000001,
        1.9500000000000002,
        2.0,
        2.0500000000000003,
        2.1,
        2.15,
        2.2,
        2.25,
        2.3000000000000003,
        2.35,
        2.4000000000000004,
        2.45,
        2.5,
        2.5500000000000003,
        2.6,
        2.6500000000000004,
        2.7,
        2.75,
        2.8000000000000003,
        2.85,
        2.9000000000000004,
        2.95,
        3.0,
        3.0500000000000003,
        3.1,
        3.1500000000000004,
        3.2,
        3.25,
        3.3000000000000003,
        3.35,
        3.4000000000000004,
        3.45,
        3.5,
        3.5500000000000003,
        3.6,
        3.6500000000000004,
        3.7,
        3.75,
        3.8000000000000003,
        3.85,
        3.9000000000000004,
        3.95,
        4.0,
        4.05,
        4.1000000000000005,
        4.15,
        4.2,
        4.25,
        4.3,
        4.3500000000000005,
        4.4,
        4.45,
        4.5,
        4.55,
        4.6000000000000005,
        4.65,
        4.7,
        4.75,
        4.800000000000001,
        4.8500000000000005,
        4.9,
        4.95,
        5.0
      ],
      "series": [
        {
          "label": "C=1",
          "y": [
            0.0,
            0.05,
            0.1,
            0.15000000000000002,
            0.2,
            0.25,
            0.30000000000000004,
            0.35000000000000003,
            0.4,
            0.45,
            0.5,
            0.55,
            0.6000000000000001,
            0.65,
            0.7000000000000001,
            0.75,
            0.8,
            0.8500000000000001,
            0.9,
            0.9500000000000001,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0
          ]
        },
        {
          "label": "C=2",
          "y": [
            0.0,
            0.05,
            0.1,
            0.15000000000000002,
            0.2,
            0.25,
            0.30000000000000004,
            0.35000000000000003,
            0.4,
            0.45,
            0.5,
            0.55,
            0.6000000000000001,
            0.65,
            0.7000000000000001,
            0.75,
            0.8,
            0.8500000000000001,
            0.9,
            0.9500000000000001,
            1.0,
            1.05,
            1.1,
            1.1500000000000001,
            1.2000000000000002,
            1.25,
            1.3,
            1.35,
            1.4000000000000001,
            1.4500000000000002,
            1.5,
            1.55,
            1.6,
            1.6500000000000001,
            1.7000000000000002,
            1.75,
            1.8,
            1.85,
            1.9000000000000001,
            1.9500000000000002,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0,
            2.0
          ]
        }
      ],
      "xlabel": "Input update norm",
      "ylabel": "Clipped norm",
      "logx": false,
      "logy": false
    },
    {
      "kind": "bar",
      "labels": [
        "Sample weighted",
        "Client uniform"
      ],
      "series": [
        {
          "label": "Constructed aggregate",
          "y": [
            0.8,
            0.0
          ]
        }
      ],
      "ylabel": "Scalar update"
    }
  ],
  "title": "Clipping and weighting change the aggregate",
  "assumptions": "Clipping is deterministic; two fictional scalar clients have updates+1,-1 with sample shares0.9,0.1. No private data and no epsilon calculation.",
  "worked": "两客户端更新+1与−1，按0.9和0.1样本权重得0.8，等客户端权重得0。裁剪只限制贡献范数，差分隐私还需要噪声、采样和完整会计。",
  "source_ids": [
    "arxiv-1602.05629",
    "arxiv-1607.00133",
    "arxiv-1611.04482"
  ],
  "formula_source": "Article equations and this versioned script",
  "diagram_nodes": [
    "客户端与保护单位",
    "本地更新 / 非IID",
    "裁剪及随机机制",
    "安全聚合与掉线",
    "加权全局更新",
    "质量、系统及隐私会计"
  ]
}
