2012-06-06 2 views
1

Предположим, что мы построили сеть подачи вперед, используя функции и DRM-от Pybrain. Архитектура может быть 10, 5, 2: 10 входных узлов, 5 скрытых узлов в одном скрытом слое и 2 выходных узла.Какова структура данных сетевой архитектуры Pybrain?

>>> our_network = buildNetwork(10,5,2) 
>>> for mod in our_network.modules: 
... for conn in our_network.connections[mod]: 
...  conn.params 

array([-0.82432749, -1.77414037, ... , 1.96635753]) 

При рассмотрении обученной сети с вышеуказанной архитектурой, как мы можем интерпретировать выходной массив conn.params? Изучение вывода вышеупомянутой архитектуры даст 50 соединений/весов между входным и скрытым слоями. Мне интересно узнать, какие входы связаны с самыми сильными соединениями. В частности, можно ли предположить, что первые 5 возвращенных элементов массива связаны с соединениями между первым узлом на уровне ввода и 5 узлами скрытого уровня?

Я не нахожу ни малейшего понимания через обратную инженерию Pybrain за последний час.

ответ

1

Модули и соединения отсортированы по-разному (порядок оценки, с разрывом по алфавиту, взгляните на sortModules()). Глобальный массив .params - это просто конкатенация (сплющенных) параметров всех этих компонентов.

См. Также this related question.