Ao trabalhar na análise exploratória de dados e no desenvolvimento de algoritmos, percebo que a maior parte do meu tempo é gasta em um ciclo de visualização, gravação de código, execução em pequenos conjuntos de dados e repetição. Os dados que eu tenho tendem a ser do tipo visão por computador / fusão de sensores, e os algoritmos têm muita visão (por exemplo, detecção e rastreamento de objetos etc.), e os algoritmos disponíveis no mercado não funcionam nesse contexto. Acho que são necessárias muitas iterações (por exemplo, para discar o tipo de algoritmo ou ajustar os parâmetros no algoritmo, ou para obter uma visualização correta) e também os tempos de execução, mesmo em um pequeno conjunto de dados, são bastante longos, portanto todos juntos leva um tempo.
Como o próprio desenvolvimento do algoritmo pode ser acelerado e tornado mais escalável?
Alguns desafios específicos:
Como o número de iterações pode ser reduzido? (Especialmente quando que tipo de algoritmo, sem falar nas especificidades dele, não parece ser facilmente previsível sem tentar versões diferentes e examinar seu comportamento)
Como executar em conjuntos de dados maiores durante o desenvolvimento? (Frequentemente, passar de um conjunto de dados pequeno para um grande é quando ocorre um monte de novos comportamentos e novos problemas)
Como os parâmetros do algoritmo podem ser ajustados mais rapidamente?
Como aplicar ferramentas do tipo aprendizado de máquina ao próprio desenvolvimento de algoritmos? (Por exemplo, em vez de escrever o algoritmo manualmente, escreva alguns blocos de construção simples e combine-os da maneira que aprendeu com o problema, etc.)