Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Il "Simulated Annealing" aiuta le NN ??

40 views
Skip to first unread message

Morfeus

unread,
Jul 12, 2000, 3:00:00 AM7/12/00
to
Non ho capito bene in che modo il "Simulated Annealing" aiuta le NN,
chi lo sa?

----------------------------------------------------------------------------
-----------------------------------------------------
Simulated Annealing:
Annealing is actually a term from metallurgy. If a metal is heated to a very
high temperature, the atoms move about at high speeds. Yet, if they are
cooled very slowly, they settle into patterns and structures, rendering the
metal much stronger than before. This principle can be employed as an
optimization technique in computer science. More specifically, in Artificial
Intelligence, simulated annealing is used to help a neural network avoid
local minima in its energy function.
The Theory
Simulated annealing takes a variety of forms, but the method presented here
is one of the simplier ones. Simulated annealing basically involves
perturbing the independent variables (in a neural network, the weights) by a
random value, and keeping track of the value with the least error.

Tradotto con Altavista:
Ricottura Simulata.
La ricottura è realmente un termine da metallurgia. Se un metallo è
riscaldato molto ad un a temperatura elevata, gli atomi si muovono circa
alle alte velocità. Tuttavia, se sono raffreddati molto lentamente, si
depositano nei modelli e nelle strutture, rendenti molto più fortemente
prima il metallo. Questo principio può essere impiegato come tecnica di
ottimizzazione in informatica. Più specificamente, in intelligenza
artificiale, la ricottura simulata è usata per aiutare una rete neurale per
evitare i minimi locali nella relativa funzione di energia.
La Teoria.
La ricottura simulata prende una varietà di forme, ma il metodo presentato
qui è uno di quei più simplier. La ricottura simulata coinvolge basicamente
perturbare le variabili indipendenti (in una rete neurale, nei pesi) da un
valore casuale e tenersi al corrente del valore con il meno errore.
----------------------------------------------------------------------------
-----------------------------------------------------

ciao


Stefano Crispino

unread,
Jul 23, 2000, 3:00:00 AM7/23/00
to
Morfeus <udm...@tin.it> wrote in message 8kh4po$pb0$1...@nslave2.tin.it...

> Non ho capito bene in che modo il "Simulated Annealing" aiuta le NN,
> chi lo sa?
>
> --------------------------------------------------------------------------
--
> -----------------------------------------------------
> Simulated Annealing:
[cut]

Scusate, so di essere un newbie (vedete il mio post di saluto), ma quando ho
letto la traduzione di Altavista non ho potuto fare altro che compilare la
seguente traduzione (un suggerimento: se siete depressi o giu' di corda,
sottoponete un testo tecnico in italiano ad un traduttore automatico in
inglese, e poi ritraducetelo in italiano, le risate sono assicurate)

<<
Annealing simulato
Attualmente annealing e' un termine utilizzato in metallurgia. Se un metallo
e' riscaldato ad una temperatura molto alta, gli atomi si muovono ad elevate
velocita' [chi l'avrebbe mai detto? :-O NdT]. Tuttavia, se il metallo e'
raffreddato molto lentamente, questi si sistemano in schemi e strutture che
lo renderanno molto piu' resistente di prima. Questo principio puo' essere
impiegato come tecnica di ottimizzazione in informatica. Piu'
specificatamente, nel campo dell'IA l'annealing simulato e' utilizzato per
aiutare una rete neurale ad evitare minimi locali nella sua funzione
d'energia.
La teoria
L'annealing simulato viene implementato in una gran varieta' di modi, ma
quello qui descritto e' uno dei piu' semplici. L'annealing simulato
semplicemente prevede la perturbazione di variabili indipendenti (i pesi
nelle reti neurali) di un valore casuale, e tenendo traccia del valore con
il minimo errore.
>>

Ora tentero' di ricordarmi quello che avevo leggiucchiato in un libro sulle
reti neurali e di fornire un'interpretazione. Dunque, se la memoria non mi
inganna, direi che addestrare una rete neurale e' una sorta di problema di
ottimizzazione di una funzione a n variabili, dove n e' il numero di pesi.
In pratica, da un punto di partenza qualsiasi, bisogna esplorare la
topologia dell'iper-superficie (n+1)-dimensionale generata dalla funzione
alla ricerca di un minimo che sia sufficientemente... minimo! Sempre andando
a memoria: capita negli addestramenti che nell'esplorazione la rete neurale
si impantani in un minimo che sembra buono ma non lo e', in questo caso puo'
essere utile trasmettere degli scossoni (le perturbazioni nell'annealing)
per far uscire la rete da questa situazione e spostarla in un'altra zona in
cui potrebbe esserci un minimo piu' conveniente. Naturalmente, anche se
nell'articolo non e' specificato, occorre le variazioni non siano di
proporzioni tali da far deviare la rete dalla sua rotta di addestramento,
altrimenti sarebbe come cercare il minimo sparando completamente a caso.
Com'e' ovvio, non sono sicuro che tutto quello che ho detto sopra sia anche
solo lontanamente sensato :-)
Ciao,
Stefano

--
[spazio in affitto, per informazioni contattare iks...@infinito.it]

Danilo Bonfigli

unread,
Jul 23, 2000, 3:00:00 AM7/23/00
to
Se a qualcuno interessa, "annealing" in
italiano si traduce "ricottura" ed è appunto
il procedimento di riscaldare un metallo e
farlo raffreddare lentamente. In questo
modo le sue particelle si dispongono
in modo da rendere il metallo un cristallo
"quasi" perfetto. Il Simulated Annealing o
Ricottura Simulata cerca proprio di
imitare questo processo fisico.

Salve
Sandro

Morfeus

unread,
Jul 24, 2000, 3:00:00 AM7/24/00
to

Danilo Bonfigli ha scritto nel messaggio <8lfqch$k75$1...@news.mclink.it>...

grazie a tutti per le vostre risposte,
ora penso di aver capito a cosa serva il Sim. Annealing...

ciao

cirro

unread,
Jul 24, 2000, 3:00:00 AM7/24/00
to
Stefano Crispino

> In pratica, da un punto di partenza qualsiasi, bisogna esplorare la
> topologia dell'iper-superficie (n+1)-dimensionale generata dalla funzione
> alla ricerca di un minimo che sia sufficientemente... minimo! Sempre
andando
> a memoria: capita negli addestramenti che nell'esplorazione la rete
neurale
> si impantani in un minimo che sembra buono ma non lo e', in questo caso
puo'
> essere utile trasmettere degli scossoni (le perturbazioni nell'annealing)
> per far uscire la rete da questa situazione e spostarla in un'altra zona
in
> cui potrebbe esserci un minimo piu' conveniente. Naturalmente, anche se
> nell'articolo non e' specificato, occorre le variazioni non siano di
> proporzioni tali da far deviare la rete dalla sua rotta di addestramento,
> altrimenti sarebbe come cercare il minimo sparando completamente a caso.
> Com'e' ovvio, non sono sicuro che tutto quello che ho detto sopra sia
anche
> solo lontanamente sensato :-)

Da quanto ho letto il s.a. introduce una regola per l'accettazione
dell'errore prodotto dalle perturbazioni (nel mio caso si trattava di
algoritmi genetici ma la sostanza cambia poco). Se durante l'apprendimento
si accetta rigidamente solo il miglioramento si puo' finire in un minimo
locale senza possibilita' di uscirne. Se si accetta qualsiasi errore si puo'
come dici giustamente continuare a saltare da un punto all'altro. Il s.a.
introduce una "curva di accettazione" che e' molto tollerante all'inizio del
processo, e diviene via via piu' rigida con il passare del tempo. In
sostanza all'inizio l'errore della rete puo' anche aumentare (ed evitare un
eventuale minimo), e in seguito questo aumento viene sempre piu' rifiutato.
Se la soglia di accettazione viene abbassata abbastanza gradualmente (mi
pare si chiami criterio di Metropolis) c'e' una buona probabilita' di finire
in un buon minimo (o proprio nel minimo assoluto).

ciao
Claudio

Paolo Marotta

unread,
Jul 24, 2000, 3:00:00 AM7/24/00
to
On Sun, 23 Jul 2000 22:03:51 +0200, "Danilo Bonfigli"
<mc1...@mclink.it> wrote:

>Se a qualcuno interessa, "annealing"

Il "Simulated annealing" in italiano e` noto anche
come "tempra simulata"

Paolo


Danilo Bonfigli

unread,
Jul 25, 2000, 3:00:00 AM7/25/00
to

"Paolo Marotta" <mar...@NOSPAMcli.di.unipi.it> ha scritto nel messaggio
news:9o4ons46q3iem4gh3...@4ax.com...

Non per fare il bastian contrario, ma se provate a chiedere
a qualcuno che capisce di metallurgia come ho fatto io
vi renderete conto che la tempra è praticamente il procedimento
contrario alla ricottura e consiste nel far raffreddare bruscamente
il metallo. Sono molto diverse anche le proprietà dello
stesso metallo se subisce uno o l'altro trattamento.

Salve
Sandro

Gio <FrOYd> Caturano

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
In article <8ll2pf$iok$1...@news.mclink.it>, mc1...@mclink.it says...

> > Il "Simulated annealing" in italiano e` noto anche
> > come "tempra simulata"

> Non per fare il bastian contrario, ma se provate a chiedere


> a qualcuno che capisce di metallurgia come ho fatto io
> vi renderete conto che la tempra è praticamente il procedimento
> contrario alla ricottura e consiste nel far raffreddare bruscamente
> il metallo. Sono molto diverse anche le proprietà dello
> stesso metallo se subisce uno o l'altro trattamento.

Ma non c'era scritto "tempra simulata"? Mi pare ovvio che la tempra
simulata sia diversa dalla tempra. E, cmq, per far raffreddare un
metallo, bisogna prima riscaldarlo. 8)


P.S.
Prima di scrivere ho telefonato, per documentarmi, alla mia amica
Natasha Stefanenko, che e' un ingegnere metallurgico.

--
C++U

Gio "FrOYd" Caturano / Zetha gameZ
http://www.dronez.com

Paolo Marotta

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
On Tue, 25 Jul 2000 10:42:20 +0200, "Danilo Bonfigli"
<mc1...@mclink.it> wrote:

>vi renderete conto che la tempra è praticamente il procedimento
>contrario alla ricottura e consiste nel far raffreddare bruscamente
>il metallo.

Vedo di informarmi meglio sulla traduzione, ma sono sicuro di aver
visto da piu` parti il termine tempra!

Paolo

-------------------------------------------
Paolo Marotta

http://web.tiscalinet.it/paolo_marotta/
-------------------------------------------

Danilo Bonfigli

unread,
Jul 27, 2000, 3:00:00 AM7/27/00
to

"Gio Caturano" <FrOYd...@c64.NOTTHIS.org> ha scritto nel messaggio
news:MPG.13e8d7d91...@news.easynet.fr...

> In article <8ll2pf$iok$1...@news.mclink.it>, mc1...@mclink.it says...
>
> > > Il "Simulated annealing" in italiano e` noto anche
> > > come "tempra simulata"
>
> > Non per fare il bastian contrario, ma se provate a chiedere
> > a qualcuno che capisce di metallurgia come ho fatto io
> > vi renderete conto che la tempra è praticamente il procedimento
> > contrario alla ricottura e consiste nel far raffreddare bruscamente
> > il metallo. Sono molto diverse anche le proprietà dello
> > stesso metallo se subisce uno o l'altro trattamento.
>
> Ma non c'era scritto "tempra simulata"? Mi pare ovvio che la tempra
> simulata sia diversa dalla tempra. E, cmq, per far raffreddare un
> metallo, bisogna prima riscaldarlo. 8)
>
>
> P.S.
> Prima di scrivere ho telefonato, per documentarmi, alla mia amica
> Natasha Stefanenko, che e' un ingegnere metallurgico.

Premesso che mi inchino di fronte all'esperienza di un qualsiasi
ingegnere metallurgico (e soprattutto la Stefanenko ;-) ) poiché io
studio statistica, mi ripeto perchè pare che mi sia spiegato male.

è ovvio che la tempra simulata è diversa dalla tempra reale
ma non è questo il punto in discussione. Si cercava la traduzione
adatta per "simulated annealing". Su "simulated" non ci sono
problemi. Per quanto riguarda "annealing" si traduce con ricottura
(sono prontissimo a ricevere smentite!).
Dunque il "simulated annealing" dovrebbe essere una metaeuristica
che si ispira al "funzionamento" della ricottura dei metalli, ovvero
una ricottura simulata.

La differenza tra la tempra e la ricottura è molto semplice.
Nella ricottura si riscalda un metallo e poi lo si lascia
raffreddare lentamente. Nella tempra si provoca un
brusco raffreddamento del metallo (la classica immagine
dei film medievali in cui un fabbro immerge la spada ancora
calda in acqua è un esempio).
I due processi conferiscono ai metalli proprietà molto diverse;
diciamo che la tempra rende un metallo più duro, la ricottura
più morbido (malleabile).
Tenete conto che nella frase precedente mi sono espresso
con termini assolutamente NON tecnici.

Salve
Sandro


0 new messages