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?
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.
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.
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.
Posted by Ye Jia and Ron Weiss, Software Engineers, Google AI
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.
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.
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.
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.
Statistics, Machine Learning, Deep Learning & AI. Expertise in machine learning theory and predictive modelling lifecycle…. From Aviva – Wed, 15 May 2019 17:54:05 GMT – View all Markham, ON jobs
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.