Pull to refresh
19
0
Send message
2^(число А-элементов) бит -> (число А-элементов) бит
Чтобы запомнить варианты r соответствующие каждой комбинации активности элементов А непосредственно нужно 2^(число А-элементов) бит, означает ли это что на каждое число матрицы приходится 1 бит информации?
Если цель — показать работу модели, как можно ближе(или достаточно близко) к оригиналу, то смысл есть. Из умножения матриц не видно как передаются сигналы в мозгу, Кроме того, если потребуется уточнить модель, то чем ближе она будет к моделируемому объекту, тем проще это будет сделать независимо от длины описания модели. Если же стоит задача решить конкретную проблему, то скорее всего вместо достаточно далекой от предметной области ИНС, применить чистую математику поверх известных данных будет эффективнее, потому что выбирая ИНС, мы загоняем себя в рамки ее возможностей.
По поводу 3, в статье приведена больше биологическая модель, а у вас математическая, которая конечно же будет короче.
ативации -> активации -> активности
вот формула: Δw_ij = η * δ_j * x_i, если брать δ_j = t_j — o_j для линейной функции ативации, то работает, а если δ_j = (t_j — o_j) * o_j * (1 — o_j) для логистической, то идет умножение на ноль.
Δw_ij — изменение веса, δ_j — ошибка на выходе, x_i — значение на входе, t_j — требуемое значение на выходе, o_j — полученное.
Вот как я понял работу перцептрона Розенблатта:
s1 s2 s3 s4 s5
_|__|__|__|__|_
_0_1_-1_0__0 -> a1
_-1_0_1__0_0 -> a2
_0_1_0__0_-1 -> a3
_1_0_0_-1__0 -> a4
_1_0_0__0_-1 -> a5
Число положительных единиц(в строке?) равно числу отрицательных.

a1 a2 a3 a4 a5
_|__|__|__|__|_
_3_5_-8_ 4_1 -> r

Если r != r_треб прибавляем 1 к тем из (_3_5_-8_ 4_1_), для которых соответствующий A-элемент был активен, когда активизировался(1) R-элемент и вычитаем 1 из тех, для которых A-элемент был активен, когда R-элемент подавился(-1). Получается два подмножества А-элементов: активизирующее и подавляющее.
«видимо, этот алгоритм обучения коррекции с ошибкой тоже застревает как и алгоритм обратного распространения ошибки, если веса нулевые?» Посмотрел еще раз алгоритм обратного распространения, вроде для однослойного не должно застревать, так как отличается от приведенного здесь, только умножением ошибки на значение входа и коэффициент.
И какой вариант цикла короче на шарпе: императивный или с лямбдами? Когда использовал aggregate, получилось чуточку длиннее.
чем плох вариант с foreach? Там тоже дублирования нет.
«Там вообще обучение начинается с нулевых весов» — а можно чуть подробнее? Как именно выходит из нуля?
Тот же пример, но медленнее и с крупными ячейками
Вот краткое описание метода коррекции ошибки. Получается, что у него после достижения весом нуля, он не может из него выйти, как и у обратного распространения.
Может вы напишете еще статью про алгоритм обучения с коррекцией ошибки? А то что-то не могу его найти.
Про случайный слой: это же гениально, согласен, без него, скорее всего вероятность схождения меньше(только догадки).
P.S. Далеко не все(в том числе и я) слышали, что есть перцептрон Розенблата, а читать 500 страниц уж очень долго.
«должны существовать реализации го» — Они есть тут. Бот для игры го — это не на один вечер, если и возьмусь, только после накопления должного уровня мотивации. «как далеко оно сможет зайти» — оно не сможет ходить:)
Своеобразный аналог правила ко:
_Х0_->_0X_
Х0Х0->X0X0
_Х0_->_0X_
Разумеется, в го, как и в большинстве игр(почему не всех?), у первого(начинающего) игрока есть преимущество — «эффект неожиданности», что фильтр совершенно не учитывает.
Скажу сразу, далее только предположения. Некоторые необходимые условия победы в го(японский вариант):
рядом с моей группой более нуля свобод, внутри окружения: (у каждого пустого пересечения рядом должно быть: (больше нуля моих камней, менее 3 свобод), у всех пустых суммарно свобод хотя бы на 4 меньше удвоенного числа пустых(два глаза — туннеля)). Пусть мои камни — черные пиксели, противника — белые, пустые — серые. Т.е. одна из стратегий победы состоит в построении структуры — вокруг каждого свободного: моих камней больше, чем — противника. Медианный фильтр берет значение пикселя, находящегося посередине упорядоченного множества окружающих(для го — четыре соседа), т.е. если большинство соседей — черные, то пиксель черный, и наоборот. Вообще, тут нужна маленькая модификация: если соседей поровну, то изменяем пиксель на противоположный; серые соседи не учитываются. Рассмотрим ситуацию простого захвата
_Х_
Х0Х
_Х_
Как бы мы не усложняли(предположение!) захватываемую группу, при многократном применении медианного фильтра захватываемая группа изменит цвет на цвет захватчика.
Т.е. применяя циклически фильтр ко всей доске получаем вероятного победителя.
С глазами небольшая неувязка, но, во-первых, модифицированная версия фильтра позволяет интерференцию волн захвата, а, во-вторых, я говорил про связь, а не про высшее мастерство.
Для точек, где нет глаз, область 8-связная, ситуация лучше.

Information

Rating
Does not participate
Location
Украина
Registered
Activity