4 ms·
You are correct that all commoditized AI currently cannot do anything completely novel. They ship a network to convert landscape photos to landscape paintings,
by fxtentacle 6y ago
You are correct that all commoditized AI currently cannot do anything completely novel.
They ship a network to convert landscape photos to landscape paintings, for example. You can retrain that with limited effort and knowledge by using their Collab notebook. That way, you can make an AI to convert photos of cats to photos of dogs. But you wouldn't be able to create an AI to convert between cats and rabbits, for example, because those are too different for that AI architecture to tolerate.
Similarly, they ship a classifier to detect objects of some categories based on surface texture. You can retrain that to detect different categories of things. But if someone paints a chair to look like elephant skin, the AI will be confused and short of inventing a new architecture yourself, there's nothing you can do to fix it.
Plus in any case, you will need to have large high quality datasets for your retraining. The biggest cost in building a bird classification app isn't the one ML employee that creates the final AI, it's hiring biologists to correctly tag thousands of photos to train the AI on.
That's why many AI research nowadays tries to offload the data generation to random people on the internet. For example, recaptcha, or crawling Flickr for that faces dataset.
Edit: since it was brought up in the comments, the retraining that I mentioned can be done only on parts of the model, which is then called transfer learning and can save you some computing time.
But, you'll need to determine if the first feature layers of the original model are suitable for your new classification task. Even experts sometimes guess wrongly here, so as a beginner, I'd say you can only pray and hope.
- dheera 6y ago"But you wouldn't be able to create an AI to convert between cats and rabbits" I reckon you probably actually could with some of the more recent results.
- fxtentacle 6y agoI am not aware of any model on the TensorFlow Hub which could do that. I also believe that I haven't read a paper with a suitable architecture yet. Which one are you referring to?
- jaredtn 6y agoCycleGAN: https://github.com/junyanz/CycleGAN https://github.com/junyanz/CycleGAN
- deleted 6y ago[deleted]
- fxtentacle 6y agoCycleGAN is exactly the one from the Google colab notebook that failed for cats to dogs. It'll produce cats with a dog texture, but with cat anatomy.
- dheera 6y agoTensorFlow Hub is probably outdated, as usual. They're still advertising ResNet50 for goodness sake. Try this: https://github.com/NVLabs/FUNIT https://github.com/NVLabs/FUNIT (2019) Or this: https://github.com/clovaai/stargan-v2 https://github.com/clovaai/stargan-v2 (2020) Either of those should probably work for cats to rabbits.
- fxtentacle 6y agoI disagree. Both of them massively reduce the complexity by working on position-aligned images of purely the head. I would estimate that even a picture of a cat from the side will already be too much for this network to handle. These kind of networks learn their feature space mapping by treating the input data set as continuous. So for them to learn a good mapping from cat to dog, it would need to also see photos of an animal that is half cat half dog. If I had to train this case for work, I guess I'd try to go through baby pictures. Dog -> baby dog -> baby cat -> cat. That might work if baby cats and baby dogs look similar enough.