Neurone artificiale.

di il
16 risposte

Neurone artificiale.

Amici,

In genere in un forum ci sono programmatori inesperti e programmatori esperti.
Io, inesperto, non chiedo l'aiuto di esperti, a cui non voglio far perdere tempo, ma di inesperti che vogliono, come me, imparare qualcosa di nuovo.
1) ho sbagliato forum ? non sono in linea con lo scopo del forum ?
2) qualcuno é interessato a condividere, attraverso il forum, i risultati del tentativo di realizzare un neurone artificiale con javascript ?

Ciao

16 Risposte

  • Re: Neurone artificiale.

    Questo post non ha molto senso in un forum. E mi dispiace neanche il tuo atteggiamento, concordo con Alka, dovresti tenere in considerazione le risposte di tutti i partecipanti, senza dimostrare di essere permaloso (e non è la prima volta in pochi messaggi) anche se qualcuno ti dice di studiare. E mi taccio.
  • Re: Neurone artificiale.

    Oregon, rispetto ma non condivido il Tuo parere.
    Ciao.
  • Re: Neurone artificiale.

    Tutto è cominciato così:
    1) ho dato in input al neurone javascript due numeri, due pesi e un bais.
    2 ) il neurone ha calcolato un risultato che divergeva da quello da me previsto (target).
    3) il neurone ha assottigliato, man mano, la divergenza fino ad arrivare a zero.
    4 ) ora se rimetto al lavoro il neurone, mi da il risultato corretto.
    5) questa operazione l'ho ripetuta per una serie di input con relativi target.
    6) ho fatto la media di tutti i pesi e bais calcolati e mi ritrovo una retta.
    Per ora sono fermo qui, ma il neurone non ha imparato nulla.
    Qualche proposta ?
  • Re: Neurone artificiale.

    Riccardo52 ha scritto:


    Io, inesperto, non chiedo l'aiuto di esperti, a cui non voglio far perdere tempo, ma di inesperti che vogliono, come me, imparare qualcosa di nuovo.
    Questo è un forum tecnico nel quale chi ha un problema in linea con i temi trattati lo espone agli altri. Gli altri utenti a loro volta, se possono, tentano di dargli una mano nella risoluzione, a beneficio di chi si trova in difficoltà e, rendendo pubblici domande e risposte, a chiunque dovesse trovarsi ad affrontare lo stesso problema in futuro.

    In nessun caso si fa riferimento ad "esperti" o "inesperti", non c'è una selezione.
    Semmai, ci può essere qualcuno che, con le giuste informazioni e dettagli sul problema, approfondendo la questione e avendo un minimo di esperienza in più (banalmente potrebbe non sapere nulla ma aver già affrontato per puro caso il medesimo problema), si rende disponibile per dare una mano nella risoluzione.

    Riccardo52 ha scritto:


    1) ho sbagliato forum ? non sono in linea con lo scopo del forum ?
    Non lo so. Di certo, se io ho un problema o voglio comprendere meglio qualcosa, cerco qualcuno che la sappia e che quindi - usando la tua terminologia impropria - sia più "esperto" di me sulla questione. Cercare persone con lo stesso problema può essere utile per solidarietà o per sentirsi meno soli, ma non risolverà mai il problema.

    Riccardo52 ha scritto:


    2) qualcuno é interessato a condividere, attraverso il forum, i risultati del tentativo di realizzare un neurone artificiale con javascript ?
    Trovo che questa domanda non abbia senso. Se si parla di esperienze generali, allora è una questione, ma se poni un problema specifico e vuoi sapere come risolverlo, a coloro che si offrono per darti una mano devi fornire le informazioni che ti vengono richieste (che libreria hai usato? che codice hai scritto? qual è l'errore che ottieni? qual è il comportamento anomalo diverso da quello atteso? ecc.), altrimenti - al contrario di quanto dici - stai veramente solo facendo perdere tempo in questioni inutili.

    Riccardo52 ha scritto:


    Tutto è cominciato così [...]
    Esatto. E' cominciato in un'altra discussione, dove ti sono stati dati consigli e da parte mia invece è giunta una richiesta, ma tu hai ignorato tutto e fatto solo polemica, senza rispondere nel merito. Poi hai aperto in un'area tecnica questa discussione (invece che nell'area più adatta, tipo "Bar"), inizialmente per continuare la polemica e poi per riproporre lo stesso problema che si stava affrontando nell'altra discussione, evitando (di nuovo) di fornire i dettagli che ti sono stati richiesti già nell'altra sede e duplicando di fatto la discussione, cosa che non rientra nell'uso corretto del forum.

    Anche in questo caso, però, non insisto a spiegarti oltre le regole che stai infrangendo perché poi, pur continuando ad abusare dello spazio e a non seguire i consigli che ti vengono dati, finisce che l'arrogante ovviamente sono io.
  • Re: Neurone artificiale.

    Riccardo52 ha scritto:


    Per ora sono fermo qui, ma il neurone non ha imparato nulla.
    Qualche proposta ?
    Come già detto in altra sede, o posti il codice che mostra come siamo arrivati al risultato attuale, fornendo quindi i dettagli necessari a comprendere lo stato delle cose che fa da base alla possibile risoluzione, oppure non se ne esce, perché senza sapere che libreria hai usato, che parametri di configurazione hai messo, che dati hai sottoposto, ecc. quanto hai riportato è del tutto insufficiente a costruirsi un quadro da cui partire anche solo per analizzare il problema, figuriamoci per trovare una soluzione.

    Se vuoi una minima possibilità di avanzare nella problematica, quantomeno devi dare a chi si rende disponibile nel darti una mano le informazioni in più che vengono richieste, altrimenti risulta tecnicamente impossibile aiutarti in qualunque modo.

    E' come parlare al telefono con un meccanico dicendo "ho acceso la macchina, ho fatto 2 km, adesso va al massimo ai 10 all'ora": senza indicazioni e senza approfondimento, non si possono fare supposizioni.
  • Re: Neurone artificiale.

    AIka,
    Tu non Ti potrai mai capacitare di quanto mi sei stato utile.
    Ma tornando al discorso tecnico, io non ho usato librerie.
  • Re: Neurone artificiale.

    Aika,
    aspetta a rispondermi,
    Ci ho ripensato, vorrei fare ancora un tentativo.
    Non Ti manderò parte del codice ma Ti darò l'indirizzo di un mio sito di lavoro.
    Sul sito, se ne avrai voglia, faremo delle considerazioni.
  • Re: Neurone artificiale.

    Vai al sito : riccardoributtini.altervista.org e rispondi 14 al prompt.

    1) M1 = variabile per i valori degli item del DataSet: 2,3,4,5,6,7,8,9,10,11.
    2) W1 = variabile per i pesi degli item del DataSet: inizialmente un valore a caso (50).
    3) Il neurone fa esperienza:
    3.1) Per ogni item del DataSet modifica il peso (W1) per ottenere il risultato richiesto (Target=100).
    3.2) Calcola la media di questi pesi (W1 medio in alto in blu).
    4) Ora pongo la domanda "Domanda:" (in alto in blu) al neurone:
    "questo nuovo item (14), appartiene alla stessa famiglia del DataSet ?"
    5) Il neurone risponde "Risposta" (in alto in blu) con un valore(266).
    5.1) se il valore della risposta e vicino al target 100, vuol dire SI.
    5.2) se il valore della risposta e lontano dal target 100, vuol dire NO.

    Esempio:
    I numeri rappresentano tipi di alberi ( 2,3,4,5,6,7,8,9,10,11).
    Il target (100) è il valore corrispondente al "genere" albero.
    Risposta vicina (es 200) vuol dire: SI è un albero.
    Risposta lontana (es 5000) vuol dire: NO non è un albero.

    Cosa ne pensi di questo primo approccio, ovviamente molto grossolano ?
  • Re: Neurone artificiale.

    Riccardo52 ha scritto:


    ...
    3) Il neurone fa esperienza:
    3.1) Per ogni item del DataSet modifica il peso (W1) per ottenere il risultato richiesto (Target=100).
    3.2) Calcola la media di questi pesi (W1 medio in alto in blu).
    ...
    Non sono un esperto, ma mi risulta che la via maestra per determinare i pesi
    sia la ricerca del minimo della funzione di errore tramite il metodo della discesa del gradiente.

    P.S.
    In javascript dovrebbe essere disponibile la libreria TensorFlowJs ( o TensorJs .... non ricordo esattamente il nome)
    ma dubito sia adatta per l'addestramento di reti non banali perché è richiesta molta potenza di calcolo
    (molto meglio se si possono sfruttare le GPU perché più adatte al calcolo matriciale) ... o molto tempo
  • Re: Neurone artificiale.

    Ciao sspintux,

    Ti ringrazio per il Tuo intervento.
    Come hai giustamente detto, per determinare i pesi, la via maestra mi pare voglia usare la retta tangente della funzione di costo (errore) tramite aggiustamenti successivi.
    Per un po, voglio far correre (una corsa grossolana) questo neurone sulla pista, a costo di farlo scricchiolare.
    Sono convinto che saranno i suoi malfunzionamenti ad indicarmi il passo successivo.

    Ti tengo aggiornato.
  • Re: Neurone artificiale.

    Riccardo52 ha scritto:


    ...
    Sono convinto che saranno i suoi malfunzionamenti ad indicarmi il passo successivo.
    ...
    Buona fortuna se hai le conoscenze , soprattutto matematiche , per pensare
    di far meglio di ricercatori e professori universitari
  • Re: Neurone artificiale.

    Credo che, più o meno, tutti dicevano la stessa cosa anche a Cristoforo Colombo.
    Ciao
  • Re: Neurone artificiale.

    Riccardo52 ha scritto:


    Credo che, più o meno, tutti dicevano la stessa cosa anche a Cristoforo Colombo.
    Ciao
    Questa veramente mi mancava ... e dice tutto ...
  • Re: Neurone artificiale.

    Riccardo52 ha scritto:


    Credo che, più o meno, tutti dicevano la stessa cosa anche a Cristoforo Colombo.
    Ciao
    Ti segnalo allora la branca dell'IA che si occupa
    di dimostrare teoremi a partire da assiomi;
    a mio modesto parere avresti delle chances per il nobel se riesci ad unirla a quella attuale che si occupa di imparare dai dati
Devi accedere o registrarti per scrivere nel forum
16 risposte