diff --git a/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/phase1.log b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/phase1.log new file mode 100644 index 00000000..65da7441 --- /dev/null +++ b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/phase1.log @@ -0,0 +1,11 @@ +Phase 1 Acquire for brain_counterintuitive: https://youtu.be/cDxtFtoQVNc +Artifacts: C:\projects\manual_slop\conductor\tracks\video_analysis_brain_counterintuitive_20260621\artifacts +Step 1: extract_transcript (yt-dlp VTT directly) + OK: wrote C:\projects\manual_slop\conductor\tracks\video_analysis_brain_counterintuitive_20260621\artifacts\transcript.json (713 segments) +Step 2: download_video + OK: wrote C:\projects\manual_slop\conductor\tracks\video_analysis_brain_counterintuitive_20260621\artifacts\video.mp4 (183096298 bytes) +{ + "status": "ok", + "video_path": "C:\\projects\\manual_slop\\conductor\\tracks\\video_analysis_brain_counterintuitive_20260621\\artifacts\\video.mp4", + "transcript_path": "C:\\projects\\manual_slop\\conductor\\tracks\\video_analysis_brain_counterintuitive_20260621\\artifacts\\transcript.json" +} diff --git a/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/transcript.json b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/transcript.json new file mode 100644 index 00000000..7b544bda --- /dev/null +++ b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/transcript.json @@ -0,0 +1,5007 @@ +{ + "video_id": "cDxtFtoQVNc", + "segments": [ + { + "start": 0.0, + "duration": 0.0, + "text": "You<00:00:00.400> know,<00:00:00.880> there<00:00:01.040> is<00:00:01.200> something<00:00:01.640> miraculous" + }, + { + "start": 2.31, + "duration": 0.0, + "text": "You know, there is something miraculous" + }, + { + "start": 2.32, + "duration": 0.0, + "text": "You know, there is something miraculous happening<00:00:02.800> in<00:00:02.920> your<00:00:03.080> brain<00:00:03.440> right<00:00:03.680> now." + }, + { + "start": 4.79, + "duration": 0.0, + "text": "happening in your brain right now." + }, + { + "start": 4.8, + "duration": 0.0, + "text": "happening in your brain right now. Close<00:00:05.200> your<00:00:05.480> eyes." + }, + { + "start": 6.39, + "duration": 0.0, + "text": "Close your eyes." + }, + { + "start": 6.4, + "duration": 0.0, + "text": "Close your eyes. I<00:00:06.480> want<00:00:06.720> you<00:00:06.800> to<00:00:07.000> think<00:00:07.240> of<00:00:07.360> the<00:00:07.520> song<00:00:08.160> \"We<00:00:08.320> Will" + }, + { + "start": 8.59, + "duration": 0.0, + "text": "I want you to think of the song \"We Will" + }, + { + "start": 8.6, + "duration": 0.0, + "text": "I want you to think of the song \"We Will Rock<00:00:08.880> You\"<00:00:09.120> by<00:00:09.320> Queen." + }, + { + "start": 10.63, + "duration": 0.0, + "text": "Rock You\" by Queen." + }, + { + "start": 10.64, + "duration": 0.0, + "text": "Rock You\" by Queen. Chances<00:00:11.120> are<00:00:11.520> you<00:00:11.640> can<00:00:11.840> hear<00:00:12.160> it<00:00:12.320> in<00:00:12.400> your" + }, + { + "start": 12.59, + "duration": 0.0, + "text": "Chances are you can hear it in your" + }, + { + "start": 12.6, + "duration": 0.0, + "text": "Chances are you can hear it in your head.<00:00:13.520> But<00:00:13.880> here's<00:00:14.200> the<00:00:14.320> mystery.<00:00:15.280> Where<00:00:15.640> is" + }, + { + "start": 15.79, + "duration": 0.0, + "text": "head. But here's the mystery. Where is" + }, + { + "start": 15.8, + "duration": 0.0, + "text": "head. But here's the mystery. Where is it<00:00:15.920> coming<00:00:16.200> from?" + }, + { + "start": 17.11, + "duration": 0.0, + "text": "it coming from?" + }, + { + "start": 17.12, + "duration": 0.0, + "text": "it coming from? Your<00:00:17.400> eardrums<00:00:18.160> are<00:00:18.240> not<00:00:18.480> vibrating.<00:00:19.600> The" + }, + { + "start": 19.75, + "duration": 0.0, + "text": "Your eardrums are not vibrating. The" + }, + { + "start": 19.76, + "duration": 0.0, + "text": "Your eardrums are not vibrating. The outside<00:00:20.240> world<00:00:20.640> is<00:00:20.800> not<00:00:21.080> pushing<00:00:21.480> the<00:00:21.600> song" + }, + { + "start": 21.99, + "duration": 0.0, + "text": "outside world is not pushing the song" + }, + { + "start": 22.0, + "duration": 0.0, + "text": "outside world is not pushing the song into<00:00:22.240> your<00:00:22.400> brain.<00:00:23.320> You<00:00:23.480> are<00:00:23.640> generating<00:00:24.360> it" + }, + { + "start": 24.59, + "duration": 0.0, + "text": "into your brain. You are generating it" + }, + { + "start": 24.6, + "duration": 0.0, + "text": "into your brain. You are generating it internally." + }, + { + "start": 27.03, + "duration": 0.0, + "text": "internally." + }, + { + "start": 27.04, + "duration": 0.0, + "text": "internally. This<00:00:27.400> is<00:00:27.560> actually<00:00:28.040> one<00:00:28.240> of<00:00:28.320> the<00:00:28.480> fundamental" + }, + { + "start": 29.15, + "duration": 0.0, + "text": "This is actually one of the fundamental" + }, + { + "start": 29.16, + "duration": 0.0, + "text": "This is actually one of the fundamental tasks<00:00:29.840> that<00:00:30.040> the<00:00:30.160> brain<00:00:30.640> needs<00:00:30.880> to<00:00:30.960> perform," + }, + { + "start": 31.91, + "duration": 0.0, + "text": "tasks that the brain needs to perform," + }, + { + "start": 31.92, + "duration": 0.0, + "text": "tasks that the brain needs to perform, called<00:00:32.320> autonomous<00:00:32.920> pattern<00:00:33.280> generation." + }, + { + "start": 34.79, + "duration": 0.0, + "text": "called autonomous pattern generation." + }, + { + "start": 34.8, + "duration": 0.0, + "text": "called autonomous pattern generation. From<00:00:35.160> a<00:00:35.280> zebra<00:00:35.640> finch<00:00:36.240> singing<00:00:36.680> its<00:00:36.700> [music]" + }, + { + "start": 36.91, + "duration": 0.0, + "text": "From a zebra finch singing its [music]" + }, + { + "start": 36.92, + "duration": 0.0, + "text": "From a zebra finch singing its [music] song<00:00:37.640> to<00:00:37.840> a<00:00:37.960> pitcher<00:00:38.400> throwing<00:00:38.800> a<00:00:38.880> ball," + }, + { + "start": 39.75, + "duration": 0.0, + "text": "song to a pitcher throwing a ball," + }, + { + "start": 39.76, + "duration": 0.0, + "text": "song to a pitcher throwing a ball, brains<00:00:40.280> constantly<00:00:40.920> face<00:00:41.200> the<00:00:41.360> challenge<00:00:42.160> of" + }, + { + "start": 42.35, + "duration": 0.0, + "text": "brains constantly face the challenge of" + }, + { + "start": 42.36, + "duration": 0.0, + "text": "brains constantly face the challenge of learning<00:00:42.720> to<00:00:42.840> produce<00:00:43.640> precise<00:00:44.400> sequences<00:00:45.080> of" + }, + { + "start": 45.27, + "duration": 0.0, + "text": "learning to produce precise sequences of" + }, + { + "start": 45.28, + "duration": 0.0, + "text": "learning to produce precise sequences of neural<00:00:45.560> activity." + }, + { + "start": 47.31, + "duration": 0.0, + "text": "neural activity." + }, + { + "start": 47.32, + "duration": 0.0, + "text": "neural activity. So,<00:00:47.680> if<00:00:47.880> you<00:00:47.960> want<00:00:48.160> to<00:00:48.280> build<00:00:48.560> a<00:00:48.600> machine<00:00:49.320> that" + }, + { + "start": 49.51, + "duration": 0.0, + "text": "So, if you want to build a machine that" + }, + { + "start": 49.52, + "duration": 0.0, + "text": "So, if you want to build a machine that thinks<00:00:49.840> like<00:00:50.080> us,<00:00:50.920> we<00:00:51.080> have<00:00:51.320> to<00:00:51.480> solve<00:00:51.880> this" + }, + { + "start": 52.11, + "duration": 0.0, + "text": "thinks like us, we have to solve this" + }, + { + "start": 52.12, + "duration": 0.0, + "text": "thinks like us, we have to solve this specific<00:00:52.600> problem." + }, + { + "start": 53.79, + "duration": 0.0, + "text": "specific problem." + }, + { + "start": 53.8, + "duration": 0.0, + "text": "specific problem. How<00:00:53.960> do<00:00:54.080> we<00:00:54.280> build<00:00:54.600> a<00:00:54.720> box<00:00:55.360> that<00:00:55.600> generates" + }, + { + "start": 56.19, + "duration": 0.0, + "text": "How do we build a box that generates" + }, + { + "start": 56.2, + "duration": 0.0, + "text": "How do we build a box that generates complex<00:00:56.680> behavior<00:00:57.480> seemingly<00:00:58.160> out<00:00:58.360> of<00:00:58.480> thin" + }, + { + "start": 58.71, + "duration": 0.0, + "text": "complex behavior seemingly out of thin" + }, + { + "start": 58.72, + "duration": 0.0, + "text": "complex behavior seemingly out of thin air?" + }, + { + "start": 63.88, + "duration": 0.0, + "text": "In<00:01:04.040> the<00:01:04.120> previous<00:01:04.519> video,<00:01:04.960> we<00:01:05.120> saw<00:01:05.360> that" + }, + { + "start": 65.59, + "duration": 0.0, + "text": "In the previous video, we saw that" + }, + { + "start": 65.6, + "duration": 0.0, + "text": "In the previous video, we saw that standard<00:01:06.120> neural<00:01:06.360> networks<00:01:07.000> are<00:01:07.160> essentially" + }, + { + "start": 67.71, + "duration": 0.0, + "text": "standard neural networks are essentially" + }, + { + "start": 67.72, + "duration": 0.0, + "text": "standard neural networks are essentially static<00:01:08.200> machines<00:01:08.920> having<00:01:09.320> no<00:01:09.520> sense<00:01:09.880> of<00:01:10.040> time." + }, + { + "start": 71.03, + "duration": 0.0, + "text": "static machines having no sense of time." + }, + { + "start": 71.04, + "duration": 0.0, + "text": "static machines having no sense of time. To<00:01:11.160> fix<00:01:11.480> this,<00:01:11.920> we<00:01:12.080> introduced<00:01:12.640> recurrence," + }, + { + "start": 73.67, + "duration": 0.0, + "text": "To fix this, we introduced recurrence," + }, + { + "start": 73.68, + "duration": 0.0, + "text": "To fix this, we introduced recurrence, letting<00:01:14.040> neurons<00:01:14.720> feed<00:01:15.040> their<00:01:15.240> activity<00:01:15.760> back" + }, + { + "start": 76.15, + "duration": 0.0, + "text": "letting neurons feed their activity back" + }, + { + "start": 76.16, + "duration": 0.0, + "text": "letting neurons feed their activity back into<00:01:16.400> themselves." + }, + { + "start": 77.75, + "duration": 0.0, + "text": "into themselves." + }, + { + "start": 77.76, + "duration": 0.0, + "text": "into themselves. But<00:01:18.080> as<00:01:18.280> we<00:01:18.400> hinted,<00:01:19.080> there<00:01:19.240> is<00:01:19.360> another<00:01:19.720> way" + }, + { + "start": 79.91, + "duration": 0.0, + "text": "But as we hinted, there is another way" + }, + { + "start": 79.92, + "duration": 0.0, + "text": "But as we hinted, there is another way to<00:01:20.040> think<00:01:20.280> about<00:01:20.520> recurrence,<00:01:21.720> not<00:01:22.040> as<00:01:22.160> an" + }, + { + "start": 82.31, + "duration": 0.0, + "text": "to think about recurrence, not as an" + }, + { + "start": 82.32, + "duration": 0.0, + "text": "to think about recurrence, not as an engineering<00:01:22.960> fix,<00:01:23.720> but<00:01:23.960> as<00:01:24.080> a<00:01:24.200> fundamental" + }, + { + "start": 84.91, + "duration": 0.0, + "text": "engineering fix, but as a fundamental" + }, + { + "start": 84.92, + "duration": 0.0, + "text": "engineering fix, but as a fundamental property<00:01:25.520> of<00:01:25.680> a<00:01:25.720> dynamical<00:01:26.280> system." + }, + { + "start": 87.63, + "duration": 0.0, + "text": "property of a dynamical system." + }, + { + "start": 87.64, + "duration": 0.0, + "text": "property of a dynamical system. Think<00:01:27.920> of<00:01:28.040> it<00:01:28.280> like<00:01:28.440> a<00:01:28.520> swimming<00:01:29.000> pool.<00:01:29.520> You" + }, + { + "start": 89.71, + "duration": 0.0, + "text": "Think of it like a swimming pool. You" + }, + { + "start": 89.72, + "duration": 0.0, + "text": "Think of it like a swimming pool. You jump<00:01:30.000> in,<00:01:30.680> this<00:01:30.880> is<00:01:31.000> the<00:01:31.120> input.<00:01:31.880> You<00:01:32.080> make<00:01:32.360> a" + }, + { + "start": 92.39, + "duration": 0.0, + "text": "jump in, this is the input. You make a" + }, + { + "start": 92.4, + "duration": 0.0, + "text": "jump in, this is the input. You make a splash,<00:01:33.200> but<00:01:33.440> after<00:01:33.760> you<00:01:33.920> leave,<00:01:34.600> the<00:01:34.760> water" + }, + { + "start": 95.11, + "duration": 0.0, + "text": "splash, but after you leave, the water" + }, + { + "start": 95.12, + "duration": 0.0, + "text": "splash, but after you leave, the water doesn't<00:01:35.480> stop." + }, + { + "start": 96.83, + "duration": 0.0, + "text": "doesn't stop." + }, + { + "start": 96.84, + "duration": 0.0, + "text": "doesn't stop. The<00:01:37.040> ripples<00:01:37.440> you<00:01:37.600> generated<00:01:38.520> spread," + }, + { + "start": 99.23, + "duration": 0.0, + "text": "The ripples you generated spread," + }, + { + "start": 99.24, + "duration": 0.0, + "text": "The ripples you generated spread, reflect<00:01:39.800> off<00:01:40.040> the<00:01:40.160> walls,<00:01:40.800> and<00:01:41.000> interfere" + }, + { + "start": 101.55, + "duration": 0.0, + "text": "reflect off the walls, and interfere" + }, + { + "start": 101.56, + "duration": 0.0, + "text": "reflect off the walls, and interfere with<00:01:41.720> each<00:01:41.920> other,<00:01:42.480> creating<00:01:43.040> complex" + }, + { + "start": 103.55, + "duration": 0.0, + "text": "with each other, creating complex" + }, + { + "start": 103.56, + "duration": 0.0, + "text": "with each other, creating complex patterns." + }, + { + "start": 104.95, + "duration": 0.0, + "text": "patterns." + }, + { + "start": 104.96, + "duration": 0.0, + "text": "patterns. Essentially,<00:01:45.760> the<00:01:45.960> input<00:01:46.320> just<00:01:46.560> gave<00:01:46.800> the" + }, + { + "start": 106.91, + "duration": 0.0, + "text": "Essentially, the input just gave the" + }, + { + "start": 106.92, + "duration": 0.0, + "text": "Essentially, the input just gave the system<00:01:47.320> a<00:01:47.400> little<00:01:47.640> nudge,<00:01:48.480> but<00:01:48.680> the<00:01:48.800> water" + }, + { + "start": 109.11, + "duration": 0.0, + "text": "system a little nudge, but the water" + }, + { + "start": 109.12, + "duration": 0.0, + "text": "system a little nudge, but the water keeps<00:01:49.480> dancing<00:01:50.160> according<00:01:50.600> to<00:01:50.720> its<00:01:50.920> own" + }, + { + "start": 111.15, + "duration": 0.0, + "text": "keeps dancing according to its own" + }, + { + "start": 111.16, + "duration": 0.0, + "text": "keeps dancing according to its own internal<00:01:51.600> physics,<00:01:52.520> creating<00:01:53.040> a<00:01:53.160> kind<00:01:53.360> of" + }, + { + "start": 113.47, + "duration": 0.0, + "text": "internal physics, creating a kind of" + }, + { + "start": 113.48, + "duration": 0.0, + "text": "internal physics, creating a kind of memory<00:01:54.120> of<00:01:54.280> your<00:01:54.440> jump." + }, + { + "start": 116.11, + "duration": 0.0, + "text": "memory of your jump." + }, + { + "start": 116.12, + "duration": 0.0, + "text": "memory of your jump. Now,<00:01:56.640> we<00:01:56.800> know<00:01:57.040> that<00:01:57.280> brains<00:01:57.720> compute<00:01:58.280> with" + }, + { + "start": 118.43, + "duration": 0.0, + "text": "Now, we know that brains compute with" + }, + { + "start": 118.44, + "duration": 0.0, + "text": "Now, we know that brains compute with the<00:01:58.520> nerve<00:01:58.800> cells" + }, + { + "start": 119.99, + "duration": 0.0, + "text": "the nerve cells" + }, + { + "start": 120.0, + "duration": 0.0, + "text": "the nerve cells acting<00:02:00.440> as<00:02:00.720> individual<00:02:01.320> units<00:02:02.080> interacting" + }, + { + "start": 122.71, + "duration": 0.0, + "text": "acting as individual units interacting" + }, + { + "start": 122.72, + "duration": 0.0, + "text": "acting as individual units interacting with<00:02:02.880> each<00:02:03.040> other." + }, + { + "start": 124.43, + "duration": 0.0, + "text": "with each other." + }, + { + "start": 124.44, + "duration": 0.0, + "text": "with each other. In<00:02:04.520> a<00:02:04.600> way,<00:02:05.120> they<00:02:05.280> are<00:02:05.400> like<00:02:05.640> individual<00:02:06.240> water" + }, + { + "start": 126.51, + "duration": 0.0, + "text": "In a way, they are like individual water" + }, + { + "start": 126.52, + "duration": 0.0, + "text": "In a way, they are like individual water molecules<00:02:07.160> in<00:02:07.320> that<00:02:07.560> pool." + }, + { + "start": 129.31, + "duration": 0.0, + "text": "molecules in that pool." + }, + { + "start": 129.32, + "duration": 0.0, + "text": "molecules in that pool. Imagine<00:02:09.880> a<00:02:10.000> bucket<00:02:10.479> of<00:02:10.720> n<00:02:10.880> neurons,<00:02:11.720> say<00:02:12.160> a" + }, + { + "start": 132.23, + "duration": 0.0, + "text": "Imagine a bucket of n neurons, say a" + }, + { + "start": 132.24, + "duration": 0.0, + "text": "Imagine a bucket of n neurons, say a thousand<00:02:12.680> of<00:02:12.800> them." + }, + { + "start": 133.83, + "duration": 0.0, + "text": "thousand of them." + }, + { + "start": 133.84, + "duration": 0.0, + "text": "thousand of them. We'll<00:02:14.040> call<00:02:14.320> this<00:02:14.680> our<00:02:14.959> reservoir." + }, + { + "start": 136.47, + "duration": 0.0, + "text": "We'll call this our reservoir." + }, + { + "start": 136.48, + "duration": 0.0, + "text": "We'll call this our reservoir. Let's<00:02:16.840> connect<00:02:17.240> them<00:02:17.440> randomly." + }, + { + "start": 138.87, + "duration": 0.0, + "text": "Let's connect them randomly." + }, + { + "start": 138.88, + "duration": 0.0, + "text": "Let's connect them randomly. Some<00:02:19.080> connections<00:02:19.600> are<00:02:19.680> strong,<00:02:20.360> some<00:02:20.600> are" + }, + { + "start": 140.71, + "duration": 0.0, + "text": "Some connections are strong, some are" + }, + { + "start": 140.72, + "duration": 0.0, + "text": "Some connections are strong, some are weak." + }, + { + "start": 141.71, + "duration": 0.0, + "text": "weak." + }, + { + "start": 141.72, + "duration": 0.0, + "text": "weak. Some<00:02:21.920> positive,<00:02:22.480> some<00:02:22.640> negative.<00:02:23.480> It's<00:02:23.720> a<00:02:23.840> big" + }, + { + "start": 144.23, + "duration": 0.0, + "text": "Some positive, some negative. It's a big" + }, + { + "start": 144.24, + "duration": 0.0, + "text": "Some positive, some negative. It's a big tangled<00:02:24.760> mess." + }, + { + "start": 146.27, + "duration": 0.0, + "text": "tangled mess." + }, + { + "start": 146.28, + "duration": 0.0, + "text": "tangled mess. Let's<00:02:26.640> write<00:02:26.840> down<00:02:27.080> what<00:02:27.200> happens<00:02:27.640> to<00:02:27.840> a" + }, + { + "start": 147.949, + "duration": 0.0, + "text": "Let's write down what happens to a" + }, + { + "start": 147.959, + "duration": 0.0, + "text": "Let's write down what happens to a single<00:02:28.360> neuron<00:02:28.800> in<00:02:28.959> that<00:02:29.200> pool." + }, + { + "start": 150.35, + "duration": 0.0, + "text": "single neuron in that pool." + }, + { + "start": 150.36, + "duration": 0.0, + "text": "single neuron in that pool. At<00:02:30.480> each<00:02:30.640> moment,<00:02:31.400> its<00:02:31.640> state<00:02:32.240> is<00:02:32.400> determined" + }, + { + "start": 152.99, + "duration": 0.0, + "text": "At each moment, its state is determined" + }, + { + "start": 153.0, + "duration": 0.0, + "text": "At each moment, its state is determined by<00:02:33.200> where<00:02:33.440> it<00:02:33.640> was<00:02:34.000> a<00:02:34.080> moment<00:02:34.440> ago" + }, + { + "start": 155.39, + "duration": 0.0, + "text": "by where it was a moment ago" + }, + { + "start": 155.4, + "duration": 0.0, + "text": "by where it was a moment ago plus<00:02:35.720> the<00:02:35.880> incoming<00:02:36.520> ripples<00:02:37.120> from<00:02:37.400> all<00:02:37.640> other" + }, + { + "start": 157.87, + "duration": 0.0, + "text": "plus the incoming ripples from all other" + }, + { + "start": 157.88, + "duration": 0.0, + "text": "plus the incoming ripples from all other neurons." + }, + { + "start": 159.27, + "duration": 0.0, + "text": "neurons." + }, + { + "start": 159.28, + "duration": 0.0, + "text": "neurons. Here<00:02:39.560> our<00:02:39.680> w<00:02:40.160> i<00:02:40.280> j<00:02:40.840> is<00:02:41.040> the<00:02:41.160> strength<00:02:41.640> of<00:02:41.760> the" + }, + { + "start": 161.87, + "duration": 0.0, + "text": "Here our w i j is the strength of the" + }, + { + "start": 161.88, + "duration": 0.0, + "text": "Here our w i j is the strength of the connection<00:02:42.360> between<00:02:42.680> neurons<00:02:43.080> j<00:02:43.400> and<00:02:43.720> i,<00:02:44.360> and" + }, + { + "start": 164.55, + "duration": 0.0, + "text": "connection between neurons j and i, and" + }, + { + "start": 164.56, + "duration": 0.0, + "text": "connection between neurons j and i, and sigma<00:02:45.000> is<00:02:45.240> our<00:02:45.520> activation<00:02:46.040> function" + }, + { + "start": 167.15, + "duration": 0.0, + "text": "sigma is our activation function" + }, + { + "start": 167.16, + "duration": 0.0, + "text": "sigma is our activation function mimicking<00:02:47.600> how<00:02:47.920> a<00:02:48.040> real<00:02:48.360> neuron<00:02:48.720> only<00:02:49.040> fires" + }, + { + "start": 169.71, + "duration": 0.0, + "text": "mimicking how a real neuron only fires" + }, + { + "start": 169.72, + "duration": 0.0, + "text": "mimicking how a real neuron only fires once<00:02:50.040> its<00:02:50.240> input<00:02:50.560> voltage<00:02:51.000> crosses<00:02:51.520> a" + }, + { + "start": 171.59, + "duration": 0.0, + "text": "once its input voltage crosses a" + }, + { + "start": 171.6, + "duration": 0.0, + "text": "once its input voltage crosses a threshold." + }, + { + "start": 173.39, + "duration": 0.0, + "text": "threshold." + }, + { + "start": 173.4, + "duration": 0.0, + "text": "threshold. But<00:02:53.560> here's<00:02:53.840> the<00:02:53.920> catch." + }, + { + "start": 175.11, + "duration": 0.0, + "text": "But here's the catch." + }, + { + "start": 175.12, + "duration": 0.0, + "text": "But here's the catch. In<00:02:55.280> a<00:02:55.360> real<00:02:55.640> swimming<00:02:56.040> pool,<00:02:56.560> if<00:02:56.720> you<00:02:56.840> wait" + }, + { + "start": 177.19, + "duration": 0.0, + "text": "In a real swimming pool, if you wait" + }, + { + "start": 177.2, + "duration": 0.0, + "text": "In a real swimming pool, if you wait long<00:02:57.400> enough,<00:02:57.959> the<00:02:58.120> water<00:02:58.480> settles." + }, + { + "start": 179.67, + "duration": 0.0, + "text": "long enough, the water settles." + }, + { + "start": 179.68, + "duration": 0.0, + "text": "long enough, the water settles. The<00:02:59.840> friction<00:03:00.320> kills<00:03:00.640> the<00:03:00.800> energy<00:03:01.360> and<00:03:01.519> the" + }, + { + "start": 181.63, + "duration": 0.0, + "text": "The friction kills the energy and the" + }, + { + "start": 181.64, + "duration": 0.0, + "text": "The friction kills the energy and the ripples<00:03:02.040> die<00:03:02.280> out." + }, + { + "start": 183.35, + "duration": 0.0, + "text": "ripples die out." + }, + { + "start": 183.36, + "duration": 0.0, + "text": "ripples die out. Now,<00:03:03.560> mathematically,<00:03:04.440> this<00:03:04.680> friction<00:03:05.160> is" + }, + { + "start": 185.35, + "duration": 0.0, + "text": "Now, mathematically, this friction is" + }, + { + "start": 185.36, + "duration": 0.0, + "text": "Now, mathematically, this friction is actually<00:03:05.720> a<00:03:05.800> good<00:03:06.040> thing." + }, + { + "start": 186.667, + "duration": 0.0, + "text": "actually a good thing." + }, + { + "start": 186.677, + "duration": 0.0, + "text": "actually a good thing. >> [music]" + }, + { + "start": 186.83, + "duration": 0.0, + "text": ">> [music]" + }, + { + "start": 186.84, + "duration": 0.0, + "text": ">> [music] >> It<00:03:07.000> creates<00:03:07.480> stability." + }, + { + "start": 189.19, + "duration": 0.0, + "text": ">> It creates stability." + }, + { + "start": 189.2, + "duration": 0.0, + "text": ">> It creates stability. If<00:03:09.400> we<00:03:09.519> didn't<00:03:09.880> have<00:03:10.120> it,<00:03:10.480> if<00:03:10.640> we<00:03:10.760> cranked<00:03:11.160> up" + }, + { + "start": 191.27, + "duration": 0.0, + "text": "If we didn't have it, if we cranked up" + }, + { + "start": 191.28, + "duration": 0.0, + "text": "If we didn't have it, if we cranked up the<00:03:11.400> weights<00:03:11.880> too<00:03:12.080> high,<00:03:12.920> the<00:03:13.040> network<00:03:13.600> would" + }, + { + "start": 193.75, + "duration": 0.0, + "text": "the weights too high, the network would" + }, + { + "start": 193.76, + "duration": 0.0, + "text": "the weights too high, the network would generate<00:03:14.320> a<00:03:14.440> self-sustained<00:03:15.239> dance,<00:03:16.000> but<00:03:16.239> it" + }, + { + "start": 196.35, + "duration": 0.0, + "text": "generate a self-sustained dance, but it" + }, + { + "start": 196.36, + "duration": 0.0, + "text": "generate a self-sustained dance, but it would<00:03:16.519> be<00:03:16.720> chaotic." + }, + { + "start": 198.07, + "duration": 0.0, + "text": "would be chaotic." + }, + { + "start": 198.08, + "duration": 0.0, + "text": "would be chaotic. Chaos<00:03:18.480> here<00:03:18.920> means<00:03:19.360> a<00:03:19.440> sensitivity<00:03:20.200> to" + }, + { + "start": 200.35, + "duration": 0.0, + "text": "Chaos here means a sensitivity to" + }, + { + "start": 200.36, + "duration": 0.0, + "text": "Chaos here means a sensitivity to initial<00:03:20.720> conditions." + }, + { + "start": 202.75, + "duration": 0.0, + "text": "initial conditions." + }, + { + "start": 202.76, + "duration": 0.0, + "text": "initial conditions. If<00:03:23.000> a<00:03:23.080> single<00:03:23.480> neuron<00:03:23.880> misfired<00:03:24.560> by<00:03:24.720> a" + }, + { + "start": 204.79, + "duration": 0.0, + "text": "If a single neuron misfired by a" + }, + { + "start": 204.8, + "duration": 0.0, + "text": "If a single neuron misfired by a millisecond,<00:03:25.840> that<00:03:26.160> tiny<00:03:26.519> error<00:03:26.880> would" + }, + { + "start": 207.03, + "duration": 0.0, + "text": "millisecond, that tiny error would" + }, + { + "start": 207.04, + "duration": 0.0, + "text": "millisecond, that tiny error would explode<00:03:27.959> and<00:03:28.080> the<00:03:28.200> whole<00:03:28.360> pattern<00:03:28.840> would" + }, + { + "start": 208.99, + "duration": 0.0, + "text": "explode and the whole pattern would" + }, + { + "start": 209.0, + "duration": 0.0, + "text": "explode and the whole pattern would change.<00:03:29.959> You<00:03:30.120> can't<00:03:30.480> compute<00:03:31.040> with<00:03:31.200> an" + }, + { + "start": 211.31, + "duration": 0.0, + "text": "change. You can't compute with an" + }, + { + "start": 211.32, + "duration": 0.0, + "text": "change. You can't compute with an explosion." + }, + { + "start": 212.99, + "duration": 0.0, + "text": "explosion." + }, + { + "start": 213.0, + "duration": 0.0, + "text": "explosion. So,<00:03:33.239> we<00:03:33.400> tuned<00:03:33.720> the<00:03:33.800> network<00:03:34.320> to<00:03:34.480> have<00:03:34.800> what's" + }, + { + "start": 214.99, + "duration": 0.0, + "text": "So, we tuned the network to have what's" + }, + { + "start": 215.0, + "duration": 0.0, + "text": "So, we tuned the network to have what's called<00:03:35.239> an<00:03:35.480> echo<00:03:35.800> state<00:03:36.160> property." + }, + { + "start": 217.35, + "duration": 0.0, + "text": "called an echo state property." + }, + { + "start": 217.36, + "duration": 0.0, + "text": "called an echo state property. It<00:03:37.560> means<00:03:37.920> that<00:03:38.239> every<00:03:38.560> input<00:03:39.040> leaves<00:03:39.440> a" + }, + { + "start": 219.509, + "duration": 0.0, + "text": "It means that every input leaves a" + }, + { + "start": 219.519, + "duration": 0.0, + "text": "It means that every input leaves a temporary<00:03:40.160> trace,<00:03:41.040> an<00:03:41.280> echo<00:03:41.680> in<00:03:41.800> the" + }, + { + "start": 221.91, + "duration": 0.0, + "text": "temporary trace, an echo in the" + }, + { + "start": 221.92, + "duration": 0.0, + "text": "temporary trace, an echo in the network's<00:03:42.400> activity.<00:03:43.360> But<00:03:43.519> that<00:03:43.800> echo" + }, + { + "start": 224.15, + "duration": 0.0, + "text": "network's activity. But that echo" + }, + { + "start": 224.16, + "duration": 0.0, + "text": "network's activity. But that echo gradually<00:03:44.760> fades<00:03:45.239> over<00:03:45.480> time." + }, + { + "start": 227.19, + "duration": 0.0, + "text": "gradually fades over time." + }, + { + "start": 227.2, + "duration": 0.0, + "text": "gradually fades over time. But<00:03:47.360> this<00:03:47.600> brings<00:03:47.880> us<00:03:48.040> back<00:03:48.320> to<00:03:48.440> the<00:03:48.600> swimming" + }, + { + "start": 229.07, + "duration": 0.0, + "text": "But this brings us back to the swimming" + }, + { + "start": 229.08, + "duration": 0.0, + "text": "But this brings us back to the swimming pool<00:03:49.320> problem.<00:03:50.360> If<00:03:50.519> the<00:03:50.640> ripples<00:03:51.000> eventually" + }, + { + "start": 231.55, + "duration": 0.0, + "text": "pool problem. If the ripples eventually" + }, + { + "start": 231.56, + "duration": 0.0, + "text": "pool problem. If the ripples eventually die<00:03:51.840> out,<00:03:52.680> how<00:03:52.840> do<00:03:53.000> we<00:03:53.120> sing<00:03:53.520> a<00:03:53.640> long<00:03:53.960> song?<00:03:54.920> We" + }, + { + "start": 235.07, + "duration": 0.0, + "text": "die out, how do we sing a long song? We" + }, + { + "start": 235.08, + "duration": 0.0, + "text": "die out, how do we sing a long song? We need<00:03:55.360> to<00:03:55.520> keep<00:03:55.760> the<00:03:55.920> water<00:03:56.200> moving.<00:03:56.920> We<00:03:57.080> need<00:03:57.400> a" + }, + { + "start": 237.47, + "duration": 0.0, + "text": "need to keep the water moving. We need a" + }, + { + "start": 237.48, + "duration": 0.0, + "text": "need to keep the water moving. We need a driver." + }, + { + "start": 238.99, + "duration": 0.0, + "text": "driver." + }, + { + "start": 239.0, + "duration": 0.0, + "text": "driver. Let's<00:03:59.360> introduce<00:04:00.000> a<00:04:00.080> simple<00:04:00.520> rhythmic<00:04:00.920> signal" + }, + { + "start": 241.47, + "duration": 0.0, + "text": "Let's introduce a simple rhythmic signal" + }, + { + "start": 241.48, + "duration": 0.0, + "text": "Let's introduce a simple rhythmic signal Z<00:04:01.840> of<00:04:02.080> T." + }, + { + "start": 243.03, + "duration": 0.0, + "text": "Z of T." + }, + { + "start": 243.04, + "duration": 0.0, + "text": "Z of T. Something<00:04:03.480> like<00:04:03.640> a<00:04:03.720> boring<00:04:04.160> sine<00:04:04.480> wave<00:04:05.200> to" + }, + { + "start": 245.39, + "duration": 0.0, + "text": "Something like a boring sine wave to" + }, + { + "start": 245.4, + "duration": 0.0, + "text": "Something like a boring sine wave to keep<00:04:05.720> the<00:04:05.880> energy<00:04:06.280> levels<00:04:06.680> up.<00:04:07.600> Think<00:04:07.800> of<00:04:07.920> it" + }, + { + "start": 248.03, + "duration": 0.0, + "text": "keep the energy levels up. Think of it" + }, + { + "start": 248.04, + "duration": 0.0, + "text": "keep the energy levels up. Think of it like<00:04:08.240> a<00:04:08.320> background<00:04:08.880> clock." + }, + { + "start": 249.547, + "duration": 0.0, + "text": "like a background clock." + }, + { + "start": 249.557, + "duration": 0.0, + "text": "like a background clock. >> [music]" + }, + { + "start": 249.87, + "duration": 0.0, + "text": ">> [music]" + }, + { + "start": 249.88, + "duration": 0.0, + "text": ">> [music] >> In<00:04:10.000> the<00:04:10.080> brain,<00:04:10.680> this<00:04:10.880> might<00:04:11.120> correspond<00:04:11.959> to" + }, + { + "start": 252.07, + "duration": 0.0, + "text": ">> In the brain, this might correspond to" + }, + { + "start": 252.08, + "duration": 0.0, + "text": ">> In the brain, this might correspond to the<00:04:12.200> rhythmic<00:04:12.640> oscillations<00:04:13.400> like<00:04:13.640> theta<00:04:14.000> or" + }, + { + "start": 254.11, + "duration": 0.0, + "text": "the rhythmic oscillations like theta or" + }, + { + "start": 254.12, + "duration": 0.0, + "text": "the rhythmic oscillations like theta or gamma<00:04:14.440> waves<00:04:15.280> that<00:04:15.560> act<00:04:15.840> as<00:04:16.000> neural" + }, + { + "start": 256.31, + "duration": 0.0, + "text": "gamma waves that act as neural" + }, + { + "start": 256.32, + "duration": 0.0, + "text": "gamma waves that act as neural pacemakers." + }, + { + "start": 258.39, + "duration": 0.0, + "text": "pacemakers." + }, + { + "start": 258.4, + "duration": 0.0, + "text": "pacemakers. Each<00:04:18.680> neuron<00:04:19.000> now<00:04:19.280> receives<00:04:19.959> this<00:04:20.120> driving" + }, + { + "start": 260.55, + "duration": 0.0, + "text": "Each neuron now receives this driving" + }, + { + "start": 260.56, + "duration": 0.0, + "text": "Each neuron now receives this driving signal<00:04:21.239> scaled<00:04:21.799> by<00:04:21.959> the<00:04:22.080> value<00:04:22.520> mu<00:04:23.000> unique<00:04:23.480> to" + }, + { + "start": 263.59, + "duration": 0.0, + "text": "signal scaled by the value mu unique to" + }, + { + "start": 263.6, + "duration": 0.0, + "text": "signal scaled by the value mu unique to that<00:04:23.880> neuron." + }, + { + "start": 265.23, + "duration": 0.0, + "text": "that neuron." + }, + { + "start": 265.24, + "duration": 0.0, + "text": "that neuron. The<00:04:25.440> goal<00:04:25.720> then<00:04:26.200> is<00:04:26.440> to<00:04:26.600> take<00:04:26.880> this<00:04:27.120> boring" + }, + { + "start": 267.59, + "duration": 0.0, + "text": "The goal then is to take this boring" + }, + { + "start": 267.6, + "duration": 0.0, + "text": "The goal then is to take this boring driving<00:04:28.040> signal<00:04:28.440> Z<00:04:28.720> of<00:04:28.880> T<00:04:29.480> and<00:04:29.680> transform<00:04:30.280> it" + }, + { + "start": 270.43, + "duration": 0.0, + "text": "driving signal Z of T and transform it" + }, + { + "start": 270.44, + "duration": 0.0, + "text": "driving signal Z of T and transform it into<00:04:30.720> an<00:04:30.880> interesting<00:04:31.440> target<00:04:31.880> signal<00:04:32.280> Y<00:04:32.520> of" + }, + { + "start": 272.67, + "duration": 0.0, + "text": "into an interesting target signal Y of" + }, + { + "start": 272.68, + "duration": 0.0, + "text": "into an interesting target signal Y of T.<00:04:33.520> Like<00:04:33.880> a<00:04:34.000> zebra<00:04:34.400> finch<00:04:34.720> song<00:04:35.240> or<00:04:35.400> a<00:04:35.440> motor" + }, + { + "start": 275.79, + "duration": 0.0, + "text": "T. Like a zebra finch song or a motor" + }, + { + "start": 275.8, + "duration": 0.0, + "text": "T. Like a zebra finch song or a motor command." + }, + { + "start": 277.87, + "duration": 0.0, + "text": "command." + }, + { + "start": 277.88, + "duration": 0.0, + "text": "command. It's<00:04:38.080> like<00:04:38.240> dropping<00:04:38.680> a<00:04:38.760> stone<00:04:39.320> in<00:04:39.440> the<00:04:39.560> pool" + }, + { + "start": 279.909, + "duration": 0.0, + "text": "It's like dropping a stone in the pool" + }, + { + "start": 279.919, + "duration": 0.0, + "text": "It's like dropping a stone in the pool every<00:04:40.200> 10<00:04:40.520> seconds,<00:04:41.480> but<00:04:41.680> sculpting<00:04:42.160> the" + }, + { + "start": 282.27, + "duration": 0.0, + "text": "every 10 seconds, but sculpting the" + }, + { + "start": 282.28, + "duration": 0.0, + "text": "every 10 seconds, but sculpting the walls<00:04:42.760> of<00:04:42.880> the<00:04:43.000> pool<00:04:43.320> so<00:04:43.640> perfectly<00:04:44.720> that<00:04:44.919> the" + }, + { + "start": 285.03, + "duration": 0.0, + "text": "walls of the pool so perfectly that the" + }, + { + "start": 285.04, + "duration": 0.0, + "text": "walls of the pool so perfectly that the resulting<00:04:45.560> ripples<00:04:46.200> sound<00:04:46.640> like<00:04:46.840> Beethoven's" + }, + { + "start": 287.39, + "duration": 0.0, + "text": "resulting ripples sound like Beethoven's" + }, + { + "start": 287.4, + "duration": 0.0, + "text": "resulting ripples sound like Beethoven's Fifth<00:04:47.720> Symphony." + }, + { + "start": 289.03, + "duration": 0.0, + "text": "Fifth Symphony." + }, + { + "start": 289.04, + "duration": 0.0, + "text": "Fifth Symphony. That<00:04:49.400> sounds<00:04:50.040> extremely<00:04:50.520> complicated,<00:04:51.400> and" + }, + { + "start": 291.71, + "duration": 0.0, + "text": "That sounds extremely complicated, and" + }, + { + "start": 291.72, + "duration": 0.0, + "text": "That sounds extremely complicated, and that's<00:04:51.960> because<00:04:52.200> it<00:04:52.320> is." + }, + { + "start": 293.59, + "duration": 0.0, + "text": "that's because it is." + }, + { + "start": 293.6, + "duration": 0.0, + "text": "that's because it is. In<00:04:53.760> fact,<00:04:54.200> to<00:04:54.320> this<00:04:54.560> day,<00:04:55.160> recurrent<00:04:55.760> neural" + }, + { + "start": 295.99, + "duration": 0.0, + "text": "In fact, to this day, recurrent neural" + }, + { + "start": 296.0, + "duration": 0.0, + "text": "In fact, to this day, recurrent neural networks<00:04:56.600> are<00:04:56.880> notoriously<00:04:57.640> hard<00:04:57.919> to<00:04:58.040> train." + }, + { + "start": 299.27, + "duration": 0.0, + "text": "networks are notoriously hard to train." + }, + { + "start": 299.28, + "duration": 0.0, + "text": "networks are notoriously hard to train. But<00:04:59.480> here<00:04:59.680> comes<00:04:59.919> the<00:05:00.040> crucial<00:05:00.480> mental<00:05:00.800> shift." + }, + { + "start": 302.51, + "duration": 0.0, + "text": "But here comes the crucial mental shift." + }, + { + "start": 302.52, + "duration": 0.0, + "text": "But here comes the crucial mental shift. You<00:05:02.680> see,<00:05:03.120> in<00:05:03.240> traditional<00:05:03.840> machine" + }, + { + "start": 304.19, + "duration": 0.0, + "text": "You see, in traditional machine" + }, + { + "start": 304.2, + "duration": 0.0, + "text": "You see, in traditional machine learning,<00:05:04.840> you<00:05:05.080> act<00:05:05.400> as<00:05:05.560> a<00:05:05.600> micro-manager." + }, + { + "start": 307.19, + "duration": 0.0, + "text": "learning, you act as a micro-manager." + }, + { + "start": 307.2, + "duration": 0.0, + "text": "learning, you act as a micro-manager. You<00:05:07.360> try<00:05:07.600> to<00:05:07.800> adjust<00:05:08.440> every<00:05:08.760> single" + }, + { + "start": 309.11, + "duration": 0.0, + "text": "You try to adjust every single" + }, + { + "start": 309.12, + "duration": 0.0, + "text": "You try to adjust every single connection<00:05:09.680> weight<00:05:10.000> between<00:05:10.440> every<00:05:10.760> pair<00:05:11.040> of" + }, + { + "start": 311.11, + "duration": 0.0, + "text": "connection weight between every pair of" + }, + { + "start": 311.12, + "duration": 0.0, + "text": "connection weight between every pair of neurons<00:05:12.000> to<00:05:12.160> sculpt<00:05:12.640> that<00:05:12.880> perfect<00:05:13.240> splash." + }, + { + "start": 314.59, + "duration": 0.0, + "text": "neurons to sculpt that perfect splash." + }, + { + "start": 314.6, + "duration": 0.0, + "text": "neurons to sculpt that perfect splash. The<00:05:14.800> problem<00:05:15.360> is<00:05:15.520> that<00:05:15.760> once<00:05:16.080> you<00:05:16.160> introduce" + }, + { + "start": 316.71, + "duration": 0.0, + "text": "The problem is that once you introduce" + }, + { + "start": 316.72, + "duration": 0.0, + "text": "The problem is that once you introduce recurrence,<00:05:17.840> the<00:05:18.000> interactions<00:05:18.760> become" + }, + { + "start": 319.23, + "duration": 0.0, + "text": "recurrence, the interactions become" + }, + { + "start": 319.24, + "duration": 0.0, + "text": "recurrence, the interactions become entangled<00:05:19.919> in<00:05:20.080> time." + }, + { + "start": 321.19, + "duration": 0.0, + "text": "entangled in time." + }, + { + "start": 321.2, + "duration": 0.0, + "text": "entangled in time. The<00:05:21.360> effect<00:05:21.720> of<00:05:21.840> nudging<00:05:22.240> a<00:05:22.320> weight<00:05:22.560> by<00:05:22.760> 1%" + }, + { + "start": 323.47, + "duration": 0.0, + "text": "The effect of nudging a weight by 1%" + }, + { + "start": 323.48, + "duration": 0.0, + "text": "The effect of nudging a weight by 1% right<00:05:23.720> now<00:05:24.400> might<00:05:24.680> have<00:05:24.960> unexpected" + }, + { + "start": 325.67, + "duration": 0.0, + "text": "right now might have unexpected" + }, + { + "start": 325.68, + "duration": 0.0, + "text": "right now might have unexpected consequences<00:05:26.520> 10<00:05:26.760> seconds<00:05:27.120> from<00:05:27.280> now." + }, + { + "start": 328.35, + "duration": 0.0, + "text": "consequences 10 seconds from now." + }, + { + "start": 328.36, + "duration": 0.0, + "text": "consequences 10 seconds from now. Because<00:05:28.800> these<00:05:29.080> ripples<00:05:29.560> are<00:05:29.720> bouncing" + }, + { + "start": 330.27, + "duration": 0.0, + "text": "Because these ripples are bouncing" + }, + { + "start": 330.28, + "duration": 0.0, + "text": "Because these ripples are bouncing around<00:05:30.720> in<00:05:30.880> loops,<00:05:31.480> it's<00:05:31.720> incredibly<00:05:32.320> hard<00:05:32.760> to" + }, + { + "start": 332.87, + "duration": 0.0, + "text": "around in loops, it's incredibly hard to" + }, + { + "start": 332.88, + "duration": 0.0, + "text": "around in loops, it's incredibly hard to untie<00:05:33.360> the<00:05:33.480> knot." + }, + { + "start": 335.23, + "duration": 0.0, + "text": "untie the knot." + }, + { + "start": 335.24, + "duration": 0.0, + "text": "untie the knot. If<00:05:35.480> these<00:05:35.760> ideas<00:05:36.240> got<00:05:36.480> you<00:05:36.600> curious<00:05:37.120> about" + }, + { + "start": 337.43, + "duration": 0.0, + "text": "If these ideas got you curious about" + }, + { + "start": 337.44, + "duration": 0.0, + "text": "If these ideas got you curious about broader<00:05:37.840> theories<00:05:38.320> of<00:05:38.440> neural<00:05:38.720> computation," + }, + { + "start": 339.71, + "duration": 0.0, + "text": "broader theories of neural computation," + }, + { + "start": 339.72, + "duration": 0.0, + "text": "broader theories of neural computation, I'd<00:05:39.960> recommend<00:05:40.440> a<00:05:40.480> book<00:05:40.880> A<00:05:41.000> Thousand<00:05:41.480> Brains" + }, + { + "start": 341.83, + "duration": 0.0, + "text": "I'd recommend a book A Thousand Brains" + }, + { + "start": 341.84, + "duration": 0.0, + "text": "I'd recommend a book A Thousand Brains Theory<00:05:42.240> by<00:05:42.440> Jeff<00:05:42.720> Hawkins,<00:05:43.600> which<00:05:43.840> proposes" + }, + { + "start": 344.59, + "duration": 0.0, + "text": "Theory by Jeff Hawkins, which proposes" + }, + { + "start": 344.6, + "duration": 0.0, + "text": "Theory by Jeff Hawkins, which proposes that<00:05:44.800> the<00:05:44.880> neocortex<00:05:45.720> is<00:05:45.960> itself<00:05:46.400> a<00:05:46.480> kind<00:05:46.840> of" + }, + { + "start": 346.95, + "duration": 0.0, + "text": "that the neocortex is itself a kind of" + }, + { + "start": 346.96, + "duration": 0.0, + "text": "that the neocortex is itself a kind of reservoir<00:05:47.560> of<00:05:47.800> independent<00:05:48.440> cortical" + }, + { + "start": 348.83, + "duration": 0.0, + "text": "reservoir of independent cortical" + }, + { + "start": 348.84, + "duration": 0.0, + "text": "reservoir of independent cortical columns." + }, + { + "start": 349.99, + "duration": 0.0, + "text": "columns." + }, + { + "start": 350.0, + "duration": 0.0, + "text": "columns. You<00:05:50.080> can<00:05:50.280> find<00:05:50.560> it<00:05:50.760> on<00:05:50.920> Shortform<00:05:51.720> for<00:05:51.920> kindly" + }, + { + "start": 352.31, + "duration": 0.0, + "text": "You can find it on Shortform for kindly" + }, + { + "start": 352.32, + "duration": 0.0, + "text": "You can find it on Shortform for kindly sponsoring<00:05:52.840> today's<00:05:53.200> video.<00:05:54.160> Shortform" + }, + { + "start": 354.67, + "duration": 0.0, + "text": "sponsoring today's video. Shortform" + }, + { + "start": 354.68, + "duration": 0.0, + "text": "sponsoring today's video. Shortform turns<00:05:55.040> books<00:05:55.400> into<00:05:55.680> proper<00:05:56.080> study<00:05:56.480> resources," + }, + { + "start": 357.51, + "duration": 0.0, + "text": "turns books into proper study resources," + }, + { + "start": 357.52, + "duration": 0.0, + "text": "turns books into proper study resources, not<00:05:57.760> just<00:05:58.000> condensed<00:05:58.560> summaries,<00:05:59.280> but<00:05:59.520> deep" + }, + { + "start": 359.79, + "duration": 0.0, + "text": "not just condensed summaries, but deep" + }, + { + "start": 359.8, + "duration": 0.0, + "text": "not just condensed summaries, but deep guides<00:06:00.520> that<00:06:00.760> place<00:06:01.160> each<00:06:01.360> book's<00:06:01.680> ideas<00:06:02.520> in" + }, + { + "start": 362.63, + "duration": 0.0, + "text": "guides that place each book's ideas in" + }, + { + "start": 362.64, + "duration": 0.0, + "text": "guides that place each book's ideas in the<00:06:02.760> context<00:06:03.400> of<00:06:03.520> related<00:06:04.040> research<00:06:04.560> and" + }, + { + "start": 364.75, + "duration": 0.0, + "text": "the context of related research and" + }, + { + "start": 364.76, + "duration": 0.0, + "text": "the context of related research and other<00:06:05.040> titles,<00:06:05.960> offering<00:06:06.480> a<00:06:06.560> much<00:06:06.920> richer" + }, + { + "start": 367.23, + "duration": 0.0, + "text": "other titles, offering a much richer" + }, + { + "start": 367.24, + "duration": 0.0, + "text": "other titles, offering a much richer understanding<00:06:08.000> of<00:06:08.120> the<00:06:08.200> big<00:06:08.440> picture." + }, + { + "start": 369.63, + "duration": 0.0, + "text": "understanding of the big picture." + }, + { + "start": 369.64, + "duration": 0.0, + "text": "understanding of the big picture. They<00:06:09.840> cover<00:06:10.240> a<00:06:10.360> wide<00:06:10.720> range<00:06:10.920> of<00:06:11.040> genres<00:06:11.560> like" + }, + { + "start": 371.79, + "duration": 0.0, + "text": "They cover a wide range of genres like" + }, + { + "start": 371.8, + "duration": 0.0, + "text": "They cover a wide range of genres like science,<00:06:12.240> technology,<00:06:12.920> and<00:06:13.120> education," + }, + { + "start": 374.15, + "duration": 0.0, + "text": "science, technology, and education," + }, + { + "start": 374.16, + "duration": 0.0, + "text": "science, technology, and education, releasing<00:06:14.760> new<00:06:14.960> guides<00:06:15.360> every<00:06:15.640> week<00:06:16.160> and" + }, + { + "start": 376.31, + "duration": 0.0, + "text": "releasing new guides every week and" + }, + { + "start": 376.32, + "duration": 0.0, + "text": "releasing new guides every week and letting<00:06:16.600> subscribers<00:06:17.280> vote<00:06:17.560> on<00:06:17.720> which<00:06:17.960> books" + }, + { + "start": 378.23, + "duration": 0.0, + "text": "letting subscribers vote on which books" + }, + { + "start": 378.24, + "duration": 0.0, + "text": "letting subscribers vote on which books to<00:06:18.360> cover<00:06:18.600> next." + }, + { + "start": 379.71, + "duration": 0.0, + "text": "to cover next." + }, + { + "start": 379.72, + "duration": 0.0, + "text": "to cover next. There<00:06:19.880> is<00:06:20.040> also<00:06:20.440> a<00:06:20.560> browser<00:06:20.960> extension<00:06:21.600> that" + }, + { + "start": 381.83, + "duration": 0.0, + "text": "There is also a browser extension that" + }, + { + "start": 381.84, + "duration": 0.0, + "text": "There is also a browser extension that does<00:06:22.000> the<00:06:22.120> same<00:06:22.400> thing<00:06:23.000> for<00:06:23.200> articles<00:06:23.640> and" + }, + { + "start": 383.79, + "duration": 0.0, + "text": "does the same thing for articles and" + }, + { + "start": 383.8, + "duration": 0.0, + "text": "does the same thing for articles and YouTube<00:06:24.080> videos<00:06:24.600> you<00:06:24.720> stumble<00:06:25.080> across" + }, + { + "start": 385.43, + "duration": 0.0, + "text": "YouTube videos you stumble across" + }, + { + "start": 385.44, + "duration": 0.0, + "text": "YouTube videos you stumble across online." + }, + { + "start": 386.83, + "duration": 0.0, + "text": "online." + }, + { + "start": 386.84, + "duration": 0.0, + "text": "online. If<00:06:26.960> you<00:06:27.080> want<00:06:27.280> to<00:06:27.440> supercharge<00:06:28.120> your<00:06:28.240> reading," + }, + { + "start": 388.83, + "duration": 0.0, + "text": "If you want to supercharge your reading," + }, + { + "start": 388.84, + "duration": 0.0, + "text": "If you want to supercharge your reading, follow<00:06:29.120> the<00:06:29.280> link<00:06:29.480> down<00:06:29.800> in<00:06:29.880> the<00:06:29.960> description" + }, + { + "start": 390.63, + "duration": 0.0, + "text": "follow the link down in the description" + }, + { + "start": 390.64, + "duration": 0.0, + "text": "follow the link down in the description for<00:06:30.840> a<00:06:30.919> free<00:06:31.120> trial<00:06:31.800> and<00:06:31.960> 20%<00:06:32.680> off<00:06:33.000> the<00:06:33.200> annual" + }, + { + "start": 393.51, + "duration": 0.0, + "text": "for a free trial and 20% off the annual" + }, + { + "start": 393.52, + "duration": 0.0, + "text": "for a free trial and 20% off the annual subscription." + }, + { + "start": 395.55, + "duration": 0.0, + "text": "subscription." + }, + { + "start": 395.56, + "duration": 0.0, + "text": "subscription. But<00:06:35.800> in<00:06:35.919> the<00:06:36.040> early<00:06:36.280> 2000s,<00:06:37.400> researchers" + }, + { + "start": 398.15, + "duration": 0.0, + "text": "But in the early 2000s, researchers" + }, + { + "start": 398.16, + "duration": 0.0, + "text": "But in the early 2000s, researchers asked<00:06:38.640> a<00:06:38.720> radical<00:06:39.200> question." + }, + { + "start": 400.39, + "duration": 0.0, + "text": "asked a radical question." + }, + { + "start": 400.4, + "duration": 0.0, + "text": "asked a radical question. What<00:06:40.600> if<00:06:40.760> instead<00:06:41.120> of<00:06:41.240> trying<00:06:41.640> to<00:06:41.840> tame<00:06:42.200> this" + }, + { + "start": 402.43, + "duration": 0.0, + "text": "What if instead of trying to tame this" + }, + { + "start": 402.44, + "duration": 0.0, + "text": "What if instead of trying to tame this mess,<00:06:43.120> we<00:06:43.440> embraced<00:06:44.000> it?" + }, + { + "start": 404.87, + "duration": 0.0, + "text": "mess, we embraced it?" + }, + { + "start": 404.88, + "duration": 0.0, + "text": "mess, we embraced it? What<00:06:45.080> if<00:06:45.240> we<00:06:45.360> don't<00:06:45.640> train<00:06:46.040> the<00:06:46.160> reservoir<00:06:47.040> at" + }, + { + "start": 407.23, + "duration": 0.0, + "text": "What if we don't train the reservoir at" + }, + { + "start": 407.24, + "duration": 0.0, + "text": "What if we don't train the reservoir at all?" + }, + { + "start": 408.59, + "duration": 0.0, + "text": "all?" + }, + { + "start": 408.6, + "duration": 0.0, + "text": "all? This<00:06:48.840> is<00:06:48.960> the<00:06:49.080> philosophy<00:06:49.880> of<00:06:50.080> reservoir" + }, + { + "start": 410.55, + "duration": 0.0, + "text": "This is the philosophy of reservoir" + }, + { + "start": 410.56, + "duration": 0.0, + "text": "This is the philosophy of reservoir computing." + }, + { + "start": 412.03, + "duration": 0.0, + "text": "computing." + }, + { + "start": 412.04, + "duration": 0.0, + "text": "computing. We<00:06:52.200> leave<00:06:52.520> the<00:06:52.640> connections<00:06:53.320> inside<00:06:53.680> the" + }, + { + "start": 413.79, + "duration": 0.0, + "text": "We leave the connections inside the" + }, + { + "start": 413.8, + "duration": 0.0, + "text": "We leave the connections inside the bucket<00:06:54.280> completely<00:06:54.760> random.<00:06:55.440> We<00:06:55.560> don't<00:06:55.840> touch" + }, + { + "start": 416.11, + "duration": 0.0, + "text": "bucket completely random. We don't touch" + }, + { + "start": 416.12, + "duration": 0.0, + "text": "bucket completely random. We don't touch them." + }, + { + "start": 416.95, + "duration": 0.0, + "text": "them." + }, + { + "start": 416.96, + "duration": 0.0, + "text": "them. Rather<00:06:57.240> than<00:06:57.440> trying<00:06:57.800> to<00:06:57.960> force<00:06:58.400> water" + }, + { + "start": 418.67, + "duration": 0.0, + "text": "Rather than trying to force water" + }, + { + "start": 418.68, + "duration": 0.0, + "text": "Rather than trying to force water molecules<00:06:59.320> to<00:06:59.440> bounce<00:06:59.840> around<00:07:00.240> perfectly,<00:07:01.320> we" + }, + { + "start": 421.43, + "duration": 0.0, + "text": "molecules to bounce around perfectly, we" + }, + { + "start": 421.44, + "duration": 0.0, + "text": "molecules to bounce around perfectly, we just<00:07:01.800> learn<00:07:02.160> to<00:07:02.360> work<00:07:02.720> with<00:07:02.840> the<00:07:02.960> physics<00:07:03.440> we" + }, + { + "start": 423.59, + "duration": 0.0, + "text": "just learn to work with the physics we" + }, + { + "start": 423.6, + "duration": 0.0, + "text": "just learn to work with the physics we already<00:07:04.000> have." + }, + { + "start": 426.19, + "duration": 0.0, + "text": "already have." + }, + { + "start": 426.2, + "duration": 0.0, + "text": "already have. Let's<00:07:06.520> see<00:07:06.640> what<00:07:06.840> happens<00:07:07.440> when<00:07:07.640> we<00:07:07.760> let<00:07:08.080> a" + }, + { + "start": 428.19, + "duration": 0.0, + "text": "Let's see what happens when we let a" + }, + { + "start": 428.2, + "duration": 0.0, + "text": "Let's see what happens when we let a simple<00:07:08.600> sine<00:07:08.880> wave<00:07:09.320> hit<00:07:09.640> that<00:07:09.880> random" + }, + { + "start": 430.19, + "duration": 0.0, + "text": "simple sine wave hit that random" + }, + { + "start": 430.2, + "duration": 0.0, + "text": "simple sine wave hit that random network." + }, + { + "start": 431.67, + "duration": 0.0, + "text": "network." + }, + { + "start": 431.68, + "duration": 0.0, + "text": "network. Examining<00:07:12.280> individual<00:07:12.840> neurons,<00:07:13.520> it<00:07:13.640> looks" + }, + { + "start": 433.87, + "duration": 0.0, + "text": "Examining individual neurons, it looks" + }, + { + "start": 433.88, + "duration": 0.0, + "text": "Examining individual neurons, it looks like<00:07:14.040> a<00:07:14.080> mess." + }, + { + "start": 435.19, + "duration": 0.0, + "text": "like a mess." + }, + { + "start": 435.2, + "duration": 0.0, + "text": "like a mess. But<00:07:15.400> reservoir<00:07:15.800> computing<00:07:16.400> relies<00:07:16.919> on<00:07:17.040> a" + }, + { + "start": 437.11, + "duration": 0.0, + "text": "But reservoir computing relies on a" + }, + { + "start": 437.12, + "duration": 0.0, + "text": "But reservoir computing relies on a beautiful<00:07:17.560> mathematical<00:07:18.200> curiosity." + }, + { + "start": 439.71, + "duration": 0.0, + "text": "beautiful mathematical curiosity." + }, + { + "start": 439.72, + "duration": 0.0, + "text": "beautiful mathematical curiosity. The<00:07:19.919> answer<00:07:20.320> we're<00:07:20.520> looking<00:07:20.800> for<00:07:21.480> is<00:07:21.760> already" + }, + { + "start": 442.19, + "duration": 0.0, + "text": "The answer we're looking for is already" + }, + { + "start": 442.2, + "duration": 0.0, + "text": "The answer we're looking for is already hidden<00:07:22.640> in<00:07:22.840> that<00:07:23.120> noise." + }, + { + "start": 444.31, + "duration": 0.0, + "text": "hidden in that noise." + }, + { + "start": 444.32, + "duration": 0.0, + "text": "hidden in that noise. We<00:07:24.480> just<00:07:24.720> need<00:07:24.919> to<00:07:25.040> learn<00:07:25.440> to<00:07:25.600> look<00:07:25.800> at<00:07:25.880> the" + }, + { + "start": 445.95, + "duration": 0.0, + "text": "We just need to learn to look at the" + }, + { + "start": 445.96, + "duration": 0.0, + "text": "We just need to learn to look at the mess<00:07:26.520> at<00:07:26.640> the<00:07:26.760> right<00:07:27.080> angle." + }, + { + "start": 448.27, + "duration": 0.0, + "text": "mess at the right angle." + }, + { + "start": 448.28, + "duration": 0.0, + "text": "mess at the right angle. Now,<00:07:28.600> this<00:07:28.840> might<00:07:29.080> sound<00:07:29.360> like<00:07:29.520> magic,<00:07:30.040> and" + }, + { + "start": 450.27, + "duration": 0.0, + "text": "Now, this might sound like magic, and" + }, + { + "start": 450.28, + "duration": 0.0, + "text": "Now, this might sound like magic, and we'll<00:07:30.440> see<00:07:30.680> why<00:07:30.800> it<00:07:31.000> works<00:07:31.320> in<00:07:31.440> a<00:07:31.520> moment,<00:07:32.240> but" + }, + { + "start": 452.47, + "duration": 0.0, + "text": "we'll see why it works in a moment, but" + }, + { + "start": 452.48, + "duration": 0.0, + "text": "we'll see why it works in a moment, but here<00:07:32.640> is<00:07:32.760> what<00:07:32.919> I<00:07:32.960> mean." + }, + { + "start": 454.07, + "duration": 0.0, + "text": "here is what I mean." + }, + { + "start": 454.08, + "duration": 0.0, + "text": "here is what I mean. Let's<00:07:34.440> add<00:07:34.760> one<00:07:35.000> final<00:07:35.400> neuron<00:07:36.040> called<00:07:36.520> the" + }, + { + "start": 456.63, + "duration": 0.0, + "text": "Let's add one final neuron called the" + }, + { + "start": 456.64, + "duration": 0.0, + "text": "Let's add one final neuron called the readout." + }, + { + "start": 457.87, + "duration": 0.0, + "text": "readout." + }, + { + "start": 457.88, + "duration": 0.0, + "text": "readout. It<00:07:38.040> listens<00:07:38.560> to<00:07:38.680> the<00:07:38.800> activity<00:07:39.320> of<00:07:39.560> all<00:07:39.880> other" + }, + { + "start": 460.11, + "duration": 0.0, + "text": "It listens to the activity of all other" + }, + { + "start": 460.12, + "duration": 0.0, + "text": "It listens to the activity of all other neurons,<00:07:40.680> but<00:07:41.040> doesn't<00:07:41.360> talk<00:07:41.640> back." + }, + { + "start": 462.71, + "duration": 0.0, + "text": "neurons, but doesn't talk back." + }, + { + "start": 462.72, + "duration": 0.0, + "text": "neurons, but doesn't talk back. The<00:07:42.840> state<00:07:43.200> of<00:07:43.320> that<00:07:43.600> readout,<00:07:44.320> X<00:07:44.600> of<00:07:44.760> T,<00:07:45.400> is" + }, + { + "start": 465.63, + "duration": 0.0, + "text": "The state of that readout, X of T, is" + }, + { + "start": 465.64, + "duration": 0.0, + "text": "The state of that readout, X of T, is simply<00:07:46.040> a<00:07:46.160> weighted<00:07:46.640> sum<00:07:46.960> of<00:07:47.240> all<00:07:47.520> neurons" + }, + { + "start": 468.11, + "duration": 0.0, + "text": "simply a weighted sum of all neurons" + }, + { + "start": 468.12, + "duration": 0.0, + "text": "simply a weighted sum of all neurons states<00:07:48.600> in<00:07:48.760> the<00:07:48.880> network.<00:07:50.000> While<00:07:50.360> we<00:07:50.480> can't" + }, + { + "start": 470.91, + "duration": 0.0, + "text": "states in the network. While we can't" + }, + { + "start": 470.92, + "duration": 0.0, + "text": "states in the network. While we can't touch<00:07:51.240> the<00:07:51.360> network,<00:07:52.120> we<00:07:52.240> can<00:07:52.440> adjust<00:07:53.080> these" + }, + { + "start": 473.39, + "duration": 0.0, + "text": "touch the network, we can adjust these" + }, + { + "start": 473.4, + "duration": 0.0, + "text": "touch the network, we can adjust these readout<00:07:53.840> weights.<00:07:54.720> In<00:07:54.880> fact,<00:07:55.440> this<00:07:55.600> is<00:07:55.760> the" + }, + { + "start": 475.83, + "duration": 0.0, + "text": "readout weights. In fact, this is the" + }, + { + "start": 475.84, + "duration": 0.0, + "text": "readout weights. In fact, this is the only<00:07:56.120> thing<00:07:56.320> we<00:07:56.440> can<00:07:56.600> do." + }, + { + "start": 477.79, + "duration": 0.0, + "text": "only thing we can do." + }, + { + "start": 477.8, + "duration": 0.0, + "text": "only thing we can do. You<00:07:57.920> can<00:07:58.080> think<00:07:58.280> of<00:07:58.360> it<00:07:58.440> like<00:07:58.640> this.<00:07:59.360> Each" + }, + { + "start": 479.63, + "duration": 0.0, + "text": "You can think of it like this. Each" + }, + { + "start": 479.64, + "duration": 0.0, + "text": "You can think of it like this. Each neuron<00:08:00.040> is<00:08:00.280> shouting<00:08:00.760> its<00:08:01.000> own<00:08:01.240> random" + }, + { + "start": 481.67, + "duration": 0.0, + "text": "neuron is shouting its own random" + }, + { + "start": 481.68, + "duration": 0.0, + "text": "neuron is shouting its own random gibberish<00:08:02.240> into<00:08:02.480> its<00:08:02.640> microphone." + }, + { + "start": 484.03, + "duration": 0.0, + "text": "gibberish into its microphone." + }, + { + "start": 484.04, + "duration": 0.0, + "text": "gibberish into its microphone. Our<00:08:04.280> job<00:08:04.600> then<00:08:05.160> is<00:08:05.360> to<00:08:05.480> simply<00:08:05.920> tweak<00:08:06.320> the" + }, + { + "start": 486.43, + "duration": 0.0, + "text": "Our job then is to simply tweak the" + }, + { + "start": 486.44, + "duration": 0.0, + "text": "Our job then is to simply tweak the volume<00:08:06.840> knobs<00:08:07.320> on<00:08:07.560> all<00:08:07.800> of<00:08:07.920> those<00:08:08.160> microphones" + }, + { + "start": 489.31, + "duration": 0.0, + "text": "volume knobs on all of those microphones" + }, + { + "start": 489.32, + "duration": 0.0, + "text": "volume knobs on all of those microphones in<00:08:09.480> such<00:08:09.800> a<00:08:09.840> way<00:08:10.360> that<00:08:10.560> the<00:08:10.680> collective<00:08:11.200> hum" + }, + { + "start": 491.83, + "duration": 0.0, + "text": "in such a way that the collective hum" + }, + { + "start": 491.84, + "duration": 0.0, + "text": "in such a way that the collective hum sounds<00:08:12.320> like<00:08:12.520> our<00:08:12.760> target<00:08:13.200> song." + }, + { + "start": 495.07, + "duration": 0.0, + "text": "sounds like our target song." + }, + { + "start": 495.08, + "duration": 0.0, + "text": "sounds like our target song. We<00:08:15.200> let<00:08:15.400> the<00:08:15.480> network<00:08:15.960> run<00:08:16.160> for<00:08:16.320> a<00:08:16.400> while<00:08:16.919> and" + }, + { + "start": 497.07, + "duration": 0.0, + "text": "We let the network run for a while and" + }, + { + "start": 497.08, + "duration": 0.0, + "text": "We let the network run for a while and record<00:08:17.520> the<00:08:17.640> voices<00:08:18.120> of<00:08:18.360> all<00:08:18.640> N<00:08:18.840> neurons." + }, + { + "start": 500.59, + "duration": 0.0, + "text": "record the voices of all N neurons." + }, + { + "start": 500.6, + "duration": 0.0, + "text": "record the voices of all N neurons. Mathematically,<00:08:21.480> we're<00:08:21.680> looking<00:08:22.000> for<00:08:22.160> a<00:08:22.240> set" + }, + { + "start": 502.55, + "duration": 0.0, + "text": "Mathematically, we're looking for a set" + }, + { + "start": 502.56, + "duration": 0.0, + "text": "Mathematically, we're looking for a set of<00:08:22.720> coefficients<00:08:23.800> such<00:08:24.120> that<00:08:24.320> when<00:08:24.520> we<00:08:24.720> add<00:08:25.000> up" + }, + { + "start": 505.27, + "duration": 0.0, + "text": "of coefficients such that when we add up" + }, + { + "start": 505.28, + "duration": 0.0, + "text": "of coefficients such that when we add up all<00:08:25.480> these<00:08:25.760> random<00:08:26.120> signals,<00:08:26.840> we<00:08:27.000> get<00:08:27.280> our" + }, + { + "start": 507.51, + "duration": 0.0, + "text": "all these random signals, we get our" + }, + { + "start": 507.52, + "duration": 0.0, + "text": "all these random signals, we get our target<00:08:28.080> Y<00:08:28.400> of<00:08:28.600> T." + }, + { + "start": 509.75, + "duration": 0.0, + "text": "target Y of T." + }, + { + "start": 509.76, + "duration": 0.0, + "text": "target Y of T. It<00:08:29.880> turns<00:08:30.160> out<00:08:30.600> this<00:08:30.800> is<00:08:31.040> a<00:08:31.120> famous<00:08:31.640> problem" + }, + { + "start": 512.149, + "duration": 0.0, + "text": "It turns out this is a famous problem" + }, + { + "start": 512.159, + "duration": 0.0, + "text": "It turns out this is a famous problem with<00:08:32.479> a<00:08:32.560> simple<00:08:33.039> analytical<00:08:33.599> solution." + }, + { + "start": 514.75, + "duration": 0.0, + "text": "with a simple analytical solution." + }, + { + "start": 514.76, + "duration": 0.0, + "text": "with a simple analytical solution. It<00:08:34.919> is<00:08:35.080> just<00:08:35.440> a<00:08:35.560> linear<00:08:36.000> regression<00:08:36.640> in" + }, + { + "start": 516.75, + "duration": 0.0, + "text": "It is just a linear regression in" + }, + { + "start": 516.76, + "duration": 0.0, + "text": "It is just a linear regression in disguise." + }, + { + "start": 518.23, + "duration": 0.0, + "text": "disguise." + }, + { + "start": 518.24, + "duration": 0.0, + "text": "disguise. The<00:08:38.320> math<00:08:38.840> for<00:08:39.039> finding<00:08:39.520> the<00:08:39.640> perfect<00:08:40.120> bird" + }, + { + "start": 520.39, + "duration": 0.0, + "text": "The math for finding the perfect bird" + }, + { + "start": 520.4, + "duration": 0.0, + "text": "The math for finding the perfect bird song<00:08:41.080> is<00:08:41.240> the<00:08:41.360> exact<00:08:41.800> same<00:08:42.000> math<00:08:42.520> used<00:08:42.880> to<00:08:43.000> fit" + }, + { + "start": 523.31, + "duration": 0.0, + "text": "song is the exact same math used to fit" + }, + { + "start": 523.32, + "duration": 0.0, + "text": "song is the exact same math used to fit a<00:08:43.400> straight<00:08:43.800> line<00:08:44.360> through<00:08:44.560> a<00:08:44.600> set<00:08:44.800> of<00:08:44.960> points" + }, + { + "start": 525.43, + "duration": 0.0, + "text": "a straight line through a set of points" + }, + { + "start": 525.44, + "duration": 0.0, + "text": "a straight line through a set of points on<00:08:45.560> a<00:08:45.600> graph." + }, + { + "start": 526.71, + "duration": 0.0, + "text": "on a graph." + }, + { + "start": 526.72, + "duration": 0.0, + "text": "on a graph. I<00:08:46.839> won't<00:08:47.080> go<00:08:47.280> through<00:08:47.520> the<00:08:47.640> derivation<00:08:48.200> here." + }, + { + "start": 528.87, + "duration": 0.0, + "text": "I won't go through the derivation here." + }, + { + "start": 528.88, + "duration": 0.0, + "text": "I won't go through the derivation here. I<00:08:48.960> think<00:08:49.320> the<00:08:49.440> conceptual<00:08:50.040> picture<00:08:50.360> is<00:08:50.560> far" + }, + { + "start": 530.75, + "duration": 0.0, + "text": "I think the conceptual picture is far" + }, + { + "start": 530.76, + "duration": 0.0, + "text": "I think the conceptual picture is far more<00:08:50.960> important.<00:08:51.800> But<00:08:51.960> the<00:08:52.080> upshot<00:08:52.480> is<00:08:52.640> this." + }, + { + "start": 533.63, + "duration": 0.0, + "text": "more important. But the upshot is this." + }, + { + "start": 533.64, + "duration": 0.0, + "text": "more important. But the upshot is this. We<00:08:53.760> can<00:08:53.960> calculate<00:08:54.600> the<00:08:54.760> optimal<00:08:55.240> weights<00:08:55.640> in" + }, + { + "start": 535.79, + "duration": 0.0, + "text": "We can calculate the optimal weights in" + }, + { + "start": 535.8, + "duration": 0.0, + "text": "We can calculate the optimal weights in a<00:08:55.880> single<00:08:56.200> sweep.<00:08:57.200> Once<00:08:57.560> we<00:08:57.680> lock<00:08:58.000> those" + }, + { + "start": 538.27, + "duration": 0.0, + "text": "a single sweep. Once we lock those" + }, + { + "start": 538.28, + "duration": 0.0, + "text": "a single sweep. Once we lock those weights<00:08:58.600> in,<00:08:59.240> if<00:08:59.440> we<00:08:59.560> drive<00:09:00.000> the<00:09:00.120> network<00:09:00.600> with" + }, + { + "start": 540.75, + "duration": 0.0, + "text": "weights in, if we drive the network with" + }, + { + "start": 540.76, + "duration": 0.0, + "text": "weights in, if we drive the network with that<00:09:01.000> simple<00:09:01.360> sine<00:09:01.640> wave,<00:09:02.520> it<00:09:02.680> produces<00:09:03.320> a" + }, + { + "start": 543.43, + "duration": 0.0, + "text": "that simple sine wave, it produces a" + }, + { + "start": 543.44, + "duration": 0.0, + "text": "that simple sine wave, it produces a complex<00:09:04.120> rippling<00:09:04.560> response<00:09:05.560> that<00:09:05.760> the" + }, + { + "start": 545.829, + "duration": 0.0, + "text": "complex rippling response that the" + }, + { + "start": 545.839, + "duration": 0.0, + "text": "complex rippling response that the readout<00:09:06.280> neuron<00:09:06.680> translates<00:09:07.640> into<00:09:07.960> a" + }, + { + "start": 548.03, + "duration": 0.0, + "text": "readout neuron translates into a" + }, + { + "start": 548.04, + "duration": 0.0, + "text": "readout neuron translates into a beautiful<00:09:08.560> zebra<00:09:08.880> finch<00:09:09.120> song." + }, + { + "start": 551.15, + "duration": 0.0, + "text": "beautiful zebra finch song." + }, + { + "start": 551.16, + "duration": 0.0, + "text": "beautiful zebra finch song. But<00:09:11.560> this<00:09:11.880> might<00:09:12.200> feel<00:09:12.480> unsatisfying,<00:09:13.560> almost" + }, + { + "start": 554.03, + "duration": 0.0, + "text": "But this might feel unsatisfying, almost" + }, + { + "start": 554.04, + "duration": 0.0, + "text": "But this might feel unsatisfying, almost magical.<00:09:15.120> Why<00:09:15.440> on<00:09:15.720> earth<00:09:16.120> would<00:09:16.320> we<00:09:16.440> expect<00:09:17.000> a" + }, + { + "start": 557.11, + "duration": 0.0, + "text": "magical. Why on earth would we expect a" + }, + { + "start": 557.12, + "duration": 0.0, + "text": "magical. Why on earth would we expect a complex<00:09:17.760> signal<00:09:18.520> to<00:09:18.640> be<00:09:18.800> hiding<00:09:19.320> inside<00:09:19.720> a" + }, + { + "start": 559.75, + "duration": 0.0, + "text": "complex signal to be hiding inside a" + }, + { + "start": 559.76, + "duration": 0.0, + "text": "complex signal to be hiding inside a bucket<00:09:20.160> of<00:09:20.360> randomly<00:09:20.800> connected<00:09:21.240> neurons?" + }, + { + "start": 562.63, + "duration": 0.0, + "text": "bucket of randomly connected neurons?" + }, + { + "start": 562.64, + "duration": 0.0, + "text": "bucket of randomly connected neurons? The<00:09:22.839> intuition<00:09:23.400> I<00:09:23.480> find<00:09:23.800> the<00:09:23.880> most<00:09:24.120> satisfying" + }, + { + "start": 564.91, + "duration": 0.0, + "text": "The intuition I find the most satisfying" + }, + { + "start": 564.92, + "duration": 0.0, + "text": "The intuition I find the most satisfying is<00:09:25.080> this." + }, + { + "start": 567.35, + "duration": 0.0, + "text": "is this." + }, + { + "start": 567.36, + "duration": 0.0, + "text": "is this. Let's<00:09:27.680> step<00:09:27.920> back<00:09:28.200> from<00:09:28.440> neural<00:09:28.680> networks<00:09:29.160> for" + }, + { + "start": 569.27, + "duration": 0.0, + "text": "Let's step back from neural networks for" + }, + { + "start": 569.28, + "duration": 0.0, + "text": "Let's step back from neural networks for a<00:09:29.360> second<00:09:29.960> and<00:09:30.120> go<00:09:30.320> back<00:09:30.760> to<00:09:30.880> the<00:09:31.040> early<00:09:31.320> 19th" + }, + { + "start": 571.829, + "duration": 0.0, + "text": "a second and go back to the early 19th" + }, + { + "start": 571.839, + "duration": 0.0, + "text": "a second and go back to the early 19th century." + }, + { + "start": 573.63, + "duration": 0.0, + "text": "century." + }, + { + "start": 573.64, + "duration": 0.0, + "text": "century. The<00:09:33.800> French<00:09:34.160> mathematician<00:09:34.920> Joseph<00:09:35.320> Fourier" + }, + { + "start": 575.95, + "duration": 0.0, + "text": "The French mathematician Joseph Fourier" + }, + { + "start": 575.96, + "duration": 0.0, + "text": "The French mathematician Joseph Fourier was<00:09:36.280> obsessed<00:09:36.880> with<00:09:37.040> a<00:09:37.120> specific<00:09:37.640> problem," + }, + { + "start": 578.55, + "duration": 0.0, + "text": "was obsessed with a specific problem," + }, + { + "start": 578.56, + "duration": 0.0, + "text": "was obsessed with a specific problem, heat." + }, + { + "start": 579.79, + "duration": 0.0, + "text": "heat." + }, + { + "start": 579.8, + "duration": 0.0, + "text": "heat. He<00:09:39.960> wanted<00:09:40.280> to<00:09:40.360> describe<00:09:41.000> exactly<00:09:41.560> how<00:09:41.760> heat" + }, + { + "start": 582.07, + "duration": 0.0, + "text": "He wanted to describe exactly how heat" + }, + { + "start": 582.08, + "duration": 0.0, + "text": "He wanted to describe exactly how heat spreads<00:09:42.720> through<00:09:42.960> a<00:09:43.000> solid<00:09:43.440> object<00:09:44.200> like<00:09:44.400> an" + }, + { + "start": 584.59, + "duration": 0.0, + "text": "spreads through a solid object like an" + }, + { + "start": 584.6, + "duration": 0.0, + "text": "spreads through a solid object like an iron<00:09:44.920> bar<00:09:45.480> over<00:09:45.800> time." + }, + { + "start": 587.03, + "duration": 0.0, + "text": "iron bar over time." + }, + { + "start": 587.04, + "duration": 0.0, + "text": "iron bar over time. He<00:09:47.240> wrote<00:09:47.560> down<00:09:47.880> the<00:09:47.960> differential<00:09:48.520> equation" + }, + { + "start": 588.99, + "duration": 0.0, + "text": "He wrote down the differential equation" + }, + { + "start": 589.0, + "duration": 0.0, + "text": "He wrote down the differential equation for<00:09:49.240> it,<00:09:49.440> but<00:09:49.760> hit<00:09:49.920> a<00:09:49.960> wall." + }, + { + "start": 591.23, + "duration": 0.0, + "text": "for it, but hit a wall." + }, + { + "start": 591.24, + "duration": 0.0, + "text": "for it, but hit a wall. If<00:09:51.400> the<00:09:51.520> initial<00:09:51.920> heat<00:09:52.240> profile<00:09:52.840> was<00:09:53.040> jagged" + }, + { + "start": 593.55, + "duration": 0.0, + "text": "If the initial heat profile was jagged" + }, + { + "start": 593.56, + "duration": 0.0, + "text": "If the initial heat profile was jagged or<00:09:53.680> complicated,<00:09:54.600> the<00:09:54.680> math<00:09:55.040> was<00:09:55.240> impossible." + }, + { + "start": 596.31, + "duration": 0.0, + "text": "or complicated, the math was impossible." + }, + { + "start": 596.32, + "duration": 0.0, + "text": "or complicated, the math was impossible. He<00:09:56.480> could<00:09:56.640> not<00:09:57.000> solve<00:09:57.400> the<00:09:57.480> equation." + }, + { + "start": 599.19, + "duration": 0.0, + "text": "He could not solve the equation." + }, + { + "start": 599.2, + "duration": 0.0, + "text": "He could not solve the equation. But<00:09:59.360> Fourier<00:09:59.760> found<00:10:00.120> a<00:10:00.160> loophole." + }, + { + "start": 601.31, + "duration": 0.0, + "text": "But Fourier found a loophole." + }, + { + "start": 601.32, + "duration": 0.0, + "text": "But Fourier found a loophole. He<00:10:01.440> realized<00:10:02.200> that<00:10:02.520> if<00:10:02.760> the<00:10:02.840> initial" + }, + { + "start": 603.23, + "duration": 0.0, + "text": "He realized that if the initial" + }, + { + "start": 603.24, + "duration": 0.0, + "text": "He realized that if the initial temperature<00:10:03.760> looked<00:10:04.040> like<00:10:04.240> a<00:10:04.280> perfect<00:10:04.840> smooth" + }, + { + "start": 605.31, + "duration": 0.0, + "text": "temperature looked like a perfect smooth" + }, + { + "start": 605.32, + "duration": 0.0, + "text": "temperature looked like a perfect smooth sine<00:10:05.720> wave,<00:10:06.320> the<00:10:06.480> solution<00:10:06.960> was<00:10:07.120> trivial." + }, + { + "start": 608.39, + "duration": 0.0, + "text": "sine wave, the solution was trivial." + }, + { + "start": 608.4, + "duration": 0.0, + "text": "sine wave, the solution was trivial. A<00:10:08.520> sine<00:10:08.840> wave<00:10:09.120> doesn't<00:10:09.520> change<00:10:09.960> its<00:10:10.160> shape<00:10:10.600> as" + }, + { + "start": 610.71, + "duration": 0.0, + "text": "A sine wave doesn't change its shape as" + }, + { + "start": 610.72, + "duration": 0.0, + "text": "A sine wave doesn't change its shape as it<00:10:10.880> cools<00:10:11.200> down.<00:10:11.960> It<00:10:12.120> just<00:10:12.360> gets<00:10:12.640> flatter." + }, + { + "start": 613.79, + "duration": 0.0, + "text": "it cools down. It just gets flatter." + }, + { + "start": 613.8, + "duration": 0.0, + "text": "it cools down. It just gets flatter. The<00:10:13.960> math<00:10:14.320> for<00:10:14.480> a<00:10:14.520> sine<00:10:14.840> wave<00:10:15.280> was<00:10:15.520> easy." + }, + { + "start": 616.95, + "duration": 0.0, + "text": "The math for a sine wave was easy." + }, + { + "start": 616.96, + "duration": 0.0, + "text": "The math for a sine wave was easy. And<00:10:17.120> then,<00:10:17.520> he<00:10:17.640> had<00:10:17.840> a<00:10:17.880> crazy<00:10:18.360> idea." + }, + { + "start": 619.43, + "duration": 0.0, + "text": "And then, he had a crazy idea." + }, + { + "start": 619.44, + "duration": 0.0, + "text": "And then, he had a crazy idea. He<00:10:19.560> asked,<00:10:20.120> \"What<00:10:20.280> if<00:10:20.440> the<00:10:20.600> jagged" + }, + { + "start": 621.07, + "duration": 0.0, + "text": "He asked, \"What if the jagged" + }, + { + "start": 621.08, + "duration": 0.0, + "text": "He asked, \"What if the jagged complicated<00:10:21.720> shape<00:10:22.040> I<00:10:22.120> can't<00:10:22.520> solve<00:10:23.240> is" + }, + { + "start": 623.43, + "duration": 0.0, + "text": "complicated shape I can't solve is" + }, + { + "start": 623.44, + "duration": 0.0, + "text": "complicated shape I can't solve is actually<00:10:23.880> just<00:10:24.120> a<00:10:24.200> bunch<00:10:24.480> of<00:10:24.600> simple<00:10:24.960> sine" + }, + { + "start": 625.23, + "duration": 0.0, + "text": "actually just a bunch of simple sine" + }, + { + "start": 625.24, + "duration": 0.0, + "text": "actually just a bunch of simple sine waves<00:10:25.720> added<00:10:26.040> together?\"" + }, + { + "start": 627.91, + "duration": 0.0, + "text": "waves added together?\"" + }, + { + "start": 627.92, + "duration": 0.0, + "text": "waves added together?\" If<00:10:28.080> that<00:10:28.320> were<00:10:28.480> true,<00:10:29.160> he<00:10:29.360> wouldn't<00:10:29.760> need<00:10:30.040> to" + }, + { + "start": 630.19, + "duration": 0.0, + "text": "If that were true, he wouldn't need to" + }, + { + "start": 630.2, + "duration": 0.0, + "text": "If that were true, he wouldn't need to solve<00:10:30.560> the<00:10:30.680> hard<00:10:30.960> equation." + }, + { + "start": 632.15, + "duration": 0.0, + "text": "solve the hard equation." + }, + { + "start": 632.16, + "duration": 0.0, + "text": "solve the hard equation. He<00:10:32.320> could<00:10:32.520> just<00:10:32.760> solve<00:10:33.120> the<00:10:33.360> easy<00:10:33.640> equation" + }, + { + "start": 634.15, + "duration": 0.0, + "text": "He could just solve the easy equation" + }, + { + "start": 634.16, + "duration": 0.0, + "text": "He could just solve the easy equation for<00:10:34.440> each<00:10:34.680> individual<00:10:35.240> sine<00:10:35.520> wave,<00:10:36.240> add<00:10:36.560> the" + }, + { + "start": 636.71, + "duration": 0.0, + "text": "for each individual sine wave, add the" + }, + { + "start": 636.72, + "duration": 0.0, + "text": "for each individual sine wave, add the answers<00:10:37.120> together,<00:10:37.800> and<00:10:37.960> boom,<00:10:38.600> he<00:10:38.720> would" + }, + { + "start": 638.87, + "duration": 0.0, + "text": "answers together, and boom, he would" + }, + { + "start": 638.88, + "duration": 0.0, + "text": "answers together, and boom, he would have<00:10:39.160> the<00:10:39.280> solution<00:10:39.800> for<00:10:39.920> the<00:10:40.040> jagged<00:10:40.400> mess." + }, + { + "start": 641.55, + "duration": 0.0, + "text": "have the solution for the jagged mess." + }, + { + "start": 641.56, + "duration": 0.0, + "text": "have the solution for the jagged mess. And<00:10:41.720> remarkably,<00:10:42.480> he<00:10:42.600> was<00:10:42.800> right." + }, + { + "start": 643.91, + "duration": 0.0, + "text": "And remarkably, he was right." + }, + { + "start": 643.92, + "duration": 0.0, + "text": "And remarkably, he was right. We<00:10:44.040> now<00:10:44.280> know<00:10:44.720> that<00:10:45.040> if<00:10:45.200> you<00:10:45.320> have<00:10:45.600> enough<00:10:45.960> sine" + }, + { + "start": 646.23, + "duration": 0.0, + "text": "We now know that if you have enough sine" + }, + { + "start": 646.24, + "duration": 0.0, + "text": "We now know that if you have enough sine and<00:10:46.360> cosine<00:10:46.839> waves,<00:10:47.680> and<00:10:47.880> if<00:10:48.080> you<00:10:48.200> mix<00:10:48.480> them<00:10:48.760> in" + }, + { + "start": 648.91, + "duration": 0.0, + "text": "and cosine waves, and if you mix them in" + }, + { + "start": 648.92, + "duration": 0.0, + "text": "and cosine waves, and if you mix them in right<00:10:49.160> proportions,<00:10:50.280> you<00:10:50.480> can<00:10:50.680> build<00:10:51.120> any" + }, + { + "start": 651.39, + "duration": 0.0, + "text": "right proportions, you can build any" + }, + { + "start": 651.4, + "duration": 0.0, + "text": "right proportions, you can build any curve<00:10:51.800> you<00:10:51.920> want." + }, + { + "start": 653.39, + "duration": 0.0, + "text": "curve you want." + }, + { + "start": 653.4, + "duration": 0.0, + "text": "curve you want. In<00:10:53.520> mathematics,<00:10:54.320> we<00:10:54.480> say<00:10:54.760> that<00:10:55.040> sines<00:10:55.480> and" + }, + { + "start": 655.63, + "duration": 0.0, + "text": "In mathematics, we say that sines and" + }, + { + "start": 655.64, + "duration": 0.0, + "text": "In mathematics, we say that sines and cosines<00:10:56.320> form<00:10:56.680> a<00:10:56.760> basis." + }, + { + "start": 658.07, + "duration": 0.0, + "text": "cosines form a basis." + }, + { + "start": 658.08, + "duration": 0.0, + "text": "cosines form a basis. They<00:10:58.320> are<00:10:58.480> universal<00:10:59.120> building<00:10:59.480> blocks." + }, + { + "start": 660.91, + "duration": 0.0, + "text": "They are universal building blocks." + }, + { + "start": 660.92, + "duration": 0.0, + "text": "They are universal building blocks. Importantly,<00:11:01.640> they<00:11:01.839> are<00:11:01.920> not<00:11:02.160> the<00:11:02.320> only" + }, + { + "start": 662.63, + "duration": 0.0, + "text": "Importantly, they are not the only" + }, + { + "start": 662.64, + "duration": 0.0, + "text": "Importantly, they are not the only basis." + }, + { + "start": 663.95, + "duration": 0.0, + "text": "basis." + }, + { + "start": 663.96, + "duration": 0.0, + "text": "basis. You<00:11:04.120> may<00:11:04.240> have<00:11:04.440> heard<00:11:04.839> of<00:11:05.080> Taylor<00:11:05.480> expansions," + }, + { + "start": 666.27, + "duration": 0.0, + "text": "You may have heard of Taylor expansions," + }, + { + "start": 666.28, + "duration": 0.0, + "text": "You may have heard of Taylor expansions, which<00:11:06.560> use<00:11:06.800> polynomials<00:11:07.720> to<00:11:07.839> do<00:11:08.000> the<00:11:08.120> same" + }, + { + "start": 668.35, + "duration": 0.0, + "text": "which use polynomials to do the same" + }, + { + "start": 668.36, + "duration": 0.0, + "text": "which use polynomials to do the same thing." + }, + { + "start": 670.27, + "duration": 0.0, + "text": "thing." + }, + { + "start": 670.28, + "duration": 0.0, + "text": "thing. So,<00:11:10.600> what<00:11:10.800> does<00:11:10.960> it<00:11:11.040> all<00:11:11.200> have<00:11:11.440> to<00:11:11.560> do<00:11:11.720> with" + }, + { + "start": 671.87, + "duration": 0.0, + "text": "So, what does it all have to do with" + }, + { + "start": 671.88, + "duration": 0.0, + "text": "So, what does it all have to do with reservoir<00:11:12.240> computing?" + }, + { + "start": 673.59, + "duration": 0.0, + "text": "reservoir computing?" + }, + { + "start": 673.6, + "duration": 0.0, + "text": "reservoir computing? Think<00:11:13.839> about<00:11:14.120> what<00:11:14.320> we<00:11:14.400> just<00:11:14.680> built." + }, + { + "start": 675.75, + "duration": 0.0, + "text": "Think about what we just built." + }, + { + "start": 675.76, + "duration": 0.0, + "text": "Think about what we just built. We<00:11:15.920> have<00:11:16.240> a<00:11:16.360> bucket<00:11:16.720> of<00:11:16.839> neurons.<00:11:17.640> We<00:11:17.800> drive" + }, + { + "start": 678.27, + "duration": 0.0, + "text": "We have a bucket of neurons. We drive" + }, + { + "start": 678.28, + "duration": 0.0, + "text": "We have a bucket of neurons. We drive them<00:11:18.520> with<00:11:18.680> a<00:11:18.720> signal." + }, + { + "start": 679.79, + "duration": 0.0, + "text": "them with a signal." + }, + { + "start": 679.8, + "duration": 0.0, + "text": "them with a signal. Because<00:11:20.080> the<00:11:20.160> connections<00:11:20.839> are<00:11:20.960> random," + }, + { + "start": 681.71, + "duration": 0.0, + "text": "Because the connections are random," + }, + { + "start": 681.72, + "duration": 0.0, + "text": "Because the connections are random, every<00:11:22.000> neuron<00:11:22.480> reacts<00:11:22.960> differently." + }, + { + "start": 685.07, + "duration": 0.0, + "text": "every neuron reacts differently." + }, + { + "start": 685.08, + "duration": 0.0, + "text": "every neuron reacts differently. When<00:11:25.320> we<00:11:25.480> record<00:11:26.040> these<00:11:26.280> neurons,<00:11:27.000> we're" + }, + { + "start": 687.19, + "duration": 0.0, + "text": "When we record these neurons, we're" + }, + { + "start": 687.2, + "duration": 0.0, + "text": "When we record these neurons, we're looking<00:11:27.600> at<00:11:27.760> a<00:11:27.800> collection<00:11:28.360> of<00:11:28.560> random" + }, + { + "start": 688.95, + "duration": 0.0, + "text": "looking at a collection of random" + }, + { + "start": 688.96, + "duration": 0.0, + "text": "looking at a collection of random squiggly<00:11:29.440> lines." + }, + { + "start": 690.829, + "duration": 0.0, + "text": "squiggly lines." + }, + { + "start": 690.839, + "duration": 0.0, + "text": "squiggly lines. Just<00:11:31.040> like<00:11:31.240> Fourier<00:11:31.720> had<00:11:31.960> a<00:11:32.000> collection<00:11:32.520> of" + }, + { + "start": 692.67, + "duration": 0.0, + "text": "Just like Fourier had a collection of" + }, + { + "start": 692.68, + "duration": 0.0, + "text": "Just like Fourier had a collection of sine<00:11:32.960> waves<00:11:33.520> to<00:11:33.640> build<00:11:33.880> a<00:11:33.960> heat<00:11:34.280> profile,<00:11:35.320> we" + }, + { + "start": 695.47, + "duration": 0.0, + "text": "sine waves to build a heat profile, we" + }, + { + "start": 695.48, + "duration": 0.0, + "text": "sine waves to build a heat profile, we can<00:11:35.680> use<00:11:35.920> this<00:11:36.080> collection<00:11:36.560> of<00:11:36.680> neural" + }, + { + "start": 696.95, + "duration": 0.0, + "text": "can use this collection of neural" + }, + { + "start": 696.96, + "duration": 0.0, + "text": "can use this collection of neural activities<00:11:37.920> to<00:11:38.080> build<00:11:38.440> a<00:11:38.520> bird<00:11:38.840> song." + }, + { + "start": 700.19, + "duration": 0.0, + "text": "activities to build a bird song." + }, + { + "start": 700.2, + "duration": 0.0, + "text": "activities to build a bird song. In<00:11:40.400> other<00:11:40.640> words,<00:11:41.200> we<00:11:41.360> have<00:11:41.600> created<00:11:42.200> a<00:11:42.320> random" + }, + { + "start": 702.79, + "duration": 0.0, + "text": "In other words, we have created a random" + }, + { + "start": 702.8, + "duration": 0.0, + "text": "In other words, we have created a random basis,<00:11:43.560> a<00:11:43.720> library<00:11:44.240> of<00:11:44.400> Babel<00:11:44.880> of<00:11:45.040> temporal" + }, + { + "start": 705.51, + "duration": 0.0, + "text": "basis, a library of Babel of temporal" + }, + { + "start": 705.52, + "duration": 0.0, + "text": "basis, a library of Babel of temporal shapes." + }, + { + "start": 706.99, + "duration": 0.0, + "text": "shapes." + }, + { + "start": 707.0, + "duration": 0.0, + "text": "shapes. And<00:11:47.200> just<00:11:47.400> like<00:11:47.600> Fourier,<00:11:48.400> if<00:11:48.640> our<00:11:48.880> library<00:11:49.360> is" + }, + { + "start": 709.51, + "duration": 0.0, + "text": "And just like Fourier, if our library is" + }, + { + "start": 709.52, + "duration": 0.0, + "text": "And just like Fourier, if our library is big<00:11:49.720> enough,<00:11:50.400> if<00:11:50.560> we<00:11:50.680> have<00:11:50.920> enough<00:11:51.320> random" + }, + { + "start": 711.63, + "duration": 0.0, + "text": "big enough, if we have enough random" + }, + { + "start": 711.64, + "duration": 0.0, + "text": "big enough, if we have enough random variations,<00:11:53.040> we<00:11:53.200> can<00:11:53.400> find<00:11:53.840> a<00:11:53.960> linear" + }, + { + "start": 714.39, + "duration": 0.0, + "text": "variations, we can find a linear" + }, + { + "start": 714.4, + "duration": 0.0, + "text": "variations, we can find a linear combination<00:11:55.080> of<00:11:55.200> these<00:11:55.480> building<00:11:55.800> blocks" + }, + { + "start": 716.55, + "duration": 0.0, + "text": "combination of these building blocks" + }, + { + "start": 716.56, + "duration": 0.0, + "text": "combination of these building blocks that<00:11:56.920> add<00:11:57.120> up<00:11:57.480> to<00:11:57.600> tell<00:11:57.840> the<00:11:57.960> exact<00:11:58.480> story<00:11:58.920> we" + }, + { + "start": 719.07, + "duration": 0.0, + "text": "that add up to tell the exact story we" + }, + { + "start": 719.08, + "duration": 0.0, + "text": "that add up to tell the exact story we want<00:11:59.320> to<00:11:59.400> hear." + }, + { + "start": 720.83, + "duration": 0.0, + "text": "want to hear." + }, + { + "start": 720.84, + "duration": 0.0, + "text": "want to hear. So,<00:12:01.600> let's<00:12:01.960> tie<00:12:02.280> everything<00:12:02.680> together." + }, + { + "start": 723.91, + "duration": 0.0, + "text": "So, let's tie everything together." + }, + { + "start": 723.92, + "duration": 0.0, + "text": "So, let's tie everything together. We<00:12:04.080> started<00:12:04.520> with<00:12:04.760> a<00:12:04.880> simple<00:12:05.240> question.<00:12:05.960> How" + }, + { + "start": 726.15, + "duration": 0.0, + "text": "We started with a simple question. How" + }, + { + "start": 726.16, + "duration": 0.0, + "text": "We started with a simple question. How does<00:12:06.400> the<00:12:06.480> brain<00:12:06.880> generate<00:12:07.440> complex<00:12:07.920> patterns" + }, + { + "start": 728.67, + "duration": 0.0, + "text": "does the brain generate complex patterns" + }, + { + "start": 728.68, + "duration": 0.0, + "text": "does the brain generate complex patterns seemingly<00:12:09.400> out<00:12:09.600> of<00:12:09.720> thin<00:12:10.000> air?" + }, + { + "start": 731.23, + "duration": 0.0, + "text": "seemingly out of thin air?" + }, + { + "start": 731.24, + "duration": 0.0, + "text": "seemingly out of thin air? We<00:12:11.480> saw<00:12:12.000> that<00:12:12.240> recurrent<00:12:12.840> neural<00:12:13.120> networks," + }, + { + "start": 733.99, + "duration": 0.0, + "text": "We saw that recurrent neural networks," + }, + { + "start": 734.0, + "duration": 0.0, + "text": "We saw that recurrent neural networks, unlike<00:12:14.440> simple<00:12:14.840> input<00:12:15.240> to<00:12:15.360> output<00:12:15.760> machines," + }, + { + "start": 736.75, + "duration": 0.0, + "text": "unlike simple input to output machines," + }, + { + "start": 736.76, + "duration": 0.0, + "text": "unlike simple input to output machines, have<00:12:17.000> their<00:12:17.320> own<00:12:17.600> internal<00:12:18.080> dynamics,<00:12:19.200> like" + }, + { + "start": 739.47, + "duration": 0.0, + "text": "have their own internal dynamics, like" + }, + { + "start": 739.48, + "duration": 0.0, + "text": "have their own internal dynamics, like ripples<00:12:19.960> in<00:12:20.120> a<00:12:20.160> swimming<00:12:20.600> pool.<00:12:21.400> But<00:12:21.600> these" + }, + { + "start": 741.87, + "duration": 0.0, + "text": "ripples in a swimming pool. But these" + }, + { + "start": 741.88, + "duration": 0.0, + "text": "ripples in a swimming pool. But these dynamics<00:12:22.640> are<00:12:22.720> notoriously<00:12:23.440> hard<00:12:23.720> to" + }, + { + "start": 743.79, + "duration": 0.0, + "text": "dynamics are notoriously hard to" + }, + { + "start": 743.8, + "duration": 0.0, + "text": "dynamics are notoriously hard to control." + }, + { + "start": 744.99, + "duration": 0.0, + "text": "control." + }, + { + "start": 745.0, + "duration": 0.0, + "text": "control. The<00:12:25.200> key<00:12:25.480> insight<00:12:26.000> of<00:12:26.200> reservoir<00:12:26.640> computing" + }, + { + "start": 747.43, + "duration": 0.0, + "text": "The key insight of reservoir computing" + }, + { + "start": 747.44, + "duration": 0.0, + "text": "The key insight of reservoir computing is<00:12:27.640> that<00:12:27.960> we<00:12:28.120> don't<00:12:28.360> have<00:12:28.600> to<00:12:28.720> control<00:12:29.160> them." + }, + { + "start": 749.91, + "duration": 0.0, + "text": "is that we don't have to control them." + }, + { + "start": 749.92, + "duration": 0.0, + "text": "is that we don't have to control them. We<00:12:30.120> leave<00:12:30.400> the<00:12:30.560> random<00:12:30.960> network<00:12:31.480> untouched" + }, + { + "start": 752.47, + "duration": 0.0, + "text": "We leave the random network untouched" + }, + { + "start": 752.48, + "duration": 0.0, + "text": "We leave the random network untouched and<00:12:32.760> only<00:12:33.080> learn<00:12:33.480> a<00:12:33.600> simple<00:12:34.080> linear<00:12:34.480> readout." + }, + { + "start": 755.75, + "duration": 0.0, + "text": "and only learn a simple linear readout." + }, + { + "start": 755.76, + "duration": 0.0, + "text": "and only learn a simple linear readout. Adjusting<00:12:36.320> the<00:12:36.480> volume<00:12:36.880> knobs<00:12:37.280> on<00:12:37.400> a<00:12:37.480> choir<00:12:38.000> of" + }, + { + "start": 758.19, + "duration": 0.0, + "text": "Adjusting the volume knobs on a choir of" + }, + { + "start": 758.2, + "duration": 0.0, + "text": "Adjusting the volume knobs on a choir of random<00:12:38.560> voices<00:12:39.320> until<00:12:39.600> the<00:12:39.720> collective<00:12:40.240> hum" + }, + { + "start": 760.75, + "duration": 0.0, + "text": "random voices until the collective hum" + }, + { + "start": 760.76, + "duration": 0.0, + "text": "random voices until the collective hum matches<00:12:41.280> our<00:12:41.480> target." + }, + { + "start": 762.91, + "duration": 0.0, + "text": "matches our target." + }, + { + "start": 762.92, + "duration": 0.0, + "text": "matches our target. And<00:12:43.120> the<00:12:43.240> reason<00:12:43.560> this<00:12:43.800> works<00:12:44.320> is<00:12:44.560> almost" + }, + { + "start": 764.99, + "duration": 0.0, + "text": "And the reason this works is almost" + }, + { + "start": 765.0, + "duration": 0.0, + "text": "And the reason this works is almost Fourier-like.<00:12:46.240> A<00:12:46.400> large<00:12:46.800> enough<00:12:47.080> collection" + }, + { + "start": 767.55, + "duration": 0.0, + "text": "Fourier-like. A large enough collection" + }, + { + "start": 767.56, + "duration": 0.0, + "text": "Fourier-like. A large enough collection of<00:12:47.720> random<00:12:48.120> temporal<00:12:48.600> patterns<00:12:49.640> forms<00:12:50.120> a<00:12:50.240> rich" + }, + { + "start": 770.51, + "duration": 0.0, + "text": "of random temporal patterns forms a rich" + }, + { + "start": 770.52, + "duration": 0.0, + "text": "of random temporal patterns forms a rich basis<00:12:51.480> from<00:12:51.760> which<00:12:52.080> virtually<00:12:52.720> any<00:12:52.960> signal" + }, + { + "start": 773.51, + "duration": 0.0, + "text": "basis from which virtually any signal" + }, + { + "start": 773.52, + "duration": 0.0, + "text": "basis from which virtually any signal can<00:12:53.720> be<00:12:53.839> reconstructed." + }, + { + "start": 776.35, + "duration": 0.0, + "text": "can be reconstructed." + }, + { + "start": 776.36, + "duration": 0.0, + "text": "can be reconstructed. This<00:12:56.680> tells<00:12:56.920> us<00:12:57.040> something<00:12:57.400> interesting" + }, + { + "start": 777.87, + "duration": 0.0, + "text": "This tells us something interesting" + }, + { + "start": 777.88, + "duration": 0.0, + "text": "This tells us something interesting about<00:12:58.160> the<00:12:58.240> brain." + }, + { + "start": 779.55, + "duration": 0.0, + "text": "about the brain." + }, + { + "start": 779.56, + "duration": 0.0, + "text": "about the brain. Maybe<00:13:00.240> biological<00:13:00.880> neural<00:13:01.160> circuits<00:13:02.040> don't" + }, + { + "start": 782.43, + "duration": 0.0, + "text": "Maybe biological neural circuits don't" + }, + { + "start": 782.44, + "duration": 0.0, + "text": "Maybe biological neural circuits don't need<00:13:02.720> to<00:13:02.839> be<00:13:03.000> precisely<00:13:03.720> engineered<00:13:04.680> to" + }, + { + "start": 784.79, + "duration": 0.0, + "text": "need to be precisely engineered to" + }, + { + "start": 784.8, + "duration": 0.0, + "text": "need to be precisely engineered to produce<00:13:05.240> complex<00:13:05.680> behavior." + }, + { + "start": 786.91, + "duration": 0.0, + "text": "produce complex behavior." + }, + { + "start": 786.92, + "duration": 0.0, + "text": "produce complex behavior. The<00:13:07.160> messy,<00:13:07.720> random-looking<00:13:08.480> tangle<00:13:08.880> of" + }, + { + "start": 788.99, + "duration": 0.0, + "text": "The messy, random-looking tangle of" + }, + { + "start": 789.0, + "duration": 0.0, + "text": "The messy, random-looking tangle of connections<00:13:09.640> might<00:13:09.839> not<00:13:10.040> be<00:13:10.160> a<00:13:10.240> bug.<00:13:11.080> It<00:13:11.280> might" + }, + { + "start": 791.47, + "duration": 0.0, + "text": "connections might not be a bug. It might" + }, + { + "start": 791.48, + "duration": 0.0, + "text": "connections might not be a bug. It might be<00:13:11.560> exactly<00:13:12.120> the<00:13:12.240> feature<00:13:12.839> that<00:13:13.000> makes<00:13:13.240> the" + }, + { + "start": 793.35, + "duration": 0.0, + "text": "be exactly the feature that makes the" + }, + { + "start": 793.36, + "duration": 0.0, + "text": "be exactly the feature that makes the system<00:13:13.960> so<00:13:14.160> powerful." + }, + { + "start": 795.51, + "duration": 0.0, + "text": "system so powerful." + }, + { + "start": 795.52, + "duration": 0.0, + "text": "system so powerful. If<00:13:15.720> you<00:13:15.760> enjoyed<00:13:16.080> the<00:13:16.160> video,<00:13:16.720> share<00:13:17.000> it<00:13:17.160> with" + }, + { + "start": 797.31, + "duration": 0.0, + "text": "If you enjoyed the video, share it with" + }, + { + "start": 797.32, + "duration": 0.0, + "text": "If you enjoyed the video, share it with your<00:13:17.400> friends,<00:13:18.040> subscribe<00:13:18.520> to<00:13:18.640> the<00:13:18.760> channel" + }, + { + "start": 799.11, + "duration": 0.0, + "text": "your friends, subscribe to the channel" + }, + { + "start": 799.12, + "duration": 0.0, + "text": "your friends, subscribe to the channel if<00:13:19.240> you<00:13:19.360> haven't<00:13:19.640> already,<00:13:20.240> and<00:13:20.560> press<00:13:20.800> like" + }, + { + "start": 800.95, + "duration": 0.0, + "text": "if you haven't already, and press like" + }, + { + "start": 800.96, + "duration": 0.0, + "text": "if you haven't already, and press like button.<00:13:21.720> Stay<00:13:21.960> tuned<00:13:22.480> for<00:13:22.600> more" + }, + { + "start": 802.79, + "duration": 0.0, + "text": "button. Stay tuned for more" + }, + { + "start": 802.8, + "duration": 0.0, + "text": "button. Stay tuned for more computational<00:13:23.400> neuroscience<00:13:24.080> and<00:13:24.200> machine" + }, + { + "start": 804.51, + "duration": 0.0, + "text": "computational neuroscience and machine" + }, + { + "start": 804.52, + "duration": 0.0, + "text": "computational neuroscience and machine learning<00:13:24.760> topics<00:13:25.520> coming<00:13:25.800> up." + }, + { + "start": 810.244, + "duration": 0.0, + "text": ">> [music]" + } + ], + "plain": "You know, there is something miraculous\nhappening in your brain right now.\nClose your eyes.\nI want you to think of the song \"We Will\nRock You\" by Queen.\nChances are you can hear it in your\nhead. But here's the mystery. Where is\nit coming from?\nYour eardrums are not vibrating. The\noutside world is not pushing the song\ninto your brain. You are generating it\ninternally.\nThis is actually one of the fundamental\ntasks that the brain needs to perform,\ncalled autonomous pattern generation.\nFrom a zebra finch singing its [music]\nsong to a pitcher throwing a ball,\nbrains constantly face the challenge of\nlearning to produce precise sequences of\nneural activity.\nSo, if you want to build a machine that\nthinks like us, we have to solve this\nspecific problem.\nHow do we build a box that generates\ncomplex behavior seemingly out of thin\nair?\nIn the previous video, we saw that\nstandard neural networks are essentially\nstatic machines having no sense of time.\nTo fix this, we introduced recurrence,\nletting neurons feed their activity back\ninto themselves.\nBut as we hinted, there is another way\nto think about recurrence, not as an\nengineering fix, but as a fundamental\nproperty of a dynamical system.\nThink of it like a swimming pool. You\njump in, this is the input. You make a\nsplash, but after you leave, the water\ndoesn't stop.\nThe ripples you generated spread,\nreflect off the walls, and interfere\nwith each other, creating complex\npatterns.\nEssentially, the input just gave the\nsystem a little nudge, but the water\nkeeps dancing according to its own\ninternal physics, creating a kind of\nmemory of your jump.\nNow, we know that brains compute with\nthe nerve cells\nacting as individual units interacting\nwith each other.\nIn a way, they are like individual water\nmolecules in that pool.\nImagine a bucket of n neurons, say a\nthousand of them.\nWe'll call this our reservoir.\nLet's connect them randomly.\nSome connections are strong, some are\nweak.\nSome positive, some negative. It's a big\ntangled mess.\nLet's write down what happens to a\nsingle neuron in that pool.\nAt each moment, its state is determined\nby where it was a moment ago\nplus the incoming ripples from all other\nneurons.\nHere our w i j is the strength of the\nconnection between neurons j and i, and\nsigma is our activation function\nmimicking how a real neuron only fires\nonce its input voltage crosses a\nthreshold.\nBut here's the catch.\nIn a real swimming pool, if you wait\nlong enough, the water settles.\nThe friction kills the energy and the\nripples die out.\nNow, mathematically, this friction is\nactually a good thing.\n>> [music]\n>> It creates stability.\nIt creates stability.\nIf we didn't have it, if we cranked up\nthe weights too high, the network would\ngenerate a self-sustained dance, but it\nwould be chaotic.\nChaos here means a sensitivity to\ninitial conditions.\nIf a single neuron misfired by a\nmillisecond, that tiny error would\nexplode and the whole pattern would\nchange. You can't compute with an\nexplosion.\nSo, we tuned the network to have what's\ncalled an echo state property.\nIt means that every input leaves a\ntemporary trace, an echo in the\nnetwork's activity. But that echo\ngradually fades over time.\nBut this brings us back to the swimming\npool problem. If the ripples eventually\ndie out, how do we sing a long song? We\nneed to keep the water moving. We need a\ndriver.\nLet's introduce a simple rhythmic signal\nZ of T.\nSomething like a boring sine wave to\nkeep the energy levels up. Think of it\nlike a background clock.\n>> In the brain, this might correspond to\nIn the brain, this might correspond to\nthe rhythmic oscillations like theta or\ngamma waves that act as neural\npacemakers.\nEach neuron now receives this driving\nsignal scaled by the value mu unique to\nthat neuron.\nThe goal then is to take this boring\ndriving signal Z of T and transform it\ninto an interesting target signal Y of\nT. Like a zebra finch song or a motor\ncommand.\nIt's like dropping a stone in the pool\nevery 10 seconds, but sculpting the\nwalls of the pool so perfectly that the\nresulting ripples sound like Beethoven's\nFifth Symphony.\nThat sounds extremely complicated, and\nthat's because it is.\nIn fact, to this day, recurrent neural\nnetworks are notoriously hard to train.\nBut here comes the crucial mental shift.\nYou see, in traditional machine\nlearning, you act as a micro-manager.\nYou try to adjust every single\nconnection weight between every pair of\nneurons to sculpt that perfect splash.\nThe problem is that once you introduce\nrecurrence, the interactions become\nentangled in time.\nThe effect of nudging a weight by 1%\nright now might have unexpected\nconsequences 10 seconds from now.\nBecause these ripples are bouncing\naround in loops, it's incredibly hard to\nuntie the knot.\nIf these ideas got you curious about\nbroader theories of neural computation,\nI'd recommend a book A Thousand Brains\nTheory by Jeff Hawkins, which proposes\nthat the neocortex is itself a kind of\nreservoir of independent cortical\ncolumns.\nYou can find it on Shortform for kindly\nsponsoring today's video. Shortform\nturns books into proper study resources,\nnot just condensed summaries, but deep\nguides that place each book's ideas in\nthe context of related research and\nother titles, offering a much richer\nunderstanding of the big picture.\nThey cover a wide range of genres like\nscience, technology, and education,\nreleasing new guides every week and\nletting subscribers vote on which books\nto cover next.\nThere is also a browser extension that\ndoes the same thing for articles and\nYouTube videos you stumble across\nonline.\nIf you want to supercharge your reading,\nfollow the link down in the description\nfor a free trial and 20% off the annual\nsubscription.\nBut in the early 2000s, researchers\nasked a radical question.\nWhat if instead of trying to tame this\nmess, we embraced it?\nWhat if we don't train the reservoir at\nall?\nThis is the philosophy of reservoir\ncomputing.\nWe leave the connections inside the\nbucket completely random. We don't touch\nthem.\nRather than trying to force water\nmolecules to bounce around perfectly, we\njust learn to work with the physics we\nalready have.\nLet's see what happens when we let a\nsimple sine wave hit that random\nnetwork.\nExamining individual neurons, it looks\nlike a mess.\nBut reservoir computing relies on a\nbeautiful mathematical curiosity.\nThe answer we're looking for is already\nhidden in that noise.\nWe just need to learn to look at the\nmess at the right angle.\nNow, this might sound like magic, and\nwe'll see why it works in a moment, but\nhere is what I mean.\nLet's add one final neuron called the\nreadout.\nIt listens to the activity of all other\nneurons, but doesn't talk back.\nThe state of that readout, X of T, is\nsimply a weighted sum of all neurons\nstates in the network. While we can't\ntouch the network, we can adjust these\nreadout weights. In fact, this is the\nonly thing we can do.\nYou can think of it like this. Each\nneuron is shouting its own random\ngibberish into its microphone.\nOur job then is to simply tweak the\nvolume knobs on all of those microphones\nin such a way that the collective hum\nsounds like our target song.\nWe let the network run for a while and\nrecord the voices of all N neurons.\nMathematically, we're looking for a set\nof coefficients such that when we add up\nall these random signals, we get our\ntarget Y of T.\nIt turns out this is a famous problem\nwith a simple analytical solution.\nIt is just a linear regression in\ndisguise.\nThe math for finding the perfect bird\nsong is the exact same math used to fit\na straight line through a set of points\non a graph.\nI won't go through the derivation here.\nI think the conceptual picture is far\nmore important. But the upshot is this.\nWe can calculate the optimal weights in\na single sweep. Once we lock those\nweights in, if we drive the network with\nthat simple sine wave, it produces a\ncomplex rippling response that the\nreadout neuron translates into a\nbeautiful zebra finch song.\nBut this might feel unsatisfying, almost\nmagical. Why on earth would we expect a\ncomplex signal to be hiding inside a\nbucket of randomly connected neurons?\nThe intuition I find the most satisfying\nis this.\nLet's step back from neural networks for\na second and go back to the early 19th\ncentury.\nThe French mathematician Joseph Fourier\nwas obsessed with a specific problem,\nheat.\nHe wanted to describe exactly how heat\nspreads through a solid object like an\niron bar over time.\nHe wrote down the differential equation\nfor it, but hit a wall.\nIf the initial heat profile was jagged\nor complicated, the math was impossible.\nHe could not solve the equation.\nBut Fourier found a loophole.\nHe realized that if the initial\ntemperature looked like a perfect smooth\nsine wave, the solution was trivial.\nA sine wave doesn't change its shape as\nit cools down. It just gets flatter.\nThe math for a sine wave was easy.\nAnd then, he had a crazy idea.\nHe asked, \"What if the jagged\ncomplicated shape I can't solve is\nactually just a bunch of simple sine\nwaves added together?\"\nIf that were true, he wouldn't need to\nsolve the hard equation.\nHe could just solve the easy equation\nfor each individual sine wave, add the\nanswers together, and boom, he would\nhave the solution for the jagged mess.\nAnd remarkably, he was right.\nWe now know that if you have enough sine\nand cosine waves, and if you mix them in\nright proportions, you can build any\ncurve you want.\nIn mathematics, we say that sines and\ncosines form a basis.\nThey are universal building blocks.\nImportantly, they are not the only\nbasis.\nYou may have heard of Taylor expansions,\nwhich use polynomials to do the same\nthing.\nSo, what does it all have to do with\nreservoir computing?\nThink about what we just built.\nWe have a bucket of neurons. We drive\nthem with a signal.\nBecause the connections are random,\nevery neuron reacts differently.\nWhen we record these neurons, we're\nlooking at a collection of random\nsquiggly lines.\nJust like Fourier had a collection of\nsine waves to build a heat profile, we\ncan use this collection of neural\nactivities to build a bird song.\nIn other words, we have created a random\nbasis, a library of Babel of temporal\nshapes.\nAnd just like Fourier, if our library is\nbig enough, if we have enough random\nvariations, we can find a linear\ncombination of these building blocks\nthat add up to tell the exact story we\nwant to hear.\nSo, let's tie everything together.\nWe started with a simple question. How\ndoes the brain generate complex patterns\nseemingly out of thin air?\nWe saw that recurrent neural networks,\nunlike simple input to output machines,\nhave their own internal dynamics, like\nripples in a swimming pool. But these\ndynamics are notoriously hard to\ncontrol.\nThe key insight of reservoir computing\nis that we don't have to control them.\nWe leave the random network untouched\nand only learn a simple linear readout.\nAdjusting the volume knobs on a choir of\nrandom voices until the collective hum\nmatches our target.\nAnd the reason this works is almost\nFourier-like. A large enough collection\nof random temporal patterns forms a rich\nbasis from which virtually any signal\ncan be reconstructed.\nThis tells us something interesting\nabout the brain.\nMaybe biological neural circuits don't\nneed to be precisely engineered to\nproduce complex behavior.\nThe messy, random-looking tangle of\nconnections might not be a bug. It might\nbe exactly the feature that makes the\nsystem so powerful.\nIf you enjoyed the video, share it with\nyour friends, subscribe to the channel\nif you haven't already, and press like\nbutton. Stay tuned for more\ncomputational neuroscience and machine\nlearning topics coming up.", + "fetched_at": "2026-06-22T03:50:55Z", + "source": "yt-dlp-vtt", + "clean_segments": [ + { + "start": 0.0, + "text": "You know, there is something miraculous" + }, + { + "start": 2.32, + "text": "happening in your brain right now." + }, + { + "start": 4.8, + "text": "Close your eyes." + }, + { + "start": 6.4, + "text": "I want you to think of the song \"We Will" + }, + { + "start": 8.6, + "text": "Rock You\" by Queen." + }, + { + "start": 10.64, + "text": "Chances are you can hear it in your" + }, + { + "start": 12.6, + "text": "head. But here's the mystery. Where is" + }, + { + "start": 15.8, + "text": "it coming from?" + }, + { + "start": 17.12, + "text": "Your eardrums are not vibrating. The" + }, + { + "start": 19.76, + "text": "outside world is not pushing the song" + }, + { + "start": 22.0, + "text": "into your brain. You are generating it" + }, + { + "start": 24.6, + "text": "internally." + }, + { + "start": 27.04, + "text": "This is actually one of the fundamental" + }, + { + "start": 29.16, + "text": "tasks that the brain needs to perform," + }, + { + "start": 31.92, + "text": "called autonomous pattern generation." + }, + { + "start": 34.8, + "text": "From a zebra finch singing its [music]" + }, + { + "start": 36.92, + "text": "song to a pitcher throwing a ball," + }, + { + "start": 39.76, + "text": "brains constantly face the challenge of" + }, + { + "start": 42.36, + "text": "learning to produce precise sequences of" + }, + { + "start": 45.28, + "text": "neural activity." + }, + { + "start": 47.32, + "text": "So, if you want to build a machine that" + }, + { + "start": 49.52, + "text": "thinks like us, we have to solve this" + }, + { + "start": 52.12, + "text": "specific problem." + }, + { + "start": 53.8, + "text": "How do we build a box that generates" + }, + { + "start": 56.2, + "text": "complex behavior seemingly out of thin" + }, + { + "start": 58.72, + "text": "air?" + }, + { + "start": 63.88, + "text": "In the previous video, we saw that" + }, + { + "start": 65.6, + "text": "standard neural networks are essentially" + }, + { + "start": 67.72, + "text": "static machines having no sense of time." + }, + { + "start": 71.04, + "text": "To fix this, we introduced recurrence," + }, + { + "start": 73.68, + "text": "letting neurons feed their activity back" + }, + { + "start": 76.16, + "text": "into themselves." + }, + { + "start": 77.76, + "text": "But as we hinted, there is another way" + }, + { + "start": 79.92, + "text": "to think about recurrence, not as an" + }, + { + "start": 82.32, + "text": "engineering fix, but as a fundamental" + }, + { + "start": 84.92, + "text": "property of a dynamical system." + }, + { + "start": 87.64, + "text": "Think of it like a swimming pool. You" + }, + { + "start": 89.72, + "text": "jump in, this is the input. You make a" + }, + { + "start": 92.4, + "text": "splash, but after you leave, the water" + }, + { + "start": 95.12, + "text": "doesn't stop." + }, + { + "start": 96.84, + "text": "The ripples you generated spread," + }, + { + "start": 99.24, + "text": "reflect off the walls, and interfere" + }, + { + "start": 101.56, + "text": "with each other, creating complex" + }, + { + "start": 103.56, + "text": "patterns." + }, + { + "start": 104.96, + "text": "Essentially, the input just gave the" + }, + { + "start": 106.92, + "text": "system a little nudge, but the water" + }, + { + "start": 109.12, + "text": "keeps dancing according to its own" + }, + { + "start": 111.16, + "text": "internal physics, creating a kind of" + }, + { + "start": 113.48, + "text": "memory of your jump." + }, + { + "start": 116.12, + "text": "Now, we know that brains compute with" + }, + { + "start": 118.44, + "text": "the nerve cells" + }, + { + "start": 120.0, + "text": "acting as individual units interacting" + }, + { + "start": 122.72, + "text": "with each other." + }, + { + "start": 124.44, + "text": "In a way, they are like individual water" + }, + { + "start": 126.52, + "text": "molecules in that pool." + }, + { + "start": 129.32, + "text": "Imagine a bucket of n neurons, say a" + }, + { + "start": 132.24, + "text": "thousand of them." + }, + { + "start": 133.84, + "text": "We'll call this our reservoir." + }, + { + "start": 136.48, + "text": "Let's connect them randomly." + }, + { + "start": 138.88, + "text": "Some connections are strong, some are" + }, + { + "start": 140.72, + "text": "weak." + }, + { + "start": 141.72, + "text": "Some positive, some negative. It's a big" + }, + { + "start": 144.24, + "text": "tangled mess." + }, + { + "start": 146.28, + "text": "Let's write down what happens to a" + }, + { + "start": 147.959, + "text": "single neuron in that pool." + }, + { + "start": 150.36, + "text": "At each moment, its state is determined" + }, + { + "start": 153.0, + "text": "by where it was a moment ago" + }, + { + "start": 155.4, + "text": "plus the incoming ripples from all other" + }, + { + "start": 157.88, + "text": "neurons." + }, + { + "start": 159.28, + "text": "Here our w i j is the strength of the" + }, + { + "start": 161.88, + "text": "connection between neurons j and i, and" + }, + { + "start": 164.56, + "text": "sigma is our activation function" + }, + { + "start": 167.16, + "text": "mimicking how a real neuron only fires" + }, + { + "start": 169.72, + "text": "once its input voltage crosses a" + }, + { + "start": 171.6, + "text": "threshold." + }, + { + "start": 173.4, + "text": "But here's the catch." + }, + { + "start": 175.12, + "text": "In a real swimming pool, if you wait" + }, + { + "start": 177.2, + "text": "long enough, the water settles." + }, + { + "start": 179.68, + "text": "The friction kills the energy and the" + }, + { + "start": 181.64, + "text": "ripples die out." + }, + { + "start": 183.36, + "text": "Now, mathematically, this friction is" + }, + { + "start": 185.36, + "text": "actually a good thing." + }, + { + "start": 186.677, + "text": ">> [music]" + }, + { + "start": 186.84, + "text": ">> It creates stability." + }, + { + "start": 189.19, + "text": "It creates stability." + }, + { + "start": 189.2, + "text": "If we didn't have it, if we cranked up" + }, + { + "start": 191.28, + "text": "the weights too high, the network would" + }, + { + "start": 193.76, + "text": "generate a self-sustained dance, but it" + }, + { + "start": 196.36, + "text": "would be chaotic." + }, + { + "start": 198.08, + "text": "Chaos here means a sensitivity to" + }, + { + "start": 200.36, + "text": "initial conditions." + }, + { + "start": 202.76, + "text": "If a single neuron misfired by a" + }, + { + "start": 204.8, + "text": "millisecond, that tiny error would" + }, + { + "start": 207.04, + "text": "explode and the whole pattern would" + }, + { + "start": 209.0, + "text": "change. You can't compute with an" + }, + { + "start": 211.32, + "text": "explosion." + }, + { + "start": 213.0, + "text": "So, we tuned the network to have what's" + }, + { + "start": 215.0, + "text": "called an echo state property." + }, + { + "start": 217.36, + "text": "It means that every input leaves a" + }, + { + "start": 219.519, + "text": "temporary trace, an echo in the" + }, + { + "start": 221.92, + "text": "network's activity. But that echo" + }, + { + "start": 224.16, + "text": "gradually fades over time." + }, + { + "start": 227.2, + "text": "But this brings us back to the swimming" + }, + { + "start": 229.08, + "text": "pool problem. If the ripples eventually" + }, + { + "start": 231.56, + "text": "die out, how do we sing a long song? We" + }, + { + "start": 235.08, + "text": "need to keep the water moving. We need a" + }, + { + "start": 237.48, + "text": "driver." + }, + { + "start": 239.0, + "text": "Let's introduce a simple rhythmic signal" + }, + { + "start": 241.48, + "text": "Z of T." + }, + { + "start": 243.04, + "text": "Something like a boring sine wave to" + }, + { + "start": 245.4, + "text": "keep the energy levels up. Think of it" + }, + { + "start": 248.04, + "text": "like a background clock." + }, + { + "start": 249.88, + "text": ">> In the brain, this might correspond to" + }, + { + "start": 252.07, + "text": "In the brain, this might correspond to" + }, + { + "start": 252.08, + "text": "the rhythmic oscillations like theta or" + }, + { + "start": 254.12, + "text": "gamma waves that act as neural" + }, + { + "start": 256.32, + "text": "pacemakers." + }, + { + "start": 258.4, + "text": "Each neuron now receives this driving" + }, + { + "start": 260.56, + "text": "signal scaled by the value mu unique to" + }, + { + "start": 263.6, + "text": "that neuron." + }, + { + "start": 265.24, + "text": "The goal then is to take this boring" + }, + { + "start": 267.6, + "text": "driving signal Z of T and transform it" + }, + { + "start": 270.44, + "text": "into an interesting target signal Y of" + }, + { + "start": 272.68, + "text": "T. Like a zebra finch song or a motor" + }, + { + "start": 275.8, + "text": "command." + }, + { + "start": 277.88, + "text": "It's like dropping a stone in the pool" + }, + { + "start": 279.919, + "text": "every 10 seconds, but sculpting the" + }, + { + "start": 282.28, + "text": "walls of the pool so perfectly that the" + }, + { + "start": 285.04, + "text": "resulting ripples sound like Beethoven's" + }, + { + "start": 287.4, + "text": "Fifth Symphony." + }, + { + "start": 289.04, + "text": "That sounds extremely complicated, and" + }, + { + "start": 291.72, + "text": "that's because it is." + }, + { + "start": 293.6, + "text": "In fact, to this day, recurrent neural" + }, + { + "start": 296.0, + "text": "networks are notoriously hard to train." + }, + { + "start": 299.28, + "text": "But here comes the crucial mental shift." + }, + { + "start": 302.52, + "text": "You see, in traditional machine" + }, + { + "start": 304.2, + "text": "learning, you act as a micro-manager." + }, + { + "start": 307.2, + "text": "You try to adjust every single" + }, + { + "start": 309.12, + "text": "connection weight between every pair of" + }, + { + "start": 311.12, + "text": "neurons to sculpt that perfect splash." + }, + { + "start": 314.6, + "text": "The problem is that once you introduce" + }, + { + "start": 316.72, + "text": "recurrence, the interactions become" + }, + { + "start": 319.24, + "text": "entangled in time." + }, + { + "start": 321.2, + "text": "The effect of nudging a weight by 1%" + }, + { + "start": 323.48, + "text": "right now might have unexpected" + }, + { + "start": 325.68, + "text": "consequences 10 seconds from now." + }, + { + "start": 328.36, + "text": "Because these ripples are bouncing" + }, + { + "start": 330.28, + "text": "around in loops, it's incredibly hard to" + }, + { + "start": 332.88, + "text": "untie the knot." + }, + { + "start": 335.24, + "text": "If these ideas got you curious about" + }, + { + "start": 337.44, + "text": "broader theories of neural computation," + }, + { + "start": 339.72, + "text": "I'd recommend a book A Thousand Brains" + }, + { + "start": 341.84, + "text": "Theory by Jeff Hawkins, which proposes" + }, + { + "start": 344.6, + "text": "that the neocortex is itself a kind of" + }, + { + "start": 346.96, + "text": "reservoir of independent cortical" + }, + { + "start": 348.84, + "text": "columns." + }, + { + "start": 350.0, + "text": "You can find it on Shortform for kindly" + }, + { + "start": 352.32, + "text": "sponsoring today's video. Shortform" + }, + { + "start": 354.68, + "text": "turns books into proper study resources," + }, + { + "start": 357.52, + "text": "not just condensed summaries, but deep" + }, + { + "start": 359.8, + "text": "guides that place each book's ideas in" + }, + { + "start": 362.64, + "text": "the context of related research and" + }, + { + "start": 364.76, + "text": "other titles, offering a much richer" + }, + { + "start": 367.24, + "text": "understanding of the big picture." + }, + { + "start": 369.64, + "text": "They cover a wide range of genres like" + }, + { + "start": 371.8, + "text": "science, technology, and education," + }, + { + "start": 374.16, + "text": "releasing new guides every week and" + }, + { + "start": 376.32, + "text": "letting subscribers vote on which books" + }, + { + "start": 378.24, + "text": "to cover next." + }, + { + "start": 379.72, + "text": "There is also a browser extension that" + }, + { + "start": 381.84, + "text": "does the same thing for articles and" + }, + { + "start": 383.8, + "text": "YouTube videos you stumble across" + }, + { + "start": 385.44, + "text": "online." + }, + { + "start": 386.84, + "text": "If you want to supercharge your reading," + }, + { + "start": 388.84, + "text": "follow the link down in the description" + }, + { + "start": 390.64, + "text": "for a free trial and 20% off the annual" + }, + { + "start": 393.52, + "text": "subscription." + }, + { + "start": 395.56, + "text": "But in the early 2000s, researchers" + }, + { + "start": 398.16, + "text": "asked a radical question." + }, + { + "start": 400.4, + "text": "What if instead of trying to tame this" + }, + { + "start": 402.44, + "text": "mess, we embraced it?" + }, + { + "start": 404.88, + "text": "What if we don't train the reservoir at" + }, + { + "start": 407.24, + "text": "all?" + }, + { + "start": 408.6, + "text": "This is the philosophy of reservoir" + }, + { + "start": 410.56, + "text": "computing." + }, + { + "start": 412.04, + "text": "We leave the connections inside the" + }, + { + "start": 413.8, + "text": "bucket completely random. We don't touch" + }, + { + "start": 416.12, + "text": "them." + }, + { + "start": 416.96, + "text": "Rather than trying to force water" + }, + { + "start": 418.68, + "text": "molecules to bounce around perfectly, we" + }, + { + "start": 421.44, + "text": "just learn to work with the physics we" + }, + { + "start": 423.6, + "text": "already have." + }, + { + "start": 426.2, + "text": "Let's see what happens when we let a" + }, + { + "start": 428.2, + "text": "simple sine wave hit that random" + }, + { + "start": 430.2, + "text": "network." + }, + { + "start": 431.68, + "text": "Examining individual neurons, it looks" + }, + { + "start": 433.88, + "text": "like a mess." + }, + { + "start": 435.2, + "text": "But reservoir computing relies on a" + }, + { + "start": 437.12, + "text": "beautiful mathematical curiosity." + }, + { + "start": 439.72, + "text": "The answer we're looking for is already" + }, + { + "start": 442.2, + "text": "hidden in that noise." + }, + { + "start": 444.32, + "text": "We just need to learn to look at the" + }, + { + "start": 445.96, + "text": "mess at the right angle." + }, + { + "start": 448.28, + "text": "Now, this might sound like magic, and" + }, + { + "start": 450.28, + "text": "we'll see why it works in a moment, but" + }, + { + "start": 452.48, + "text": "here is what I mean." + }, + { + "start": 454.08, + "text": "Let's add one final neuron called the" + }, + { + "start": 456.64, + "text": "readout." + }, + { + "start": 457.88, + "text": "It listens to the activity of all other" + }, + { + "start": 460.12, + "text": "neurons, but doesn't talk back." + }, + { + "start": 462.72, + "text": "The state of that readout, X of T, is" + }, + { + "start": 465.64, + "text": "simply a weighted sum of all neurons" + }, + { + "start": 468.12, + "text": "states in the network. While we can't" + }, + { + "start": 470.92, + "text": "touch the network, we can adjust these" + }, + { + "start": 473.4, + "text": "readout weights. In fact, this is the" + }, + { + "start": 475.84, + "text": "only thing we can do." + }, + { + "start": 477.8, + "text": "You can think of it like this. Each" + }, + { + "start": 479.64, + "text": "neuron is shouting its own random" + }, + { + "start": 481.68, + "text": "gibberish into its microphone." + }, + { + "start": 484.04, + "text": "Our job then is to simply tweak the" + }, + { + "start": 486.44, + "text": "volume knobs on all of those microphones" + }, + { + "start": 489.32, + "text": "in such a way that the collective hum" + }, + { + "start": 491.84, + "text": "sounds like our target song." + }, + { + "start": 495.08, + "text": "We let the network run for a while and" + }, + { + "start": 497.08, + "text": "record the voices of all N neurons." + }, + { + "start": 500.6, + "text": "Mathematically, we're looking for a set" + }, + { + "start": 502.56, + "text": "of coefficients such that when we add up" + }, + { + "start": 505.28, + "text": "all these random signals, we get our" + }, + { + "start": 507.52, + "text": "target Y of T." + }, + { + "start": 509.76, + "text": "It turns out this is a famous problem" + }, + { + "start": 512.159, + "text": "with a simple analytical solution." + }, + { + "start": 514.76, + "text": "It is just a linear regression in" + }, + { + "start": 516.76, + "text": "disguise." + }, + { + "start": 518.24, + "text": "The math for finding the perfect bird" + }, + { + "start": 520.4, + "text": "song is the exact same math used to fit" + }, + { + "start": 523.32, + "text": "a straight line through a set of points" + }, + { + "start": 525.44, + "text": "on a graph." + }, + { + "start": 526.72, + "text": "I won't go through the derivation here." + }, + { + "start": 528.88, + "text": "I think the conceptual picture is far" + }, + { + "start": 530.76, + "text": "more important. But the upshot is this." + }, + { + "start": 533.64, + "text": "We can calculate the optimal weights in" + }, + { + "start": 535.8, + "text": "a single sweep. Once we lock those" + }, + { + "start": 538.28, + "text": "weights in, if we drive the network with" + }, + { + "start": 540.76, + "text": "that simple sine wave, it produces a" + }, + { + "start": 543.44, + "text": "complex rippling response that the" + }, + { + "start": 545.839, + "text": "readout neuron translates into a" + }, + { + "start": 548.04, + "text": "beautiful zebra finch song." + }, + { + "start": 551.16, + "text": "But this might feel unsatisfying, almost" + }, + { + "start": 554.04, + "text": "magical. Why on earth would we expect a" + }, + { + "start": 557.12, + "text": "complex signal to be hiding inside a" + }, + { + "start": 559.76, + "text": "bucket of randomly connected neurons?" + }, + { + "start": 562.64, + "text": "The intuition I find the most satisfying" + }, + { + "start": 564.92, + "text": "is this." + }, + { + "start": 567.36, + "text": "Let's step back from neural networks for" + }, + { + "start": 569.28, + "text": "a second and go back to the early 19th" + }, + { + "start": 571.839, + "text": "century." + }, + { + "start": 573.64, + "text": "The French mathematician Joseph Fourier" + }, + { + "start": 575.96, + "text": "was obsessed with a specific problem," + }, + { + "start": 578.56, + "text": "heat." + }, + { + "start": 579.8, + "text": "He wanted to describe exactly how heat" + }, + { + "start": 582.08, + "text": "spreads through a solid object like an" + }, + { + "start": 584.6, + "text": "iron bar over time." + }, + { + "start": 587.04, + "text": "He wrote down the differential equation" + }, + { + "start": 589.0, + "text": "for it, but hit a wall." + }, + { + "start": 591.24, + "text": "If the initial heat profile was jagged" + }, + { + "start": 593.56, + "text": "or complicated, the math was impossible." + }, + { + "start": 596.32, + "text": "He could not solve the equation." + }, + { + "start": 599.2, + "text": "But Fourier found a loophole." + }, + { + "start": 601.32, + "text": "He realized that if the initial" + }, + { + "start": 603.24, + "text": "temperature looked like a perfect smooth" + }, + { + "start": 605.32, + "text": "sine wave, the solution was trivial." + }, + { + "start": 608.4, + "text": "A sine wave doesn't change its shape as" + }, + { + "start": 610.72, + "text": "it cools down. It just gets flatter." + }, + { + "start": 613.8, + "text": "The math for a sine wave was easy." + }, + { + "start": 616.96, + "text": "And then, he had a crazy idea." + }, + { + "start": 619.44, + "text": "He asked, \"What if the jagged" + }, + { + "start": 621.08, + "text": "complicated shape I can't solve is" + }, + { + "start": 623.44, + "text": "actually just a bunch of simple sine" + }, + { + "start": 625.24, + "text": "waves added together?\"" + }, + { + "start": 627.92, + "text": "If that were true, he wouldn't need to" + }, + { + "start": 630.2, + "text": "solve the hard equation." + }, + { + "start": 632.16, + "text": "He could just solve the easy equation" + }, + { + "start": 634.16, + "text": "for each individual sine wave, add the" + }, + { + "start": 636.72, + "text": "answers together, and boom, he would" + }, + { + "start": 638.88, + "text": "have the solution for the jagged mess." + }, + { + "start": 641.56, + "text": "And remarkably, he was right." + }, + { + "start": 643.92, + "text": "We now know that if you have enough sine" + }, + { + "start": 646.24, + "text": "and cosine waves, and if you mix them in" + }, + { + "start": 648.92, + "text": "right proportions, you can build any" + }, + { + "start": 651.4, + "text": "curve you want." + }, + { + "start": 653.4, + "text": "In mathematics, we say that sines and" + }, + { + "start": 655.64, + "text": "cosines form a basis." + }, + { + "start": 658.08, + "text": "They are universal building blocks." + }, + { + "start": 660.92, + "text": "Importantly, they are not the only" + }, + { + "start": 662.64, + "text": "basis." + }, + { + "start": 663.96, + "text": "You may have heard of Taylor expansions," + }, + { + "start": 666.28, + "text": "which use polynomials to do the same" + }, + { + "start": 668.36, + "text": "thing." + }, + { + "start": 670.28, + "text": "So, what does it all have to do with" + }, + { + "start": 671.88, + "text": "reservoir computing?" + }, + { + "start": 673.6, + "text": "Think about what we just built." + }, + { + "start": 675.76, + "text": "We have a bucket of neurons. We drive" + }, + { + "start": 678.28, + "text": "them with a signal." + }, + { + "start": 679.8, + "text": "Because the connections are random," + }, + { + "start": 681.72, + "text": "every neuron reacts differently." + }, + { + "start": 685.08, + "text": "When we record these neurons, we're" + }, + { + "start": 687.2, + "text": "looking at a collection of random" + }, + { + "start": 688.96, + "text": "squiggly lines." + }, + { + "start": 690.839, + "text": "Just like Fourier had a collection of" + }, + { + "start": 692.68, + "text": "sine waves to build a heat profile, we" + }, + { + "start": 695.48, + "text": "can use this collection of neural" + }, + { + "start": 696.96, + "text": "activities to build a bird song." + }, + { + "start": 700.2, + "text": "In other words, we have created a random" + }, + { + "start": 702.8, + "text": "basis, a library of Babel of temporal" + }, + { + "start": 705.52, + "text": "shapes." + }, + { + "start": 707.0, + "text": "And just like Fourier, if our library is" + }, + { + "start": 709.52, + "text": "big enough, if we have enough random" + }, + { + "start": 711.64, + "text": "variations, we can find a linear" + }, + { + "start": 714.4, + "text": "combination of these building blocks" + }, + { + "start": 716.56, + "text": "that add up to tell the exact story we" + }, + { + "start": 719.08, + "text": "want to hear." + }, + { + "start": 720.84, + "text": "So, let's tie everything together." + }, + { + "start": 723.92, + "text": "We started with a simple question. How" + }, + { + "start": 726.16, + "text": "does the brain generate complex patterns" + }, + { + "start": 728.68, + "text": "seemingly out of thin air?" + }, + { + "start": 731.24, + "text": "We saw that recurrent neural networks," + }, + { + "start": 734.0, + "text": "unlike simple input to output machines," + }, + { + "start": 736.76, + "text": "have their own internal dynamics, like" + }, + { + "start": 739.48, + "text": "ripples in a swimming pool. But these" + }, + { + "start": 741.88, + "text": "dynamics are notoriously hard to" + }, + { + "start": 743.8, + "text": "control." + }, + { + "start": 745.0, + "text": "The key insight of reservoir computing" + }, + { + "start": 747.44, + "text": "is that we don't have to control them." + }, + { + "start": 749.92, + "text": "We leave the random network untouched" + }, + { + "start": 752.48, + "text": "and only learn a simple linear readout." + }, + { + "start": 755.76, + "text": "Adjusting the volume knobs on a choir of" + }, + { + "start": 758.2, + "text": "random voices until the collective hum" + }, + { + "start": 760.76, + "text": "matches our target." + }, + { + "start": 762.92, + "text": "And the reason this works is almost" + }, + { + "start": 765.0, + "text": "Fourier-like. A large enough collection" + }, + { + "start": 767.56, + "text": "of random temporal patterns forms a rich" + }, + { + "start": 770.52, + "text": "basis from which virtually any signal" + }, + { + "start": 773.52, + "text": "can be reconstructed." + }, + { + "start": 776.36, + "text": "This tells us something interesting" + }, + { + "start": 777.88, + "text": "about the brain." + }, + { + "start": 779.56, + "text": "Maybe biological neural circuits don't" + }, + { + "start": 782.44, + "text": "need to be precisely engineered to" + }, + { + "start": 784.8, + "text": "produce complex behavior." + }, + { + "start": 786.92, + "text": "The messy, random-looking tangle of" + }, + { + "start": 789.0, + "text": "connections might not be a bug. It might" + }, + { + "start": 791.48, + "text": "be exactly the feature that makes the" + }, + { + "start": 793.36, + "text": "system so powerful." + }, + { + "start": 795.52, + "text": "If you enjoyed the video, share it with" + }, + { + "start": 797.32, + "text": "your friends, subscribe to the channel" + }, + { + "start": 799.12, + "text": "if you haven't already, and press like" + }, + { + "start": 800.96, + "text": "button. Stay tuned for more" + }, + { + "start": 802.8, + "text": "computational neuroscience and machine" + }, + { + "start": 804.52, + "text": "learning topics coming up." + } + ] +} \ No newline at end of file diff --git a/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/transcript_clean.txt b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/transcript_clean.txt new file mode 100644 index 00000000..69dca051 --- /dev/null +++ b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/transcript_clean.txt @@ -0,0 +1,358 @@ +You know, there is something miraculous +happening in your brain right now. +Close your eyes. +I want you to think of the song "We Will +Rock You" by Queen. +Chances are you can hear it in your +head. But here's the mystery. Where is +it coming from? +Your eardrums are not vibrating. The +outside world is not pushing the song +into your brain. You are generating it +internally. +This is actually one of the fundamental +tasks that the brain needs to perform, +called autonomous pattern generation. +From a zebra finch singing its [music] +song to a pitcher throwing a ball, +brains constantly face the challenge of +learning to produce precise sequences of +neural activity. +So, if you want to build a machine that +thinks like us, we have to solve this +specific problem. +How do we build a box that generates +complex behavior seemingly out of thin +air? +In the previous video, we saw that +standard neural networks are essentially +static machines having no sense of time. +To fix this, we introduced recurrence, +letting neurons feed their activity back +into themselves. +But as we hinted, there is another way +to think about recurrence, not as an +engineering fix, but as a fundamental +property of a dynamical system. +Think of it like a swimming pool. You +jump in, this is the input. You make a +splash, but after you leave, the water +doesn't stop. +The ripples you generated spread, +reflect off the walls, and interfere +with each other, creating complex +patterns. +Essentially, the input just gave the +system a little nudge, but the water +keeps dancing according to its own +internal physics, creating a kind of +memory of your jump. +Now, we know that brains compute with +the nerve cells +acting as individual units interacting +with each other. +In a way, they are like individual water +molecules in that pool. +Imagine a bucket of n neurons, say a +thousand of them. +We'll call this our reservoir. +Let's connect them randomly. +Some connections are strong, some are +weak. +Some positive, some negative. It's a big +tangled mess. +Let's write down what happens to a +single neuron in that pool. +At each moment, its state is determined +by where it was a moment ago +plus the incoming ripples from all other +neurons. +Here our w i j is the strength of the +connection between neurons j and i, and +sigma is our activation function +mimicking how a real neuron only fires +once its input voltage crosses a +threshold. +But here's the catch. +In a real swimming pool, if you wait +long enough, the water settles. +The friction kills the energy and the +ripples die out. +Now, mathematically, this friction is +actually a good thing. +>> [music] +>> It creates stability. +It creates stability. +If we didn't have it, if we cranked up +the weights too high, the network would +generate a self-sustained dance, but it +would be chaotic. +Chaos here means a sensitivity to +initial conditions. +If a single neuron misfired by a +millisecond, that tiny error would +explode and the whole pattern would +change. You can't compute with an +explosion. +So, we tuned the network to have what's +called an echo state property. +It means that every input leaves a +temporary trace, an echo in the +network's activity. But that echo +gradually fades over time. +But this brings us back to the swimming +pool problem. If the ripples eventually +die out, how do we sing a long song? We +need to keep the water moving. We need a +driver. +Let's introduce a simple rhythmic signal +Z of T. +Something like a boring sine wave to +keep the energy levels up. Think of it +like a background clock. +>> In the brain, this might correspond to +In the brain, this might correspond to +the rhythmic oscillations like theta or +gamma waves that act as neural +pacemakers. +Each neuron now receives this driving +signal scaled by the value mu unique to +that neuron. +The goal then is to take this boring +driving signal Z of T and transform it +into an interesting target signal Y of +T. Like a zebra finch song or a motor +command. +It's like dropping a stone in the pool +every 10 seconds, but sculpting the +walls of the pool so perfectly that the +resulting ripples sound like Beethoven's +Fifth Symphony. +That sounds extremely complicated, and +that's because it is. +In fact, to this day, recurrent neural +networks are notoriously hard to train. +But here comes the crucial mental shift. +You see, in traditional machine +learning, you act as a micro-manager. +You try to adjust every single +connection weight between every pair of +neurons to sculpt that perfect splash. +The problem is that once you introduce +recurrence, the interactions become +entangled in time. +The effect of nudging a weight by 1% +right now might have unexpected +consequences 10 seconds from now. +Because these ripples are bouncing +around in loops, it's incredibly hard to +untie the knot. +If these ideas got you curious about +broader theories of neural computation, +I'd recommend a book A Thousand Brains +Theory by Jeff Hawkins, which proposes +that the neocortex is itself a kind of +reservoir of independent cortical +columns. +You can find it on Shortform for kindly +sponsoring today's video. Shortform +turns books into proper study resources, +not just condensed summaries, but deep +guides that place each book's ideas in +the context of related research and +other titles, offering a much richer +understanding of the big picture. +They cover a wide range of genres like +science, technology, and education, +releasing new guides every week and +letting subscribers vote on which books +to cover next. +There is also a browser extension that +does the same thing for articles and +YouTube videos you stumble across +online. +If you want to supercharge your reading, +follow the link down in the description +for a free trial and 20% off the annual +subscription. +But in the early 2000s, researchers +asked a radical question. +What if instead of trying to tame this +mess, we embraced it? +What if we don't train the reservoir at +all? +This is the philosophy of reservoir +computing. +We leave the connections inside the +bucket completely random. We don't touch +them. +Rather than trying to force water +molecules to bounce around perfectly, we +just learn to work with the physics we +already have. +Let's see what happens when we let a +simple sine wave hit that random +network. +Examining individual neurons, it looks +like a mess. +But reservoir computing relies on a +beautiful mathematical curiosity. +The answer we're looking for is already +hidden in that noise. +We just need to learn to look at the +mess at the right angle. +Now, this might sound like magic, and +we'll see why it works in a moment, but +here is what I mean. +Let's add one final neuron called the +readout. +It listens to the activity of all other +neurons, but doesn't talk back. +The state of that readout, X of T, is +simply a weighted sum of all neurons +states in the network. While we can't +touch the network, we can adjust these +readout weights. In fact, this is the +only thing we can do. +You can think of it like this. Each +neuron is shouting its own random +gibberish into its microphone. +Our job then is to simply tweak the +volume knobs on all of those microphones +in such a way that the collective hum +sounds like our target song. +We let the network run for a while and +record the voices of all N neurons. +Mathematically, we're looking for a set +of coefficients such that when we add up +all these random signals, we get our +target Y of T. +It turns out this is a famous problem +with a simple analytical solution. +It is just a linear regression in +disguise. +The math for finding the perfect bird +song is the exact same math used to fit +a straight line through a set of points +on a graph. +I won't go through the derivation here. +I think the conceptual picture is far +more important. But the upshot is this. +We can calculate the optimal weights in +a single sweep. Once we lock those +weights in, if we drive the network with +that simple sine wave, it produces a +complex rippling response that the +readout neuron translates into a +beautiful zebra finch song. +But this might feel unsatisfying, almost +magical. Why on earth would we expect a +complex signal to be hiding inside a +bucket of randomly connected neurons? +The intuition I find the most satisfying +is this. +Let's step back from neural networks for +a second and go back to the early 19th +century. +The French mathematician Joseph Fourier +was obsessed with a specific problem, +heat. +He wanted to describe exactly how heat +spreads through a solid object like an +iron bar over time. +He wrote down the differential equation +for it, but hit a wall. +If the initial heat profile was jagged +or complicated, the math was impossible. +He could not solve the equation. +But Fourier found a loophole. +He realized that if the initial +temperature looked like a perfect smooth +sine wave, the solution was trivial. +A sine wave doesn't change its shape as +it cools down. It just gets flatter. +The math for a sine wave was easy. +And then, he had a crazy idea. +He asked, "What if the jagged +complicated shape I can't solve is +actually just a bunch of simple sine +waves added together?" +If that were true, he wouldn't need to +solve the hard equation. +He could just solve the easy equation +for each individual sine wave, add the +answers together, and boom, he would +have the solution for the jagged mess. +And remarkably, he was right. +We now know that if you have enough sine +and cosine waves, and if you mix them in +right proportions, you can build any +curve you want. +In mathematics, we say that sines and +cosines form a basis. +They are universal building blocks. +Importantly, they are not the only +basis. +You may have heard of Taylor expansions, +which use polynomials to do the same +thing. +So, what does it all have to do with +reservoir computing? +Think about what we just built. +We have a bucket of neurons. We drive +them with a signal. +Because the connections are random, +every neuron reacts differently. +When we record these neurons, we're +looking at a collection of random +squiggly lines. +Just like Fourier had a collection of +sine waves to build a heat profile, we +can use this collection of neural +activities to build a bird song. +In other words, we have created a random +basis, a library of Babel of temporal +shapes. +And just like Fourier, if our library is +big enough, if we have enough random +variations, we can find a linear +combination of these building blocks +that add up to tell the exact story we +want to hear. +So, let's tie everything together. +We started with a simple question. How +does the brain generate complex patterns +seemingly out of thin air? +We saw that recurrent neural networks, +unlike simple input to output machines, +have their own internal dynamics, like +ripples in a swimming pool. But these +dynamics are notoriously hard to +control. +The key insight of reservoir computing +is that we don't have to control them. +We leave the random network untouched +and only learn a simple linear readout. +Adjusting the volume knobs on a choir of +random voices until the collective hum +matches our target. +And the reason this works is almost +Fourier-like. A large enough collection +of random temporal patterns forms a rich +basis from which virtually any signal +can be reconstructed. +This tells us something interesting +about the brain. +Maybe biological neural circuits don't +need to be precisely engineered to +produce complex behavior. +The messy, random-looking tangle of +connections might not be a bug. It might +be exactly the feature that makes the +system so powerful. +If you enjoyed the video, share it with +your friends, subscribe to the channel +if you haven't already, and press like +button. Stay tuned for more +computational neuroscience and machine +learning topics coming up. \ No newline at end of file diff --git a/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/video.log b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/video.log new file mode 100644 index 00000000..8ae3bf28 --- /dev/null +++ b/conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/video.log @@ -0,0 +1,16 @@ +# yt-dlp log +# url: https://youtu.be/cDxtFtoQVNc +# output: conductor/tracks/video_analysis_brain_counterintuitive_20260621/artifacts/video.mp4 +# returncode: 0 + +stdout: +[youtube] Extracting URL: https://youtu.be/cDxtFtoQVNc +[youtube] cDxtFtoQVNc: Downloading webpage +[youtube] cDxtFtoQVNc: Downloading android vr player API JSON +[info] cDxtFtoQVNc: Downloading 1 format(s): 400+251 +[download] video.mp4.f400.mp4 +[download] video.mp4.f251.webm +[Merger] Merging formats into video.mp4 + +stderr: +WARNING: yt-dlp EJS not enabled; some formats may be missing.