Нейронная сеть с линейной функцией активации и прямой связью от входного слоя к одному выходному слою

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

for i = 1 to 2
    input1(i) = input1(i) * weight1(i)
    input1(i) = input2(i) * weight2(i)
next i
for i = 1 to 2
    sum(i) = input1 + input2
next i
for i = 1 to 2
    if sum(i) > 0 then fire.
next i
end

person dumbcreaknuller    schedule 10.02.2019    source источник
comment
Поскольку input1 и input2 не объявлены, sum(i) всегда будет равна нулю.   -  person eoredson    schedule 11.02.2019


Ответы (2)


for i = 1 to 2
    input1(i) = input1(i) * weight1(i)
    input1(i) = input2(i) * weight2(i)
next i

Первое присваивание является избыточным, так как оба присваивания хранятся в одной и той же переменной (элемент массива input1(i)).
Это опечатка? Возможно, второе задание должно читаться как input2(i) = ... !

for i = 1 to 2
    sum(i) = input1 + input2
next i

И sum(1), и sum(2) будут содержать одно и то же значение, потому что правостороннее выражение остается неизменным на протяжении всего цикла.

for i = 1 to 2
    if sum(i) > 0 then fire.
next i 

Поскольку и sum(1), и sum(2) содержат одно и то же значение, этот цикл запустится 0 или 2 раза, но не только 1 раз.

person Sep Roland    schedule 10.02.2019

Это может быть ближе к тому, что вы пытаетесь:

FOR i = 1 TO 2
    input1(i) = input1(i) * weight1(i)
    input2(i) = input2(i) * weight2(i)
NEXT i
FOR i = 1 TO 2
    sum(i) = input1(i) + input2(i)
NEXT i
FOR i = 1 TO 2
    IF sum(i) > 0 THEN CALL fire
NEXT i
END
person eoredson    schedule 11.02.2019