Hacker News new | comments | ask | show | jobs | submit login
Using Google Cloud AutoML to Classify Poisonous Australian Spiders (shinesolutions.com)
107 points by mattfrasernz 10 months ago | hide | past | web | favorite | 41 comments

This is huge, and it's only an alpha. I begun reading about AutoML/Neural Architecture searches around ~year ago and something I've been thinking about is:

Why doesn't this just move the optimization problem? Aren't you now just optimizing your DeepRL network rather than the network you're trying to optimize?

The idea of AutoML (in this case[1]) is to improve the NN architecture for a given type of problem.

In "normal" machine learning this is basically hyperparmater optimization for a given dataset (eg, the depth of a random forest, XGB parameters, the best random seed/jk )

In this case is tests different combinations of operators on a known dataset to see what performs the best. So it is optimizing the prediction network

(Also this isn't DeepRL, it's a deep neural network. I think that was a typo)

[1] https://research.googleblog.com/2017/05/using-machine-learni...

Jeff Dean talks about AutoML using RL and in the paper " Neural Architecture Search with Reinforcement Learning" it also talks about this.

Also it seems different from more traditional hyperparameter optimization because it makes novel cells. So the structure of the network isn't limited to our existing library of layers/cells.

https://arxiv.org/abs/1611.01578 https://youtu.be/HcStlHGpjN8?t=2073

"Novel Cells" are combinations of existing operators.

It's entirely true that these are combinations that humans haven't (and probably wouldn't) come up with.

I don't want to underplay this. "It's similar to hyperparameter search" makes it sound like it isn't interesting or novel, which is untrue. I completely believe it is a revolutionary way to build software (so much so that I quit my job, raised funding and are working on a similar space of problems).

But it isn't doing something like inventing a new math operations similar to the other operators which humans put together to form cells/layers. It is rearranging and choosing those operators in new ways.

Okay I see what you're saying and I completely agree.

You maybe interested in their most recent paper and blog post from today: https://research.googleblog.com/2018/03/using-evolutionary-a...

Wow thanks, reading it now (:

Yeah but you basically leverage hierarchy principles to make the system better overall. At least I think that’s the idea.

Something like this could actually save lives. Take a photo of what bit you, then the app could provide an answer (with a confidence level) of "do I need to go to the hospital" and provide a few example apps for various matches with level of danger.

Thanks for sharing!

That is, if you haven't already squished it!

Speaking as an Australian, common spiders which aren't poisonous (e.g., daddy long-legs, huntsmen, little jumpy-guys) is general knowledge. As is the really bad ones (funnel webs, redbacks). If you're bitten by something else, you generally assume it's somewhat poisonous and pay close attention to how you're feeling.

This kind of approach would have more impact for snakes, whose venom can vary significantly -- although hanging around to snap a picture seems dangerous. Perhaps a suggestion system based on salient features?

Now we just need to classify squished spiders.

I don't think it is actually likely to save lives, because spiders very rarely kill. As far as I can tell, there's been one death from a spider bite in Australia in 40 years: https://www.telegraph.co.uk/news/2016/04/12/young-man-dies-a... .

That’s probably because it’s fairly widely known (in Australia) that if you’re bitten by a red-back or funnel-web spider that you seek medical attention, as you would for a venomous snake. A quickly treated bite is almost never fatal.

The app helps people make the decision as to whether its a harmless spider or something that requires urgent medical attention.

Yeah, definitely: I'm only trying to highlight that this sort of app wouldn't actually do much in practice because (Australian) society already deals with such bites well. If everyone in Australia had the app and used it all the time, it still would have (maybe) prevented at most one death in the last 40 years.

In fact, since the numbers are so small, widespread useful of such an app seems like it may actually increase the number of deaths: instead of people seeing an unidentified spider and intense pain and getting treatment, people may get a false classification and so endure the pain without prompt-enough treatment ("the app says it's just a [something other than a funnelweb], I'll be fine!").

Generally, a redback is fairly unpleasant, but doesn't require a trip to the hospital (for a healthy adult), so its unlikely to be fatal in most cases anyway (thankfully!).

Funnel-webs are terrifying.

A redback bite generally requires medical attention; though not triple-0 level urgency, it shouldn't be a wait-and-see-how-you-feel treatment.

Unless you're a kid, and then even the antidote is terrifying.

I think if you are bit you should seek medical attention regardless of what an app says.

Ah, unless you live in the United States - then it becomes a question of whether it's worth it.

But what if you are in between a trek or in woods? Are there generic anti-venom kits available that you can carry?

If you’re going bush walking, you’d usually take a snake bite bandage. If you’re otherwise healthy and have other people with you, you’ve got a few hours to get yourself to a hospital or ambulance.

Not generally, and unfortunately in recent times there have been shortages in antivenoms, and many smaller hospitals haven't been carrying them.

You'd be crazy not to get a second opinion at a hospital though right? "The app said I didn't need to see a doctor" sounds like dangerous territory.

Not saying a doctor is perfect, though I find they're often better than they get credit for.

it's Australia... the answer is always "YES!!!"

The app could probably be optimized to the following:

    def spiderIsDeath():
      return True
Though surprisingly Australia does host some non-lethal animals and insects, including spiders. Most of the time people will be fine when bitten by spiders in Australia, treatment is quick in almost all cases.

I don't know if you get a chance to take a picture of what bites you most of the time... if ML could distinguish between different bites by just looking at skin, that would be incredibly useful.

Agreed with this also!

I wonder how different bites present themselves - if there is enough differentiation to provide a conclusive level feedback.

I like the content of this blog post, but the use of stock photos was really off-putting and I had to almost force myself to keep on reading.

Isn't that something available in, say, Mathematica in 3 lines of code? https://wolfram.com/language/11/image-and-signal-processing/...


The example there is 7 lines (counting the NN description as one line). That's using a (easy) pre-existing dataset too, and a primative neural network.

That's roughly the same as in Python using something like the fast.ai library. I think that comes for 4 lines (not including data wrangling or inputs):

data = ImageClassifierData.from_paths(PATH, tfms=tfms_from_model(arch, sz)) learn = ConvLearner.pretrained(arch, data, precompute=True) learn.fit(0.01, 2) log_preds = learn.predict()

See [1]

Also note that this AutoML version uses zero lines of code.

[1] https://github.com/fastai/fastai/blob/master/courses/dl1/les...

Auto labeling would be way forward for Supervised Algorithms. Get some data to annotate from your team, and tag rest of them using auto-labeling. https://dataturks.com/ could be such player, Not sure how will these survive in front of Google.

There's no such thing as auto-labeling.

Data Turks is manual labeling.

There is active learning[1] and related algorithms where you trace the boundary of your classifier and pass examples along that boundary to be manually labeled (as they are the ones the classifier is most unsure about).

But there is nothing "auto" about this - it's just being smart about where to deploy the manual labor.

[1] https://en.wikipedia.org/wiki/Active_learning_(machine_learn...

Lets say we want to create a labeled data for text summarization for medium articles. Could the highlighted part be used as summary, its not auto labeled per se, but can be a proxy and passed to labelers to verify/edit.

Sure. There are lots of useful proxies for labeled data.

It's worth noting that highlighted sections in Medium articles probably aren't great summaries (they are more a representation of important points - which is a useful thing to predict as well).

For example, many summarizer systems are trained on the single-line summaries given in news media systems. There have been attempts to use Tweets as summaries for linked articles too.

How long does it take to get access to AutoML?

Does anyone know a bit more about the pricing? All I can find online is Google learning infrastructure cost.

Is it possible to export the trained model from AutoML for offline use?

They haven't come to a decision as to whether that will be offered AFAIK. I really hope they decide to allow downloading the model.

If pictures are already from Google, wouldn't it be simpler to post image to Google's Vision API and then grep results against the list of poisonous spiders?

I'm surprised someone is yet to point out the error of using the word poisonous instead of venomous. I suppose it's not important to the article.

Although, if you do decide to nibble one you may find it is indeed disagreeable.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact