Erläutern von Implementierungsdetails eines Papiers und Bereitstellen einer vollständigen rechnerischen Analyse

Kürzlich habe ich eine Pipeline implementiert, die aus einer Veröffentlichung stammt. Es gibt drei Hauptschritte, von denen zwei offline sind und der dritte in Echtzeit. Der Echtzeitteil war besonders schwierig zu implementieren, hauptsächlich wegen fehlender Details. Genauer gesagt bestand das Problem darin, dass die Autoren eine Funktion bereitgestellt hatten und sagten: "Wir minimieren diese Funktion". Das Problem dabei ist, dass mir nicht erklärt wurde, wie sie das Problem tatsächlich gelöst haben, und ich musste zunächst alle mathematischen Details selbst ausarbeiten. Ich habe eine detaillierte Analyse durchgeführt, die in der Originalarbeit nicht enthalten war, z. B. die Vorhersage von Lösungen in einigen Fällen und die Rechenkomplexität. Da dieser Algorithmus in Echtzeit war, kann diese Analyse für jeden nützlich sein, der sie implementieren möchte.

Die Frage ist, ob ein Papier, das Ihnen sagt: „Wir haben unser Problem damit gelöst und wir haben diese Zahlen erhalten“, es wert sein kann, alle Analysen zu veröffentlichen, die diese Zahlen theoretisch rechtfertigen können.

Meiner Meinung nach könnte dies auch zu Validierungszwecken für diejenigen nützlich sein, die es implementieren möchten.

Außerdem wäre es schön, ein Beispiel dafür zu haben, wenn es passiert.

Das Originalpapier zitiert ein Patent oder eine Einschränkung?
Nicht wirklich, die Sache ist die, dass Papier erklärt, was sie für eine Implementierung verwendet haben. Sie erklärten, welches Problem sie zu lösen versuchten (mit einer Formel). Aber mein Punkt ist, dass viele technische Details fehlen. Es ist im Wesentlichen eines dieser Probleme, bei denen sie Ihnen einen mathematischen Ausdruck von etwas geben (was in meinem Fall ein Minimierungsproblem ist) und später sagen, welche Hardware sie verwendet haben, um die Lösung zu finden, aber sie erklären nicht wirklich, wie sie es eingerichtet haben viele Dinge, um auf einem Computer ausgeführt zu werden. Es fehlen diese Bits, die mir die Umsetzung erschwert haben.
Am Ende liefern sie wie üblich experimentelle Ergebnisse. Aber mein Punkt ist eher "wenn sie eine sorgfältigere Analyse durchgeführt hätten, die möglicherweise nützlich gewesen wäre". Wie "theoretisch kann man mit dieser Implementierung sogar theoretisch mehr erreichen".
Ich denke , Sie könnten das (wenn es natürlich von Ihrem Interesse ist) als Implementierung für die in "Original Paper" vorgestellte Lösung veröffentlichen. Oder Sie können es jederzeit auch auf GitHub hochladen. Es ist jedoch nicht möglich zu sagen, dass Ihre Implementierung genau dieselbe ist, wenn sie ihren Code nicht offenlegen.
Es liegt in meinem Interesse, gibt es eine Möglichkeit, eine Bestätigung zu erhalten?
Sie könnten versuchen, die Autoren zu erreichen, da sie ihre Forschungsergebnisse veröffentlicht haben, ist es nicht falsch oder unethisch, eine Lösung zu implementieren. Ich sehe es nicht als eine Frage der Genehmigung zur Veröffentlichung an, es ist nur eine Möglichkeit, mit ihnen zusammenzuarbeiten.

Antworten (1)

Dies ist heutzutage ein Problem vieler Forschungen: Reproduzierbarkeit. Aus meiner Erfahrung ist die Veröffentlichung eines Implementierungsansatzes in einem Papier, in dem kein Ansatz angegeben wurde, ein gültiger akademischer Beitrag, da es verschiedene Ansätze mit jeweils eigenen Vor- und Nachteilen geben kann. Wenn Sie Ihre Arbeit erweitern können, um mehrere vernünftige potenzielle Ansätze und deren Ergebnisse sowie potenzielle Fallstricke, die auftreten könnten, einzubeziehen (Sie sind beides wahrscheinlich bereits mit Ihrer Arbeit durchgegangen), wäre dies ein bedeutender, lohnender Beitrag.

Die nächste Frage ist, ob die Zeitschrift, bei der Sie sich einreichen, dies so sieht, und das kann ein Erfolg oder Misserfolg sein. Der einzige Weg, es zu wissen, ist, es zu versuchen. Versuchen Sie, Ihre Arbeit als „Ansätze zu X“ zu gestalten (wobei X das Teilproblem ist, das Sie angegangen sind), anstatt sie zu stark mit der Originalarbeit zu verknüpfen (wobei X z. B. der Name der Originalarbeit ist). Wenn alles andere fehlschlägt, Sie können es immer mit einer Konferenz oder einer offenen Veröffentlichung versuchen, obwohl der "soziale Kredit" dafür viel geringer sein wird.

Ich unterstütze auch die Idee, Ihren Code auf Github zu veröffentlichen. Je mehr wir teilen, desto besser geht es uns allen. Dieser Ansatz des offenen Teilens hat zu dem bedeutenden Veröffentlichungsboom des maschinellen Lernens und dem schnellen Tempo der Verbesserungen beigetragen, die wir sehen.

Können Sie ein Beispiel geben, wo dies geschieht? Wie Papier A mit einer schlechten Implementierungsbeschreibung und Papier B, das es tatsächlich implementiert?