Papers › Optimizing Neural Networks with Kronecker-factored Approximate Curvature
Optimizing Neural Networks with Kronecker-factored Approximate Curvature
James Martens, Roger Grosse
We propose an efficient method for approximating natural gradient descent in neural networks which we call Kronecker-Factored Approximate Curvature (K-FAC). K-FAC is based on an efficiently invertible approximation of a neural network's Fisher information matrix which is neither diagonal nor low-rank, and in some cases is completely non-sparse. It is derived by approximating various large blocks of the Fisher (corresponding to entire layers) as being the Kronecker product of two much smaller matrices. While only several times more expensive to compute than the plain stochastic gradient, the updates produced by K-FAC make much more progress optimizing the objective, which results in an algorithm that can be much faster than stochastic gradient descent with momentum in practice. And unlike some previously proposed approximate natural-gradient/Newton methods which use high-quality non-diagonal curvature matrices (such as Hessian-free optimization), K-FAC works very well in highly stochastic optimization regimes. This is because the cost of storing and inverting K-FAC's approximation to the curvature matrix does not depend on the amount of data used to estimate it, which is a feature typically associated only with diagonal or low-rank approximations to the curvature matrix.
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1503.05671")
Code
Syntology Ran 41 of 82 code samples harvested from 11 repositories linked to this paper; 41 have no recorded run. Of those that ran: 5 ran · honoured contract; 5 ran · our draft was wrong; 3 ran · fixture could not drive it; 28 ran with no contract checked.
By repository: community (archive-listed): 82 samples from 11 repositories, 41 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
19 repositories listed; official and paper-mentioned ones first.
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
82 samples harvested; 41 ran; 5 honoured the contract we drafted; 41 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.
Licence: 7 of the 82 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.
Harvested from 11 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.
Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.
Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.
2ff2e376a2e4158e · report
956d8974e23f92f3 · report
10d89b5231aec8dd · report
fac8035472c63fd0 · report
6c5a83bcb01d90ef · report
ef68f197dff83678 · report
35bc89f50dd7af53 · report
6f1cfe87e0178123 · report
a499441a745f94d9 · report
3bbd96efbe01a300 · report
576826a57eb08cdf · report
a477c7c01eaf05d4 · report
01151fe74bd4e116 · report
95bd77b76182deff · report
fab0128d2bc80b44 · report
ed328a08fd23b966 · report
bd91cdd76a94bc85 · report
f69b4478b2e83746 · report
b213da7adb946c6e · report
f7fcbbda3360ca21 · report
ebbc685253da02be · report
5f7fa87fab943a2f · report
140e25fc006243dc · report
60eb09385fc152ec · report
03bd0815719fb6ce · report
85b2fa0f8cf49ed9 · report
987e113518340066 · report
dc1b986b1be917d4 · report
42474a82097165d1 · report
b4fe97f4f4ba63e8 · report
0d56665a6e4fc981 · report
5d894a6e01e35d3c · report
3278f8b9bebda5c0 · report
8ca46141b763e7bb · report
1762f497470285d1 · report
8f96d29b7dd6bd0b · report
7222c121f3477ba0 · report
91a213d003b54394 · report
644afb931715ec36 · report
0ce2b352cc049e18 · report
a485499e9e91edac · report
35284deabd2168da · report
2041a0308d51063e · report
1b60c10748712a31 · report
2b1c0c841481916b · report
0d8033af1549fa2c · report
c03b72239a4f4bcb · report
7500eb60962601d5 · report
173f7a31889b7f5f · report
5a78d2378b246eb6 · report
b57f5f260d76a226 · report
8bec7b9650c29e3e · report
16eaade9680fa2ad · report
3e2d90ec122104bf · report
3d4c518301416d42 · report
1bbae6feabfcad70 · report
6280cb432e87ea68 · report
1cc50e98ce497b16 · report
1bbbaed0ca4090a5 · report
1cdcc4d4bc82139e · report
38b41a92b445502a · report
e11d297317fb9e0e · report
0ac45f5d4f3b5658 · report
2427358607a8c69b · report
cb390870817a6192 · report
06228e7955b6d2c6 · report
8736dad71a50a6bf · report
f75ed1a89da1e5fb · report
b41e5f00bb583818 · report
9245cd1b6ec2f686 · report
dae13d996f619373 · report
c9d2562d5cee3815 · report
2597244a6585acd2 · report
14e10e479569a361 · report
b4a5e9703e6605e1 · report
9857d3fe0bcde444 · report
75d2010849cfb391 · report
51a29ce1d20b6e08 · report
ee339b16cfba7ff0 · report
9682f590ed4212ee · report
da37ff58ebeb1932 · report
8289f23af3cf86d4 · report
Tasks
Results from the paper archive 2025-07-28
No leaderboard rows for this paper in the archive.
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections