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