Why? Is there any remote need to generate scary faces? Or is it done just to have catchy PR title. I hope there is some real motivation to do this line of research.
Nice list, but there are too many papers like this and it is easy to get stuck in theory. I would suggest to grab some simple neural network (Darknet is great for that) code and read that first. If something does not make sense, find the theory from papers.
This approach is dangerous in statistics and machine learning. Things often work on your toy examples but it may be for totally different reasons than you think and it can bite you later. Since it looks like it works to you, you will never look into the necessary theory. With the approach 'theory first' you might not get nice results as fast but I would bet that your understanding would be much deeper.
I am not saying that you need to read all the papers before coding a line, but the approach of coding your way into it will give you more shallower knowledge if you don't follow up with the theory.
I agree with posts above. Diving straight into 'practice' in statistics (and other fields e.g. cryptography being the most notorious) leaves you open to a great many of pitfalls. Best case you will be inefficient with your approaches.
Your examples may work, a couple of testing sets giving you high confidence, and then you attempt to use it in the wild and everything falls apart.
At the same time machine learning is a lot about data cleaning, bootstrapping, picking the right algorithm with mininum iteration, minimizing your iteration cycle as much as possible etc which you don't gain until you actually mess around and get your hands dirty. Plus there are little implementation tidbits specific to each project.
That might work for some simpler machine learning algorithms, but in deep learning I think you'll have an even harder time correctly figuring out intuitively what's going on than you would learning the math.
These papers are not very theoretical at all. You can get lucky if everything you need has been implemented in your library of choice, but most deep learning papers are highly practical engineering-driven affairs and brushing them off as unnecessary theory is just doing yourself a disservice.
"We knew the threat was looming. But a brand new report[1] from the Georgetown Law Center for Privacy and Technology indicates the problem is far worse than we could’ve imagined.
"In response to the report, EFF has joined a large coalition of privacy advocates[2] to demand the U.S. Department of Justice, Civil Rights Division take two major steps to keep facial recognition in check:
"1. Expand ongoing investigations of police practices and include in future investigations an examination of whether the use of surveillance technologies, including face recognition technology, has had a disparate impact on communities of color; and
"2. Consult with and advise the FBI to examine whether the use of face recognition has had a disparate impact on communities of color."
I wander how many people still implement their own networks as opposed to use these prepared frameworks. Or do you guys stick to single framework or use some sort of mixture of tools?
Implementing a basic neural network is a lot of work, to be honest. I tried in C, in fact even made it parallelizable. It was hell. Lots of hair-pulling. I thank the gods for Keras and keep my head down.
Unsurprising. Normally, you at least have something like BLAS to do linear algebra work.
It takes maybe 15 minutes in Python / numpy for something basic like a 2-layer net, but backpropegation is a little annoying to get right. Thus, tensorflow (or theano or caffe or whatever).
If you have a 40 PCIE lane CPU (and not NVME drives) was the price the thing that actually held you back?
The scaling past 2 cards is also pretty horrible, depending on how much of a performance increase it would most likely still be cheaper to get 2 new Titan X's instead of upgrading your maxwell cards if you can offload them at 400-500$.
It would probably be pretty useless for gaming over 2x or 3x SLI but depending on whether any CUDA work you need to do is compute or memory (not bandwidth) bound, it can still make a difference worth the cost.
Well SLI has nothing to do with CUDA, you can have as many CUDA supported cards as you want and use all of them they don't even have to be from the same model/generation and you can use them all.
Since he mentioned SLI i assumed it was for gaming since it's the only thing that actually limits you.
But that said the number of PCIE lanes is still a problem this is why people that do work on compute opt out (well are forced to) use Xeon parts with QPI to get enough PCIE lanes because the amount of lanes available for standard desktop parts (including the PCH) is pretty pathetic even if you are going with the full 40 PCIE lanes E series of CPU's.
This can be even worse if you want to use SATA Express or NVME drives since they also use your PCIe lanes, as well as a few other things like M.2 wireless network cards (pretty common these days on the upper midrange and high end motherboards), Thunderbolt and a few other things.
To repeat what I just said woth slightly different wording: Yes, my point was specifically referring to the difference between users who want the Titan X for supercomputing versus those who want it for gaming. You can have as many CUDA cards as you want but you face the same problem of limited PCIe bandwidth just like you do with gamers who want SLI. If your use case is CUDA and not gaming, then the usefulness of four Titans depends entirely on whether your algorithms are limited by memory, memory bandwidth, or computing power.
Those books have been suggested/given to me by Unicorn founders.
There is a moment, as C*O, that you need to mature. Turning your 'garage' project into a scalable and structured company.
Those reading gives you good direct insight by people that have been there before.
We just need to stay humble and remind ourself that there is always opportunities to learn from others. Not just by our own mistakes.