
French: 
D'accord, ça va être une vidéo vraiment rapide,
mais je voulais juste partager un petite
projet sur lequel j'ai travaillé au collège.
Pour mon cours d'Apprentissage Artificiel, vers le
fin du semestre, disons simplement les
notes dans la classe des devoirs et
les examens - pas seulement mes notes, je vous en prie -uh,
ils n'étaient pas trop jolis.
Donc, dans cet esprit, notre professeur se sentait
particulièrement généreux avec un crédit supplémentaire et
il nous a confié cette dissertation.
Il a simplement dis, hey, il y a un
article de blog par Andrej Karpathy qui est super
renommé- il y a bonne chances que vous l'avez vu ou un autre projet qui l'utilise
vous même, mais au fond, il parle
sur un réseau neuronal récurrent qui prend
comme données un sample de texte et apprend à partir de les sample de données puis génère un perpétuel
séquence de texte avec une structure similaire a la syntaxe de l'original
Donc, par exemple, si vous entrer des
œuvres de Shakespeare, cela vous générera
une tonne de texte qui ressemble presque a l'anglaise dans le style de Shakespeare.

English: 
Alright, this is gonna be a pretty quick video,
but I just wanted to share a short little
project that I worked on in college.
For my Machine Learning class, towards the
end of the semester, let’s just say the
grades in the class from the homeworks and
the exams—not just my grades, mind you—uh,
they weren’t looking too pretty.
So with that in mind, our professor was feeling
particularly generous with extra credit and
he gave us this assignment.
He’s basically like, hey, there’s this
blog post by Andrej Karpathy that’s super
famous—there’s a good chance you’ve
seen it or some other project that uses it
yourself already—but basically he’s talking
about a Recurrent Neural Network that takes
as input a sample of text and it’ll learn
from that sample input and generate an endless
sequence of text that’s all similar in structure
and syntax to the original.
So, for example, if you feed it the complete
works of Shakespeare, it’ll generate you
a bunch of text that kind-of, sort-of looks
like English in the style of Shakespeare.

English: 
And that was basically our assignment—feed
this neural network a corpus of text from
Project Gutenberg, see what it spits out,
and do a short write-up about our observations.
But what I found more interesting was the
network’s ability to understand not just
the syntax of English, but pretty accurately
recreate the syntax of code—programming
and markup languages.
So, here’s an example from the blog post.
He fed the neural network a bunch of LaTeX
markup and it was able to spit out a giant
stream of actually parseable LaTeX.
And here he fed it a bunch of Linux source
code files and it started outputting syntactically
valid C. Obviously, in this case the code
didn’t compile, but given a language whose
syntax is flexible and simple enough, theoretically
it could make something actually usable.
So I started thinking about what language
would be a good fit for this network when
I remembered one of my favorite software toys—DECTalk.

French: 
Et c'était essentiellement notre projet - entrer dans
ce réseau neuronal un corpus de texte trouver dans le
Projet Gutenberg, puis voyez ce qu'il retour comme résultats
et faire un bref compte rendu de nos observations.
Mais ce que j'ai trouvé le plus intéressant, c'est
la capacité du réseau à comprendre non seulement
la syntaxe de l'anglais, mais assez précisément
recréer la syntaxe du code — programmation
et les langages de balisage.
Alors, voici un exemple de l'article de blog.
Il a alimenté le réseau neuronal un tas de LaTeX
balisage et il a pu cracher un géant
flux de LaTeX réellement analysable.
Et ici, il l'a alimenté un tas de sources Linux
les fichiers de code et il a commencé à produire syntaxiquement
valide C. Évidemment, dans ce cas, le code
n'a pas compilé, mais compte tenu d'une langue dont
la syntaxe est suffisamment flexible et simple, théoriquement
cela pourrait rendre quelque chose de réellement utilisable.
J'ai donc commencé à penser à quelle langue
serait un bon choix pour ce réseau lorsque
Je me suis souvenu d'un de mes jouets logiciels préférés: DECTalk.

English: 
DECTalk is a speech synthesizer from the 80’s
that used to be used, for example, by automated
telephone systems or by the disabled to help
them communicate.
You might know it best as the voice of the
National Weather Service
or the voice of Stephen Hawking,
although
actually now that I think about it, you probably
know it best as the default speech
synthesizer in Unreal Engine.
Now, DECTalk used to be a piece of hardware
that you connected to a computer with a serial

French: 
DECTalk est un synthétiseur vocal des années 80
qui était utilisé, par exemple, par des
systèmes téléphoniques ou par les personnes handicapées pour aider
les communiquer.
Vous le savez peut-être mieux en tant que voix du
Service météorologique national
ou la voix de Stephen Hawking,
bien que
en fait maintenant que j'y pense, vous avez probablement
mieux le connaître comme discours par défaut
synthétiseur dans Unreal Engine.
Maintenant, DECTalk était un matériel
que vous avez connecté à un ordinateur avec une série

French: 
câble, mais ces jours-ci, vous pouvez utiliser un logiciel de recherche
implémentations qui fonctionnent assez bien pour jouer
avec.
DECTalk a été conçu pour être très polyvalent,
et à cette fin, il a un puissant mais simple
syntaxe pour contrôler diverses propriétés
de la voix synthétisée.
Il est en fait possible de spécifier des
phonèmes, hauteurs et durées pour faire DECTalk
chanter.
Voici un petit échantillon de chant DECTalk,
et le code qui le rend possible.
Maintenant, je n'ai jamais eu la patience de réellement
asseoir et transcrire un phonème de la chanson par
phonème pour DECTalk chanter, mais ne le ferait pas
ce serait génial si nous pouvions simplement obtenir le neurone
réseau pour faire le travail pour nous?

English: 
cable, but these days you can use find software
implementations that work well enough to play
around with.
DECTalk was designed to be very versatile,
and to that end it has a powerful but simple
syntax for controlling various properties
of the synthesized voice.
It’s actually possible to specify specific
phonemes, pitches, and durations to make DECTalk
sing.
Here’s a quick sample of DECTalk singing,
and the code that makes it happen.
Now, I’ve never had the patience to actually
sit down and transcribe a song phoneme by
phoneme for DECTalk to sing, but wouldn’t
it be great if we could just get the neural
network to do the work for us?

French: 
J'ai donc téléchargé un corpus de chansons DECTalk
à partir d'Internet, les a concaténés ensemble
dans un grand fichier long, et juste une sorte de
branché cela dans le réseau neuronal avec
tous les paramètres par défaut pour voir ce qui
se produire.
Après 1000 étapes de formation, ce sont les
premiers résultats:
Eh bien, il a clairement une idée de ce que
une chanson DECTalk devrait ressembler, et même
commence à chanter, mais le réseau neuronal vient
fait trop d'erreurs de syntaxe pour suivre.
J'ai donc décidé de le laisser s'entraîner un moment
plus longtemps, et après 20 000 étapes, ce fut le résultat

English: 
So, I downloaded a corpus of DECTalk songs
from the internet, concatenated them together
into one big, long file, and just sort of
plugged that into the neural network with
all the default settings to see what would
happen.
After 1000 training steps, these were the
initial results:
Well, it’s clearly got some notion of what
a DECTalk song should look like, and it even
starts to sing, but the neural network just
makes too many syntax errors to keep up.
So, I decided to let it train for a while
longer, and after 20,000 steps, this was the result

French: 
Voilà qui est intéressant.
le
le réseau ne fait plus d'erreurs de syntaxe majeures,
et ça commence à faire des sons de ce genre
du son comme des mots.
En fait, si vous écoutez attentivement, vous pouvez entendre
il dit des mots comme «gloire» et «Jésus».
Notre ordinateur a-t-il inexplicablement acquis une compréhension
de la religion?
Eh bien, si vous regardez la source de l'échantillon
des chansons que j'ai trouvées en ligne, vous verrez
46% sont classés dans la musique «gospel»,
avec 5% de musique de Noël,
il est donc naturel que le réseau
apprendre à former des mots comme ceux-ci.
Ce n'est pas nécessairement le type de musique que je
aurait choisi, mais c'est ce que j'avais sur

English: 
Now that’s interesting.
The
network no longer makes any major syntax errors,
and it’s starting to make sounds that kind
of sound like words.
In fact, if you listen closely, you can hear
it say words like “glory” and “Jesus.”
Has our computer inexplicably gained an understanding
of religion?
Well, if you look at the source of the sample
songs I found online, you’ll see that about
46% of it is classified as “gospel” music,
with another 5% being “Christmas” music,
so it’s only natural that the network would
learn how to form words like these.
It’s not necessarily the type of music I
would have chosen, but it’s what I had on

French: 
la main et cela conduit certainement à une intéressante
résultats.
Ensuite, voici le résultat après 43 000
étapes de formation:
À ce stade, vous pouvez même commencer à appeler
les résultats musicaux.
Cependant, ils ne sont toujours pas parfaits, et
le réseau produit parfois de la syntaxe
les erreurs qui finissent par visser l'ensemble
reste de la sortie.

English: 
hand and it certainly leads to some interesting
results.
Next up, here’s the result after 43,000
training steps:
At this point, you could even start to call
the results musical.
However, they’re still not perfect, and
the network is occasionally producing syntax
errors that just end up screwing up the entire
rest of the output.

French: 
J'ai donc décidé de modifier les paramètres de la
réseau, en l'agrandissant et, depuis que j'étais
manque de temps pour la mission, exécution
sur une grande instance EC2 accélérée par GPU.
Voici les résultats du nouveau réseau après
10000 itérations:

English: 
So, I decided to tweak the settings of the
network, making it larger and, since I was
running out of time for the assignment, running
it on a large, GPU accelerated EC2 instance.
Here’s the results of the new network after
10,000 iterations:

English: 
The
output definitely has a musical quality to
it now.
It’s also started picking up on larger words
like “Beelzebub” (no surprise where it
learned that word from).
What’s interesting, though, is that while
you might just expect the network to overfit
and copy sequences of characters verbatim
from the input files, it’s actually singing
these words at different pitches.
It seems to understand at some level that
there’s a separate relationship between
consecutive phonemes and consecutive pitches,
almost as if it was actually singing.
And remember, I never taught it about those
relationships at all.
All it was given was strings of text, and
it had to figure out all these relationships
on its own.
Pretty neat, huh?
Lastly, here’s one more sample output with
a few different settings tweaked:

French: 
le
la sortie a certainement une qualité musicale
maintenant.
Il a également commencé à reprendre des mots plus gros
comme "Beelzebub" (sans surprise où il
appris ce mot de).
Ce qui est intéressant, cependant, c'est que
vous pourriez vous attendre à ce que le réseau soit trop
et copier des séquences de caractères textuellement
à partir des fichiers d'entrée, c'est en fait chanter
ces mots à différents emplacements.
Il semble comprendre à un certain niveau que
il y a une relation distincte entre
phonèmes consécutifs et hauteurs consécutives,
presque comme s'il chantait.
Et rappelez-vous, je ne l'ai jamais enseigné
relations du tout.
On ne lui a donné que des chaînes de texte, et
il devait comprendre toutes ces relations
seul.
Assez bien, hein?
Enfin, voici un exemple de sortie supplémentaire avec
quelques réglages différents peaufinés:

English: 
Anyway, that’s all I’ve got for now.
There are a bunch of links in the description,
including the unedited output from the neural

French: 
Quoi qu'il en soit, c'est tout ce que j'ai pour l'instant.
Il y a un tas de liens dans la description,
y compris la sortie non éditée du neuronal

English: 
network if you want to hear these songs in
full, as well as links to the original blog
post which you should definitely read if you
haven’t already and the ready-to-use Docker
image we used for the class if you want to
play around with it yourself.
Obviously, my little project was very much
a surface level exploration, so I encourage
anyone who’s interested to play around with
this stuff themselves.
It’s a ton of fun.
And of course, I love to see the numbers go
up, so if you enjoyed this video, consider
subscribing and following me on Twitter.
I’ve got a handful of other videos that
I think are pretty okay, you can see links
to those on your screen now.
See you next time.

French: 
réseau si vous voulez entendre ces chansons
complet, ainsi que des liens vers le blog d'origine
poste que vous devez absolument lire si vous
pas déjà et le Docker prêt à l'emploi
l'image que nous avons utilisée pour la classe si vous voulez
jouer avec lui-même.
De toute évidence, mon petit projet était très
une exploration au niveau de la surface, donc j'encourage
toute personne intéressée à jouer avec
ces trucs eux-mêmes.
C'est très amusant.
Et bien sûr, j'adore voir les chiffres disparaître
, donc si vous avez aimé cette vidéo, pensez à
m'abonner et me suivre sur Twitter.
J'ai une poignée d'autres vidéos qui
Je pense que ça va, vous pouvez voir les liens
à ceux sur votre écran maintenant.
À la prochaine.
