У меня вопрос о маске Bernoulli.Bernoulli in theano
Насколько я понимаю, маска должна зависеть от скорости (вероятности) p. (например, если p = 0,5, а маска - массив A с размером = 2, то маска должна быть примерно такой: [0,1] или [1,0]). Большинство Theano кодов используют Бернулли, как:
Rs = np.random.RandomState (1234)
RNG = theano.tensor.shared_randomstreams.RandomStreams (rs.randint (999999))
маска = rng.binomial (n = 1, p = (0,5), size = A.shape)
, но когда я проверяю это, я выясню, что маска также может быть [0,0] или [1,1] , что кажется мне не логичным. Потому что я хочу случайным образом установить половину массива в нули. Может быть, ошибка? или, может быть, есть альтернатива, которую дает анано для этой цели. Спасибо заранее!
спасибо, что ответив на мой вопрос! Я фактически использую его для подхода отсева в нейронных сетях. Таким образом, это было бы «rng.binomial» правильным, поскольку во всех документах они упомянули, что маска должна иметь распределение bernoulli. – mimou
Я думаю, что также нормально использовать независимые образцы Bernoulli при выпадении, поэтому количество входов, которые отбрасываются, может измениться и может означать, что каждый вход иногда падает (в зависимости от размера ввода). –