• Nenhum resultado encontrado

Métodos de Otimização do Projeto

No documento Statistically Enhanced Analog Design (páginas 30-36)

As secções anteriores focaram a estimação do comportamento dos circuitos na presença da variabilidade dos parâmetros dos seus elementos constituintes. Um outro problema se levanta quando, face aos resultados desta estimação, se pretende optimizar o projeto com vista a tornar o circuito menos sensível a essa variabilidade. Neste sentido, dois tipos de abordagens principais são possíveis, isto não considerando a simples substituição dos componentes por outros que apre- sentem menor dispersão de valores possíveis, como seria o caso da substituição de resistências de determinada tolerância por outras que apresentem menor tolerância. Tal procedimento não é pos- sível tratando-se do caso do fabrico de circuitos integrados, embora se possa recorrer a algumas

2.3 Métodos de Otimização do Projeto 15

alternativas durante o desenho topográfico (layout), e neste trabalho considera-se a optimização durante a fase anterior de projeto.

A primeira dessas duas abordagens consiste em reformular a topologia substituindo o circuito, em todo ou em parte, por outros circuitos que apresentem intrinsecamente melhor comportamento em termos de sensibilidade a essas variações. Por exemplo, a introdução de realimentação, se pos- sível, pode permitir tal objetivo. No entanto, estas abordagem têm um carácter ad-hoc e requerem do projetista uma elevada experiência e conhecimento que lhe permita identificar a que soluções pode recorrer. Uma abordagem mais comum, e à qual se tem vindo a recorrer mais frequente- mente, é a que recorre a circuitos auxiliares controlados digitalmente (digitally-assisted analog design) [12]. Esta abordagem apresenta as vantagens de permitir um bom ajuste dos valores dos componentes alvo e de estar disponível não só após o fabrico mas também ao longo de todo o tempo de vida do circuito. Em contrapartida, apresenta a desvantagem de obrigar à utilização de uma área maior de implementação e a um maior consumo de potência. Podem ainda surgir outras desvantagens em termos da degradação do comportamento do circuito ou da introdução de outras fontes de ruído.

O segundo tipo de abordagem diz respeito à otimização dos valores dos componentes de modo a obter a combinação que melhor comportamento apresenta em termos da sensibilidade a vari- ações. É esta a que está em causa neste trabalho. Há dois objetivos principais no processo de dimensionamento de um circuito: adoptar métodos de dimensionamento automático; e encontrar soluções para problemas difíceis de tratar manualmente [13]. No âmbito deste segundo objetivo cabem métodos baseados em algoritmos de aprendizagem automática machine learning de busca de soluções ótimas, dados determinadas restrições e objetivos. Matematicamente, tal corresponde a

minimizar f(x), su jeito a g(x) ≥ 0 e h(x) = 0, x∈ [XL, XH] (2.2) Estes métodos podem dividir-se em determinísticos e estocásticos. Os determinísticos in- cluem, e. g., os métodos de Newton e Levenberg-Marquardt e podem encontrar-se já implemen- tados em alguns simuladpres, como o HSPICE [14]. Porém, apresentam as desvantagens de: (a) exigirem uma boa solução inicial, (b) poderem conduzir a mínimos insatisfatórios, e frequente- mente requererem que as funções objetivo sejam contínuas e diferenciáveis. Entre os métodos estocásticos encontram-se os algoritmos genéticos [15], evolução diferencial [16], programação genética [17], particle swarm optimization [18], colony bees [19], learnable evolution model [20]. Contudo, a eficiência destes métodos é dependente dos parâmetros escolhidos para usar nos al- goritmos, da dimensão do espaço de soluções, e do número de varáveis. Como consequência o tempo de cálculo tende a aumentar com o aumento da complexidade do problema formulado. É com vista a ultrapassar estas desvantagens que os algoritmos baseados em heurísticas naturais, swarm intelligence, têm vindo a ser investigados [21].

No método proposto nesta dissertação procura-se explorar a aplicação de um método de opti- mização, determinístico ou estocástico, para encontrar os valores dos componentes de um circuito

16 Projecto de Circuitos e Variabilidade dos Processos de Fabrico

que maximizam o seu desempenho. As simulações necessárias para aplicar o método de optimiza- ção deveram ser obtidas com recurso a um dos algoritmos de amostragem estatística referenciados sub-capítulo anterior.

Capítulo 3

Expectation Maximization

Neste capítulo apresenta-se o algortimo Expectation Maximization. Depois da sua descrição formal, discute-se como pode ser aplicado ao projecto em questão e quais as suas vantagens quer em termos de fiabilidade dos resultados quer do tempo de execução do algoritmo. Por último são apresentados os resultados obtidos e feita uma análise comparativa em relação aos outros métodos previamente apresentados.

3.1

Definição

O algoritmo Expectation-Maximization é um algoritmo iterativo que recorre ao método da máxima verosimilhança para obtenção de estimadores de parâmetros em modelos estatísticos [22]. O algoritmo foi introduzido em 1977 num paper da autoria de Arthur Dempster, Nan Laird e Donald Rubin [23] e recebeu este nome por se tratar de um algoritmo iterativo em que cada iteração consiste em dois passos: O passo de expectation seguido do passo de maximization.

O propósito da estimação da máxima verosimilhança é encontrar parâmetros que maximizam a probabilidade de se ter observado certos valores de uma variável aleatória distribuída de acordo com uma determinada função densidade de probabilidade. Assumindo que temos uma variável Y e um vector de amostras dessa variável y = (y1, ..., yN)T, a "probabilidade"de se ter medido yi

sabendo que a fdp é uma função do parâmetro Θ é dada por:

p(yi|Θ) (3.1)

A função de verosimilhança é definida como função de Θ e é igual à probabilidade de se ter medido o vector Y (assumindo medições independentes):

L(Θ) = p(y|Θ) =

N

i=1

p(yi|Θ) (3.2)

Como o estimador de máxima verosimilhança é obtido maximizando L, os cálculos são facili- tados considerando o logaritmo de L (logaritmo é estritamente crescente logo os maximizantes do

18 Expectation Maximization log(L) e de L coincidem) logL(Θ) = N

i=1 logp(yi|Θ) (3.3)

O objectivo do algoritmo EM é facilitar a estimação do parâmetro Θ introduzindo uma variável aleatória "escondida", Z, não observável, que por isso define os dados não observados. Se z for um vector de dados não observados de Z, define-se os dados completos x como os dados observados ye não observados z:

x= (yT, zT)T (3.4)

Então o logaritmo da função de verosimilhança para os dados completos é

logLC(Θ) = logp(x|Θ) (3.5)

Considerando o valor esperado da função completa de verosimilhança (E-step)

E[logLC(Θ)|y, Θ(i)], (3.6)

o algoritmo EM maximiza iterativamente este valor esperado da seguinte forma

Θi+1= argmaxΘE[logLC(Θ)|y, Θ(i)]. (3.7)

3.1.1 EM aplicado a misturas de gaussianas

Uma mistura finita de distribuições de probabilidade consiste numa distribuição composta pela mistura de várias distribuições. O nome mistura deriva do facto de a função de distribuição de probabilidade de uma observação aleatória ser uma mistura de várias fdps distintas na forma

f(x) = K

i=1 ηifi(x) (3.8) em que K

i=1 ηi= 1, (3.9)

sendo ηi> 0, ∀i e fi(x), ∀i uma função de probabilidade distinta e conhecida, contendo cada uma

um ou mais parâmetros desconhecidos.

Supondo que os dados são representados por uma mistura de duas distribuições normais, N(µ1, σ12) e N(µ2, σ22) e sendo η o parâmetro de mistura, temos que a função de densidade de

probabilidade da mistura é dada por

3.1 Definição 19 sendo: fj(x) = 1 p2πσj exp −(x − µj) 2 2σ2j ! , j = 1, 2 (3.11)

Para uma amostra de dimensão n, o parâmetro desconhecido θ = (η, µ1, µ2, σ12, σ22) pode ser

estimado recorrendo ao algoritmo EM [24]. Dada a estimativa actual de θ , ˆθ(k)= ( ˆη , ˆµ1, ˆµ2, ˆσ12, ˆσ22),

a estimativa seguinte ˆθ(k+1)é actualizada da da seguinte forma:

ˆ η(k+1)=∑ n i=1qik n (3.12) ˆ µ2,(k+1)=∑ n i=1qikxi ∑ni=1qik (3.13) ˆ µ1,(k+1)= ∑ n i=1(1 − qik)xi ∑ni=1(1 − qik) (3.14) ˆ σ2,(k+1)2 =∑ n i=1qik(xi− ˆµ2,(k))2 ∑ni=1qik (3.15) ˆ σ1,(k+1)2 =∑ n i=1(1 − qik)(xi− ˆµ1,(k))2 ∑ni=1(1 − qik) (3.16) em que qik= E(Di|xi; ˆθ(k)) = ˆ η(k)fˆ2,(k)(xi) ˆ η(k)fˆ2,(k)(xi) + (1 − ˆη(k)) ˆf1,(k)(xi) (3.17) e ˆ fj,(k)(x) = 1 p2π ˆσj,(k) exp −(x − ˆµj,(k)) 2 2 ˆσ2j,(k) ! , j = 1, 2. (3.18) Escolhendo um valor inicial ˆθ0, este procedimento é facilmente implementável tendo como

critério de paragem a distância euclidiana entre os vectores de parâmetros de duas iterações con- secutivas ser inferior a um determinado valor (por exemplo 10−6).

Para efeito de simplificar e encurtar as expressões matemáticas foram apenas apresentadas as fórmulas para uma aplicação baseada numa mistura de duas gaussianas. No entanto, esta aborda- gem pode ser facilmente expandida para misturas com um maior número de distribuições normais resultando num acréscimo de 3 unidades no vector de parâmetros por cada gaussiana acrescentada (ηi, µi, σi2) assim como as respectivas alterações nos cálculos das estimativas.

3.1.2 Vantagens desta aplicação

Este método foi implementado na área da estimação do yield de circuitos integrados pela equipa do Professor Machado da Silva [4]. Nessa implementação foi considerado um espelho de corrente em configuração cascódica e calculada a estimação de um parâmetro de desempenho do circuito (valor eficaz (rms) da tensão de saída VOU T). Numa abordagem foram feitas 100

20 Expectation Maximization

interações do algoritmo EM sobre um número reduzido de simulações de MC (sub-conjuntos de uma simulação com N = 4050). Comparativamente foi feita uma abordagem convencional com 105 simulações de MC. Os resultados obtidos revelaram que a abordagem utilizando o EM tem um tempo de execução 50 vezes menor que a abordagem convencional com erro de estimação para a média de 0,02% e 3,8% para o desvio-padrão. A figura3.1mostra as diferentes curvas de densidade de probabilidade para cada uma das abordagens.

Figura 3.1: Comparação das curvas de fdp [4].

A estimação de parâmetros da distribuição de uma população x é feita com base numa dada amostra y dessa população (dados observados). Neste modelo temos uma função de verosimi- lhança e procuramos encontrar o valor do parâmetro θ que maximiza a "probabilidade"de termos obtido os valores observados.

Aplicando ao desenho de circuitos analógicos, o objectivo é utilizar amostras de MC de di- mensão pequena como a amostra de dados observados em cada passo de Expectation. Desta forma espera-se obter o mesmo erro com um número total de amostras consideravelmente inferior ao método de MC.

No documento Statistically Enhanced Analog Design (páginas 30-36)

Documentos relacionados