23 comments

[ 2.8 ms ] story [ 78.8 ms ] thread
I wrote this post and if anyone has any questions about the process of fund-raising, I'll try to answer them. Got my pearls of wisdom in a little bag next to the laptop. ;)
Hey hi Chris! Nice to see you in these parts. It’s been amazing to see you go through YC and get that fundraising done and chat with you since then. Clearly you guys have done a great job of learning — and really internalizing — this kind of business lesson, which can be hard to grasp for most founders in the madness of YCombinator. I’d highly encourage everyone to take the advice contained in the article seriously. Hyped areas like Deep Learning can sometimes provide companies an extra bit of float when it comes to fundraising but as Chris says, there’s no substitute for great fundamentals + lots of practice when it comes to fundraising. Please keep sharing Chris.
This - > a quick warning to machine-learning grad students: You’re not going to raise on an algorithm...they are going to ask you: Why should the world care?

And this - > To get users, you need a product, to get a product, you need funding, and to get funding, you need users. I’m sure you can appreciate the catch-22

But especially this- >bootstrapping marathon of many nights

Thanks for writing this. Its hard to empathize with these crazy folk, until you become one of them & then you realize Woah! Its a relentless sleep-deprived grind. Haven't felt so groggy since grad school. That said, light at the end of tunnel etc. Keeps me going. I actually use DL4J on the backend, so thanks again!

Recommendation: on your website [0] you mention a case study for detecting financial fraud. It seems to talk about what could be done rather than what has been done.

So, I think you may benefit by showing specific examples of catching fraud. For instance: what is your performance compared to, say, human auditors? What sort of features can you find that human auditors cannot? And what is your false positive / true positive (ROC) like?

[0] https://skymind.io/finance

Hi there! A lot of the fraud detection we do is actually anomaly detection, where we're not training a classifier on a labeled dataset, but instead creating a model that can surface unusual behavior. The subset of data that we surface is then passed to human analysts. What they care about, generally, is a low false positive rate, because false positives waste their time. We talk about this a bit more here: https://skymind.io/case-studies/orange Sorry if that doesn't quite answer your question.
For fraud detection such as what you did for orange, is there a rule of thumb on how much data one would need? Before heading down the path I would like to know whether my problem is solvable given the amount of data I have. Thanks in advance!
We were in the terabytes. A viable proof of concept could be built with a few gigs of transactions to validate the idea though.

The main bit with orange that isn't in the marketing material: We used unsupervised methods for this, not supervised.

Hi, I agree we could spend some time on numbers. We are actively working on this. The problem with enterprise customers like banks is the ability to put things in public. This includes things like accuracy..I agree we need a lot more of that in our material though. Thanks for the suggestion.
I think the point about applying the AI to another field is really important. I think this is the key to how AI is going to generate value, and it kind of seems overlooked. I hope to see some more brainstorming done it this area that gets us beyond facial recognition and recommendation engines.
What opportunities do you think exist for building new platforms one level higher than the established Machine Learning as a Service platforms with their network effects?

By way of analogy, Cloud Foundry is a PaaS that can run on top of any of the established IaaS platforms.

Hi, Chris' cofounder here. The problem with this would be defining "apps". You would be limited by the features each one offered. While it is possible, half of the appeal of machine learning is being able to define your own inputs.

The other thing here: It would more or less be redundant. If one is more accurate than the other you're not going to bother using them really.

Maintaining something like that would be a nightmare (compatibility issues an updates among others). The ROI here doesn't seem to be there for me.

I might be the wrong person to answer this though: My prejudice against SAAS Infra (eg: ML as service) runs pretty deep. I tried building one before (NLP focused) back in 2012 and learned developers don't like to pay and they will always ask for more features. I'm also not the right kind of founder to build a SAAS business though. I don't like the idea of chasing after 10s of millions of people for $5/month when I could produce value for 1 company I know and sell software several times and make equivalent revenue (hence skymind's on premise focus)

Thanks for sharing your perspective.

Note: Whether the thing you build on top is a product or a service is open. Cloud Foundry as an example is really more of a PaaS product (which can be deployed on prem or on various IaaS platforms).

As for having a few big customers vs. many small ones, there are advantages to both approaches (enterprise sales vs. self-serve, higher margins vs. lower volatility, etc.).

As always. I am better at enterprise than high volume self serve .

We do our stuff we build on top closed source. Easier to monetize. This is known as open core.

Hey folks the other skymind founder here. - 1 piece of inspiration I want to throw out there.

Many open source startups pre built their product to commercialize before the company. (red hat -> linux, hadoop -> cloudera) . We ended up doing both at the same time (do not do this unless you want to tear your hair out).

When it started it was actually just the 2 of us with me writing all the code. The thing that made it work: We put it out there and got user feedback and paid very close attention to users.

A lot of machine learning startups have their "secret algorithm that's actually just using an open source python based deep learning toolkit for their mvp" .

For these product based deep learning startups, there isn't much actual deep learning going on. Half of the appeal here is focusing on a specific domain and accumulating data and expetise/partners in that domain.

We did the opposite by "giving it away".

This is ultimately what culminated in our support first culture as well as the bulk of our engineering hiring.

Having our customers,users, and engineering team co located has been a blessing in disguise.

Lastly: You should also write a book while doing a startup. http://shop.oreilly.com/product/0636920035343.do

If there's any particular questions on any of these things happy to answer.

"Products. Now is the time to build products that are infused invisibly with AI." ... What is the best way to get started on this? I'd like to learn practical ML/DeepLearning algorithms, not the implementation, but how to apply known theory to problems and with a framework.
Take something pretrained and slap a GUI around it. Get used to the idea of running a model attached to a website.

From there, it's really just normal product knowledge. Eg: what will make money?

Don't "embed machine learning" for fun - pick a simple problem with real value like a normal customer analytics problem to start. Everyone has web traffic - try to see if there's any value you can extract from that. It could be optimizing conversions, churn prediction, or anything similar to that.

It is probably hard for companies like skymind with no recognized experts. Getting a big name on board isn't always possible however. And investors are right to be leery given the number of people branding themselves as deep learning experts without any credible track record of results.
To be fair, I'm not Andrew ng by any means, but I'm not "unknown":

https://www.youtube.com/results?search_query=adam+gibson+dee...

http://www.slideshare.net/agibsonccc

http://shop.oreilly.com/product/0636920035343.do

I frequent the big data circles quite a bit. This is our main audience though, not the DL research folks.

As far as my customers go that's actually enough. You're right it's still hard though. I've done my fair share of outreach and speaking though. Anyone who does their research will fine ample credit that we aren't just random folks off the street.

We built up that credibility over time though. I'm still the creator of the dl4j framework itself. So in practice people see we can build software.

I'm a medium-name in deep learning (10K unique visitors to my personal website each day) and I have never heard of any of the Skymind founders. Sorry but this all seems like a PR stunt for Skymind since nearly everyone is using Python/C++ for deep learning and not Java/Scala.

I've heard of Skymind, just not the founders.

"I frequent the big data circles quite a bit. This is our main audience though, not the DL research folks. "

I already mentioned that? Not claiming otherwise.

We tend to stay away from the R&D side. That's the thankless side of the space where you end up on a perpetual feature staircase with a user base you know won't pay ;). That would be hard for us to build a business on.

That's a job for orgs like OpenAI and google where they need to hire more folks like that. They are doing a great job at that.

Research code ends up being thrown away. The focus on the JVM and the like is for codebases that are meant to be maintained for a long time. We don't expect researchers to use us. It's far from our target. Thus we appear in the places where it counts for us.

My main point is to demonstrate that if a VC or someone was vetting us - they'd at least find a "presence".

The fact you've heard of us at all proves we're doing our job then :).

I'm not sure what "it seems like a PR stunt" means in this context. It's a post I wrote for a blog, so in that sense, it is a PR stunt. But the post reflects our experience, so in that sense, it's not an exaggeration. Python people think that nearly everyone is using Python/C++ for deep learning. That's because most of them are researchers, so they are correct from their perspective, but it has limits. There's a lot of DL happening on the JVM in large organizations. That's who we serve.