Deepity
Ultra-fast, SIMD-accelerated Predictive Coding
Loading...
Searching...
No Matches
DirectKPPCLayer.h File Reference

Direct Kolen-Pollack predictive coding layer, routed through IComputeBackend. More...

#include <deepity/backend/IComputeBackend.h>
#include <deepity/layers/Layer.h>
#include <deepity/utils/Activations.h>
#include <deepity/utils/AdamOptimizer.h>
#include <deepity/utils/DeviceMemoryArena.h>
#include <deepity/utils/MemoryArena.h>
#include <map>
#include <memory>
#include <random>
#include <vector>

Go to the source code of this file.

Classes

class  Deep::DirectKPPCLayer
 Predictive Coding layer using Direct Kolen-Pollack feedback alignment (DFA): a per-layer feedback matrix Psi, trained to gradually correlate with W's transpose chain, replaces symmetric weight transport for the feedback term. See DirectKPPCNetwork.h's class docs and the paper's Appendix A.1. More...

Namespaces

namespace  Deep
 This file exists to provide both Tensor.h and IComputeBackend.h with device types without introducing circular dependencies.

Detailed Description

Direct Kolen-Pollack predictive coding layer, routed through IComputeBackend.

Note
As of this revision, ComputeMuOnly()'s bias-add and UpdateWeights()'s bias-gradient accumulation both go through AddBiasBroadcast()/SumRows() instead of a per-batch-row AxpyInto loop – same fix SimplePCLayer already had, ported here. biasGradScratch is a new, small (nextSize-length) buffer allocated unconditionally (regardless of optimizer) specifically for the SGD branch's accumulate-not-overwrite bias update, which SumRows alone can't do.