PyBrain: При создании сети с нуля, как и где вы создаете предвзятость?

После документации PyBrain , построения сетей с модулями и подключениями , я создаю нейронную сеть кусочно (в отличие от использования ярлыка buildNetwork). Я создаю простую трехслойную (входную, скрытую, выходную) нейронную сеть. Как правильно добавить блок смещения?

Я предполагаю, что я BiasUnit модуль BiasUnit как в:

 b = BiasUnit(name='bias') network.addModule(b) 

Правильно ли это? Должен ли я создавать объект FullConnection ? Если да, то что мне следует подключать?

2 Solutions collect form web for “PyBrain: При создании сети с нуля, как и где вы создаете предвзятость?”

Реализованный PyBrain является открытым исходным кодом, и у меня есть исходный код, который находится в моем каталоге Python. Я открыл файл C: \ Python27 \ Lib \ site-packages \ pybrain \ tools \ shortcuts.py. Внутри этого файла я нашел функцию buildNetwork и увидел, как он добавляет BiasUnit. Соответствующий код находится здесь:

 ... n = Network() # linear input layer n.addInputModule(LinearLayer(layers[0], name='in')) # output layer of type 'outclass' n.addOutputModule(opt['outclass'](layers[-1], name='out')) if opt['bias']: # add bias module and connection to out module, if desired n.addModule(BiasUnit(name='bias')) if opt['outputbias']: n.addConnection(FullConnection(n['bias'], n['out'])) # arbitrary number of hidden layers of type 'hiddenclass' for i, num in enumerate(layers[1:-1]): layername = 'hidden%i' % i n.addModule(opt['hiddenclass'](num, name=layername)) if opt['bias']: # also connect all the layers with the bias n.addConnection(FullConnection(n['bias'], n[layername])) # connections between hidden layers ... 

В принципе, похоже, что он создает единый BiasUnit и соединяет его с каждым скрытым слоем и, необязательно, с выходным слоем.

Здесь у вас есть простой пример :

 n = RecurrentNetwork() n.addModule(TanhLayer(hsize, name = 'h')) n.addModule(BiasUnit(name = 'bias')) n.addOutputModule(LinearLayer(1, name = 'out')) n.addConnection(FullConnection(n['bias'], n['h'])) n.addConnection(FullConnection(n['h'], n['out'])) n.sortModules() 

Обратите внимание, что BiasUnit подключен к TanhLayer что делает слой h слоем с уклоном.

  • Тензорный поток глубокой нейронной сети для регрессии всегда предсказывает одинаковые результаты в одной партии
  • Как денормализовать (де-стандартизировать) прогнозы нейронной сети после нормализации входных данных
  • TensorFlow: AttributeError: объект «Тензор» не имеет атрибута «shape»
  • Как я могу рассчитать или контролировать обучение нейронной сети в pybrain?
  • Тензорный поток nn mnist пример с измененными размерами слоя
  • как внести вклад в обученную и проверенную сеть PyBrain и как получить результат
  • TensorFlow: Ошибка PlaceHolder при использовании tf.merge_all_summaries ()
  • Программно проверить, является ли буква диска общим / сетевым диском
  • Python - лучший язык программирования в мире.