特定の状態のアクションのガウス分布の平均と標準偏差を出力するポリシーを表すニューラル ネットワークがあるソフト アクター 批評家のブログを理解しようとしています。確率的ノードを介した直接逆伝播は不可能であるため、次のように再パラメータ化のトリックが適用されます。
`normal = Normal(0, 1)
z = normal.sample()
action = torch.tanh(mean+ std*z.to(device))
log_prob = Normal(mean, std).log_prob(mean+ std*z.to(device)) - torch.log(1 - action.pow(2) + epsilon)
return action, log_prob, z, mean, log_std`
log_prob 項がどのように派生したかを知りたいです。どんな助けでも大歓迎です。