Реализация перестановочной инвариантной нейронной сети с использованием Keras - PullRequest
1 голос
/ 14 апреля 2019

Я пытаюсь реализовать инвариантную перестановочную нейронную сеть, как упомянуто в статье:

https://papers.nips.cc/paper/8078-a-likelihood-free-inference-framework-for-population-genetic-data-using-exchangeable-neural-networks.pdf

Сеть объяснена на странице 4, а ее иллюстрация на странице 6 (рисунок 1). У меня есть набор данных, как и у них. Таким образом, у меня есть 1000 2D бинарных матриц, и форма каждой 2D-матрицы равна 208 X 5000, и для каждой 2D-матрицы у меня есть соответствующий вектор расстояния, значение которого находится в диапазоне от 0 до 1. Длина вектора также равна 5000. Каждая строка в двоичной матрице соответствует отдельному человеку.

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

Хотя я понимаю концепцию этой статьи. Я испытываю трудности при написании кода с использованием Keras в Python.

Может кто-нибудь помочь мне начать с этим. Если бы это была традиционная нейронная сеть, я бы сделал двумерную свертку на двоичной матрице и передал бы мой вектор в полностью подключенную нейронную сеть, а затем объединил бы эти две сети.

Но я не знаю, как начать работу с этой сменной нейронной сетью. Помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...