https://github.com/namin/communication-bootstrapping-v1
appendix of Jake Beal's master thesis (2002)
https://github.com/namin/communication-bootstrapping-v1
ai communication-bootstrapping paper-implementations python scheme
Last synced: 9 months ago
JSON representation
appendix of Jake Beal's master thesis (2002)
- Host: GitHub
- URL: https://github.com/namin/communication-bootstrapping-v1
- Owner: namin
- Created: 2018-04-23T01:46:49.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-09-25T02:45:23.000Z (almost 3 years ago)
- Last Synced: 2025-02-09T01:44:24.252Z (over 1 year ago)
- Topics: ai, communication-bootstrapping, paper-implementations, python, scheme
- Language: Scheme
- Size: 25.4 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Communication Bootstrapping v1.0
(An exercise in software archaeology.)
This is a modernized transcription of the code from the appendix of
[Jake Beal](http://jakebeal.com/)'s
[master's thesis (2002)](https://groups.csail.mit.edu/mac/projects/amorphous/paperlisting.html#beal-masters) and
[AI Memo (2001)](https://dspace.mit.edu/bitstream/handle/1721.1/6082/AIM-2001-016.pdf?sequence=2),
which implements [_A Robust Algorithm for Bootstrapping Communications_](https://groups.csail.mit.edu/mac/projects/amorphous/Bootstrap/).
In Jake Beal's [PhD thesis (2007)](http://web.mit.edu/jakebeal/www/Publications/LearningByLearningToCommunicate.pdf), _Learning by Learning to Communicate_, this algorithm is referred to as _Communication Bootstrapping v1.0_. A follow up by Jake Beal and Gerry Sussman is [_Engineered Robustness by Controlled Hallucinations_](https://web.archive.org/web/20211024190753/http://aaai.org/Papers/Symposia/Fall/2008/FS-08-06/FS08-06-002.pdf) ([code](https://github.com/namin/hallucinations)).
Runs in [Chez Scheme](https://cisco.github.io/ChezScheme/):
```scheme
(load "main.scm")
(test (train))
```
The python script, ran as `python ml_bootcomm.py`, re-creates the problem and solution delegating the learning to multi-layer perceptrons using pytorch. Communication is plugging in the encoder and decoder of two distinct autoencoders. The encoding of the sentence is a multi-hot encoding of the phrase parts, but in the spirit of the problem here, the encoding is dynamically set as the phrase parts are discovered.