| … | … | @@ -288,4 +288,86 @@ for the lay audience. ... Which is good for the audience, but bad for |
| 288 | 288 | me, because I am repeating things I already know and believe, rather |
| 289 | 289 | than moving forwards.) |
| 290 | 290 | |
| 291 | | pairs. |
| 291 | Sound and Vision |
| 292 | ---------------- |
| 293 | Writing the above was procrastination for writing this section. But now |
| 294 | I'm so bored, I don't feel like writing this sectiion. Alas. |
| 295 | |
| 296 | The idea in a nutshell was to restart the jigsaw learning process, this |
| 297 | time not just for natural language, but also for vision and sound. |
| 298 | Perhaps for youtube video? |
| 299 | |
| 300 | The first few steps are easy enough. Say, vision. Create a blur filter, |
| 301 | maybe $n$ pixels in diameter. Pair counting would be to just randomly |
| 302 | place two such blur filters at random spots on a photograph, and compute |
| 303 | correlations. Or rather, mutual info (MI) between them. To make this go |
| 304 | faster, I could just create a 2D planar random network, vertices that |
| 305 | are $n$ pixels apart, overlay it on the photo, compute the blur at each |
| 306 | network vertex. This is trivially vectorized, as are the x,y locations |
| 307 | of each vertex. Sampling pairs is then sampling pairs out of this |
| 308 | vector. Can also do sampling in color space: RGB or HSV, pick one. The |
| 309 | size of the blur filter is an obvious variable. |
| 310 | |
| 311 | Sound would work similarly: sampling in frequency, intensity, maybe |
| 312 | chirp, of variable-sized windows. |
| 313 | |
| 314 | ### Agency and lack thereof. |
| 315 | So what? What does this accomplish? The trap here is that this turns |
| 316 | into "training". Feed a lot of data into a processing pipeline. After a |
| 317 | gazillion CPU-hours, something falls out. |
| 318 | |
| 319 | The problem is there is only sensori- and no -motor. I could give the |
| 320 | agent some control over, say, blur-filter size. But what motivates the |
| 321 | agent to experiment with blur filter size? What is it doing, except |
| 322 | being forced to dream? |
| 323 | |
| 324 | ### Rubiks |
| 325 | Adam proposed somethng slightly more agentic: solving the rubiks cube. |
| 326 | The agent can "see" all the facets of the cube, and the agent can apply |
| 327 | any of the basic moves, and see the resulting changes. The learning task |
| 328 | is to see if the agent can learn to solve the cube. |
| 329 | |
| 330 | How should I think of this? "Solving" is finding a set of moves that |
| 331 | take it from one (predeterimined, given) location in configuration |
| 332 | space to another (predetermined, requested) location in confidguration |
| 333 | space. To build a bridge, a sequence of moves, from one to the other. To |
| 334 | solve a certain constraint satisfaction problem. |
| 335 | |
| 336 | What should the agent do? I could tell it: "explore the universe of all |
| 337 | possible moves, and search for shortest paths from one configuration to |
| 338 | another". It would need to remember things that it tried. How do I, as |
| 339 | a programmer, encode positions? How do I give it efficient high-speed |
| 340 | search of memory of prior configurations and moves to get there? This |
| 341 | trns into an engineering task, where I do the difficult engineering, so |
| 342 | that a small and stupid agent can rapidly solve a Rubiks cube? I don't |
| 343 | think so. |
| 344 | |
| 345 | The original intent of posing the Rubiks problem was to see if the agent |
| 346 | could discover the axiomatic rules, the "physics" of it's very small |
| 347 | universe. But this does not line up with the word "axiom" as I defined |
| 348 | and used it in the earlier sections. I don't even know what it "means" |
| 349 | to discover the axioms of group theory in this context. |
| 350 | |
| 351 | The only upside, and it seems marginal, is that the agent has agency. It |
| 352 | can both see, and act, in this toy universe. |
| 353 | |
| 354 | ### Adversarial chess |
| 355 | Imagine a toy universe which consists of chess pieces, and chess moves. |
| 356 | Its also populated by a hostile god that plays black. The agent plays |
| 357 | white. The goal of agent training is to survive as long as possible. Its |
| 358 | Groundhog Day: whenever the white player dies, the chessboard resets, |
| 359 | and the agent can try again to best the black evil god that is out to |
| 360 | kill it. |
| 361 | |
| 362 | I'm not sure what to make of this variant. One obvious point: to get any |
| 363 | good, it would take lots and lots and lots of training. To get good, |
| 364 | fast, puts the onus on me, to invent, devise, and encode in software |
| 365 | some kind of algo that can learn chess quickly. Which puts me back into |
| 366 | the seat of being the "white god": the engineer developing complex code |
| 367 | that can help my guy learn to survive the onslaught of the evil black |
| 368 | god. This is not the engineering I want to do. |
| 369 | |
| 370 | Worse: it is also obvious that chess is effectively intractable for any |
| 371 | kind of naive learning algo. Most algos that you might pull out of some |
| 372 | random book on machine learning will take the age of the universe to |
| 373 | learn chess, and even so, so what? |