Теоретики vs Практики. Масштабируемый рост знаний. Эмерджентные объяснения и устройство мозга

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

Кто такие теоретики?

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

В западных источниках, как ни странно, дело обстоит лучше. Это не Обломов на диване, а тот, кто разрабатывает абстрактные идеи о явлении с целью объяснить их. Это более приемлемо, так как не затрагиваются вопросы применимости в жизни этих идей (https://dictionary.cambridge.org/dictionary/english/theorist). Иногда эти идеи бывают на удивление удачными.

Но что, если на это посмотреть под другим углом?

В современном мире все больше примеров того, что супер важно и полезно извлекать знания из того, чем занимаешься каждый день. Не так важно, ты играешь в футбол или инвестируешь в стартапы. Одним из наиболее важным аспектов извлечения знания является их осознание, т.е. не просто перечисление того, чему научился, а формирование целой картины. Зачем это важно? Это важно для того, чтобы эти знания передать другим людям. Именно этот процесс - процесс передачи знания от одного человека к другому - обеспечивает такой рост технологий в современном мире. Да и не только технологий. Если знания об этом мире, деле, явлении получены в одной части Земли, то сейчас есть возможность предать их в другую часть Земли очень быстро. Для этого знания нужно сформулировать в виде текста, картинок, в виде понятного другим людям. Передать знания с наименьшими искажениями можно только осознав их.

Проблема масштабирования умений

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

Можно пойти прямым путем. Я научу 10 человек, они научат еще по 10, будет 100 в итоге. Те еще научат по 10, будет больше 1000. Неплохо! Вот он способ, учить маленькую группу, и каждый будет еще одну маленькую группу учить. Скорее всего, так и происходит в большинстве случаев и на протяжении уже тысяч лет. Но тут есть две проблемы. Первая связана с фактором роста людей, которые хотят обучать других людей. Если из 10 обученых мной человек, всего 1 захочет обучать других, то рост будет долгим. И для обучения тысяч программистов в компании уйдет масса времени. Вторая проблема связана с длительностью обучения. Это занимает какое-то время. Раньше, при более низкой динамике изменения мира время потраченное на обучение было гораздо меньше характерного времени изменения мира. Ты научился делать печки и мир будет делать эти печки еще сотни лет. Но современный мир очень сильно меняется. Хирург может научиться делать новую операцию, а через год другой хирург придумает, как сделать ее быстрее и надежнее. Поэтому, если я долго обучаю людей, то знания начинают устаревать.

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

Отступление про мозг

Начнем с того, что умения не осознаны. Они делаются автоматически. Особенно легко это понять, когда едешь на автомобиле. Если водитель будет думать, что он помнит все знаки сзади, что тут нельзя поворачивать на лево, что он посмотрел во все зеркала, то вождение будет мукой. Это делается на автомате, как и большинство умений. Этот способ наиболее экономичный в плане затрат мозговых ресурсов. Это происходит в лимбической системе (возможно моторные функции лежат еще ниже). Это не происходит в новой коре! В новой коре (или неокортексе) примерно 20 миллиардов нейронов. А всего 100 миллиардов. Так вот, умения и/или знания на бессознательном уровне раскладываются в хитрую топологию 80 миллиардов нейронов. А возможности для осознания умений - всего 20 миллиардов нейронов. Но именно неокортекс дает нам возможность генерить связанную речь и передавать речь от человека к человеку.

Так вот, как умению, которое зашито на чертогах 80 миллиардов нейронов быть упакованным в 20 миллиардов и потом быть упакованным в речь, где всего около 500 тысяч слов? Так еще другой человек должен услышать эти слова и у него должна произойти обратная распаковка - набор слов нужно преобразовать в умения, 500к слов в 80B нейронов. И как это можно сделать эффективно и масштабируемо?

Заходим с термодинамики

Придется посмотреть на эту проблему с совершенно неожиданного ракурса. Рассмотрим обычную комнату. Там летают молекулы воздуха. Для упрощения будем считать, что все молекулы одинаковы и сталкиваются как бильярдные шарики, и только умеют, что сталкиваться. Вот они летают. Как нам предсказать, что будет с воздухом в комнате через 5 минут? Допустим, что мы знаем только закон движения частиц (мы не знаем термодинамики и столкновительной динамики Больцмана). И еще мы умеем решать уравнения движения частиц на компьютере. Начнем с комнаты, где 1000 частиц. Мы пишем 1000 уравнений, рассчитываем столкновения всех частиц, и понимаем, что будет через маленький промежуток времени. Проделываем такую процедуру много раз и узнаем, что будет со всеми частицами в комнате через 5 минут. Нам тут хватит обычного компьютера и расчет закончиться достаточно быстро. А теперь увеличим кол-во частиц. Скажем до 80 миллиардов. Сможем ли мы рассчитать все частицы и все столкновения?

Современные нейронные сети, обучаемые в Google содержат даже больше нейронов, и обучаются неделями, а иногда и месяцами. И обучение там распараллеленно как только можно. При столкновении частиц такой параллельности достичь не получиться, потому, что расчет на текущем этапе зависит от прошлых шагов. Поэтому, такую комнату мы будет считать долго и упорно. И если мы хотим масштабировать расчеты, и считать тысячи таких комнат сразу, то нам придется задействовать все дата центры мира. Но это не значит, что эта задача не решаема. Наоборот, она настолько классно решается, что мы сможем сделать все расчеты на бумажке. Но только, если мы знаем о термодинамике. Вот тут важный момент. Задача в лоб очень очень сложно решается. Но люди придумали другой уровень объяснения поведения системы из молекул газа, эмерджентный уровень объяснения. Они придумали термодинамику, которая не рассчитывает поведение отдельной взятой частицы, и объясняет поведение системы в целом. И это шикарно масштабируется.

Проводя аналогию с такими отступлениями, где можно поискать ответ на способы масштабирования умений людей? Тут я и хочу постулировать, что придумывание эмерджентных объяснений выученным умениям и является наиболее масштабируемым способом делиться этими умениями с огромным количеством людей. Нельзя просто так передать топологию нейронных связей от человека к человеку, нужно выходить на более абстрактный уровень, эмерджентный уровень объяснения умений и это можно передавать другим людям. Примерно это и делает наука:)

Но как найти этот уровень объяснения? Это и есть часть процесса осознанности. Нужно найти эмерджентное объяснение топологии 80 миллиардов нейронов и закинуть его в неокортекс. Есть люди, которые умеют это делать сами по себе. Они нарабатывают умения бессознательно а потом могут сформулировать эмерджентное объяснение этим умениям. А бывают люди, которые не могут сформулировать объяснения своим умениям. Вот к этой категории я отношусь. Я занимаюсь программированием 10 лет, и наконец нашел книжку, где мне объяснили, что же делают программисты, как они пишут программы. Я научился как-то думать и решать задачки. Я решал их одну за другой. И если кто-то меня спрашивал, как ты решаешь задачки, то я не мог ничего внятного ответить, ну просто решаю. Задачи то решаются, что не так? Monkey Programming/Data Science. А потом я познакомился с трудами Жака Адамара, Михая Чиксентмихайи где нашел объяснения того, как же я на самом деле думаю. Оказывается это целый процесс и ритуал, который я делал совершенно не осознанно, и даже не мог ни с кем поделиться этим. Я понял, что я могу достаточно быстро нарабатывать новые навыки, но не учиться - в плане осознанно извлекать информацию и знания. И вот я нашел решение - вместо того, чтобы формулировать эмерджентные объяснения после проделанной работы, я формулирую их до! Я формулирую сознательно теорию до начала действий, формулирую гипотезы из этой теории и после начинаю действовать. Тогда я либо подтверждаю эту теорию, либо опровергаю, но в любом случае я получаю осознанное знание, которым могу делиться.

Выводы

Так вот получилось, что я могу сделать 10.000 действий, но так и не сформулировать правила выполнения этих действий, предназначение, лучшие практики и т.д. Поэтому я делаю наоборот, формулирую их сначала и потом проверяю действиями. И иногда мне достаточно всего 1 действия, чтобы понять, что сформулированное мной объяснение неверное, и нужно искать другие. Вот тут то я и провожу границу между теоретиками и практиками, как мне кажется более глубокую, чем стандартные объяснения что практики херачат, а теоретики что-то там себе думают на диване. Разница в способе извлечения знаний - практики формулируют их индуктивно, а теоретики дедуктивно. И нет правильного способа, они просто разные и применимы к разным задачам. Но почему такое разделение возможно в принципе, разница в строении мозга, топологии связей и пр. - это интересный вопрос который заслуживает отдельного внимания.