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.

Author: torontoai

[D] Google Dataset Search AMA [x-post from r/datasets]

Hello data lovers!

This is Chris from Google Dataset Search (https://g.co/datasetsearch). If you have any questions/suggestions regarding Dataset Search please join me at AMA tomorrow (Thursday) 9am PST at https://www.reddit.com/r/datasets/comments/bobctg/chris_gorgolewski_from_google_dataset_search_ama/. Help us help you find the best benchmark dataset for your next paper!

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

[D] I’m quite new to PCA but what does it mean to get a silhouette score of PC1?

Sorry if this doesn’t make sense – I’m a new PhD student and looking into PCA – I think I understand the idea of it, I’ve worked with PC1 and PC2, I’ve plotted to visualise, and retrieved eigenvalues. I understand the silhouette scores: I am using the highest score as K (number of clusters) for my K-means.

But today my post doc supervisor said something like “PC1 is a number and I retrieved a silhouette score…” – I’m not sure what this means?

Thanks for any help!

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

[D] How to become an expert in NLP in 2019 (1) blog post?

How to become an expert in NLP in 2019 new blog post. I wanted to learn all the theoretical advances that had been done in NLP in the past year, before this I mainly focused on computer vision.

This blog post provides all the resources you need to go from LSTM->AWD_LSTM->Attention->Transformers->ELMo->ULMFiT->GPT->BERT. I still have to read on some techniques and practice all this stuff. Will make a follow-up post around June end.

I would love to get some pointers on what I missed or on something that was not needed.

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

[P] Generating Game of Thrones Characters Using StyleGAN

[P] Generating Game of Thrones Characters Using StyleGAN

Hi everyone. I’ve been working on a project where I use StyleGAN to generate fake images of characters from Game of Thrones. I wrote an article that describes that algorithms and methods used, and you can try it out yourself via a Colab notebook.

Game of Thrones character animations from StyleGAN

Here are the resources to follow along:

Something interesting to note: All the results (images and animations) were generated from Nvidia’s StyleGAN that was pretrained on the FFHQ dataset, with absolutely no fine-tuning.

Instead, to make StyleGAN work for Game of Thrones characters, I used another model (credit to this GitHub repo) that maps images onto StyleGAN’s latent space. I gave it images of Jon, Daenerys, Jaime, etc. and got latent vectors that when fed through StyleGAN, recreate the original image.

With the latent vectors for the images in hand, it’s really to modify them in all the ways described in the StyleGAN paper (style mixing, interpolations, etc.) as well as through simple arithmetic in the latent space (such as shifting the latent vector in the “smiling direction”). As a bonus, since there’s no StyleGAN training involved, all the steps that I just mentioned can be executed extremely fast.

Also, stick around to the end of the article to see a result of character style mixing that might be very interesting to Game of Thrones fans.

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

Introducing Translatotron: An End-to-End Speech-to-Speech Translation Model

Speech-to-speech translation systems have been developed over the past several decades with the goal of helping people who speak different languages to communicate with each other. Such systems have usually been broken into three separate components: automatic speech recognition to transcribe the source speech as text, machine translation to translate the transcribed text into the target language, and text-to-speech synthesis (TTS) to generate speech in the target language from the translated text. Dividing the task into such a cascade of systems has been very successful, powering many commercial speech-to-speech translation products, including Google Translate.

In “Direct speech-to-speech translation with a sequence-to-sequence model”, we propose an experimental new system that is based on a single attentive sequence-to-sequence model for direct speech-to-speech translation without relying on intermediate text representation. Dubbed Translatotron, this system avoids dividing the task into separate stages, providing a few advantages over cascaded systems, including faster inference speed, naturally avoiding compounding errors between recognition and translation, making it straightforward to retain the voice of the original speaker after translation, and better handling of words that do not need to be translated (e.g., names and proper nouns).

Translatotron
The emergence of end-to-end models on speech translation started in 2016, when researchers demonstrated the feasibility of using a single sequence-to-sequence model for speech-to-text translation. In 2017, we demonstrated that such end-to-end models can outperform cascade models. Many approaches to further improve end-to-end speech-to-text translation models have been proposed recently, including our effort on leveraging weakly supervised data. Translatotron goes a step further by demonstrating that a single sequence-to-sequence model can directly translate speech from one language into speech in another language, without relying on an intermediate text representation in either language, as is required in cascaded systems.

Translatotron is based on a sequence-to-sequence network which takes source spectrograms as input and generates spectrograms of the translated content in the target language. It also makes use of two other separately trained components: a neural vocoder that converts output spectrograms to time-domain waveforms, and, optionally, a speaker encoder that can be used to maintain the character of the source speaker’s voice in the synthesized translated speech. During training, the sequence-to-sequence model uses a multitask objective to predict source and target transcripts at the same time as generating target spectrograms. However, no transcripts or other intermediate text representations are used during inference.

Model architecture of Translatotron.

Performance
We validated Translatotron’s translation quality by measuring the BLEU score, computed with text transcribed by a speech recognition system. Though our results lag behind a conventional cascade system, we have demonstrated the feasibility of the end-to-end direct speech-to-speech translation.

Compared in the audio clips below are the direct speech-to-speech translation output from Translatotron to that of the baseline cascade method. In this case, both systems provide a suitable translation and speak naturally using the same canonical voice.

Input (Spanish)
Reference translation (English)
Baseline cascade translation
Translatotron translation

You can listen to more audio samples here.

Preserving Vocal Characteristics
By incorporating a speaker encoder network, Translatotron is also able to retain the original speaker’s vocal characteristics in the translated speech, which makes the translated speech sound more natural and less jarring. This feature leverages previous Google research on speaker verification and speaker adaptation for TTS. The speaker encoder is pretrained on the speaker verification task, learning to encode speaker characteristics from a short example utterance. Conditioning the spectrogram decoder on this encoding makes it possible to synthesize speech with similar speaker characteristics, even though the content is in a different language.

The audio clips below demonstrate the performance of Translatotron when transferring the original speaker’s voice to the translated speech. In this example, Translatotron gives more accurate translation than the baseline cascade model, while being able to retain the original speaker’s vocal characteristics. The Translatotron output that retains the original speaker’s voice is trained with less data than the one using the canonical voice, so that they yield slightly different translations.

Input (Spanish)
Reference translation (English)
Baseline cascade translation
Translatotron translation (canonical voice)
Translatotron translation (original speaker’s voice)

More audio samples are available here.

Conclusion
To the best of our knowledge, Translatotron is the first end-to-end model that can directly translate speech from one language into speech in another language. It is also able to retain the source speaker’s voice in the translated speech. We hope that this work can serve as a starting point for future research on end-to-end speech-to-speech translation systems.

Acknowledgments
This research was a joint work between the Google Brain, Google Translate, and Google Speech teams. Contributors include Ye Jia, Ron J. Weiss, Fadi Biadsy, Wolfgang Macherey, Melvin Johnson, Zhifeng Chen, Mengmeng Niu, Quan Wang, Jason Pelecanos, Ignacio Lopez Moreno, Tom Walters, Heiga Zen, Patrick Nguyen, Yu Zhang, Jonathan Shen, Orhan Firat, and Yonghui Wu. We also thank Jorge Pereira and Stella Laurenzo for verifying the quality of the translation from Translatotron.

[D] VAE: why we do not sample again after decoding and before reconstruction loss?

In many of the VAE schematics and in the original paper, a sampling step is present after decoding and before the reconstruction loss as shown in the image below. The image comes from Stanford CS321n.

![VAE scheme]1

In many of the code implementations though, this step is not present. For example in the Keras implementation available here: https://keras.io/examples/variational_autoencoder/

In the latent space z they sample with the Lambda layer, but at the end of the decoder there is just a Dense layer with a sigmoid activation.

Is the sigmoid doing something I don’t understand mathematically? Is the VAE math still valid without this sampling step?

It is not only in code implementations, in some other schematics and textual material it seems to be ignored (see next image).

![Second VAE scheme with no sampling]2

Anyway I also created a question on Cross-Validated: Link to the question. If you also want to answer there and earn some points go and do it!

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

[D] Training NNs with FP16 in Tensorflow

Is there anybody with experience using FP16 in Tensorflow/Keras? Regarding some blogs it is just available using a self-built version of Tensorflow as FP16 requires CUDA 10 [1]. Graphic card benchmark tests show significant improvements [2]. Would you already “rely” on this FP16 possibility? Do we know that it is always better/faster? I hope Tensorflow supports CUDA 10 soon, so no own-built version needs to be used.

What do you think about it?

Sources:

[1]: https://medium.com/@noel_kennedy/how-to-use-half-precision-float16-when-training-on-rtx-cards-with-tensorflow-keras-d4033d59f9e4

[2]: https://lambdalabs.com/blog/2080-ti-deep-learning-benchmarks/

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