Beginning deep learning with 500 lines of Julia
denizyuret.com
Beginning deep learning with 500 lines of Julia
1–10 of 18 posts
Re: Beginning deep learning with 500 lines of Julia
#2[1]: http://en.wikipedia.org/wiki/Backpropagation
[2]: https://www.youtube.com/watch?v=bxe2T-V8XRs
[3]: http://nbviewer.ipython.org/github/stephencwelch/Neural-Netw...
Re: Beginning deep learning with 500 lines of Julia
#3The tradeoff is not between concision and extensibility, but high- and low-level computations.
Even if the language natively implements a "neural_network_train" function, as long as the language also offers low-level primitives to implement all the necessary parts of the neural_network function, the language is no less extensible than the OP's suggested alternative. For example, almost 100% of R users use "lm" to run linear regressions, but R has all the necessary pieces to implement the linear regression calculation (either by inverting matrices or running iterative gradient descent algorithms)
The OP conflates the library-level abstraction and language-level abstraction. I am with him in that there is a trade off between concision and extensibility w/r/t language-level abstraction. The library-level abstraction is pragmatically important (i.e., you would not use OCaml to run websites) but theoretically uninteresting (Ocaml can certainly express all the needed computation for a web server).
Re: Beginning deep learning with 500 lines of Julia
#4Re: Beginning deep learning with 500 lines of Julia
#5I haven't read this yet though, maybe it explains.
Re: Beginning deep learning with 500 lines of Julia
#6On the contents of this blog post: I really like how the Julia type system is used here. Not only do the types help structure the code and send a signal to the user, but of course there is type-checking to catch errors.
Re: Beginning deep learning with 500 lines of Julia
#7What the "deep" means in deep learning? Is backpropagation deep learning? Why not just machine learning? I became lost since this term started to get used a lot recently. I have implemented and used a feed forward neural net trained with the BP algorithm once and learned it just as a "machine learning" technique, no deep. I haven't read this yet though, maybe it explains.
Deep learning is a specific area within machine learning.
Re: Beginning deep learning with 500 lines of Julia
#8What the "deep" means in deep learning? Is backpropagation deep learning? Why not just machine learning? I became lost since this term started to get used a lot recently. I have implemented and used a feed forward neural net trained with the BP algorithm once and learned it just as a "machine learning" technique, no deep. I haven't read this yet though, maybe it explains.
Deep usually means more than one hidden layer. The basic algorithms are similar to back propagation, being based on gradient descent, but there are a lot of tricks (or refinements, depending on your point-of-view) to make the learning more robust and efficient. Deep learning is a specific area within machine learning.
So "deep" networks have been around for many decades, and they haven't, because you couldn't train them. Now we have computers that are 10,000* faster (at least) and training algorithms that are much faster too these architectures are interesting.
Re: Beginning deep learning with 500 lines of Julia
#9Earlier quoted context omitted.
Deep usually means more than one hidden layer. The basic algorithms are similar to back propagation, being based on gradient descent, but there are a lot of tricks (or refinements, depending on your point-of-view) to make the learning more robust and efficient. Deep learning is a specific area within machine learning.
I tried training a 4 layer network in as a young man (because, why not) a day later, no convergence, some calculations revealed that an expectation of many 1000's of days (I have a memory of 1 million, but that could be bs) before the network would converge. So "deep" networks have been around for many decades, and they haven't, because you couldn't train them. Now we have computers that are 10,000* faster (at least)…