Как получить n-й элемент списка с помощью нейронной сети?

#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))