AI startup claims to automate app making but actually just uses humans
theverge.com
theverge.com
I don't know the company or the details. Assume two scenarios:
1. The target company is willing to lie, fabricate code, mix in tensorflow etc.
2. The company will not outright lie, and will answer honestly. However, they are very optimistic about their chances, and about their ability to deliver some sort of AI-enabled solution.
Right now they have -- let's hypothesize -- some sort of funnel and they route bits of code to different developers. They think they will replace some of it. They are using various AI libraries.
Suppose you believe that even if the AI won't eventually code the whole app from scratch, it will make huge strides in certain areas that we don't even know about. These strides will dramatically reduce the cost of making an app (eventually, you believe). Suppose you think that this company is basically an exploration of those areas.
In other words, be generous to the diligence undertaker.
Now, how would you know? What steps would you take to that you suspect these people did not?
(Because this is the internet and no one knows for sure: this is a real question, and not a rhetorical attack on people asking why VCs were "tricked")
Hire two or three ML people for the VC firm and have them audit the company's code. Anyone with some engineering experience is going to be able to tell if the company just shows you random tensorflow code or has actual data and a codebase.
With all these blockchain and AI mumbo-jumbo companies it would probably be a good idea to have more tech workers around rather than just business types.
On the engineering side, it's common for investors to ask for a list of software vendors and open source licenses. It would seem pretty legit to me for an investor to ask an outside firm to audit whether a product's code matches what they claim during the pitch.
Of course all of these are negotiable and not all investors do their due diligence, but it is in a well-performing VC's interest to do so.
All I know is that I had a short gig last year to do a code review on a potential acquisition, so this can happen at least sometime.
This was for a much smaller product, though.
this is the very definition of due diligence...you don't take their opinions as fact. to answer how:
* meet with their senior engineers * review code * talk to former colleagues * talk to former professors * review any academic papers, blogs, github repos * talk to customers or MVP users
If you don't have the first hand ability to directly evaluate their AI technology, or an extended network who can assist, you should not be investing in AI startups.
But there's an increasingly large amount of companies that are purely selling snakeoil that is way beyond any sort of grey area. You just need to look at the infosec scene.
If you can either hire an AWS cluster or an army of cheap human contractors for the same money, and your AI-process relies more on common sense over easy calculations, why would you not hire the human contractors?
They are basically taking Searle's Room, but instead of a robot, they are filling it with necktops/meatbags. If it works, it works. Why reverse the argument? The room is filled with humans, and not a robot, so it can't be (artificially) intelligent? Even if the humans do nothing more than following a tree-script?
I would ask them to write out/sketch out a complete project, from inception, to code delivery, which steps require humans and which steps already have automation. They should already have this. If suspect, walk through it in person.
Remember, the AI hype is a market for suckers. VC's who lose their mind over the AI hype, while they were level-headed when dealing with traditional software companies, deserve this.
From what it sounds like, it is a traditional IT outsourcing (sweatshop) company, with more focus on automation and structuring the process. If they can unify software building blocks (pagination, REST api's, user profiles, ...) and better match experts with glueing these building blocks together, they can be very efficient and low-margin.
Forward-thinking: In 10-20 years, there will be an outsourcing company that is highly reliant on decision and data science. Funding and market fit decides if it is this AI startup or another.
> With respect to communication, the goal is to make information easy to find and publish. ... When enough narrowly intelligent experts are added to the network, you should not care (or may prefer) that your conversation be with machines rather than humans.
I mean, it claims to do 80% of the work to create an app in an hour. I'd have them demonstrate that - "OK, have it generate one for this random concept I just came up with" - and provide the resulting code for an independent developer to look at.
If the answer is "that'll take a week", there's your tell.
No, it claims that it will do that, not that it does do that. If it was “does”, yes, the VC would be able to verify it. If it is “will”—and that's what they are seeking funding to build out—its a lot harder to verify.
You're more or less correct in your understanding, we're trying to get to 80%, and are certainly not there yet. The other thing to keep in mind is that there's a lot more than goes into developing software than just code.
We've already been able to automate problems such as selecting the optimal creators (developers, QAs, designers) for a given project from our capacity network, the ability to price out and estimate timelines for a project (something that takes our competitors 2-3 weeks), onboard and evaluate engineers on our platform, predict, arbitrage and scale cloud infrastructure for our client's projects, along with a bunch of other areas.
There's definitely a long way for us to go, however we have been able to show proven success on these problem areas already.
however i disagree with your third paragraph, you have not solved any problems in the problem area you are raising money for, which is AI created software. best i can tell, based on your commentation you are just streamlining onboarding, hiring and estimating. No offense, but none of this has anything to do with AI, IMO. Just a glorified project management and outsourcing company at this point.
They raised $29.5 million in a Series A round. That sounds like find-product-market-fit money, possibly a bit of growth money -- NOT pre-product money. You dont need to raise $30M to go from pre-product to product.
The financiers were Swiss VC firm Lakestar and Singapore’s Jungle Ventures led the financing and participation from Softbank’s DeepCore. I'm surprised this would get past them.
That is what they claim, though they claim it's 80% done, too (they seem to like “80%” a lot.)
But, as I understand the claim, it doesn't do 80% of the work but are 80% of the way there. Even if you can easily see that they are actually 10% of the way there, and this is just optimism/hyperbole, you may think the approach has merit.
No, they claim both that it will do 80% of the work to build the app within an hour and that they are 80% done with the app. (Both claims being 80% makes it easy to mistake them for a single claim, but both are stated separately in the article.)
Tangentially, the two 80% claims together seem to me to pretty forcefully bring to mind the 80/20 rule even before considering whether the claims are completely fraudulent.
I will point out that different reasonable people -- let's assume yourself and myself -- taking this approach can come to different conclusions as to whether it is worth investing.
I mean you can already tell how ridiculous that is just by laying it out
If you mean software is easier to use than create, sure. But if you mean it's easier to understand existing code than write new code, countless rewrites suggest it's not so simple.
You can see that they are breaking the problem into various cost estimates, and other features, and just running a simple regression to figure out which features they should target for automation.
The problem with ML is that you don't know now if it will work. You just have an intuition that, eventually one of these areas will be able to be automated.
You notice that their approach to the front end is to make various modules (log in etc) that the AI can automatically deploy in various starter packages.
Kind of simplistic at the moment, but maybe it will yield something?
Of course there is plenty of unreadable code in any language.
Javascript after Babel and Webpack is done with it is pretty near unreadable as well.
In fact pretty much most autogenerated code is horribly annoying for humans to read.
It's all a game. The founders are friends with VCs, then when they fail out of the startups, they join the VCs.
From my perspective it is all a game against the foolish and greedy LPs.
Due diligence? I mean, I understand VCs are not the smartest bunch but if you are investing $30M, please do the due.
Interestingly how nonchalantly you mentioned that.
It wasn't the case with me. Elizabeth Holmes/Theranos case opened my eyes that there exist significant amount of people that hold significant capital (millions) and are, hm, not the smartest bunch, as you politely put it.
It still somewhat amazes me. You'd think these people were careful, considerate, etc.
I'm sure that on average, they're capable, intelligent people. But they're also a product of "right-place-right-time", many times they were "nerds" who were of the right age to get ahead of the internet and become filthy rich.
Now, many of them believe they have insight to offer on everything, from politics to philosophy. PG has complained about this on Twitter: why don't we listen to these successful people on other topics?
Because they aren't as smart as they think they are.
I dont buy this argument. I used to help manage a large portfolio. Portfolio theory does not mean that you can put in garbage and magically get more than garbage (actually, it did with CDOs, since they were tranched, but even that ended up tragic if you recall 2008.)
Portfolio theory, esp with A-round and beyond VC where your portfolios are smaller (~15 to 30 entities) requires due diligence.
The entire game is picking the winners so how much are you going to dedicate to predicting that (which is massively unpredictable) vs just investing in another shot that may be a winner.
when i played counter strike we called it spray and pray
i should call it the portfolio theory of ballistic delivery
https://medium.com/startup-grind/technology-due-diligence-or...
> please do the due.
In conclusion..it's not your money, so why do you care?
1. Fake it 'til you make it is pretty accepted in startup world. It's only a problem if you don't actually make it. If you do, then you're a hero---even if you made wildly unrealistic projections initially [and got lucky]. It's kindof unfair, but nobody said life is fair :)
2. Most software people (like me) assume that due diligence goes deep into software. I've been through DDs at several companies, including my own startup: it's not that deep. I would say growth metrics, financials, legal structure, executive team is more important.
3. If you haven't read the Theranos story, read it. It's a good example what can happen in the extreme, edge case.
If "fake" for this company meant that they told customers there was AI and there wasn't, no big deal. Customers agree to a service at a certain price. Why do they care how the company accomplishes it?
Investors, however, do care about whether cost-saving "AI" works today vs. in 2045.
In their defense, there is a slight twist in that they subcontract to hundreds of other agencies when those agencies have additional capacity. Essentially, they arbitrage on that.
But, yeah, the pitch that they use AI to build apps -- it's pretty ridiculous. They don't. Even with a very open mind to that phrasing, it's still a huge stretch.
To clarify, while we intend to use AI to solve a variety of different problems, we're not using it for actual code synthesis (ie. building apps). Instead we are leveraging code reusability and programmatic stitching/merging for our software assembly line.
In addition to that, we are leveraging various AI/ML techniques throughout the rest of the product development lifecycle, for areas such as pricing/specing/ideation, infrastructure management/scalability, code reusability itself and matching, creator (developer/QA/design) resource matching, sequencing and dependency prioritization, and more.
Also, the clear message of the company was "AI writing code that would otherwise be written by humans".
Again, would strongly suggest you stop posting anything about this situation without consulting a lawyer. Based on your HN posts, you can't claim ignorance anymore.
“When we said we use AI we meant An Indian”
It pretty much always is this way. They pretend it is AI, then when it comes out that it is pretty much all humans, they pivot to admitting it is "human-assisted".
The humans were truly creating data that was being fed back in, that wasn't a lie. Engineers would have to poke at the bot a bit to get it out of corners it would get itself into occasionally.
The big issue is the VC nature of the business. You are fighting a shot clock on an extremely hard problem. So you have to rush things out to get to the next step, then realize at the next step all of the data you collected, oops, can't be used because there was a small issue.
Or maybe they realize a model was inaccurate and has to be rebuilt.
I truly don't think a VC-funded true AI company is possible, especially for hard and fairly unbounded problems (speech is one thing, engineering is just... that's insane).
If someone made a sustainable AI company that could run infinitely, that company would have a huge shot due to that financial position.
I haven't seen them use it lately, but I might have missed it somewhere.
It's made me less aggravated with certain things to realize that. It also makes me wonder if founders are genuinely being intentionally deceptive or just unclear where to draw that line themselves.
How much AI inside the box do you need to qualify as an AI company when advertising what you do and wooing VC money? I bet some people honestly don't know and some of those people may be in decision-making positions at such companies.
Serious tech people may be clear on that, but most companies involve more than just tech people. If your PR people don't really get it and your tech people don't have adequate power to insist "You cannot market the company this way," then it will get sorted out in ugly headlines and court cases and the like.
Uber's house of cards is a very transparent example, but there are many others who don't even disclose that humans are at the wheel.
There will be plenty of paid tasks for people. They will just be online, remote and we will need to sort out how to make this make financial sense for all involved parties so it doesn't turn into a permanent underclass.
By the 80/20 rule, that would no doubt be the 80 percent that takes only 20 percent of the time to write; the remaining 20 percent that the tools can't do is what takes 80 percent of the time to write.
Plus it is a faster way to validate demand for given business model.
So, obviously not that definition then....
Ah here [1] it is, X.ai.
[1] - https://news.ycombinator.com/item?id=11520681
* Interestingly, searching on Google for “x.ai human” lead me back to the HN discussion as the 4th link! I’m seeing HN discussion surface in organic search results a lot more lately.
I think google is following you in your incognito mode!
Many don't even know what AI is, and would't be able to sniff out bullshit no mater how much due diligence there's involved. Dumb money is flowing in, as long as you have a great pitch and sleek presentation.
VC's dont know shit about AI and you cant expect them to.
Anyone building a cutting edge AI product, SHOULD NOT build it before selling it product.
First use humans to build/sell the product and then in parallel train the AI to take over. Often the training phase is best done using the human taskers.
The CEO - 'Sachin Dev Duggal' is doing it exactly right. Anyone claiming otherwise, including the journalist who wrote this post, don't know what they are talking about.
If they are selling a service and AI is part of the blsckt-box implementation, sure.
If “its being done automatically by a machine” is your selling point, and you haven't built a product that does that when you sell the product, it's fraud, pure and simple.
But it seems from the article that the labor is not used for this purpose at all.
The AI promise was that eventually the need for human labeling would end, but the curve currently is going in the opposite direction and it's reasonable to question whether it will ever reverse.
Why is this fraud, but Uber isn't?
This company claims they're using humans to build apps while they develop an AI platform out of hand-wavium.
Uber claims they're using humans to drive cars while they develop self-driving cars out of hand-wavium.
Seems like the same model to me.
Imo personal opinion, 'AI' at this point is about augmentation of human action to reduce costs (time, materials, human attention, compute, etc), and actually, if you know what you're doing, it works and can make you money.
My group works extremely heavily in this space. We use a combination of human annotation and ML to speed up human annotation and improve the products of the ML component. Rinse, wash hands, recur until 95% of predictions are 95% accurate or better. Use ML to find the 5% of predictions that aren't up to snuff and lay hands on them (this is the part where you have to pay people). There is nothing shameful about including humans in the process.
Claiming that you plan on researching the cure for cancer while you flunked high school biology and plan to do your research by trying to research ancient books would be an extraordinarily stupid investment but if you applied the money towards said fool's errand there would be no fraud there.
Claiming you have invented robots when they are really just metal suits with hired people inside would be fraud.
In the meantime, you know what does work here and now? Building up a domain-specific language to the level of that domain’s expert users, empowering those users to tell their machines what they want without requiring a CS degree to do it.
Small steps make Progress.
if you see an early stage company using "AI", then assume they are manually doing most of the work right now.
They may have a clever way of making it smart in the future
We actually wrote a blog post a little while ago that might answer a lot of the questions I'm seeing here: https://blog.engineer.ai/a-little-bit-about-ai-and-more-stra...
I just ran a tool that bootstrapped most of a CRUD app for me. Was it AI? No, because the program I ran didn't do any app-specific coding.
My honest advice is to talk to a lawyer and get this company off your resume ASAP.
Until we've truly built self-replicating machines, I just assume whatever you're selling me requires a lot of people to stay competitive anyway. There's no farm-to-table AI raised by AI farmers yet.
A very large number of companies have tried to automate software development with little success.
What is supposed to make these folks special?
So a fancy new SAP but with cheap consultants.
It seems like they were fairly explicit about it, so I'm not sure if the outrage is justified. komali2 even noted explicitly, "There doesn't appear to be AI involved. A very good business model, but no AI."
Maybe I'll hire an animator or something and go to VC firms and ask them for money by showing them an animation of a new flashy product I've never designed. Better than working an honest living it seems.
Also, the same pattern with Cloud hosted companies. It might be true these days but back in the day - a lot of them were claiming to be hosted in the Cloud to look cool but actually, they were using colo data centers.
Ouch.
They talk a lot about algos, then when they demoed it to me it comes out that they actually send my picture to India for a human to look at. There's literally 24h service with real people there doing the "image recognition".
This sounds like some statistics manipulation. Why limit yourself to Anguilla?!
We have still deployed a ton of models to improve quality and SLAs, but embrace our human nature upfront.
This is bad faith to the extreme.
> "Yeah, I trained a neural net to sort the unlabeled photos into categories." [...] Engineering tip: when you do a task by hand, you can technically say you trained a neural net to do it.
Didn't got through the bullshit test :)
When will people wake up and realize that AI today is just capable of "curve fitting"?
Yes, that is a bit of a simplification. But not far off.
Neural networks depend on back propagation. They are really just another type of optimizer for maximum likelihood, using gradient descent. They work better on high dimensional, non linear data than other methods before.
But if the function you are attempting to model is non differentiable, neural networks won't help you.
They certainly aren't capable of performing magic tricks like writing an app for you.
For one, what you are modeling itself does not need to be differentiable, only the network itself needs to be.
Second, using neural networks in combination with other techniques for program synthesis is an active area of research currently, and although it is currently at around 50 lines or so, your fundamental assertion here is wrong.
Third, there are a number of ways that deep learning could be leveraged in app development. The easiest way would be to make heuristic-type decisions around UI/UX or to build parts of said GUIs using existing code blocks. This has already been used to some extent in website design (e.g. https://arxiv.org/abs/1705.07962 and https://blog.floydhub.com/turning-design-mockups-into-code-w...). So it's certainly possible that it could be used in conjunction with templates to build common app types.
Now, this startup is clearly not doing that, but, that doesn't mean that it's a) impossible to leverage AI for app development and b) all of deep learning is "just curve fitting"
I keep linking to this page:
https://blog.keras.io/the-limitations-of-deep-learning.html
But what Chollet says is still the case. Machine-learning a mapping from arbitrary specifications to programs is many, many times more difficult than classification. Unless someone comes up with a completely new architecture that is for neural program synthesis what CNNs are for vision and LSTMs for sequence learning, and then some, then there's not going to be any big advances in the field.
Source: I study algorithms that learn programs from examples from my PhD and you need three things for it that neural nets lack: a) generalisation, b) the ability to learn recursive functions and c) higher-order representations (i.e. quantified variables).
Personally, I was very excited with DeepMind's differentiable neural computers, but it seems very hard to train on anything but toy problems.
What does work?
This does seem to describe most machine learning.
https://en.wikipedia.org/wiki/Inductive_logic_programming
(But that wikipedia article is a bit behind the times).
http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.ht...
No. In some simple cases you can model a non differentiable function with a differentiable one accurately. But your model is likely not to perform well if the underlying relation between your parameters and observations is non differentiable, because your model will likely be unstable.
Second, using neural networks in combination with other techniques for program synthesis is an active area of research currently, and although it is currently at around 50 lines or so, your fundamental assertion here is wrong.
Sorry, but NNs haven't made any significant progress in the realm of program synthesis. I can set up a model with Transformers and BERT that spews out thousands of lines of code that stylistically look correct, but does not compile. NNs aren't the right tool for the job here.
Third, there are a number of ways that deep learning could be leveraged in app development
That has nothing to do with the original post. There's no AI that's going to write an app for you.
Di.. did you even bother reading what I wrote? You wouldn't use NNs to directly output code, you'd use it to guide a search process.
You are (possibly inadvertently) misquoting Judea Pearl and he was talking specifically about deep learning, not "AI":
“All the impressive achievements of deep learning amount to just curve fitting,” he said recently. [1]
"AI today" still means many more techniques and algorithms than deep learning. For example, SAT Solvers, logic programming and theorem provers, classical planning, classical search, adversarial search (MCTS) etc are alll AI techniques that have nothing to do with "curve fitting".
So could we please all not throw about big proclamations about what "AI today" is ("just" or not), without first making sure that we have a thorough understanding of what we are saying?
I thank us all in advance.
____________________
[1] https://www.quantamagazine.org/to-build-truly-intelligent-ma...
None of those techniques are new, nor are they fueling the AI hype cycle.
I purposely conflated AI with "deep learning" because it is the source of the hype. And in reality, what most AI startups claim to be using.
What is new is the hype around deep learning that took off after 2012, and because Google and Facebook decided to champion it.
In any case, as far as I can tell "AI today" is anything that is "AI" and that exists "today". How do you mean "AI today"?
>> I purposely conflated AI with "deep learning" because it is the source of the hype.
I don't understand why you would do that. You are aware that there is hype and that it is increased by misuse of the term AI. And you purposefully misuse the term AI in a way that increases the hype? Why?
The war for terminology is more lost than differentiating "Hacker" from "Cracker" when referring to computer security. There's a specialist arena where the distinction is occasionally respected. This is not that forum.
Artificial General Intelligence is so far off that it's not a general conversation topic, it's not even a specialized conversation topic - It's a fantasy conversation topic.
I think "Hacker News" is exactly that forum.
You are completely missing the point: "deep learning" and AI are mostly synonymous in the current hype cycle, and it began with breakthroughs in deep learning.
How do you mean "AI today"
The AI industry that I work in.
Can you please edit swipes like that out of your comments here? They tend to degrade discussion. If you simply provide correct information, your comments will be stronger and their effect on the thread at large more salutary.
So could we please all not throw about big proclamations about what "AI today" is ("just" or not), without first making sure that we have a thorough understanding of what we are saying?
I thank us all in advance
It's easy to understand how a mild swipe provokes a more aggressive one; indeed it's hard to resist being carried by that current, but that's just what the site guidelines ask us all to do: https://news.ycombinator.com/newsguidelines.html.
Edit: Sorry, I see you are the OP in the thread. Note that I did not aim that specifically at you and I included myself in "us". I understand you may have felt frustrated that I challenged your knowledge of AI but I sincerely think that you could have researched the subject a bit better before stating what you think it is.
Edit II: At the very least you could have tried to talk a bit more about why you think that "AI today is just capable of curve fitting". Making such a strong statement without any attempt to back it up with some kind of explanation (I'm not saying you should reference sources and bring "evidence" or anything, just explain it) comes across as a bit, well, ill-informed. With respect.
If someone's comments seem ignorant or under-researched, the way to address that is not to put them down, however mildly, but to add correct information about the topic. This has the bonus effect that, in the case where they actually do know a lot about the topic but just have a very different view of it, you won't inadvertently insult them. Also, it's worth remembering that if X is the topic, then "the level of someone's knowledge about X" is actually already a step off topic. Stepping off topic can be great when the step is in a curious direction, but definitely not when it's in a provocative direction.
I'm actually annoyed at myself about this, so I'm definitely trying to remember to be more careful in my comments. Your level-headed moderation is a great help in that, thanks.
I have to say something though- curiosity is only one side of the coin (the coin being the pursuit of knowledge, I guess). The other half is passion. Passion is what causes heated debate, but it's also what causes people to debate in the first place. I think it's a hard balance to strike and we will all need an adult in the room, to help focus our conversations, for a long time to come. Probably not what you want to hear though :)
You just defended a swipe using another swipe.
Your argument is rooted in terminology. Yes, in academia, AI means more than deep learning. Practically speaking, AI and deep learning are synonymous in startup land. And yes, supervised NN techniques are just curve fitting, and are not practical for program synthesis. Which was the original subject of this monotonous thread.
I agree that this thread is dragging on a bit, but it started with a very bold proclamation expressed in strident language criticising peoples' apparent ignorance of the subject- by yourself: "Good grief" and "When will people wake up" rather set the tone of your comment. If you choose to open a conversation like that, with a broadside against "peoples'" ill-informed views I would expect you are prepared to take a bit of criticism regarding the lack of depth of your own views. If not and my criticism has upset you, I apologise, but in that case, maybe you can try to be less provocative in how you express your views in the future, because provocativeness tends to elicit robust reactions.
Edit: In any case I just wanted to say: I get that you're annoyed by our conversation but I'd like to thank you for keeping it civil (if a bit tense) and not resorting to personal attacks. Cheers.
As a third party, may I suggest that this statement amounts to a 'swipe'?
AI is most certainly not synonymous with deep learning. It is just people in the industry who do not know anything about AI and who recently jumped on the deep learning bandwagon, who think they are, and people in the tech press who don't have the time to do proper research. I don't see why we need to perpetuate their misconceptions.
Actually, we don't.
Yes, I suppose this is not the best way to say what I wanted to say without getting peoples' back up. I'm leaving it as it is since it's already been read a few times from what I can tell, but here's a less rash version.
What I mean is that, because of the tremendous recent success and public exposure of deep learning, many people have become interested in it who do not have a background in AI, or even in computer science, and who therefore enter the field with big gaps in their understanding of what "AI" means. That is my experience anyway.
Well, it's a shame to work in a field and not understand its history, not least the history of what has already been achieved and what has failed, and how, so that one does not have to repeat history. So it's in everyone's interest to avoid making statements with great certainty when this certainty is not backed up by long-term knowledge.
For the record, I'm a newcome to the field myself. But I have a background in classic AI, specifically logic programming, so I do know the long story.
Have you seen what neural nets are now capable of? Speech synthesis/transcription, voice synthesis, image synthesis/labeling/infill, style transfer, music synthesis, and a host of other classes of optimization problems which have intractable explicit programmitic solutions.
The hype is justified, because ML has finally arrived, thanks primarily to hardware, and secondarily to the wealth of modern open research, heavily influenced congregations of leading researchers enabled by funding at Google, Facebook, etc.
The problems being solved by "curve fitting" ML were simply unsolvable by any practical, generalizable means before recently, and the revolution is just getting started.
I have also seen what neural nets are incapable of. Specifically, generalisation and reasoning. Says François Chollet of Keras [2].
AI, i.e. the sub-field of computer science research that is called "AI" and that consists of conferences such as AAAI, IJCAI, NeurIPS, etc, and assorted journals, cannot progress on the back of a couple of neural net architectures incapable of generalisation and reasoning. We had reasoning down pat in the '80s. Eventually, the hype cycle will end, the Next Big Thing™ will come around and the hype cycle will start all over again. It's the nature of revolutions, see?
So hold your horses. Deep learning is much more useful for AI researchers who want to publish a paper in one of the big AI conferences, and to the FANG companies who have huge data and compute, than it is to anyone else. Anyone else who wants to do AI will need to wait their turn and hope something else comes around that has reasonable requirements to use, and scales well. Just as the original article suggests.
_________________
[1] http://techjaw.com/2015/06/07/geoffrey-hinton-deep-learning-...
Geoffrey Hinton: I think it’s mainly because of the amount of computation
and the amount of data now around but it’s also partly because there have
been some technical improvements in the algorithms. Particularly in the
algorithms for doing unsupervised learning where you’re not told what the
right answer is but the main thing is the computation and the amount of
data.
[2] https://blog.keras.io/the-limitations-of-deep-learning.html Say, for instance, that you could assemble a dataset of hundreds of
thousands—even millions—of English language descriptions of the features of
a software product, as written by a product manager, as well as the
corresponding source code developed by a team of engineers to meet these
requirements. Even with this data, you could not train a deep learning model
to simply read a product description and generate the appropriate codebase.
That's just one example among many. In general, anything that requires
reasoning—like programming, or applying the scientific method—long-term
planning, and algorithmic-like data manipulation, is out of reach for deep
learning models, no matter how much data you throw at them. Even learning a
sorting algorithm with a deep neural network is tremendously difficult.We had something, but if we really had reasoning "down pat", we would not now be reading an article about someone faking automated app development. Programming is all about reasoning.
That is relevant to your comment. The work on automated reasoning (or "inference", etc) really started in the '50s with Church and Turing, then reached a peak in the late 80's and 90's with work on automated theorem proving (there was a great big push at the time to solve very hard problems to do with the soundness and completeness of inference procedures, particularly resolution) and is still going on (for example with Constraint Programming and Answer Set Programming etc). The result of this work was logic programming. I'm leaving out all the work on functional programming that was just another branch of the same tree, if you like, because I don't know it that well but I'm sure others on this board can complete the picture. Then of course there was all the other classical AI stuff on planning, grammar learning, game playing etc etc that you can read about in Russel & Norvig.
Now, all this work could potentially be turned to the task of automated programming- but automated programming was never the goal of all that research. There was a lot of work on program synthesis, but that was just another AI sub-field with its own specific goals, that were not the overarching goals of the field as a whole. That is why we don't have automated programming at the push of a button, today: because it was never the main subject of AI research.
Edit: bit of a plug. Like I say in another comment, my PhD is on algorithms that learn logic programs from examples and background knowledge (both of which are also logic programs). That's Inductive Logic Porgramming. Our stuff works. We can learn recursive programs and even invent sub-programs that are necessary to complete a programming task and that are not provided by the user. We are making big leaps all the time and we're way, way ahead of neural program synthesis and the like. There's also a whole field of Inductive Functional Programming that does the same stuff but with functional programming languages. Automating app development with that sort of technique is mainly a matter of engineering- the research is out there. But, you haven't heard anything about it because the hullaballoo about deep learning is covering everything else up and most people don't even know there is AI outside of deep learning. Hence my comments in this thread (rather obviously).
All the stuff you talk about is rigid and omits the thing that makes human "reasoning" valuable - context switching.
I think technical people are often blind to this because they don't do very much of it themselves, but it's the fundamental thing that makes people different from machines, and complementary.
I'm not sure what you mean by "context switching" but I will agree with you that following rigid inference rules is not how most people think most of the time. However, we do have the ability to think in this way and this way of thinking is very useful for certain problems where we can't just intuitively come up with a good solution. For instance, scientific thinking is of this kind.
Historically what's really been missing from most attempts at simulating human reasoning is "common sense"- background knowledge about the way the world works. If we could successfully encode even a ten-year old's worldly knowledge, we could probably build an automated reasoning system that would appear much smarter than a ten-year old, by dint of it being a) much faster, b) much more accurate and c) much more, well, logical. But, we have so far failed to instill common sense to our programs and models so they remain at best idiot savants; if not simply idiots :/
I don't think that's the only reason at all. I think it's a much harder problem than you're giving it credit for. Great to hear that you're working on it, though.
So perhaps my bad for using the turn of phrase "at the push of a button"- it suggests more automation than what I have in mind.
When I'm done with my PhD I might even consider launching a product :)
But, that there are people who don't know what they're talking about is no reason to copy them, or to perpetuate their mistakes.
Do you disagree?
For example, you may perhaps argue (at a very big stretch) that travelling salesman is an AI problem- that's arguing on the details. But to claim that all of AI is reducible to one sub-sub-field of AI, deep learning? That's just ignoring the fact that there is an entire research field that is commonly called "AI", with conferences and journals that have "AI" in their name, that are not about deep learning, with many thousands of researchers who consider their work "AI" and who do not work with deep learning, not to mention the 50 or so years and the mountain of work that this field considers its own, that also is not about deep learning.
> I thank us all in advance.
Off topic: I've seen this line a few times before, and somehow it always drips with condescension. As though the speaker assumes the understanding of everyone else is borne from laziness and not background.
Furthermore, the notion that neural networks can only be used as part of supervised learning (and in particular with backpropagation) is totally off. Just to cite a few examples: http://proceedings.mlr.press/v48/taylor16.pdf https://arxiv.org/pdf/1908.01580v1.pdf
And, well, all of deep RL and unsupervised learning is not 'curve fitting'. So yes, even if your 'model' (and really this should be 'objective' or 'loss', the neural net is the model, but whatever) neural nets can indeed help you. Though it's true they can't magically start doing super complicated things like app development yet ; the whole point is to understand how to use them and build hybrid systems that play to neural nets' strengths (as with eg self driving systems).
Curve fitting in millions of dimensions is qualitatively more interesting than the 2D graph paper exercise people think of.
In under 4 hours can you have a program where I write something like a very detailed email (maybe I spend 10 minutes trying to craft the email) where I give a direct link to an internal file folder where there is a .pdf file and a .xlsx file. Each file contains names and birthdates amoung other things. I need the program to combine the data in these files and output it to .xlsx for me, giving me a list of names and birthdates from each file, combined in some sort of coherent manner that I can make sense of.
If you can get a program to do something like that via a detailed email-like directive before lunch, not a bunch of python that constantly breaks every 6 months, that's beating about 30% of the workforce and might as well be General AI.
This is actually probably a decent idea but it wouldn't be anything like general AI this year or next.
If I wanted the GAI to take in .docx files, or just first names, or to hop over to another directory and find things there, it should be able to do those things too. Basically, think of a task that you would give to a not-too-bright nephew that is in the firm for a summer internship. You'd need to give very clear instructions, but you should be able to coax him into getting some of the busy work done for you.
There are experimental seq models that transform paper text into figures or joint models that transform figures and text into some code, but you are correct that these are not production ready.
https://arxiv.org/abs/1907.07355
We are surprised to find that BERT's peak performance of 77% on the Argument Reasoning Comprehension Task reaches just three points below the average untrained human baseline. However, we show that this result is entirely accounted for by exploitation of spurious statistical cues in the dataset. We analyze the nature of these cues and demonstrate that a range of models all exploit them. This analysis informs the construction of an adversarial dataset on which all models achieve random accuracy. Our adversarial dataset provides a more robust assessment of argument comprehension and should be adopted as the standard in future work.
So it seems to be the benchmarks that are flawed and not BERT and friends who are that good at text comprehension. And that is not surprising. It would be surprising if language understanding just arose spontaneously by training a very big net on a very big corpus.
It's the money-men that need to realize it. Practitioners know that it's simply rebranded statistical methods. The usage is exactly the same. That said, some of the things these guys offer are useful; but branding it as "AI" is another story.
By the way, is SoftBank going to implode, or what?
I work with DL researchers on a daily basis, and I feel like there have been a lot of cool developments, but much of it is not ready for prime time. I would really like to see a list of successful DL deployments in the wild, with some info about accuracy if possible.
There's definitely a lot that's not quite ready for prime time (reinforcement learning comes to mind as something that is particularly promising but not working really yet).
> It's not that DL is simply "rebranded statistical methods", it's that the companies with names ending in "dot AI" are simply using "rebranded statistical methods". Lots of money is being poured into anything that calls itself "AI" right now, and a lot of people are starting to roll their eyes when they hear that term.
This is definitely true - but I took it as a bit different from your original comment.
I didn't mean to imply that things were not advancing, only that what we claim is "AI" are processes we've been doing in statistics forever. But, yes, of course the tools and techniques improve.
https://www.zdnet.com/article/softbank-group-looking-to-ride...
That image was copped form an investor presentation. How can anyone take that seriously?
What? Any classification function is non-differentiable because it can only ever take discrete values. Yet this is a task that neural networks do every day. You can approximate a non-differentiable function with a differentiable one.
There are many situations that are not differentiable. Images work well because adjusting color values during back prop can easily be done with a gradient. For example, during backprop it is feasible to increase the level of blue by 10% by increasing its RGB value. Likewise for 3%, 15%, -7%, etc.
For other types of data, a gradient may not exist.
You don't calculate a gradient on the data, you calculate a gradient on the parameters of the model. But I'm going to assume you mean that some types of data are not well represented by floating point numbers, which is true, but there are workarounds, e.g. vector embeddings for words or simply one-hot encodings for categorical values.
What is true is that if you need to make a hard decision in one part of the network, for example deciding that the image is a cat, in order to further process that decision. This would not be differentiable. But we can represent objects in a non-discrete way, with embeddings, hidden state vectors etc. My point is, people are getting around this problem.
I also want to add that I agree that we are way far off from building apps automatically, but I think you're giving way too little importance to the advances that's been made. Just take a look at the latest GANs, or the advances in machine translation using the Transformer and attention architectures, or Neural Turing Machines.
Whether a gradient exists will depend on the type of data and what you're trying to predict.
But we can represent objects in a non-discrete way, with embeddings, hidden state vectors etc. My point is, people are getting around this problem.
Great progress has been made using that, e.g. advancements in NLU. But it is not a complete workaround. Embeddings don't work if your relationship is non differentiable. And you will lose the gradient for very long contexts (deep networks), even using new techniques like attention and transformers.
It seems to me that there is no difficulty in using it to model fixed functions {0,1}^n -> {0,1}^m .
I don’t know for sure that all such functions can be learned reasonably efficiently, but I do know that there are feedforward standard neural nets which, with some weights, can approximate any such function arbitrarily closely.
But, again, I’m not saying that these functions can be learned effectively by backprop, idk if they can be.
Are these functions examples of relations you would say aren’t differentiable.
I’m confident that SOME of these functions can be learned by backprop, but I don’t know what would make these ones “more differentiable” than others, So, I don’t see how differentiability could be the obstacle here?
But I may be misunderstanding.
What is true is that if you need to make a hard decision in one part of the network, for example deciding that the image is a cat, in order to further process that decision. This would not be differentiable.
CNNs can work for image classification because a smooth gradient will exist for incrementally "stepping" color values during backprop. But asking the question "is this an image of a cat" is much different than "what do I do if this is an image of a cat".
Also very deep neural networks (i.e. many, many time steps) essentially lose their gradient, or context. Even with attention and transformers. Which is partly why we haven't seen AIs that can write lengthy programs, books etc that are coherent and grammatically correct. And we probably never will by only relying on current "curve fitting" techniques.
You can train another NN to predict the best course of action for each decision of the first net. Or even train a single net to choose actions based on the initial input. Not sure what's the problem here.
we haven't seen AIs that can write lengthy programs, books etc that are coherent and grammatically correct. And we probably never will
Have you completely missed the recent NLP breakthroughs (BERT, GPT-2, XLNet, etc)? OpenAI even refused to publish their model because it could generate long coherent and grammatically correct text.
Can you give an example of such a function? They very well may exist. But I think we can agree that non-differentiability of the target function is not sufficient.
The function that describes the neural network itself has to be differentiable. Whether we can create a differentiable function/NN for any kind of input remains to be shown.
Brownian motion. Try using a NN to model stock prices (not Brownian exactly, but same concept).
IIRC, the first neural network book I read in the 1990s had that as the big illustrative application in the latter part of the book.
There are plenty of other time series problems where NNs don't outperform classical methods such as ARIMA.
The function needs to be continuous.
Discontinuous functions are not differentiable.
You can approximate discontinuous functions with continuous ones (e.g. with logistic functions).
In the end, we are still talking about curve fitting and optimization, not artificial general intelligence.
"They are really just another type of optimizer for maximum likelihood"
But like always in our industry - we have to hype something beyond believe to keep new projects rolling.
Ill let ppl dream but I know enough to see how it all will end.. like always..
If you actually work in the ML industry, I find it astonishing that you don't think that there have been major breakthroughs in the last 7 years
My astonishment that you didn't think there had been any breakthroughs was only if you directly worked in ML, otherwise you are just misinformed.
(*investors money)
I'm just stating that "again" in our industry, masses will now flock to "new shiny thing" simply because it is hyped and investors throw money at it. While managers will try to fit ML/DL/AI into pretty much anything either if it makes sense or not.
This flips causality - funding didn't really really pick up until the last 5 years or so - about two years after the initial breakthrough.
Look, I agree with this comment - managers are super eager to apply ML to tasks it has no business being applied to (at least yet). But your original claim was that all the new techniques are just glorified maximum likelihood optimization. That's just false.
The hardware is co-evolving with the software. GPUs with SIMD architecture, or TPU which are even more specialized will give a computational advantage to methods like neural nets which they have been designed for.
The magic comes from the memory/computation power combo.
Isn't human education simply discovering spaces that somewhat resemble a reality with arbitrarily many dimensions and finding functions that match curves/surfaces/bodies to some degree of precison and exactitude?
Some years ago I was working somewhere and the management had caught the AI/ML bug and were obsessed with the idea of using ML to generate business "insights". They'd get some vague & unspecified data about a client's business operations, we'd input it into the ML and voila: "insights" about how to improve their business (and make us money)
They didn't know what these "insights" would be, they expected machine learning to magically generate them on its own.
I tried explaining that at a high level, ML can only really give you answers you already know are possibilities. It won't offer up some totally novel answer that you've not trained it for - i.e. you've got to know what the answers could be before you even start.
We got shut down by the parent company not long after that.
There are plenty of derivative free methods as well.
It’s not clear whether a function being nondifferentiable means anything without further specification since classification is practiced quite successfully in many cases.
I'd just like to say it should be complex statistics. But that's just me.
Even AlphaZero, which, iirc, is trained entirely using self-play, with no starting data from other players?
Of course the situation becomes rather interesting when you start training it against itself, but you're still fundamentally trying to find a good statistic to estimate your chances of winning.
Perhaps I am not using the right definition of “statistics”?
More generally I'd consider statistics to be the applied version of probability theory. Of course in this case the very thing they were trying to compute also fit the definition of a 'statistic'.
If you consider this is to be too broad, then keep in mind that it's simply better when you can apply the concepts and techniques from probability theory to more things.
It seems to me that there is a category of people who are eager to dismiss deep learning altogether and say "iT's JuSt stAtIStics" even though there is a good amount of evidence to show that it isn't the case. That isn't real science, it's human bias.
Wrong.
If you actually study signal processing, you will find out that CNNs aren't something magically rooted in something other than "statistical correlation machines." CNNs in fact work because they're used to calculate cross correlation!
"Convolving" in terms of a CNN is a misnomer, it's the same as calculating cross correlation in terms of signal processing.
> Wrong.
The best way to respond to this, somewhat humorously would be "Wrong".
Look: maybe ML is just curve fitting. But maybe human consciousness is too. As the scope of ML expands, we're going to have to confront the reality that there's nothing special about our own minds.
My wild guess is that digital computers are not very efficient at AI. It would be really interesting if nets could be implemented in an analogue fashion.
AI is certainly not magic, and as an industry we're super far away from what would be considered real AI in the technical sense. That being said, AI has become a catch all term for everything as simple as linear regressions, all the way through to neural networks.
We don't claim to be able to write apps using AI, we're a platform that is trying to use AI and general automation in order to optimize the traditional SDLC. Actual code generation/synthesis is years away in my opinion and there is far more impact that can be had by going after other manual aspects of software development.
I don't think you can get away with corp-speak/buzzwords here this easily. Could you elaborate on how exactly you're using AI to "optimize" software development?
If I were take a guess of the flow: As a customer creates a "new app" they go through some wizard type of process that will start to narrow down which templates are needed and what information to prompt the customer to fill in.
Once they have all of that they take that bundle of templates and "content" and hand it off to some developer to glue it all together and then perhaps add some other automation to handle small changes by the customer later automatically.
Could be a clever way to speed up app development if you can narrow the scope down but "AI" it is not.
Just some speculation, arm-chair-quarter backing
Glad you were able to stop by at Collision! The process today is certainly not as user friendly as we'd like and can be quite time consuming. We're doing a revamp of the particular experience you saw in Toronto to streamline the process and also the ability to create clickable prototypes automatically!
Though we're still developing that tool, we intend to unveil it at WebSummit this year. Hope to see you there and get your feedback on it!
Happy to elaborate - in a nutshell what we're trying to do is automate as many parts of the traditional software development lifecycle as we can, and for whatever cannot be automated, put in place the right tooling to allow for repeatable results.
Our thesis is that most applications today have a huge amount of duplication at a code level, and process level. We're trying to use reusable building blocks (well structured libraries, templated user stories, wireframes, common errors, etc.), in order to immediately solve that duplication. That being said, we're not talking about automatic code generation, it's more about being able to assemble these reusable building blocks together at the beginning of a project so you have a better starting point. There will always be customization required for any project however, and that is a human led process.
Apart from actual development, we're also trying to automate processes around project management, infrastructure management, and QA. For example, what we've already been able to do is automatically price and create timeline estimates for a project without any human involvement, determine which creators on our network are best suited for a given project, evaluate and onboard developers on to the network, setup developer environments, and a lot more!
The latter part, as far as figuring out what work to assign and estimating time-frames does seem like a legitimate AI use case though.
We're attempting to tackle the problem holistically. That means that we're tackling every single step of the traditional product development process. All the way from how you ideate, price, and spec, to sourcing and managing developers through to QA and infrastructure management.
For example, today, our ideation/pricing/spec tools leverage applied ML, creator management leverages facial recognition for fraud prevention, and infrastructure management uses statistical modelling.
We're trying to make code re-use a repeatable and predictable process rather than just a best practice. Today in the industry it's a purely led by developers, and very often is done solely at their discretion in a manual fashion. We're attempting to platform enforce code reuse, across autonomous distributed teams and products. Apart from just deciding what the optimal building blocks for a project are, the actual assembly or intelligent merging of these building blocks in an automated way is non trivial and mirrors modern automative assembly lines.
You are here on a forum of technical people, can you be appropriately technical?
All of our project timelines are generated fully automatically. Today we are hovering at around a 90% accuracy on those estimates, and are moving more and more towards solving that last 10%.
We put our money where are mouth is - for example if our system generates a spec with a timeline of 10 weeks and a price of of 10K, and we take 15 weeks, we do not charge more than 10K.
Unfortunately I can't reveal more details of how we generate those timelines automatically apart from the fact that is uses NLP, CNNs, and regression analysis as it is proprietary and core to our business.
> NLP, CNNs, and regression analysis
No one is asking you to reveal your algorithms in detail, but any information at all besides just naming 3 statistical methods would go a long way in convincing people of the validity of your assertions.
Maybe you're just using human estimators and are using NLP/CNN/regression analysis to compute their daily coffee supply.
Apologies if it came across as vague. You're welcome to try out our pricing and timeline estimation system if you'd like to get a sense for how it works - it's all public (https://builder.engineer.ai).
That particular tool uses historical data from our user story management system and repository system to glean insights such as average amount of time taken on customizing features, complexity of features and the interactions between them, common errors, developer efficiency by feature grouping, etc. This is all then used as input data into our pricing and timeline estimation system.
Collecting this data was no small feat, we had to build a significant amount of project management and developer tooling in order to get the granularity of data required.
This is also why we're confident that we'll be able to improve our accuracy beyond 90% - as we build more projects, the data collected from that process will feed back into these models.
I'm not lucid enough tonight to give good concrete examples, or be more specific about how this relates to repetition, but I feel like there are deep problems with designing software automatically even looking at mundane, small scale stuff.
https://people.csail.mit.edu/rishabh/papers/cacm12.pdf
Which btw is absolutely an artificial intelligence application albeit one that has nothing to do with neural nets and deep learning.
Perhaps, if your company has trouble with acquiring data and training large deep neural nets, you could benefit from looking at other techniques that do not have such stringent requirements and that are much better suited to smaller companies (i.e. anyone but Google, Facebook, Amazon, Netflix et al).
It's not just one problem we're tackling, it's actually more like 40 small issues that we're working on. You actually named a few right there - static code analysis, automatic UI generation from YAML. I also want to be clear that not all of it is AI or ML. For example how we price and spec out ideas (https://builder.engineer.ai/) is fully automated and leverages NLP and NNs, and how we handle developer verification uses facial recognition. However many of the problems we are going after don't require AI; heuristics based approaches and statistical models can actually have better results in many cases.
And that's a problem. The problem is that this trend builds unrealistic expectations for pretty much anyone that doesn't know how the tech works.
Business people imagine some magic box that will just churn out stuff with (close to) zero workers involved.
Customers imagine the same magic box churning out tailored products built with AI fairy magic.
Then reality sets in, and people (investors included) start losing faith, and we're onto the next AI winter.
We've been very transparent with our investors on where we are in the process of creating this platform both pre-investment and post. They actually responded to the WSJ article:
A spokeswoman for Deepcore said it has complete confidence in Mr. Duggal’s vision and team.
A spokesman for Jungle Ventures said it is a proud investor in Engineer.ai and its technology, adding that “the AI landscape is a varied spectrum.”
A Lakestar spokeswoman said it also has confidence in Engineer.ai and its team, adding that “growth in the AI space does not happen overnight.” It said Engineer.ai had been very careful in presenting its technology to Lakestar and other investors
Apologies for that experience! We're currently working on a new iteration of that site and will be launching it very shortly. Come back soon and let us know what you think.
https://kernelmag.dailydot.com/features/report/2573/spinvox-...
My eyes popped open when I read who the author of this was ! Utterly Loathsome - but apparently doing some journalism in 2012.
That's a bit much. ML techniques have large and proven market applications[1]. And there's a bunch of hangers on trying to spin the buzz into a quick buck. This seems like pretty boring, run of the mill fraud to me.
[1] Which, to be fair, tend to all fall within the realm of "do with a cheap computer what an expensive human can do easily", like looking at or listening to things. "Writing software" should have been an obvious cue that they were way beyond the known reach of the technology.