我正在尝试使用深度神经网络解决线性逆问题 Ax=b
。但我是机器学习的新手,所有教程都是关于分类的。所以,任何人能提供一些教程链接(代码、视频、论文)关于如何使用深度神经网络解决 Ax=b
问题吗?
回答:
来自这个博客的示例
import torchdim = 2A = torch.rand(dim, dim, requires_grad=False)b = torch.rand(dim, 1, requires_grad=False)x = torch.autograd.Variable(torch.rand(dim, 1), requires_grad=True)stop_loss = 1e-2step_size = stop_loss / 3.0print('Loss before: %s' % (torch.norm(torch.matmul(A, x) - b)))for i in range(1000*1000): Δ = torch.matmul(A, x) - b L = torch.norm(Δ, p=2) L.backward() x.data -= step_size * x.grad.data # step x.grad.data.zero_() if i % 10000 == 0: print('Loss is %s at iteration %i' % (L, i)) if abs(L) < stop_loss: print('It took %s iterations to achieve %s loss.' % (i, step_size)) breakprint('Loss after: %s' % (torch.norm(torch.matmul(A, x) - b)))