Microsoft Cognitive Services
projectoxford.ai
projectoxford.ai
a) you are providing a lot of training data and instead of being paid for the service, you are actually paying for the privilege?
b) if your product/service takes off, there is a higher chance you will be competing not against similar startups, but rather a feature of the same company to which you just supplied all this training data (after all, you just helped them - in fact you paid them - to identify new markets for their service)
c) and hey, that data can also be combined with other data you do not have access to (in the worst case, it is remaining data which was supplied by your direct competitor and effectively completed the picture for the big company)
In other words, why would anyone invest in ML as a service with so many potential forces acting against your continued success?
To be clear, I don't refer to using the cloud services provided by these companies, which are often a lot more useful, because there are explicit clauses to prevent them from using your data for training(as I understand it).
a) You see little chance of remaining relevant in your field without biting the bullet & providing training data as part of the package deal
b) You see "product/service takes off" as a far off dream, with many near-term wins that will make the tradeoff worth it for you. For now. And that has to be good enough.
c) You wonder aloud what kind of data that might be, that could be combined into something else, along with your data. Your best strategy people tell you it's not worth getting bothered over, given the nature of your project. Now is the time to take risks.
> In other words, why would anyone invest in ML as a service with so many potential forces acting against your continued success?
Because those "forces" are wayyyy out there compared to the bigger risk, namely "not having any better ideas"
Nobody said MS has to market this to companies that see MS as a potential competitor.
For the vast amount of companies where ML isn't in any way core, this is great. For example we've got a little internal app that includes a profile picture.
Currently we pre-crop photos before uploading. Obviously not the best solution. Putting together a little javascript thingy to allow the user to crop is somewhere deep in the backlog. Now this exists I'm very tempted to implement a little feature to auto crop around the face on upload. Nothing there to steal, definitely not worth rolling our own ML system to do it but a very nice thing to now be available in our toolkit.
There are serious companies (like Netflix) that put their entire infrastructure on cloud platforms. If the concerns the OP raises are valid, no company for whom ML is a big (read: high usage, high paying) feature is going to rely on these cloud services. And startups that do rely on the cloud services for their MVPs are going to move off as quickly as they can. I can't think of any successful cloud platform for which MVPs and small features are the main customer use case. Heroku comes to mind, but even then there are mid-size companies that do rely mostly on Heroku.
But also - what happens when you wish to expand and grow? My guess is, if this capability was developed in house, you would almost certainly find it easier to not just scale without incurring a "success tax", but most importantly you are now exposed to the deep bowels of the ML process which should certainly give you far greater insight into potential tangentially related services.
An example: you use a natural language processing API and get all the brand mentions in some text the customer has submitted - certainly a useful service for competitive research. As your company scales, now you are more or less beholden to the ML service - if nothing else at least for the consistency of results, which is likely to make you super cautious about rolling your own. But you don't know how the results (brand mentions) were actually inferred. If you were to ask, "Hmm.. what other types of entities can I extract and have it be more useful for our customers? What about only getting brand mentions if it is in the same paragraph as a complaint?" - you might face some options which you might not really like - for one, the way the ML API is structured might actually make this operation expensive (after all, the data is pretty adjacent before being sent to the ML API, but not necessarily so once it is processed). Also, since you never understood how the brand mentions were extracted, it is very likely you are missing out on a ton of insight you could gain by rolling out your own capabilities.
And not to mention: if the ML capability has been outsourced, and if ML is indeed going to drastically impact your industry, then you would certainly not want to be in the position where your competitor can easily disrupt you merely because they spent the time to develop such capabilities in house.
http://docs.opencv.org/2.4/modules/contrib/doc/facerec/tutor...
I saw some demos of M$FT's apis at a recent tech event and it wasn't obvious that the results with their system were significantly better. The biggest hole seemed to be that camera frames were being sent to the cloud, and there were issues with the presenter's quota (forget the exact problem).
But overall, I think the Cognitive Services are a step in the right direction. They generally make sense for businesses who don't have a full-time team of ML/CV experts.
You grant to Microsoft and will secure and maintain all rights in the Data necessary for us to: ... (iv) improve the Service Components and other Microsoft products and services
http://research.microsoft.com/en-us/um/legal/CognitiveServic...
Google Vision API:
5.2 Use of Customer Data. Google will not access or use Customer Data, except as necessary to provide the Services to Customer.
For example, it could just be that ML is not your business. If you're a image hosting platform, you don't necessarily want to build your own NSFW image checker. There's no harm in leveraging something else out there that works great, assuming that you can bankroll it.
Alternatively it can be used as a stop-gap. You're in the middle of implementing your own ML system (or planning to), but you can use a 3rd party to fill the gap until you're ready to go live with your own version.
This is also a great way to test new features and see if users respond to it.
In my opinion it boils down to if either you need to own the model, or guarantee the quality of it, then perhaps you should consider owning it yourself. Otherwise, it's fine to consider using a third party.
Anyway, there are many more obvious use cases. Other apps/games/services that need to detect faces or filter out porn and so on. Imagine a dating site that estimates age and more based on photos, while also filtering out NSFW images.
I share your scepticism though.
While I am just treating this as a research project, some of the content is from Youtube, so they are effectively a competitor. Google has been using their speech recognition to help the Youtube search (which has helped me), but they so much data that it's hard for them to solve niche use cases.
I've always wondered if there is anything stopping this data from being used to inform market opportunities for Amazon, Google or Microsoft.
That said, I really like Google Cloud’s new Machine Learning APIs [0], which go the extra mile and let you train & run your own models, in a NoOps kind of way. This is greatly useful because there is relatively little value, in my research so far, in just using pre-packaged models like Google Cloud Vision or Microsoft Cognitive Face Detection — most cases I’ve run into require building your own model, or transfer-learning to your own use-case. Kudos to Google Cloud for offering that in beta early, and I’m hoping Microsoft will follow suit!
I was trying to use their Linguistic Analysis API for POS tagging some text, and even for text as short as 500 characters, the API took over a minute to respond. If I bumped it upto a 1000 characters, the API would just error out and give a 500 status code without any explanation after keeping me hanging for over 5 minutes.
The same was the case with the speech to text API and some other ones as well.
As much as I appreciate there being something like this available for public use, these projects are effectively in alpha state and are not yet fit to be used in serious apps.
Even a Microsoft Research project has a fairly complex reductions implementation of a POS tagger that is blazingly fast and production ready (learning to search interface). [1]
You could.. if you were crazy. No sane implementation would do that, and POS tagging isn't some brand new thing where people make that kind of mistake.
(Nowadays, many people just use greedy---linear in the number of states---decoding because it rarely is much worse.)
I run multiple POS taggers at decent scale, and I've never seen anything that slow.
Maybe they hadn't provisioned enough compute that day or something?
Royal Coat of Arms, "Two giraffes with a book."
Astronaut above earth, "A motorcycle mirror."
Twin towers behind statue of liberty: "A tall clock tower towering over the city of london."
Che Guevara: "A woman wearing a hat."
The emotion API doesn't seem as shaky. Presumably because its a better defined problem with a smaller search space.
I can see that the Computer Vision API does return some useful information. E.g. it appears to discriminate well between abstract images and photos. I appreciate the inclusion of scores with the returned information.
However, the captioning reliably produces odd results. I Googled, "Italian guy eating pizza." To fit the person verbing a common noun model. This was the first non-cartoon image for me:
https://s-media-cache-ak0.pinimg.com/564x/68/c6/cf/68c6cf87b...
And the caption:
{ "type": 0, "captions": [ { "text": "a man and a woman eating a plate of food", "confidence": 0.44831967045071774 } ] }
The woman in question is, I presume, the small statue of the Virgin Mary stood next to the pizza.
There were also a few things I thought would fail but didn't. E.g. distinguishing preparing food from eating it. This was nice.
Integrating various AI components to formulate something an user wants, uses, and values is going to be the foundation of this third tech wave.
Cogsci services will also be the biggest drivers behind cloud computing usage and thus one of the biggest drivers of revenue, hence why
Microsoft has doubled down on its Azure efforts, why Amazon is working hard to keep its AWS lead, and why other big corps like Alibaba and Baidu are jumping into the game.
Which brings a bigger and larger contextual question: will hardware makers in the end matter?
As in, that iphone you're clutching in your hand, will it go from smart to dumb once we move on to a software distribution model where by the device is but a high-res screen with a nice camera but running everything else remotely in the cloud somewhere?
Because that's the only way to get to point where we have universal computing, the kind of stuff in the movies where you can walk up to any glass anywhere and compute.
That sounds like it's going to have absolutely killer latency problems.
>Because that's the only way to get to point where we have universal computing, the kind of stuff in the movies where you can walk up to any glass anywhere and compute.
This sounds like it's going to have absolutely killer privacy and personalization problems.
I will pay a lot of money to buy hardware and software that actually shifts back towards programmable stuff that I actually own and can do what I want with.
So that's exactly what would happen. Those who have the bucks will buy hardware and do customizations, while the rest will buy standard display, and camera and suffer the latency, privacy and personalization problems.
I don't see it as difficult. Only thing is right now the hardware prices have been moving down. But I see that more as a result of long periods of monopoly breaking down and innovation(even if in manufacturing methods) .
Goodluck
PC that one can customize at will become a niche, even at work I have been using laptops with docking station since 2005.
For a quick test, try https://ocr.space - a free ocr api that uses Microsoft OCR on the backend.
I wrote a post on how I did this here: https://umaar.com/dev-tips/118-cloud-vision-image-detect-jav...
Also did anybody worked with their video APIs? They say it works 'near realtime'. What can I expect from that? Does it work with livestream?
By the way the the entire list of .ai domains makes for interesting reading: http://anguilla-ai.com/list.html
Here is the top 30 entities (inc. unknown) because I have no life. Make of it what you will.
USA 2871 Japan 66 Singapore 27
China 636 Netherlands 53 Spain 27
Anguilla 338 Russia 48 Austria 26
United Kingdom 314 Brazil 46 Norway 22
(unknown) 229 France 44 Denmark 19
Canada 135 Hong Kong 41 Ireland 17
Ukraine 126 Sweden 41 Italy 17
Australia 115 Israel 36 U.A. Emirates 16
Germany 113 Switzerland 30 Belgium 15
India 89 Korea 27 Finland 15