Hi,
I’m trying to understand how the ab initio reconstruction algorithm in CryoSPARC works, and I have a couple of queries.
In the guide, it is explained thusly:
But in the paper, branch and bound is only mentioned in the context of heterogeneous and homogeneous refinement to high resolution - it is not mentioned as being involved in ab initio as all - ab initio is explained as being entirely SGD based, unless I am misreading something. Did it change between the initial paper and the current implementation?
Also, how are the initial and maximum resolution parameters handled in ab initio? In the GUI, these are described as “initial frequency to consider” and “final frequency to consider”.
Presumably this means the resolution up to this value - so if I use an initial resolution of 7 Å, all information up to 7 Å (say 100-7Å) will be considered in the initial phases of ab initio?
Cheers
Oli
1 Like
Hi @olibclarke, thanks for your question. I think it may help to clarify that BnB and SGD solve different problems: BnB is only a way to compute pose alignments between the images and a reference and can be used any time pose alignment is needed, whereas SGD only provides a method for updating a 3D reference given particles and their poses. The two methods are independent, in the sense that an overall 3D reconstruction process could use any method for pose alignment (e.g. brute force search, local search, amortized inference, etc), and any method for updating the 3D reference (e.g. expectation maximization, batch gradient descent, other variations of SGD like ADAM or VDAM, etc). So Ab-initio reconstruction is entirely SGD based, in that it uses only the SGD rule for updating the density (by computing the gradient) - and that has been unchanged since the original paper.
In the 2017 paper, we found that SGD is the critical ingredient for getting 3D reconstruction to work ab-initio, with the other important components described in the paper and supplementary materials.
The method of doing pose alignment (i.e., how to compute the integral in the supplementary materials equation 7) is a different question, which ends up being the crux of how to reduce the computational expense of refinements. In the paper we didn’t go into detail about how pose alignment is computed in ab-initio reconstruction; we use BnB for that as well, as explained in the guide, since it dramatically reduces the cost of pose alignment. Since the 2017 CryoSPARC paper, others (e.g. in RELION) have implemented their own related reconstruction methods that use SGD or variations of SGD for the update, but do pose alignment in their own way, and have found again that SGD is the critical ingredient for ab-initio reconstruction to work.
Regarding initial and maximum resolutions, yes: these resolutions are hard cutoffs in Fourier space that determine up to which Fourier radius do we compute the gradient or update the volume. So whatever the resolution/radius is (which you can also see in the event log for each iteration), that is the maximum resolution of information considered by that iteration of ab-initio reconstruction.
Hope that helps!
4 Likes
One more query sorry Ali - in the 2017 paper, it is stated that momentum (µ) is fixed at 0.9 during SGD. But in the GUI, the “SGD Momentum” parameter is set to 0. Is this actually 0, or does 0 in this instance correspond to “unset” (with the default value of 0.9 being used)?
Also what is the sparsity prior - I have assumed that this is a hyperparameter biasing towards a uniform distibution of views for any given class, is this broadly correct?