Infering the response noise, should the scale be a parameter (pyro.param) or a distribution (pyro.sample)?

Here are the last lines of the forward of my model :

    #sigma = pyro.sample("sigma", dist.LogNormal(0, 1.0))
    sigma = pyro.param("sigma",torch.tensor([0.5]),constraint = constraints.positive)
    with pyro.plate("data", 1) :
        pyro.sample("obs", dist.Normal(mu, sigma[0] * sigma[0]), obs=y)
    return mu

I don’t understand how should I chose the scale of my likelihood, here named sigma. I understand why taking a pyro parameter could be an interesting choice given that it would be the noise “learned” by the model, but if why could it be a distribution, like the one I commented ? I understrand this last one as “adding inference noise to the inference noise” and thus don’t understand the logic. Here, my likelihood is \mathcal{N }\big(model_\theta(x),\sigma_\theta\big) where \sigma_\theta is a parameter of my model that I learn. Why would it make any sense to have as likelihood \mathcal{N }\big(model_\theta(x),\sigma\big) and as scale of my likelihood \sigma \sim Lognormal(\mu_\theta, \sigma_\theta) ? Thank you very much