I'll chip in with my book, which is written with programmers in mind, implements everything from scratch, works on CPU and GPU, at great speed. Directly links theory to implementation, and you can use it along with Goodfellow's Deep Learning book. Also, discusses all steps, and does not skip gradients by using autograd. Deep Learning for Programmers: An Interactive Tutorial with CUDA, OpenCL, DNNL, Java, and Clojure.…
Dive into Deep Learning
31–40 of 94 posts
Re: Dive into Deep Learning
#32I'll chip in with my book, which is written with programmers in mind, implements everything from scratch, works on CPU and GPU, at great speed. Directly links theory to implementation, and you can use it along with Goodfellow's Deep Learning book. Also, discusses all steps, and does not skip gradients by using autograd. Deep Learning for Programmers: An Interactive Tutorial with CUDA, OpenCL, DNNL, Java, and Clojure.…
And, what makes me want to dive into this the most, there's some Clojure! Will definitely have to take a look a this one. Thanks.
Re: Dive into Deep Learning
#33Great guide - though unless I missed it I think this is missing the latest advancements around Transformers, BERT, ELMo, etc. This stuff is pretty fresh, so it's understandable, but the NLP chapter would be greatly enhanced by covering these newer topics
Re: Dive into Deep Learning
#34As an engineer I find myself in this type of situation quite often - if anyone can point me to some good resources or has any advice, I'd be quite grateful: - Some non-technical stakeholder comes to me and says "can we solve this problem with Machine Learning?" usually it's something like "there need to be two supervisors on the factory floor at all times, and I want an email alert everytime there are less than 2 sup…
Generally speaking, as classification systems themselves are pretty dumb there isn't really a way to know what architecture will work best for your task, other than trial and error. Of course you can optimize parameters in a less chaotic way (grid-search or AutoML). In my experience it mostly boils down to data. Try augmentation methods, acquiring more data or transfer learning with varying degrees of layer relearning.
[0]: https://prodi.gy/
Re: Dive into Deep Learning
#35this looks pretty good. certainly much better than goodfellow's deep learning book. definitely much the diagrams and code are much appreciated but i'm curious why mxnet over pytorch?
I find this comment amusing, have you read the goodfellow's book? That book is amazing.
Re: Dive into Deep Learning
#36As an engineer I find myself in this type of situation quite often - if anyone can point me to some good resources or has any advice, I'd be quite grateful: - Some non-technical stakeholder comes to me and says "can we solve this problem with Machine Learning?" usually it's something like "there need to be two supervisors on the factory floor at all times, and I want an email alert everytime there are less than 2 sup…
> Where do I go from here? Keep trying different models?
> ...after [the labeling is] all done is this even going to work?
> [How to label]
> If we spend all this time and money labelling footage, how well is this going to work? How much footage do we need to label?
Generally, you're discussing the space of model improvement and refinement. This is the costliest and most dangerous part of any ML pipeline. Without good evaluation, stakeholder support, and real reason to believe that the algorithm can be improved this is just a hole to throw money into.
The short answer to most questions is that you don't really know. Generally speaking, more data will improve ML algorithm performance, especially if that data is more specific to your problem. That said, more data may not actually substantially improve performance.
You will get much more leverage by using existing systems, accepting whatever error rate you receive, and building systems and processes around these tools to play to their strengths. People have suggested asking the floor managers to wear a certain color. You could also use the probabilistic bounds implied by the accuracies you're seeing to build a system which doesn't replace manual monitoring, but augments it.
Perhaps you can emit a warning when there's a likelihood exceeding some threshold that there aren't enough people on the floor. This makes it easier for the person monitoring manually, catches the worst case scenarios, and helps improve the accuracy of the entire monitoring system.
Not only can these systems be implemented more cheaply, they will provide early wins for your stakeholders and provide groundwork for a case to invest in the actual ML. They might also reduce the problem space that you're working in to a place where you can judge accuracy better and build theories about why the models might be underperforming. This will support experiments to try out new models, augment the system with other models, or even try to fine-tune or improve the models themselves for your particular situation.
In terms of software development lifecycles, it's relatively late in the game when you can afford the often nearly bottomless investment of "machine learning research". Early stages should just implement existing, simple models with minimal variation and work on refining the problem such that bigger tools can be supported down the line if the value is there.
Re: Dive into Deep Learning
#37As an engineer I find myself in this type of situation quite often - if anyone can point me to some good resources or has any advice, I'd be quite grateful: - Some non-technical stakeholder comes to me and says "can we solve this problem with Machine Learning?" usually it's something like "there need to be two supervisors on the factory floor at all times, and I want an email alert everytime there are less than 2 sup…
For annotation, check out Prodigy [0]. Generally speaking, as classification systems themselves are pretty dumb there isn't really a way to know what architecture will work best for your task, other than trial and error. Of course you can optimize parameters in a less chaotic way (grid-search or AutoML). In my experience it mostly boils down to data. Try augmentation methods, acquiring more data or transfer learning…
Re: Dive into Deep Learning
#38Earlier quoted context omitted.
There seem to be a lot of courses in this space - I'll give this one a try since you're recommending it. Most of them seem to focus more on the theoretical / math aspects of stuff, which is quite interesting but I find it more interesting to implement these things and solve real-world problems.
FastAI has you detecting dog breads in lesson one :)
Re: Dive into Deep Learning
#39As an engineer I find myself in this type of situation quite often - if anyone can point me to some good resources or has any advice, I'd be quite grateful: - Some non-technical stakeholder comes to me and says "can we solve this problem with Machine Learning?" usually it's something like "there need to be two supervisors on the factory floor at all times, and I want an email alert everytime there are less than 2 sup…
There are a load of questions here. > Where do I go from here? Keep trying different models? > ...after [the labeling is] all done is this even going to work? > [How to label] > If we spend all this time and money labelling footage, how well is this going to work? How much footage do we need to label? Generally, you're discussing the space of model improvement and refinement. This is the costliest and most dangerous…
Re: Dive into Deep Learning
#40As an engineer I find myself in this type of situation quite often - if anyone can point me to some good resources or has any advice, I'd be quite grateful: - Some non-technical stakeholder comes to me and says "can we solve this problem with Machine Learning?" usually it's something like "there need to be two supervisors on the factory floor at all times, and I want an email alert everytime there are less than 2 sup…
In general, annotating data for object detection or segmentation tends to be very hard to do effectively—expect low quality and inconsistent labels.