Sto scrivendo un software che fa uso di una rete neurale. Ciò che rende la mia rete speciale rispetto agli altri, è il modo in cui li alleno. Non è standard, è qualcosa che non voglio dare ad un'altra compagnia. Quindi ho pensato a come proteggermi dal mancato uso / furto del mio codice di addestramento alla rete neurale. La società che sta acquistando questo software ha assunto circa 12 programmatori C ++, mentre io scrivo esclusivamente in C # e dubito che potrei mantenere alcune parti segrete per loro, poiché è probabile che si verifichi il reverse engineering. Quando il software che faccio diventa un successo.
Quindi all'inizio permetto di inserire una chiave sicura come requisito per creare un'istanza di questa classe e, senza quell'esecuzione, una sorta di costruzione della licenza. Suona bene, ma per quanto riguarda le reti neurali l'addestramento è una parte essenziale; i metodi di allenamento dovrebbero essere in grado di creare reti neurali. Quindi un allenatore avrebbe bisogno anche di un generatore di chiavi ...
Poi stavo pensando a come abbandonare l'opzione per la formazione dei dati.
Quindi l'altra compagnia è in grado di caricare solo il cervello addestrato.
Ma non per addestrare la rete neurale, inserendo tutto il codice relativo alla formazione in un file .cs separato come una classe parziale.
Poi ho semplicemente sviluppato la classe della rete neurale nel suo intero github privato.
Prendi solo lo snippet senza routine di formazione da utilizzare nel mio programma cliente.
Mi chiedo se sarebbe una cosa saggia da fare, o se risultasse in qualche schema anti. ???
un modello anti, per esempio, sta mantenendo il codice della rete neurale.
"Copiare" un file di un progetto github in un altro progetto non è ideale.
Questo non è un duplicato generale di un'altra domanda di protezioni. Si tratta di un programma che richiede l'addestramento di parti A + B, ma solo A per eseguirlo e non fornire la parte B.