Архитектура мозга. Концепция матриц


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


    Данная статья не претендует на научность. Читатель может считать ее чистой спекуляцией. Критика приветствуется.


    Введение


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


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


    Репрезентация пространства


    "Каждый мускул дает происхождение особому ощущению, способному делаться больше или меньше, так что совокупность наших мускульных ощущений будет зависеть от стольких переменных, сколько у нас мускулов. С этой точки зрения моторное пространство имело бы столько измерений, сколько мы имеем мускулов."
    Анри Пуанкаре "О науке"

    В статье о концепции каналов говорилось, что на карточках (миниколонках коры) могут быть построены карты окружающего пространства. Рассмотрим самый примитивный вариант карты, который я называю компасом. В виде таблицы компас можно записать так (каждая строка это колонка коры):


    Номер Название Каналы Формула Пояснение
    1 Налево 0000 ? Сигнал о выполнении моторной команды
    2 Направо 0000 ? Сигнал о выполнении моторной команды
    3 Впереди 0000 (не 1 и не 2 и 3) или (1 и 5) или (2 и 4) Позиция цели
    4 Справа 0000 (не 1 и не 2 и 4) или (1 и 3) или (2 и 6) Позиция цели
    5 Слева 0000 (не 1 и не 2 и 5) или (1 и 6) или (2 и 3) Позиция цели
    6 Сзади 0000 (не 1 и не 2 и 6) или (1 и 4) или (2 и 5) Позиция цели

    С помощью такой карты существо может отслеживать положение вплоть до четырех неподвижных целей относительно себя. Узлы с 3 по 6 — это специфическая матрица первого порядка (вариант колоночной организации). Связи в такой матрице строятся генетическим кодом. Узлы 1 и 2 — это другая матрица первого порядка (сенсорная), и она может быть даже одноканальной. Как видно из формул, между матрицами разного типа могут существовать связи.


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


    Анимация:


    Синяя точка — это позиция самого существа. Красная — это цель. Построение программы локомоции — это поиск кратчайшего пути в графе из кластеров карты. Так как система параллельная, в ней естественным путем выполняется поиск в ширину. Из кластера цели одновременно отправляются сигналы всем связанным кластерам. Процесс лавинообразный. Каждый кластер запоминает, по какой линии связи сигнал пришел первым. Когда сигнал достигает позиции существа, карта переключается в режим локомоции. Сигнал последовательно движется к цели и тем самым может запускать моторные программы, связанные с кластерами. Виртуальное перемещение в модели реализуется как локомоция в окружающей среде. Исполнение контролируется обратной связью от сенсоров. Каждый кластер может помнить, как ощущается пространство из точки, которую он представляет, и прерывать процесс, если что-то идет не так.


    Исходный код:
    class Machine:
    
        def __init__(self, cells):
            self.cells = cells
            self.state = {}
            self._state = {}
            for key in cells.keys():
                self.state[key] = 0b0000
    
        def step(self):
            for key, f in self.cells.items():
                if f is None:
                    self._state[key] = self.state[key]
                else:
                    self._state[key] = f(self.state)
            self.state, self._state = self._state, self.state
    
    cells = {}
    
    # матрица:
    # n1    n2    n3
    #    g1 g2 g3
    # n8 g8 n0 g4 n4
    #    g7 g6 g5
    # n7    n6    n5
    
    # размеры карты
    h, w = 50, 50
    
    # сигнал, указывающий что возбудился хотя бы один узел с меткой
    # цикл эмулирует множество однотипных связей
    def stop(s):
        res = 0b0000
        for x in range(1, w-1):
            for y in range(1, h-1):
                res = res | s[x, y, 'node', 'mark'] & s[x, y, 'node']
        return res & s['mode1']
    cells['stop'] = stop
    
    # режим поиска пути
    cells['mode1'] = lambda s: s['mode1'] & ~s['stop']
    # режим движения по построенному пути
    cells['mode2'] = lambda s: s['mode2'] | s['stop']
    
    # предварительное создание узлов, меток и ворот
    for x in range(0, w):
        for y in range(0, h):
            cells[x, y, 'node'] = None    
            cells[x, y, 'node', 'mark'] = None    
            for i in range(1, 9):
                cells[x, y, 'gate', i] = None    
                cells[x, y, 'gate', i, 'mark'] = None   
    
    def apply_matrix(x, y):
        # режимы
        m1 = 'mode1' # прямой ход
        m2 = 'mode2' # обратный ход
        m3 = 'stop'  # сигнал остановки поиска
        # ворота
        g1 = x, y, 'gate', 1 
        g2 = x, y, 'gate', 2
        g3 = x, y, 'gate', 3
        g4 = x, y, 'gate', 4
        g5 = x, y, 'gate', 5
        g6 = x, y, 'gate', 6
        g7 = x, y, 'gate', 7
        g8 = x, y, 'gate', 8
        # метки на воротах
        gm1 = x, y, 'gate', 1, 'mark' 
        gm2 = x, y, 'gate', 2, 'mark'
        gm3 = x, y, 'gate', 3, 'mark'
        gm4 = x, y, 'gate', 4, 'mark'
        gm5 = x, y, 'gate', 5, 'mark'
        gm6 = x, y, 'gate', 6, 'mark'
        gm7 = x, y, 'gate', 7, 'mark'
        gm8 = x, y, 'gate', 8, 'mark'
        # метки на воротах соседей
        _gm1 = x-1, y-1, 'gate', 5, 'mark'
        _gm2 = x+0, y-1, 'gate', 6, 'mark' 
        _gm3 = x+1, y-1, 'gate', 7, 'mark' 
        _gm4 = x+1, y+0, 'gate', 8, 'mark' 
        _gm5 = x+1, y+1, 'gate', 1, 'mark' 
        _gm6 = x+0, y+1, 'gate', 2, 'mark' 
        _gm7 = x-1, y+1, 'gate', 3, 'mark' 
        _gm8 = x-1, y+0, 'gate', 4, 'mark'
        # узел
        n0 = x, y, 'node'
        # пометка на узле
        nm0 = x, y, 'node', 'mark'
        # соседи
        n1 = x-1, y-1, 'node'
        n2 = x+0, y-1, 'node' 
        n3 = x+1, y-1, 'node' 
        n4 = x+1, y+0, 'node' 
        n5 = x+1, y+1, 'node' 
        n6 = x+0, y+1, 'node' 
        n7 = x-1, y+1, 'node' 
        n8 = x-1, y+0, 'node' 
        # узел будет активизирован если активны хотя бы одни ворота
        cells[n0] = lambda s: s[m3] & s[nm0] | ~s[m3] & (s[g1] | s[g2] | s[g3] | s[g4] | s[g5] | s[g6] | s[g7] | s[g8])
        # пометка ставится извне
        cells[nm0] = None
    
        # режим1: ворота активизируются если активен соответствующий этим воротам соседний узел
        # режим2: ворота активизируются если активен соответствующий этим воротам соседний узел и активна метка на соответствующих воротах соседа
        cells[g1] = lambda s: (s[m1] & s[n1]) | (s[m2] & s[n1] & s[_gm1])
        cells[g2] = lambda s: (s[m1] & s[n2]) | (s[m2] & s[n2] & s[_gm2])
        cells[g3] = lambda s: (s[m1] & s[n3]) | (s[m2] & s[n3] & s[_gm3])
        cells[g4] = lambda s: (s[m1] & s[n4]) | (s[m2] & s[n4] & s[_gm4])
        cells[g5] = lambda s: (s[m1] & s[n5]) | (s[m2] & s[n5] & s[_gm5])
        cells[g6] = lambda s: (s[m1] & s[n6]) | (s[m2] & s[n6] & s[_gm6])
        cells[g7] = lambda s: (s[m1] & s[n7]) | (s[m2] & s[n7] & s[_gm7])
        cells[g8] = lambda s: (s[m1] & s[n8]) | (s[m2] & s[n8] & s[_gm8])
    
        gm_ = lambda s: s[gm1] | s[gm2] | s[gm3] | s[gm4] | s[gm5] | s[gm6] | s[gm7] | s[gm8]
    
        # режим1: метка активизируется если активны соответствующие ворота и нет сигнала стоп;
        # выполняется упорядоченный выбор только одной метки (хвосты формул) если активны сразу несколько ворот;
        # метка остается активной после первой активации
        # режим2: метка остается активной, если была активна на момент включения режима
        cells[gm1] = lambda s: (s[m2] & s[gm1]) | (s[m1] & (s[gm1] | s[g1] & ~gm_(s) & ~s[m3] & ~s[g2] & ~s[g4] & ~s[g6] & ~s[g8] & ~s[g3] & ~s[g5] & ~s[g7]))
        cells[gm2] = lambda s: (s[m2] & s[gm2]) | (s[m1] & (s[gm2] | s[g2] & ~gm_(s) & ~s[m3] & ~s[g4] & ~s[g6] & ~s[g8]))
        cells[gm3] = lambda s: (s[m2] & s[gm3]) | (s[m1] & (s[gm3] | s[g3] & ~gm_(s) & ~s[m3] & ~s[g2] & ~s[g4] & ~s[g6] & ~s[g8] & ~s[g5] & ~s[g7]))
        cells[gm4] = lambda s: (s[m2] & s[gm4]) | (s[m1] & (s[gm4] | s[g4] & ~gm_(s) & ~s[m3] & ~s[g6] & ~s[g8]))
        cells[gm5] = lambda s: (s[m2] & s[gm5]) | (s[m1] & (s[gm5] | s[g5] & ~gm_(s) & ~s[m3] & ~s[g2] & ~s[g4] & ~s[g6] & ~s[g8] & ~s[g7]))
        cells[gm6] = lambda s: (s[m2] & s[gm6]) | (s[m1] & (s[gm6] | s[g6] & ~gm_(s) & ~s[m3] & ~s[g8]))
        cells[gm7] = lambda s: (s[m2] & s[gm7]) | (s[m1] & (s[gm7] | s[g7] & ~gm_(s) & ~s[m3] & ~s[g2] & ~s[g4] & ~s[g6] & ~s[g8]))
        cells[gm8] = lambda s: (s[m2] & s[gm8]) | (s[m1] & (s[gm8] | s[g8] & ~gm_(s) & ~s[m3]))
    
    # построение карты
    for x in range(1, w-1):
        for y in range(1, h-1):
            apply_matrix(x, y)
    
    # ограничение на количество итераций для формирования gif
    count = 81
    
    # # дырка в сети
    # hole_x, hole_y = (5, 45), (20, 40)
    # for x in range(hole_x[0], hole_x[1]+1):
    #     for y in range(hole_y[0], hole_y[1]+1):
    #         cells[x, y, 'node'] = None
    # count = 120
    
    # создание машины
    m = Machine(cells)          
    
    # позиция существа на карте
    self_x, self_y = 38, 5
    # позиция цели на карте
    target_x, target_y = 10, 45
    
    # сигналы извне карты (режим поиска, метка позиции существа, позиция цели)
    m.state['mode1'] = 0b0001
    m.state['mode2'] = 0b0000
    m.state[self_x, self_y, 'node', 'mark'] = 0b0001
    m.state[target_x, target_y, 'node'] = 0b0001
    
    from PIL import Image, ImageDraw
    
    images = []
    
    def draw_cell(draw, x, y, c):
        draw.rectangle([x*10, y*10, x*10+10, y*10+10], c)
    
    def draw():
        im = Image.new("P", ((w-2)*10, (h-2)*10), 1)
        im.putpalette([
            0, 0, 0,
            255, 255, 255,
            255, 0, 0,
            0, 0, 255,
            100, 100, 100,
        ])
        images.append(im)
        draw = ImageDraw.Draw(im)
        # отрисовка активации одного канала карточек типа "узел"
        for x in range(1, w-1):
            for y in range(1, h-1):
                if m.state[x, y, 'node'] == 0b0001:
                    draw_cell(draw, x-1, y-1, 0)
        # отрисовка позиции цели
        draw_cell(draw, target_x-1, target_y-1, 2)
        # отрисовка позиции существа
        draw_cell(draw, self_x-1, self_y-1, 3)
        # # отрисовка дырки (мертвых нейронов)
        # draw.rectangle([(hole_x[0]-1)*10, (hole_y[0]-1)*10, (hole_x[1]-1)*10+10, (hole_y[1]-1)*10+10], 4)
    
    # итерации машины и выборочная отрисовка состояния одного канала в gif
    for i in range(count):
        m.step()
        m.step()
        draw()
    
    images[0].save("map.gif", save_all=True, append_images=images[1:], duration=100, loop=0)

    Подобная механика кажется довольно правдоподобной. Поиск пути может выполняться очень быстро, потому что любые два кластера карты могут быть связаны напрямую в том случае, если есть подходящая моторная программа для перехода между ними или если существует путь через другие кластеры. Расстояние между кластерами фиксируется либо с помощью искусственной задержки при передаче сигнала, либо с помощью приоритетов (как в примере). Важно отметить, что нейроны в процессе поиска активизируются только один раз. Это значит, что скорость поиска пути не ограничена маленькой частотой работы нейронов. Фактически это похоже на разряд молнии, который ограничен только скоростью передачи сигнала между нейронами.


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


    Благодаря матричной организации подобные карты устойчивы к повреждениям. Если физически путь между кластерами существует, то он будет найден. Можно "убить" большой кусок карты, и она все равно будет решать свои задачи в обход мертвых кластеров:


    Анимация:


    Более того, кластеры могут притворяться мертвыми, и тем самым уточнять текущую структуру пространства. Например, идти через кластер, в котором находится хищник, в целом плохая идея. Лучше выключить этот кластер и его соседей перед поиском пути. Функция отключения при этом изначально заложена в матрице кластера.


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


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


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


    Граф квартиры:


    На данной картинке очень грубо показана структура графа квартиры из трех одинаковых комнат. Узлы 1, 2 и 3 — это положение комнат на самом верхнем уровне. Узел 4 и соседние с ним — это общая геометрия комнаты на втором уровне. Узел 5 и соседние с ним — это геометрия угла, воспринимаемая из разных точек локального пространства на третьем уровне. Серым цветом отмечено текущее положение в пространстве на трех уровнях (это реальные метки в одном канале в кластерах карты).


    Реальное физическое положение в пространстве и направление взора могут быть, например, такими:


    Физическое положение:


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


    Построение движений


    Для начала рассмотрим, как могут быть организованы генераторы автоматических движений. Допустим, нам надо построить нервную систему примитивного насекомого. Как это сделать проще всего? У насекомых шесть лапок. Движение каждой лапки в процессе ходьбы выглядит как зацикленная анимация. Это значит, что управляющим устройством для каждой лапки может быть самостоятельный конечный автомат. Каждое состояние автомата — это конкретное напряжение мышц и соответствующее положение лапки. Автомат просто переходит из одного состояния в другое по кругу. Итак, мы можем поместить в тело нашего насекомого шесть конечных автоматов. Причем автоматов одинаковых по структуре. Эти автоматы надо периодически включать и выключать, значит нам нужен еще один управляющий автомат, который логично поместить в голове насекомого, поближе к самым важным сенсорам. Его устройство нас сейчас не интересует. От этого автомата к остальным нужно протянуть шину из двух проводов, которая нужна для передачи сигналов "старт" и "стоп". Нервная система приобретает примерно такой вид:


    Нервная система (вариант 1):


    Такая организация управления уже позволяет насекомому перемещаться в пространстве, но не очень эффективно. Работа автоматов не согласована между собой, а значит стоять на лапках такое насекомое долго не сможет. Будет гребсти лапками как веслами вразнобой. Для согласования работы автоматов и реализации тем самым некоторого аллюра нужно, чтобы автоматы передавали друг другу синхронизирующие сигналы. Для этого их нужно соединить между собой шинами. Если все шины аккуратно разместить в кабель-каналах, то нервная система будет выглядеть примерно так:


    Нервная система (вариант 2):


    Уже лучше, но скорость анимации было бы неплохо регулировать. Если искать пищу еще можно неторопливо, то спасаться от опасности уже лучше бегством. Для этого нужно немного модифицировать автоматы, чтобы они меняли состояние только по специальному сигналу. Источником такого тактового сигнала пусть будет еще один автомат, размещенный в голове. Назовем его генератором ритма. Чем быстрее ритм, тем быстрее "проворачивается" анимация. При отсутствии ритма движения нет, а значит больше не нужны сигналы "старт" и "стоп". Можно использовать свободную шину для передачи других сигналов. Например, "вперед" и "назад". Но автоматы в этом случае должны уметь выполнять две разные анимации. В этом нет никакой трудности, просто переходы между состояниями начинают зависеть еще и от режима. Репертуар автомата может быть настолько большим, насколько позволяют ресурсы.


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


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


    Нечеткое состояние:


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


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


    Все эти рассуждения приведены в частности для того, чтобы читатель мог провести параллели с картой, которая строит программу локомоции. Построение пути в пространстве — это фактически создание временного стереотипного автомата. Другими словами, карты способны строить и выполнять произвольные движения. Например, для перемещения кулака в конкретную точку локального пространства (лицо автора, к примеру), нужно найти конечное положение локтя. Поиск точки может быть выполнен так:


    Положение локтя:


    Синяя точка — это текущее положение плеча. Красная — это целевое положение кулака. Сигнал начинает распространяться из синей точки.
    Каждый кластер в такой карте "знает" длину каждого звена конечности. Это знание выражается в том, что сигнал нужно передавать только определенным кластерам. Круги на карте должны помочь представить расположение этих кластеров. Поиск нужного положения выполняется тут в два шага. Сначала активизируется "круг" кластеров вокруг синей точки, потом эти кластеры активизируют уже свое "окружение". Кому повезло первым активизировать красную точку, тот и локоть. Если конечность имеет 10 звеньев, то будет 10 шагов. Результат работы карты — это конечное положение всех сочленений. Остается запустить стереотипные программы для каждого звена, чтобы перевести конечность в новое состояние. Вероятно, такая система будет не очень точной, но ей еще помогает мозжечок, в котором нейронов гораздо больше, чем в коре. Кроме того, граф по аналогии с пространством может быть многоуровневым.


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


    Локализация в пространстве


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


    Возьмем простенькое модельное пространство в форме буквы "Г". Допустим наше существо может чувствовать стенки с 4 сторон, и физически находится в следующем положении:


    Рисунок:


    В ответ на сенсорные ощущения будут активизированы два кластера на карте:


    Граф:


    Как уже говорилось в прошлой статье, модель допускает, чтобы объект был одновременно и тут и там. Именно эту ситуацию вы видите на графе. Чтобы убрать эту неопределенность, надо перемещаться по графу (и в физическом пространстве тоже), отсеивая тем самым неправильные положения. Выполнив два шага, существо все еще не будет понимать где оно:


    Граф:


    А вот третий шаг сразу сокращает количество активных кластеров до одного. Угол в графе представлен двумя разными кластерами и соответствующими ощущениями, в зависимости от того, с какой стороны в него попало существо. Выбор одного из кластеров происходит сам собой на основании моторных сигналов и ощущений после совершения действия. Грубо говоря, карта сшита из элементарных тестов следующей структуры:


    1. Предусловие (текущие ощущения)
    2. Действие (моторная команда)
    3. Постусловие (ощущения после выполнения моторной команды)

    Двигаться в пространстве — значит непрерывно тестировать его. Сенсорика и моторика — это единый неразрывный процесс. Решение о том, какое действие нужно совершить на каждом шаге, может принимать сама карта. Ведь она владеет всеми данными (потенциальные действия и ожидаемые ощущения). Я не знаю, как происходит эта классификация, но примерно понятно, в чем она заключается. На каждом шаге должно активироваться как можно меньше кластеров.


    Давайте возьмем существо и перенесем его на другую территорию:


    Рисунок:


    После исследования территории карта будет достроена следующим образом:


    Граф:


    Серым цветом помечены детекторы, которые позволяют существу идентифицировать конкретную территорию. Чтобы они сработали, существо должно прогуляться по графу и протянуть "Нить Ариадны" из пометок на кластерах.


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


    Весь процесс зрения можно поделить на два этапа:


    1. Распознавание элементарных признаков массивом из одинаковых детекторов.
    2. Распознавание образов путем "прогулки" по карте.

    Рассмотрим небольшой массив детекторов элементарных признаков:


    Рисунок:


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


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

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


    Золотой молоток (вместо заключения)


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

    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 58

      +1

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


      Представить планирование этой моделью стереотипных движений у меня получается, но вот каким образом всё это отмасштабировать на уровень "перемещение к зарегистрированной цели, или возвращение в гнездо после охоты" остается загадкой. Потому что этот сложный план движения по-крайней мере у человека (живущего в гнезде человека, ок) имеет внутреннюю ментальную репрезентацию, которую можно откорректировать волевыми усилиями и, например, направить себя не сразу в гнездо, а сначала за пивом в магазин. Со слов же автора: "связи между кластерами формируются под влиянием моторного опыта". Ну такое, либо я чего-то не понял.


      Вторая претензия:


      Расстояние между кластерами фиксируется либо с помощью искусственной задержки при передаче сигнала

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

        +1
        Спасибо за фидбэк.

        Ну такое, либо я чего-то не понял.

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

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

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

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

                ps Искусство натягивать сову на глобус.
            0
            <не туда>
              +1
              … дерзкая попытка реверс-инжиниринга черного ящика под названием «мозг» ...


              не совсем точно. Это не «реверс-инжиниринг мозга», а просто обычный «инжиниринг»…
                0
                Я называю этот литературный прием бананом. Если такое в тексте не оставить, то некоторые пройдут мимо.
                  0
                  опять неточно. Самовосхваление — это не «литературный прием», а скорее «изъян мышления». Кроме того, не следует считать желание помочь Вам разобраться в своих заблуждениях неким «обезьянничеством»…
                    0
                    не следует считать желание помочь

                    Спасибо за помощь :)
                0
                Подумал и решил, что больше ничего на эту тему писать не буду (подписываться на меня нет смысла). Рассказал вроде все, что хотел. Напоследок процитирую самого себя из недавней переписки с одним знакомым:
                Дело в том, что основная задача модели в мозге — предсказывать поведение внешних объектов.
                Если в модели зародилось «Я», то оно 100% используется для предсказания поведения подобных тебе.
                т.е. членов стаи.
                И тут мог случиться автокаталитический процесс. Я усложнялось само по себе пытаясь перещеголять реальных соплеменников. Т.е. тут прям гонка вооружений типа хищник жертва. Твоя модель соплеменника в голове становится сложнее чем он есть в реальности… Понял прикол?
                  +1
                  Тоже на эту тему думал. Возможно «Я» зарождается как результат обобщения «люди», — модель всех людей. То есть происходит не от отделения себя от окружающих, а наоборот как выделение того общего, что есть у индивида и окружающих. А индивидуальность каждого «Я» происходит из того, что себя наблюдаем сильно чаще других.

                  И скорее это не одна модель, а иерархическая вложенная структура, как матрёшки: от «я есть всё», далее «я — это моё тело», «я член группы», и в конце — «я, как уникальная личность». Слоистое усложнение модели, она не перестраивается, а достраивается.

                  И положительная обратная связь явно присутствует, собственная модель группы всё более и более уточняется при взаимодействиях.
                    0
                    Возможно «Я» зарождается как результат обобщения «люди», — модель всех людей.
                    Скорее все прет из первобытного анимизма — переноса собственной модели психики на внешние объекты и явления, их одухотворения. Логично, человек сам произошел от животного предка, это переходная форма к более сложным формам психики. Анимизм это своеобразная нулевая гипотеза познания в условиях неопределенности, представление которое затем можно было упростить до уровня объекта, что было полезно с точки зрения выживания, адаптации к окружающей среде. Отсюда корни более продвинутого антропоморфизма (см. англ. вариант), наделения человеческими чертами, питающих почву для проявления различных когнитивных смещений. В конечном итоге эти формы психики и познания сыграли свою историческую роль и осели в некотором в виде в подсознании, уступив место более развитым формам сознания — разных формам религиозного, а затем более современной форме — казуальной. Все формы обычно присутствуют в сложной взаимосвязи и весах влияния на всех уровнях сознательного и бессознательного, в зависимости от индивидуальных, поло-возрастных, культурных, национальных, и прочих особенностей индивида. Сейчас в норме этот перенос проявляется, как способность индивида успешно приспосабливаться к жизни в социуме в виде теории ума, путем моделирования психики других людей, зачатки кот. присутствуют у человека с рождения. В относительной норме может проявлять себя также как субличности, в патологических формах, как диссоциативные расстройства личности, вплоть до появления множественных личностей, или потери идентичности — деперсонализации.

                    Как это можно смоделировать в ИНС?
                    Есть обученная сеть 1, и есть сеть 2, которая должна построить модель сети 1, чтобы прогнозировать ее выход по входу. Видимо сеть 2 должна быть не менее сложной чем сеть 1, чтобы получить ее наиболее точную модель, в противном случае это будут упрощенные модели, и более грубый прогноз. Конечно сеть 2 можно натренировать на обучающей выборке сети 1, тогда они будут идентичны, и сеть 2 будет точно прогнозировать сеть 1. Но допустим, что обучающая выборка не известна. Тогда можно подавать ввод сети 1 на вход сети 2, и тренировать по ее выходу. Со временем должна сформироваться модель сети 1 в сети 2. Обучение дитя на примерах) и та же разница, если его обучали по какой-то стандартной методике. Сеть 2 усваивает уже адаптированный сетью 1 материал. Допустим сеть 1 это «мама», добавим сеть 3 «папу», кот. обучалась на др. неизвестной выборке, и тд. Что получится в результате с сетью 2? Допустим «мама» была натаскана на кошечках, а «папа» на собачках, получится более универсальная сеть «детки», предсказывающая поведение обеих «родителей». Но в то же время у нее появятся признаки «субличностей». Остальные особенности видимо также можно смоделировать. Хотя это будут упрощенные демонстрации.
                      +1
                      Есть обученная сеть 1, и есть сеть 2, которая должна построить модель сети 1, чтобы прогнозировать ее выход по входу.
                      И в итоге приходим к эволюции сетей на носителях «разума». Есть у меня идея, что мозг этакий накопитель разума, — виртуальная машина, которая делает ментальные слепки окружающих объектов и их «поведения» и позволяет им в этой виртуальной среде взаимодействовать. В отличие от прямого наблюдения это на порядки ускоряет выявление закономерностей. А язык тогда — инструмент быстрого переноса моделей между носителями.

                      В техническом плане пока у меня затык в том, как найти вход сети 1 (объекта наблюдений) и его выход. Насколько мне известно, эта способность связывается с зеркальными нейронами, которые позволяют нам ощущать то, что ощущает другой человек, наблюдая за ним. Но вот как это натянуть на модель с RL-агентами пока не знаю.
                        +1
                        Есть у меня идея, что мозг этакий накопитель разума, — виртуальная машина, которая делает ментальные слепки окружающих объектов и их «поведения» и позволяет им в этой виртуальной среде взаимодействовать.
                        Виртуализация неплохая техническая метафора. Напомню, что человек с рождения обладает функциями когнитивного ядра, которое позволяет без обучения реагировать на математические, физические и социо-психологические стимулы, важные с точки зрения выживания. Если брать физические, то в ядре имеется, например, модель материального тела. Путем хитрых постановок экспериментов исследователи выяснили, что младенец сразу после рождения понимает, что тела твердые, и не проходят друг через друга. Они этому не учатся (хотя с опытом модели уточняются), т.к. еще не могут манипулировать ими, но если маленький предмет пронести за другим большим, то их взгляд не будет следовать за движущимся предметом непрерывно, а сразу переместится на другой край загораживающего обзор предмета, т.е. они предсказывают такое поведение. Есть еще много таких свойств которые они интуитивно понимают и используют для предсказания, в том числе, такое забавное, как влияние веса на скорость падения предметов. Интуитивно они считают, что меньший по весу, напр, пушинка падает дольше, чем более тяжелая игрушка, и используют это для прогноза. Прям в соответствии с законом аристотелевской механики)) Хотя мышечные усилия при работе против гравитации интуитивно расчитываются исходя из законов класмеха. Вот откуда история физических представлений растет) опыты лишь подтверждают закономерности, которые организму и внутренним представлениям уже известны. Дополнительно, используя мультимодальные стимулы, малыши могут отличать живое от не живого тела, напр, лица людей, хотя могут и ошибаться. Тем не менее такие способности повышают вероятность выживания в постнатальный период.

                        Вероятно, когда им дают на исследование (часто растерзание)) очередную новую игрушку когнитивная система создает своеобразный виртуальный материальный объект, обучение у человека никогда не идет с чистого листа. На самом деле этот виртуальный мат. объект уже может содержать немалую часть свойств реального объекта. Спасибо эволюции проделавшей работу по установлению этих свойств методом отбора. В этом же содержится ответ на сакраментальный вопрос, как дети учатся почти моментально, после нескольких предъявлений объекта? В отличии от обучения ИНС, кот. требуется большие серии, и длительное время.
                        Как это продемонстрировать на ИНС?
                        Для начала нужно создать иерархическую систему предобученных моделей, т.е., условно, выполнить работу которая проделала эволюция. На примере классификации это может выглядеть так. Не претендую на оригинальность, возможно имеются лучшие решения. Для начала обучаем сверточные сети на некотором размеченном материале включающем разные сцены — человека, животных, дома, машины, природные объекты, и тд. Разметка по классам. Самый высокий в иерархии — объект вообще, далее, например, живой объект — неживой объект, след. уровень: для живых объектов — человек, кошки, собаки, и тд. Для неживых — машины, дома… Ниже могут быть еще более конкретные уровни.
                        Для обучению объекта вообще предъявляем всю выборку. Для обучения живому объекту — людей, кошек, собак… и тд, смысл понятен. В результате получаем иерархическую систему предобученных моделей. При классификации предъявляется объект имеющийся или похожий на имеющиеся в обучающей выборке. Смотрим проценты идентификации по моделям самого нижнего уровня, если по одной из них процент высокий (нужно установить критерии), то объект успешно классифицируется. Если есть не одна такая модель, или по всем моделям процент низкий, то считаем, что предъявлен новый объект, и последовательно переходим на более высокие уровни абстракции. Пока на каком либо из уровней условие не выполнится. Может получится так, что предъявлен совсем незнакомый объект, напр, деревьев в обучающей выборке не было, и оно было предъявлено. В этом случае условие выполнится только для самой высокоуровневой модели — объекта вообще… модели «объект в себе») Создаем копию сети этой модели, и тренируем ее на новом объекте. Чем ниже уровень модели, тем обучение будет происходить быстрее. Если в обучающей выборке не было баранов, то тренируется модель — живой объект, с уже хорошо предустановленными параметрами. Упрощая ситуацию, предполагается, что живой объект это четырехногое, с туловищем, головой и хвостом существо, и нужно лишь настроить эти детали модели под барана. А не генерировать модель полностью, используя длинную выборку сцен с баранами. После чего эту сеть можно перенести на нижний уровень, и использовать для распознавания др. баранов. Интересно, что в такой схеме можно дообучивать модели нижнего уровня на новых экземплярах, не опасаясь переобучения всей сети, как в случае использования одной большой сети. Видно, что такое решение требует не только нейронные сети, но и некоторую обвязку в виде логики управления их работой. В мозге имеются системы активации и синхронизации, кот. организуют работу всех его отделов и уровней. Также нужно учесть параллельность процессов обработки в мозге, в программной реализации подобной схемы придется обрабатывать последовательно, что скажется на производительности. Выигрыш в обучении классификации новых объектов.
                        Насколько мне известно, эта способность связывается с зеркальными нейронами, которые позволяют нам ощущать то, что ощущает другой человек, наблюдая за ним.
                        Не так буквально) Это именно модель поведения, кот. может действовать на эмоциональные центры, и вызывать подобные ощущения. Но для этого нужны способности, или тренировка. У женщин это лучше получается в связи с заботой о потомстве. Обычно это сводится к пониманию мотивов поведения человека. В конечном итоге это задача распознавания, и обучения такой возможности на базе врожденных способностей.

                          0
                          Честно говоря, сокрытие за экраном не может говорить, что предметы не могли бы проходить сквозь друг друга. И мне эти эксперименты известны с другим выводом. До какого-то возраста при экранировании предмета взгляд младенца блуждает, а после определённого возраста (+- 1-2 месяца) ребёнок начинает понимать, что предмет выйдет с другой стороны — моделирует его равномерное движение за экраном. Но это не важно, было ли это обучение или в определённый период активировалась захардкоденная функция. ИНС же всегда начинает с чистого листа.

                          Не так буквально)
                          Да как раз буквально. Иллюзия резиновой руки На томографе видят, что активируются ровно те же структуры, что и при собственном ощущении. Понимание намерений другого напрямую связана с количеством зеркальных нейронов. Естественно, максимальное их количество у человека. Я полагаю, без возможности именно ощутить невозможно понять переживание другого. В какой-то степени это костыль/надстройка, но это работающая схема. Параллельный канал обработки сенсорных данных. Второй канал получается чисто виртуальным, но путь его обработки такой же как у реального сенсорного потока.
                            0
                            Честно говоря, сокрытие за экраном не может говорить, что предметы не могли бы проходить сквозь друг друга.
                            Конечно в предмете может быть отверстие) Но если усреднить опыт восприятия взаимодействия материальных тел за миллиарды лет эволюции, какое их свойство будет самым стабильно воспроизводимым? Имеется ввиду не только визуальный опыт, весь мультимодальный — разные тела одновременно не могут занимать одно и тоже положение в пространстве. По этой ссылке обзор интуитивного восприятия физики детьми.
                            И мне эти эксперименты известны с другим выводом.
                            Можете привести ссылку на источник? Может играть роль методика постановки исследований. Естественно, могут быть разные случаи, речь о достоверной статистике.
                            ИНС же всегда начинает с чистого листа.
                            Это распространенное мнение среди части разработчиков приложений ИНС, особенно с математическим и техническим образованием, но не обоснованное. Сам по себе модельный нейрон содержит некоторые определенные возможности + заданная архитектура сети. Чем сеть архитектурно богаче и мощнее, тем большими возможностями моделирования она обладает, и тем более широкий круг задач способна успешно решить. Причем эффективность решений предполагает некоторую оптимизацию их архитектуры в соответствии с решаемыми задачам. Для биологических сетей эту оптимизацию произвела эволюция путем отбора, ИНС могут повторять эту архитектуру при решении аналогичных задач, что собственно объясняет биологическую инспирированность их разработки, кот. декларируется в работах. Если архитектура ИНС приближается к архитектуре биологических сетей, то можно говорить о масштабировании эффектов в сетях в сравнении с биологическими. Пример такого масштабирования для распознавания (сегментации) сцен, связанного с глубиной сети, см. это исследование. Чем больше глубина сети, тем точнее сегментация для разных условий, и тем ближе результаты к результатам человека.
                            Если резюмировать, то выполнение задачи не сводится только к настройке весов связей в сети, роль играет ее архитектура, и часто требуется специфическое предобучение сети, с привлечением методов оптимизации релевантных решаемой задаче. Эти неявные моменты не учитываются при аргументации обучения с чистого листа, а они существенные, см. публикацию на эту тему.
                            Да как раз буквально.
                            Буквально, точнее адекватнее, будет, когда у человека разовьется способность к телепатической передаче восприятия) Скорее всего со временем что-то подобное реализуют с помощью технологических средств. А пока нет, это субъективное переживание чужого гипотетического состояния. Оно может быть неадекватным по многим причинам. Попробуйте выяснить чувства и намерения разведчика по его публичному поведению, с полиграфом не выяснишь, пока не застукаешь с поличным)
                            Иллюзия резиновой руки
                            Как это связано с обсуждаемой проблемой, моделированием состояния др. людей?
                            Понимание намерений другого напрямую связана с количеством зеркальных нейронов.
                            С зеркальными нейронами интересная история, и увлекательные предположения. Но для моделирования состояния и поведения др. людей можно обойтись средствами, кот. мозг использует для любого прогноза. Возможно эта система актуальна была для древних людей или животных. Сейчас упор больше на рациональные способности.
                            0
                            Как это продемонстрировать на ИНС?
                            Структура похожа на растущее решающее дерево, где в узлах сидят нейросети.
                            0
                            Есть у меня идея, что мозг этакий накопитель разума, — виртуальная машина, которая делает ментальные слепки окружающих объектов и их «поведения» и позволяет им в этой виртуальной среде взаимодействовать.

                            Звучит один в один как то, что я рассказывал в статье о каналах. Или имеется ввиду какой-то принципиально другой способ виртуализации? Моей изначальной идеей как раз и была виртуальная среда. Поиски технического решения для такой системы привели к каналам. Другого реалистичного подхода для виртуализации я не смог найти.
                              0
                              Под виртуализацией имел в виду, когда мы можем провести «эксперимент» в голове, без оперирования реальными предметами. Например вот такой тест:
                              тест
                              Сорока прикинула, что ей надо сделать, и только потом пошла искать камень. Будем считать, что она мысленно перепробовала разные варианты, открыла закон Архимеда и испытала его на практике. Вот та среда, где взаимодействовали ментальные проекции бутылки, воды, камней и гусеницы, и есть виртуальная среда.
                                0
                                Ясно. Ну моя модель ровно о том же. Она объясняет как виртуализируются/моделируются объекты. Интеллект — это какой-то алгоритм логического вывода поверх модели по моим представлениям. Причем мне интуитивно кажется, что это просто тупой перебор вариантов + стек подзадач.

                                Вот в этом комментарии мои представления: habr.com/post/508756/#comment_22345502
                                  +2
                                  Да, ещё кое-что, что забыл сказать. Я предполагаю, что эти ментальные слепки самостоятельны. Например классический пример отслеживания чего-то движущегося, скрывшегося за преградой. Сенсорные данные перестали поступать, мы не знаем его реальное положение в пространстве, но ментальная модель этого объекта продолжает жить и обновляет/пересчитывает свои координаты. Обычно это называется способностью к прогнозированию. Но есть тонкость с тем, что я предлагаю. Модель именно живёт сама по себе, изредка синхронизируясь по сенсорным данным с реальным своим объектом, который она отражает. Прямого доступа к реальным сенсорным данным нет, только через модель. Если такой схемы не было бы в мозге, то мы могли бы манипулировать только теми объектами, которые наблюдаем в данный момент.
                                    0
                                    Такая архитектура позволит существу реагировать на «невидимое».

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

                                    habr.com/ru/post/508550

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

                                    ps Смотрите там «Еще один пример динамики:». Это ровно то, о чем вы говорите.
                                      0
                                      А вообще я очень рад, что кто-то мыслит похоже. Может быть появятся какие-то вариации или расширения модели. Для того и публиковал по большому счету.
                                        +1
                                        А вообще я очень рад, что кто-то мыслит похоже.
                                        Это очень распространенный подход, с разными вариациями. Называются внутренними моделями (Internal Models, как пример), байесовским мозгом (Bayesian Brain) или байесовским выводом (на wiki 1, 2, небольшой обзор на русском), а также нисходящими эффекты или моделями (Top-down effects, обзор для общего представления). По этим ключам можно искать источники. На мой взгляд плодотворно в этом направлении давно работает Д. Таненбаум из МИТа. Буквально на днях промелькнула новость, там есть мой комент со ссылка на его публикации.
                                          0
                                          Это очень распространенный подход, с разными вариациями

                                          Да, я в курсе. Спасибо за ссылки.
                                          Отличие моих построений в том, что предсказание в них совершенно тупое. Например, в картах предсказание дают кластеры, связанные с текущими. А предсказание поведения внешних объектов — это проигрывание их судьбы в памяти.
                                            +1
                                            небольшой обзор на русском

                                            Великолепная статья. Большое спасибо.

                                            ps. Кстати, Джефф Хокинс примерно на тех же рельсах едет в последних своих работах: loop.frontiersin.org/people/312279/overview
                                              0
                                              Кстати, Джефф Хокинс примерно на тех же рельсах едет в последних своих работах
                                              Спасибо за ссылку, интересный автор, не попадался раньше. Что-то подобное в др. работах читал. Молодцы, что довели до нейросетевой модели.
                                          +1
                                          Для полноты картины. Внутренние модели и режим предсказание шаг вперед в сравнении с реактивными представлениями, но по прежнему в русле репрезентационной парадигмы в когнитивных исследованиях. К сожалению эта парадигма не в состоянии удовлетворительно объяснить многие аспекты поведения человека и феномена сознания. Поэтому с 90-х годов прошлого века развиваются и получают все большее признание подходы воплощенного познания, как динамического расширении возможностей и границ познания человека, и расширенного разума, как динамического расширения интеллектуальных возможностей и сознания в целом. На русском про эти подходы можно почитать в этих статьях (1 + 2, лучше не нашел), хотя лучше смотреть оригинальные исследования на эти темы.
                            0

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


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

                              +2
                              Вы тут ни при чем. Я занимался этим пять лет без продыху (сам в шоке) и порядком устал. У меня был страх, что весь этот труд так и останется в моей голове. Ну а теперь я наконец вроде как свободен. Могу спокойно моделировать и не беспокоиться, что труд пропадет. Другими словами, цель была только рассказать свои идеи. Может быть кто-то более молодой и горячий попробует моделировать и у него что-то получится. Мне так спокойнее.
                            +2
                            Очень понравилась статья. Недавно сам начал заниматься проблемой сознания и интеллекта, записывать размышления, наработки. Прочитал материал, нашёл очень много общего, задумался теперь: сам ли я придумал некоторые механизмы или на подсознательном уровне мозг мне их подкинул (помню, что читал предыдущую статью).

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

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

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

                            Если стремиться к сильному ИИ, то надо понимать, что от него не требуется ничего кроме решения поставленной задачи, а всё вокруг — это беготня вспомогательных систем. Почти все системы человека заточены на поиск еды и полового партнёра, то что мы умеем решать невероятно сложные задачи и строить сложнейшие механизмы — всего лишь побочный эффект, автоматизацию которого и мечтает человечество положить на плечи ИИ. Это к тому, что все низкоуровневые описания работы интеллекта, возможно, не нужны, т.к. от AGI требуется только добывать информацию, строить предположения, выбирать лучшие. И человечество сейчас застряло как раз на добыче информации (автоматическое построение ассоциативных карт), но даже если эта проблема решится, то всё ещё непонятно как выполнить вторую часть, как и какие сложить пазлы знаний так, чтобы получить нечто новое.

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

                            Учёные мечтают о сильном ИИ, не имеющим человеческих пороков и проблем, но как раз эти пороки и проблемы привели к тому, что появилось сознание: не было бы стимулов (удовольствия, страдания) — не было бы систем оценки, и как следствие, развитием бы управляла эволюция только на основе пассивного опыта — сделал что-то выжил, не сделал чего-то — выжил, сделал — плохо умер, т.е. нет второго шанса (у нас его даёт воображение и различные предикторы). Если бы животные не умели сопереживать, то не было бы переноса опыта, обучения. Если бы не было эмоций, то субъекты не могли бы качественно считывать состояния и желания друг друга. Не было бы лени — не было бы желания оптимизации процессов и ресурсов.

                            Все эти механизмы помогли решить проблему пропитания, защиты и размножения, а также послужили ступенями, которые привели низжих существ на вершину — к Homo Sapiens. Но когда человек начал ставить себе новые цели — решать сложные задачи, они оказались ни к чему, зачастую даже мешают, быть может, ИИ стоит провести также по этим ступеням, получить алгоритмы обработки информации (стать сильным ИИ), и затем уже отсечь бесполезные — выживальческие механизмы.
                              0
                              По поводу обучения наверно стоит пояснить. Вообще я надеялся, что читатель сам догадается, но возможно это не всем очевидно. Дело в том, что зрение и пространство — это тоже знания, и за рамками модели они так же загадочны как и абстрактные знания. Но если модель верна (позволим себе такую фантазию), то накопление этих знаний становится тривиальным. Ведь карта строится последовательно в ответ на моторные и сенсорные сигналы. Новый кластер подключается к сети в том случае, если существо попало в неизвестную ему ситуацию. Нужно просто привязать его моторной командой к предыдущему кластеру и привязать текущие сенсорные ощущения. Если у вас есть кошка, то вы могли наблюдать как она осваивает неизвестную ей территорию. Осторожно, потихоньку, шаг за шагом она ступает в неизвестное ей пространство и осваивает его. Это и есть формирование карты. Со зрением то же самое, шаг за шагом, кластер за кластером строится карта образов. Обучение сводится просто к запоминанию. Структура карты обеспечивает упаковку за счет переиспользования подграфов. И если это действительно так, то мы можем предположить, что и остальные знания формируются подобным образом. Кто знает, может быть языковая модель — это тоже карта, по которой генерируется речь. Может быть и песочница (префронтальная кора) наполняется так же.
                              Модель не такая примитивная, как кому-то может показаться. Мне просто не хочется писать об очевидном. Например, все же понимают, что каналы — это гипотеза о рабочей памяти? Об этом нет нужды писать явно. Кто хоть немного читал о мозге, тот сможет легко понять почему модель такая какая она есть. А кто не хочет видеть в модели объяснение известных фактов, тот останется при своем мнении.

                              Отвлеченный постскриптум:
                              Некоторым не нравится, что в моих статьях ничего не говорится о реальном мозге. Но позвольте, я говорю именно о мозге в каждой строчке этих статей. То что это не вяжется с чьими то представлениями, не проблема статей. Если кто-то жаждет анатомии, то такими статьями весь интернет завален. Архитектура — это не анатомия. Архитектура — это основные принципы организации. Архитектуру современного компьютера можно описать тремя предложениями: «Два конечных автомата, связанных шиной. Один выступает в качестве управляющего устройства. Другой в качестве памяти». Машина Тьюринга — это самое абстрактное описание архитектуры. Описание Фон Неймана чуть подробнее. Но реальный компьютер в тысячи раз сложнее этих описаний, не так ли?
                                0
                                Ох как метко попал то. Тут же минус прилетел. С чем не согласны то хоть напишите.
                                  0
                                  Чужая душа потемки. Пишешь развернуто, тратишь время, заходит какой-то аноним, втыкает минус и сидит гордый. Минусы не опровергают написанного. Хотите поставить реальный минус автору, напишите комментарий.
                                    +1
                                    Минуса не мои, у меня кармы 0, рейтинга 0, следовательно ни комментарии, ни посты оценивать не могу. Более того, каждый мой комментарий проверяется модератором несколько часов(привет модератор :)). Я солидарен с вами, не вижу смысла ставить минус человеку, который разъясняет свою гипотезу, во первых это благое дело, а во вторых он это делает только из доброты душевной.

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

                                    В случае с сенсорными системами ситуация ясна: здесь достаточно затычки — системы, которая просто связывает новое неизвестное состояние со старым. Однако даже здесь есть к чему придраться, как вы написали, имеет место переиспользование. Но кто решает, что один набор сенсорных данных схож с другим? Ну ок, скажем что схожесть — это расстояние хэмминга/жаккара. Опять окей, как система найдёт схожую карточку? Перебором миллионов? Окей, приходит место геометрического хеширования. Далее, допустим что система ошиблась, т.к. она совершает миллионы таких операций, то откуда она узнает в каком месте она ошиблась, объединяя два понятия? Можно насобирать логов активации и найти корреляцию этой ошибки и активации карточки. Видите сколько затычек? Оочень сложно ещё будет эти затычки реализовать на языке карточек, т.к. если хардкодить, то не будет ответа на следующий вопрос.
                                    Алгоритм допустил ошибку, у нас есть система, которая её исправила, как теперь починить алгоритм, как отточить его гиперпараметры? Писать некий алгоритм сверху?

                                    Насчёт поиска кратчайшего пути — это тоже затычка, при этом ИРЛ работать не сможет, ресурсов мозга попросту не хватит чтобы построить маршрут длинной в 5 км, потому что поиск в ширину с радиусом 5 км — это слишком много данных. Мозг не просто ищет путь из точки А в точку Б, он делает это направленно и эвристически, это больше похоже на A* с промежуточными узлами(интересно кто их определяет), т.е.мозг лениво строит цепочку маршрута, а вот как добраться из одного узла цепи в другой — решает направленный алгоритм.

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

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

                                    Повторюсь, ваша статья описывает носитель(компьютер), но современный вопрос стоит не в носителе (подойдёт любая полная по Тьюрингу система), а в том как устроена программа, которая на нём исполняется. Вы частично ответили на простые вопросы: как можно построить модель мира, как искать в ней кратчайшие пути (в действительности мозг не ищет кратчайший), как описывать движения, но с этим прекрасно справляются и существующие, более эффективные алгоритмы.

                                    Здесь ещё проблема в том, что ваша система описанная здесь как есть не сможет воспринимать сложные действия: допустим взять спички, достать одну, зажечь, пустить газ, поднести к комфорке, потушить, поставить чайник, налить воды и т.д. Это слишком сложные действия и цепочка слишком длинна. Мозг попросту собъется на каком-то промежуточном этапе. Допустим спичка погасла, огонь не горит, газ идёт, система должна принять правильно действие: быстро зажечь ещё одну спичку или выключить газ. Но откуда она будет знать об этом, если опыта у неё такого нет? Чтобы этого не происходило нужны опорные точки, оценка ситуаций, генераторы возможных действий. Тот список действий, что я описал и есть — последовательность опорных точек, но как их вычленить из набора сенсорных данных?

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

                                    Если вы не ставили себе цели ответить на вопросы, что я написал — то извините, в таком случае вы попросту привели ещё один способ(из бесконечного числа) представить данные и связать их.
                                    В целом, я сам наблюдая за собой понимаю, что мозг оперирует бинарными сущностями, даже когда занимается математическими операциями: 1257+5*8 членит операции, вспоминает правильные ответы (5*8=40), делит числа на разряды, вспоминает результаты сложения 1257+40=12(5+4)|(7+0)=1297, это всё прекрасно описывается карточками. И когда дети изучают таблицу умножения — они эти карточки изучают. Так, что теория мне нравится, а вот как на неё накручивают механизмы — нет.
                                      0
                                      Но кто решает, что один набор сенсорных данных схож с другим? Ну ок, скажем что схожесть — это расстояние хэмминга/жаккара. Опять окей, как система найдёт схожую карточку? Перебором миллионов?

                                      Большое спасибо за этот комментарий. Объясняю.
                                      Про схожесть пришлось бы написать еще одну статью. В рамках комментария не получится. А про перебор можно.
                                      Берем самый обычный конечный автомат.
                                      Задаем алфавит:
                                      «А» — увидел комнату 1
                                      «Б» — увидел комнату 2
                                      «1» — сделал шаг вперед
                                      Допустим, что в квартире 3 комнаты, и две из них абсолютно одинаковые («А»). Допустим, вы совершили уже какое то путешествие по квартире и оказались перед входом в одну из комнат. Входы выглядят одинаково.
                                      Ситуация в виде автомата будет такой:
                                      image
                                      Вы находитесь в состоянии 1. В какую бы из одинаковых комнат вы не зашли, вы окажетесь в состоянии 3. Чтобы различить в какую именно комнату вы попали, придется протянуть «Нить Ариадны», как уже говорилось в статье. В данном примере можете представить три пустых круга, как путь по коридору. В состояние 1 вы попали из конкретной позиции. Протянув нить, вы поймете в какой вы комнате.
                                      Карта — это буквальное материальное воплощение такого автомата. Только она немного сложнее.

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

                                      Насчёт поиска кратчайшего пути — это тоже затычка, при этом ИРЛ работать не сможет, ресурсов мозга попросту не хватит чтобы построить маршрут длинной в 5 км, потому что поиск в ширину с радиусом 5 км — это слишком много данных.

                                      Смотрите в статье про уровни графов.

                                      Напишите, пожалуйста, прояснилось или нет.

                                      ps Чтобы строить пути, комнаты конечно же должны быть разными узлами. Что переиспользуется, а что нет, это открытый вопрос. У меня нет на руках полной реализации всех механик. Скорее всего переиспользование пространства происходит только по уровням. А вот карта образов уже может упаковываться по максимуму.
                                        0
                                        При «обучении» кластер тоже не ищется. Вы либо попадете в известный кластер либо нет. Если подходящего кластера нет, то он добавляется.

                                        Тогда система не будет уметь абстрагировать понятия: каждый угол, который хотя бы на один пиксель отличается от другого будет новой структурой.

                                        И ещё вопрос, вот система попадает в мир, у неё нет карты, что она будет делать и по какой причине?
                                        Что её сподвигает совершить действия(при этом она даже не знает о их существовании)?
                                        Допустим, некоторый опыт(карта местности) есть, что сподвигает систему не бездействовать? Пусть систему что-то всё же сподвигло совершать действие, как будет идти процесс исследования, ведь если она будет следовать картам, то не будет получать нового опыта, постоянно будет ходить из одного известного состояния в другое.

                                        Я бы рекомендовал написать простейший клеточный мир с лабиринтами, ловушками и головоломками, реализовать базовую модель. Вы сразу столкнётесь с проблемой, что системой ничто не управляет, скорее всего она будет бездействовать, т.к. отсутствуют всякие мотивы на действия, если вы всё же захардкодите мотиваторы, то получите reinforcement learning систему (что-то вроде Q-Learning) со всеми вытекающими проблемами.

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

                                          Ну вы вправе так считать. В рамках комментариев об этом поговорить не получится.

                                          И ещё вопрос, вот система попадает в мир, у неё нет карты, что она будет делать и по какой причине?

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

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

                                          Именно этим и планирую заняться.

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

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

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

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

                                            Насчёт ревёрса задачи (декомпозиции), в вашей системе наблюдаются связи, которые умеют предсказывать и анализировать события:
                                            если здесь и шаг вперёд, то там;
                                            если квакает и зелёная — лягушка.

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

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

                                            Оптимальной мне кажется итерационная схема:
                                            Сознанию предоставляются прогнозы, предсказанные и взвешанные вероятностью будущие состояния, возможные действия для их достижения, краткосрочные оценки этих будущих состояний (уровень благополучия), долгосрочные оценки (матожидание благополучия (широко используется в RL)), и сознание уже решает какое действие применить, чтобы попытаться перевести систему в наиболее благополучное состояние.

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

                                            Надеюсь, вы что-то полезное подчерпнёте из моих соображений.
                                          0
                                          Возможно кому-то формальных автоматов недостаточно, для того чтобы представить себе карту пространства.
                                          Вам поможет вот такая картинка:
                                          image
                                          Чем тоньше ветка, тем меньше уровень графа. Отличия карты от этого фрактала в том, что ветки переиспользуются, и могут между собой соединяться в пределах уровня. Другими словами, это не дерево как на картинке.

                                          Картинку взял тут: blog.exideprod.com/fraktalnoe-derevo-na-python

                                          ps Но такие картинки лучше всерьез не воспринимать. И не только такие, а вообще. Я вот в картинках в своей статье уже кучу ошибок вижу, но вроде не фатальных.
                                          0
                                          Вы частично ответили на простые вопросы: как можно построить модель мира, как искать в ней кратчайшие пути (в действительности мозг не ищет кратчайший), как описывать движения, но с этим прекрасно справляются и существующие, более эффективные алгоритмы.

                                          Меня совершенно не интересуют эффективные алгоритмы. Меня интересует как это делает мозг.
                                            0
                                            Меня интересует как это делает мозг.

                                            Когда люди изучают мозг, они лишь аппроксимируют поведение (нейрона/группы нейронов/структуры/.../человека в целом), а то как это делает мозг это, скорее всего, невероятно сложная, не самая эффективная процедура. При этом сложность быть может такой, что человеку не хватит интеллекта чтобы её познать. Более перспективным считается(кем?) как раз подражание, а не полное копирование мозга и интеллекта в целом.

                                            Какова мотивая вашего желания понять именно механизмы мозга?
                                              0
                                              Какова мотивая вашего желания понять именно механизмы мозга?

                                              Хочу понять, что я такое.
                                                +1
                                                То как человек описывает себя на естественном языке, изображениями, и пр. — всего лишь жалкое подобие реальных процессов. Большая часть функционирования мозга скрыта от человека, и существующий уровень технологий не позволяет эту тайну раскрыть. Поэтому теории построенные на таких наблюдениях почти всегда являются описанием функционала, поведение которого схоже с наблюдаемым объектом или более коротко — аппроксимацией. В них особо не стоит искать ответы на вопросы, также непонятно где их всё же стоит искать.

                                                Меня устроил ответ, что я — набор генетически записанных алгоритмов, подстроенных под текущий окружающий мир опытом, переданным мне моим окружением. И в действительности, моё сознание ничего не решает, оно просто следует эвристическому алгоритму. Ведь мысли, которые ему предлагаются они возникают с точки зрения сознания из неоткуда, из какого-то другого компонента.
                                                Просто так получилось, что перед человеком лежали такие задачи, которые привели его к сознанию, которое мы сейчас знаем. Животные скорее всего обладают чем-то схожим, но оперируют попросту более простыми состояниями. Отличие человека от них — в наличие социума, который смог поддерживать передачу большего объема (бытового, языкового, образовательного) опыта в течении тысяч лет до наших дней.
                                            0
                                            На ваш комментарий отвечать детально нет ни времени ни сил. Слишком длинный диалог получится. Извините за это.

                                            Отвечу на весь комментарий разом в контексте одной цитаты:
                                            Самое главное, где механизмы интенции? Кто дирижёр системы, кто управляет всеми этими подсистемами? Это самый сложный алгоритм, человеку его мало представляется возможным качественно реализовать вручную.

                                            С чего вы так уверены, что он есть вообще? С чего вы взяли, что он сложный?
                                            Я считаю самым большим своим достижением, перестать думать о человеке. Думать надо о кошках, мышках и насекомых. Ответы там. Практически все, что мы себе нафантазировали о самих себе может оказаться неправдой. Все, из чего мы состоим, появилось до нас. Зачем пытаться брать эту штангу в 500кг, если даже гантели поднять не получается? Почему-то все пытаются навязать мне беседу о человеческом мозге. Но мои статьи не о человеческом мозге же. В кошках бы разобраться. На человека я смотрю только как на кошку с дополнительными механизмами. И в общем то понятия не имею чем именно человек от этой кошки отличается. Да и как сама кошка устроена тоже не знаю. Строю догадки как умею. Хотел бы я иметь мозг, о котором все говорят :)
                                              0
                                              Вы частично ответили на простые вопросы: как можно построить модель мира, как искать в ней кратчайшие пути (в действительности мозг не ищет кратчайший), как описывать движения, но с этим прекрасно справляются и существующие, более эффективные алгоритмы.

                                              В какой момент истории эти вопросы стали простыми и где все эти эффективные алгоритмы? Приведите, пожалуйста, ссылки для полноты картины.

                                              ps Я сам то в свою модель слабо верю, так как все слишком просто для таких сложных вопросов. А тут выясняется, что мои потуги вообще были зря, и сложностей никаких нет :)
                                                –1
                                                Пройдите курсы по RL (classic + deep), вопросы отпадут сами собой.

                                                Модели мира высокоуровнево описываются диаграммами связей, низкоуровневно — состояниями-векторами (заданными людьми или сгенерированными энкодерами), в некоторых случаях модели мира — это обработанные численными методами данные с различных видов локаторов (видеокамера, сонар, и пр.).

                                                Движения очень хорошо генерируются и изучаются такой областью математики как теория управления: необходимое движение с заданными ограничениями можно получить аналитически (если надо, то и эвристически). Благодаря этому разделу существуют ракеты, перемещающиеся в пространстве сложнейшие роботы, различные многоосевые манипуляторы/станки.

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

                                                Более того, её можно свести к китайской комнате: если такие-то условия выполняются — то сделай это, и т.д. Но что ваша модель, что китайская комната не дают ответа как её обучать.

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

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

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

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

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

                                                  Что и требовалось доказать.

                                                  Удачи вам.

                                                  ps. Минус комментарию поставил я. Надеюсь, понятно почему.
                                      0
                                      В результате исследовательского поведения животное обнаруживает целевой
                                      объект. В этот момент клетка места, в рецептивном поле которой находится целевой
                                      объект, посылает возбуждающий импульс на соседние клетки места (здесь термин
                                      «соседство» понимается как соседство в графе связей), те, в свою очередь, посылают
                                      импульсы на своих соседей и т.д. (рис. 9). Чтобы сформировать бегущую волну
                                      возбуждения и закрыть возможность распространения возбуждения «назад», вводится
                                      ограничение: клетка места после возбуждения становится на некоторое время
                                      неспособной к повторному возбуждению. Сформировавшаяся волна возбуждения
                                      постепенно удаляется от своего источника. Ее распространение заканчивается, когда
                                      она пройдет через все клетки места или ее дальнейшему распространению будет
                                      препятствовать барьер из клеток, на время потерявших способность к возбуждению.
                                      Правило изменения величины синаптических связей формулируется следующим
                                      образом. Синаптическая связь увеличивается, если она идет от клетки, которой только
                                      что достигла волна возбуждения, к клетке, откуда эта волна возбуждения пришла. В
                                      результате в графе связей между клетками места формируется векторное поле
                                      усиленных синаптических связей (рис. 10). Это поле и «подсказывает» животному, в
                                      каком направлении двигаться, чтобы из любого начального положения достичь
                                      целевого объекта. Надо двигаться по направлению, указываемому векторным полем
                                      усиленных синаптических связей.
                                      Мы описали лишь простейшую стратегию навигации в рамках модели Понулака Хопфилда. На самом деле, эта модель в определенной степени работоспособна и в
                                      условиях множественных целей, и при наличии шумов в работе нейронов, и при
                                      изменении контекста (окружающей обстановки). Эти детали можно найти в самой
                                      публикации авторов [60].

                                      www.matbio.org/2015/Kazanovich_10_88.pdf

                                      ps Примерно такой моя модель была 5 лет назад. Пытался все свести к таксису. Но потом отказался от этой идеи в пользу более формальных построений.
                                        0
                                        Увидел упоминание волн в модели вспомнил про волновую модель А. Редозубова. Вы знакомы с его публикациями на Хабре? Там целый цикл статей на эту тему.
                                          0
                                          Знаком, но ничего не понял.
                                        +1
                                        Оставлю тут еще ссылку: habr.com/ru/post/438526
                                        «Интересным выводом является то, что аналогичный подход может быть использован и для других задач нейронаук», отметил Барри. К примеру, исследователи размышляют над задачей управления конечностями. Нейронные сети можно было бы обучить управлению роботизированной рукой подобно тому как мозг управляет живой рукой, а потом провести серию экспериментов, которые могут дать важные подсказки о том, как эти процессы протекают в живых системах. «Этот подход потенциально может стать универсальным инструментом в области нейронаук».
                                          +1
                                          Еще одна близкая тема: habr.com/ru/post/436334
                                          Анри Пуанкаре был одним из первых, кто подчеркнул роль сенсомоторных представлений в человеческом понимании. В своей книге «Наука и гипотеза» он утверждал, что неподвижное существо никогда не сможет освоить концепцию трехмерного пространства. Не так давно несколько ученых-когнитивистов предположили, что концептуальные представления возникают в результате интеграции восприятия и действий. К примеру, O’Regan и Noë определяют сенсомоторный опыт как «структуру правил, определяющую сенсорные изменения, производимые различными моторными действиями», а пассивное наблюдение как «режим исследования мира, который опирается на знания сенсомоторного опыта». Noë добавляет, что «понятия — это, своего рода, подход к управлению тем что вокруг».
                                            0
                                            Двигаться в пространстве — значит непрерывно тестировать его. Сенсорика и моторика — это единый неразрывный процесс. Решение о том, какое действие нужно совершить на каждом шаге, может принимать сама карта. Ведь она владеет всеми данными (потенциальные действия и ожидаемые ощущения). Я не знаю, как происходит эта классификация, но примерно понятно, в чем она заключается. На каждом шаге должно активироваться как можно меньше кластеров.

                                            На тему выбора действия попалась мне вчера интересная книга: Каляев И.А., Гайдук А.Р. — Однородные нейроподобные структуры в системах выбора действий интеллектуальных роботов
                                            На первый взгляд в ней идет речь о том, как карты (в моей терминологии) могут делать выбор оптимального действия. Причем похоже все сводится к поиску кратчайшего пути между узлами, а сама задача поиска пути в пространстве — это частный случай.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое