Skip to content

Commit 4f31258

Browse files
0bserver07claude
andcommitted
Sync Meeting #9 agenda, re-sync Google Docs
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>
1 parent dd82669 commit 4f31258

18 files changed

Lines changed: 970 additions & 25 deletions

docs/google-docs/bigger-picture.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,20 @@ Raw Thoughts
4545

4646
([[planning-sprint1.txt](https://drive.google.com/open?id=1Q2y9pdU4cT4Wn0MBE63XoSeg1xDbgwR-&usp=drive_fs)], [[planning-sprint2.txt](https://drive.google.com/open?id=1NmYwxYazoV5pXXEpV9D6I8J5iP9HB1fb&usp=drive_fs)], [[plannint-spring3.txt](https://drive.google.com/file/d/1xYjR7S4iSG0UeVRZzr-AS72FdsjQ4L-B/view?usp=sharing)], [[gemini](https://gemini.google.com/share/bef3c777a11b)])
4747

48+
Yaroslav Sutro planning sprint #1
49+
50+
Objective
51+
52+
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.
57+
58+
Raw Thoughts
59+
60+
([[planning-sprint1.txt](https://drive.google.com/open?id=1Q2y9pdU4cT4Wn0MBE63XoSeg1xDbgwR-&usp=drive_fs)], [[planning-sprint2.txt](https://drive.google.com/open?id=1NmYwxYazoV5pXXEpV9D6I8J5iP9HB1fb&usp=drive_fs)], [[plannint-spring3.txt](https://drive.google.com/file/d/1xYjR7S4iSG0UeVRZzr-AS72FdsjQ4L-B/view?usp=sharing)], [[gemini](https://gemini.google.com/share/bef3c777a11b)])
61+
4862
# Mistakes
4963

5064
1. Too simple of an objective
@@ -91,7 +105,7 @@ To avoid \-- remove as many boundaries as possible. At some point, the problem b
91105

92106
## Building for the wrong future
93107

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)]).
95109

96110
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.
97111

@@ -129,7 +143,7 @@ Examples
129143

130144
Yaroslav: [[Yaroslav Sutro technical sprint #1 02mar26](https://docs.google.com/document/d/1344Vld2n9-8B-OfeeqI5sP9fqPYCLQTglc9pSAmeeEM/edit?tab=t.0)], [[Yaroslav Verification Sprint #1](https://docs.google.com/document/d/1jNN7NOssLRjrF6H0DGN61q5nGtuZVwnOwiTiLLToj7M/edit?tab=t.0)]
131145

132-
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)]
133147

134148
Michael: [[sutro_challenge_3_sparce parity results.docx](https://docs.google.com/document/d/13uAQfG_ola3vt1hHFo3A8ThUeV-nBVQK/edit)]
135149

docs/google-docs/challenge-1-sparse-parity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ Can modern AI
115115

116116
===============================================================================
117117

118-
Yad's repro using Claude Code [[https://github.com/cybertronai/SutroYaro](https://github.com/cybertronai/SutroYaro)]
118+
Yad's repro using Claude Code [[https://github.com/0bserver07/SutroYaro](https://github.com/0bserver07/SutroYaro)]
119119

120120
Germain's summary:
121121

docs/google-docs/how-to-search.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,15 @@ Click \"export chat history\", it'll save it to \"messages.html\"
8181
2.(optional) Use [[parse_telegram](https://drive.google.com/file/d/1NlGREDBJM7QXw_rmgSwsxdPiiCce3SFg/view?usp=sharing)] script to make the file smaller
8282

8383
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
94+
95+
3. Drag the file to Gemini and ask your query

docs/google-docs/meeting-1-energy-intro.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,40 @@ AI links (local to yaroslav)
275275

276276
[4. Picture]
277277

278+
AI links (local to yaroslav)
279+
280+
[[https://gemini.google.com/app/baf86fdafcaac3af](https://gemini.google.com/app/baf86fdafcaac3af)]
281+
282+
[[https://gemini.google.com/app/5c855e3a869d19cf](https://gemini.google.com/app/5c855e3a869d19cf)]
283+
284+
[[https://chatgpt.com/c/6970003e-4114-8333-86a8-71a8a0e97b23](https://chatgpt.com/c/6970003e-4114-8333-86a8-71a8a0e97b23)]
285+
286+
[Link to \"Slides\"]
287+
288+
[Meeting notes summary]
289+
290+
[Host: Yaroslav Bulatov]
291+
292+
[Jackjack Ganbold \@JackJack]
293+
294+
[Jonathan Belay (@Jonathan Belay )]
295+
296+
[Anish Tondwalkar]
297+
298+
[Seth Stafford]
299+
300+
[Caleb Sirak]
301+
302+
[Anushka Deshpande]
303+
304+
[Daria Soboleva]
305+
306+
[2. Companies & Named Entities]
307+
308+
[3. Key Topics & Tidbits]
309+
310+
[4. Picture]
311+
278312
# Link to \"Slides\"
279313

280314
from [[energy-efficient learning](https://docs.google.com/document/d/1PhArG_B1qrurqeXtqG41n_OorHw5J9kJcaZkhJOh7NU/edit?tab=t.0#heading=h.cdeox1s0xsl1)]

docs/google-docs/meeting-2-forward-forward.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,106 @@ Instead of a forward pass followed by a backward pass, the algorithm uses two fo
733733
- 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\".\
734734

735735

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.\
746+
+1\
747+
748+
749+
------------------------------------------------------------------------
750+
751+
### 2. Summarized Questions and Concerns
752+
753+
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.
775+
776+
------------------------------------------------------------------------
777+
778+
### 3. Follow-up Points & To-Dos
779+
780+
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.
809+
810+
------------------------------------------------------------------------
811+
812+
### 1. Detailed Summary of the Paper
813+
814+
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+
736836
Key Technical Details:
737837

738838
- Goodness Function: Typically defined as the sum of squared neural activities (ReLU outputs) in a layer.\

0 commit comments

Comments
 (0)