• Nenhum resultado encontrado

Redes Neurais Artificiais

N/A
N/A
Protected

Academic year: 2021

Share "Redes Neurais Artificiais"

Copied!
13
0
0

Texto

(1)

Prof. Ivan Nunes da Silva

Redes Neurais Artificiais

AULA 04 – Redes ADALINE

2

1. Rede ADALINE

Aspectos históricos do ADALINE

z

O ADALINE (Adaptive Linear Element) foi idealizado por

Widrow & Hoff em 1960.

z

Sua principal aplicação estava em sistemas de

chaveamento de circuitos telefônicos.

z

Esta foi uma das primeiras aplicações industriais que

envolveram efetivamente a utilização das redes neurais

artificiais.

z

Embora seja também um tipo de rede bem simples (um

único neurônio), o ADALINE promoveu alguns outros

avanços para a área de redes neurais, isto é:

¾

Desenvolvimento do algoritmo de aprendizado regra Delta.

¾

Aplicações em diversos problemas práticos envolvendo

processamento de sinais analógicos.

(2)

3

2. Arquitetura do ADALINE

Aspectos Topológicos

1) Rede ADALINE é constituída de n sinais de entrada e somente uma saída (composta de um único neurônio).

2) Assim como o Perceptron, a rede ADALINE possui também arquitetura feedforward de camada única, pois o fluxo de informações é realizado sempre adiante.

3) Assim como o Perceptron, a rede ADALINE, devida ainda à sua simplicidade estrutural, tem sido também mais utilizada em problemas de “Classificação de

Padrões”, envolvendo apenas duas classes distintas.

z

Ilustração da rede ADALINE:

Sinais de entradaÎ{x1, x2,..., xn}

Pesos sinápticosÎ{w1, w2,..., wn}

Combinador linearÎ{Σ} • Limiar de ativaçãoÎ{θ} • Potencial de ativaçãoÎ{u}Função de ativaçãoÎ{g}Sinal de saídaÎ{y}Valor desejadoÎ{d}

Valor de erroÎ{erro} entre {d} e {u} x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador 4

z

Passos para obtenção da resposta (saída):

3. Princípio de Funcionamento

Resumo do funcionamento do ADALINE

1)Apresentação de um conjunto de valores que representam as

variáveis de entrada do neurônio.

2)Multiplicação de cada entrada pelo seu respectivo peso sináptico.

3)Obtenção do potencial de ativação produzido pela soma ponderada

dos sinais de entrada, subtraindo-se o limiar de ativação.

4)Aplicação de uma função de ativação apropriada, tendo-se como

objetivo limitar a saída do neurônio.

5)Compilação da saída a partir da aplicação da função de ativação

neural em relação ao seu potencial de ativação.

6)Presença de bloco associador, cuja função é produzir o sinal de “erro”

entre “d” e “u” a fim de auxiliar no treinamento da rede.

)

(u

g

y

=

1 0 n n i i i i i i

u

w

x

w

x

= =

=

⋅ − θ =

erro

= −

d

u

x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador

(3)

5

z

Aspectos de aplicabilidade:

3. Princípio de Funcionamento

Aplicabilidade em classificação de padrões

1)Assim como no Perceptron, devido às suas características estruturais, as

funções de ativação do ADALINE são a “degrau” ou “degrau bipolar”.

2)Assim, tem-se também apenas “duas possibilidades” de valores a serem

produzidos pela sua saída, ou seja, valor 0 ou 1 (para a função de ativação Degrau), ou ainda, valor -1 ou 1 (para a função Degrau Bipolar).

⎩ ⎨ ⎧ < ≥ = 0 se , 0 0 se , 1 ) ( u u u g ⎩ ⎨ ⎧ < − ≥ = 0 se , 1 0 se 1, ) ( u u u g

Degrau

Degrau Bipolar

)

(u

g

y

=

1 0 n n i i i i i i

u

w

x

w

x

= =

=

⋅ − θ =

x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador g(u) u 1 −1 g(u) u 1 6

3. Princípio de Funcionamento

Parâmetros característicos do ADALINE

Parâmetro Variável Representativa Tipo Característico

Entradas xi (i-ésima entrada) Reais ou Binária (advindas externamente) Pesos Sinápticos wi (associado a xi) Reais (iniciados aleatoriamente) Limiar θ (iniciado aleatoriamente) Real

Saída y Binária

Função de Ativação g(.) Degrau ou Degrau Bipolar Processo de Treinamento --- Supervisionado

Regra de Aprendizado --- Regra Delta

z

Aspectos de aplicabilidade:

Sinais de entradaÎ{x1, x2,..., xn}

Pesos sinápticosÎ{w1, w2,..., wn}

Combinador linearÎ{Σ} • Limiar de ativaçãoÎ{θ} • Potencial de ativaçãoÎ{u}Função de ativaçãoÎ{g}Sinal de saídaÎ{y}Valor desejadoÎ{d}

Valor de erroÎ{erro} entre {d} e {u}

x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador

(4)

7

3. Princípio de Funcionamento

Processo de treinamento supervisionado

Parâmetro Variável Representativa Tipo Característico

Entradas xi (i-ésima entrada) Reais ou Binária (advindas externamente) Pesos Sinápticos wi (associado a xi) Reais (iniciados aleatoriamente) Limiar θ (iniciado aleatoriamente) Real

Saída y Binária

Função de Ativação g(.) Degrau ou Degrau Bipolar Processo de Treinamento --- Supervisionado

Regra de Aprendizado --- Regra Delta

z

Aspectos do treinamento supervisionado:

1)Assim como no Perceptron, o ajuste dos pesos e limiar do ADALINE é

efetuado utilizando processo de treinamento “Supervisionado”.

2)Então, para cada amostra dos sinais de entrada se tem a respectiva saída

(resposta) desejada.

3) Como o ADALINE é tipicamente usado em problemas de classificação de

padrões, a sua saída pode assumir somente dois valores possíveis, os quais se associam às “duas classes” que o mesmo estará identificando.

4)A diferença principal entre o ADALINE e o Perceptron está principalmente na regra de aprendizado utilizada para os ajustes dos pesos e limiar.

8

1)Assim como no Perceptron, para problemas de classificação dos sinais de

entrada, tem-se então duas classes possíveis para a saída do ADALINE, denominadas de Classe A e Classe B.

2)Então, como se tem somente “duas possibilidades” de valores a serem

produzidos na saída do ADALINE, podem-se ter as seguintes associações para a sua saída { y = g(u) }:

z

Aspectos de aplicabilidade:

3. Princípio de Funcionamento

Mapeamento de problemas de classificação de padrões

⎩ ⎨ ⎧ < ≥ = 0 se , 0 0 se , 1 ) ( u u u g ⎩ ⎨ ⎧ < − ≥ = 0 se , 1 0 se 1, ) ( u u u g

Degrau

Degrau Bipolar

, se 0 ( ) , se 0 u g u u ≥ ⇒ ∈ ⎧ = ⎨ < Classe A Classe x B x 1 0 g(u) u 1 −1 , se 0 ( ) , se 0 u g u u ≥ ⇒ ∈ ⎧ = ⎨ < Classe A Classe B x x 1 1

(5)

9

¾Assumindo-se aqui um ADALINE com apenas duas entradas, tem-se:

z

Análise matemática do ADALINE:

3. Princípio de Funcionamento

O quê acontece internamente no ADALINE?

¾Usando a função de ativação sinal, a saída do ADALINE seria dada por:

2 1 1 1 2 2 θ θ n i i i u w x w x w x = = ⋅ + =

⋅ − ⇒ ⋅ − ) (u g y= 1 1 2 2 1 1 2 2 θ 0 1, se θ 0 ( ) 1, se θ 0 θ 0 i i i i w x y g u w x w x w x w x w x ⎧ ⋅ − ≥ ⇔ ⎪ = = ⋅ + ⋅ − ≥ ⋅ + ⋅ − ⎨ − ⋅ − < ⇔ ⎪ < ⎩

Conclusão:Assim como o Perceptron, o ADALINE é também um classificador linearque pode ser usado para classificar duas classes.

x1

Σ

g(.) w1 w1 x2 ww22 −θ u y erro d − + − + Bloco associador g(u) u 1 −1 , se 0 ( ) , se 0 u g u u ≥ ⇒ ∈ ⎧ = ⎨ < Classe A Classe B x x 1 1 10

¾

O processo de ajuste dos pesos e limiar do ADALINE é baseado

no algoritmo de aprendizado denominado de regra Delta,

também conhecida pelos seguintes nomes:

™Regra de aprendizado de Widrow-Hoff.

™Algoritmo LMS (Least Mean Square).

™Método do Gradiente Descendente.

¾

Assumindo-se a disponibilidade de p amostras de treinamento, o

princípio envolvido com a aplicação da regra Delta, objetivando

ajustar os pesos e limiar do neurônio, é a seguinte:

z

Aspectos do processo de treinamento:

4. Processo de Treinamento

Princípio da regra Delta

1 2

[

]

T n

w

w

w

= θ

w

™Minimizar a diferença (erro)entre

a saída desejada d e a resposta do combinador u, considerando-se para tanto todas as p amostras.

™Mais especificamente, utiliza-se a

minimização do Erro Quadrático

entre u e d com o intuito de ajustar o vetor de pesos {w} da rede.

x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador

(6)

11

¾

Consiste de obter um w* ótimo tal que o

Erro Quadrático

{E(w*)}

sobre todo o conjunto de amostras seja o mínimo possível, isto é:

z

Objetivo do algoritmo:

4. Processo de Treinamento

Derivação do algoritmo regra Delta (I)

1 para ), ( *) ( ≤E ∀ ∈ℜn+ Ew w w

¾

A função

Erro Quadrático

em relação às p amostras

de treinamento é definida por:

( ) 2 1 1 ( ) ( ) 2 p k k E d u = =

w

¾

Usando o valor de u na expressão

acima, obtém-se:

( ) ( ) 2 1 1 1 ( ) ( ) 2

(

)

p n k k i i k i E d w x = = =

⋅ − θ w ( ) ( ) 2 1 1 ( ) ( ) 2

(

)

p k T k k E d = =

− ⋅ − θ w w x

¾

Em forma vetorial, tem-se:

Conclusão:Esta expressão acima totaliza

o erro quadrático contabilizando-se as p amostras de treinamento.

)

(u

g

y

=

( ) 1 n k i i i

u

w

x

=

=

− θ

x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador 12

¾

Consiste de aplicar o operador gradiente em relação ao vetor w,

tendo-se como objetivo a busca do valor ótimo para o erro

quadrático, isto é:

z

Aplicação do operador Gradiente:

4. Processo de Treinamento

Derivação do algoritmo regra Delta (II)

¾

Considerando o valor de E(w) na

expressão acima, obtém-se:

)

(u

g

y

=

( ) 1 n k i i i

u

w

x

=

=

− θ

w w w ∂ ∂ = ∇E( ) E( ) ( ) ( ) 2 1 1 ( ) ( ) 2 ( ) p k T k k E d = =

− ⋅ − θ w w x ( ) ( ) ( ) 1 ( )

(

( ) (

)

) p k T k k k u E d = ∇ w =

w x − θ ⋅ − x

¾

Retornando o valor de u na

expressão acima, tem-se:

( ) ( ) 1 ( ) p

(

k

)

k k E d u = ∇ w = −

− ⋅x

Conclusão:Esta expressão acima fornece

o valor do gradiente do erro em relação a todas as amostras de treinamento.

x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador

(7)

13

¾

Agora, deve-se associar o valor do gradiente ao procedimentos de

ajustes do vetor de pesos {w}.

¾

Assim, a adaptação do vetor de pesos devem ser efetuado na

direção oposta àquela do gradiente, pois o objetivo da otimização

é minimizar o erro quadrático médio entre d e u.

¾

Nesta condição, a variação Δw a ser efetivada no vetor de pesos

do ADALINE é dada por:

z

Ajuste do vetor de pesos:

4. Processo de Treinamento

Derivação do algoritmo regra Delta (III)

¾

Inserindo o resultado de ∇E(w) na

expressão acima, tem-se:

) (w w=−η⋅∇E Δ ( ) ( ) 1 ( ) p

(

k

)

k k E d u = ∇ w = −

− ⋅x ( ) ( ) 1 ( ) p k k k d u = Δ = ηw

− ⋅x

¾

De forma complementar, pode-se exprimir Δw por:

( ) ( ) 1 ( ) p atual anterior k k k d u = = + η

− ⋅ w w x 14

¾

Por razões de simplificação computacional, a atualização de w

pode ser também realizada de forma discreta.

¾

Neste caso, um passo de ajuste em w é realizado após a

apresentação de cada k-ésima amostra de treinamento, ou seja:

z

Simplificação algorítmica:

4. Processo de Treinamento

Derivação do algoritmo regra Delta (IV)

¾

Em notação algorítmica, tem-se:

( ) ( ) 1 ( ) p atual anterior k k k d u = = + η

− ⋅ w w x ( ) ( ) ( ) , 1 atual= anterior+ η⋅ dk − ⋅u k k= …p w w x ( ) ( ) (dk u) k, k 1 p ← + η⋅ − ⋅ = … w w x 1 2 [ ]T n w w w = θ … w onde: ( ) ( ) ( ) ( ) 1 2 [ 1 ] k k k k T n x x x = − … x ) (k

d é o valor desejado para k-ésima amostra de treinamento.

η

é a taxa de aprendizagem {0 < η < 1}. x1 ww11 x3 −1 xn x2 ww22 θ = w0

Σ

u g(.) y erro d w3 w3 wn wn − + − + Bloco associador

(8)

15

¾A interpretação geométrica frente aos passos de atualização der w, rumo ao

ponto de minimização w* da função erro quadrático {E(w)}, é dada pela seguinte ilustração:

z

Interpretação geométrica (processo de convergência

do ADALINE):

4. Processo de Treinamento

Derivação do algoritmo regra Delta (V)

w * w(0) Δw ( ) E ∂ −η⋅ w w w E(w) w(1) w(2) 1) Parte-se de um valor inicial w(0);

2) O próximo valor de w (dado por w(1)) será obtido considerando-se a direção oposta

ao vetor gradiente em relação a w(0);

3) Para o próximo passo de atualização, o ajuste de w (representado agora por w(2))

será realizado considerando-se o valor do gradiente em relação à w(1);

4) Aplicando-se tais passos sucessivamente, haverá a convergência em direção a w*;

5) Este valor de w* será a configuração ótima para os parâmetros livres do ADALINE;

6) O valor de E(w*) será então sempre menor que quaisquer

E(w) calculados nos passos anteriores. (k+1)= ( )k − η⋅E( ) ∂ w w w w ( ) E ∂ Δ = −η⋅ ∂ w w w Descida Gradiente 16

¾Com a aplicação dos passos iterativos anteriores, o vetor w caminhará em

direção ao seu valor ótimo {w*}.

¾Para se detectar o alcance de w*, a fim de cessar o processo de

convergência, há a necessidade de se estabelecer um critério de parada.

¾Para tanto, utiliza-se o valor do erro quadrático médio {Eqm(w)} em relação

a todas as amostras de treinamento, sendo este definido por:

z

Critério de parada do algoritmo:

4. Processo de Treinamento

Derivação do algoritmo regra Delta (VI)

w * w(0) Δw ( ) E ∂ −η ⋅ ∂ w w w E(w) w(1) w(2) ( ) 2 1 1 ( ) ( ) p k qm k E d u p = =

w

¾O algoritmo converge quando o

erro quadrático médio entre duas épocas sucessivas for bem pequeno, isto é:

( ) ( )

|

atual anterior

|

qm qm

E wE w

ε

onde

ε

é a precisão requerida

para o processo de convergência

(9)

17

¾ Supõe-se que um problema a ser mapeado pelo ADALINE tenha três

entradas { x1, x2, x3 }, conforme a figura ao lado (abaixo).

¾ Assume-se que se tem quatro amostras, constituída dos seguintes

valores de entrada:

Amostra 1ÎEntrada: [0,1 0,4 0,7] Æ Saída desejada: [ 1] Amostra 2ÎEntrada: [0,3 0,7 0,2] Æ Saída desejada: [-1] Amostra 3ÎEntrada: [0,6 0,9 0,8] Æ Saída desejada: [-1] Amostra 4ÎEntrada: [0,5 0,7 0,1] Æ Saída desejada: [ 1]

z

Montagem de conjuntos de treinamento:

5. Implementação Computacional

Aspectos de preparação de dados

¾ Então, de forma similar ao Perceptron, pode-se converter tais sinais para

que estes possam ser usados no treinamento do ADALINE:

x(1)= [-1 0,1 0,4 0,7]T Æcom d(1)= 1 x(2) = [-1 0,3 0,7 0,2]T Æcom d(2)= -1 x(3)= [-1 0,6 0,9 0,8]TÆcom d(3)= -1 x(4)= [-1 0,5 0,7 0,1]TÆcom d(4)= 1 Conjunto de treinamento forma matricial

¾ Geralmente, as amostras de treinamento são

disponibilizadas em sua forma matricial (por meio de arquivo texto ou planilha).

x1 ww11 x3 −1 x2 w2 θ = w0 w3 w3

Σ

u g(.) y erro d − + − + 18

z

Pseudocódigo para fase de treinamento:

5. Implementação Computacional

Algoritmo de aprendizagem (fase de treinamento)

Critério de parada ÎO algoritmo converge quando o erro quadrático médio {Eqm}

entre duas épocas sucessivas for menor ou igual à precisão {ε} requerida ao problema mapeado pelo ADALINE.

(10)

19

z

Pseudocódigo para fase de operação:

1 2 [ 1 ]T n x x x = − … x

5. Implementação Computacional

Algoritmo de aprendizagem (fase de operação)

Obs. 1ÎA “Fase de Operação” é usada somente após a fase de treinamento, pois aqui a rede já está apta para ser usada no processo.

Obs. 2ÎA “Fase de Operação” é então utilizada para realizar a tarefa de

classificação de padrões frente às novas amostras que serão apresentadas à rede.

Obs. 3ÎLembrar de incluir o valor -1 dentro do vetor x, pois será multiplicado por w.

1 2 [ ]T n w w w = θ … w 20

z

Pseudocódigo para o erro quadrático médio:

5. Implementação Computacional

Algoritmo de aprendizagem (erro quadrático médio)

Obs. 1ÎO algoritmo do erro quadrático médio deve ser implementado por meio de uma sub-rotina (função).

Obs. 2ÎTodas as amostras de treinamento devem ser contabilizadas no cálculo do valor do erro quadrático médio.

(11)

21

z

Ilustração do processo de convergência:

5. Implementação Computacional

Aspectos de convergência (I)

¾ Processo de treinamento do ADALINE tende a mover continuamente

o seu vetor de pesos, tendo-se o intuito de minimizar o erro quadrático em relação a todas as amostras disponíveis para o aprendizado.

¾ As figuras mostram duas situações que ilustram a convergência do

ADALINErumo à estabilização, considerando-se para fins didáticos

apenas duas entradas {x1e x2}.

¾ Observa-se que nestas duas situações, cujos vetores de pesos iniciais

w(0)foram iniciados em posições distintas, o processo de

convergência encaminha o hiperplano sempre para o mesmo local.

¾ Nesses casos, o valor correspondente a w* é sempre aquele que

minimiza a função erro quadrático.

x2 x1 A A A A A A A (1) (2) (3) (...) x2 x1 B B B B B B B A A (1) (2) (3) (...) Hiperplano

ótimo Hiperplano ótimo

A A A A A B B B B B B B 22

z

Comportamento da função erro quadrático:

5. Implementação Computacional

Aspectos de convergência (II)

¾ Para fins de interpretação, a figura mostra o comportamento do erro

quadrático médio (Eqm) em função do número de épocas de treinamento.

¾ Constata-se então que a curva do erro quadrático médio para o

ADALINEé sempre descendente.

¾ Esta decresce na medida em que as épocas de treinamento vão sendo

executadas.

¾ Finalmente, estabiliza-se num valor constante quando o ponto de

mínimo da função erro quadrático médio for alcançado

Eqm(w)

Épocas

Eqm(w*)

Eqm(w(0))

(12)

23

z

Diferenças entre treinamento do ADALINE e Perceptron:

6. Aspectos Comparativos

Comparação entre ADALINE e Perceptron (I)

¾ADALINEÎTreinamento usando Regra Delta (Minimização do erro em relação a todas as amostras de treinamento).

™Independentemente dos valores iniciais atribuídos a w, o hiperplano de separabilidade (após convergência) sempre será o mesmo.

¾PerceptronÎTreinamento usando Regra de Hebb (Avaliação das respostas produzidas após apresentação de cada amostra de treinamento).

™Quaisquer hiperplanos posicionados dentro da faixa de separabilidade entre as classes são considerados soluções factíveis.

x2 x1 B B B B B B B A A A A A A A Hiperplano ótimo (único) x2 x1 B B B B B B B A A A A A A A Hiperplanos factíveis (vários) Perceptron Adaline 24

z

Aspectos de robustez (fase de operação):

6. Aspectos Comparativos

Comparação entre ADALINE e Perceptron (II)

¾ADALINEÎA inclinação do hiperplano é ajustada por intermédio do método dos mínimos quadrados dos erros (processo otimizado).

™ Maior tendênciade imunidade a eventuais ruídos que podem afetar o processo em que a mesma está mapeando.

¾PerceptronÎO hiperplano que separa as classes pode ter infinitas disposições, pois sua configuração final é fortemente do valores inicial de w.

™ Menor tendênciade imunidade a eventuais ruídos que podem afetar o processo em que a mesma está mapeando.

x2 x1 B B B B B B B A A A A A A A x2 x1 B B B B B B B A A A A A A A Perceptron Adaline A A

¾ADALINEÎprobabilidade menor de classificar a amostra incorretamente.

¾PerceptronÎprobabilidade maior de classificar a amostra incorretamente.

(13)

25

1)

Explique por que o treinamento do ADALINE se processa

normalmente de forma mais rápido que aquele do Perceptron.

{Exercício 2}

2)

Discorra se a afirmação seguinte é verdadeira ou falsa.

Independentemente dos valores iniciais assumidos para o vetor

de pesos do ADALINE, uma mesma configuração final para w*

será sempre obtida após a sua convergência.

{Exercício 8}

3)

Explique, considerando a questão anterior, se o número de

épocas de treinamento será também igual, independentemente

do seu vetor de pesos iniciais.

{Exercício 9}

4)

Considerando-se que um problema a ser mapeado pelo

ADALINE

não seja linearmente separável, explique então se

para esta situação o processo de treinamento (por meio do

algoritmo regra Delta) também convergirá.

{Exercício 1}

6. Questões do ADALINE

Reflexões, observações e aspectos práticos

26

Fim da Apresentação

## EPC-02 ##

Referências

Documentos relacionados

Inscrições prorrogadas até 9 de outubro para Vestibular UFSC 2018 Inscrições para vestibular da UFSC são prorrogadas até

Não são mencionadas também estratégias específicas para realizar a gestão deste ponto em específico ou um processo de alinhamento e gestão de interesses como

No experimento de pH 6,0, logo no início, há um leve aumento de pH (6,3), porém quando ocorre o início de produção de hidrogênio, o pH começa a diminuir até

As pegadas patinadas sobre o coração, que estaria coberto por pó (talvez, mumificado), desenham uma passagem de tempo. Dialeticamente, as ações continuam seu curso enquanto há

Assim, ao lado da formação moral religiosa, o Instituto visava profissionalizar o sexo feminino, especialmente as mulheres que necessitassem trabalhar, pois a sua fundadora entendia

To determine the prescription drugs at the highest risk of causing severe drug interactions we used regression adjusted by the risk factors identified and those already reported as

Após a realização de todos os ensaios de caracterização mencionados, iniciou-se um novo Ensaio de Compactação fazendo uso da metodologia “RAMCODES”, a qual

Apesar da existência do projeto desde 2004 e da inserção da ação como área de atuação do Mafra em Forma da SMS - programa institucionalizado por meio de lei - o desafio atual