The good thing about gradient descent is that you do NOT need to have a model, you just need to focus on a few parameters and figure out what is the direction for best improvement from a current relatively good point, where the other billions of parameters are already accounted for and assumed independent from the direction you are going.
[1]: https://en.wikipedia.org/wiki/Gradient_descent
[2]: http://ocw.mit.edu/courses/mechanical-engineering/2-993j-int...
https://en.wikipedia.org/wiki/Mathematical_optimization
The hierarchy of topics in this area: http://en.wikipedia.org/wiki/Category:Mathematical_optimizat...
This is also why Google is paying millions of dollars for a quantum computer. Being able to solve complex optimization problems efficiently almost partially translates to access to higher intelligence.
http://googleresearch.blogspot.com/2013/05/launching-quantum...