Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Как это ни удивительно, но очень похоже, что реальный мозг противоречит всем базовым принципам искусственных нейронных сетей.
Или не противоречит: https://arxiv.org/abs/1510.05067
TL;DR есть вероятность того, что мозг использует для модификации силы синаптических связей способ, похожий на обратное распространение ошибки. По крайней мере в зрительной коре.
6 Discussion
[...]
Nevertheless, this work shows that asymmetric BPs, while having less constraints, are not computationally inferior to standard BP. So if the brain were to implement one of them, it could obtain most of the benefits of the standard algorithm.
[...]
Мотивация этого исследования — проверка возможности реализации мозгом алгоритма обратного распространения ошибок.
Как вы знаете, концепция «нейрона-бабушки» для некоторых нейронов человеческого мозга доказана экспериментально — некоторые слои видят линии определённой ориентации. Да и вообще, для каждого нейрона можно найти объекты, которые возбуждают эти нейроны.
Приведу контрпример аналогией...
Нейросеть из двух слоёв по два нейрона умеет делать XOR. А значит, представление после первого слоя уже не будет признаковым описанием, т.к. один из нейронов выучивает формулу 1-x1-x2, являющуюся комбинацией признаков.
Увы, только если всерьёз верить, что нейросети работают с «признаковыми описаниями».
На практике — между слоями нейросети образуются DR (distributed representation), ничем не отличающаяся от вашего описания DR, которое вы называете «бинарным представлением», и с той же характерной ёмкостью 2^N, где N — количество нейронов на слое.
Именно поэтому даже нейросети из 300 нейронов умеют строить неплохие векторные представления слов: https://www.tensorflow.org/tutorials/word2vec/
Вы, наверное, удивитесь, но этот механизм присутствует в современных нейросетях, хоть и появляется несколько другим образом: нейроны со временем начинают брать на себя новые функции. Для этого их можно случайным образом игнорировать в прямом проходе ( так делает ставший уже классическим DropOut ) или какие-то из них занулить (семейство методов, известное под разными названиями: Knowledge Distillation, Deep Compression
Увы, если бы механизма микросаккад и саккад не было, у человеческого зрения наблюдались бы те же самые проблемы.
Если вы неправильно настраиваете метапараметры, то первый слой нейросети строит «размытые очертания», если правильно — то линии.
Кстати, согласно вашим верованиям, нейросети на это в принципе не способны, ведь это же не признаковое описание. Я правильно понял прошлые части данной статьи?
Ваше представление о нейронных сетях чётко говорит о том, что вы с ними не работали на практике, и поэтому совершенно не представляете, как и за счёт чего они работают.
Мне кажется, если бы вы всё же разобрались, как работают нейронные сети, вы бы начали видеть глубокие аналогии между вашей «независимой» моделью и современными искусственными нейросетями.
При́знак в математике, логике — достаточное условие для принадлежности объекта некоторому классу. В менее строгих науках слово «признак» употребляется, как описание фактов, позволяющих (согласно существующей теории и тому подобное) сделать вывод о наличии интересующего явления.
правило (алгоритм) сопоставления каждому конкретному сообщению строго определённой комбинации символов (знаков) (или сигналов)
Разве ваш Binary Sparse Distributed Representation под названием «код» — это не набор признаков? Разве то, что делает нейрон в микроколонке — это не выделение признака или признаков?
Просто замените в статье «признак» на «элемент кода».
>>> m, r=merge(v, pos=[u'сварщик', u'идёт'], neg=[], n=10, exclude=[])
>>> print '--------', pvec(u'NORM SUM', m)
>>> print pmerge(r)
-------- NORM SUM : [ 0.0179 0.0265 0.0282 -0.0561 0.0576 -0.0954 0.0009]
0.5561 идёт : [-0.0325 -0.0306 0.1227 -0.019 0.1196 -0.0552 0.019]
0.5561 сварщик : [ 0.0682 0.0836 -0.0663 -0.0931 -0.0043 -0.1356 -0.0172]
0.5013 идет : [-0.0326 -0.0301 0.1441 -0.0587 0.1445 -0.0461 0.026]
0.4299 слесарь : [ 0.0518 0.1014 0.0031 -0.0621 0.0803 -0.0093 -0.0165]
0.4217 монтажник : [-0.012 0.0619 -0.058 -0.0756 0.1095 0.015 -0.0367]
0.4009 сантехник : [-0.0459 0.0997 0.0279 -0.0397 0.0379 -0.0599 -0.0448]
0.3975 ремонтник : [-0.0157 0.1313 0.0023 -0.085 0.0153 -0.0688 0.0043]
0.3943 далее : [-0.1098 -0.0499 0.1062 0.0081 0.0849 -0.0031 0.0502]
0.3913 наладчик : [ 0.0901 0.1067 0.0188 -0.114 0.028 -0.0311 -0.0733]
0.3910 начинается : [-0.0293 -0.0516 0.078 0.0152 0.0845 -0.0339 -0.0755]Пусть элемент принимает значение 1 если в codes для слова на этой позиции стоит 1, иначе 0. Этот код признаковый? А ведь он совпадает с вашими кодами полностью, и с твоей «второй моделью» тоже.
признаковый в смысле «второй модели»
для хранения таблицы перекодировки
Зато у вас есть слова о том, что нейросети могут строить только признаковые описания.
Любой в мире код — признаковый в смысле ...
Напоминаю, что таблица получена с помощью нейросети.
Давайте вспомним теорию кодов...
Может вы тогда сами напишете статью в чем Алексей принципиально не прав?
Алексей ввёл термин «признаковое описание»
очевидно же, что он умеет детектировать пары (x1, x2) и (x3, x4)
формируемые в его конечном автомате — это тоже признаковое описание
в том числе и его конечный автомат
Но принципы 1-4 зависят от «признакового описания». Я показал ошибку автора.
прибавление или убавление единицы
В таблице бинарных кодов для десятичных цифр есть ошибка. Коды для тройки и девятки совпадают. Вместо одного из них должен быть код, где единице равны два последних бита.
А у вас есть какая-нибудь простая программа, которая, скажем, сравнивает 2 изображения с прямой и повернутой буквой "А" и выдает уровень схожести?
можно при необходимости «на лету» добавлять новые нейроны, но это требует особого подхода к обучению и связано с существенными сложностями.Сети потребуется «сон», чтобы привести себя в порядок?


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