SInGE: Sparsity via Integrated Gradients Estimation of Neuron Relevance
Anonymous Author(s)
AfﬁliationAddress email
Abstract
The leap in performance in state-of-the-art computer vision methods is attributedto the development of deep neural networks.
However it often comes at a computational price which may hinder their deployment.
To alleviate this limitation,structured pruning is a well known technique which consists in removing channels,neurons or ﬁlters, and is commonly applied in order to produce more compactmodels.
In most cases, the computations to remove are selected based on a relativeimportance criterion.
At the same time, the need for explainable predictive modelshas risen tremendously and motivated the development of robust attribution methods that highlight the relative importance of pixels of an input image or featuremap.
In this work, we discuss the limitations of existing pruning heuristics, amongwhich magnitude and gradient-based methods.
We draw inspiration from attribution methods to design a novel integrated gradient pruning criterion, in which therelevance of each neuron is deﬁned as the integral of the gradient variation on apath towards this neuron removal.
Furthermore, we propose an entwined DNNpruning and ﬁne-tuning ﬂowchart to better preserve DNN accuracy while removingparameters.
We show through extensive validation on several datasets, architecturesas well as pruning scenarios that the proposed method, dubbed SInGE , signiﬁcantlyoutperforms existing state-of-the-art DNN pruning methods.
Introduction
Deep neural networks (DNNs) are ubiquitous in modern solutions for most computer vision problemssuch as image classiﬁcation [1], object detection [2] and semantic segmentation [3].
However, thisperformance was achieved at the price of high computational requirements and memory foot-print.
As such, over-parameterization [4] is a common trait of well performing DNNs that may hinder theirdeployment on mobile and embedded devices.
Furthermore, in the case of deployment on a cloudenvironment, latency and energy consumption are of paramount importance.
Consequently, compression and acceleration techniques aim at tackling the issue of DNN deployment.
Among these methods, pruning approaches consist in removing individual weights ( unstructuredpruning) or entire computational blocks, such as neurons channels or ﬁlters ( structured pruning)[5, 6, 7, 8].
The sparsity induced by pruning reduces both the computational cost and the memoryfoot-print of neural networks.
To do so, there exists a wide variety of heuristics behind such pruningtechniques.
A few examples are: pruning at initialization [9], grid search [10, 11], magnitude-based[12] or redundancy based [7, 13] approaches.
Among such heuristics, magnitude-based pruningremains the favoured one [14, 15, 16].
It consists in deﬁning a metric to assess the relevance ofeach neuron in the network, with the goal to remove the least important ones while still preservingthe predictive function as much as possible.
An important limitation of these methods lies in the choice of this importance criterion: magnitude-based criteria [17] do not take into account the whole computations performed in the network (e.g. within the other layers) and gradient-based [18] criteria are intrinsically local within the neighborhood of a current value or set thereof: from this perspective,setting a value abruptly to zero might break this locality property.
To craft a better criterion, we borrow ideas from the ﬁeld of DNN attribution [19].
These methodsaim at understanding the behavior of a neural network, i.e. , in the case of a computer vision model,by providing visual cues of the most relevant regions in a image for the prediction of a network.
Tools developed to explain individual predictions are also often called visual explanation techniques[20, 21, 22, 23, 24].
One example of such model is the Integrated Gradient method [24] that consistsin deﬁning the contribution of each input by the inﬂuence of marginal local changes in the input onthe ﬁnal prediction.
This provides a ﬁne-grained evaluation of the importance of each pixel of theimage (alternatively, of an intermediate feature map) in the ﬁnal decision.
Our work is based on the idea that DNN pruning and attribution methods share an important notion,namely that they both rely on the deﬁnition of an importance metric to compare several variables of amultidimensional prediction system: for pruning, to remove the least important DNN parameters ,and, for attribution, to highlight the most important pixels .
With this in mind, we propose to adapt theintegrated gradient method for pruning purposes.
Speciﬁcally, for each parameter (or set thereof, ifwe consider structured sparsity), we deﬁne its importance as an integral of the product between thenorm of this weight and its attribution along a path between this weight value and a baseline (zero)value.
By doing so, we avoid pathological cases which less sophisticated gradient-based methods aresubjected to such as weights that can be reduced but not zeroed-out without harming the accuracyof the model.
Furthermore, we embed the proposed integrated gradient method within a re-trainingframework to maximize the accuracy of the pruned DNN.
We name our method SInGE , standing for
S parsity via In tegrated G radients E stimation of neuron relevance.
In short, the contributions of thispaper are the following:
• We discuss the limitations of existing pruning heuristics, among which magnitude and gradient based methods.
We draw inspiration from attribution methods to design an integratedgradient criterion for estimating the importance of each DNN weight.•
We entwine the updates of the importance measurement within the ﬁne-tuning ﬂowchart topreserve the better DNN accuracy while pruning.•
The proposed approach, dubbed SInGE, achieves superior accuracy v
s. pruning ratio on
every tested dataset and architecture, compared with recent state-of-the-art approaches.
Related Work
2.1 Pruning
Pruning methods are often classiﬁed as either structured [25, 26, 27, 10, 28] (ﬁlters, channels orneurons are removed) or unstructured [15, 29, 30, 31] (single scalar weight values are set to zero).
In practice, the former offers straightforward implementation for inference and immediate runtimebeneﬁts but at the price of a lower number of parameters removed.
For instance, in GDP [32], weightsare pruned with a learned gate that zeroes-out some channels for easier pruning post-training.
In CCP[33], sparsity is achieved by evaluating the inter-channel dependency and the joint impact of prunedand preserved channels on the ﬁnal loss function.
In HAP [34], authors replace less sensitive channelsbased on the trace of the Hessian of predictive function with respect to the weights.
Generallyspeaking, these methods rely on deﬁning a criterion to estimate and compare the importance ofweights in the networks, and remove the least important such candidates.
A limitation of thesemethods is that the proposed criteria are usually only relevant within the neighborhood of the currentvalue for a considered weight, which can be problematic since abruptly setting this weight valuemight violate this locality principle.
In this work, we address this limitation by borrowing ideas fromthe DNN attribution ﬁeld.
2.2 Attribution
Attribution methods, also referred to as visual explanation methods [20, 21, 22, 23, 24] measurethe importance of each input feature on the prediction.
Their use was motivated by the need forexplainable models [19] as well as constrained learning [35].
We can classify attribution as eitherocclusion-based or gradient-based.
The latter usually offers satisfactory results at a much lower
| | ∇μ w ln | | | | ∇μ 2 w ln | | | | w ln | | | | μ w ln | | | | ∇ w ln | | | | μ 2 w ln | || | ∇μ w ln | | | | ∇μ 2 w ln | | | | w ln | | | | μ w ln | | | | ∇ w ln | | | | μ 2 w ln | | (a) (b) (c) | | ∇μ w ln | | | | ∇μ 2 w ln | | | | w ln | | | | μ w ln | | | | ∇ w ln | | | | μ 2 w ln | | computational cost.
Considering that most DNNs for classiﬁcation are derivable, Grad-CAM [36]computes the gradients of the predictive function with respect to feature maps and weights thesegradients by the features.
The resulting importance maps are then processed by a ReLU function toextract the features that should be increased in order to increase the value of the target class.
Anothergradient-based attribution of interest is Integrated-Gradients [24].
In this work, Sundararajan etal.
propose to sum the gradients of the predictive function with respect to the feature maps overa uniform path in the feature space between feature at hand and a reference point.
The resultingattribution maps are usually sharper than maps obtained by Grad-CAM.
In the proposed method, wedraw inspiration from these methods as we propose to integrate the (local) evolution of the pruningcriteria throughout a path going from the current weight value down to a baseline (zero) value.
Thisway, we can smoothly bring the most irrelevant weights down to zero even using intrinsically localcriteria such as gradients or gradients per weight norm products.
Methodology
Let F : D (cid:55)→ R n o be a feed forward neural network deﬁned over a domain D ⊂ R n i (e.g. thetraining dataset in most instances) and an output space R n o .
The operation performed by a layer f l ,for l ∈ { 1 , . . .
, L } , is deﬁned by the corresponding weight tensor W l ∈ A n l − 1 × n l where A is simply
R in the case of fully-connected layers and R k × k in the case of a k × k convolutional layer.
For thesake of simplicity, we assume in what follows that A = R , i.e. we remove neurons as represented bytheir weight vectors.
3.1 Simple baseline pruning criteria
One major component of pruning methods lies in the deﬁnition of an importance measurement foreach neuron.
The most straightforward such criterion is based on the magnitude of the weight vectors.
In such a case, the importance criterion C L p based on the L p norm (cid:107) · (cid:107) p , is deﬁned as:
[Equation]
where W nl is the n th column of W l , corresponding to the weight values associated with the n th neuronof layer f l .
The transformation C L p operates layer per layer and independently of the rest of network
F and the domain D .
Intuitively, C L p assumes that the least important neurons are the smallest innorm because such neurons have a lower impact on the predictions of F .
Such a simple criterionhowever face limitations: consider for instance the two ﬁrst neurons (a) and (b) depicted in Figure1 by the purple stars in two-dimensional spaces as function of their magnitude and gradient normrespectively denoted (cid:107) W nl (cid:107) and (cid:107)∇ W nl (cid:107) , for simplicity.
However, we can clearly see how theselocal measurements provide a wrong evaluation of the cost of pruning these neurons.
In such a case, pruning according to C L p will remove neuron (a) regardless of the fact that the predictive function F will be very sensitive to small modiﬁcation of this neuron, as indicated by the large value of itsgradients.
This is however not the case with the gradient-based pruning criterion C ∇ p deﬁned as:
[Equation]
(2) where ∇ W nl F ( X ∈ D ) is the gradient of F with respect to W l , evaluated on X a sample from D .
Intuitively, the latter measurement puts more emphasis on neurons that can be modiﬁed withoutdirectly altering the predictive function F .
However, a neuron may have a low gradient norm and stillstrongly contribute to the predictive function, e.g. in the case where the weight is large as in the caseof neuron (b) on Figure 1.
To handle this, the norm × gradient criterion C L p ×∇ p straightforwardlycombines the best of both worlds:
[Equation]
3.2 Integrating gradients towards neuron removal
The importance criterion C L p ×∇ p in Equation (3) faces another kind of limitation.
due to the localnature of gradient information: if we consider neuron (b) on Figure 1, this neuron may initially( i.e. within a neighborhood of the purple star) have a low gradient norm or even low magnitudeper gradient norm product.
However, the gradient becomes larger as we bring this value down to 0.
This is due to the fact that ∇ W nl F ( X ∈ D ) only holds within a neighborhood of W nl current value,and abruptly setting this neuron weights to zero may very well violate this locality principle.
Thus,inspired from attribution methods, we propose a more global integrated gradient criterion.
Formally,for neuron n of a layer, l , we deﬁne I nl as the following integral:
[Equation]
Intuitively, we measure the cost of progressively decaying the weights of neuron n and integratingthe gradient norm throughout.
In practice, we approximate I nl with the following Riemann integral:
[Equation]
where µ ∈ ]0; 1[ denotes an update rate parameter.
C IG p approximates ( I nl ) n ∈{ 1 ,...,n l } up to amultiplicative constant.
Practically, this criterion measures the cost (as expressed by its gradients) ofprogressively bringing W n l down to 0 by S successive multiplication with the update rate parameterµ : the higher µ , the more precise the integration at the expanse of increasing number of computations
S .
Also note that, similarly to Equation 2, we can get rid of the weight magnitude term in Equation 5to obtain criterion C SG p , based on the sum of gradient norms.
Explicitly, we get C SG p : ( W l , F, D ) (cid:55)→ 145 (cid:16)(cid:80)
[Equation]
[Equation] [Equation] l } . In the case depicted on Figure 1, we will prune neuron(c) as its gradient quickly diminishes as its magnitude becomes lower, despite high initial values forboth magnitude and gradient.
Thus, the proposed integrated gradients criterion C IG p allows to takeinto account both the magnitude of a neuron’s weights and the sensitivity of the predictive functionw.r.t.
small (local) variations of these weights.
Furthermore, it measures the cost of removing thisneuron by smoothly decaying it, re-estimating the gradient value at each step, hence preserving thelocal nature of gradients.
3.3 Entwining neuron pruning and ﬁne-tuning
In order to preserve the accuracy of the network F , we alternate between removing the neurons andﬁne-tuning the pruned network using classical stochastic optimization updates.
More speciﬁcally,given ρ a global pruning target for the whole network F , we deﬁne layer-wise pruning objectives ( ρ l ) l ∈{ 1 ,...,L } such that (cid:80) Ll =
ρ l × Ω( W l ) = ρ × Ω( F ) where Ω( W l ) and Ω( F ) denote the number ofparameters in W l and F , respectively.
Similarly to [13], we tested several strategies for the per-layerpruning rates and kept their per-block strategy.
Then, we sequentially prune each layer, startingfrom the ﬁrst one, by ﬁrst evaluating the relevance of each neuron ( C IG p ( W l , F, D )) n ∈{ 1 ,...,n l } (withparameter µ ) in layer l .
We then rank the neurons by ascending numbers of importance and selectthe ﬁrst, least important one.
Notice at this point that if we remove neuron n we have to recomputethe criterion C IG p for all other neurons: in fact, during the ﬁrst pass, the gradients ∇ µ s W nl F ( X ∈ D )were computed with W nl (cid:54) =
and are bound to be altered with the removal of neuron n , thus affectingthe order of the n l − 1 remaining neuron importance.
Last but not least, once layer l is pruned, weperform O ﬁnetuning steps (which corresponds to O gradient descent optimization steps) to retainthe network accuracy.
This method, dubbed SInGE for S parsity via In tegrated G radients E stimationof neuron importance, is summarized in Algorithm 1. Algorithm 1 SInGE Algorithm
Require: neural network F , hyper-parameters : O , µ and ( ρ l ) l ∈{ 1 ,...,L } and dataset D for l ∈ { 1 , . . .
, L } do while pruning_rate ( W l ) ≤ ρ l do (cid:46) wait until we reach the goal evaluate M ← C IG p ( W l , F, D ) (cid:46) magnitude estimation
ﬁnd n = arg min { M } (cid:46) ﬁnd the neuron to prune set W nl ←(cid:46)
the pruning is performed here for o ∈ { 1 , . . .
, O } do ﬁnetune the whole network F over a batch from D end for end while end for
Empirically, as we show through a variety of experiments that the proposed integrated gradients-basedneuron pruning, along with efﬁcient entwined ﬁne-tuning allows to achieve superior accuracy vs.pruning rate trade-offs, as compared to existing methods.
Experiments
First, we introduce our experimental setup, including the datasets and architectures as well as theimplementation details to ensure reproducibility of the results.
Second, we validate our approachon Cifar10 dataset by showing the interest of the proposed integrated gradient criterion, as well asthe entwined pruning and ﬁne-tuning scheme.
We also compare our results with existing approacheson Cifar10.
Last but not least, we demonstrate the superior performance of our SInGE method onseveral architectures on ImageNet compared with state-of-the-art approaches for both structured andunstructured pruning.
4.1 Experimental setup
Datasets and Architectures: we evaluate our models on the two de facto standard datasets forarchitecture compression, i.e. Cifar10 [37] and ImageNet [38].
We use the standard evaluationmetrics for pruning, i.e. the % of removed parameters as well as the % of removed Floating-pointoperations (FLOPs).
We apply our approach on ResNet 56 ([1] with 852K parameters and accuracies93 .
46% ) on Cifar10 and ResNet 50 ([1] with 25M parameters and 76 .
17 accuracy on ImageNet), aswell as MobileNet v2 [39] backbone on ImageNet with 71 .
80 accuracy and 3.4M parameters.
Implementation Details: our implementations are based on tensorﬂow and numpy python libraries.
We measured the different pruning criteria using random batches X of 64 training images for both
Cifar10 and ImageNet and ﬁne-tuned the pruned models with batches of size 128 and 64 for Cifar10and ImageNet, respectively.
The number of optimization steps varies from 1 k to 5 k on Cifar10and from 5 k to 50 k on ImageNet, while the original models were trained with batches of size 128and stochastic gradient descent of 78 k and 2 m steps on Cifar10 and ImageNet, respectively.
Allexperiments were performed on NVidia V GPU.
We evaluate our approach both for structured and unstructured pruning : for the former we use µ =
9 and µ = for
ImageNet and Cifar [Table] respectively.
For unstructured pruning [Table] we use µ = 0 .
8 for ImageNet.
In all experiments weperformed batch-normalization folding from [40] and measured the pruning ratio using the samemetric as SOSP [41].
4.2 Empirical Validation
Pruning Criterion Validation: In Figure 2, we illustrate the evolution of (cid:13)(cid:13) ∇ µ s W nl F ( X ∈ D ) (cid:13)(cid:13) p(y axis)
as the magnitude (cid:107) µ s W nl (cid:107) p (x axis) is brought to 0.
This observation conﬁrms the limitationsof gradient-based criteria pinpointed in Section 3.2: as the neuron magnitude is progressively decayed,the gradient norm (e.g. yellow curves on both plots, as well as red on the left and blue one on theright plot) for these neurons rise signiﬁcantly, making these neurons bad choices for removal despitelow initial gradient values.
This empirical observation suggests that intuition behind the proposedcriterion C IG p is valid.
Table 1 draws a comparison between the different criteria introduced in
Section 3, applied to prune a ResNet 56 on Cifar10.
More speciﬁcally, given a percentage of removedoperations (or equivalently, percentage of removed parameters), we compare the resulting accuracy [Table] [Table] without ﬁne-tuning.
We observe similar trends for the 3 pruning targets: First, using euclidean normperforms slightly better than L 1 : thus, we set p = 2 in what follows.
Second, using gradient instead ofmagnitude-based criterion allows to signiﬁcantly improve the accuracy given a pruning target.
Third,the magnitude × gradient criterion C L 2 ×∇ 2 allows to better preserve the accuracy by combiningthe best of both worlds: for instance, with 85% parameters removed, applying C L 2 ×∇ 2 increasesthe accuracy by 51 .
97 points compared with C ∇ 2 .
However, those simple criteria face limitationsparticularly in the high pruning rate regime ( 90% parameters removed), where the accuracy of thepruned network falls to chance level.
Conversely, the proposed integrated gradient-based criteria
C SG 2 and, a fortiori C IG 2 allows to preserve high accuracies in such a case.
Overall, C IG 2 is the bestcriterion, allowing to preserve near full accuracy with both 85% and 85% removed parameters, and85 .
38% accuracy with 90% removed parameters, outperforming the second best method by 8 .
18points.
For this reason, we will use this criterion ( C IG 2 ) in the following experiments.
As the pruningrate increases, the cost of removing a neuron increases and any ill-advised selection of neuron toremove has a growing impact on the accuracy.
Consequently, the standard deviation increases as thepruning rate increases this is due to the network expressivity going down.
Fine-tuning Protocol Validation: Table
validates our entwined pruning and ﬁne-tuning approachwith different pruning targets and number of ﬁne-tuning steps.
Speciﬁcally, for a given total numberof ﬁne-tuning step, we either perform all these steps at once post-pruning or alternatively spread themevenly after pruning each layer in an entwined fashion, as described in Section 3.3.
First, we observethat simply increasing the number of ﬁne-tuning steps vastly improves the accuracy of the prunedmodel, particularly in the high % removed parameters regime.
Moreover, entwining pruning andﬁne-tuning performs consistently better than ﬁne tuning after pruning.
This suggests that recoveringthe accuracy is an easier task when performed frequently over small modiﬁcations rather than onceover a signiﬁcant modiﬁcation.
Comparison with state-of-the-art approaches on Cifar10: our approach relies on removing theleast important neurons, as indicated by criterion C IG 2 .
We compare with similar recent approachessuch as LP [42] and DPF [29] as well as other heuristics such as training neural networks in orderto separate neurons for easier pruning post-training (HAP [34], GDP [32]) or similarity removal(RED [13] or LDI [31]).
We report the results in Table 3 for two accuracy set-ups: lossless pruning(accuracy identical to the baseline model) and lossy pruning ( ≈ 2 points of accuracy drop).
Theproposed SInGE method signiﬁcantly outperforms other existing methods by achieving 1 . 3% higherpruning rate in the lossy setup and a considerable 8 . 1% improvement in lossless pruning rate.
Assuch, it bridges the gap with unstructured methods such as LP [42] and DPF [29].
This demonstratesthe quality of the proposed method.
[Table]
[Table]
4.3 Performance on ImageNet
Structured Pruning:
Table 4 summarizes results obtained by current state-of-the-art approachesin structured pruning.
For clarity we divided these results in the low (< 50% parameters removed,where the methods are often lossless) and high pruning regime (> 50% parameters removed withsigniﬁcant accuracy loss).
In the low pruning regime, the proposed SInGE method manages toremove slightly more than 50% parameters ( 57 .
35% FLOPS) with nearly no accuracy loss, whichsigniﬁcantly improves over existing approaches.
Second, in the high pruning regime, other methodssuch as OTO [43] and HAP [34] recently improved the pruning rates by more than 10 points overother techniques such as GDP [32] and SOSP [41].
Nonetheless, SInGE is competitive with thesemethods and achieve a higher FLOP reduction while maintaining a higher accuracy.
We also evaluated the proposed method on the more compact (thus generally harder to prune)
MobileNet V2 architecture.
Results and comparison with existing approaches are shown in Table 5.
We consider three pruning goals of ≈ 30% , ≈ 40% and ≈ 50% parameters removed.
First, with nearlossless pruning, we achieve results that are comparable to ManiDP-A [44] and Adapt-DCP [45] witha marginal improvement in accuracy.
Second, when targeting 40% parameters removed we improveby 0 .
89% the accuracy with 2.25% less parameters removed as compared to MDP [46].
Finally, inthe higher pruning rates, we improve by 0 .
25% the accuracy with marginally more parameters prunedthan Accs [47]. [Table] [Table]
Unstructured Pruning
[Table] being harder to leverage [Table] unstructured pruning usually enablessigniﬁcantly higher pruning rates.
Table 6 lists several state-of-the-art pruning methods evaluated on
ResNet 50.
We observe a common threshold in performance around 80% parameters and FLOPsremoved among state-of-the-art techniques.
However, the proposed SInGE method manages toachieve very good accuracy of 73.77% while breaking the barrier of pruning performance at 90%parameters removed and almost 87% FLOPs removed.
These results in addition to the previousexcellent results obtained on structured pruning conﬁrm the versatility of the proposed criterion andmethod for both structured and unstructured pruning.
Conclusion
In this paper, we pinpointed some limitations of some classical pruning criteria for assessing neuronimportance prior to removing them.
In particular, we showed that magnitude-based approaches did notconsider the sensitivity of the predictive function w.r.t.
this neuron weights, and that gradient-basedapproaches were limited to the locality of the measurements.
We drew inspiration on recent DNNattribution techniques to design a novel integrated gradients criterion, that consists in measuring theintegral of the gradient variation on a path towards removing each individual neuron.
Furthermore,we proposed to entwine this criterion within the ﬁne-tuning steps.
We showed through extensivevalidation that the proposed method, dubbed SInGE , achieved superior accuracy v.s. pruningratio as compared with existing approaches on a variety of benchmarks, including several datasets,architectures, and pruning scenarios.
Future work will involve combining our approach with existing similarity-based pruning methods aswell as with other DNN acceleration techniques, e.g. tensor decomposition or quantization techniques.
Checklist
For all authors...
(a) Do the main claims made in the abstract and introduction accurately reﬂect the paper’s contributions and scope?
[Yes] (b) Did you describe the limitations of your work?
[Yes]
(c) Did you discuss any potential negative societal impacts of your work?
[N/A]
(d) Have you read the ethics review guidelines and ensured that your paper conforms tothem?
[Yes]
If you are including theoretical results...
(a) Did you state the full set of assumptions of all theoretical results?
[N/A]
(b) Did you include complete proofs of all theoretical results?
[N/A]
If you ran experiments...
(a) Did you include the code, data, and instructions needed to reproduce the main experi- mental results (either in the supplemental material or as a URL)?
[No] (b) Did you specify all the training details (e
g., data splits, hyperparameters, how theywere chosen)?
[Yes]
(c) Did you report error bars (e g., with respect to the random seed after running experi- ments multiple times)?
[Yes] (d) Did you include the total amount of compute and the type of resources used (e
g., typeof GPUs, internal cluster, or cloud provider)?
[Yes]
If you are using existing assets (e
g., code, data, models) or curating/releasing new assets...
(a) If your work uses existing assets, did you cite the creators?
[Yes]
(b) Did you mention the license of the assets?
[Yes]
(c) Did you include any
(e) Did you discuss whether the data you are using/curating contains personally identiﬁable
[Table]
information or offensive content?
[N/A]
[Table]
If you used crowdsourcing or conducted research with human subjects...
[Table]
(a) Did you include the full text of instructions given to participants and screenshots, if
[Table]
applicable?
[N/A]
[Table]
(b) Did you describe any potential participant risks, with links to Institutional Review
[Table]
Board (IRB) approvals, if applicable?
[N/A]
[Table]
(c) Did you include the estimated hourly wage paid to participants and the total amount
[Table]
spent on participant compensation?
[N/A] [Table]