Комментарии 74
Так какой вариант верный?
Вариант с автоенкодерами чреват гипервозбуждением участков коры и эпилепсией, вариант обучения с учителем — тривиальный и никак не решает проблему одновременно высокой стабильности-пластичности (у вас получилась высокая стабильность, но низкая пластичность).
Вообще, так получается, что ограничение соединений между частями мозга нужно в основном именно для защиты от перевозбуждения и для изоляции взаимодействия сигналов от разных органов чувств, иначе (в самом мягком случае) возникает синестезия, которая скорее вредит, чем помогает.
Вот как раз именно на этот вопрос вы пока неудовлетворительно отвечаете: почему в мозгу информация не перепутывается в кашу? В вашей модели эта возможность присутствует — подхватили автоенкодеры неправильную ассоциацию, как им потом от неё избавиться?
А как механизм обучения с учителем спасается от этого, мы и так знаем (шаг в сторону, и учитель по руке палкой бьёт).
Спасибо, долго ждал самую интересную часть и не зря. Складывается гипотеза, что чем интереснее, тем дольше надо ждать)
У меня ощущение, что большим множеством таких элементов с бинарным выходом эмулируются веса связей как те, что в программных НС.
И я правильно понимаю, что эта модель способна обучаться новому без потери предыдущего опыта (так как, собственно, перезаписи в ней нет, а есть только уточнение, очистка от шума)?
В некоторых искусственных ситуациях — да. Но на практике опыт часто бывает противоречив. Если новый опыт будет противоречить старому, то как модель сможет выдавать оба разных противоречащих друг другу предсказания одновременно?
Причём так, чтобы параметры системы (забывание) не менять на ходу.
Предлагаю вам сделать пост, который посвятить именно формированию проверочных датасетов, которые позволят ответить на вопрос области применимости или неприменимости вашей системы в конкретных ситуациях.
Потому что пока вы ориентируетесь на один способ применения, вы имеете возможность выставить параметры (время забывания, время срабатывания) так, как нужно для конкретной задачи — иногда даже меняя их в тысячи раз, но эта модель не соответствует мозгу, где эти параметры не имеют такого огромного диапазона для изменения. (Кажется, я намекал на это ещё два года назад.)
Например, ваша текущая система, описанная в этом посте, ограничена свойствами autoencoder-ов — фиксирования и некоторого обобщения действительности (в статике и динамике). Обеспечение одновременно забывания и долговременной памяти для неё — не реализуемо без отдельной подсистемы памяти и подсистемы внимания, и отдельных сложных правил взаимодействия с подсистемой памяти и внимания.
Можете взять примеры тестов для HTM и нейронных сетей, например:
* статический mnist — угадывание текущей цифры, запоминание и выдача следующей цифры
* динамический mnist — угадывание цифры по попиксельной или построчной информации о ней — т.е. сначала нейромодулю даются пиксели первой строчка цифры, потом вторые, итд. ( есть такая работа для сравнения: http://www.gitxiv.com/posts/7j5JXvP3kn5Jf8Waj/irnn-experiment-with-pixel-by-pixel-sequential-mnist#! )
* moving mnist — http://www.cs.toronto.edu/~nitish/unsupervised_video/ — предсказание следующего кадра видео для движущихся цифр из mnist, и просто угадывание текущей цифры по движущейся картинке (я как раз тестировал HTM на таком тесте и результаты на единицу вычислительной мощности были весьма скромными, а наилучшие результаты были намного хуже нейросетей).
* запоминание и предсказание следующей цифры в случайной, но повторяющейся последовательности цифр (скажем, 123123123...), потом смена последовательности (12312321321321) и автоматически нейросеть должна теперь предсказывать цифры новой последовательности, не выдавая цифры старой последовательности.
* для игр посложнее, можете взять задачи с площадки openai, например, обогнав state-of-the-art и набрав миллион очков в pacman-е и сравнившись с комбинированным code+RL решением от maaluba:
https://www.wired.com/story/mircosoft-ai-ms-pac-man/ :)
Потому что не забывайте про весьма опасное для научных исследований когнитивное заблуждение, которое называется «поиск только позитивных результатов»: ( https://wiki.lesswrong.com/wiki/Positive_bias, https://en.wikipedia.org/wiki/Confirmation_bias, https://ru.wikipedia.org/wiki/Склонность_к_подтверждению_своей_точки_зрения, https://ru.wikipedia.org/wiki/Принятие_желаемого_за_действительное )
Информация о том, где система не работает (и почему), зачастую несёт намного больше пользы, чем информация о реальных способах применения, хотя, конечно, важно и то, и другое.
Если надо поменять выходной код так, чтобы старый больше не вспоминался, то достаточно просто уничтожить кластеры, его формирующие, или разорвать с ними связи. Но лучше не стирать старый код. Люди, те, что поумнее, помнят свои ошибки, чтобы заново их не делать.
Например, пусть поменялась ситуация: цвет светофора, за которым система следит, сменился с желтого на красный. Тогда выдача системой и старого результата, и нового, в виде logical OR — т.е., и кода для «желтого», и кода для «красного» — не имеет смысла.
Понимаете теперь, в чём сложность? Нужно старый результат забыть, потому что он теперь неправильный, а не выдавать одновременно все возможные результаты «потому, что можем».
Задача обучения и обобщения неразрывно связана с вопросом выбора, вопросом создания удачного описания в котором выбор возможен, обучением того как сделать оптимальный выбор. Собственно, я и планирую показать как связаны вместе все эти функции и как это реализует мозг.
Не забудьте показать, как RL (=reinforcement learning — я вижу, вы мне уже зачем-то начали пытаться рассказывать, что это такое) вам поможет с задачей переучивания. Это, как я вижу, основная претензия к текущей модели — её принципиальная неспособность избавляться от неправильных ассоциаций и ложных закономерностей, при этом не забывая истинные закономерности. См. выше примеры задач, где вы могли бы проиллюстрировать, как на самом деле работает в вашей системе нейропластичность, и насколько она в ней работает.
Обратите внимание на очень простую задачу с предсказанием следующей цифры в случайным образом динамически меняемой последовательности (123123123321321321241241241442442442… ) и попробуйте реализовать её в вашей системе.
простую задачу с предсказанием следующей цифры в случайным образом динамически меняемой последовательности (123123123321321321241241241442442442… ) и попробуйте реализовать её в вашей системе
Губа не дура. Пойдёте с ней казино банкротить?
простую задачу с предсказанием следующей цифры в случайным образом динамически меняемой последовательности (123123123321321321241241241442442442… ) и попробуйте реализовать её в вашей системе
Губа не дура. Пойдёте с ней казино банкротить?
Ваша ирония здесь неуместна. И человек на уровне неокортекса, и нейросетевые алгоритмы умеют данную задачу с некоторой точностью решать. Понятно, что 100% точности никогда не будет. Но эта точность — это один из множества способов измерить стабильность и пластичность модели. Алексей критиковал некоторое время назад в другой статье нейросети за (якобы) низкое значение этого параметра, так почему бы не проверить его модель? Данную проверку можно реализовать за пару часов.
Модель позволяет связать стимулы с их идентификаторами, утрированно, это обратное key-value хранилище, где по значению можно получить идентификатор. И единственное, что можно в ней менять — идентификаторы. Припёрло поменять идентификатор «красного» стимула, ну меняйте, нет проблем.
Если вы ждёте от этой модели какого-то прогноза в отношении «какой будет следующий цвет светофора?», то вы явно прочли статью по диагонали. Это модель сенсорного восприятия, а не аналитической обработки.
1) Я утверждаю, что в достаточно сложной модели (из нескольких зон коры) он точно появится со временем — ведь ассоциации в текущей модели никогда не ослабевают.
И может даже появиться в модели одной зоны коры — если неправильно настроены параметры, или, например, если иногда светофор горит и жёлтым и красным, а иногда только жёлтым или только красным, и вы его видите с разного расстояния, в разных координатах и при наличии шума (чтобы нельзя было отмахнуться от проблемы с помощью выучивания локальных корреляций, обосновывая, что нейроны для красного все рядом, нейроны для жёлтого далеко от них). После этого от неправильной ассоциации в текущей модели будет невозможно избавиться, не забыв одновременно другую полезную информацию. Я это моделировал несколько лет назад. Там даже вводился дополнительный коэффициент переучивания, но он сам по себе не помогал. И, по моему мнению, RL у человека для этого не применяется, а используется система хранения и обновления воспоминаний и таламические ядра для адаптации и построения визуальных гипотез.
2) «Это модель сенсорного восприятия» — т.е. правильно ли я вас понял, что вы считаете, что модель Алексея можно применять только для зоны коры человека V1, но уже не для V2 — ведь в V2 уже нет сенсорной информации? А вот у человека неокортекс устроен одинаково и в V1 и в V2, и в V4. И Алексей утверждает, что он строит не абстрактную модель сенсорного восприятия, а модель человеческого мозга — поэтому сравнивать то, что получилось на выходе, имеет смысл, и имеет смысл объединять модели разных зон коры вместе, и видеть, как вроде бы стройная модель одной зоны коры внезапно перестаёт работать на практике.
Наверное, Алексею пока мои выводы подтверждать или опровергать не интересно. Но если я прав, то тогда он вселяет в вас бездоказательную веру в модель, которая не работает на практике.
Ну да ладно, не буду больше комментировать неочевидные вещи.
Кроме того, основные принципы может и одинаковые, но назначение блоков разное. На первых уровнях обработки информации вообще ничего не запоминается, происходит просто преобразование, результаты которого передаются дальше.
Поэтому ваши претензии необоснованы.
Ну, тогда вопрос в том, включает ли «более сложная модель» описанный в этой статье компонент, или она совсем другая. Мне казалось, что первый вариант, иначе зачем тогда эта статья в этом цикле.
> На первых уровнях обработки информации вообще ничего не запоминается, происходит просто преобразование, результаты которого передаются дальше.
То есть, запоминание параметров преобразования — это не память, по вашему? И если неправильные параметры преобразования запомнятся — это, по вашему, не будет проблемой?
включает ли «более сложная модель» описанный в этой статье компонент
Я так понимаю, что включает. Но вы предъявляете требования к части как к целому. Это как предъявлять требования к новой модели оперативной памяти, что она мол без электричества данные не хранит, а вот компьютер, выпущенный 20 лет назад, можно было из розетки выключать и все сохранялось.
Насколько я понял из статьи, то да, в этом компоненте на выходе будут воспоминания и желтого и красного светофора. Но не в виде сигнала активности, а в виде запомненных кодов. И входной сигнал будет сверяться с этими кодами. И уже потом один из кодов будет давать активный сигнал.
То есть, запоминание параметров преобразования — это не память, по вашему?
Это не запоминание того, какой цвет горел и на какой он сменился. Информация о цвете вообще идет сразу с рецепторов и на принципы распознавания формы не влияет. ON и OFF клетки не запоминают данные, они их преобразуют и передают дальше. А принципы преобразования на этом уровне, как правило, не меняются.
И если неправильные параметры преобразования запомнятся — это, по вашему, не будет проблемой?
Как я уже сказал, в естественном интеллекте все запоминается, но потом анализируется, то есть эта проблема решается по-другому. Если цвет сменится на красный, вы не забудете, что до этого горел желтый. Забывание воспоминаний происходит по другим причинам. В статье, кстати, про это есть.
Насколько я понял из статьи, то да, в этом компоненте на выходе будут воспоминания и желтого и красного светофора. Но не в виде сигнала активности, а в виде запомненных кодов. И входной сигнал будет сверяться с этими кодами. И уже потом один из кодов будет давать активный сигнал.
На одном уровне и без шума всё будет хорошо. Меня волнует исключительно потенциальная проблема накопления в модели неправильных ассоциаций со временем. Я строил моё представление модели Алексея из кусков, разбросанных в разных частях. Если я построил неправильно — ну, подождём следующих статей или практического примера Алексея, развенчивающего мою мысль.
А принципы преобразования на этом уровне, как правило, не меняются.
Вы произвели подмену понятий. Я говорил про данные для преобразований, у вас они внезапно превратились в принципы преобразований, а зоны коры — в рецепторы глаза.
Как я уже сказал, в естественном интеллекте все запоминается, но потом анализируется, то есть эта проблема решается по-другому.
Вы упростили до уровня неправды. На самом деле, на каждом нейроне информация и запоминается, и анализируется, и неправильно было бы думать иначе.
Меня волнует исключительно потенциальная проблема накопления в модели неправильных ассоциаций со временем
Они со временем исчезают. Это та часть, где про "утро вечера мудренее".
Вы упростили до уровня неправды
То есть вы хотите сказать, что вы забудете, что горел желтый, если он сменится на красный? Или может вы хотите сказать, что информация "2 секунды назад горел желтый светофор" анализируется на уровне ON-OFF клеток? Где именно неправда?
Они со временем исчезают
В вашей бездоказательной теории?
Или может вы хотите сказать, что информация «2 секунды назад горел желтый светофор» анализируется на уровне ON-OFF клеток.
А вы расшифруйте понятие «анализируется» для начала.
В вашей бездоказательной теории?
У меня нет никакой теории. Но в статье описан механизм удаления кластеров.
А вы расшифруйте понятие «анализируется» для начала.
На данном уровне это неважно. Понятия "цвет светофора" на уровне обработки границ линий еще нет. Следовательно, никакие действия с этим понятием происходить не могут. В том числе и "анализируется", что бы оно ни означало.
Но в статье описан механизм удаления кластеров.
Да, есть такое описание, один в один повторяющее механизм temporal layer из модели HTM CLA. Но, вы, может быть, не обратили внимание, что в некоторой части данной статьи описано обучение с учителем, supervised learning, а не unsupervised learning, который должен делать человеческий мозг в соответствующих областях. Это ключевой момент. Уверения автора о сходимости в данной статье распространяются именно на supervised learning. А я как раз и утверждаю, что при unsupervised learning подобная модель вполне может накапливать ошибки со временем, и в режиме supervised learning у человека она работать не может — это противоречит наблюдаемым данным о строении мозга.
На данном уровне это неважно. Понятия «цвет светофора» на уровне обработки границ линий еще нет. Следовательно, никакие действия с этим понятием происходить не могут. В том числе и «анализируется», что бы оно ни означало.
Применяя вашу логику, если некоторое существо (животное, компьютер или ребёнок) не знает, что камень перед ним красный, зелёный или круглый (не имеет соответствующего понятия), то он его не может видеть. Видите логическую ошибку? Так что, пожалуйста, дайте определение понятия «анализируется», которое вы применяете, и мы разберём, что именно анализируется нейроном, который вы, верные своей привычке к манипулированию, внезапно подменили на on- и off- клетки и две секунды, вероятно, надеясь оказаться неправым лишь частично, но даже тут оказались полностью не правы (т.к. ганглионарные клетки преимущественно адаптируются к быстрому изменению освещённости, а биполярные к медленному, о чём в википедии явно не написано, но упомянуто в книге по ссылке ниже — а что это, как не анализ ситуации, происходящий одновременно с запоминанием результатов этого анализа — и, кстати, «границы линий» в основном определяются в зоне мозга V1, а ганглионарные и биполярные нервные клетки — располагаются в сетчатке глаз).
Хоть бы википедию почитали, прежде чем аргументированно спорить, вот вам русские статьи, их вполне достаточно:
https://ru.wikipedia.org/wiki/Ганглионарная_клетка
https://ru.wikipedia.org/wiki/Биполярные_клетки_сетчатки
https://ru.wikipedia.org/wiki/Зрительная_кора
А вот момент, который пришлось поискать в книжке: https://books.google.ru/books?id=CepVYuTHYmIC&pg=PA55&lpg=PA55&dq=биполярные+клетки+адаптация+к+освещенности&source=bl&ots=UJHi08UPnG&sig=IRp0tJ9vTraNTQchrtQf5avVwIQ&hl=en&sa=X&redir_esc=y#v=onepage&q=%D0%B1%D0%B8%D0%BF%D0%BE%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B5%D1%82%D0%BA%D0%B8%20%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B0%D1%86%D0%B8%D1%8F%20%D0%BA%20%D0%BE%D1%81%D0%B2%D0%B5%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8&f=false
Вот примерно такого же уровня у меня и претензии к постам Алексея: на взгляд «неспециалистов» всё стройно и логично, как в учебнике, а копнёшь глубже — и видно, что местами (подчёркиваю, местами!) выдаётся желаемое за действительное.
Я даже объясняю, почему это происходит — потому что теория не равна практике, и предлагаю примеры, чтобы в этом убедиться. Вероятно, часть материала у Алексея пока отработана лишь теоретически на основе переосмысления чужих моделей и данных нейронаук. Но, пока вы не попробуете описанное в литературе реализовать тем или иным образом, вы и не заметите ошибок и нестыковок.
Применяя вашу логику, если некоторое существо (животное, компьютер или ребёнок) не знает, что камень перед ним красный, зелёный или круглый (не имеет соответствующего понятия), то он его не может видеть. Видите логическую ошибку?
Нет никакой логической ошибки. Под словом "понятие" я подразумевал не слово из человеческого языка, а распознаваемый объект, выделяемый среди других объектов. То, что это слово обозначает. И да, если животное не распознает красный и желтый цвет, то оно и не заметит, что цвет изменился.
нейроном, который вы внезапно подменили на on- и off- клетки
on и off клетки это тоже нейроны.
вероятно, надеясь оказаться неправым лишь частично
Нет, я на это не надеялся.
а что это, как не анализ ситуации, происходящий одновременно с запоминанием результатов этого анализа
Это адаптирование к входным данным Можете назвать это анализом, только это анализ на уровне понятий клетки. Если до входа клетки не появилось понятие "цвет светофора", то клетка его анализировать не будет.
Они распознают границу свет/темнота, вот эти понятия и влияют на их поведение.
Я об этом и сказал — информация обрабатывается и передается дальше.
Будет приходить другая информация — будут передаваться другие результаты.
Изменилось освещение — изменилось поведение.
Запоминания предыдущего поведения нет.
Впрочем это все демагогия. Если цвет сменится на красный, вы не забудете, что до этого горел желтый. Значит, на некотором уровне запоминаются все ассоциации — и правильная в данный момент, и неправильная. А на первых уровнях ничего не запоминается, происходит подстройка под текущие данные.
и, кстати, «границы линий» в основном определяются
Граница между светлым и темным определяется в on-off клетках. Граница между светлым и темным это линия. Ориентация и длина линии определяются дальше, в следующих слоях, на основе сигналов от этих клеток.
Вот примерно такого же уровня у меня и претензии к постам Алексея
У вас претензии вида "а вот у меня в нейросети не работало, значит и у вас не будет работать" и "а сделайте вот этот пример, в котором даже человеку непонятно, какая следующая цифра". Здесь описывается другой подход, который может и похож на существущие, но в нем дается объяснение, почему они работают. В отличие от математики, где "мы вот посчитали сходимость, оно работает, а как именно никто не знает, и чтобы работало по-другому надо заново обучать". Если у вас есть другое логичное объяснение, напишите статью, это будет полезнее, чем придирки в комментариях. Думаю, для оценки результатов надо подождать конца цикла или хотя бы практических программ, а только потом уже предъявлять претензии.
Хотя действительно, было бы лучше, если бы автор выложил что-то практически полезное, сравнение 2 фото в разных ракурсах например, на основе чего уже и объяснять теорию.
Но, пока вы не попробуете описанное в литературе реализовать
Я, как ни странно, пробовал реализовать. Но подход у меня был не математический, а практический — продумать весь путь обработки информации на уровне реакции отдельных нейронов. Потому что нейроны не знают математики и не умеют вычислять производные. Начал приходить к некоторым выводам, но всерьез этим не занимался. А недавно прочитал здесь про теорию Алексея, и обнаружил, что многие мои предположения похожи на те, что изложены там. Хотя конечно же по масштабам ни в какое сравнение не идут. Поэтому считаю, что эта теория по крайней мере заслуживает внимания. Будет ли от нее польза, это другой вопрос.
Понимаете, нету у человека локализации анализа в каком-то определённом месте мозга. В ваше определение «анализа» или попали бы и нейроны глаза, или не попала бы большая часть нейронов мозга.
Может, просто неудачный термин для того, что вы хотели описать…
>У вас претензии вида «а вот у меня в нейросети не работало, значит и у вас не будет работать»
Я не только в нейросети такое делал, я HTM CLA тоже делал и визуализировал: смотрел, что учат нейроны, как происходит обучение, как самонастраиваются перцептивные поля, и как два слоя друг с другом взаимодействуют.
И, понимаете, верхнеуровневая логика и проблематика от нейросетей вообще не отличается, хотя детали, конечно, немного отличаются.
А ещё я bloom filter и sparse encoding использовал в реальных задачах — наверное, я и в этом что-то понимаю теперь?
>и «а сделайте вот этот пример, в котором даже человеку непонятно, какая следующая цифра»
Ну придумайте любой другой тест на стабильность-пластичность, если этот вам некомфортен. Последовательности есть у Алексея в этой статье, поэтому я и предложил тест на последовательности.
>Но подход у меня был не математический, а практический — продумать весь путь обработки информации на уровне реакции отдельных нейронов.
Так понимаете, не зря говорят «great minds thinks alike» — когда вы пытаетесь построить архитектуру, вариантов не так много, и все люди приходят примерно к одним и тем же идеям. Только кто-то их потом скрупулёзно исследует и вычисляет их применимость на реальных задачах, а кто-то лишь строит «свою уникальную модель», и умышленно или неумышленно скрывает недостатки.
В плане идей — да, почитать статьи Алексея, переосмыслить другие знания — вполне можно. В плане реализации чего-либо — я бы поостерёгся опираться на подобную непроверенную технологию.
>Если у вас есть другое логичное объяснение, напишите статью, это будет полезнее, чем придирки в комментариях
Да уже много книг и статей написано, я на некоторые даже ссылался.
>Здесь описывается другой подход, который может и похож на существущие, но в нем дается объяснение, почему они работают.
Тут скорее что-то типа «автор так круто рассказывает, я многое переосмыслил в своей голове, пусть он даже считает, что 2+2*2=137». Можно к этому по-разному относиться, я отношусь одним образом, вы — другим.
Понимаете, нету у человека локализации анализа в каком-то определённом месте мозга.
Есть. Неважно как это назвать, важно то, что на некотором уровне появляется осознание отдельных объектов (сущностей), их поведения, и оценка времени и акуальности ("горит сейчас / горел до этого"). В сетчатке вы такой обработки не найдете, и сеть, построенная только на этих принципах, способности естественного интеллекта проявлять не будет. Что в общем-то и заметно по текущей ситуации в этой области.
я HTM CLA тоже делал и визуализировал, bloom filter и sparse encoding использовал в реальных задачах
У вас есть искусственный интеллект, который можно использовать как аналог естественного в реальных задачах? Или хотя бы теория, как его сделать? Или хотя бы теория, как работает естественный интеллект и почему именно так?
Это не аргумент "сперва добейся", это напоминание, что нейросети, которые вы делали и использовали, пока способностей естественного интеллекта не проявляют. Поэтому неважно, сколько у вас них опыта. Раз они не работают, значит нужны другие подходы.
В плане реализации чего-либо — я бы поостерёгся опираться на подобную непроверенную технологию
Как можно проверить технологию, не создавая реализацию? Даже наоборот, аргумент "работает же" гораздо лучше всяких теоретических доказательств. Если работает, конечно.
Да уже много книг и статей написано, я на некоторые даже ссылался.
Только воз и ныне там. Эти нейросети нельзя использовать вместо естественного интеллекта.
>Есть. Неважно как это назвать, важно то, что на некотором уровне появляется осознание отдельных объектов (сущностей), их поведения, и оценка времени и акуальности («горит сейчас / горел до этого»). В сетчатке вы такой обработки не найдете, и сеть, построенная только на этих принципах, способности естественного интеллекта проявлять не будет. Что в общем-то и заметно по текущей ситуации в этой области.
В процессоре вы тоже не найдёте места, в котором появляется осознание отдельных объектов, значит ли это, что на процессорах не реализовать компьютерное сознание в принципе?
>>я HTM CLA тоже делал и визуализировал, bloom filter и sparse encoding использовал в реальных задачах
>У вас есть искусственный интеллект, который можно использовать как аналог естественного в реальных задачах? Или хотя бы теория, как его сделать? Или хотя бы теория, как работает естественный интеллект и почему именно так?
Нет. Да. Да.
У нас уже есть различные куски искусственного интеллекта, но не всё в целом — в основном, отстаёт работа с текстом.
>Это не аргумент «сперва добейся», это напоминание, что нейросети, которые вы делали и использовали, пока способностей естественного интеллекта не проявляют. Поэтому неважно, сколько у вас них опыта. Раз они не работают, значит нужны другие подходы.
Всё сложнее. У кошки есть нейроны, но говорить по-человечески она не умеет. Значит ли это, что у неё вообще нет интеллекта?
Можно ли прийти к интеллекту, решая постепенно разные подзадачи и объединяя их в цельную систему, или же нужно обязательно всю систему строить разом и на основе единой вычислительной платформы?
>>В плане реализации чего-либо — я бы поостерёгся опираться на подобную непроверенную технологию
>Как можно проверить технологию, не создавая реализацию? Даже наоборот, аргумент «работает же» гораздо лучше всяких теоретических доказательств. Если работает, конечно.
Можно проверить, смоделировав в голове, или построив упрощённую или аналогичную модель. Но так можно и ошибиться.
>>Да уже много книг и статей написано, я на некоторые даже ссылался.
>Только воз и ныне там. Эти нейросети нельзя использовать вместо естественного интеллекта.
Ни в одной задаче нельзя, или в некоторых задачах всё-таки можно?
В процессоре вы тоже не найдёте места, в котором появляется осознание отдельных объектов, значит ли это, что на процессорах не реализовать компьютерное сознание в принципе?
Отдельные объекты появляются на более высоком уровне абстракции. Я говорю про абстракции, а не про реализацию. На уровне сетчатки таких абстракций нет.
Нет. Да. Да.
Почему ж никто его еще не сделал? Может теория неправильная? Или недостаточная?
У нас уже есть различные куски искусственного интеллекта
Так речь и идет о том, как оно работает в целом. Калькуляторы уже давно придумали.
У кошки есть нейроны, но говорить по-человечески она не умеет. Значит ли это, что у неё вообще нет интеллекта?
А причем тут способности голосовых связок? Кошка распознает объекты и действует в соответствии с результатом. Причем двухмесячный котенок справляется с этим лучше, чем любая существющая нейросеть. Я говорю про принципы, а вы почему-то цепляетесь к частностям.
или же нужно обязательно всю систему строить разом
Нет. Просто нужны другие принципы. Используя термодинамику, радио не построишь. Разве что корпус для него.
Ни в одной задаче нельзя, или в некоторых задачах всё-таки можно?
Так вопрос как раз про другие задачи. Почему их решить нельзя. Может мы что-то делаем не так?
Но вы забываете про главное: нейросети всё ещё в миллион раз меньше человеческого мозга по вычислительной мощности на единицу времени.
На маленьких задачах (по затратам выч. мощности) и при достаточности тренировочных данных нейросети уже обгоняют среднего, а иногда даже лучшего человека. Примеры таких задач приводить или сами знаете?
Чтение по губам, распознавание звуков и речи с ограниченным словарём, распознавание рукописных цифр и букв, распознавание дорожных знаков и иероглифов. Внутри Gboard и Swiftkey — нейросети.
Вот недавно распознавание позиции на доске 19х19 пикселей лучше лучшего человека научилась делать (это я про AlphaGo).
Борьба сейчас идёт не за то, чтобы повторить мозг один в один, а за то, чтобы повторить его функции на доступных вычислительных мощностях, и полученные схемы кодирования уже вычислительно эффективнее человеческого мозга, раз успешно реализуют половину его функций на железе в миллион раз более слабом, чем мозг человека.
> Кошка распознает объекты и действует в соответствии с результатом.
Нейросети тоже. Есть робомашины, есть baxter, вот вам даже квадракоптер: https://geektimes.ru/post/289105/
Просто поймите: от кота надёжности никто не требует, а к роботу предъявляются повышенные требования. Робомашина не может водить на уровне среднего человека: чтобы её выпустили на дорогу, она должна водить хотя бы на уровне профессионального водителя. А робопылесос не должен бояться проходящих людей и обнюхивать другие пылесосы, или внезапно отказываться работать и убегать.
>Причем двухмесячный котенок справляется с этим лучше, чем любая существющая нейросеть.
Это не так. В очередной раз вы приукрашиваете действительность.
на железе в миллион раз более слабом, чем мозг человека.
А почему мы еще не сделали аналог, который будет так же быстро работать? Может потому что мы еще не знаем, как он работает? Железо работает на частотах в гигагерцы, а биологические клетки на уровне сотни герц.
от кота надёжности никто не требует, а к роботу предъявляются повышенные требования
Опять вы уходите в детали реализации. Да неважно, где какие требования, сделайте хотя бы тестовый образец, который не надо будет натаскивать миллионами повторений на одну задачу, а потом на другую задачу создавать новый.
Это не так. В очередной раз вы приукрашиваете действительность.
Так. Котенок гоняется за бантиком и скачет по занавескам, сохраняя равновесие. Собака запоминает свое имя и учится распознавать команды на любом языке, причем за очень небольшое количество повторений по сравнению с нейросетью. Дикие животные живут в лесах и самостоятельно добывают пищу. Вы не сможете сделать нейросеть с аналогичными возможностями, пусть даже она будет работать в 100 раз медленнее. А существующие нейросети иногда 2 одинаковые картинки сравнить не могут.
2) Способна нейросеть на обучение с однократным предъявлением. Просто тогда итоговое качество хуже, чем от миллиарда подкручиваний — как и у человека, кстати. Если новое запоминается слишком сильно, то старое забывается или искажается. Помните анекдот про «Темно, как у негра где?».
3) Вы сравниваете нейросеть и человека. А лучше сравнивать программу, включающую нейросети, и человека. Нейросеть — лишь часть решения, как и у человека нейроны коры — лишь часть мозга и человека. Уж программу, умеющую запоминать с одного предъявления, несложно написать, правда?
>А почему мы еще не сделали аналог, который будет так же быстро работать? >Может потому что мы еще не знаем, как он работает? Железо работает на частотах в гигагерцы, а биологические клетки на уровне сотни герц.
Только, по оценкам, биологических нейронов у человека 10^11 и памяти между ними 10^14 бит, а процессоров в видеокарте тысяча, хоть и в 10^5 раз более быстрых, и памяти на видеокарте 10^10 бит. В лучшем случае получите разницу в 1000-10000 раз по мощности. У нас нет времени ждать годы для их обучения, поэтому компьютеры обучают за дни — вот вам ещё фактор в 100х.
Итого, по очень грубой прикидке: домашний компьютер без видюшки или смартфон — в миллион раз медленнее мозга, с видюшкой — в 100 тыс раз, серверная ферма — в 1000 раз.
Осознали теперь масштабы?
Вы старые посты Алексея читали? Он там даже свою оценку мощности мозга предлагает — в 10^16.
Специализированные чипы тоже пытаются делать, но на видюшки уже спрос есть, а для специализированных чипов стоит проблема курицы и яйца: когда нет софта и нет железа, нужно одновременно делать и то и другое и чтобы они друг к другу подходило — а это гораздо дольше. (И внвестиции в такие длительные проекты труднее найти)
Только, по оценкам, биологических нейронов у человека 10^11 и памяти между ними 10^14 бит
— Да, только для задачи например перевода, они используются не все.
— Довольно большая часть нейронов обрабатывает зрительную информацию. А оценка смысла от типа информации не зависит.
— Эти оценки очень условные. Как раз потому что никто не знает, как оно работает на самом деле.
— Речь идет не о быстродействии, а о принципе. Нет ни одного устройства с аналогичными возможностями, пусть даже работающего медленно. Есть только имитации, нацеленные на конкретные задачи. AlphaGo не умеет играть в шахматы.
Ну хорошо, пусть десятая часть мозга. Это что-то меняет?
>— Эти оценки очень условные. Как раз потому что никто не знает, как оно работает на самом деле.
На таком оценочном уровне — знают.
>AlphaGo не умеет играть в шахматы.
А я вот умею играть в шахматы, но не умею играть в го. Но это показывает лишь то, что меня не тренировали играть в го.
Но и в случае человека и компьютера, это не принципиальная проблема, а вопрос качества и быстродействия.
Вот почитайте: https://research.googleblog.com/2017/06/multimodel-multi-task-machine-learning.html
>Нет ни одного устройства с аналогичными возможностями, пусть даже работающего медленно.
Да откуда берутся такие ваши смелые но расплывчатые заявления? RL вполне успешно работает на практике, квадракоптер я вам показывал, просто людям нужно непременно чтобы качественно и в real-time.
Какие именно «аналогичные возможности» вам нужно, которых нет?
Но это показывает лишь то, что меня не тренировали играть в го.
Но вы можете научиться играть в Го, Причем просто услышав правила. А AlphaGo не сможет научиться играть в шахматы. А если научится, перестанет играть в Го. Поэтому нет, проблема принципиальная.
2017/06/multimodel-multi-task-machine-learning.html
Это уже больше похоже на возможности ЕИ, но там не описаны принципы работы отдельных нейронов, и сколько повторений требуется для их обучения.
RL вполне успешно работает на практике, квадракоптер я вам показывал
Я говорю о том, что это не аналоги. Обучение происходит абсолютно не так, как у естественных аналогов. Вы снова цепляетесь к частностям — "а вот тут работает похоже, значит и принципы похожие". Так можно сказать, что и калькулятор это ИИ, раз он умеет считать, и даже лучше человека.
Какие именно «аналогичные возможности» вам нужно, которых нет?
Я уже говорил. Собака учится командам на любом языке за десятки повторений. Человек учится играть в игру, просто узнав правила. Различие в несколько пикселов на изображениях не приводит к разным результатам распознавания. Я говорю про принципы, про то что нужно узнать, как обрабатывается информация в каждом слое и в каждом нейроне, когда и как появляется осознание объекта (по аналогии с программированием — когда DTO превращается в сущность), и что и где надо поменять, чтобы получить нужный результат. А не про внешнюю имитацию результата, пусть даже и очень хорошую.
Да, это имитация, как и любая модель, но уже неплохая имитация, и я объяснил выше, почему так происходит.
И one-shot/few shot learning для нейросетей тоже есть, если надо — но ценой качества. Как и у человека, кстати.
А в го я не научусь хорошо играть, читая правила — а лишь только играть по правилам. Это два разных вида научения, и один — интуитивный — компьютеру намного проще повторить, он требует меньше логического интеллекта, которого у животных нет или почти нет, и у человека тоже мало — потому что логическому интеллекту нужно на порядки больше мозгов!
Но тут прогресс тоже есть, погуглите по «neural networks relation learning», на маленьких задачах с этим тоже справились не хуже человека, как видите. Принципиального барьера нет.
По собаку и изменение нескольких пикселей отвечу так: вы выбираете удобные для себя примеры, чтобы показать, как далеко нейросетям до людей. Но нет, нейросетям не настолько далеко до людей.
На «контрпримерах» из разноцветных пикселей я тоже вижу «банан» или «панду» — хоть и едва-едва, это значит, что нейросеть видит даже в чём-то *лучше* человека, да и визуальные глюки у людей бывают тоже, а действовать по словесной команде попробуйте научить кошку, у которой нейронов не меньше, чем у собаки. Да, кстати, попробуйте собаку научить играть в игру го по правилам.
Да, и, применяя вашу логику так же избирательно, как и вы: кошка и собака — это тоже плохая внешняя имитация результата, да?
Вы просто идеалист: вам подавай всё и сразу. Ну, удачи тогда, ждите, пока мощность вырастет, раз уж неплохо работающая имитация вам не нравится.
Да, кстати, попробуйте собаку научить играть в игру го по правилам.
У собаки нет способностей для понимания достаточного уровня абстракции. И почему это так и отчего зависит, это тоже вопрос, на который пока нет ответа. Команды на человеческом языке она понимает, а в Го играть не может. А AlphaGo наоборот.
вы выбираете удобные для себя примеры, чтобы показать, как далеко нейросетям до людей
Я выбираю такие примеры, чтобы показать разницу в принципах. Разница качественная, а не количественная. Не "далеко до людей", а "работают по-другому". Не "на километр впереди", а "на 10 метров перпендикулярно в сторону".
кошка и собака — это тоже плохая внешняя имитация результата, да?
Наоборот. Я ведь не просто так их привел в пример, сравнивая с нейросетью.
Вы просто идеалист: вам подавай всё и сразу. Ну, удачи тогда, ждите, пока мощность вырастет, раз уж неплохо работающая имитация вам не нравится.
Нет. Мне не нужно все и сразу, "мне нужно" узнать принципы работы естественного интеллекта. А не строить очередной калькулятор. Мне не нужны мощности, мне нужна информация о том, как оно работает на самом деле. Жаль, что за такую долгую дискуссию я так и не смог это понятно объяснить.
Так что, по крайней мере, меня, buriy, не надо приписывать к девушкам с обманутыми надеждами, я уже получил от статей Алексея пользу.
=====
Не понимаю причины заскока на последовательности сигналов, но даже в этой элементарной модели это не трудно реализовать. Всё в трактовке, что подаётся на вход и выход.
Пожалуйста, — модель «предсказывает» часто следующий символ/слово. Можно использовать для подсказок набора текста, прогнав через неё «Войну и Мир».
«abc» => d | a0,b1,c2 => d0
«bcd» => e | b0,c1,d2 => e0
«i am feeling» => «good» | i0,a2,m3,f5,e6,e7,l8,i9,n10,g11 => g0,o1,o2,d3
=====
Что ещё интересно. Как понимаю, модель можно сделать симметричной и тупо подавать два сырых потока чего угодно. Будут рождаться комбинаторные точки, представляющие выявленные закономерности. Одновременно активизирующиеся точки могут объединяться в сети и подсети, представляя автоматически созданный код-идентификатор найденного понятия/отображения.
Насколько помню, именно на таком принципе у гугла работает новый переводчик. Ему скормили огромное количество таких множеств-«нарезок» от волонтёров переводчиков, и он нашёл в них закономерности отображения одного языкового пространства в другое, даже не зная и не применяя никаких правил этих языков, чем особенно гордятся в гугле.
Если supervised — то это аналог обычной нейросети с backpropagation. Да, известно, что оно работает, есть лишь один недостаток: требует supervision, а это очень сильно ограничивает круг решаемых задач, например, в синтактическо-семантическом анализе языка всё по-прежнему плохо, т.к. нет больших качественных датасетов.
Но это непохоже на человеческий мозг, которому посвящена большая часть статей Алексея. Т.е., получается, Алексей развивает не одну модель, а несколько разных — может, потом он их и объединит, но сейчас это непонятный микс из нескольких моделей.
Если unsupervised — то есть HTM CLA, и есть spiking neural networks. Такие модели в целом ближе к мозгу. Они тоже это всё отлично реализуют, и не сильно отличаются от модели Алексея — ведь у всех общий объект для моделирования. Но они относительно медленные — потому как более сложные для моделирования. Аналог в мире нейросетей — autoencoders, реализации разные, но обычно они быстрые и могут обработать много данных. Вот например: https://blog.keras.io/building-autoencoders-in-keras.html
И у unsupervised-моделей есть один недостаток: подобные модели склонны к выучиванию того, что интересно им, а не экспериментатору. Когда это экспериментатора устраивает, и датасета для supervised learning нет, ими вполне себе пользуются. Качество обычно хуже supervised, в том числе и из-за той проблемы, о которой я говорил выше: подобные модели склонны путать корреляцию и реально присутствующую закономерность. У однослойных спайковых сетей есть для защиты порог отсечения, который можно легко настроить под задачу. У многослойных спайковых сетей с этим труднее — и отсюда возможны различные проблемы, связанные с качеством генерализации (https://ru.wikipedia.org/wiki/Обобщение_понятий) и с возможным накоплением ошибок (из-за отсутствия/недостатка целевой обратной связи).
Так что посмотрим, как Алексей справится с перечисленными проблемами.
>Будут рождаться комбинаторные точки, представляющие выявленные закономерности.
Например, обнаружит влияние пиратов на глобальное потепление. Или, другими словами, часть из этих закономерностей будет ошибочной, и вы не сможете их отделить от правильных ввиду отсутствия supervision, и потом в процессе использования модели, неправильные закономерности вместе с правильными будут влиять на результат. В этом и есть принципиальный неприятный момент, и об этом именно я и говорил выше.
>Так что, по крайней мере, меня, buriy, не надо приписывать к девушкам с обманутыми надеждами, я уже получил от статей Алексея пользу.
1) Я думаю, вы бы получили ещё больше пользы, если бы почитали статьи по тем же нейросетям и вообще по ML.
2) Вы вполне могли от Алексея получить не только пользу, но и какие-то заблуждения ( заметьте, та же проблема, что и с unsupervised learning :D ), в то время, как в других источниках информация «чище», потому что она подкреплена практическими измерениями.
Например, очень рекомендую книжку http://neuralnetworksanddeeplearning.com по нейросетям,
HTM CLA — про модель от Numenta (есть русский перевод: https://numenta.com/assets/pdf/whitepapers/hierarchical-temporal-memory-cortical-learning-algorithm-0.2.1-ru.pdf ).
И в википедии:
https://en.wikipedia.org/wiki/Spiking_neural_network
https://en.wikipedia.org/wiki/Autoencoder
https://en.wikipedia.org/wiki/Machine_learning
Например, обнаружит влияние пиратов на глобальное потепление.
Маленький Альберт.
* Вы слишком зашорены классическими нейронными сетями.
обнаружит влияние пиратов на глобальное потепление.
Сотни тысяч лет нейронные структуры людей считали Землю плоской. И? Вы лично верили в деда мороза и барабашку под кроватью.
Зачем вы весь этот тред смешиваете процесс сбора данных с его анализом? Анализ — это высшая психическая деятельность, она задействует множество специализированных зон мозга и может растянуться на годы, а некоторые индивиды вообще ею редко пользуются.
Такие модели в целом ближе к мозгу. Они тоже это всё отлично реализуют, и не сильно отличаются от модели Алексея
Тогда чего вы прицепились к этой модели Алексея? Сами говорите, что она ближе к мозгу и аналогична другим авторитетным моделям.
Вообще непонятно, как можно советовать мне Нументу (кстати, спасибо, но я её знаю со времён её раннего появления) и хаять эту модель. Вы уж определились бы к какому лагерю принадлежите, одно другое исключает.
А почему вы считаете, что анализ данных бывает лишь сознательный?
Например, то, что вы котёнка узнаёте как котёнка (и даже если вы не знаете, что это котёнок), разве не результат анализа окружающего мира?
>Тогда чего вы прицепились к этой модели Алексея? Сами говорите, что она ближе к мозгу и аналогична другим авторитетным моделям.
Сложный вопрос. У меня скорее пока претензии к unsupervised learning с помощью модели Алексея, но может, ему просто нужно опубликовать ещё статьи и дополнить или исправить то, что уже есть.
>Вообще непонятно, как можно советовать мне Нументу (кстати, спасибо, но я её знаю со времён её раннего появления) и хаять эту модель. Вы уж определились бы к какому лагерю принадлежите, одно другое исключает.
Увы, тут тоже всё небинарно.
У Numenta тоже модель работает, просто её итоговое качество оказывается достаточно низким на доступных вычислительных мощностях (по сравнению с нейросетями, скажем), и, опять же, на доступных мощностях, она не решает те проблемы, о возможности решения которых она с пафосом заявляет.
>Вы слишком зашорены классическими нейронными сетями.
Вот тут вы сильно неправы. Я, скорее, сфокусирован на качестве результата — и это, кстати, моя основная претензия к нейросетям, т.к. их качество всё ещё достаточно низкое для больших задач.
Ещё вопрос. На миниколонку ведь могут поступать не только два паттерна-исходный и трансформированный, но и множество других. Но установить закономерности нужно у конкретных пар. Правильно ли я понял, что закономерность будет устанавливаться у наиболее часто повторяющихся пар? Ведь об этом была 12 часть.
Следующая часть должна расставить точки над i. К сожалению, запрограммировать и отладить все, что хотелось бы быстро не получается. В крайнем случае буду рассказывать по частям, описывая то, что реализовано. Наберитесь терпения.
Алексей, опубликуйте, пожалуйста, то, что есть. Даже, если зашли в тупик.
Появилась работа по капсульным сетям.
tproger.ru/news/capsule-neural-network
arxiv.org/abs/1710.09829
openreview.net/forum?id=HJWLfGWRb¬eId=HJWLfGWRb
Перекликается с Вашей работой по части контекста.
обнаруживает в изображении определенный признак и распознает его в разных сценариях. Например, под разным углом.
После прочтения статья Хинтона, к сожалению, меня разочаровала. Это действительно оказалось теми же самыми сверточными сетями, но с «3D ускорителями».
Спасибо за статьи!
Там продолжение.
Например, обучили словам: БАР, КАША, АРКАША. Подаём на вход БАР и КАША,: [БАРКАША____]. Восстановлены будут коды слов БАР, КАША и ошибочно АРКАША, потому что есть кластеры, обученные на [_АРКАША____]. Это безобидный пример, потому что он ничего не портит в выходном коде.
Пример похуже: [ДАР______] + [____УЗНИК] = [ДАР_УЗНИК].
Сработает кластер слова АРБУЗ, который связан с битами кодов символов: [_АР_УЗ___] и для худшего случая восстановит, например, некий бит символа Б в третьей позиции. На больших словарях и длинных строках интерференция усилится.
На завершающем этапе применяется идея бустинга. Решающие деревья формируют комитет для голосования. На основании коллективного мнения создается наиболее правдоподобный ответ. Главное достоинство бустинга – это возможность при объединении множества «плохих» алгоритмов (результат которых лишь немного лучше случайного) получить сколь угодно «хороший» итоговый результат.
Возможно речь все-таки не о бустинге а о бэггинге?
Логика сознания. Часть 12. Поиск закономерностей. Комбинаторное пространство