- PVSM.RU - https://www.pvsm.ru -
Недавно я написал статью про то, как работает память в мозгу [1]. Несколько комментариев говорили о том, что я недостаточно раскрыл тему особенностей биологического нейрона. И я решил исправить свою ошибку.
В этой статье — список основных механизмов, которые отличают биологические нейроны от простой модели с весами связей и порогом активации. Я расскажу, как поправить модель, если вам понадобится эти особенности учесть.
Начинаем мы вот с этой простой картинки:
Проблема: В
Решение: Раскрасить шарики нейронов, выделив таким образом те, которые реагируют на специфический нейромедиатор. Если нужно несколько нейромедиаторов для одного нейрона — покрасить его в несколько цветов. Если каждый нейромедиатор по своему влияет на заряд нейрона — создать функцию заряда нейрона для каждого нейромедиатора. Описать нейрон композицией этих функций.
Проблема: Реальный нейрон не хранит все заряженные частицы бесконечное количество времени, а постепенно разряжается.
Решение: Задать функцию разрядки нейрона от времени. Если понадобится — можно для каждого нейрона свою. Но вообще, заряд утекает из-за разности потенциалов, так что там ситуация как с саморазрядом конденсатора — у нас будет что-то вроде: , где U — разность потенциалов между нейроном и внешней средой, t — время, R — сопротивление мембраны, С — емкость системы «нейрон-мембрана-внешняя среда». Кстати, такое уже делали [3].
Проблема: Поскольку реальный нейрон не беспокоится о том, откуда к нему пришли нейромедиаторы — он может активироваться сам, просто от выброса нейромедиаторов в
Решение: Добавить штуку, которая при активации будет повышать заряд всех нейронов. Покрасить ее в цвет нужного нейромедиатора. Активировать, когда нужно симулировать внешний источник нейромедиатора.
Проблема: Некоторые нейроны вообще не получают сигнал на вход от других, активируясть только от уровня нейромедиаторов.
Решение: См. пункт выше.
Проблема: В
Решение: Добавлять динамически новые нейроны и связи, если нужно моделировать нейрогенез. Чтобы моделировать обратный процесс — удалять.
Проблема: Когда происходит активация нейронов, связи между ними усиливаются или ослабевают. Это зависит от порядка активации. Если направление активации — прямое, т.е. сначала активируется нейрон из которого выходит стрелочка, а потом тот, в который входит — связь услиливается. Если обратное — слабеет.
Решение: Уменьшить или увеличить вес связи, в зависимости от порядка активации. И да, вес может быть нулевой. Это значит, что связь настолько слаба, что активация одного нейрона на другой не влияет. Но потенциально, мы можем услилить эту связь за счет прямых активаций извне — поэтому «просто удалить» ее нельзя.
Проблема: Реальный
Решение: Запомнить значение веса, в момент «фиксации» связи. Возвращать силу связи к нему после усиления или ослабевания связи. Если связь зафиксировалась еще раз — обновить сохраненное значение.
Проблема: Реальный
Решение: Запустить деградацию связи с помощью механизма из п.6. (активация в противоположном направлению связи порядке) и зафиксировать результат с помощью п.7.
Проблема: Обладатели реальных мозгов иногда едят таблетки, которые регулируют естественные нейромедиаторы или являются их структурными аналогами. Например антидепрессанты СИОЗС — увеличивают количество серотонина воздействующего на нейроны, а церукал — блокирует дофаминовые рецепторы.
Решение: Ослаблять или усиливать все сигналы для нейронов соответствующего цвета. Например, мы заблокировали дофамин — уменьшаем зарядку всех дофаминовых нейронов, процентов этак на 90. Приняли ингибитор обратного захвата серотонина — увеличиваем все серотониновые связи процентов на 30. Приняли структурный аналог серотонина — опять увеличиваем, но уже раза в 3.
Зарядка нейрона идет не линейно? Создай функцию и используй ее для описания повышения заряда. Хочешь описать воздействие других сущностей на нейроны? Добавь их в свою модель. Суть не поменяется — у тебя всегда будут нейроны и связи между ними. Ты можешь настраивать их поведение, в зависимости от твоих потребностей.
Хочешь приблизить к реальным? Список из 9 пунктов выше — поможет. Тебе это не нужно, ведь твоя задача — распознать картинки? Забей на все эти нюансы. Хочешь память, похожую на память в биологическом
Многое уже смоделировали ранее, можно пользоваться этими результатами [4]. Потребовалось что-то спецефичное, что не описал ни я, ни кто-то другой — сделай сам.
Но, если тебе не нужна такая точность — забей. Не надо оверинжинирить только потому, что теперь у тебя появился набор новых блестящих молотков. Это все равно что использовать ОТО для моделирования падения кирпича с девятиэтажки. Да, релятивисткие эффекты будут работать и для этого случая. Но ты серьезно усложнишь себе задачу, а в замен получишь прибавку к точности на 0.0000001%.
Keep it simple and straightforward.
Автор: LonelyDeveloper97
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/matematika/349717
Ссылки в тексте:
[1] как работает память в мозгу: https://habr.com/ru/post/491460/
[2] мозгу: http://www.braintools.ru
[3] делали: https://en.wikipedia.org/wiki/Biological_neuron_model#Leaky_integrate-and-fire
[4] этими результатами: https://en.wikipedia.org/wiki/Biological_neuron_model
[5] Источник: https://habr.com/ru/post/492308/?utm_source=habrahabr&utm_medium=rss&utm_campaign=492308
Нажмите здесь для печати.