Как стать автором
Обновить

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

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

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

Вы написали не бред, так что можете быть спокойны.=)

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

В одной из моих следующих статей я выражу свое мнение относительно обучения нейронной сети изменением весов, однако здесь выскажусь кратко.
Безусловно большинство процессов адаптации в течение жизни у индивида происходит за счет изменения синаптической проводимости. Однако, уже сейчас становится понятно, что этот процесс не случайный и подчиняется не только банальному правилу Хебба (STDP-правилу в общем случае). Он управляется некоторым системным уровнем. Как он работает — есть только гипотезы. Как эта работа обеспечивается на нейрональном уровне (то есть именно за счет изменения проводимости и изменения в самих нейронах) — это еще более сложный вопрос. Именно поэтому сейчас мы можем только модельно конструировать системный уровень более сложными операциями нежели изменение веса (какие это могут быть операции я думаю, что опять же напишу в одной из следующих статей). При этом в таких моделях изменение весов в процессе самообучения остается, однако является скорее вспомогательным элементом.
Спасибо. Будет интересно прочесть продолжение. Рада видеть, что кто-то занимается нейросетями с энтузиазмом и неподдельным научным интересом. У меня так в свое время не получилось, к сожалению.
Очень интересно!
Мне кажется у этой модели есть большие перспективы на самом деле.
Когда я знакомился с нейронной сетью в качестве платформы для ИИ, у меня возникал вопрос, как она будет мотивироваться. По моему это на самом деле довольно сложный вопрос. Во первых, механизм мотивации должен быть достаточно универсальным для разных факторов, во вторых, он должен иметь приоритеты, в третьих, механизм должен быть очень просто устроен, и должен работать на самом низком уровне. И все это можно сказать о модели описанной в статье.
Правильно ли я понял, что ее можно применить для «естественного» приспособления ИИ к среде и в последствии даже к обучению?

Вам известны другие механизмы мотивации, исследуемые сегодня? Я бы с удовольствием почитал об этом.

>>Данная модель строилось на основании теории функциональных систем П.К. Анохина и теории гомеостаза.

Скажите, это теории, или наблюдаемые биологические процессы?

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

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

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

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

Что Вы подразумеваете под учебными реализациями? Программный код? Я думаю, что каждый сам сможет написать алгоритм по модели, которая состоит из менее чем десятка простейших формул=) Я конечно могу приводить свои реализации, но мне кажется это лишнее.
А если Вы говорите про объяснения на словах, то я пытаюсь приводить примеры, однако у меня своеобразное к этому отношение. Примеры — это некоторая вспомогательная вещь, которая воспринимается разными людьми по-разному. Математика же — это всеобщий объективный однозначный язык.=)
примитивизация — не факт, что плохо, если в меру. Чтобы было вмеру — да, нужно исследовать. Это уже, наверно, в сторону генетических алгоритмов (я же не только о смерти, но и о размножении говорю, и каждый действительно эгоэстичный элемент должен стремиться выжить, а система — разростаться (но, опять же, что-то должно мешать разрастись излишне)).

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

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

Также предостерегу Вас от путаницы между процессами происходящими во время жизни «агента-организма» и генетическими алгоритмами. Это две разные вещи, которые могут (и должны) дополнять друг друга, но их нельзя путать.
Про разрастание. Тут все зависит от цели исследования. Перед нами стояла цель создать модель на основе теории — поэтому размножение нейронов в нее изначально не заложено в процессе жизни (не путать опять же с ГА =). Это объясняется тем, что нейрогенез в мозге живого человека (и животных тоже) не так значителен, чтобы он мог один обеспечивать функционирование и обучение.

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

Будет интересно почитать о Ваших экспериментах, особенно о Ваших идеях касательно обучения (будьте осторожны в этом пункте и не свалитесь просто к обычному правилу Хебба).
Я думал именно о правиле Хебба на микроуровне. Вы меня несколько пугаете большими вычислительными мощностями т.к. таковых нет а реализация моих идей, вероятно, может вылиться в очень сложную модель, от которой (ввиду моей дилетантской нелюбви к математическим выкладкам) Оккам со своей бритвой в гробу перевернётся не один раз. Если вдруг получится что-то жизнеспособное — разумеется непременно поделюсь.
Большие мощности необходимы тогда, когда необходимо статистически значимо проверить модель. То есть на достаточно широком пространстве параметров моделирования, на большом спектре различных сред и т.д. Все это выливается в несметное кол-во запусков + после этого еще надо автоматический анализ всей этой кучи данных запускать. Вот так и получается. Но вы не пугайтесь — вам же не в научном журнале печататься, так что на первых порах такой статистики не нужно=))) Но если модель заработает более менее, то тут без такой проверки не обойтись.

Вот в этом комментарии я выразил свое отношение к правилу Хебба — habrahabr.ru/blogs/artificial_intelligence/101926/?reply_to=3172367#comment_3165555.

Еще совет — постарайтесь усложнять модель планомерно. То есть что-то добавили — прогнали, оценили. Если Вы сразу сделаете очень сложную модель, то если она не заработает (а я даю Вам 100 процентов, что сразу в моделировании не работает ничего =)), то вы не сможете понять где надо чтото поменять.
Спасибо за статью. Очень близкая мне идея. Два слоя узлов связаны с окружающим миром — узлы сенсоров и узлы действий. Остальные представляют состояние сознания и процессы, происходящие в нем. Возбуждение узлов сенсоров вызывает мотивацию совершить действие. Только я не совсем понял, как по вашей модели определяется, какое именно действие будет совершено в самом начале, т. е. сразу после запуска. Это чисто-случайный процесс?
Действие совершается только тогда когда становится активен эффекторный нейрон/нейроны. Соответственно термин «в начале» здесь не совсем употребим.
При этом в начале вся система находится в гомеостатическом равновесии и вывести из него ее можно только подав на сенсорный нейрон сигнал рассогласования.
На TED когда-то было одно выступление. Идея была в том, что мозг — это не просто структура из нейронов.

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

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

Большое спасибо за статью.
Подскажите плз есть ли работы по прогнозированию с помощью нейронных сетей?
Уверен, что есть, но я этим не занимаюсь.
Фундаментальная основа решения задачи прогноза осуществляется в теории нейронных сетей с помощью самых обычных архитектур (МНС и РБФ, например) и теми же самыми методами обучения, только обучающая выборка составляется специальным образом. Фактически определяется кол-во входов нейросети (от балды) и если есть некоторая статистика какого-то значения, которое нужно спрогнозировать, в некоторые отчетные периоды (раз в год например), то составляется обучающая выборка следующим образом. В качестве примера обучющей выборки берется некоторое окно от k (любое число) до k+n (n — это кол-во входных нейронов сети) отчетных периодов в имеющейся статистике. Это окно сдвигается по всей статистике и таким образом набирается выборка. А дальше все стандартно. Все что я описал выше Вы можете прочесть практически в любом путном учебнике по нейронным сетям и их применению.

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

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

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

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

Плюс в решении конечно тоже возможен: нейрон работающий и выше и ниже нуля имеет более занятную функцию второй производной на рабочем участке, что в целом повышает нелинейность сети при минимальном количестве нейронов, но так уж ли значим такой плюс?

P.S. Добавил комментарий для себя, как заметку, дабы не забыть просто.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации