portrait

Joseph
CHATAIGNON


  22 ans
  Taipei, Taïwan
  français

A propos de moi

A propos de moi

J'ai découvert l'informatique au lycée (en programmant des jeux sur ma calculatrice), et je me suis immédiatement passionné pour la discipline. Par la suite je me suis donc engagé dans des études d'ingénieur en informatique. Au fur et à mesure de mon parcours, je me suis tourné de plus en plus vers la recherche, et je veux maintenant travailler.

Je m'intéresse en particulier à l'apprentissage automatique et à la science des données.

Mes autres intérêts comprennent les langues et la géographie (j'ai réalisé quelques vidéos sur le sujet). En dehors de cela j'aime faire de la randonnée et voyager.

×

Programmes

Cette page présente des programmes que j'ai écrits, seul ou en groupe, et dans différents contextes. J'ai sélectionné ceux qui peuvent le plus facilement être utilisés ou repris.

Expériences sur l'apprentissage fédéré

Python avec PyTorch
Les réseaux de neurones fédérés ont vu se développer des techniques permettant à plusieurs acteurs d'entraîner des réseaux de neurones en commun sans partager leurs données avec les autres acteurs. Dans ce projet j'ai voulu mener quelques expériences sur ces nouvelles techniques. J'ai regroupé et analysé les résultats dans un rapport Datastudio.

Visualisation de données SMS

Javascript - Chart.js
Ce projet permet de visualiser des statistiques d'utilisation de SMS personnels à partir d'une sauvegarde. Il se base sur la bibliothèque Chart.js pour afficher les graphiques.

Convertisseur mètres - format papier

Programme Javascript
Cet outil permet de convertir des longueurs métriques en la dimension de papier série A la plus proche.
L'inspiration m'est venue de cette vidéo.

Générateur de mots

Programme Java
Ce programme a été réalisé en quelques heures avec un ami, pour le plaisir.
Il sert à générer des mots qui "ressemblent" à ceux d'une langue donnée, grâce à des données statistiques basiques récoltées sur le language en question. Il peut facilement être adapté pour créer des mots dans une langue fictive.

Visualisation de la fonction de coût d'un réseau de neurones

Projet codé en Python avec Tensorflow
Il s'agit d'un projet effectué en groupe durant mon semestre à l'université Chiao Tung. Sur la base d'une méthode exposée dans ce papier, on peut visualiser en 3D le «paysage» formé par la fonction de coût d'un réseau de neurones.
Nous avons utilisé cela pour visualiser l'impact de certaines architectures ou certaines pratiques du développement de réseaux de neurones (régularisation, profondeur du réseau, etc.) sur la forme de la fonction de coût.

Casse-briques à commande optique

Jeu en C++ utilisant OpenCV
Une variante du célèbre jeu où l'on doit envoyer une balle pour casser des briques. Ici, le palet servant à envoyer la balle est commandé par des gestes effectué devant la caméra.
Il s'agit d'un projet effectué en binôme à TSE avec pour but l'utilisation de la bibliothèque OpenCV.

Space invaders

Jeu web
Ce jeu est adapté d'un petit projet effectué en 2e année d'école à TSE.
Le but est de détruire des vaisseaux spatiaux de plus en plus rapides et résistants arrivant vers vous depuis le haut de l'écran. A chaque fois qu'un vaisseau atteint le bas de l'écran, vous perdez un de vos 10 points de vie.
×

Recherche

Comparison-limited Vector Quantization

Authors: Joseph Chataignon, Stefano Rini

A variation of the classic vector quantization problem is considered, in which the analog-to-digital (A2D) conversion is not constrained by the cardinality of the output but rather by the number of comparators available for quantization. More specifically, we consider the scenario in which a vector quantizer of dimension d is comprised of k comparators, each receiving a linear combination of the inputs and producing zero/one when this signal is above/below a threshold.
Given a distribution of the inputs and a distortion criterion, the value of the linear combinations and thresholds are to be configured so as to minimize the distortion between the quantizer input and its reconstruction. This vector quantizer architecture naturally arises in many A2D conversion scenarios in which the quantizer's cost and energy consumption are severely restricted.
For this novel vector quantizer architecture, we propose an algorithm to determine the optimal configuration and provide the first performance evaluation for the case of uniform and Gaussian sources.
Related Python programs: Max-Lloyd and Linde-Buzo-Gray algorithms, code written to find this article's results

IEEEXplore

[en]

A Novel Algorithm for Comparison-limited Vector Quantization

Authors: Joseph Chataignon, Stefano Rini

In [1] we have introduced the comparison-limited vector quantization (CLVQ) problem as a variation of the classic vector quantization problem in which the analog-to-digital (A2D) conversion is not constrained by the cardinality of the output but rather by the number of comparators available for quantization. More precisely, we consider the problem of producing a bit-restricted representation of a random vector of dimension d so as to minimize a given distortion between the quantizer input and output. This bit-restricted representation is obtained through k comparators, each receiving a linear combination of the inputs and producing zero/one when this signal is above/below a threshold. This vector quantizer architecture naturally arises in many analog-to-digital conversion scenarios in which the A2D performance is not limited by the number of bits used to represent the quantizer output, but rather on the limited availability of comparators in the quantizer. In this paper, we focus on the design of quantizer for the CLVQ problem through a polynomial-time algorithm. The quantizer design problem has a super-exponential complexity and thus determining the optimal solution, even for moderate values of d, is computationally very challenging. For this reason, we develop a genetic algorithm for the optimization of the quantizer structure. This algorithm is aimed at producing a large number of quantizer designs to be used for initialization. For each candidate, the quantizer configuration is partially optimized using particle filters. After this optimization, quantizer configurations are again selected for fitness and recombined. Simulations are provided to numerically validate the proposed algorithm and compare the CLVQ performance to the classic Linde-Buzo-Gray algorithm.

×

Mon parcours

  • Université de Berne — Berne, Suisse

    Bern Universität — Bern, Schweiz
    2023-...

    À cause de mon intérêt pour la recherche, me voilà à présent doctorant à l'Université de Berne, dans le département des Humanités Numériques. Mon travail de doctorat consiste à étudier et expérimenter l'utilisation de grands modèles de langage dans l'enseignement universitaire.

  • Appier — Taipei, Taïwan

    沛星互動科技 — 臺北 , 台灣
    2020-2023

    Après avoir étudié à Taïwan, j'y suis retourné pour commencer mon premier emploi à temps plein. J'ai travaillé comme ingénieur logiciel et data scientist chez Appier, une entreprise taïwanaise qui utilise le Machine Learning pour assister ses clients dans leurs campagnes publicitaires.
    J'ai d'abord rejoint l'équipe de support technique en tant que spécialiste d'extraction de données. Ensuite j'ai aussi travaillé avec l'équipe de développement logiciel, puis dans l'équipe de Data Science, avec pour but d'analyser des profils de clients et de proposer des améliorations à leurs stratégies de marketing.

    Appier est une start-up taïwanaise créée en 2012, devenue en 2020 la première du pays à dépasser 1 milliard de dollars en capitalisation boursière. Elle compte à présent 500 employés dans 17 villes d'Asie.

  • Université Nationale Chiao Tung — Hsinchu, Taïwan

    國立交通大學 — 新竹 , 台灣
    2018-2019

    Désirant depuis longtemps partir étudier à l'étranger, j'ai pu le faire pour une durée d'un an, en commençant par un semestre d'échange académique à l'Université Chiao Tung. J'ai ensuite enchaîné avec un stage de recherche de 6 mois dans le laboratoire de Théorie de l'Information de cette même université, qui a débouché sur la publication de deux papiers à des conférences.

    L'Université Nationale Chiao Tung est une université publique taïwanaise à la pointe de la recherche universitaire, située à Hsinchu, Taïwan. Fondée en 1896 à Shanghai par un édit impérial de l'Empereur Guangxu, elle a été rétablie à Hsinchu par d'anciens élèves et professeurs en 1958. Elle est la troisième université du pays, et se situe dans le top 50 des meilleures universités mondiales pour l'ingénierie et l'informatique d'après le classement de Shanghai.

  • Université Jean Monnet — Saint-Étienne, France

    Université Jean Monnet — Saint-Étienne, France
    2018

    Lors de l'été 2018, j'ai effectué un stage de 2 mois au pôle musicologie du CIEREC. Le CIEREC est un laboratoire de l'Université Jean Monnet consacré à l'étude de diverses formes d'art.
    Mon rôle lors de ce stage était de créer une interface facilitant l'accès et l'analyse d'extraits musicaux, dans le cadre d'un projet visant à définir une méthode pour déterminer une distance entre deux morceaux de musique.

  • Télécom Saint-Étienne — Saint-Étienne, France

    Télécom Saint-Étienne — Saint-Étienne, France
    2016-2019

    Ayant passé les concours à l'issue de ma prépa, j'ai intégré l'école d'ingénieurs Télécom Saint-Étienne. C'est à cette occasion que j'ai pu accélérer mon apprentissage de l'informatique sous ses divers aspects. J'y ai aussi eu, par le biais d'un stage et de conversations avec des professeurs, un premier contact avec la recherche universitaire.

    Télécom Saint-Étienne est une école d'ingénieurs située dans la ville de Saint-Étienne, en France. Créée en 1991 par l'Université Jean Monnet, elle est agréée par la Commission des Titres d'Ingénieurs et est une école affiliée de l'Institut Mines-Télécom. L'environnement qu'elle représente pour ses étudiants les met en contact aussi bien avec le monde de l'entreprenariat qu'avec celui de la recherche ou du design.

  • Inspire — Saint-Étienne, France

    2017-2018

    La junior-entreprise de Télécom Saint-Étienne, Inspire, propose aux étudiants de travailler comme consultants pour des clients extérieurs. Pendant un an, j'ai donc travaillé à temps partiel sur un projet de plate-forme web de recrutement.

  • Ordissimo — Montrouge, France

    2017

    Lors de ma première année à TSE j'ai effectué un stage d'un mois à Ordissimo en programmation web. Mes tâches consistaient à participer à l'amélioration de la plate-forme destinée aux clients de l'entreprise, ainsi qu'au développement d'une interface de back-office.

  • Institution Sainte-Marie — Antony, France

    Institution Sainte-Marie — Antony, France
    2014-2016

    Le bac fraîchement obtenu, voulant me diriger vers les sciences, j'ai intégré les classes préparatoires de Sainte-Marie d'Antony. Ayant suivi une filière MPSI-MP (Maths-Physique), j'y ai appris intensivement les mathématiques, et dans une moindre mesure la physique et l'informatique (dans laquelle j'avais déjà acquis de larges connaissances en autodidacte).

    L'Institution Sainte-Marie d'Antony, créée en 1897 par des marianistes, est un établissement privé d'enseignement situé à Antony, en banlieue parisienne. Malgré son petit effectif, sa filière MP est classée 37ème parmi les CPGE de France.

    Les classes préparatoires aux grandes écoles (CPGE) sont des filières d'enseignement supérieur. Hébergées généralement dans des lycées, elles ont pour but de préparer les étudiants aux concours des grandes écoles.

    Considérées comme très exigentes et sélectives, la compétitivité des concours auxquels les CPGE emmènent leur étudiants les pousse à exiger de ceux-ci une charge de travail parmi les plus hautes d'Europe.

×

Compétences

Compétences

Mes domaines d'interêt

Informatique Machine Learning Génie Logiciel Mathématiques Traitement d'image Développement Web

Outils et logiciels maîtrisés

Langages de programmation
Python, unix shell, Java, C++, Matlab/Octave, Javascript, PHP
Bases de données
MySQL, mongoDB
Services Cloud
Amazon Web Services (AWS), Google Cloud Platform (GCP)
Bibliothèques
PyTorch, Tensorflow/Keras, Numpy/pandas/scipy, OpenCV
Génie Logiciel
git, UML, spreadsheets, Jenkins, Google App Scripts
Autres
Linux, montage vidéo, graphisme

Langues

  • Français
  • C2, langue maternelle
  • Anglais
  • C2, courant
  • IELTS band 8.5, C2 certifié
  • Italien
  • C1, courant
  • Espagnol
  • B2, intermédiaire
  • Chinois (traditionnel)
  • A2, basique
  • Chinois (simplifié)
  • A2, basique
  • Japonais
  • A1, débutant
×
Retrouvez-moi sur mon blog.