Я новичок в нейронных сетях / PyTorch. Я пытаюсь создать сеть с вектором x
, первый слой - h_j = w_j^T * x + b_j
, вывод - max_j{h_j}
. Единственное, что я хочу, чтобы w_j
был ограничен от 0 до 1, имея w_j = S(k*a_j)
, где S - сигмовидная функция, k
- некоторая константа, а a_j
- фактические весовые переменные (w_j
- это просто функция a_j
). Как мне сделать это в PyTorch? Я не могу просто использовать слой torch.nn.Linear
, должно быть что-то еще / дополнительное, чтобы добавить в сигмовидную функцию на весах?
Дополнительный вопрос, для этого последнего выходного слоя, могу ли я просто использовать torch.max
, чтобы получить максимум выходов предыдущего слоя? Это ведет себя хорошо, или есть какие-то torch.nn.Max
или какие-то вещи, которые я не понимаю, которые должны произойти?
Спасибо!