#deep-learning #neural-network #layer
Вопрос:
Я хотел бы добавить слой нейронной сети, который принимает в качестве входных данных выходные данные другого слоя в нейронной сети и другое отдельное число k и выводит k-й элемент списка. Предполагается, что этот слой является частью более крупной глубокой сети, которая передает только k-элемент следующему слою.
Я думаю, что нужно динамически динамически изменять веса на один горячий массив, в котором только k-й элемент = 1 содержит все нули.
Второй способ — заморозить веса и вывести предыдущий слой с одним горячим выводом и ввести его в следующий слой. Но я не уверен, как это сделать.
Ответ №1:
Вы можете просто создавать модули top-k из любой библиотеки:
just_kth_element(x, k) := -topk(-topk(x, k=k), k=1)
Поскольку k-й элемент — это не что иное, как наименьший элемент в topK elements.
Или эквивалент
just_kth_element(x, k) := min(topk(x, k=k))