I 10 comandamenti del Machine Learning

I 10 comandamenti del Machine Learning

24 Ottobre 2022 ai 2
Samuel Bourke

Ognuno deve essere responsabile della propria educazione e della propria saggezza.

Vediamo insieme, in modo simpatico i 10 comandamenti del Machine Learning…

1. Matematica, codice e dati sono la tua santa trinità

Qualsiasi pipeline di machine learning efficace sfrutta l’incrocio di matematica, codice e dati. Ciascuno è efficace quanto l’altro.

Se i tuoi dati sono di scarsa qualità, non importa quanto sia elegante la tua matematica o efficiente il tuo codice.

Se i tuoi dati sono della massima qualità ma la tua matematica è sbagliata, aspettati che i tuoi risultati deluderanno o, peggio, danneggeranno.

Se i tuoi dati e la tua matematica sono di prim’ordine ma il tuo codice è inefficiente, non potrai sfruttare i vantaggi della scalabilità.

I dati ti forniscono un sito minerario contenente le gemme della natura. La matematica è il tuo piccone. E il codice ti consente di creare una flotta di macchine che brandiscono picconi. Questa trinità è il ponte tra gli input (quello che hai) e gli output (quello che vuoi) del tuo sistema.

2. L’unica eccezione alla trinità

Oltre a non riuscire a bilanciare la trinità, c’è solo un peccato più grande: dimenticare chi la trinità è destinata a servire. Anche il codice meglio eseguito, alimentato dalla matematica più aggraziata, che ricava approfondimenti sui dati più abbondanti non significa nulla se non serve al tuo cliente.

Troppo spesso un ingegnere si ritrova perso in un processo dimenticando il risultato. Nonostante procedano con le loro migliori intenzioni, dimenticano che le intenzioni non contano tanto quanto le azioni.

Una manifestazione meno performante della trinità che offre vantaggi a un cliente è meglio di una soluzione performante che non offre nulla.

Per essere chiari, se il tuo modello all’avanguardia impiega 47 volte più tempo per funzionare per un aumento dell’1% della precisione, sta offrendo la migliore esperienza?

3. Non lasciarti ingannare dalla trinità

Per quanto tu adori la trinità, non dovresti essere accecato da essa.

L’ingegnere di ML è il loro più grande scettico della trinità.

Sanno che i dati non possono provare nulla, solo smentire (tutto ciò che serve per un punto di dati su un miliardo per dimostrare un concetto precedentemente ritenuto importante ma sbagliato), un po’ di scarsa matematica può avere conseguenze estreme (la natura non è lineare) e il codice è solo tanto efficiente quanto il suo punto più debole.

4. Presta attenzione a coloro che cerchi di aiutare

Lascia che le macchine facciano ciò in cui sono brave (ripetendo i processi più e più volte). Per tutto il tempo fai ciò in cui sei bravo (prenderti cura, interrogare, ascoltare, guidare, insegnare).

I tuoi clienti non si preoccupano della trinità tanto quanto te. Si preoccupano se i loro bisogni vengono soddisfatti o meno.

Guarda le domande complicate, come quelle che circondano l’etica dei dati, attraverso la lente della regola d’argento: non fare agli altri ciò che vorresti non fosse fatto a te.

5. Rendi omaggio a coloro che hanno gettato le basi anche per te

Quando pensi ai campi dell’informatica, dell’apprendimento automatico, dell’intelligenza artificiale, della matematica, quali nomi ti vengono in mente?

Naturalmente, per tutti i nomi che senti o ricordi, ce ne sono altri 1000 che hanno contribuito ma che non vedrai mai nei libri di storia.

Gli ultimi arrivati dovrebbero riconoscere gli sforzi monumentali apportati da coloro che sono venuti prima di loro, ma dovrebbero anche riconoscere la stessa cosa a chi arriva dopo: il futuro del settore dipende dal lavoro di ognuno.

6. Non sottovalutare il potere di una riscrittura completa del codice

Ne i 10 comandamenti del Machine Learning, dovrai costruire le cose in modo affidabile la prima volta. Ma, man mano che le tue abilità migliorano, puoi rivisitare vecchie creazioni, demolirle e ricrearle con una nuova prospettiva.

L’ingegnere del machine learning comprende che, come la natura, i software e i progetti di apprendimento automatico non vengono mai realizzati, sono costantemente in movimento. I dati cambiano, il codice viene eseguito su un nuovo hardware, un genio scopre un ottimizzatore computazionalmente efficiente e che richiede meno memoria adatto per grandi set di dati e tutto diventa obsoleto.

Non solo dovresti essere aperto a questi cambiamenti, dovresti accoglierli. E una volta arrivati, usa il tuo miglior giudizio sul fatto che valga la pena implementarli o meno nel tuo sistema, solo perché qualcosa è nuovo, non significa che sia necessario.

7. Usa i tuoi attrezzi come farebbe un buon artigiano

Nel mondo dell’apprendimento automatico, ascolterai un dibattito senza fine tra R o Python, TensorFlow o PyTorch, libri o corsi, matematica o codice prima (entrambi, ricorda la trinità), Spark o Hadoop, Amazon Web Services o Google Cloud Platform, VSCode o Jupyter, Nvidia o… in realtà non c’è una vera alternativa qui.

Tutti confronti validi ma nessuno su cui vale la pena discutere con l’altra parte. La vera domanda a cui dovresti rispondere è: cosa mi permette di costruire le mie idee nel modo più veloce e affidabile?

E una volta che ti chiedi questo, ti renderai conto che tutti gli altri si stanno ponendo la stessa domanda.

La maledizione dell’ingegnere è iniziare con uno strumento e cercare un problema invece di iniziare con un problema, quindi cercare uno strumento. E allora, e solo allora, se lo strumento giusto non esiste, dovrebbe essere costruito.

Lo stesso si può dire per le risorse educative. La santa trinità di matematica, codice e dati, è invariante di dove la impari, importa solo come la usi.

Ma non dimenticare: molti problemi possono essere risolti senza l’apprendimento automatico.

8. Le tue idee sono merci

Ne i 10 comandamenti del Machine Learning, non confondere qualcuno che agisce su una buona idea con qualcuno che ruba la tua idea. Le tue idee hanno molto più valore nelle mani degli altri che nella tua testa.

Il tuo ruolo come ingegnere non è solo quello di realizzare le tue idee, ma anche di comunicare e mostrare agli altri come possono trarne beneficio. Se ti mancano tali capacità comunicative, dovresti collaborare con qualcuno che le fa o cerca di svilupparle.

In un mondo in cui nessuno sa in cosa credere, puoi differenziarti essendo autentico. Sii onesto su ciò che le tue creazioni hanno da offrire e su ciò che non conosci. La capacità di ammettere ciò che non si conosce è una forza, non una debolezza.

La buona tecnologia vince sempre, la menzogna non vince mai. Costruisci tecnologia. 

9. L’atteggiamento è tutto

Vedi i progressi degli altri e diventi geloso? O lo vedi come ispirazione per ciò che potresti potenzialmente fare?

Il modo in cui senti il ​​successo degli altri è quello che provi per te stesso.

10. Non desiderare

Dovresti cercare di sviluppare la tua abilità nell’applicare la trinità e nel rispondere alle domande di coloro che cerchi di servire, ma non dovresti farlo con desiderio. Il desiderio ti mette una maledizione a prendere per sempre il futuro troppo sul serio piuttosto che goderti ciò che hai in questo momento.

La cura per il desiderio di una maggiore abilità è sviluppare l’amore per l’apprendimento.

L’ingegnere del Machine Learning è veloce nell’apprendere i concetti necessari per sfruttare la potenza della matematica, del codice e dei dati, ma non ha mai fretta. Capiscono che l’apprendimento di qualsiasi mestiere utile richiede tempo e, se questo è il caso, potrebbero anche goderselo.

Ricorda dall’inizio, sei tu l’unico responsabile della tua saggezza e della tua educazione. Sapendo questo, dovresti scegliere progetti che avranno un futuro sia per te che per il cliente. Il progetto soddisfa la tua curiosità? Sfida le tue abilità? Ti permette di attenerti ai comandamenti? Se è così, è sufficiente.

Infine, mentre balla lungo il proprio percorso, l’ingegnere di apprendimento automatico autodidatta, mantiene fresco nella loro mente:

  • Nessuna certificazione senza conoscenza.
  • Nessun eccesso di pensieri senza agire.
  • Nessun apprendimento senza divertimento.
  • Nessuna creazione senza stile.
  • Nessuna abilità senza pratica.
  • Nessuno strumento senza scopo.
  • Nessuno spettacolo senza spedizione.
  • Nessuna supposizione senza scetticismo.
  • Nessun utilizzo senza contributo.
  • Nessun desiderio per il futuro senza amore per il presente.

E soprattutto, niente machine learning senza la trinità.

Fine de i 10 comandamenti del Machine Learning!

 

2 risposte

  1. Come ricavare i dati per il Machine Learning - NetAi ha detto:

    […] possiamo fare quindi ad ottenere un dato strutturato per passarlo come input in un algoritmo di Machine Learning partendo da un dato non strutturato come una […]

  2. Classificazione dei Dati col metodo Supervisionato - NetAi ha detto:

    […] automatico (machine learning), la classificazione risolve il problema dell’identificazione della categoria a cui […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *