Найти в Дзене
Записки Патриота

Умение учится: внутренняя модель

Сначала немного компьютерных аналогий. Дело в том, что программисты за последние два десятка лет столкнулись с парой вызовов, аналогичных тем, с которыми столкнулось человечество как биологический вид. Не знаю, насколько это неожиданно – но программисты решили свои проблемы практически точно так же, как наш биологический вид решил свои. Итак, что это за проблемы, как они были решены и что общего у этих компьютерных проблем и их решений с человеческим мозгом? Еще на заре развития вычислительной техники были созданы различные виды памяти. Тут были и носители на магнитной ленте и емкостная память и много чего другого. Важно то, что эти виды памяти существенно различались по двум параметрам – скорости работы и дешевизне. Что еще важнее – сложилась неприятная ситуация. Не было вида памяти, которая была бы и дешевой, и быстрой. Магнитная лента позволяла хранить огромные, по тем временам, объемы информации – уже в 1990 году на одной кассете могло достигать 2 Гб. Да, сейчас такой цифрой никого
Оглавление

Сначала немного компьютерных аналогий. Дело в том, что программисты за последние два десятка лет столкнулись с парой вызовов, аналогичных тем, с которыми столкнулось человечество как биологический вид.

Свободная фантазия на тему деревьев предсказаний.
Свободная фантазия на тему деревьев предсказаний.

Не знаю, насколько это неожиданно – но программисты решили свои проблемы практически точно так же, как наш биологический вид решил свои. Итак, что это за проблемы, как они были решены и что общего у этих компьютерных проблем и их решений с человеческим мозгом?

Кэширование

Еще на заре развития вычислительной техники были созданы различные виды памяти. Тут были и носители на магнитной ленте и емкостная память и много чего другого. Важно то, что эти виды памяти существенно различались по двум параметрам – скорости работы и дешевизне.

Что еще важнее – сложилась неприятная ситуация. Не было вида памяти, которая была бы и дешевой, и быстрой. Магнитная лента позволяла хранить огромные, по тем временам, объемы информации – уже в 1990 году на одной кассете могло достигать 2 Гб. Да, сейчас такой цифрой никого не удивишь – но это было более 30 лет назад.

Один из типов кассет
Один из типов кассет

Но так как лента механически перематывалась в кассете – то время доступа к конкретному кусочку данных могло измеряться минутами. Это было совершенно не приемлемо - само по себе.

С другой стороны, существовала технология памяти в виде чипов DRAM. Она была существенно, на порядки более скоростной – скорость передачи в то время составляла сотни мегабайт в секунду. Но вот сама память, в пересчете на мегабайт, стоили так же существенно дороже.

Так суперкомпьютер Cray CS6400, 1993 года производства, обладал лишь 16 Гб оперативной памяти. Да, по объему - всего лишь 8 кассет с магнитной лентой. Но вот скорости работы – совершенно другие. Для того, чтобы решить это противоречие разработчики компьютеров придумали подход, комбинирующий преимущества разных типов памяти.

Практичным оказалось вычисления производить в быстрой памяти. Подгружая из медленной памяти данные по мере надобности. И выгружая уже готовый результат.

Благодаря тому, что промежуточный результат не пересылается туда-обратно из быстрой памяти в медленную – экономится очень много времени. И в тоже же время дает возможность использовать большие объемы медленной памяти.

Все современные процессоры оснащены свое памятью
Все современные процессоры оснащены свое памятью

Подход оказался настолько удачен, что в обычном современном ноутбуке таких типов (слоев) памяти наберется с десяток. Начиная с двух разных типов жестких дисков и заканчивая различными типами чипов (микросхем).

Распространение этого технического приема в компьютерной технике положительно сказалось на распространении идеи из психологии - о небольшой памяти, в которой человек проводить операции, и огромной долговременной памяти.

Самый быстрый, но и самый дорогой тип памяти сегодня может ограничиваться сотнями или даже десятками килобайт. Самый медленный – накопитель на магнитных дисках – достигает единиц терабайт – то есть превосходит быструю память по объему более чем в миллион раз.

Пришествие интернета

Как только появился интернет – сразу же встала проблема его скорости. Этой скорости, или как говоря специалисты, пропускной способности, всегда не хватает. Как следствие инженеры и программисты начали искать пути преодоления этой проблемы.

И если инженеры сосредоточились на физической стороне вопроса – продвигая новые физические способы передачи, то программисты вспомнили о многоуровневой памяти. В принципе Интернет может рассматриваться как еще один вид памяти – еще более медленный чем жесткий диск компьютера.

А значит, часто используемый фрагменты данных можно один раз получить и сохранить в памяти компьютера. Откуда достать эти фрагменты можно намного быстрее.

Когда вы заходите на Дзен – то вы видите его логотип. Но ваш компьютер, скорее всего, не скачивал его – а взял из кэша – того самого места в памяти компьютера, где хранится уже скачанная информация. В кэш же логотип попал несколько дней назад – когда ваш компьютер решил, что тратить ресурсы и качать логотип каждый раз – расточительно.

Однако справедлива и другая аналогия. Интернет по объемы данных существенно превышает объем памяти отдельного компьютера или смартфона. Рано или поздно место, отведенное под кэш, будет исчерпано. И тогда встанет вопрос – а что делать-то?

Ответ известен еще со времени изобретения многоуровневой системы памяти. Если в быструю память надо что-то новое положить, а места там нет – надо выкинуть что-то старое.

Когда вы просматриваете интернет – на заднем плане работает достаточно изощренный механизм, определяющий надо ли новую картинку, скрипт или файл сохранять. И если надо – то, что надо выкидывать? Но для понимания человеческого мышления важно только то, что могут существовать разные механизмы.

Главная идея кэша

Но кэш можно использовать не только для того, чтобы хранить данные, которые долго качать откуда-то. Так же можно хранить что-то, что долго вычисляется.

Говоря обобщено, кэш можно использовать для хранения чего угодно, что дешевле один раз получить и долго хранить.

Запомним эту мысль – она потребуется нам в дальнейшем. И обратимся к многопользовательским играм, требовательным к реакции и работающим поверх интернета – различным стрелялкам типа Counter-Strike.

Предсказания поведения

На заре многопользовательских игр, например в первом Doom, каждый запущенный экземпляр ждал информации от всех других экземпляров игр. Это приводило к двум неприятным эффектам.

Во-первых, это задержки из-за конечной скорости передачи сигнала. Допустим один игрок живет Санкт-Петербурге, а другой в Хабаровске. Расстояние между городами около 9000 км. Свет проходит это расстояние за 0.03 секунды.

В реальной системе передачи данных сейчас используется не вакуум, а оптоволокно – по которому свет распространяется медленнее. На момент выхода Doom использовалось еще более медленная медь.

К тому же система передачи – это не один сплошной непрерывный кабель длиной тысячи километров. Используются различные повторители и усилители сигналов, разное другое оборудование, которое дает дополнительную задержку. В результате задержка может вырасти до 0.2 секунд.

Во-вторых, само качество передачи – непостоянно. Конкретный кусок информации (пакет данных) вообще может пропасть. Это абсолютно штатная ситуация – компьютер определит такую пропажу и запросит повтор.

Вот только время уйдет сначала на ожидание потерянного пакета, потому на посылку запроса о повторе, потом сам повтор. И вот задержка выросла в три раза. И это, если больше ничего не терялось. Что делать?

И тут математики и программисты показали чудо – игру, в которой первый игрок видел поведение второго игрока быстрее, чем свет в вакууме распространяется от в второго игрока к первому.

Если использовать аналогию с ребятами в Санкт-Петербурге и Хабаровске – то парень в Хабаровске нажимал клавишу «влево», а парень в Санкт-Петербурге видел у себя на компьютере смешение парня в тот же момент. А не через 0.03 секунды.

Эйнштейн был не прав? Теория относительности посрамлена? Нет, все происходящие не имеет отношения к фундаментальной физике – сигнал не распространялся быстрее света. Но как же тогда был достигнут этот эффект?

Как и все гениальное – идея была проста. Экземпляр игры в Санкт-Петербурге строил модель поведения игрока из Хабаровска. Благо предсказать надо было всего половину секунды.

И игра почти всегда справлялась с предсказанием. Пользователю в Санкт-Петербурге показывались не данные, приходящие из Хабаровске, а данные, полученные из модели. Приходящие же из Хабаровске данные использовались для корректировки модели – что бы модель не утратила актуальности. И лишь в редких случаях игра не справлялась. Например, когда данные из Хабаровске излишне задерживались. Или игрок в Хабаровске делал что-то неожиданное для модели.

Возвращаясь к психологии

Две описанные системы, переоткрытые математиками, инженерами и программистами, давно используются человеческим мозгом и лежат в основе быстрого ума. Обе используют ассоциативное ядро, которое я начал описывать в приведенной ниже статье и продолжу описывать в будущем.

Так система кэширования в нашем мозгу хранит «подготовленные решения». Тренируясь выполнять какое-то действие, мы тратим достаточно много усилий – как следствие мозг сохраняет это готовое решение.

Благодаря такому кэшу, такому банку подготовленных и сохраненных решений у нас практически всегда есть готовое решение практически для любой ситуации. Более того, это подготовленное решение находится «на расстоянии вытянутой руки». Нам не надо напрягаться и вспоминать – а что мы подготовили для такого случая?

Но даже «на расстоянии вытянутой руки» чаще всего оказывается недостаточно. Поэтому наш мозг поддерживает модель реальности – одной из задач которых является предварительная подготовка к активации тех или иных запасенных «готовых решений».

Если описывать очень схематично, то на шаге 1 наш быстрый ум предсказал, что вероятно ситуация на 3 шаге будет такой или вот такой. И пока длится шаг 2 - он уже успевает подготовить соответствующие решения.

Как ныне сбирается вещий «кто?». Уверен, нужно имя для «кто» ваш быстрый ум нашел еще при чтении слова «сбирается». Но к этому я вернусь, когда буду разбирать стихи.

Начиная с какого-то возраста, обычно с 4-6 лет, модель мира человека начинает учитывать не только внешние, но и собственные действия. Если приводить пример для более позднего примера – то представьте офисного служащего, слышащего о приезде начальника.

Его модель мира начнет подготовку с микросценариям – «начальник проходит в свой кабинет», «начальник проходит к моему столу и начинает выволочку, а я говорю...», «начальник проходит к чужому столу и начинает выволочку, а я ...» и еще с десяток других сценариев. Уже знакомых, обкатанных в голове и готовых к использованию. Знакомо? Это то, что называют «деревом планирования» или «деревом предсказаний».

Две итерации дерева решений
Две итерации дерева решений

При этом модель мира обновляется маленькими кусочками. Части прогноза, которые не реализовались - вытесняются из оперативной памяти. А реализовавшаяся часть достраивается еще на шаг. Благодаря этому у человека всегда есть временная фора.

Но представьте себе – дверь офиса открывается, и голый начальник, с розой в зубах, танцуя движется через офис, выкрикивая что-то о всеобщей любви. Какова будет реакция офисного сотрудника? Вероятно стопор. Но почему? Потому что «дерево предсказаний» не достало из кэша «готовых решений».

Никакой из предсказанных вариантов не реализовался – достраивать нечего. Это именно та ситуация, которую молодежь называет «разрыв шаблона». Нужно строить «дерево предсказания» с нуля. А это затратно по ресурсам.

Но что так же важно - у мозга здесь и сейчас - просто нет модели для работы. Он вынужден искать хоть какое-то решение. Иногда это ступор – все сосредоточено на построении нового дерева предсказания. Иногда агрессия или паника. Или еще какие-то базовые поведенческие реакции.

Вместо заключения

Удивительно, но большинство психических феноменов может быть объяснено или механизмами более примитивными, чем ассоциативное ядро. Или же как конструкции из ассоциаций – как например быстрый ум, с его «подготовленными решениями» или же «дерево предсказаний».

Так ли непознаваем разум?
Так ли непознаваем разум?

Однако, в европейской традиции – цепляться за понятие души и духовности. Это выливается в отказ от принятия научной педагогики. Ведь научная педагогика заявляет о том, что высшие проявления нашей психики – это пусть и сложные, и большие, но всего лишь конструкции из достаточно простых кирпичиков. А не какие-то мистические материи или сущности.