Интеллектуальные беседы на тему биологии, нейробиологии, генетики
Ответить
Мишин
Участник
Баланс:566
 
Сообщения: 38
Регистрация: 02.12.2019

Почему мозг допускает ошибки

Мишин » 07.06.2020 12:47

+
0
-
Когда мы используем любую программу, у нас есть две причины для получения неправильных результатов:

1. Неправильные/недостаточные входные данные. Если на входе программа получает бред, на выходе мы тоже получим бред, даже если внутри все отработало идеально. Исправить это мы не сможем — проблема не в программе.
2. Из правильных данных мы получили неправильный ответ. Тогда мы считаем, в программе есть баг и пытаемся его чинить.

Тоже самое можно сказать и про нас.

Иногда необходимая информация — отсутствует и мы не можем предотвратить ошибку.
Например, мы даем оценку времени на решение какого-то списка задач. В процессе оказывается, что список должен был быть в 3 раза больше. Ожидаемо, что наша первая оценка будет ошибочна. От нас здесь ничего не зависело.

Но если мы уже 20 раз подряд наблюдали как количество задач вырастает в 3 раза от начального, странно предполагать, что на 21-й раз все пойдет как по маслу.

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

Когда я наблюдаю такую ошибку за собой — я делаю тот же вывод.

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

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


Начало работы

Устройство мозга очень отличается от PC. Ничего приблизительно напоминающего SSD, RAM и CPU — в нем нет. Ближайший аналог — видеокарта или вычислительный кластер.

Каждый нейрон — это маленькая вычислительная машинка. Принимает кучу сигналов на вход и по их совокупности вычисляет, когда и как отдать сигналы на выход. Таких штук в человеческом мозге примерно 86 миллиардов, у каждой — тысячи соединений (синапсов), каждое соединение — со своими параметрами.

Если представить видеокарту с 3d упаковкой ядер в количестве 86 миллиардов, где каждое ядро соединено с тысячами других — мы получим очень грубую, работающую совершенно не так, модель мозга. Ну а CPU тут вообще не годятся.

О памяти. Память в такой архитектуре — очень интересная штука. Вместо того, чтобы хранить какие-то «адреса» и читать блоки, мозг сохраняет информацию о том, как вычислять ответ на сигнал. Это больше похоже на запрос в Гугл, нежели на чтение с SSD. Минусы — нельзя обратиться к адресу напрямую и быстро прочитать данные. Плюсы — можно вспомнить «тот фильм, в котором парень с бородкой, в красно-золотом костюме из металла, спасал мир».


Как возникают ошибки?

Проблема в том, что архитектура, заточенная на решение задач классификации, обработку изображений и звуков, нахождение зависимостей и восстановление информации по неполным данным — будет неэффективна в некоторых других случаях. Рассмотрим основные механизмы, где и что может пойти не так.


Сила связей и память

Состояния большинства связей в мозге, ответственных за память — возвращаются к исходным за часы/дни. Когда мы встречаем проблему, с которой сталкивались давно — у нас очень небольшие шансы на извлечение информации о ней. Зато, если мы совсем недавно столкнулись с такой проблемой — связи неимоверно сильные. Настолько, что мы будем видеть эту проблему везде, даже если она встречается 1 раз на миллион и не стоит такого количества внимания. А уж если она случайно встретится второй раз, то ее приоритет поднимется выше Tesla Roadster, запущенного SpaceX.

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


Корреляция — не есть причинность

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

Ложное понимание

Две предыдущих особенности порождают интересный самоподдерживающийся процесс:
Если кто-то другой уронит рядом с моей дверью ключ, это может быть воспринято как подтверждение моих выводов. Хотя на самом деле это просто случайность. Каждый раз, когда мы наблюдаем нечто, соответствующее шаблону — его приоритет повышается и связи с ним усиливаются. В результате, у нас есть шансы начать подгонять все вокруг под нашу «теорию ключа и двери».

В том что мозги устроены так — нет ничего плохого. Да, они заточены под нахождение паттернов, и да — у них иногда получается не верный результат. Просто нужно помнить, что некоторые наши шаблоны — неправильны и уметь это распознать.
Ситуация осложняется тем, что мозг уже построил связи и не выдает нам пустой ответ. У нас не будет чувства, что мы «ничего не поняли». Но модель, которая получится в результате — будет неверной. Более того, поскольку у нас уже есть эта модель — мозг будет выбирать ее, а не попытается построить новую.


Как это исправить?

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

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

Проблема в том, что когда эти ошибки перерастают в ложное понимание — задуматься о том, что что-то идет не так — довольно сложно. Нам уже привычно считать, что дверь вызывает падение ключа — зачем это дополнительно анализировать? Ключ перед дверью падает? Падает. Схема работает? Работает. Зачем ее трогать?

Чтобы детектировать, что мой мозг где-то меня нагрел, и подсунул иллюзию понимания я использую такой прием:
Я пытаюсь описать то, что я должен был понять переводя в другю систему терминов. По сути — используя аналогии. Например, если я могу описать, что такое Реактивное Программирование используя термины из математики, или на примере того, как течет вода — я скорее всего его понял (эта концепция отлично описывается заварочными чайниками, соединенными трубками — я так девушке объяснял).

Второй вариант — менее приятный. Наш шаблон должен сломаться, в результате того, что мы хорошенько сели в лужу. Например, мы привели всех своих друзей к «волшебной двери», но ключ ни у кого не упал. И у нас тоже. Тут есть способы попытаться оставить шаблон, например: «Вы недостаточно верили в магию двери! Поэтому она не работала!» — о таком механизме поговорим позже.


Отложенное обучение и игнорирование

Для обучения — необходим какой-то фидбек. Его источником может выступать некто, кто корректирует процесс — тогда это обучение с учителем. Или же мы можем обучаться на какой-то информации, самостоятельно оценивая результаты — это обучение без учителя.

Если мы пытаемся сделать программу, отличающую кошек от собак — мы заставляем ее угадывать, какую картинку ей дали на вход. Когда программа ошибается — мы пытаемся внести изменения в ее структуру (например, ослабить связи для активных «нейронов» в ИНС). Когда все хорошо — мы должны зафиксировать текущее состояние (например, услилить активные связи).
Если мы даем ответ о правильности распознования сами — мы выступаем учителем. Если мы построили программу так, что каждый раз когда она делает предположение, она самостоятельно проверяет его — у нас обучение без учителя.

Мозг — пример системы, которая умеет обучаться самостоятельно.

Фидбек извне

Давайте вернемся на много лет назад, когда мозги решали простые проблемы. Например: «Как достать с пальмы кокос». Предположим, мы пришли к выводу, что надо потрясти пальму, кокос упадет и мы позавтракаем. Мы трясем пальму, кокос падает нам на голову. Теперь вместо завтрака у нас огромная шишка на голове и нам больно.

Мы получили фидбек от наших действий. Ощущение удара кокосом по голове — напрямую связалось с решением трясти пальму. В следующий раз мы постараемся придумать что-то другое.

А теперь вернемся в наше время. Всю неделю мы работали над Важными Задачами. Мы успели завершить все к пятнице. Вечером мы пошли в бар, затем классно провели выходные, выехали на природу, позанимались любимым хобби.

Придя на работу в понедельник мы видим коллегу, который с порога говорит нам: «Что это за хрень ты сделал?».

Бац! На нас только что упал воображаемый кокос. Механизм примерно тот-же: мы собирались спокойно прийти на работу, выпить чаю, сесть за задачи. А вместо этого какой-то *** сбивает нам все планы, и собирается на нас наехать! Вот редиска, да? Надо осадить этого парня, чтобы выпить чаю, и нормально приступить к задачам. Он что, не понимает, что у нас на носу дедлайн, сейчас вообще не время такой фигней страдать? Работать нужно!
Мы отвечаем что-то резкое, чтобы от нас отстали.

В этот момент в голове того парня: «О боже, он непроходимый идиот. В его задаче, которую он делал во вторник грубейшая ошибка, которая будет нам дорого стоить. Но он и слушать об этом не желает!» — Заметим, теперь и нашего коллегу ушибло ментальным кокосом. — «Скажу этому выскочке, что из-за его нежелания меня слушать он угробит весь проект, может хоть тогда прислушается?»

Обмен кокосами может продолжаться довольно долго.

Чем эта ситуация отличается от привычной для мозга тряски дерева?

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

Когда мозг нифига не понимает — он пытается подобрать подходящее объяснение. А какое самое подходящее объяснение кокосу который в вас кинул другой человек? Правильно, — этот человек — *** и склонен во всех кидать кокосы.

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

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

А теперь, основываясь на своей «великолепной» идее, мозг сделает еще одну донельзя логичную вещь: попытается решить проблему летящих в него кокосов. А какое тут самое очевидное решение? Правильно, — надо избавиться от «кокосометчика». Хорошо, если «избавиться» будет означать простое игнорирование и уход в закат. Но это же НЕСПРАВЕДЛИВО! В нас же первого кинули кокос и для ровного счета нужно вернуть его бросавшему. Он сам должен признать, что был неправ начав кидать в нас кокосы.

Вот только наш оппонент видит ситуацию точно так-же. Поэтому цикл ментального кокосометания иногда может закончиться вполне физическими шишками от весьма материального рукоприкладства.

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

Фидбек изнутри

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

Предположим, мы разошлись с коллегой ничего не прояснив. Теперь нам неприятно об этом вспоминать. Мозг уже сделал вывод, что наш коллега — злобный кокосометчик, поэтому решение «попробовать спокойно поговорить и разобраться» — выглядит совсем непривлекательно. Но с неприятным ощущением нужно что-то сделать.

Ух ты, у нас есть одна отличная стратегия, сработавшая с коллегой — игнорировать. Или переключиться на что-то другое. Отличный выход, правда? Нужно просто вести себя как ни в чем ни бывало. Подумаю о чем нибудь приятном и сделаю кружку хорошего чая. А это все — как-нибудь само рассосется.

Помните, в начале текста было сказано, что ошибки бывают двух типов? Один из них — ошибки обработки информации. Другой — ошибки вызванные ее искажением или недостатком. И только что мозг ухитрился вляпаться в ошибку второго типа. Теперь вместо полной картины он видит только самый приятный ее кусочек, начисто игнорируя варианты в которых «не рассасывается».

При такой стратегии проблема остается. Мы просто создаем слепое пятно, прикрываем шторами отсутствие окна. Закидываемся обезболивающим, смотря на краснеющий и распухающий палец. Если кто-то случайно в него ткнет или терпение переполнится — нас прорывает как дамбу.


Обезболивающие

Суть тут в чем: наш ментальный ушиб кокосом это не просто какая-то «субъективная фигня». Это следствие объективно происходящих процессов в объективно существующем мозгу. Его «боль» настолько же объективна, как боль обожженого пальца или пульпитного зуба. Мозг на физическом уровне атакует контрсигналами уже устоявшиеся связи и пытается уменьшить их силу, дополнительно врубая ковровые бомбардировки нейромедиаторами.

Когда у нас болит зуб — мы не спешим отказываться от анестезии. И не осуждаем других людей за то, что они попросили укол ультракаина перед удалением зубов. У нас не возникает желания сказать человеку, которому удаляют восьмерку — «Соберись тряпка! Это всего лишь зуб! От этого еще никто не умирал».

Когда нам фигово — мы действительно мыслим по другому. Это не самое подходящеее состояние мозга для построения цепочек сложнее, чем «трясти пальму->кокос упал->больно».

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

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


Компенсация воздействий

Единственная стратегия — найти баланс. Золотую середину между восприятием информации и ее игнорированием.

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

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

Где находится этот баланс? Если бы я был философом, я бы сейчас начал говорить: «Каждый из нас — уникален, и каждый должен найти свой путь к равновесию… бла-бла-бла». Но, поскольку я не философ, у меня есть ответ и на это.


Как исправить?

Если мы знаем, что ошибки следуют из архитектуры и будут случаться, лучшее что мы можем сделать — определить их как можно раньше и не дать им стать ОШИБКАМИ. Чем дольше ошибка остается необнаруженной, тем больше последствий она имеет, как за пределами мозга так и внутри него.

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

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

1. Затухание и укрепление связей — делают так, что свежая информация более доступна.
2. Корреляция определяется как причинность — из-за этого возникают «пробелы» в моделях.
3. Ложное понимание — из-за него мы не можем найти возникший пробел.
4. Игнорирование — искажает воспринимаемую информацию. В теории этот механизм должен фильтровать мешающие факторы, на практике — можно увлечься и отфильтровать что-то полезное для решения задачи.

Четыре фактора, комбинация которых порождает почти все известные когнитивные искажения. А 4 причины запоминаются намного легче, чем 42 следствия.

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

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

Валерий Кремнев, Реверс-инжиниринг
Поделиться:

Теги:

Ответить    ПОМОЩЬ по форуму!