A tutorial on Random Neural Networks - IRISA · A tutorial on Random Neural Networks G. Rubino...
Transcript of A tutorial on Random Neural Networks - IRISA · A tutorial on Random Neural Networks G. Rubino...
��
��
��
��
A tutorial onRandom Neural Networks
G. Rubino
Irisa/Inria, Rennes, France
LANC’05, Cali, Colombia
��
��
� �Index
1. A continuous model of a neuron 2
2. Queues with positive and negative customers 6
3. Networks with positive and negative customers 14
4. Random Neural Networks 23
5. Case study: QQA (Quantitative Quality Assessment) 38
6. Case study: WAN design 44
7. Bibliography 60
RNN tutorial G. Rubino, Irisa/Inria slide 1
1: A continuous model of a neuron��
��
� �Artificial neurons
➤ Artificial neurons mimic (somehow) alive ones. They are
input-output systems, receiving different signals from outside and
sending a single signal to outside.
➤ The effect of a signal arriving at neuronx can be either theexcitation
or theinhibition of x:
� excitation contributes makingx sending a signal to its
environment,
� inhibition contributes to thatx will send nothing to its
environment;
� actually, the fact thatx sends a signal or not is the combined
effect all the arriving signals.
➤ An Artificial Neural Network is a network of interconnected artificial
neurons.
RNN tutorial G. Rubino, Irisa/Inria slide 2
(1: A continuous model of a neuron)��
��
� �A new neuron model
In this model, a neuron is an input-output probabilistic asynchronous
system behaving in the following way:
➤ At time t it has apotential Nt, which is a positive integer.
➤ As far asNt � �, the neuron sends a signal to outside in the interval
�t� t� �� with probability��� o���.
➤ WhenNt � �, the probability that the neuron sends more than one
signal betweent andt� � is o���
➤ The random functiont �� Nt is stepwise constant and right
continuous.
➤ If a signal is sent to outside at timet, thenNt� � Nt � �.
RNN tutorial G. Rubino, Irisa/Inria slide 3
(1: A continuous model of a neuron)��
��
� ��A new neuron model (cont.)
➤ A neuron can receiveexciting andinhibiting signals from outside.
➤ The probability of receiving an exciting signal in the interval
�t� t� �� is ���� o���.
➤ The probability of receiving an inhibiting signal in the interval
�t� t� �� is ���� o���.
➤ The probability of receiving more than one signal in the interval
�t� t� �� is o���.
➤ If an exciting signal is received at timet, thenNt� � Nt � �.
➤ If an inhibiting signal is received at timet, thenNt� � Nt � �.
➤ The flow of exciting (resp. inhibiting) signals is Poisson, with rate
�� (resp.���. Both processes are independent of each other, and of
the process of output signals.
RNN tutorial G. Rubino, Irisa/Inria slide 4
(1: A continuous model of a neuron)��
��
� ��Neurons as queues
➤ We can see a neuron as a queue with an exponential server having
(service) rate�.
➤ The potential of the neuron is now the number of customers (or
backlog) of the queue.
➤ If there are no inhibiting signals (�� � �), then we have a classic
M�M�� queue.
➤ In next chapter, we look at these models as queues, but observe that
we are speaking about exactly the same object.
RNN tutorial G. Rubino, Irisa/Inria slide 5
2: Queues with positive and negative customers��
��
� ��Positive and negative customers
➤ Consider a queue with two classes of customers, calledpositive and
negative.
➤ The arrivals are Poisson, the services are exponentially distributed,
and we adopt the usual independence assumptions.
➤ Positive customers behave as in the standard model.
➤ Negative customers behave the following way: when they arrive,
� they always destroy themselves,
� and if there are customers in the queue, they also kill one of them
(say, the last one when the queue is FIFO).a
aRecall that services are exponentially distributed. If we are interested in backlogs, it
doesn’t matter which positive customer is killed.
RNN tutorial G. Rubino, Irisa/Inria slide 6
(2: Queues with positive and negative customers)��
��
� ��Positive and negative customers (cont.)
➤ By definition, negative customerscan not be observed, only the
effects of their arrivals (if the queue is not empty) can be.
Customers waiting at a queue are necessarily positive.
➤ We are interested in the backlog in equilibrium, that is, the # of
(positive) customers in the queue.
➤ Loops: if loops are allowed in the model, after being served, a
customer (so, a positive one) can come back at the queue either as a
positive or as a negative one.
RNN tutorial G. Rubino, Irisa/Inria slide 7
(2: Queues with positive and negative customers)��
��
� ��First example
���� ��
➤ The number of (positive) customers in the system at timet, Nt, is a
birth-death process with constant birth rate�� and constant death
rate�� � �.
➤ In other words, processNt is equivalent to the number of customers
in anM�M�� queue with arrival rate�� and service rate�� � �.
➤ The queue is stable�� �� � �� � �.
In this case, the stationary distribution is
�n � ��� ���n� where� �
��
�� � ��
RNN tutorial G. Rubino, Irisa/Inria slide 8
(2: Queues with positive and negative customers)��
��
� ��Some details on the analysis
➤ Let pn�t� � Pr�Nt � n�.
➤ Start frompn�t� �� �
�Xk��
Pr�Nt�� � n j Nt � k�pk�t��
➤ Whenjn� kj � �, then
Pr�Nt�� � n j Nt � k� � o����
➤ Now,
Pr�Nt�� � n j Nt � n� �� � ���� o����
Pr�Nt�� � n j Nt � n� �� � ��� � ���� o����
Pr�Nt�� � n j Nt � n� � �� ��� � �� � ���� o����
RNN tutorial G. Rubino, Irisa/Inria slide 9
(2: Queues with positive and negative customers)��
��
� ��Some details on the analysis (cont.)
This leads to
pn�t� �� �
��pn���t��� ��� � ��pn���t��� ��� ��� � �� � ����pn�t� � o����
➤ Passingpn�t� to the left, dividing by� and letting� �� � we get
p�n�t� � ��pn���t� � ��� � ��pn���t�� ��� � �� � ��pn�t��
➤ Denoting�n � limt��� pn�t� and assuming stability, we get
��� � �� � ���n � ���n�� � ��� � ���n���
➤ Looking for a solution of the form�n � abn we get
�n � ��� ���n� where� �
��
�� � �� ��
RNN tutorial G. Rubino, Irisa/Inria slide 10
(2: Queues with positive and negative customers)��
��
� ��Another basic example
Consider the model represented here:
���
➤ External arrivals are positive.
➤ Once served, customers come back as negative ones.
➤ The graph of the process “# of customers in the system at timet” is
given in the following scheme:
0 3 4
���
� � �
�� �� ��1 2
RNN tutorial G. Rubino, Irisa/Inria slide 11
(2: Queues with positive and negative customers)��
��
� ��Another basic example (cont.)
➤ If we look for a solution to the equilibrium equations of the form
�n � abn, that is,�n � ��� b�bn, b must verifyb� � b� � � and � � b � ��
where � ����.
➤ We obtain
b �p
� � � �
�
�under the (stability) condition�� � ��.
RNN tutorial G. Rubino, Irisa/Inria slide 12
(2: Queues with positive and negative customers)��
��
� ��Another basic example (cont.)
➤ Call T� (respectivelyT�) the mean throughput ofarriving positive
(resp. negative) customers; we have
� T� � ��,
� T� � �� � b�.
➤ See that
� � b �
T�
�� T��
��
�� b��
since this means that
b �
� � b�� b� � b � �
RNN tutorial G. Rubino, Irisa/Inria slide 13
3: Networks with positive and negative customers��
��
� �A 2-nodes network
Consider the following network:�
p��
‘-’
‘+’ ��
�� p
We can write the equilibrium equations and solve them.
Assume equilibrium and write�ij for the stationary probability of having
i units at 1 andj units at 2. We obtain
➤ ���� � �����
➤ �i���� ��� � �i������ �i������p� �i��������� p� � �i����
➤ ��j��� ��� � ���j���� � �i���j����p� �i���j������� p�
➤ �ij��� �� � ��� �
�i���j�� �i���j����p� �i���j������� p� � �i�j����RNN tutorial G. Rubino, Irisa/Inria slide 14
(3: Networks with positive and negative customers)��
��
� �A 2-nodes network
➤ Since the first node clearly behaves as aM�M�� queue, we can
guess a solution with�i�j proportional toaibj , wherea � ����.
➤ We obtain an equation forb and the solution
b �
�p
�� � ���� p��
➤ Another way: Burke’s theorem says that, in steady-state, the output
of node 1 is Poisson (with parameter�, of course). This leads to a
second queue as in our first example, with arrival rates�p for positive
customers and���� p� for negative customers, and the already given
b value.
➤ Again, see that for each nodei, �i � T�i ���i � T�i � whereT�i and
T�i are defined as before,i � �� �.
RNN tutorial G. Rubino, Irisa/Inria slide 15
(3: Networks with positive and negative customers)��
��
� ��The general network model
➤ # of nodes:N➤ service rate at nodei: �i
➤ routing probabilities: when leaving nodei, a customer
goes to nodej as a positive one with probabilityr�ij ,
as a negative one with probabilityr�ij ,
and it leaves the network with probabilitydi.
We then have
di �
NXj��
�r�ij � r�ij�
� ��➤ From outside, the arrival rate of positive customers at nodei is ��i ,
and of negative customers is��i .
RNN tutorial G. Rubino, Irisa/Inria slide 16
(3: Networks with positive and negative customers)��
��
� ��The traffic equations
➤ Let T�i be the mean throughput of positive customers thatenter
nodei. Assuming equilibrium, we have
T�i � ��i �X
j
�j�jr�
ji�
where�j is the probability that nodej is busy.
➤ If T�i is the mean throughput of negative customers thatenter nodei
in equilibrium,
T�i � ��i �X
j
�j�jr�
ji�
RNN tutorial G. Rubino, Irisa/Inria slide 17
(3: Networks with positive and negative customers)��
��
➤ Add the following equations
�i �
T�i
�i � T�i�
as in the simple previous examples. We obtain a (non linear) system
with N equations andN unknowns (theT�i ’s, theT�i ’s and the
�i’s).
➤ It can be shown that this linear system has an unique solution (fixed
point theory).
RNN tutorial G. Rubino, Irisa/Inria slide 18
(3: Networks with positive and negative customers)��
��
➤ If in that solution, we have that for all nodei, �i � �, then thenetwork is stable and it has aproduct-form equilibrium distribution:
for all n� � �� � � � � nN � �,
�n����� �nN �
NYi��
��� �i��ni
i �
➤ Corollary: we have
� asymptotic independence between nodes;
� geometric marginals:Pr�n at i, in equilibrium� � ��� �i��n
i �
� the�i’s are indeed the utilization ratios:
Pr�i busy, in equilibrium� � �i�
➤ This model has several extensions (more complex behaviour ofnegative customers, multiclass populations). Some of them arerelevant in the RNN context, but we will focus here on the basicmodel.
RNN tutorial G. Rubino, Irisa/Inria slide 19
(3: Networks with positive and negative customers)��
��
� ��Example: a general 2-nodes network without loops
➤ We have to solve the non-linear system in���� ���
�� �
��� � ����r�
��
�� � ��� � ����r�
���
�� �
��� � ����r�
��
�� � ��� � ����r�
���
➤ Denotingw�ij � �ir�
ij
andw�ij � �ir�
ij ,
the system becomes
�� �
��� � w�����
�� � ��� � w������
�� �
��� � w�����
�� � ��� � w������
RNN tutorial G. Rubino, Irisa/Inria slide 20
(3: Networks with positive and negative customers)��
��
➤ Observe that we have 10 in general unrelated parameters here:� ��� , ��� , ��� , ���
� ��, ��
� w���, w�
��, w�
��, w�
��
➤ We assume��, �� �, and��� � ��� �.
➤ Solving for��, for instance, we getA��� �B�� � C � ��
with
A � ��� � ��� �w�
�� � w���w�
�� � ��
B � ��� � ��� ���� � ��� � � ��� w�
�� � ��� w�
�� � w���w�
���
and C � ��� ��� � ��� � � ��� w�
�� � ��
RNN tutorial G. Rubino, Irisa/Inria slide 21
(3: Networks with positive and negative customers)��
��
➤ It can be checked that if we exclude the case of a system being
always unstable,� � B� � AC �.
➤ Thus, the equation has two real roots of opposite signs. This means
that the only relevant one is
�� ��B �p
�
�A
�
➤ After some algebra, we have�� � ��� C � A�B�
This is a complex but explicit expression of the stability condition for
such a model.
RNN tutorial G. Rubino, Irisa/Inria slide 22
4: Random Neural Networks��
��
� �G-networks as Neural Networks
Just change
➤ node, or queue, by neuron
➤ # of customers at node i by potential of neuron i
➤ positive customer arrival by exciting signal
➤ negative customer arrival by inhibiting signal
➤ � � �
that is, the mathematical model is exactly the same. We look at the
dynamical system just differently.
➤ If at t, the backlog ati (the potential ati) is �, we say that neuroni
is excited at t.
RNN tutorial G. Rubino, Irisa/Inria slide 23
(4: Random Neural Networks)��
��
� ��Weights
➤ For any pair of nodesi, j, such asdi � �, define
w�ij � �ir�
ij � w�ij � �ir�
ij�
➤ If di � � for somei, we definew�ij � w�ij � � for all j
➤ Observe thatw�ij (resp.w�ij) is the mean throughput of positive (resp.
negative) signals fromi to j
➤ The mean throughput of positive and negative customers entering
nodei can be respectively written as
T�i � ��i �X
j
�jw�
ji� T�i � ��i �X
j
�jw�
ji�RNN tutorial G. Rubino, Irisa/Inria slide 24
(4: Random Neural Networks)��
��
� ��3-layer models
➤ This a basic class of models (a particular type offeedforward
topology).
➤ Consider a G-network with three classes of nodes:
� I = the “input” nodes: they receive customers from outside; they
are connected to the “internal” of “hidden” nodes only;
� O: the “output” nodes: they send out customers, they receive no
flows from outside, and they receive customers from the hidden
ones
� H: the hidden nodes, with no connexion with the environment,
receiving fromI and sending toO
➤ the service rate at nodek is �k
RNN tutorial G. Rubino, Irisa/Inria slide 25
(4: Random Neural Networks)��
��
� ��3-layer models (cont.)
➤ After its service ati � I, a customer goes toh � H as a positive one
with probabilityr�ih, and as a negative one with probabilityr�ih.
➤ After its service ath � H, a customer goes too � O as a positive one
with probabilityr�ho, and as a negative one with probabilityr�ho.
➤ After its service ato � O, the customer leaves the network.
RNN tutorial G. Rubino, Irisa/Inria slide 26
(4: Random Neural Networks)��
��
� ��3-layer models (cont.)
➤ For all input nodei,
T�i � ��i � T�i � ��i � �i �
��i
�i � ��i�
➤ For all hidden nodeh,
T�h �X
i�I�i�ir�
ih� T�h �X
i�I�i�ir�
ih�
➤ For all output nodeo,
T�o �X
h�H
�h�hr�
ho� T�o �X
h�H
�h�hr�
ho�
➤ In this class of model, the non linear system can be explicitly solved.
RNN tutorial G. Rubino, Irisa/Inria slide 27
(4: Random Neural Networks)��
��
� ��3-layer models (cont.)
➤ Recall that for any pair of nodesi, j such thatdi � � (that is,i � O),
w�ij � �ir�
ij � w�ij � �ir�
ij�
➤ Then for all hidden nodeh,
T�h �X
i�I�iw�
ih� T�h �X
i�I�iw�
ih�
➤ and for all output nodeo,
T�o �X
h�H
�hw�
ho� T�o �X
h�H
�hw�
ho�
RNN tutorial G. Rubino, Irisa/Inria slide 28
(4: Random Neural Networks)��
��
� ��3-layer models (cont.)
Stability conditions:
➤ for all i � I, ��i � ��i � �i,
➤ for all h � H, T�h � T�h � �h,
➤ for all o � O, T�o � T�o � �o.
If ��i � ��
i �������, then sufficient conditions for stability,for all �w, are
➤ for all i � I, �i � �,
➤ and for allh � H ando � O, �h � �o � I.
RNN tutorial G. Rubino, Irisa/Inria slide 29
(4: Random Neural Networks)��
��
� ��RNN in learning
➤ Assume an unknown functionf�� from IRI into IRO is known only
throughK pairs of input-output values.
➤ RNN can be used as an interpolator-extrapolator tool, performing a
statistical learning of the set of input-output values.
➤ To simplify the presentation, assume that we can normalize the input
and output variables into������, that is, that
f ������I � ������O�➤ Data: the setD of K pairs��ak��bk�, k � ���K, wheref��ak� � �bk.
RNN tutorial G. Rubino, Irisa/Inria slide 30
(4: Random Neural Networks)��
��
� ��RNN in learning (cont.)
➤ Now, consider a 3-layer RNN. Assume that there are no negative
customers coming from outside (��i � � for all i).
➤ The RNN hasI input nodes andO output nodes.
➤ Look at the RNN as an input-output system:
� the input is the vector��� � ���� � � � � � ��I �;
� the output is the vector������� � � � � �O�;
� to simplify, we assume the service rates fixed, and we look at the
set of weights as parameters; we denote�w � fw�ijg;
� the�i’s can be set to assure stability, or to leave instability as a
possible case;
� as an input-output system, the RNN maps��� into ������ �w� � ��.
RNN tutorial G. Rubino, Irisa/Inria slide 31
(4: Random Neural Networks)��
��
� ��RNN in learning (cont.)
➤ We now will look for a RNN such that when its input is��� � �ak, its
output is�� �bk, for k � �� � � � �K.
➤ To find such a RNN, we tune the parameters�w.
➤ “Learning” from the set of dataD means
minimizing the function of�w
g��w� �
KXk��jj���ak� �w���bkjj
over the setf�w � ��g, for instance.
RNN tutorial G. Rubino, Irisa/Inria slide 32
(4: Random Neural Networks)��
��
� ��Learning (cont.)
Basic approach for the optimization problem (gradient descent): write
g��w� ��
�KX
k��X
o�O
h�o��ak� �w�� ��bk�oi�
Then, iterate over the following:
w�ij�m� �� ��
w�ij�m�� �g
�w�ij��w�m��
�� ��
w�ij�m� �� ��
w�ij�m�� �g
�w�ij��w�m��
�� ��
Factor is thelearning rate of the model.
RNN tutorial G. Rubino, Irisa/Inria slide 33
(4: Random Neural Networks)��
��
� ��Learning (cont.)
➤ It must be observed that, since��� is infinitely differentiable, so is
g��.
➤ Moreover, the product form of��� allows an efficient computation of
derivatives.
➤ This means that the learning procedure can take advantage of
standard numerical procedures (and is open to further progress the
same way).
RNN tutorial G. Rubino, Irisa/Inria slide 34
(4: Random Neural Networks)��
��
� ��Learning (cont.)
➤ More precisely: partition theK data pairs randomly (uniformly) into
two subsets:f��ak��bk�� k � ���K �g andf��ak��bk�� k � K� � ���Kg.➤ Learning � solving the optimization problem
find �� � argmin�w���K�X
k��jj���ak� �w���bkjj�
➤ If
� the�ak ’s, for k � ���K� “reasonably” cover the possible input
values off�� (the domain��� ��I ),
� and iff�� has some properties (bounded derivatives,� � � )
we expect the RNN������� accurately approximatingf�� over the
whole ��� ��I .
RNN tutorial G. Rubino, Irisa/Inria slide 35
(4: Random Neural Networks)��
��
➤ Validation � evaluating
Err �
KXk�K���jj���ak� �w���bkjj�
and “accepting”������ if Err � �.
➤ If Err � �, probably more data is needed.
➤ Other possibilities are
� a too small number of hidden neurons;
� a too large number of hidden neurons;
RNN tutorial G. Rubino, Irisa/Inria slide 36
(4: Random Neural Networks)��
��
� ��On RNN in optimization
➤ For optimization problems, the approaches are strongly dependent on
the problem.
➤ In particular, the topologies of the RNN are strongly dependant on
the problem.
➤ However, an usual pattern is to look for unstable nodes in the models.
➤ Section 6 of this tutorial describes in detail a specific application of
RNN in the optimization area.
RNN tutorial G. Rubino, Irisa/Inria slide 37
5: PSQA: Pseudo-Subjective Quality Assessment��
��
� ��QQA: Quantitative Quality Assessment
➤ The problem:
1. quantify the quality of a video or audio or multimedia stream
transmitted over the Internet,
2. as perceived by the end user (observer),
3. automatically
4. and, if necessary, in real time.
➤ The first two points can be efficiently done with real human
observers.
➤ Name of the field:subjective testing.
➤ Standardized activity.
➤ Subjective testing is not real time, nor automatic.
RNN tutorial G. Rubino, Irisa/Inria slide 38
(5: PSQA: Pseudo-Subjective Quality Assessment)��
��
� ��QQA (cont.)
➤ Objective testing: basically, tools to compare the original and theencoded stream (both at the source).
➤ It takes the formd��� ��� where� is the original sequence,�� theencoded one, andd�� is some distance function.
➤ The original sequence is thus needed.
➤ One “pseudo-exception”: the E-model (for VoIP).
➤ Some tentative objective measures taking the form of a simpleformula of one or two parameters have been published, of the type
Q �
�BR
�LR � �
or Q �
�BR�
�LR� � �
where LR = loss rate, BR = bit rate, Q = quality.
➤ Common (negative) point: objective measures (anyway) correlateoften badly with subjective testing.
RNN tutorial G. Rubino, Irisa/Inria slide 39
(5: PSQA: Pseudo-Subjective Quality Assessment)��
��
� ��PSQA
➤ Using RNNs, we propose a solution to the problem, that is
� an accurate metric measuring perceived user quality,
� evaluated automatically and very efficiently (so, being able to
work in real time),
� called PSQA: Pseudo-Subjective Quality Assessment.
RNN tutorial G. Rubino, Irisa/Inria slide 40
(5: PSQA: Pseudo-Subjective Quality Assessment)��
��
� ��II/ PSQA (cont’d.)
1. Choose a set ofa priori relevant measurable factors.
Example: our choice for video was
� BR; source bit rate
� FR: source frame rate
� RL: redundancy level at the source
� LP: packet loss probability in the network
� MLBS: mean packet loss burst size in the network
2. For each parameter, select a set of typical/important values.
E.g., for LP:f��� ��� ��� �� ��� ���g.3. This defines a state space for the vector of parameters.
E.g. in our video case, around 3000 points.
Call configurations these points.
RNN tutorial G. Rubino, Irisa/Inria slide 41
(5: PSQA: Pseudo-Subjective Quality Assessment)��
��
4. Select a sample set of sizeN (e.g.,N � ���) points (this must bedone with a merge of random sampling and covering criteria).
5. Select randomlyN � points between this sample. E.g.N � � ��.Renumber them���N �; theN �N � remaining configs. are
N � � ���N .
6. Build a testbed or a simulator allowing to control the chosenparameters.
7. Start from a sequence� (say, 10 sec. length) and send itN� times tothe receiver according to theN � different configs.The result is a setf��� � � � � �N �g of distorted copies of�.
8. PutK humans (K ��) to evaluate theseN � sequences according toa standardized subjective test.Let �ik be the value given to sequence�i by observerk.
9. Perform a statistical filtering of thef�ikg having as a goal to detectthe bad observers, and eliminate the associated evaluations.
RNN tutorial G. Rubino, Irisa/Inria slide 42
(5: PSQA: Pseudo-Subjective Quality Assessment)��
��
Renumber the remainingK� observers from 1 toK�.
10. “The” value of�i is then
�i �
�K�
K�Xk��
�ik�
11. Train a RNN model having 5 inputs to obtain, for alli � ���N �,��BRi� � � � �MBLSi� �i�
12. Validate the model if, for alli � N � � ���N ,
��BRi� � � � �MBLSi� �i�
13. Improvement: perform the same process for several different
sequences instead just for only one and train the RNN with the whole
set of data.
RNN tutorial G. Rubino, Irisa/Inria slide 43
6: WAN design��
��
� ��The problem
➤ A WAN is in general divided into abackbone (high speed, high
connectivity) and anaccess network (forest-like topology).
➤ Assume the backbone is designed, and we must now select the
optimal architecture for the access network.
➤ The access network has two types of nodes:terminals and
concentrators; backbone nodes areswitches.
➤ Terminals can not be connected between them.
RNN tutorial G. Rubino, Irisa/Inria slide 44
(6: WAN design)��
��
� ��The problem (cont.)
An example of the whole network topology.
sc
sc
sc
sc
sc
sc
sc
sc
sc
BackboneNetwork
Terminal Site
sc Concentrator Site
Switch SiteA local access network
RNN tutorial G. Rubino, Irisa/Inria slide 45
(6: WAN design)��
��
� ��The problem (cont.)
➤ We are given the set of terminals (the hosts of the global network).
➤ We are also given
� thepotential set of concentrators,
� the (positive) cost of all possible connections (between a terminal
and a concentrator, between concentrators, between terminals or
concentrators and switches).
➤ We must find a graph connecting the terminals to the backbone, at
minimal cost.
RNN tutorial G. Rubino, Irisa/Inria slide 46
(6: WAN design)��
��
� ��The problem (cont.)
➤ In real size problems, the combinatory complexity is too high, and anexact solution is not possible.
➤ This means that many heuristics have been applied to solve theproblem.
➤ Usual approach:
� build an initial topology;
� make “small” changes to this initial graph, trying to improve it(reducing the cost); many solutions here;
� repeat the two previous steps, and keep the best of all foundtopologies.
➤ Remark: This description covers the essentials; the same difficultiesappear (and the same approaches apply) in problems with moreconstraints.
RNN tutorial G. Rubino, Irisa/Inria slide 47
(6: WAN design)��
��
� ��A GRASP solution using RNN
➤ GRASP stands for Greedy Randomized Adaptive Search Procedure),
a powerful family of methods shown to be successful in many
optimization problems.
➤ The procedure starts by building a possible topology (this is the
construction phase).
➤ Then, this topology is improved using an appropriate RNN (this is
theimprovement phase).
➤ The two previous steps are repeated a numberN of times.
➤ At the end, the best of theN topologies having been built is returned.
➤ Before starting, we collapse the backbone into a single nodez.
➤ Recall that data is composed of the graph of all possible connections,
together with the associated costs.
RNN tutorial G. Rubino, Irisa/Inria slide 48
(6: WAN design)��
��
� ��A GRASP solution using RNN: construction phase
➤ We will connect the terminals one after the other to nodez.
➤ At the beginning, no terminal is marked (marked as “already
included in the current solution”).
➤ A path in the initial graph (with all possible connections) isvalid if it
starts at a terminal, it ends atz, and it includes any number of
concentrators (possibly none) but not another terminal.
RNN tutorial G. Rubino, Irisa/Inria slide 49
(6: WAN design)��
��
� ��A GRASP solution using RNN: construction phase (cont’d)
The construction procedure is as follows:
1. Initialize the setC throughC � fzg.2. Pick a non marked terminalt at random; mark it.
3. Compute theK shortest (minimum cost) valid paths fromt to C.
4. Pick one of these paths randomly, and add it to the current solution
(its nodes and links are added toC).
5. Repeat the previous steps until all terminals are marked.
RNN tutorial G. Rubino, Irisa/Inria slide 50
(6: WAN design)��
��
� ��A GRASP solution using RNN: improvement phase
➤ Data: a graphG connecting the terminals to nodez with only valid
paths.
➤ If �i� j� � G, the cost of the connection isci�j .
➤ We denote byc the average cost of the links.
➤ The classical approaches call this part of the algorithm thelocal
search phase because the improvement is made in some
neighbourhood of the graph (ideas fromgenetic algorithms,
simulated annealing,...).
RNN tutorial G. Rubino, Irisa/Inria slide 51
(6: WAN design)��
��
� ��A GRASP solution using RNN: improvement phase (cont.)
Here, we build and solve a RNN defined in the following way (the
mapping comes from another paper by E. Gelenbe, on a similar problem):
➤ For each node in the graph there is a neuron in the RNN.
➤ If �i� j� � G thenw�i�j �
cci�j
.
➤ If �i� j� � G then, in the RNN we setw�i�j � �.
➤ The remaining weights are set to�.
➤ For each nodei, its service rate is defined as
�i �X
j
�w�i�j � w�i�j��
➤ There is no external arriving flow.
RNN tutorial G. Rubino, Irisa/Inria slide 52
(6: WAN design)��
��
➤ The terminals and the concentrators belonging to the solution (plus
nodez) are artificially excited: the corresponding neurons receive an
infinite potential and, in fact, they act assources in the model.
➤ The loads in the different nodes are evaluated. Letc be the
concentrator having the highest load.
➤ If c is not in the initial solution, then its inclusion in a new solution
is explored through a local (in the graph) procedure addingc and
removing other concentrators. If a better solution is found, the
procedure starts again from the new topology.
➤ If c is already in the solution, its load is set to 1 and the procedure is
run again.
➤ The improvement phase stops when all concentrators have been
examined for inclusion in the solution.
RNN tutorial G. Rubino, Irisa/Inria slide 53
(6: WAN design)��
��
� ��A GRASP solution using RNN: improvement phase (cont.)
➤ Observe that if a neuron is excited and its connections with its
neighbours have low costs (and so, high excitatory rates to them),
then it will have a high influence on those neighbours.
➤ We have explored other possibilities for this improvement phase, and
RNN outperforms them:
� We can pick a new concentrator at random (i.e. uniformly) among
the not yet considered ones.
� We can also compute, for all concentratorc not in the current
solution, the sumS�c� of the cost of all the links arriving to it,
and selectc� � argmincS�c�.
➤ The reason of the good performance of RNN is that instead of using
local information, the RNN allows to integrate the dynamics of the
whole network at each step it is used.
RNN tutorial G. Rubino, Irisa/Inria slide 54
(6: WAN design)��
��
� ��Some computational examples
➤ We used a large test set, obtained by modifying the Steiner Problem
instances in the well known SteinLib repository.
➤ Parameter settings (from GRASP literature):
� candidate list size:��,
� maximum number of iterations:���.
➤ Equipment: Pentium IV with 1.7 GHz, 1 Gbytes of RAM, Windows
XP.
RNN tutorial G. Rubino, Irisa/Inria slide 55
(6: WAN design)��
��
➤ For each SPG instance:� Nodez representing the backbone: terminal node of highest
degree.
� Terminal sites: the other terminal nodes of the SPG.
� Concentrator sites: the Steiner nodes.
� The edges between terminal sites were deleted (not allowed in
feasible solutions).
➤ If the resulting topology was unconnected, the problem instance was
discarded.
➤ Result: we obtained 155 problem instances.
➤ Property: the optimal value for a SPG instances is a lower bound of
the optimal value for our problem.
RNN tutorial G. Rubino, Irisa/Inria slide 56
(6: WAN design)��
��
� �Results Nb. Nodes Edges Optimal Avg. lower
instances solutions bound gap
C 6 500 625-2500 - 0.41%
MC 2 97-120 4656-7140 1 5.90%
X 2 52-58 1326-1653 - 39.56%
PUC 4 64-128 192-750 2 0.14%
I080 57 80 120-3160 13 9.09%
I160 18 160 240-2544 7 3.23%
I320 10 320 480-10208 2 2.28%
I640 10 640 960-4135 2 3.01%
P6E 10 100-200 180-370 2 16.49%
P6Z 5 100-200 180-370 1 23.22%
WRP3 15 84-886 149-1800 7 0.00028%
WRP4 16 110-844 188-1691 3 0.00109%
RNN tutorial G. Rubino, Irisa/Inria slide 57
(6: WAN design)��
��
� �More results Nb. Nodes Edges Avg. LS Avg. exec.
inst. improv. times (s/itr
C 6 500 625-2500 19.95% 12.13
MC 2 97-120 4656-7140 24.89% 2.07
X 2 52-58 1326-1653 11.00% 0.73
PUC 4 64-128 192-750 21.04% 1.27
I080 57 80 120-3160 17.01% 0.85
I160 18 160 240-2544 21.46% 3.18
I320 10 320 480-10208 24.93% 9.2
I640 10 640 960-4135 24.33% 27.15
P6E 10 100-200 180-370 23.75% 1.83
P6Z 5 100-200 180-370 22.01% 1.10
WRP3 15 84-886 149-1800 20.3% 17.00
WRP4 16 110-844 188-1691 32.36% 22.56
RNN tutorial G. Rubino, Irisa/Inria slide 58
(6: WAN design)��
��
� �Some remarks
➤ The results on the benchmark set show good quality solutions.
➤ In 40 cases (out of 155) the lower bound was reached (implying
optimality).
➤ In most cases the gap with respect to the known lower bound was
quite small (less than 5% on the average, in 7 out of 12 problem
classes).
➤ The underlying RNN improved significantly the solutions delivered
by the construction phase: over 20% of improvement, on the average,
for most problem classes (and always over 10%).
RNN tutorial G. Rubino, Irisa/Inria slide 59
7: Bibliography��
��
� ��Basic papers
The RNN model was introduced by Erol Gelenbe mainly in the following
papers:
➤ Random neural networks with negative and positive signals andproduct form solution. E. Gelenbe. InNeural Computation,
1(4):502–511, 1989.
➤ Stability of the random neural network model. E. Gelenbe. In
Neural Computation, 2(2):239–247, 1990.
➤ Learning in the recurrent random neural network. E. Gelenbe. In
Neural Computation, 5(1): 154–511, 1993.
RNN tutorial G. Rubino, Irisa/Inria slide 60
(7: Bibliography)��
��
� ��Applications of RNN and related topics
See also Vol. 126, Issue 2, 2000, of European Journal of Operations
Research, on G-networks, and the numerous references in the papers of
this special issue.
To give a few specific examples,
➤ In learning, for instance
� Random Neural Network Filter for Land Mine Detection.
H. Abdelbaki, E. Gelenbe, T. Koc¸ak and S. El-Khamy. In
NRSC’99, El Cairo, Egypt, February 1999.
� Pictorial Information Retrieval Using the Random NeuralNetwork. A. Stafylopatis and A. Likas. InIEEE TRans. on
Software Engineering, 18(7): 590–600, 1992.
RNN tutorial G. Rubino, Irisa/Inria slide 61
(7: Bibliography)��
��
➤ In optimization,� Using the General Energy Function of the Random Neural
Networks to solve the Graph Partitioning Problem. J. Aguilar.
In Proc. of the Int. Conf. on Neural Networks, IEEE Neural
Networks Council, pp. 2130–2135, Washington, D.C., USA, June
1996.
� A Qualitative Comparison of Neural Network Models Appliedto the Vertex Covering Problem. A. Ghanwani. InELEKTRIK,
2(1), April 1994.
➤ Other topics where RNNs have been successfully used: Travelling
Salesman Problem, Error Correction Codes, Image Compression,
application in Magnetic Resonance Imaging, Texture Generation,
Packet Network Routing,...
RNN tutorial G. Rubino, Irisa/Inria slide 62
(7: Bibliography)��
��
� �Our work
Details on the PSQA approach and the analysis of the impact of different
factors on quality:
➤ for video, seeA Study of Real-Time Packet Video Quality UsingRandom Neural Networks, S. Mohamed and G. Rubino,IEEE
Transactions on Circuits and Systems for Video Technology, 12(12),
2002;
in this paper, some comparisons between standard Neural Networks
and RNNs are provided (showing that for this application at least,
RNNs are superior);
RNN tutorial G. Rubino, Irisa/Inria slide 63
(7: Bibliography)��
��
➤ for audio, seePerformance Evaluation of Real-time SpeechThrough a Packet Network: a Random Neural Network BasedApproach, S. Mohamed, G. Rubino, M. Varela,Performance
Evaluation, 57 (2), 2004;
some comments are given here on other possible tools (as Bayesian
networks; again, RNNs appear to be superior).
RNN tutorial G. Rubino, Irisa/Inria slide 64
(7: Bibliography)��
��
� ��Our work (cont’d)
A more recent work resuming the PSQA technique is
➤ Using Random Neural Networks to quantify the quality of audioand video transmissions over the Internet: the PSQA approach,
G. Rubino,Design and Operations of Communication Networks: A
Review of Wired and Wireless Modelling and Management
Challenges, ed. by J. Barria, ICP, UK, 2005;
RNN tutorial G. Rubino, Irisa/Inria slide 65
(7: Bibliography)��
��
� ��Our work (cont’d)
➤ for performance evaluation aspects, seeA new approach for theprediction of end-to-end performance of multimedia streams,G. Rubino and M. Varela, in QEST’04, IEEE CS Press, Sept. 2004,Twente, Netherlands;
➤ for an application of our approach to FEC analysis in VoIP, seeEvaluating the utility of media-dependent FEC in VoIP flows,G. Rubino and M. Varela, in Lecture Notes in Computer Science3266, Springer Verlag, 2004.
➤ for some complementary comparisons with other approachesattempting to handle quality (audio), seeA method for quantitativeevaluation of audio quality over packet networks and itscomparison with existing techniquesS. Mohamed, G. Rubino and M. Varela, in MESAQUIN’04, Prague,June 2004).
RNN tutorial G. Rubino, Irisa/Inria slide 66
(7: Bibliography)��
��
� ��Our work (cont’d)
➤ See alsoWireless VoIP at Home: Are We There Yet?. G. Rubino,
M. Varela and J.-M. Bonnin, In MESAQUIN’05, Prague, June 2005.
Concerning the case study in WAN design, see
➤ A GRASP algorithm with RNN based local search for designing aWAN access network. H. Cancela, F. Robledo and G. Rubino. In
LACGA’04, Santiago, Chile, August 2004.
(For an extensive bibliography on GRASP, go to
http://www.research.att.com/˜mgcr/
grasp/gannbib/gannbib.html
)
RNN tutorial G. Rubino, Irisa/Inria slide 67