You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added meeting-9-agenda.md to nav and sync config.
Fresh pull of all 16 Google Docs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Solve the energy problem of AI. Similar mission to [[https://ml.energy/](https://ml.energy/)] .
53
+
54
+
Method
55
+
56
+
Blank slate rewrite. Draw on [[experience](https://docs.google.com/document/d/1PhArG_B1qrurqeXtqG41n_OorHw5J9kJcaZkhJOh7NU/edit?tab=t.0)] to prevent mistakes.
@@ -91,7 +105,7 @@ To avoid \-- remove as many boundaries as possible. At some point, the problem b
91
105
92
106
## Building for the wrong future
93
107
94
-
Building software for the wrong hardware can take a while to fix. Python still uses GIL, 20 years after multiple cores were introduced. B-tree/LST tree transition due to HDD-\>SSH transition was 10 years delayed ([[notebook](https://notebooklm.google.com/notebook/61ba75d6-72cb-4229-bc87-5af19f2ed778)]).
108
+
Building software for the wrong hardware can take a while to fix. Python still uses GIL, 20 years after multiple cores were introduced. B-tree/LST tree transition due to HDD-\>SSD transition was 10 years delayed ([[notebook](https://notebooklm.google.com/notebook/61ba75d6-72cb-4229-bc87-5af19f2ed778)]).
95
109
96
110
The field of deep learning settled on the core algorithms in the 1980s when we had 1 thread and computation was the primary bottleneck. Today, the bottleneck is memory.
Yad: [[Setup Sutro Yaro with Claude Code \| Sparse Parity](https://www.youtube.com/watch?v=h8dAU8yngxM)][[survey](https://cybertronai.github.io/SutroYaro/research/survey/)][[github](https://github.com/cybertronai/SutroYaro)]
146
+
Yad: [[Setup Sutro Yaro with Claude Code \| Sparse Parity](https://www.youtube.com/watch?v=h8dAU8yngxM)][[survey](https://0bserver07.github.io/SutroYaro/research/survey/)][[github](https://github.com/0bserver07/SutroYaro)]
Copy file name to clipboardExpand all lines: docs/google-docs/how-to-search.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,3 +81,15 @@ Click \"export chat history\", it'll save it to \"messages.html\"
81
81
2.(optional) Use [[parse_telegram](https://drive.google.com/file/d/1NlGREDBJM7QXw_rmgSwsxdPiiCce3SFg/view?usp=sharing)] script to make the file smaller
82
82
83
83
3. Drag the file to Gemini and ask your query
84
+
85
+
1. Export archive. Click three verical dots[embedded image]
86
+
87
+
Click \"View group info\"
88
+
89
+
[embedded image]
90
+
91
+
Click \"export chat history\", it'll save it to \"messages.html\"
92
+
93
+
2.(optional) Use [[parse_telegram](https://drive.google.com/file/d/1NlGREDBJM7QXw_rmgSwsxdPiiCce3SFg/view?usp=sharing)] script to make the file smaller
from [[energy-efficient learning](https://docs.google.com/document/d/1PhArG_B1qrurqeXtqG41n_OorHw5J9kJcaZkhJOh7NU/edit?tab=t.0#heading=h.cdeox1s0xsl1)]
Copy file name to clipboardExpand all lines: docs/google-docs/meeting-2-forward-forward.md
+100Lines changed: 100 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -733,6 +733,106 @@ Instead of a forward pass followed by a backward pass, the algorithm uses two fo
733
733
- The Negative Pass (Sleep): The network processes \"negative\" or \"hallucinated\" data (e.g., a hybrid image of a 7 and a 1, or an image with a wrong label). The objective is to minimize \"Goodness\".\
734
734
735
735
736
+
Key Technical Details:
737
+
738
+
- Goodness Function: Typically defined as the sum of squared neural activities (ReLU outputs) in a layer.\
739
+
740
+
- Greedy Layer-wise Learning: Each layer has its own objective function and updates its weights immediately, independent of the layers above or below it. This removes the need for a global error signal.\
741
+
+1\
742
+
743
+
- Normalization: To prevent activity from simply exploding to maximize goodness, the input vector to each layer is length-normalized. This forces the layer to learn from the orientation (spatial pattern) of the activity, not the magnitude.\
744
+
745
+
- Inference: For classification, the label is usually embedded into the input (e.g., a one-hot code in the corner). At inference, the network runs multiple passes---one for each possible label---and selects the label that accumulates the highest \"goodness\" score.\
During the discussion, the group likely identified several \"sticking points\" where the algorithm faces theoretical or practical hurdles:
754
+
755
+
#### A. The \"Negative Data\" Problem
756
+
757
+
- Question: How do we generate valid \"negative data\" for complex tasks?
758
+
- Concern: In the paper, Hinton uses spatial masks to stitch together MNIST digits. The group likely noted that generating high-quality negative data (that lies near the real data manifold but is clearly incorrect) is non-trivial for domains like NLP or Video. If the negative data is too easy (e.g., white noise), the network learns nothing; if it is too hard, the network fails to converge.
759
+
760
+
#### B. The \"Greedy\" Limitation
761
+
762
+
- Question: Does greedy, layer-wise training limit the depth of learning?
763
+
- Concern: Since Layer 1 optimizes its weights without feedback from Layer 10, it might discard information that seems useless locally but is critical for high-level abstraction. This contrasts with Backprop, which can credit-assign through depth.
764
+
- Critique: This effectively turns a Deep Net into a stack of shallow nets. Early experiments show FF struggles to match Backprop on datasets much complex than MNIST (like CIFAR-10) without specific hacks.
765
+
766
+
#### C. Inference Efficiency
767
+
768
+
- Question: Is this actually slower than Backprop?
769
+
- Concern: The inference method (running the forward pass \$N\$ times, once for each class label) scales poorly. For a 1000-class ImageNet task, this would be prohibitively slow compared to a single Softmax pass in standard networks.
770
+
771
+
#### D. Biological Plausibility vs. \"Hacks\"
772
+
773
+
- Question: Is Layer Normalization biologically plausible?
774
+
- Concern: The algorithm relies heavily on normalizing activity vectors between layers to prevent goodness leakage. Some members may have argued that this is just as biologically suspect as Backprop, as it requires a global calculation over the layer.
Based on the paper and the discussion, here are recommended next steps to deepen your understanding:
781
+
782
+
Conceptual & Theoretical:
783
+
784
+
- Read \"Mortal Computation\": Review Hinton's broader philosophy on \"Mortal Computation.\" It explains why he wants algorithms that run on analog hardware (where weights cannot be copied), which is the true use-case for FF.
785
+
- Compare with Predictive Coding: FF is often compared to Predictive Coding (PC). Look into the differences: FF maximizes/minimizes \"Goodness\" (Energy), while PC typically minimizes \"Prediction Error.\"\
786
+
+1\
787
+
788
+
789
+
Experimental (Coding Projects):
790
+
791
+
- Reproduce MNIST: Clone a simple PyTorch implementation.
792
+
793
+
<!---->
794
+
795
+
- Experiment: Visualize the \"Negative Data.\" Try changing the negative generation method (e.g., use random noise vs. permuted pixels) and observe how the accuracy collapses. This proves the algorithm relies entirely on the quality of the \"hallucinations.\"
796
+
797
+
<!---->
798
+
799
+
- The \"Sandwich\" Method: Address the inference speed concern by using FF to train the first 3 layers (as a feature extractor), freezing them, and then training a standard Linear Classifier (Softmax) on top using Backprop. This allows for \$O(1)\$ inference while still using FF for feature learning.
800
+
- Permutation Invariance Test: Flatten MNIST images and shuffle the pixels. Train an FF network on this. It often performs surprisingly well compared to ConvNets, highlighting that FF relies on global correlations rather than local geometry.
801
+
802
+
Advanced Reading:
803
+
804
+
- The Recurrent Extension: If the \"Greedy\" critique (Point B) was a major concern, read the specific section of the paper on Recurrent Forward-Forward. Hinton proposes treating static images as a video sequence, allowing later layers to send feedback to earlier layers over time, which theoretically solves the greedy limitation.\
805
+
806
+
This is a detailed summary of the reading group discussion regarding Geoffrey Hinton's \"The Forward-Forward Algorithm: Some Preliminary Investigations.\"
807
+
808
+
This summary synthesizes the paper's core claims with the common critiques, questions, and follow-up topics that typically arise in technical deep dives on this work.
Title: The Forward-Forward Algorithm: Some Preliminary Investigations (Hinton, 2022)
815
+
816
+
Core Motivation:
817
+
818
+
The paper proposes an alternative to Backpropagation (BP). Hinton argues that BP is flawed as a model of biological learning and effectively blocks the development of energy-efficient analog hardware.
819
+
820
+
+1
821
+
822
+
- Bio-Implausibility: The brain cannot \"freeze\" neural activity to propagate error derivatives backward, nor does it have the symmetric connectivity required to send errors back through the same synapses used for the forward pass.\
823
+
824
+
- Hardware Constraints: BP requires perfect knowledge of the forward pass to compute derivatives. This prevents the use of analog or \"black box\" hardware (which is variable and noisy) and prevents \"pipelining\" (processing a continuous stream of data) because the network must wait for the backward pass.\
825
+
826
+
827
+
The Mechanism (Forward-Forward):
828
+
829
+
Instead of a forward pass followed by a backward pass, the algorithm uses two forward passes with opposing objectives.
830
+
831
+
- The Positive Pass (Wake): The network processes \"real\" data (e.g., an image of a 7 combined with the label 7). The objective is to maximize \"Goodness\" (neural activity) in every layer.\
832
+
833
+
- The Negative Pass (Sleep): The network processes \"negative\" or \"hallucinated\" data (e.g., a hybrid image of a 7 and a 1, or an image with a wrong label). The objective is to minimize \"Goodness\".\
834
+
835
+
736
836
Key Technical Details:
737
837
738
838
- Goodness Function: Typically defined as the sum of squared neural activities (ReLU outputs) in a layer.\
0 commit comments