Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 13 décembre 2017 (11h--12h), Amphi 4 de l'EPITA.
Vous trouverez sur le site du séminaire [1] les prochaines séances,
les résumés, captations vidéos et planches des exposés précédents [2],
le détail de cette séance [3] ainsi que le plan d'accès [4].
[1] http://seminaire.lrde.epita.fr
[2] http://seminaire.lrde.epita.fr/Archives
[3] http://seminaire.lrde.epita.fr/2017-12-13
[4] http://www.lrde.epita.fr/wiki/Contact
Au programme du Mercredi 13 décembre 2017 :
* 11h--12h: Vers l'apprentissage d'un sens commun visuel
-- Camille Couprie, Facebook AI research
https://perso.esiee.fr/~coupriec/
Les réseaux de neurones convolutifs connaissent depuis quelques
années
un franc succès dans de nombreuses applications de reconnaissance
visuelle. Nous reviendrons sur les premiers travaux en la matière en
segmentation sémantique (étiquetage de chaque pixel des images par
une
catégorie sémantique). Nous explorerons ensuite une piste
d'amélioration
visant à réduire la quantité de données labelisées utilisée, à base
d'entraînement de réseaux adversaires.
Dans un second temps, nous nous intéresserons au problème de la
prédiction d'images suivantes dans les vidéos: s'il nous parait
simple
d'anticiper ce qu'il va se passer dans un futur très proche, c'est un
problème difficile à modéliser mathématiquement étant données les
multiples sources d'incertitude. Nous présenterons nos travaux de
prédiction dans le domaine des images naturelles, puis dans l'espace
plus haut niveau des segmentations sémantiques, nous permettant de
prédire plus loin dans le futur.
-- Camille Couprie est chercheuse à Facebook Artificial Intelligence
Research. Elle a obtenu son doctorat en informatique de l'Université
Paris Est en 2011, sous la direction de Hugues Talbot, Laurent Najman
et
Leo Grady, avec une recherche spécialisée dans la formulation et
l'optimisation de problèmes de vision par ordinateur dans les
graphes.
En 2012, elle a travaillé comme postdoc a l'institut Courant de New
York
University avec Yann LeCun. Après un poste IFP new energies,
organisme
de recherche français actif dans les domaines de l'énergie, des
transports et de l'environnement, elle a rejoint Facebook en 2015.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible. N'hésitez pas à nous faire
parvenir vos suggestions d'orateurs.
--
Guillaume TOCHON
Maître de conférences // Assistant Professor
LRDE, EPITA
18, rue Pasteur
94270 Le Kremlin-Bicêtre
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://lists.lrde.epita.fr/listinfo/seminaire
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 29 novembre 2017 (10h--11h), Amphi 4 de l'EPITA.
Vous trouverez sur le site du séminaire [1] les prochaines séances,
les résumés, captations vidéos et planches des exposés précédents [2],
le détail de cette séance [3] ainsi que le plan d'accès [4].
[1] http://seminaire.lrde.epita.fr
[2] http://seminaire.lrde.epita.fr/Archives
[3] http://seminaire.lrde.epita.fr/2017-11-29
[4] http://www.lrde.epita.fr/wiki/Contact
Au programme du Mercredi 29 novembre 2017 :
* 10h--11h: Industrial Formal Verification – Cadence’s JasperGold Formal
Verification Platform
-- Barbara Jobstmann, Cadence Design Systems
Formal verification (aka Symbolic Model Checking) is becoming a
mainstream technology in system on a chip (SoC)/intellectual property
design and verification methodologies. In the past, the usage of
formal
verification was limited to a small range of applications; it was
mainly
used to verify complex protocols or intrinsic logic functionality by
formal verification experts. In recent years, we saw a rapid adoption
of
formal verification technology and many new application areas, such
as
checking of configuration and status register accesses, SoC
connectivity
verification, low power design verification, security applications,
and
many more. In this talk, we give an overview of the JasperGold Formal
Verification Platform. The platform provides a wide range of formal
apps, which ease adoption of formal verification by offering property
generation and other targeted capabilities for specific design and
verification tasks. In addition, JasperGold offers a unique
interactive
debug environment (called Visualize) that allows the user to easily
analyze the verification results. We present JasperGold from a user’s
point of view, showcase selected apps, and discuss features that were
essential for their wide adoption.
-- Barbara Jobstmann is a field application engineer for Cadence
Design
Systems and a lecturer at the École Polytechnique Fédérale de
Lausanne
(EPFL). She joined Cadence in 2014 through the acquisition of Jasper
Design Automation, where she worked since 2012 as an application
engineer. In the past, she was also a CNRS researcher (chargé de
recherche) in Verimag, an academic research laboratory belonging to
the
CNRS and the Communauté Université Grenoble Alpes in France. Her
research focused on constructing correct and reliable computer
systems
using formal verification and synthesis techniques. She received a
Ph.D.
degree in Computer Science from the University of Technology in Graz,
Austria in 2007.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible. N'hésitez pas à nous faire
parvenir vos suggestions d'orateurs.
--
Guillaume TOCHON
Maître de conférences // Assistant Professor
LRDE, EPITA
18, rue Pasteur
94270 Le Kremlin-Bicêtre
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://lists.lrde.epita.fr/listinfo/seminaire
The Vcsn team is happy to announce the long overdue release of Vcsn 2.6.
Most of our work was devoted to providing a better, smoother, user
experience. This includes improvements in the build system, better
performances, extended consistency, and more legible error messages.
Multitape expressions also received a lot of attention.
For more information see the detailed news below.
We warmly thank our users who made valuable feedback (read "bug reports")
including Victor Miller, Dominique Soudière and Harald Schilly. Dominique
and Harald helped integrating Vcsn into CoCalc (formerly SageMathCloud).
People who contributed to this release:
- Akim Demaille
- Clément Démoulins
- Clément Gillard
- Sarasvati Moutoucomarapoulé
Our next stop should be Vcsn 3.0, which will include extensive changes from
Sarasvati.
Release page: https://vcsn.lrde.epita.fr/Vcsn2.6
Tarball: https://www.lrde.epita.fr/dload/vcsn/2.6/vcsn-2.6.tar.bz2
Home page: https://vcsn.lrde.epita.fr
The various packages (Docker, Debian, MacPorts, etc.) will appear
soon.
## New features
### Promotion from single to multitape
It is now possible to mix single-tape expressions with multitape
expressions. This is especially handy when using labels classes (`[abc]`).
For instance:
In [2]: zmin2 = vcsn.context('lat<lan, lan>, zmin')
In [3]: zmin2.expression(r'([ab] + ⟨1⟩(\e|[ab] + [ab]|\e))*')
Out[3]: (a|a+b|b+<1>(\e|(a+b)+(a+b)|\e))*
is a easy means to specify an expression generating an automaton that
computes the edit-distance (between words or languages). Or, with a wide
alphabet:
In [4]: zmin = vcsn.context('lan(a-z), zmin')
In [5]: zmin2 = zmin | zmin
In [6]: zmin2
Out[6]: {abcdefghijklmnopqrstuvwxyz}? x {abcdefghijklmnopqrstuvwxyz}? -> Zmin
In [7]: zmin2.expression(r'([^] + ⟨1⟩(\e|[^] + [^]|\e))*')
In the future the display of expressions will also exploit this approach.
### vcsn compile now links with precompiled contexts
If you write a program using dyn::, then it will benefit from all the
precompiled algorithms.
### vcsn compile now supports --debug
Use this to avoid the removal of intermediate object files. On some
platforms, such as macOS, the object file contains the debug symbols, so
their removal makes the use of a debug harder.
### vcsn compile now uses -rpath
Programs/libraries generated by `vcsn compile` needed to be told where the
Vcsn libraries were installed. In practice, it meant that `vcsn run` was
needed to execute this program, and in some situations it was not even
sufficient.
Now, `vcsn compile my-prog.cc` generates `my-prog` which can be run directly.
### random_expression supports the tuple operator
It is now possible to generate multitape expressions such as `(a|x*)*`.
Before, random_expression was limited to expressions on multitape labels
such as `(a|x)*`.
In [1]: import vcsn
In [2]: c = vcsn.context('lan(abc), q')
In [3]: c2 = c | c
In [4]: for i in range(10):
...: e = c2.random_expression('|, +, ., *=.2, w.=.2, w="min=-2, max=2"', length=10)
...: print('{:u}'.format(e))
...:
a|a+(ε|b)*+⟨1/2⟩ε|ε
(ε+c)a|(⟨2⟩ε+c)
(ε|b+(c|a)*)*
ε|a+a|b
c|b+⟨2⟩ε|(ε+b)
ε|a+((a|ε)(ε|b)(ε|c))*(b|ε)
(a|b+c|ε)(a|b)
ε*|ε
ε+a|a+⟨2⟩(b|ε)
(ε+ε*)|ε
Generating expressions with compose operators is also supported.
In [5]: for i in range(10):
...: e = c2.random_expression('|=.5, +, ., @=2', length=10, identities='none')
...: print('{:u}'.format(e))
...:
((b|ε)ε)(ε(ε|a))
ε(ε|c)+((ε|a)(a|b)+ε|c)
((ε|a)(ε|b))((b|a)(c|c)@b|b)
(b|b@ε+a|b)@(c|ε@b|ε)
(ε+ε|a)@(ε|c@ε|a+b|ε)
(ε|a+ε|c)((ε|b)(c|ε))
(a|ε)((ε+c)|(a+ε))
c|ε@(a|ε)(ε|b@b|ε)
(ε+ε|b)@ε|b+ε|a
b(ε²)|((ε+ε)+a)
### New algorithms
A few algorithms were added:
- context.compose
Composing `{abc} x {xyz}` with `{xyz} x {ABC}` gives, of course,
`{abc} x {ABC}`.
- expansion.normalize, expansion.determinize
These are rather low-level features. The latter is used internally when
derived-term is asked for a deterministic automaton.
- expansion.expression
The "projection" of an expansion as an expression.
- label.compose
For instance `a|b|x @ x|c` -> `a|b|c`.
- polynomial.compose
Additive extension of monomial composition. For instance composing
`a|e|x + a|e|y + a|e|\e` with `x|E|A + y|E|A + \e|E|A` gives
`<3>a|e|E|A`.
- polynomial.shuffle and polynomial.infiltrate
The missing siblings of polynomial.conjunction.
### Doxygen is no longer needed
By default, `make install` generated and installed the C++ API documentation
using Doxygen. It is now disabled by default, pass `--enable-doxygen` to
`configure` to restore it.
## Bug Fixes
### Severe performance regression when reading daut
Version 2.5 introduced a large penalty when reading daut files, especially
large ones.
### Tupling of automata could be wrong on weights
As a consequence, `expression.inductive` was also producing incorrect
automata from multitape expressions.
### Polynomials featuring the zero-label
Under some circumstances it was possible to have polynomials featuring
monomials whose label is the zero of the labelset (e.g., `\z` with
expressions as labels). This is fixed.
### Portability issues
Newest compilers are now properly supported.
## Changes
### Divisions
The division of expressions and automata now compute the product of the
weights, not their quotient.
### Handling of the compose operator
The support of the compose operators in expansions was completely rewritten.
As a result, the derived-term automata are often much smaller, since many
useless states (non coaccessible) are no longer generated.
For instance the derived-term automaton of `(\e|a)* @ (aa|\e)*` has exactly
two states. It used to have three additional useless states.
### Better diagnostics
Many error messages have been improved.
The Daut automaton format now treats `->` as a keyword, so `0->1 a` is now
properly read instead of producing a weird error message because Vcsn
thought your state was named `0->1`.