En travaillant sur l'analyse exploratoire des données et en développant des algorithmes, je trouve que la plupart de mon temps est consacré à un cycle de visualisation, d'écriture de code, d'exécution sur un petit ensemble de données, de répétition. Les données que j'ai ont tendance à être des trucs de type vision par ordinateur / fusion de capteurs, et les algorithmes sont lourds de vision (par exemple, détection et suivi d'objets, etc.), et les algorithmes standard ne fonctionnent pas dans ce contexte. Je trouve que cela prend beaucoup d'itérations (par exemple, pour composer le type d'algorithme ou régler les paramètres dans l'algorithme, ou pour obtenir une bonne visualisation) et aussi les temps d'exécution même sur un petit ensemble de données sont assez longs, donc tous ensemble, cela prend du temps.
Comment accélérer le développement de l'algorithme lui-même et le rendre plus évolutif?
Quelques défis spécifiques:
Comment réduire le nombre d'itérations? (Surtout quand quel type d'algorithme, sans parler des détails de celui-ci, ne semble pas facilement prévisible sans essayer différentes versions et examiner leur comportement)
Comment exécuter sur des ensembles de données plus importants pendant le développement? (Passer souvent d'un petit à un grand ensemble de données, c'est quand on voit un tas de nouveaux comportements et de nouveaux problèmes)
Comment les paramètres d'algorithme peuvent-ils être réglés plus rapidement?
Comment appliquer les outils de type d'apprentissage automatique au développement d'algorithmes lui-même? (Par exemple, au lieu d'écrire l'algorithme à la main, écrivez quelques blocs de construction simples et combinez-les d'une manière tirée du problème, etc.)