Pull to refresh

Comments 154

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

Мой совет — попробуйте сначала зафиксировать структуру сети (например, линейная многослойная). Связи всё равно можно создавать динамически, но только между слоями х и х+1. Входные и выходные нейроны фиксированы. Посмотрите, как такой зверь заработает (и расскажите об успехах/трудностях)!
Я уверен, что вообще не получится, но блин интересно.

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

Оооочень теоретически — там уже стоит говорить не о сходимости, а о «психической устойчивости» сети.

Для начала естественно опыты с несколькими нейронами, плюс реализация не упомянутых здесь «инстинктов».
UFO just landed and posted this here
UFO just landed and posted this here
Нет, так не получится.
За один такт через нейрон должен проходить (или не проходить, а «накопиться внутри») один импульс.
UFO just landed and posted this here
Если я правильно понял, то реализация по вашим рассуждением получится нечто вроде обыкновенного персептрона, но оперирующего не действительными числами, а комплексными.
UFO just landed and posted this here
я так понял, подразумевается представление сигнала в виде его спектра(частота и амплитуда, грубо говоря), все верно, прогоняем сигнал через ацп, считаем фурье и получаем спектр сигнала. но это все к вопросу о том, по каким параметрам оценивать сигналы. это уже чистый цос.
UFO just landed and posted this here
> Я уверен, что вообще не получится, но блин интересно.
А вот с такой эмоцией начинать — зло поставьте себе 0 по правилу «Учитель даёт сигнал 0, если сеть выполнила правильное действие, но у неё была отрицательная эмоция,»

Интересная статья — интересная идея продолжайте!
В циклах всё и дело. У нас в голове они есть.
Диапазон параметра от -1 до 1, где -1 = очень плохо, 1 = очень хорошо, 0 = нет оценки.

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

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

Просто, надеюсь, такая сеть будет более… оптимальна что-ли. А то читаешь про эксперименты с сетями из миллионов нейронов, а у комара вон всего несколько десятков (или сотен?) нейронов, и как он, сволочь, надоедливо себя ведёт.
А внутреннее самообучение — по классическому варианту — «прошёл импульс — связь усилилась, нет импульса — связь ослабилась». Немного сложнее, но примерно так.
Мне кажется, что тут есть риск скатиться в классическую проблему САУ/АСУ. А именно возникновение колебаний, за счет запаздывания обратной связи. При этом, сеть будет колебаться около равновесного положения, то улучшая свои параметры, то ухудшая их. Притом далеко не факт, что это будет оптимум. Возможно лишь один из локальных потенциальных минимумов.

Ну и еще одно соображение.

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

Грубо говоря — если что-то пошло не так, то ломать наиболее изменившиеся [недавно] части, а не всю сеть. По сути, это аналог фразы «блин! что я делаю не так?». Мы же ставим под сомнения только текущие действия, а не все бытие сразу.
Может быть, «ослабляем связи, если в данный момент по ним идут импульсы», сильнее будут ослабляться связи по которым за время действия эмоции прошло больше импульсов.
UFO just landed and posted this here
Вы немного не поняли. Плохо или хорошо в жизни регулируется инстинктами — плохо значит опасно, хорошо значит приносит пользу.
UFO just landed and posted this here
Ну наверное, потому что в счетной машинке человека срабатывает сигнал, что это приносит пользу?
Инстинкт сохранения потомства, инстинкт сохранения вида, адекватная оценка происходящего.
Или же наоборот полностью неадекватная оценка, например когда одна из эмоций зашкаливает, то есть инстинкт не абсолют, я уже писал об этом выше.
Выходит что-то вроде рейтинговой системы
Я хочу жить (100500) vs. Я все равно умру => постараюсь спасти товарищей (100000), уничтожу врага (100), сыграю роль в сохранении рода (250) и вида (250) + эмоция высшего раздражения — гнев (100)
Вот такое мморпг :).
Я хотел написать, что поэтому социальное обучение важно. То есть да будут зачатки в общении с учителем, но что будет когда система поймет, что Вы не похожи? (когда дойдет до осознание сенсоров, собственного «мышления» и систем восприятия)
Это вам к Станиславу Лему.
Он, кажется, любил в художественной форме пытаться отвечать на подобные «что будет, если...».
UFO just landed and posted this here
Инстинкты формировались ведь эволюцией с целью выживания не кого-то конкретного, а вида в целом. Поэтому кому-то лично, в какой-то конкретной ситуации, какие-то инстинкты могут и вредить.

Например — инстинкт помощи, из-за которого люди губят себя, дабы спасти других людей.
Лично для меня было удивительно, что у человека действительно есть неосознанный инстинкт помощи. Особенно эффектно проверяется на детях 3-4 лет — если «невзначай» уронить что-нибудь — ребёнок инстинктивно поднимет и подаст (у взрослых этот инстинкт часто перебит всяческими эго и т.п.)
UFO just landed and posted this here
Сейчас поискал в интернете на эту тему.
Нашёл только анекдот — «Сделай дельфина гомо сапиенс, и у него исчезнет инстинкт помощи утопающим.»
UFO just landed and posted this here
Вспомнил где я видел про этот инстинкт.
Фильм про обезьян, и их сравнение с маленькими детьми.
Узнают ли себя в зеркале и т.д.
В т.ч. было и это — поднимают ли случайно упавший предмет.
UFO just landed and posted this here
В этом смысле, вполне вероятно, что взаимопомощь является одной из решающей реакций и мы являемся свидетелями того как данный инстинкт генетически укрепляется у представителей нашего вида.

альтруизм site:ethology.ru
UFO just landed and posted this here
Вот тут и случиться сенсорный диссонанс.
Эта запись сначала будет получать рейтинг, потом с опытом понижать рейтинг в итоге ее рейтинг станет адекватным, останутся только воспоминания.
То есть изначальная связь били => женщина-стерва, перейдет в женщина-стерва => били.
Столкновение с социумом все равно извратит эту «вбитую» идею
UFO just landed and posted this here
Может стоит сначала смотреть на то что попроще?
Улитки там всякие.
Которым учиться в общем-то и нечему почти, всё врождённое.
UFO just landed and posted this here
А как вы тогда объясните то, что человек может взять гранату, зажать в зубах и полезть под танк? (кстати, с прошедшим праздником) Ведь, это прямая угроза жизни.

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

Вы открыли бессознательное
UFO just landed and posted this here
Я бы сказал что это скорее исключение чем правило.
Если бы это был один из сильных инстинктов, то не было бы бездомных и в детдомах не было бы необходимости.

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

Формирование желаний процесс неосознанный. Вопреки одному желанию будет другое желание. Против желания спать работает, например, интерес, инстинкт познания. Задача сознания потребности взвешивать, используя доступный аппарат мышления.
Но я хотел не о том сказать. Как таковых врожденных инстинктов мало. Есть определенные структуры, в которые загружается уже культура (зачатки которой есть и у животных — так панды рожденные в неволе размножаться толком не умели из-за отсутствия образца, и таких примеров немало). А все то море, что бесконтрольно живет в голове, вместе с социальными наслоениями, положенными на инстинкты, и плавающими под водой рыбами — это бессознательное. Называть это инстинктами сильный редукционизм.
UFO just landed and posted this here
Есть мнение, что первое зависит от «жадности» и «благосостояния» животного или человека. То есть нельзя говорить, что что-то непостоянное является приобретенным.
UFO just landed and posted this here
Может, надо наказывать отъятием нейронов, а поощрять их добавлением? Чем не аналог страдания? Можно ещё научить её наказывать себя самой, 'за грехи'.
Какой Вы однако, злобный :)
Люди рождаются через страдания и познают мир через них жe. Пока ИИ не страдает, у него нет стимулов жить :)
Отсутствие связей равносильно k=0 в перцептроне. Действие эмоции на нейрон равносильно увеличению каких-либо k (k становится больше 0, что равносильно появлению связи), причем нейрон, видимо, должен выбирать, какие куда расти в зависимости от предыдущих сигналов. Из пороговой функции он превращается в автомат с памятью. Причем должна быть базовая структура.

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

В общем что надо:
1. Базовая структура (иначе обучение работать не будет). Или нечто многослойное, или можно попробовать ГА и посмотреть, будут ли формироваться какие-либо зоны.
2. Алгоритм реакции нейрона на эмоцию — по-моему это аналог модулирующих рецепторов в мозге. Тоже ГА, вряд ли можно как-то интуитивно это придумать.

Минусы — все это будет обучаться очень долго.
«Куда расти в зависимости от предыдущих сигналов» — можно сделать так.
У нейрона есть 3 доп параметра «хочу поделиться информацией», «нужна информация-» (нужна тормозящая связь), «нужна информация+» (нужна возбуждающая связь).
«Хочу поделиться информацией» — по аналогии с человеком — если давно не было импульсов на выходе, и тут вдруг появился — сразу хочется поделиться информацией, затем желание плавно снижается.
«Нужна информация-» — пропорционально частоте импульсов на выходе нейрона.
«Нужна информация+» — обратно пропорционально частоте импульсов на выходе нейрона.

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

Т.е. при первом запуске связи в общем-то и не нужны, сами вырастут откуда надо и куда надо.
Кстати, соотношение тормозящих и возбуждающих синапсов (или их силы?) будет определять «темперамент» сети.
Холерик — много возбуждающих, мало тормозящих связей.
Сангвиник — много возбуждающих и много тормозящих связей.
Флегматик — мало возбуждающих и много тормозящих связей.
Меланхолик — мало возбуждающих и мало тормозящих связей.
Может быть немного не в тему, но раз Вы копались и разбирались в вопросе скажите мне:
1. Механизм сна каким-то образом внедряется в нейронные сети?
2. Эмоции, как некий механизм глобального оповещения всех элементов сети используется только в качестве характеристики «хорошо/плохо», в лучшем случае чего-то нейтрального «хорошо/нормально/плохо», чтобы сказать сети, что она сделала правильный или наоборот неверный выбор?

Самому тоже очень интересны вопросы нейронных сетей, но не нахожу времени хоть сколько-нибудь серьезно почитать про них и тем более пощупать на практике. Так что пробуйте и пишите! Думаю, это область, где как раз нужно экспериментировать и проверять новые идеи… даже если они на первый взгляд безумны. ;)
1. Как мне видится — механизм сна тесно связан с механизмом эмоций. Для простых сетей сон может быть и не нужен, а для сложных сетей — прямо-таки необходим. Вот описанном простейшем случае воздействия эмоций на сеть — если постоянно подавать сигнал «хорошо», то через какое-то время начнутся сбои в функционировании сети, просто потому что дальше усиливать связи с помощью воздействия эмоций уже некуда. В этом случае, во время сна, видимо должно происходить перераспределение полученной эмоциональной нагрузки на менее загруженные связи (или на создание новых связей).
2. Для экспериментов достаточно будет эмоций «хорошо/плохо». В реальном организме за различные эмоции отвечают различные нейромедиаторы (т.е. сильно упрощая — синапсы бывают разных видов, «смеющийся», «боящийся» и т.п.). На принципе блокировки выработки тех или иных видов нейромедиаторов основаны некоторые психотропные лекарства (антидепрессанты например). Ну и всем известно вещество — никотин, блокирует разрушение одного из видов нейромедиаторов — дофамина (дофамин — нейромедиатор «удовольствия»), т.е. улучшает проводимость тех синапсов по которым бегут сигналы «удовольствия», организм видит несоответствие — уменьшает самостоятельную выработку дофамина, и если «бросать курить», то бывает хреново, т.к. организм «разучился» вырабатывать дофамин в нужных дозах самостоятельно.
У высших форм жизни сон является неотъемлемой фазой. При этом происходит перераспределение потенциалов в мозгу, накопление ионов калия (непосредственно участвующих в процессе передачи сигналов), а так же различные процессы «верхнего уровня».

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

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

Дык вот в контексте того, что вы вроде как замахнулись на «универсальную» модель, сможет ли сеть ставить сама себе задачи? Сможет ли осознавать свои потребности для постановки цели? Сможет ли задать себе «далёкие» и «близкие» цели и различать их «вес»? Сможет ли менять и наращивать себя для увеличения и расширения своей применимости, функционала и способностей?

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

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

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

Это как одна из моделей в терминах именно нейронных сетей. С другой стороны не факт, что мозг построен именно так. Возможно, что это наше видение работы мозга не более, чем поверхностный взгляд на деятельность мозга и реально мозг намного сложнее, просто еще не придумана модель, описывающая его деятельность.
Для простейших экспериментов вы слишком сложные вопросы ставите (но правильные).
Распространять жизнь! вне! планеты :) это я имел ввиду.
Так бы природе «хватило» бы крокодилов :).
Так что ничего «она» не ошиблась, учитывая временной промежуток и «обучение» днк на ошибках (Есть еще иной взгляд на жизнь «я существую, значит я мыслю», как-то по Discovery про это слышал). Человек всего лишь одна из цепей эволюции, само-организованная для дальнейшего распространения жизни вне рамок планеты, т.к. существующие рамки были преодолены «природой» ранее.
За «Аватаром» далеко бегать не приходится.
В то же время слепые и глухие будут больше ориентироваться на вибрации, например
Немного не точно выразился, я имел ввиду полное отсутствие сенсоров у организма. Вибрация тоже сенсор.

… Следовательно, должен быть механизм, который запускает создание новой сети по факту нового внешнего воздействия...
SMP, cluster, threads и вперед. Связываются в мозге они вроде абстракциями. Слышал передачу на TED Talks, там говорили про то, что когда в мозге поврежден центр опознавания лиц (целый кусок мозга между прочим), люди воспринимают голос человека, но при взгляде понимают, что это не тот человек (даже мать) или же простой пример фантомных болей. Соответственно, необходима приоритезация «сенсорных сетей» (конкретных нейронных сетей обучаемых конкретным сенсором-учителем).
То есть грубо говоря: сенсор вибрации определяет у себя в нейронной сети, с чем это связано («набор абстракций») и рассылает «UDP» остальным доступным сенсорам по факту, дальше уже выбирается действие в соответствии с картой абстракций, например:
Вибрации->запрос к нейронной сети-> создание карт абстракций (т.к. сенсор более развит в связи с более частым (или в нашем примере постоянным) действием):
частота низкая
частота чуть выше и т.п
Так как сенсоров вибраций много и все сразу посылают сигналы в нашу нейронную сеть параллельно, то в процессе обработки возникает обширная карта абстракций с увеличивающейся частотой. Все это посылается нейро-пакетами по остальным нейронным сетям (память, инстинкты), где эта карта вызовет не 100 процентное, но все-таки попадание в абстракцию математической нейросети (вот как ее создать? видимо на основе данных всех сетей) с меткой «увеличивается» «скорость» (то есть определенно, что данные-таки увеличиваются и есть скорость этого увеличения), дальше карта расширяется и передается снова всем нейросетям (этот процесс должен быть постоянным, то есть нужно писать распределитель какой-то, чтобы нагрузка была невысокой для пк) и соответственно абстракция «вибрация»,«увеличивается»,«скорость высокая» с определенным коэффициентом либо попадет в «память» и вызовет очередным дополнением «плохо» реакцию-действи -> тревогу и все это вместе в инстинктах вызовет действие отойти дальше от источника вибраций (ну всю цепочку долго расписывать).
То есть в итоге нейросети могут быть не только связаны но еще и nested (не знаю как по-русски простите) и merged (смешанные?)
В итоге выходит любая абстракция и по сути будет являться объектом IO для нейросети.
UFO just landed and posted this here
Поправка — сложная система имеет свойства всех подсистем, но при усложнении появляются и новые свойства. Мозг это не просто куча нейронов, и живые нейроны намного более сложные автоматы, чем то, что применяют при создании практически полезных нейросетей. Даже при моделировании мозга модель какая-то сильно примитивная. Зато клеток дофига. Возможно, им виднее, но лично я не представляю, что там можно намоделировать, имитируя 4 типа рецепторов, без управляющих цепей.
По поводу идеи, что у клеток своя жизнь есть передача Эгоизм и альтруизм нейрона. Мне не очень нравится подобный редукционизм а-ля Докинз.

Вообще перед тем как браться за все это, нужно внимательно читать со всех сторон — кибернетику, нейронауки, особенно важно читать психологию, потому что психологи до всего этого добираются сверху. Иначе получаются изобретения велосипеда, причем весьма предвзятые, когда, например, базовые потребности, известные в психологии, заменяются словом инстинкт, т.е. ближе к попсовой этологии.
UFO just landed and posted this here
Можно сделать и оценку «сверху».
По памяти: никакая система, естественного или искусственного происхождения не может выполнять более 10^50 (+-2 порядка, точно не помню) элементарных операций (переключений) в секунду над не более чем 10^31 бит информации на килограмм своей массы. Если поискать — есть простое строгое доказательство в несколько строк.

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

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

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

Ну если поведение пчелы считать ИИ (а много пчел весьма умно себя ведут), то да, хотя для получения алгоритмов природе понадобилось запустить генетический алгоритм длинной в миллионы лет.
Но 50 мб тут не обойдешься. Потому что живой нейрон — не математический нейрон, модель нейрона сама по себе может моделироваться на суперкомпьютере. Нервная система это результат уже за сотни миллионов лет.
А на текущих системах может и можно что-то делать, но не на базе нейронов. Это все равно, что начать писать эмулятор денди моделируя открытие-закрытые транзисторов процессора на нем.
UFO just landed and posted this here
«Любая нейронная сеть это набор функций и коэффициентов» — в данном случае это ещё и набор бегающих по сети импульсов. Т.е. просто создав абсолютно точную копию мозга — мы не получим копию личности (но получим копию привычек, характера, воспоминаний и т.п.). Вообще это часто обсуждаемая проблема — «будет ли мозг думать, если его отключить от всех внешних сигналов». Вроде бы склоняются, к тому, что мозг в пустоте — неработоспособен.

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

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

Что такое импульс? Какова его характеристика? Может ли меняться эта характеристика между нейронами? А между синапсами? В чём разница между бинарным 1/0 и импульсом?

Об фразу «цель в жизни» сломали копья и все философы, и все учёные. На данный момент это абстракция. Суть этой фразы в том, что мозг осознаёт себя 9свой организм), самоопределяется, умеет ставить цели, размышлять над путями достижения этих целей. А фраза «смысл жизни» это как квинтэссенция этих целей, как свет в конце тоннеля. Но мозг всё равно размышляет, ставит, достигает либо отказывается и так далее.

Для простейших экспериментов можно взять модель клетки, модель инфузории и т.д. Это реально проще, чем играть в тетрис :-)
>Для простейших экспериментов можно взять модель клетки, модель инфузории и т.д. Это реально проще, чем играть в тетрис :-)

Что-то типо такого сделать предлагаете? www.youtube.com/watch?v=Fp9kzoAxsA4
Как-то это слишком просто, научиться двигаться в сторону еды. Но для проверки работоспособности самого принципа — как раз подходяще.
А теперь хотите узнать как подобные задачи решают сейчас?

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

Процесс обучения следующий. Для начала нужно определить цель игры. Допустим, что это наибольшее число очков. Введем a=1-eps (0.9 например) и попросим нейронную сеть выдать среднее значение dscore_0 + a * dscore_1 + a * a * dscore_2 + a * a * a * dscore_3 +… при оптимальной игре, где dscore_i — очки полученные на ходу i (если в игре нельзя продержаться достаточно долго, то можно брать a=1). Соответственно если мы рассчитываем на один ход, то мы берем, не значение нейронной сети B после хода, а dscore_0+a*B (или 0, если мы завалились) и ищем максимум этой величины. После чего говорим, что нейронная сеть должна была выдать на текущей ситуации значение этого максимума и применяем какой-либо алгоритм обучения (либо сразу, либо скопом раз в N~100-1000 ходов). Другой вариант — рассчитать среднее значение максимума с учетом всех возможных фигурок и вероятностей их появления.

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

Эта общая идея называется Time Difference Learning. На одной match-3 игре она у меня успешно работала и обыгрывала человека в 3 случаях из 4 (скорее правда за счет глубины просчета, чем крутой оценочной функции).
Т.е. это вариант использования сети в качестве одной из составляющих алгоритма. Насколько я понял, в данном случае — нейронная сеть используется для прогноза «какой вариант действий лучше»?
UFO just landed and posted this here
Мдаа…
Вам неплохо бы все же для начала почитать, что в этой области делается. Перцептрон — это далеко не последнее слово в области ИНС.
Например, для самого минимального общего представления о том, что бывает, можно прочитать мою статью: habrahabr.ru/blogs/artificial_intelligence/83781/ и ссылки, которые в ней есть, на другие очень популярные статьи на хабре.

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

Ваш алгоритм обучения W=W+W*ЭМОЦИЯ_УЧИТЕЛЯ*k не даст ничего. Совсем ничего. Попробуйте проследить за жизнью потока спайков в сети, которая обучается по этому правилу — и увидите это сами (если же вы видите обратное — напишите подробно свои рассуждения, будем искать ошибку). Как правильно учить спайковые сети — это вопрос очень серьезный, и по большому счету нерешенный (решения есть только для некоторых специфических случаев).
1. Не суть важно как они называются. Наверняка есть ещё десяток названий.
2. В данном виде действительно такая формула ничего не даст, я лишь попытался показать что должно влиять на ход обучения.
3. Вот раз неизвестно как учить импульсные сети — заодно и поэкспериментируем.

Надеюсь дня за четыре чего-нибудь напишу экспериментальное.
Одна беда — знаю PHP, MySQL, С++.
Делать на С++ — сложности с сохранением/восстановлением (для меня сложно сохранять/читать объекты), и с контролем работы.
Вариант хранить и обрабатывать экземпляры сети в MySQL — насколько это эффективно?

> Делать на С++ — сложности с сохранением/восстановлением (для меня сложно сохранять/читать объекты),
Омг
Как есть.
Просто сделать нечто работающее — могу. Но вот как сохранить состояние этого работающего на диск — для меня проблема, да и вникать особо нет желания (я не профессиональный программист). В том же эксперименте с тетрисом — всё сети были в памяти и никуда не сохранялись.
> знаю С++
> для меня сложно сохранять/читать объекты
Ай, не важно, уже начал на php+mysql, будет сильно медленно — перейду на c++
Я тоже не профессиональный программист. Но все же периодически трачу час-два на то, чтобы разобраться в том, что впоследствии сэкономит месяцы (в результате за многие годы стал в некотором роде даже неплохим программистом, если только не вспоминать про стандартные либы, которые мне действительно обычно не нужны). Это — разумно, если вообще заниматься исследованиями, связанными с вычислениями.
Приведу пример, что для меня сложно (точнее даже не стал разбираться как это сделать).

Сохранить на внешнем носителе vector если каждый CNeyron — содержит переменные в динамической памяти (уж не помню точно что там было, но смысл — сохранять вектор объектов, которые содержат другие объекты, да ещё к тому же в динамической памяти.

Вот это для меня сложно.
Тьфу, блин, разметка глотает знаки — vector of CNeyron, так должно быть понятно.
Если бы будете описывать каждый нейрон как отдельный объект, то пересчет состояний займет миллионы лет. Вы бы лучше курили в сторону матриц и SIMD технологий (MMX, SSE, ну и CUDA)
SIMD — дадут ускорение в разы, а не на порядки. Мне как-то всё равно, будет выполняться один миллион лет или два.
Я делал каждый нейрон и даже каждую связь как отдельный объект (просто для удобства и наглядности наблюдения за функционированием сети). На сетях с десятками слоёв и десятками нейронов в каждом слое — работало быстро, насколько помню — пересчёт состояния популяции из 1000 сетей занимал несколько секунд (на практике использовались менее сложные сети).
Объекты-не объекты — это не сильно влияет на быстродействие (да, быстрее просто умножить вектор информации на матрицу весов, но не в разы ведь).

А в данной конструкции я как-то слабо представляю, что там можно сделать матрицами, если предполагается сложное поведение связей и нейронов (запасы энергии и т.п.)
>Объекты-не объекты — это не сильно влияет на быстродействие (да, быстрее просто умножить вектор информации на матрицу весов, но не в разы ведь).

Это смотря как писать. Хорошие объекты действительно незначительно дольше голых матриц, но если на тысячу арифметических операций будет приходиться сотня вызовов методов — то… :)
А зачем нейроны сохранять как цельный вектор, если непонятно, как им пользоваться? Достаточно сделать отдельно функцию сохранения/загрузки отдельного нейрона в байт-код, и функцию последовательной записи/считывания в файл байт-кода для N нейронов (в случае считывания — с добавлением соответствующего нейрона в вектор). Ну или решить проблему еще десятком других методов.
1. Названия важны, чтобы знать, что искать.
2. Не показали, в том-то и проблема.
3. Эксперименты это замечательно, если понимать что и зачем делается.

Нейросеть на MySQL — это дааа… У меня при экспериментальном исследовании небольшой модификации (кстати, оказавшейся полезной) известного метода обучения рекуррентного перцептрона уходило несколько часов на один полный эксперимент с сетью на пару десятков нейронов, при весьма оптимизированном С++ коде.
UFO just landed and posted this here
Мой выбор :)
Питон для этого имхо идеален
И не нужен MySQL и вообще SQL, сохранять можно serialize/pickle.
Ну а в случае чего MySQL подключается довольно легко к питону установкой модуля. Но все равно, почему не какое-нибудь mongodb? Оно же ближе выходит… Имхо проще свою БД (объектную) написать на python, чтобы в случае чего полностью разбираться в том что, куда, как и почему работает…
UFO just landed and posted this here
В поиске хабра напишите mongodb или nosql еще вроде сайт nosql.org
UFO just landed and posted this here
А чем mysql для питона не угодил? Да и нужны ли там базы данных для нейросетей? Все в память и из памяти надо разом грузить через сериализацию.
UFO just landed and posted this here
В том то и дело, что БД будет узким из-за структуры горлышком, в итоге Вы придете к тому, что напишите внутри реляционной объектную БД, все должно быть в памяти и храниться ключами, в том числе и соединения между ними.
UFO just landed and posted this here
По поводу генетической памяти — это, строго говоря, не память, а просто свойство системы. То же дыхание, как и сердцебиение, происходит просто потому, что какие-то структуры генерят определенные ритмы, а не потому, что система была обучена (обладала памятью). Переходя к IT я бы это сравнил скорее с рефрешем памяти, чем с работой программной нейросети.
как сказал Ашманов, — «в этой статье много нового и верного, но ничего верного из нового и ничего нового из верного»

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

Ну, и в догонку — советую почитать мою статью по методам нейросетевой эволюции — возможно, вы эволюционировали свою сеть как-то не так (особенно пристально рекомендую посмотреть на методику NEAT). А если хочется попробовать силы в более глобальных вещах — возможно, вам будет интересно почитать книгу Жданова А.А. «Автономный искусственный интеллект» — очень интересная работы с сильным междисциплинарным исследованием.
Ответить могу только на 3 — где-то в комментариях писал по этому поводу.

У нейрона есть 3 доп параметра «хочу поделиться информацией», «нужна информация-» (нужна тормозящая связь), «нужна информация+» (нужна возбуждающая связь).
«Хочу поделиться информацией» — по аналогии с человеком — если давно не было импульсов на выходе, и тут вдруг появился — сразу хочется поделиться информацией, затем желание плавно снижается.
«Нужна информация-» — пропорционально частоте импульсов на выходе нейрона.
«Нужна информация+» — обратно пропорционально частоте импульсов на выходе нейрона.

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

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

Для мысленного тестирования Вашего механизма могу предложить следующую простую модель.

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

Попробуйте смоделировать, как такая задача будет решаться Вашей ИНС.
Ну так эта задача ведь не имеет отношения к формированию новых связей, тем более что наверное только что сформированным связям надо устанавливать нулевой вес (или какой-то минимальный), фактически — сразу они в работу не вступают.

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

Вроде как самобалансировка получается.
И вообще — рассказать «как эта сеть будет работать в такой-то ситуации» сказать наверное в принципе невозможно, поскольку в одной и той же ситуации она может выдавать разные сигналы (мало ли, настроение у неё плохое).
UFO just landed and posted this here
я бы прикручивал genetic fuzzy systems к определению связей и их деструкции так бы было проще…
в журналах ieee уже в 2009 об этом писали. MIT использовали сеть подобного рода (она была нечёткая, а не частотная) для интерполяции полиномиальныхъ алгоритмов — задача синтеза логарифмического алгоритма с существующих полиномиальных… ну кароч я долго могу продолжать. Почитайте тётю Рутковскую Нейронные сети генетические алгоритмы и нечеткие системы + журналы ieeе как реальные реализации этой гадости в продакшине да они самообучающиеся и полны Матана =)
если что — пишите. Я в принципе сейчас тоже формирую систему самообучающихся сетей на основе «самодатамайнинга» и ген. алгоритмов. хочу повторить успех MIT.
Нечёткие сети это наверное совершенно другое что-то.
С нечёткими алгоритмами не знаком, знаю лишь что они очень ресурсопрожорливы.
UFO just landed and posted this here
На этом уровне я знаю, но где здесь ресурсоёмкость? :)
UFO just landed and posted this here
Вот может где-то неправильно ставил эксперимент, но разницы по быстродействию операций int и float на современных процессорах вообще нет, абсолютно, ни на процент (по результатам моих давнёшних тестов). В тестах (VC++) использовались операции умножение и сложение (перемножение большого числа больших матриц).
Тестировал когда-то дабы понять — имеет ли смысл переходить на целочисленную арифметику, смысла не увидел.
UFO just landed and posted this here
Это не есть нечеткая логика. Совсем. В вашем примере представлена строгая функция результата от аргументов.

Нечеткие алгоритмы отличаются тем, что не предполагают строгого решения. Они оперируют понятиями «A должно быть больше B», «обычно A предшествует B», и т. д. Притом вероятности не являются определяющим фактором.

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

Вы увидите, что это все не так просто как кажется. Особо хардкорный вариант — парковка фуры с прицепом на свободной связке.

UFO just landed and posted this here
Почитайте предложенную выше книгу «тёти Джоан Рутковской». Очень толковая. Там дается хорошая база для входа в тему.
Извиняюсь, что не в тему, но не могли бы вы сгруппировать заголовки с абзацами ниже (к которым они относятся), а не с абзацами выше. Все время сбивался при чтении — заголовок воспринимается как продолжение абзаца.
По поводу памяти — мне кажется совершенно верное направление повышения качества распознавания. Даже если взять хрестоматийный пример распознавания персептроном букв, то даже в этом случае очевидно, что информация о ранее распознанных буквах имеет, скажем так, немалую ценность.

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

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



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

Идеальное поле для экспериментов.
+Исходники на C++ (простые и понятные классы)
+Ооочень легко дописывать/модифицировать все алгоритмы (хотя это вряд ли понадобится)
+Ооочень легко встраивать в свои программы.
UFO just landed and posted this here
Всё мы понимаем, просто ваш профессор не был готов так думать. Некоторым людям нелегко признать, что их мозг — это ограниченный в возможностях инструмент, который можно скопировать. Просто технологии ещё настолько не развились, но это факт. Тут вспоминается доклад Кудинова на РИТе… Рано или поздно мы научим машины думать так же, как это делаем мы, даже, возможно, до конца не разобравшись в том, как точно это работает.
А я 50/50 думаю что вполне может быть верной и теория — мозг=«телевизор», а не генератор картинки. И как ты в нём не разбирайся, понять откуда берётся картинка — не получится. Можно, например, разобраться, что блок развёртки отвечает за геометрию картинки, и даже подстраивать размеры/форму. Но вот откуда сама картинка…
по-моему, второе предположение просто бесполезно… исследователям оно ни к чему =) я бы даже сказал, что те, кто считает его верным на 100%, не могут быть исследователями… только религиозными фанатиками =)
Интересно, а можно ли придумать какие-то формальные критерии для того что бы по ним понять — генератор или приёмник перед нами.

Так сходу и не придумаешь.

Мозг точно не телевизор (это противоречит данным о его строении, почитайте что известно на данный момент про первичную визуальную кору, например), но он может быть тонким клиентом, и вот это уже хрен опровергнешь. Как без изучения софта определить, тонкий клиент перед нами, или полноценный компьютер? Да никак.
Так же как и если бы физики считали результат всегда 100% прогнозируемым — не появилась бы квантовая физика, где всё зиждется на вероятностях. Эдакие две крайности — фанатики формулы и фанатики религии :)
по этому поводу ещё вспоминается попсовая бритва Оккама…
UFO just landed and posted this here
Именно в введении обратных связей, привнесением хаоса. А просто не нужно пытаться понимать влияние каждой связи. Из понимания каждой связи по отдельности общего понимания не получится, надо просто понимать сам принцип. Эмерджентность в том и состоит.
UFO just landed and posted this here
F вот тут надо с генетическими алгоритмами колдовать, чтобы такую сеть отбраковать
UFO just landed and posted this here
ГА внутри экземпляра, то есть наоборот к тому, что в природе, это смело и оригинально, возможно даже интересно.
UFO just landed and posted this here
Вообще-то для многих моделей роль обратных связей абсолютно ясна, и никаких проблем с их вычислением нету. А матрица, которая сама себя непрерывно обновляет — как раз вполне может думать, если это обновление имеет достаточно интересный вид.
UFO just landed and posted this here
Я же говорю — роль обратных связей для многих моделей вполне ясна. И например в ассоциативной памяти никаких циклов не возникает (по крайней мере, нежелательных для нас циклов — т.к. некоторые вполне могут быть полезны). И обновление матрицы там есть (ну, я конечно неточно сказал про «сама себя обновляет» — матрица как таковая этого делать разумеется не может — но в результате работы сети вычисляются необходимые изменения, которые нужно внести).
UFO just landed and posted this here
>[вход] >> [ассоциативная память] >> [модуль реагирования] >> [выход]

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

>Например, Вам ведь ничто не мешает 50 раз в подряд повторить слово «верблюд»? И при этом вы не зациклитесь.

Да, потому что помимо небольшого участка мозга, занятого повторением слова «верблюд», которое происходит циклически, у меня есть еще масса других участков, которые совершенно нециклично себя ведут. А если мой мозг в точности будет повторять все свои состояния в цикле — то я из такого режима сам не выйду, разве что под внешним воздействием или за счет «утомления» — вот например при эпилепсии как раз происходит зацикливание достаточно большого участка, который так просто не остановить.
UFO just landed and posted this here
Ну вероятно, по-мимо физической утомляемости, должен быть голод и т.п. Базовые инстинкты.
> Число нейронов у нас — сколько дано от природы и «больше не вырастет»

Неоднократно и из самых разных по серьёзности источников слышал что эта гипотеза давно опровергнута.
В любом случае — сила не в числе нейронов.
У неандертальцев мозг был больше чем у современного человека, если не ошибаюсь.
+вот это «Мы всегда упрощённо думали, что чем больше нейронов, тем круче мозг, но наша последняя работа это опровергает».
UFO just landed and posted this here
Очень обидно, что такая отличная статья получает так мало плюсов. Ведь это именно то, ради чего я читаю хабрахабр (и ради чего, как мне кажется, он задумывался). Похоже, люди плюсуют, только если понимают то, о чём написано. А понять что-то про нейронные сети могут далеко не все… И всё потому, что хабр уже не торт.

Одним словом, автор, пиши ещё. Всё супер!
Статья ни разу не отличная. Автор не знает очень многого, и весьма непрофессионально рассуждает, вдаваясь в несущественные детали и опуская главное.
Автор где-то утверждал что он профессионал и «сейчас вам всё расскажет как оно есть на самом деле»???
Нет, но это еще не повод говорить «вот супер статья».
Собственно, если публикуется статья с недостатками, автор прислушивается к критике, и корректирует свою работу в соответствии с ней — это нормальный, здоровый научный процесс. Такого рода статьи нужны, у них есть вполне определенная роль в эволюции науки.

Но когда из этого делается священная корова, когда оценка дается просто по факту выполнения какой-либо работы, без учета ее положения относительно работ других людей — тогда начинается совковая наука в худшем смысле этого слова, вместо коллектива развивающихся специалистов начинается его деградация, превозносится глупость, и имеем после этого ученые советы, в которых из 20 докторов наук — 5 нормальных ученых, и 15 ученых дураков (в нашей стране это типичная ситуация, даже в весьма приличных местах).
У меня другие критерии «хорошести» статьи. Статья даёт пищу для ума, преподносит информацию в довольно доступном для тех, кто не разбирается в предмете профессионально виде, и написана хорошим слогом. Этого достаточно. К тому же, автор говорит о продолжении.

А то, что автор чего-то не знает — ничего не говорит о статье. Только о профессионализме автора. Если бы он писал ересь, то это был бы огромный минус. Но он делится своим опытом, мыслями и подходом. И обсуждение породило множество отличных развёрнутых комментариев. Если бы не полная загруженность, я бы сам снова взялся за нейросети после такой статьи.
Учитель может давать понять сети — хорошо или плохо она себя ведёт, т.е. выдаёт ли те выходные данные, которые мы от неё желаем получать. Реализовать можно в виде некоторой функции, примерный алгоритм работы которой очень прост.


Наверное будет интересно — в книге 81 года английского ученого -кибернетика С. Бира "Мозг фирмы" — такого типа управление называется алгедоническим.

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


В этой книге описываются принципы организации систем с таким управлением, аналоги из биологии этой связи, организация потоков информации между управляющей системой и объектом управления и т.д. Книга переведена на русский и легко находиться в электронных библиотеках :)
Формул в этой книге нет — она написана в таком философско-организационном ключе, но идей всяких там много — может что ни будь из них вам пригодиться.
А еще абсолютно другой подход описан в книге Инфицирование как способ защиты жизни, Расторгуев C.П..
Вкратце — делается случайная сеть из большого числа нейронов, а обучение её состоит в «гибельном выжигании» ненужных путем подачи на входы и выходы обучающих паттернов.

Хоть и эмоции в статье не основная тема, но еще я раз себе подчерпнул насколько они важны, для существования/формирования интеллекта (познание хорошо/плохо, постановка целей). Например учитель испытывает эмоцию «злость», а ученик, естественно, «страх» или «тревогу», значит «плохо» или «неправильно», иначе ученик вообще не поймет что правильно и что хорошо т.к. ему это будет безразлично. К сведению: любопытность тоже эмоция.
Sign up to leave a comment.

Articles