2.5 Redes Neurais Artificiais
2.5.2 Topologia das Redes Neurais
2.5.3.1 O Algoritmo de RetroPropagac¸ ˜ao do Erro Padr ˜ao
Um conjunto de regras preestabelecidas e bem definidas, para a soluc¸ ˜ao de um pro-blema de aprendizado, ´e denominado um algoritmo de aprendizagem. N ˜ao existe um algoritmo ´unico para o treinamento de redes neurais, em vez disso, existe uma varie-dade de algoritmos de aprendizagem, onde, cada um oferece vantagens espec´ıficas.
A diferenc¸a b ´asica entre os algoritmos est ´a na forma como ´e feito o ajuste dos pesos sin ´apticos de um neur ˆonio. A escolha do algoritmo de aprendizagem fica por conta do projetista da rede, por ´em, pode-se citar aqui o mais famoso deles, o algoritmo de retropropagac¸ ˜ao do erro padr ˜ao.
Durante o processo de aprendizagem utilizando esse algoritmo, a rede opera uma sequ ˆencia de dois passos: o primeiro consiste na apresentac¸ ˜ao de um conjunto de padr ˜oes, para a camada de entrada da rede, que ir ´a servir de exemplo. A partir da en-trada, as informac¸ ˜oes s ˜ao processadas e fluem atrav ´es da rede, camada por camada, at ´e que a reposta seja obtida pela camada de sa´ıda. Esse procedimento ´e chamado de fase de propagac¸ ˜ao para frente (Forward propagation phase). No segundo passo, a sa´ıda obtida pela rede ´e comparada com a sa´ıda fornecida pelos dados de entrada.
Caso os valores das sa´ıdas n ˜ao sejam iguais, o erro ´e calculado e propagado da ca-mada de sa´ıda at ´e a caca-mada de entrada, alterando os valores dos pesos das conex ˜oes das camadas internas da rede. Esse procedimento ´e conhecido por propagac¸ ˜ao para tr ´as (Backward Propagation). O algoritmo de retropropagac¸ ˜ao ´e o mais famoso en-tre os algoritmos de aprendizado, podendo ser especialmente utilizado em casos de conjuntos amplos de treinamento com muitos exemplos similares (ZELL et al., 2011).
Este Cap´ıtulo tratou dos principais conceitos que ser ˜ao utilizados ao decorrer deste trabalho. Dentre esses, os principais pontos que podem ser citados s ˜ao (1) os algoritmos de codificac¸ ˜ao de v´ıdeo, no caso deste trabalho, em particular, o MPEG-4 e a sua caracter´ıstica VBR, bem como os tipos de quadros; (2) os mecanismos de descartes de pacotes atualmente utilizados, como o descarte de cauda, que ser ´a uti-lizado como comparac¸ ˜ao para os resultados encontrados pelo m ´etodo proposto e (3)
o conceito das redes neurais artificiais, utilizadas neste trabalho como uma forma de realizar o reconhecimento da carga ´util dos pacotes que comp ˜oe o tr ´afego de v´ıdeo codificado com MPEG-4. O pr ´oximo Cap´ıtulo apresenta os principais m ´etodos dis-pon´ıveis atualmente na literatura para melhorar a QoE na transmiss ˜ao de v´ıdeo.
CAP´ITULO 3
ESTADO DA ARTE
Para entregar v´ıdeos de boa qualidade a seus usu ´arios, os provedores de IPTV pre-cisam garantir rigorosos n´ıveis de servic¸os (SLA - Service Level Agreement), comu-mente especificados em func¸ ˜ao do atraso, do jitter e das perdas de pacotes. Al-guns mecanismos de qualidade de servic¸o (QoS - Quality of Service), como IntServ (Servic¸o Integrado) ou DiffServ (Servic¸o Diferenciado), implementados nas redes IP, podem ajudar as provedoras de IPTV a alcanc¸arem um n´ıvel adequado de SLA. No entanto, mesmo em redes bem planejadas, ainda pode ocorrer descarte de pacotes devido a alguns fatores, como a arquitetura das redes IP serem baseadas no con-ceito de datagrama, onde os enlaces s ˜ao compartilhados por diversas aplicac¸ ˜oes, e o principal deles, ao comportamento em rajada do tr ´afego de v´ıdeo. Um dos m ´etodos utilizado pelas ISPs, em resposta ao problema de congestionamento na rede ´e sobre dimensionar a capacidade dos enlaces (NGUYEN; ARMITAGE, 2008). Por ´em, mesmo nesses cen ´arios, a caracter´ıstica VBR dos v´ıdeos pode levar a perdas de pacotes. Isso deve-se as fontes geradoras de tr ´afego (servidores de v´ıdeo) enviarem grupos de pa-cotes consecutivos com curtos espac¸os de tempo entre eles (rajada), resultando no preenchimento total ou em uma boa porc¸ ˜ao dos espac¸os livres nas filas. Caso o equi-pamento de transmiss ˜ao n ˜ao consiga enviar os pacotes alocados antes da chegada de um novo fluxo, os pacotes que chegam ser ˜ao descartados, conduzindo a defici ˆencias de decodificac¸ ˜ao nos v´ıdeos entregues aos usu ´arios e impactando negativamente na QoE.
O impacto da perda de pacotes na QoE foi estudado por Greengrass, onde ´e anali-sado, em (GREENGRASS; EVANS; BEGEN, 2009), o impacto causado pelo descarte de pacotes transportando quadros I, P e B em v´ıdeos codificados com MPEG-2,
so-bre uma rede IP. Os autores mostram que a perda de um ´unico pacote no in´ıcio de um quadro I, transportando o cabec¸alho deste, pode resultar em distorc¸ ˜oes que s ˜ao propagadas por todos os demais quadros ao longo do mesmo GOP. A perda deste pacote tem efeito equivalente a perder um quadro I por inteiro, resultando em severa degradac¸ ˜ao da qualidade do v´ıdeo que pode durar um longo per´ıodo de tempo (tipica-mente 0,5 a 1 segundo). Nesta hip ´otese, o decodificador conseguir ´a recuperar a qua-lidade do v´ıdeo apenas quando receber um novo quadro I intacto. No estudo tamb ´em
´e mostrado que a perda de pacotes P pode afetar a imagem da mesma forma, devido a eles utilizarem os quadros P anteriores como refer ˆencia na decodificac¸ ˜ao. Assim, a perda de um ´unico pacote P no in´ıcio do quadro, resulta em distorc¸ ˜oes que ir ˜ao se estender pelo restante do GOP, afetando significativamente a qualidade da imagem.
Por ´ultimo, os autores mostram que quanto maior o n ´umero de quadros no GOP, pior ser ´a o efeito da perda de um pacote do quadro I.
A qualidade de experi ˆencia percebida pelo usu ´ario est ´a fortemente relacionada com o tipo e a quantidade de pacotes descartados. Quanto mais pacotes transpor-tando informac¸ ˜oes significantes forem preservados, como por exemplo, os pacotes I e P, menos distorc¸ ˜oes na imagem ser ˜ao ocasionadas. Por ´em, para que isso seja poss´ıvel, os roteadores precisam conhecer quais pacotes do fluxo de v´ıdeo transpor-tam essas informac¸ ˜oes, para que possa ser realizado um descarte seletivo. O proto-colo IP n ˜ao possui esta informac¸ ˜ao em seu cabec¸alho, o que exigiria o processamento da carga ´util do pacote.
A fim de melhorar o n´ıvel da QoE percebida pelo usu ´ario (HONG; WON, 2010) prop ˜oe um m ´etodo que incorpora a signific ˆancia de cada quadro, de acordo com o tipo da informac¸ ˜ao que ele carrega. Chamado SAPS (Significance Aware Packet Scheduling) e implementado no servidor que realiza a transmiss ˜ao do fluxo de v´ıdeo, o m ´etodo ajusta os intervalos de tempo entre os quadros baseado na signific ˆancia da informac¸ ˜ao que ele transporta. Por padr ˜ao, os quadros s ˜ao gerados a um inter-valo fixo de tempo, normalmente necessitando de diversos pacotes para transmiti-lo.
A proposta dos autores ´e aumentar o intervalo de tempo entre os pacotes que pos-suem maior n´ıvel de signific ˆancia, alterando assim o comportamento em rajada do tr ´afego resultante. O n´ıvel de signific ˆancia ´e obtido a partir da relac¸ ˜ao sinal ru´ıdo de pico (PSNR - Peak Signal-to-Noise Ratio), que ´e calculado com a interpretac¸ ˜ao do impacto da perda de cada bit do pacote no PSNR, considerando a estrutura de de-pend ˆencia do GOP. Os pacotes mais significantes ter ˜ao um intervalo maior antes de sua transmiss ˜ao, o que possibilita que os roteadores liberem algum espac¸o em suas filas antes da sua chegada, o que torna menos prov ´avel o seu descarte. Como re-sultado, mostra-se que a qualidade de experi ˆencia percebida pelo usu ´ario ´e melhor em situac¸ ˜oes de congestionamento, se comparado com outras abordagens. O SAPS pode tamb ´em processar mensagens ECN (Explicit Congestion Notification) (RAMA-KRISHNAN; FLOYD; BLACK, 2001) para colaborar com o congestionamento da rede, descartando os pacotes menos significantes para reduzir o n´ıvel de degradac¸ ˜ao na qualidade de experi ˆencia. Hong et al. comparam seus resultados com dois algoritmos conhecidos, o escalonamento baseado no tamanho do pacote (Size Based Packet Scheduling - SBPS) (HARCHOL-BALTER et al., 2003) e utilizando uma abordagem de melhor esforc¸o (Best-Effort, BE), ambos com descarte de fim de fila (Drop Tail), sendo que o SBPS e o BE apresentam desempenhos semelhantes, enquanto que o SAPS leva a uma melhor QoE se comparado com este dois m ´etodos.
Os estudos realizados em (NGUYEN; ARMITAGE, 2008) e em (CALLADO et al., 2009), apresentam m ´etodos dispon´ıveis para a classificac¸ ˜ao de tr ´afego, sem ana-lisar a carga ´util dos pacotes, trazendo v ´arios benef´ıcios, como a possibilidade de identificac¸ ˜ao de padr ˜oes de ataques, de realocac¸ ˜ao de recursos para servic¸os pri-orit ´arios, provisionamento de qualidade de servic¸o (QoS) entre outros. Os autores mostram que os tipos comuns de identificac¸ ˜ao, como o uso dos n ´umeros das portas dos protocolos TCP e UDP, assumindo que a maioria das aplicac¸ ˜oes utiliza n ´umeros
“bem conhecidos”, n ˜ao ´e confi ´avel e a interpretac¸ ˜ao do conte ´udo da carga ´util do pa-cote n ˜ao possui escalabilidade para implementac¸ ˜ao em roteadores. De acordo com ambos os artigos, isso deve-se: (a) `as aplicac¸ ˜oes utilizarem cada vez mais n ´umeros
de portas imprevis´ıveis, sendo que em alguns casos essas portas s ˜ao alocadas di-namicamente, e (b) `a inspec¸ ˜ao da carga ´util dos pacotes demandar complexidade e carga de processamento aos dispositivos de identificac¸ ˜ao de tr ´afego, al ´em delas pode-rem ser criptografadas. Segundo (NGUYEN; ARMITAGE, 2008), novos trabalhos que est ˜ao surgindo prop ˜oem o uso das caracter´ıstica estat´ısticas do tr ´afego no processo de identificac¸ ˜ao, como a utilizac¸ ˜ao das informac¸ ˜oes dos tamanhos de pacotes, dos intervalos de tempo entre pacotes e do tempo de durac¸ ˜ao da sess ˜ao. De forma geral, Nguyen et al. mostram as principais formas de aplicac¸ ˜ao de algoritmos de aprendi-zagem de m ´aquina (Machine Learning - ML) como ferramentas para realizar o reco-nhecimento da carga ´util dos pacotes a partir das informac¸ ˜oes dispon´ıveis na camada 3. Por definic¸ ˜ao dos autores, uma ML ´e um subconjunto de disciplinas de inteligencia artificial, as quais podem ser treinadas com um conjunto associado de caracter´ıstica conhecidas do tr ´afego, para a criac¸ ˜ao de regras. Ap ´os treinados os algoritmos das ML s ˜ao aplicados de forma a classificar um conjunto de tr ´afego desconhecido, usando as regras previamente aprendidas.
O trabalho proposto nesta dissertac¸ ˜ao utiliza redes neurais artificias no reconheci-mento da carga ´util dos pacotes, de modo a realizar o descarte dos pacotes que trans-portam informac¸ ˜oes com menor relev ˆancia para a reconstruc¸ ˜ao da imagem final, que s ˜ao os pacotes que transportam os quadros B de um fluxo de v´ıdeo codificado com MPEG-4. A escolha desta abordagem deve-se pelas RNAs possu´ırem baixa com-plexidade computacional, o que possibilita uma eficiente implementac¸ ˜ao em tempo real (BASU; BHATTACHARYYA; KIM, 2010) nos roteadores que comp ˜oe o n ´ucleo de uma rede IPTV. Essa caracter´ıstica n ˜ao seria poss´ıvel com o m ´etodo SAPS proposto em (HONG; WON, 2010), uma vez que a carga computacional demandada por esse m ´etodo apresenta grande complexidade, onde o valor da signific ˆancia de cada pa-cote ´e calculado estimando-se o preju´ızo na qualidade da imagem da perda de cada bit do pacote. Ainda, o m ´etodo aqui proposto n ˜ao altera as caracter´ısticas VBR do tr ´afego resultante, de modo que as RNAs utilizam os dados da camada de rede para realizar o reconhecimento da carga ´util dos pacotes, diferente do m ´etodo SAPS que
aplica uma t ´ecnica de suavizac¸ ˜ao, alterando o intervalo de tempo entre os pacotes mais significantes do fluxo de v´ıdeo.
O pr ´oximo cap´ıtulo apresenta a metodologia utilizada na confecc¸ ˜ao do m ´etodo proposto, bem como o simulador de filas utilizados na sua implementac¸ ˜ao e a estrutura de ferramentas do Evalvid.
CAP´ITULO 4
UM M ´ ETODO PARA CLASSIFICAC ¸ ˜ AO DA CARGA ´ UTIL E DESCARTE PRIORIT ´ ARIO DE PACOTES
Este cap´ıtulo apresenta o m ´etodo de classificac¸ ˜ao de carga ´util e de descarte sele-tivo proposto. Os testes foram realizados com traces de v´ıdeos comumente usados no estudo de sistemas de transmiss ˜ao de imagem. Os tracesforam inseridos em um simulador de filas, implementado em linguagem C. Al ´em disso, o simulador realiza o reconhecimento da carga ´util dos pacotes, baseado nos algoritmos das redes neurais artificiais. Os resultados das simulac¸ ˜oes possibilitaram analisar o efeito que a perda dos pacotes mais significantes causam na qualidade de experi ˆencia do usu ´ario. A avaliac¸ ˜ao da QoE foi realizada com a ferramenta do Evalvid (KLAUE; RATHKE; WO-LISZ, 2003) e os resultados comparados com o algoritmo de descarte de pacotesDrop Tail e com o m ´etodo desenvolvido em (HONG; WON, 2010).
4.1 Descric¸ ˜ao do Problema
Para os usu ´arios de servic¸os de v´ıdeo em tempo-real, tais como o IPTV, a garantia de n´ıveis de servic¸os ´e uma caracter´ıstica vital para manter a boa qualidade do sistema e ´e um dos fatores mais importantes para manter ou atrair novos consumidores. Para tal, as prestadoras de IPTV necessitam manter sobre controle par ˆametros fundamen-tais, como o atraso, ojitter e, principalmente, a perda de pacotes. Como mencionado no cap´ıtulo anterior, o impacto na qualidade dos v´ıdeos transmitidos est ´a relacionada com o tipo dos pacotes descartados pela rede. Portanto, em poss´ıveis cen ´arios de congestionamentos, a pol´ıtica de descarte pode preservar os pacotes mais significa-tivos, de modo atingir um menor n´ıvel de degradac¸ ˜ao na QoE. Atualmente, os
meca-nismos de descarte de pacotes usados nos equipamentos de transmiss ˜ao n ˜ao s ˜ao sens´ıveis ao conte ´udo da carga ´util dos pacotes. Desta maneira, quando existem con-gestionamentos na redes, esses mecanismos atuam descartando pacotes sem levar em considerac¸ ˜ao os impactos da perda do pacote na QoE.