Class SecureAggregationOptions
Configuration options for secure aggregation in federated learning.
public class SecureAggregationOptions
- Inheritance
-
SecureAggregationOptions
- Inherited Members
Remarks
For Beginners: Secure aggregation hides each client's update from the server so the server can only see the final combined result. These options let you pick how secure aggregation should behave, including whether the protocol can handle clients dropping out mid-round.
Properties
Enabled
Gets or sets whether secure aggregation is enabled.
public bool Enabled { get; set; }
Property Value
Remarks
This is an alternative to UseSecureAggregation. If either is enabled, secure aggregation is used.
MaxDropoutFraction
Gets or sets the maximum fraction of selected clients that may drop out while still completing the round.
public double MaxDropoutFraction { get; set; }
Property Value
Remarks
Used only when MinimumUploaderCount is not explicitly set. A value of 0.2 means "tolerate up to 20% dropouts" for the default minimum uploader calculation.
MinimumUploaderCount
Gets or sets the minimum number of clients that must upload masked updates for the round to succeed.
public int MinimumUploaderCount { get; set; }
Property Value
Remarks
If this is 0 or less, an industry-standard default is computed based on the number of selected clients.
Mode
Gets or sets which secure aggregation mode is used.
public SecureAggregationMode Mode { get; set; }
Property Value
ReconstructionThreshold
Gets or sets the reconstruction threshold used by dropout-resilient secure aggregation.
public int ReconstructionThreshold { get; set; }
Property Value
Remarks
If this is 0 or less, a default is chosen based on MinimumUploaderCount. The threshold is the minimum number of clients that must participate in the unmasking step to reconstruct missing masks when other clients drop out after uploading.