Pull to refresh
241
0
Алексей Редозубов @AlexeyR

User

Send message
Любое понятие можно свести к слову «объект». Уточнения служат для конкретизации смысла.
Единицу в случайном коде можно назвать признаком кодируемого понятия, вопрос трактовки.
Но есть принципиальная разница между признаком и кодом. Достаточный набор единиц кода одозначно гарантирует идентификацию кодируемого понятия. Набор признаков этого не дает за исключением вырожденного случая, когда исходный признак и есть само понятие.
О как! Я то думал, что убедил вас.

Список различий, но не преимуществ.

Если зайти слишком далеко, то можно договриться о том, что любая программа на компьютере — это частный случай нейросети.
Возьмем набор из 1 000 000 понтий. Сопоставим каждому случайный бинарный хеш-код длиною 100 бит и 10 едениц на код в случайных позициях. Единица в какой-либо позиции в таком коде не является признаком. Хотя она и есть только у десятой части всех понятий, она все равно будет общей для порядка 100 000 понятий. Внешне она будет чаще других срабатывать на понятие в котором она есть, но при этом не говорят, что она соответсвует какому-либо признаку.
У меня нет ни слова ни о том, что нейросети — это плохо, и ничего о том, что моя модель лучше. В некоторых задачах, например, распознавание достаточно простых образов моя модель и сверточные сети дают одинаковый результат. Причем это происходит от того, что по сути они делают одно и то же. Но сверточные сети знают только правила геометрических преобразований и плохо умеют сворачивать то, что не приводится к картинке. И вот тут мой подход действительно начинает давать значительно лучший результат. Но до описания этого мы пока не дошли. Когда дойдем, тогда и будет разговор о преимуществах.
Сейчас разговор идет только о различиях, почему эти различия дают преимущество будет понятно несколько позже.
Кроме того идет разговор о биологической достоверности, но он не связан с критикой нейросетей в плане их возможностей.
Представление в факторах — это линейная комбинация. Несколько «слоев» линейных комбинаций могут быть заменены одним. В нейронной сети есть пороговая функция, которая нарушает линейность. За счет этого появляется смысл в многослойности.
При применении факторного анализа выделяются ортогональныее факторы, что далеко не всегда удобно для реальных данных. Но это следствие линейности модели. Только ортогональные факторы можно свободно складывать. В коррелированных факторах при их сложении общая составляющая учитывается дважды.
Нейронная сеть может себе позволить коррелированные факторы. «Неправильный» результат их сложения «гасится» насыщением пороговой функции. За счет этого правильно обученная многослойная нейронная сеть приобретает большую выразительную мощность по сранению с факторным анализом. В том числе появляется и XOR, который невозможен в линейной модели.
Но сама суть реакции нейронов остается очень близка к реакции факторов. Поэтому уместны многие аналогии. В том числе и трактовка реакции нейрона, как реакции на определенный признак.
За счет того, что нейроны могут выделять косоугольные факторы их реакция может буть совместной. Но при этом они не формируют код, а создают признаковое описание в котором часть признаков коррелирована.
Если признаки, участвующие в описании двух явлений различны, то их можно сложить и получить корректное описание комбинации явлений. Но как правило уже после двух-трех наложений начинаются сложности с интерпретацией. Наложение кодов позволяет формировать свободное от коллизий описание, состоящее из нескольких десятков понятий. Собственно такое наложение несет совсем другой смысл и другую математику.
Будет большая часть о формировании эмоций. Основные идеи есть в этом видео. Но это о том какая сформируется личность. Ваш же вопрос скорее о том как сформировать ребенка более умным. Похоже, что это связано с многообразием доступных ему контекстов. Тут необходимо множество обучающих примеров с разными взглядами на одно и то же. Давать такие примеры только со стороны родителей тяжело. Скорее надо создать у ребенка желание самому получат такой опыт, то есть максимально простимулировать его любопытство и жажду новых знаний. А вот о том как это сделать и какие этим управляют механизмы и сказано в видео, которое упомянуто выше.
Семантические вектора строятся так. Предложения разбиваются на пары слов. Получается обучающая выборка в которой содержится инфформация о том, какие слова встречаются совместно. Из этого выделяются факторы. Эти факторы можно получить сетью, а можно методами фактрного анализа. В факторном анализе берутся первые 300 факторов (по величине объясняющей дисперсии), в сети они же получаются на слое ограниченном в числе нейронов. Каждый из факторов можно содержательно трактовать по его факторным нагрузкам, в сети по силе весов к исходным словам.
Для «мужчина», «женщина» высокие значения будут в факторе «связанное с человеком» и возможно еще каких-то. Чтобы понять значения весов надо смотреть на другие слова.
В фактроном анализе чтобы упростить трактовку используют предварительное вращение базиса, чтобы развернуть факторы максимально вдоль дисперсий признаков. Без вращения базис из факторов работает точно так же, но не интерпретируется.
В сети те же факторы могут выделиться без вращения, то есть «размазаться» по разным нейронам. Как и вращение базиса это не влияет на результат работы, но затрудняет интерпретацию.
Да, есть такие программы. Есть для цифр и букв, есть для лиц. Скоро дойдем до них.
Разве ваш Binary Sparse Distributed Representation под названием «код» — это не набор признаков? Разве то, что делает нейрон в микроколонке — это не выделение признака или признаков?
Просто замените в статье «признак» на «элемент кода».

Вы все время не о том. Бинарный хеш-код — это не набор бинарных признаков. Если у вас есть ячейка памяти, которая может принимать разные значения, то признаком чего является ее третий бит?
Подождите примеров, возможно, станет понятнее.
Когда код состоит из набора бит, то каждый отдельный бит уже не является признаком.
Да именно так. При этом в статье в мозг не лезут, а только показывают вариацию BP без возможности симметрично распространять сигнал по связи как туда, так и обратно. Считалось, что если связи в мозгу не могут обеспечить симметрию (веса работают в одну сторону), то и искать BP в коре смысла нет. Статья говорит, что искать стоит.
Как вы знаете, концепция «нейрона-бабушки» для некоторых нейронов человеческого мозга доказана экспериментально — некоторые слои видят линии определённой ориентации. Да и вообще, для каждого нейрона можно найти объекты, которые возбуждают эти нейроны.

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

Приведу контрпример аналогией...

Исходная фраза совсем о другом.

Нейросеть из двух слоёв по два нейрона умеет делать XOR. А значит, представление после первого слоя уже не будет признаковым описанием, т.к. один из нейронов выучивает формулу 1-x1-x2, являющуюся комбинацией признаков.

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

Увы, только если всерьёз верить, что нейросети работают с «признаковыми описаниями».
На практике — между слоями нейросети образуются DR (distributed representation), ничем не отличающаяся от вашего описания DR, которое вы называете «бинарным представлением», и с той же характерной ёмкостью 2^N, где N — количество нейронов на слое.
Именно поэтому даже нейросети из 300 нейронов умеют строить неплохие векторные представления слов: https://www.tensorflow.org/tutorials/word2vec/

distributed representation — это «распределенное представление». Его суть именно в том, что выделяется множество факторов, которые позволяют создать признаковое описание в терминах общих для всех примеров. В семантическом случае используют частоту совместного проявления слов для проведения факторного анализа. Для этого как раз хорошо подходит автоэнкодер. Все получившиеся факторы (300 штук) являются типичными «бабушками» они все хорошо интерпретируются, это особенно хорошо видно на визуализациях.

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

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

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

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

Если вы неправильно настраиваете метапараметры, то первый слой нейросети строит «размытые очертания», если правильно — то линии.
Кстати, согласно вашим верованиям, нейросети на это в принципе не способны, ведь это же не признаковое описание. Я правильно понял прошлые части данной статьи?

Нет. Вы поняли неправильно. И размытые и четкие линии — это типичные признаки. Кстати, некорректно говорить о правильной или неправильной настройке применительно к толщине выделившихся линий.

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

Ну это вы загнули :)

Мне кажется, если бы вы всё же разобрались, как работают нейронные сети, вы бы начали видеть глубокие аналогии между вашей «независимой» моделью и современными искусственными нейросетями.

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

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

Эта статья несколько о другом. Она о том, что обратное распространение в искусственых нейронных сетях можно заставить работать без того чтобы связи симметричного распространяли сигналы в обе стороны. Это ничего не говорит о том как работают биологические нейроны.
Не получается сделать примеры так быстро, как хотелось бы. Чтобы заполнить паузу завтра запишу виде с рассказом о следующем шаге рассуждений. Это будут объяснения (по мне очень важные для понимания работы мозга) о том как мозг делает то же, что делают и нейронные сети, но делает это совсем по-другому.
Выложу видео, видимо, послезавтра. А еще через неделю доделаю статью об этом.
Что врожденное, а что нет — вопрос интересный. Подробнее тут.
Обычно психологи исходят из того, что свойства личности — это нечто предопределенное генетически впоследствии несколько подправленное индивидуальным развитием. Я берусь утверждать, что все эти свойства формируются уже после рождения. Механизм их формирования — это неотъемлимая часть механизма обучения с подкреплением. Показаны пути формироания всех известных эмоций, в том числе восприятие крастоы во всех ее проявлениях. Моделирование личности с фиксированными свойствами не совсем корректно.
Семантические модели главным образом упираются в неоднозначность присущую всем словам языка. Возникает потребность контекстно зависимой трактовки. Иначе говоря, необходима формализация понятий информация и смысл. Боюсь без этого результаты будут крутиться вокруг статистических закономерностей.
Очень хочу 7 ноября выложить следующую часть. Она о том как происходит обучение с учителем и без учителя. Там очень важнный материал, который позволяет понять в чем основная проблема нейронных сетей и как ее исправить (как это делает мозг). Решил немного обновить демонстрационную программу и засосало в полное переписывание. Сейчас доотлаживаю и выложу и код и статью.
Первый проектор повился у меня в конце 90х. С тех пор сменил пять или шесть моделей. Сейчас у меня Epson TW9200. И это не проектор — это чудо. Дикий непроходящий восторг от качества картинки, эталонных цветов и общей продуманности всего. Спасибо вам ребята их Epson, вы делаете классные вещи!
Все равно, формальный нейрон имеет один характерный стимул, определяемый его весами. Не суть важно, что стоит за этим стимулом: целый образ, фрагмент, взаимное положение. Идеология сохраняется: один нейрон — один стимул.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity