Главная книга сайта Форнит: «Мировоззрение». Другие книги:
«Познай себя», «Основы адаптологии», «Вне привычного» и Лекторий МВАП.
 
Привет! Правила | Свежее | Чат | Подписка
Чтобы оставлять сообщения нужно авторизоваться.
Авторизация пользователя
Регистрация нового пользователя

Тема форума: «Нейросимулятор»

Сообщений: 73 Просмотров: 1697 | Вся тема для печати
Страницы: 1 2 3 4 5
 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons
Сообщение № 46492 показать отдельно Март 04, 2020, 11:12:51 AM
ответ -только после авторизации

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


Метка админа:

 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons
Сообщение № 46493 показать отдельно Март 04, 2020, 12:22:22 PM
ответ -только после авторизации

Думаю полный алгоритм должен быть такой (после воздействия на рецептор):

1. Меняем статус рецептора на противоположный.
2. Расчет весов связанных с активными рецепторами аффекторов без учета бокового торможения. Если вес > порога то включаем аффектор.
3. Расчет весов всех аффекторов с учетом бокового торможения. Если вес < порога то выключаем аффектор.
4. Расчет весов оставшихся включенных аффекторов с учетом бокового торможения – он подрастает, так как пропало тормозное влияние выключенных.
5. Расчет весов выключенных аффекторов с учетом бокового торможения – у одних он еще больше падает, так как увеличилось тормозное влияние включенных, а у других возрастает, так как выключенные в п.3 перестали их тормозить. При этом если вес > порога то включаем аффектор.
6. Далее прогоны пп. 4-5 по условию, что хотя бы один вес у кого то изменился либо просто задать кол-во прогонов.

Сейчас только п. 1-3. И вот задумался - а нужно ли прогоны делать? Это точно будет соответствовать работе реальной физической нейросети? И еще: в этих схемах есть торможение рецепторов (CRT) - их учета в алгоритме нет. Потому как тоже сомневаюсь, что оно надо. Это ведь по сути аналогично поднятию тормозного влияния между аффекторами.


Метка админа:

 
nan
Имеет права полного администратора сайта - админ

Род: Мужской
Сообщений: 11365


E-Mail
личная фото-галерея
Оценок: 39
список всех сообщений
clons
Сообщение № 46494 показать отдельно Март 04, 2020, 04:57:49 PM
ответ -только после авторизации

Мне кажется (я так реализовал), что суть алгоритма может быть такой:

делаем цикл 10 проходов. В каждом проходе добавляем 10% от воздействющих потенциалов торможения. Результат используем в следующем проходе. Так получает как бы имитация постепенного увеличения взаимовлияния без прыжком значений.



p.s. Допускаю, что мое утверждение может быть порочно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно.
Метка админа:

 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons

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

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

ОК, попробую по схеме постепенного повышения.


Метка админа:

 
nan
Имеет права полного администратора сайта - админ

Род: Мужской
Сообщений: 11365


E-Mail
личная фото-галерея
Оценок: 39
список всех сообщений
clons
Сообщение № 46496 показать отдельно Март 05, 2020, 07:57:44 AM
ответ -только после авторизации
автор: Palarm сообщение № 46495:
Но если начать учитывать тормозное влияние при первом же прогоне от еще не активировавшихся аффекторов, то получится, что тормозная связь реализуется не через вставочные нейроны

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



p.s. Допускаю, что мое утверждение может быть порочно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно.
Метка админа:

 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons
Сообщение № 46497 показать отдельно Март 05, 2020, 09:47:47 AM
ответ -только после авторизации

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

 

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

 

Возникает вопрос: как правильнее? Тормозные нейроны активировать параллельно/независимо аффекторам сигналами сенсоров, чтобы они постоянно давили их, или активировать их сигналами включенных аффекторов?


Метка админа:

 
nan
Имеет права полного администратора сайта - админ

Род: Мужской
Сообщений: 11365


E-Mail
личная фото-галерея
Оценок: 39
список всех сообщений
clons
Сообщение № 46498 показать отдельно Март 05, 2020, 10:18:09 AM
ответ -только после авторизации

Нет, никакой активации от рецепторов или других слоев. Только - от соседних нейронов. Все.



p.s. Допускаю, что мое утверждение может быть порочно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно.
Метка админа:
Спасибо за это сообщение! Благодарность от: Айк
 
nan
Имеет права полного администратора сайта - админ

Род: Мужской
Сообщений: 11365


E-Mail
личная фото-галерея
Оценок: 39
список всех сообщений
clons
Сообщение № 46500 показать отдельно Март 09, 2020, 06:32:11 PM
ответ -только после авторизации

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



p.s. Допускаю, что мое утверждение может быть порочно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно.
Метка админа:

 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons
Сообщение № 46501 показать отдельно Март 09, 2020, 08:48:26 PM
ответ -только после авторизации

>>Если элемент в правой матрице активен (оттенок зеленого), то он оказывает активирующие воздействие на связанный с ним рецептор, но соседние активные рецепторы оказывают тормозящее влияние и могут не позволить возбудить данный рецептор

1. Эффектор оказывает воздействие на рецептор? Или все таки наоборот?

2. Квадратики в левой матрице - рецепторы. Раскрашены с разной степенью интенсивности, что видимо показывает мощность их реагирования. Но если мы исходим из цифровой логики, то рецептор имеет только два состояния Вкл/Выкл - стало быть оттенков там быть не может. Вместо них может быть кол-во активных рецепторов на единицу площади матрицы. Если же исходить из аналоговой логики (предположить такую работу рецептора), то надо определиться с логикой работы эффекторов. Судя по правой матрице с кругляшками это они и есть и реагируют они на самый слабый сигнал рецептора. И тогда выходит, что включившись от слабого сигнала он перестанет реагировать на его дальнейшее повышение - просто так и останется включенным. То есть детектирования уровня сигнала не будет - только уровня минимального сигнала, на который он срабатывает - эффектор же "цифровой", срабатывает на превышение порога. И на правой матрице эффекторов визуально не возможно определить, кто из них какой сигнал получил - все горят одинаково.

3. Боковое торможение в твоей схеме позволяет "потушить" слабые сигналы, тем самым выделив из всех активных только самые активные. И это будет центр размытого пятна, где максимальная мощность эффекторов. А если это будет одинаковая по яркости фигура - то активность останется на границах, где минимум торможения.

4. У тебя связь без перекрытия? Один рецептор связан с одним эффектором. Это не позволит разбивать сложные примитивы на более простые на первом же слое детектирования.

5. У тебя реализован эффект "выстреливания" эффектора, когда тормозящие его боковые эффекторы при увеличении уровня торможения гаснут и он лишенный противодействия резко активируется еще более придавливая их? Это как качели в неустойчивом состоянии, когда стоит чуть толкнуть одну из перекладин - как одна тут же падает вниз а другая вверх.

 

Это то что сразу бросилось в глаза, исходник завтра посмотрю.


Метка админа:

 
nan
Имеет права полного администратора сайта - админ

Род: Мужской
Сообщений: 11365


E-Mail
личная фото-галерея
Оценок: 39
список всех сообщений
clons
Сообщение № 46502 показать отдельно Март 09, 2020, 09:42:11 PM
ответ -только после авторизации
автор: Palarm сообщение № 46501:
Раскрашены с разной степенью интенсивности, что видимо показывает мощность их реагирования. Но если мы исходим из цифровой логики, то рецептор имеет только два состояния Вкл/Выкл - стало быть оттенков там быть не может.

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

автор: Palarm сообщение № 46501:
А если это будет одинаковая по яркости фигура - то активность останется на границах, где минимум торможения.

Да, поэтому и сделан второй образ с такими локальными активностями и они хоть и контрастируются, но остаются непотушенными. А вот шумы около центральной линии эффективно подавляются торможением.

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



p.s. Допускаю, что мое утверждение может быть порочно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно.
Метка админа:

 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons
Сообщение № 46503 показать отдельно Март 10, 2020, 12:04:23 PM
ответ -только после авторизации

>> Если элемент в правой левой матрице активен (оттенок зеленого), то он оказывает активирующие воздействие на связанный с ним рецептор эффектор, но соседние активные рецепторы эффекторы оказывают тормозящее влияние и могут не позволить возбудить данный рецептор эффектор.

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

автор: nan сообщение № 46502:
Если левая матрица - сенсоры, то интенсивность цвета показывает силу воздействующего фактора

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

Мне сразу подумалось, что с одной стороны изображение разной интенсивности квадратиков очень наглядно показывает как в реальности выглядит например на сетчатке глаза проекция внешнего объекта. И дальнейшая демонстрация контрастирования тоже просто демонстрирует эффект повышения резкости. НО: тогда можно подумать, что от рецепторной матрицы от каждого рецептора к эффектору идет сигнал разной мощности - это первое, что приходит в голову уверен большинству. А на самом деле рецептор это такой же пороговый элемент, который выдает 1 или 0. И даже если это не так (или скорей всего не совсем так, там возможно имеет место частотная модуляция уровня получаемого сигнала) - все равно в дальнейшем это будет преобразовано в двоичную схему взаимодействия. Нейроны то уж точно пороговые элементы.

 

А вторая мысль, что приходит сразу в голову: а если мы просто повысим порог срабатывания - не то же самое разве будет? Так же отвалятся "слабые" эффекторы. И вот тут как мне думается в описании надо подчеркнуть: оно похоже сработает но только до того момента, пока не останутся только примерно одинаковые по мощности воздействия эффекторы. При дальнейшем повышении порога они все разом погаснут. А вот при боковом торможении картина будет принципиально иной: начнет проявляться эффект "задавливания" тех что по середине и "освобождение" тех что по краям. И финальным аккордом центральные выключившись резко упадут а боковые резко взлетят - как стороны качелей. Такого эффекта невозможно добиться играясь с порогом срабатывания или уровнем внешнего сигнала (которые скорей всего сильно "гуляют" в реальной нейросети) - это более четкое контрастирование и стало быть более точное выделение актуального признака примитива. Потому и закрепилась такая находка эволюционным отбором.

 

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


Метка админа:

 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons
Сообщение № 46504 показать отдельно Март 10, 2020, 02:44:53 PM
ответ -только после авторизации

И все таки логика работы торможения у тебя не совсем правильно показана. Если нарисовать прямую на матрице рецепторов (квадратики 22...26), активировать их весом 3, поставить пожестче торможение (например 5) - и начать двигать ползунок. Когда кружки эффекторов 23 и 25 погаснут, то оставшиеся 22, 24, 26 должны вернуть себе начальный вес 3 и дальнейшее увеличение коэфф. торможения уже не будет на них влиять - ведь тормозящие их эффекторы погасли. А у тебя они продолжают терять в весе при увеличении торможения.

То есть в реальности при определенном торможении матрица эффекторов переходит в устойчивое состояние и перестает реагировать на дальнейшее увеличение торможения. Хотя можно допустить, что при большем тормозном влиянии одномоментно (а не последовательно) гасятся все попавшие под раздачу пендалей эффекторы (если пинок был достаточен для гашения), но все равно в конце надо вернуть исходный вес оставшимся не погашенными - ведь их уже никто не тормозит.

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


Метка админа:

 
nan
Имеет права полного администратора сайта - админ

Род: Мужской
Сообщений: 11365


E-Mail
личная фото-галерея
Оценок: 39
список всех сообщений
clons
Сообщение № 46505 показать отдельно Март 10, 2020, 07:02:25 PM
ответ -только после авторизации
автор: Palarm сообщение № 46503:
будет он с интенсивностью 1 или 9 - эффектор одинаково сработает. Тогда выходит он никак не различает интенсивность рецепторов.

Да, перобор и недобор фильтруется. Сенсор будет выдавать один и тот же сигнал при любой силе его освещения.

автор: Palarm сообщение № 46503:
НО: тогда можно подумать, что от рецепторной матрицы от каждого рецептора к эффектору идет сигнал разной мощности - это первое, что приходит в голову уверен большинству.

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

автор: Palarm сообщение № 46503:
а если мы просто повысим порог срабатывания - не то же самое разве будет? Так же отвалятся "слабые" эффекторы.

Не то же самое, а, важно, учитываются соседи, а не просто уровень на входе, вот что контрастирует.

автор: Palarm сообщение № 46503:
я все таки рано радовался, что перенес логику работы матрицы на сервер. У меня все сильно тормозит, а у тебя летает.

У меня многослоная модель тоже рисуется на сервере, но при обучении запрос идет раз в секунду. А вот если бы я привинтил там ползунок, то совершенно недопустимо было бы посылать запросы на сервер со скоростью его смещения. Тут нужно ловить сообщения от ползунка чисто на клиентском скрипте и рулить уже без обращения на сервер. У тебя все элементы div имеют свои id, к ним можно оперативно обращаться из js а так же перерисовывать холст канвы со стрелками. И это будет происходить очень быстро.

автор: Palarm сообщение № 46504:
Если нарисовать прямую на матрице рецепторов (квадратики 22...26), активировать их весом 3, поставить пожестче торможение (например 5) - и начать двигать ползунок. Когда кружки эффекторов 23 и 25 погаснут, то оставшиеся 22, 24, 26 должны вернуть себе начальный вес 3 и дальнейшее увеличение коэфф. торможения уже не будет на них влиять - ведь тормозящие их эффекторы погасли. А у тебя они продолжают терять в весе при увеличении торможения.

Это же имитатор только эффекта контрастирования. Если бы принять не только одну связь как буд-то это несколько (какое число - столько связей), а было бы веерное перекрытие профилей соседей, то этой бы побочки не было.



p.s. Допускаю, что мое утверждение может быть порочно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно.
Метка админа:

 
Palarm
Пишет без ограничений, редактирует историю - unlimited

Род: Мужской
Сообщений: 2147

личная фото-галерея
Оценок: 6
список всех сообщений
clons
Сообщение № 46506 показать отдельно Март 12, 2020, 02:05:06 PM
ответ -только после авторизации

Сделал ползунки - работает и вправду шустро, при том что число элементов довел почти до 500.

автор: nan сообщение № 46505:
Тут нужно ловить сообщения от ползунка чисто на клиентском скрипте и рулить уже без обращения на сервер.

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

 

Может статься, что придется вообще отказаться от таблиц связей, если рисовать просто одинарные прямоугольные сетки как в твоем примере. И тогда не надо ничего грузить - просто по номеру элемента справа, слева, снизу, сверху - вот и все связи. Ведь если представить сенсорный экран в виде пикселов монитора - то там их будет сотни тысяч. Ворочать таким массивом, а тем более запросом будет очень тяжко. Если же определять элемент просто по номеру + - вертикально/горизонтально - то их может быть хоть миллион, скорость реакции будет та же. Сдается мне что моя идея с SQL-запросами приведет к закономерному затупу и придется все переделывать. Сервак будет хранить только снимок последнего состояния матрицы для первой загрузки и который потребуется для передачи результата манипуляций с ней на следующий слой.


Метка админа:

 
nan
Имеет права полного администратора сайта - админ

Род: Мужской
Сообщений: 11365


E-Mail
личная фото-галерея
Оценок: 39
список всех сообщений
clons
Сообщение № 46507 показать отдельно Март 12, 2020, 04:18:07 PM
ответ -только после авторизации

Ты не правильном пути, прогресс налицо! 

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



p.s. Допускаю, что мое утверждение может быть порочно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно.
Метка админа:

 
Страницы: 1 2 3 4 5
Статистика:
Всего Тем: 1893 Всего Сообщений: 46327 Всего Участников: 4810 Последний зарегистрировавшийся: cherkasovapolin
Страница статистики форума | Список пользователей | Список анлимитов
Последняя из новостей:
Авторы создают Карты Знаний, а пользователи их проходят, постепенно вникая в то, что является хорошо понятым автором.: Редактор Карты Знаний.
Все новости

Если ты такой умный, то почему не богатый?
Богатейший человек мира рассказал о перевернувшем его жизнь моменте.
Все статьи журнала
Пользователи на форуме:

Из коллекции изречений:
>>показать еще...

Яндекс.Метрика