1. желательно начальные веса брать поменьше - максимум модуля должен быть порядка 0.1, но не порядка единицы. Очень малые веса, например, распределенные в диапазоне уже чем [-0.01,0.01], начинают замедлять сходимость.
Есть специальные работы, явно инициирующие веса в зависимости от свойств задачи и обучающей выборки - но всё на английском, на память авторы не вспоминаются.
2. Просто по формуле вычисления производной сложной функции. У нас есть F(g(w,x)), где w - некоторый параметр, х - сигнал, а нейросетка сведена до элементарной функции g. Производная dF/dx как раз и будет равна F'*dg/dx. F' - производная этой самой некоторой целевой функции, на которую домножается производная, вычисляемая нейросетью.
Аналогично и dF/dw=F'*dg/dw. При двойственном функционировании нейросетка как раз и считает производные функции g по ее аргументам, т.е. по параметрам и сигналам сети.
--------------------------
нейронные сети, анализ данных, прогнозирование