Skip to main content

Blog

Learn About Our Meetup

5000+ Members

MEETUPS

LEARN, CONNECT, SHARE

Join our meetup, learn, connect, share, and get to know your Toronto AI community. 

JOB POSTINGS

INDEED POSTINGS

Browse through the latest deep learning, ai, machine learning postings from Indeed for the GTA.

CONTACT

CONNECT WITH US

Are you looking to sponsor space, be a speaker, or volunteer, feel free to give us a shout.

Category: Reddit MachineLearning

[P] Ideas needed on simulating/training Burglar and Guard Agents

Hi,

I’ve also posted this on r/reinforcementlearning, but in order to have a bigger reach, I thought it would be good to repost here.

For a research project, I want to create a simulation on how burglars and guards behave in a grid world. The idea is to have two different types of agents where the burglar agent needs to get one of the treasures (somewhere in the grid world) and then has to reach the edge of said grid world. The guard needs to both protect these treasures and catch the burglar.

We want to use the simulation to learn three things:

  1. What strategy does the burglar use?
  2. What strategy is most optimal for the guards?
  3. What types of information do benefit the guards the most from? (e.g. treasure locations, big detection range, imprecise burglar location)

I would love to add terrain types and other things to improve the realism of the simulation, but the problem is probably hard enough as is. Do any of you guys have ideas on how to accomplish this?

Thanks in advance

submitted by /u/6six9stones
[link] [comments]

[D] I wish conferences required an accompanying reference implementation to be published

I had been struggling with implementing a somewhat niche paper for months now, and I only now was able to reproduce the result because the author published a follow-up paper that fixed some egregious errors in the original one (some benign typos, some things you simply couldn’t guess). I had contacted the author about the original paper but never heard back (I suspect because he had become aware of the errors).

I think requiring a reference implementation would also go a long way of leveling the playing field between small contributors and the big guns like Google, Amazon etc. Those big guys like to hide behind their proprietary data (“not our problem if you don’t have the data to reproduce our results”), I think it would make for better science if anybody can just clone a repo, download some data and get the result.

Sorry, this was mostly a rant born from the frustration of seeing massively erroneous papers in journals and conferences that slip past peer review because the reviewers have no way of checking the veracity of the claims.

submitted by /u/rumborak
[link] [comments]

[P] Object detection: Weird Precision-Recall-Curve?

[P] Object detection: Weird Precision-Recall-Curve?

Here I have a use case where the detection is relatively easy, as the visual properties of the object detected don’t vary a lot. The requirements to localization accuracy are very high though, hence the unusually high IoU thresholds.

As far as I know precision-recall-curves are usually monotonously falling, but here they are rising up to a maximum at some recall value and then drop quickly.

weird precision recall plot

Does this mean there’s something wrong with my calculation of precision and recall values or is this a valid result?

submitted by /u/Single_Blueberry
[link] [comments]

[D] Why does pix2pix generate a conditional *distribution* instead of a delta function?

Apologies if it’s too trivial.

Consider paired training data (x,y) where x is edge-image and y is realistic image.

Pix2Pix discriminator training is totally paired i.e. for a given x, y forms the real image and fake_y=G(x) forms the fake image. Note that this is deviating from Conditional GAN paper where for a single label of MNIST say 4, we have a distribution of real images available.

Also, note that the discriminator is pix2pix is conditional on x i.e. D(x,y) and D(x,fake_y) are to be discriminated. So, in principle pix2pix can learn a 1-1 mapping from edges to corresponding shoes in training set and I see no reason why it must produce a variation of shoes as shown in paper.

Assuming this code is correct implementation: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/models/pix2pix_model.py


[link] [comments]

[D] How do you change your metaparameters when scaling to multiple G(T)PUs?

Recently I’ve been scaling my work to larger models and datasets and am finally at a point where distributed training on multiple GPUs is required. I’ve found TensorFlow 2’s distribute library and the tf.distribute.MirroredStrategy [1,2] a really easy way to do synchronous distributed training on multiple GPUs on one machine. Are there general heuristics to how one should change their metaparameters as one scales from a single gpu solution to distributed gpu training?

The TensorFlow guides touch on this briefly:

In both cases (dataset or numpy), each batch of the given input is divided equally among the multiple replicas. […] Typically, you would want to increase your batch size as you add more accelerators so as to make effective use of the extra computing power. You will also need to re-tune your learning rate, depending on the model.

For example, I trained DenseNet-BC (k=12, d=100) on a single GPU with a batch size of 64 and stepwise learning rate annealing from 0.1 -> 0.001 -> 0.0001. Though the training curves look quite different when scaling to multiple GPUs, I’ve gotten essentially the same test loss and accuracy using the same learning rate scheme and an epoch-level batch size of 64*num_gpus (with very nice time-to-completion gains: ~8 hours on 1 gpu -> ~4 hours on 4 gpus).

[3][4] by Shallue et al shows that there is a universal relationship between batch size and training time, but also that this relationship varies great across dataset, neural network architecture, optimizer, and workloads. In practice, it seems like one might not have the compute to always perfectly optimize for the given task across learning rates, optimizers, and batch sizes. Are there general rules of thumb that have worked nicely for you in practice?

“If one could predict which workloads benefit most from data parallel training, then one could tailor their workloads to make maximal use of the available hardware. However, our results suggest that this will often not be straightforward, because the maximum useful batch size depends, at least somewhat, on every aspect of the workload: the neural network architecture, the dataset, and the optimizer.” [4]

[1] https://www.tensorflow.org/tutorials/distribute/keras

[2] https://www.tensorflow.org/guide/distributed_training

[3] Measuring the Effects of Data Parallelism on Neural Network Training

[4] Blog: Measuring the Effects of Data Parallelism on Neural Network Training

submitted by /u/cosentiyes
[link] [comments]

[D] ML jobs in Asia?

Hey all,

I’m a PhD student at US university, have finish my master’s, interned at top research groups in US (e.g., Google Brain), and have great prospects for full time positions in the US when I finish the PhD.

But I am very interested in living in Asia (Japan, S. Korea, Taiwan, or Singapore — maybe China, but that’s iffy). I’ve been to all these places and know what they’re like more or less, and I don’t want to waste any more of my youth putting off these dreams of living and working abroad.

However, I’m not sure what prospects there are for ML research in these countries, as well as if it’s a wise financial decision to make; e.g., I’ve seen some figures for $30k/year, and there’s no way I’d do that when I could make $150k+ for the same position in the US.

Does anyone here have experience doing ML research in Asia having originated from a Western country? My Mandarin and Japanese are beginner level, so I also realize this may be an issue (but I’ve also heard some claims that it might not be).

Would taking a position stateside then getting a transfer be the smartest option, or should I just apply directly to the foreign positions?

Anyone with any insights or suggestions? Anything would be greatly appreciated.

submitted by /u/complicatedhilbert
[link] [comments]

[D] DeepMind’s breast cancer screening does cite the earlier NYU work with ‘small, enriched datasets with limited follow-up’ critique

[D] DeepMind's breast cancer screening does cite the earlier NYU work with 'small, enriched datasets with limited follow-up' critique

For those wanting to juxtapose the breast cancer screening work published by Deepmind with the earlier work published by the NYU team, the Deepmind paper does cite the NYU paper (twice) and here is the context in which the citations appear:

A few studies have characterized systems for breast cancer prediction with stand-alone performance that approaches that of human experts[29,30]. However, the existing work has several limitations. Most studies are based on small, enriched datasets with limited follow-up, and few have compared performance to readers in actual clinical practice—instead relying on laboratory-based simulations of the reading environment. So far there has been little evidence of the ability of AI systems to translate between different screening populations and settings without additional training data[31]. Critically, the pervasive use of follow-up intervals that are no longer than 12 months [29,30,32,33]

[30] Wu, N. et al. Deep neural networks improve radiologists’ performance in breast cancer screening. IEEE Trans. Med. Imaging https://doi.org/10.1109/TMI.2019.2945514 (2019).

Can someone with any sort of radiology background here comment on the ‘ follow-up intervals’ part?

Pro-tip: The nature paper is not exactly behind a paywall (unless you try and access it via their main portal) and one can access the pdf via this page:

https://deepmind.com/research/publications/International-evaluation-of-an-artificial-intelligence-system-to-identify-breast-cancer-in-screening-mammography

https://preview.redd.it/84zgxe14fg841.png?width=1059&format=png&auto=webp&s=e6ba2894e5c813749ef776085d74ee0ff380d7c9

submitted by /u/VinayUPrabhu
[link] [comments]