Decodificação de Códigos de Comprimento Curto usando Redes Neurais Profundas

Tamanho: px
Começar a partir da página:

Download "Decodificação de Códigos de Comprimento Curto usando Redes Neurais Profundas"

Transcrição

1 UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Jorge Kysnney Santos Kamassury Decodificação de Códigos de Comprimento Curto usando Redes Neurais Profundas Florianópolis 2020

2

3 JORGE KYSNNEY SANTOS KAMASSURY DECODIFICAÇÃO DE CÓDIGOS DE COMPRIMENTO CURTO USANDO REDES NEURAIS PROFUNDAS Dissertação submetida ao Programa de Pós- Graduação em Engenharia Elétrica da Universidade Federal de Santa Catarina como parte dos requisitos para a obtenção do Grau de Mestre em Engenharia Elétrica. Orientador: Prof. Danilo Silva, Ph.D. Florianópolis 2020

4 Ficha de identificação da obra elaborada pelo autor, através do Programa de Geração Automática da Biblioteca Universitária da UFSC. Kamassury, Jorge Kysnney Santos Decodificação de códigos de comprimento curto usando redes neurais profundas / Jorge Kysnney Santos Kamassury ; orientador, Danilo Silva, p. Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia Elétrica, Florianópolis, Inclui referências. 1. Engenharia Elétrica. 2. Códigos de comprimento curto. 3. Decodificadores baseados em síndrome. 4. Deep Learning. 5. Códigos BCH. I. Silva, Danilo. II. Universidade Federal de Santa Catarina. Programa de Pós-Graduação em Engenharia Elétrica. III. Título.

5 Jorge Kysnney Santos Kamassury DECODIFICAÇÃO DE CÓDIGOS DE COMPRIMENTO CURTO USANDO REDES NEURAIS PROFUNDAS O presente trabalho em nível de mestrado foi avaliado e aprovado por banca examinadora composta pelos seguintes membros: Prof. Glauber Gomes de Oliveira Brante, Dr. Universidade Tecnológica Federal do Paraná Prof. Richard Demo Souza, Dr. Universidade Federal de Santa Catarina Certificamos que esta é a versão original e final do trabalho de conclusão que foi julgado adequado para obtenção do título de Mestre em Engenharia Elétrica. Prof. Bartolomeu Ferreira Uchôa Filho, Ph.D. Coordenador do Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal de Santa Catarina Orientador: Prof. Danilo Silva, Ph.D. Universidade Federal de Santa Catarina Florianópolis, 05 de Março de 2020.

6

7 Para a minha mãe, Francisca Glória Kamassury, pelo amor e inigualável dedicação aos filhos.

8

9 Agradecimentos Gostaria de elencar formalmente meu reconhecimento a todos que de modo direto ou indiretamente colaboraram para que esse trabalho fosse realizado. Em especial, À minha mãe, pelo amor incondicional e pela transmissão de valiosos ensinamentos tão onipresentes na minha jornada, e aos meus irmãos Kennedy Kamassury e Mateus Kamassury pelo constante apoio (e pelas boas risadas que compartilhamos). Essa dissertação é inegavelmente fruto do apoio de vocês; ao professor Danilo Silva, pela sua competente e distinta orientação, pela solicitude, paciência e dedicação inesgotáveis para o desenvolvimento dessa dissertação. Suas leituras críticas, sugestões e correções foram imprescindíveis para o progresso e melhoria dessa pesquisa; aos professores Glauber Gomes de Oliveira Brante e Richard Demo Souza, membros da banca examinadora, pelas leituras, sugestões e correções desta dissertação, tornando-a melhor; à Ana Carolina, pelo amor, companheirismo e reciprocidade que tornam meus dias mais felizes. Estendo ainda meus agradecimentos à sua família pelo acolhimento; aos amigos que a UFSC me proporcionou, Carla Patrícia, Kenny Vinente, Israel Torres e Vinícius de Oliveira, cujas conversas e risadas tornaram mais tranquilo o período do mestrado; aos amigos da época de graduação, Pablo dos Santos, Wandesson Duarte, Simone Carvalho e Aguinaldo Alves pelos singelos momentos de convivência que inspiraram divertidas e importantes reflexões; aos insubstituíveis amigos Jozinei Ferreira Lopes e Pablo Xavier pelo eterno apoio, pelas discussões científico-filosóficas, pelas constantes atualizações sobre o rock internacional e claro pelos domingos descendo o rio Tapajós; à Universidade Federal de Santa Catarina e ao Programa de Pós-graduação em Engenharia Elétrica, pelo excelente suporte à pesquisa científica e pela reconhecida qualidade dos servidores e docentes; ao Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq), pelo financiamento direto (132881/2018-7) que tornou possível a realização deste trabalho.

10

11 Perhaps thinking should be measured not by what you do but by how you do it. (Richard Hamming)

12

13 Resumo da Dissertação apresentada à UFSC como parte dos requisitos necessários para obtenção do grau de Mestre em Engenharia Elétrica Decodificação de Códigos de Comprimento Curto usando Redes Neurais Profundas Jorge Kysnney Santos Kamassury 05 de Março de 2020 Orientador: Prof. Danilo Silva, Ph.D. Área de concentração: Comunicações e Processamento de Sinais Palavras-chave: Códigos de comprimento curto, redes neurais, decodificadores baseados em síndrome, aprendizado profundo, códigos BCH Os códigos de comprimento curto têm sido alvo de estudos recentes, em grande parte, devido às exigências de tecnologias emergentes por requisitos específicos de comunicação. A tecnologia 5G, por exemplo, visa atender serviços que demandam comunicação ultraconfiável e de baixa latência como é o caso de sistemas de transportes inteligentes, internet tátil e telecirurgia. Nesses cenários de interesse, os códigos de comprimento muito longo são inapropriados devido ao requisito de latência, o que vem potencializando o interesse pela aplicação de códigos de comprimento curto. Manifestando-se como um importante candidato para atender esses requisitos, os códigos BCH, por sua vez, têm se defrontando com uma decodificação custosa quando se usa o algoritmo OSD (Ordered Statistics Decoder) que possui desempenho quase ótimo. Recentemente, uma alternativa interessante aos algoritmos tradicionais de decodificação consiste no uso de decodificadores baseados em redes neurais. Atrelado a esse contexto, apresenta-se nesta dissertação uma revisão acerca da evolução das propostas de decodificadores neurais, com enfoque às abordagens que fazem uso do conhecimento da síndrome do vetor recebido no processo de treinamento/inferência da rede neural. A partir de técnicas modernas no âmbito do aprendizado profundo, antigos e recentes trabalhos são revisitados e novas redes densas são propostas para lidar com a decodificação de códigos BCH para os canais BSC e AWGN. Além disso, introduz-se um novo decodificador neural que também faz uso

14 do conhecimento da síndrome. Diferentemente das abordagens existentes, o decodificador proposto atua estimando, posição por posição, o padrão de erro através de uma rede neural previamente treinada, possuindo a vantagem de ser flexível em relação à rede empregada. De fato, para todos os códigos BCH avaliados, o desempenho do decodificador proposto supera os melhores resultados da literatura vigente no contexto dos decodificadores baseados em redes neurais, inclusive, aproximando-se do desempenho ML para alguns casos.

15 Abstract of Dissertation presented to UFSC as a partial fulfillment of the requirements for the degree of Master in Electrical Engineering Decoding of short-length codes using deep neural networks Jorge Kysnney Santos Kamassury March 5 th, 2020 Advisor: Prof. Danilo Silva, Ph.D. Area of concentration: Communications and Signal Processing Keywords: Short-length codes, neural networks, syndrome-based decoders, deep learning, BCH codes Short-length codes have been the subject of recent studies, largely due to the demands of emerging technologies for specific communication requirements. 5G technology, for example, aims to provide services that demand ultra-reliable and low-latency communication, such as intelligent transport systems, tactile internet and telesurgery. In these scenarios of interest, codes of very long length are inappropriate due to the latency requirement, which has been increasing the interest in the application of codes of short length. Being an important candidate that fulfills these requirements, the BCH codes, in turn, have been faced with a costly decoding when using the OSD (Ordered Statistics Decoder) algorithm that has near-optimal performance. Recently, an interesting alternative to traditional decoding algorithms is the use of decoders based on neural networks. In this context, this dissertation presents a review of the evolution of the proposals for neural decoders, focusing on approaches that use the knowledge of the vector syndrome received in the training/inference process of the neural network. Based on modern techniques in the context of deep learning, old and recent works are revisited and new dense networks are proposed to deal with the decoding of BCH codes for the BSC and AWGN channels. In addition, a new neural decoder is introduced that also uses the knowledge of the syndrome. Unlike the existing approaches, the proposed decoder estimates, position by position, the error pattern through a previously trained neural network, having the advantage of being flexible in relation to the network used.

16 In fact, for all evaluated BCH codes, the performance of the proposed decoder surpasses the best results in the current literature in the context of decoders based on neural networks, even approaching ML performance in some cases..

17 Lista de Figuras 2.1 Modelo de um sistema de comunicação digital codificado Modelo simplificado de sistema de comunicação digital codificado Estrutura da palavra-código sistemática Arquitetura DNN do tipo perceptron com camadas de entrada, ocultas e de saída Taxa de aprendizado muito grande Taxa de aprendizado muito pequena α ideal Mínimo local e mínimo global Taxa de aprendizado cíclica de perfil triangular Representação da convolução 1D Sistema de comunicação usando o canal BSC Decodificador baseado em síndrome proposto por Tallini e Cull Sistema de comunicação usando o canal AWGN Decodificador neural baseado em síndrome proposto por Bennatan et al DNN-I: Rede densa usada no decodificador neural para o canal BSC Decodificador neural baseado em síndrome proposto DNN-II: Arquitetura simplificada em relação à rede proposta em [27] DNN-III: Arquitetura simplificada em relação à rede proposta em [28] DNN-IV: DNN para o código BCH(63,45) CNN-I: CNN simplificada para os códigos BCH(63,36) e BCH(63,45) CNN-II: CNN para os códigos BCH(63,36) e BCH(63,45) CNN-III: CNN para o código BCH(127,64) Desempenhos da arquitetura DNN-I e do algoritmo neural-max para o código BCH (15,5) transmitindo em um canal BSC

18 4.2 Desempenhos da arquitetura DNN-I e do algoritmo neural-max para o código BCH (15,7) transmitindo em um canal BSC Desempenhos da arquitetura DNN-I e do algoritmo neural-max para o código BCH (31,11) transmitindo em um canal BSC Desempenhos da arquitetura DNN-I e do algoritmo neural-max para o código BCH (31,16) transmitindo em um canal BSC Comparação dos desempenhos da rede proposta (DNN-II) e da arquitetura projetada em [27] para o código BCH (63,45) Comparação dos desempenhos da rede proposta (DNN-III) e da arquitetura projetada em [28] para o código BCH (63,45) Desempenhos das rede DNN-IV (com e sem a aplicação do algoritmo neural-max) para o código BCH (63,36) em comparação aos resultados da literatura Desempenhos das rede CNN-I e CNN-II (com e sem a aplicação do algoritmo neural-max) para o código BCH (63,36) em comparação aos resultados da literatura Desempenhos da rede DNN-IV (sem e com o algoritmo neural-max) para o código BCH (63,45) em comparação aos resultados da literatura Desempenhos das rede CNN-I e CNN-II (sem e com o algoritmo neuralmax) para o código BCH (63,45) em comparação aos resultados da literatura Desempenhos da arquitetura CNN-III e do algoritmo neural-max para o código BCH (127,64) propostos em comparação aos resultados da literatura A.1 Desempenho de decodificação em relação à função de ativação para o código BCH(63,36) A.2 Desempenho de decodificação em relação à função de ativação para o código BCH(63,45)

19 Lista de Tabelas 1.1 Alguns dos principais trabalhos que abordam os decodificadores baseados em NNs Funções de ativação mais comuns Códigos BCH avaliados para uma transmissão usando o canal BSC Quantidade de parâmetros das redes propostas

20

21 Sumário 1 Introdução Tecnologia 5G e URLLC Códigos de comprimento curto Trabalhos Relacionados Contribuições Organização Preliminares Códigos corretores de erros Definições e conceitos para códigos de bloco Descrição matricial Síndrome Decodificação via síndrome Códigos BCH Aprendizado profundo Redes neurais profundas Taxa de aprendizado Redes neurais convolucionais Normalização em lote Decodificadores neurais baseados na síndrome Canal BSC Canal AWGN Contribuições Arquiteturas propostas Canal BSC Canal AWGN

22 Estrutura do decodificador neural Simplificações Novas redes Decodificador neural-max Neural-max: BSC Neural-max: AWGN Resultados e discussões Canal BSC Canal AWGN Arquiteturas simplificadas Arquiteturas robustas e algoritmo neural-max Conclusão Trabalhos futuros Suporte financeiro Referências 75 Apêndice 79 A Função de ativação e desempenho da decodificação 81

23 Introdução 1 Nos últimos anos, investigações sobre projetos de códigos de comprimento curto têm adquirido notabilidade, particularmente, em razão de serviços/aplicações que tecnologias mais recentes visam atender/viabilizar. A tecnologia 5G, por exemplo, almeja atender serviços que demandam comunicação ultraconfiável e de baixa latência como é o caso de redes elétricas inteligentes, telecirurgia e automação fabril. Todavia, a comunicação sob essas condições não é uma tarefa trivial haja vista que os próprios requisitos são altamente estritos e conflitantes. Os atuais estudos no contexto dos Códigos Corretores de Erros (Error Correcting Codes, ECCs) têm evidenciado que a abordagem clássica que faz uso de códigos de comprimento muito longos é inadequada diante do requisito da latência. Nesse cenário, as pesquisas têm sido direcionadas para avaliar possíveis códigos curtos candidatos em relação a parâmetros como comprimento (k < 1000 bits), confiabilidade, latência e complexidade algorítmica. Dentre esses códigos (onde estão inclusos, códigos polares, códigos LDPC, códigos convolucionais, etc.), os códigos BCH estão entre aqueles que apresentam os resultados mais promissores. Entretanto, um dos grandes desafios enfrentados pelos códigos BCH está relacionado ao fato de que sua decodificação é complexa. Ademais, para taxas de código baixas, o algoritmo OSD (Ordered Statistics Decoder), amplamente usado para essa decodificação, tem sua complexidade significativamente aumentada [1]. Uma alternativa interessante aos algoritmos tradicionais de decodificação consiste no uso de redes neurais (Neural Networks, NNs). De fato, ainda que não seja recente o emprego das NNs com esse enfoque, o interesse por elas tem sido retomado, especialmente em razão do considerável potencial do Aprendizado Profundo (Deep

24 22 CAPÍTULO 1. INTRODUÇÃO Learning). Atualmente, boa parte das arquiteturas de redes profundas para decodificação tem se defrontado com o problema de overfitting das palavras-código durante a fase de treinamento, o que compromete severamente a capacidade de generalização das redes. Além disso, apesar de algumas propostas contornarem esse impasse, elas fazem uso de NNs estruturalmente restritivas quanto à flexibilidade da arquitetura. Uma recente arquitetura baseada no conhecimento da síndrome cujo potencial reside na eliminação da necessidade de simular palavras-código durante o treinamento consegue superar ambas as dificuldades assim como obter resultados mais promissores, embora não alcance os resultados obtidos via OSD (ordem 2), acusando assim a necessidade de desenvolvimento/implementação de outras arquiteturas de redes, além de etapas de processamento (pré e/ou pós) capazes de obter resultados superiores aos atuais. 1.1 Tecnologia 5G e URLLC Inegavelmente, há uma expectativa elevada de que a tecnologia 5G potencialize uma gama de aplicações. A União Internacional de Telecomunicações (International Telecommunication Union, ITU) classificou os serviços de rede móvel 5G em três categorias, a saber [2]: banda larga móvel ampliada (enhanced mobile broadband, embb), comunicação massiva do tipo máquina (massive machine-type communication, mmtc) e comunicação ultraconfiável e de baixa latência (ultrareliable and lowlatency communications, URLLC). A URLLC, em particular, visa atender além de aplicações como redes elétricas inteligentes, sistemas de transportes inteligentes, automação de processos e internet tátil (que demandam confiabilidade da ordem de 10 3 a 10 6 e latência entre 1 ms a 100 ms), outras com requisitos ainda mais críticos como telecirurgia e automação fabril que exigem latência inferior a 1 ms e taxa de erro de bloco (frame error rate, FER) de 10 9 [1, 3]. Do ponto de vista da camada física, o projeto da URLLC é reconhecidamente desafiador para as redes 5G visto que deve satisfazer requisitos rigorosos e conflitantes [1]. Se por um lado, a minimização da latência pode ser alcançada fazendo uso de pacotes curtos [4] ou com a ampliação da largura de banda (embora essa última alternativa não seja sempre possível, especialmente para determinadas aplicações em

25 1.2. CÓDIGOS DE COMPRIMENTO CURTO 23 controle industrial que podem operar sobre o espectro não-licenciado), por outro, o alcance do requisito de confiabilidade demanda mais recursos (redundância e retransmissões) que acarretam no aumento da latência. Desse modo, o enfoque atual visa alcançar um trade-off entre latência e confiabilidade que atenda as aplicações emergentes potencializadas pela tecnologia 5G. Estudos mais recentes vêm demonstrando que para muitas aplicações, a abordagem clássica onde códigos de comprimento muito longos são usados não é adequada para atender esse trade-off, indicando a necessidade do uso de esquemas/estratégias de codificação e decodificação para pacotes curtos. Alinhado a esse contexto, muitas pesquisas atuais têm se voltado ao projeto de códigos de blocos de comprimento curto e médio (30 < k < 1000 bits) [5]. 1.2 Códigos de comprimento curto Importantes investigações têm analisado o projeto de códigos de comprimento curto para URLLC. Em [1, 5] são observados o desempenho de vários códigos candidatos para tal propósito, incluindo: códigos polares, códigos turbo, códigos LDPC, códigos convolucionais e códigos BCH. Em [1], particularmente, a comparação entre os códigos candidatos é realizada em termos de confiabilidade, desempenho da taxa e complexidade algorítmica. No que se refere à confiabilidade, os códigos BCH superam todos os outros candidatos devido às grandes distâncias mínimas que são características desse tipo de código. Em relação à taxa, os códigos BCH também superam os demais, tangenciando o benchmark da aproximação normal [1]. Uma observação importante decorre do fato de que, para taxas de código baixas, o uso do decodificador OSD, que retorna desempenho quase-ótimo, manifesta ordem de reprocessamento elevada, o que aumenta significativamente a complexidade da decodificação [1]. O quadro comparativo apresentado em [1, 5] sinaliza assim que os códigos BCH são excelentes candidatos para o projeto de códigos de comprimento curto, exigindo para tanto melhorias no projeto da etapa de decodificação.

26 24 CAPÍTULO 1. INTRODUÇÃO 1.3 Trabalhos Relacionados O uso de NNs para a tarefa de decodificação não é algo recente; ainda na década de 80, alguns trabalhos já visavam a criação e análise (matemática e computacional) de arquiteturas/algoritmos capazes de realizar tal tarefa. Um dos primeiros trabalhos com esse enfoque foi apresentado por Lippmann [6] em meados da década de 80. Em [6], Lippmann evidenciou que uma rede neural simples (Hamming Net) poderia ser modelada para reconhecer qual padrão, em relação a um conjunto de padrões binários, possuía a distância mínima de Hamming para uma determinada entrada. Essa rede era um modelo linear com uma unidade de saída correspondente à cada padrão possível. Não havia treinamento nessa rede, de modo que os pesos dos neurônios eram simplesmente computados diretamente dos padrões a serem reconhecidos. Empregando a Hamming Net apresentada em [6], Zeng et al. [7] aprofundou as considerações acerca do uso dessa arquitetura, observando que a referida rede poderia ser usada para decodificar tanto códigos lineares quanto códigos não-lineares. Em razão da própria arquitetura, reconhece-se que essa abordagem é impraticável, pois para um grande valor de k são necessárias 2 k unidades de saídas. De fato, essa complexidade O(2 k ) não é surpreendente pois o método de decodificação descrito era análogo à decodificação ML (maximum likelihood). Um outro trabalho, ampliando as conexões entre NNs e ECCs, foi apresentado por Bruck e Blaum [8], onde demonstrou-se que a decodificação ML dos ECCs é equivalente à maximização da energia de uma rede Hopfield [9]. Nesse contexto, para um dado código de bloco linear, uma rede Hopfield pode ser construída de modo que todo máximo local da função de energia dessa rede corresponda a uma palavra-código e vice-versa. No início da década de 90, usando uma arquitetura com n entradas, uma única camada oculta e k saídas, Caid e Means [10], abordaram o problema de decodificação prevendo diretamente a mensagem transmitida a partir do vetor recebido. Vale atentar que essa abordagem representou uma melhoria considerável em relação às abordagens anteriores (que requerem 2 k saídas). A rede proposta pelos autores [10] foi a primeira do tipo feedforward totalmente conectada usando descida gradiente e retropropagação. Os resultados obtidos eram eficazes tanto para o código de Hamming

27 1.3. TRABALHOS RELACIONADOS 25 (7,4) quanto para pequenos códigos convolucionais. Conforme evidenciado em [11 13], as redes do tipo feedforward permitem que a rede aprenda qualquer mapeamento arbitrário; no caso dos decodificadores, um mapeamento entre os padrões de entrada ruidosos e as palavras-código. Nesse sentido, nenhuma suposição sobre as estatísticas do ruído do canal é necessária, pois a rede é teoricamente capaz de aprender o mapeamento ou extrair as características do canal a partir dos exemplos do conjunto de treinamento. Apesar das contribuições de Caid e Means [10], dois importantes aspectos não foram contemplados pelos autores: a possível robustez da rede para códigos maiores e a capacidade de generalização dessa para palavras-código não vistas no treinamento. Enfocando na capacidade de generalização da rede, Stefano et al. [14] verificou que uma rede neural é malsucedida ao decodificar um código de Hamming para as palavras-código não observadas durante a etapa de treinamento. Esse insucesso na capacidade de generalização sinaliza a necessidade da rede aprender conceitos de decodificação que se aplicam a todas as palavras-código. Outra rede do tipo feedforward, também com uma única camada oculta, foi apresentada por Ortuno et al. [15] para decodificar o código de Hamming (7,4). Porém, nesse trabalho, foi considerado um canal com ruído gaussiano não branco, ou seja, ruído correlacionado entre amostras. A rede não exigia qualquer modificação espacial para lidar com o ruído, indicando assim que as redes são flexíveis para canais com distribuições de ruído incomuns. À luz das conclusões em [14], Esposito et al. [16], considerando uma transmissão em um canal binário simétrico, mostraram que para alguns casos, a estrutura do código permite que sejam necessárias C palavras-código na etapa de treinamento 2 em vez de C palavras-código. Com efeito, embora não reduzisse consideravelmente a quantidade de palavras-código no treinamento, Esposito et al. sinalizaram a importância de se incorporar o conhecimento do código no algoritmo de aprendizado. Diferentemente de boa parte dos trabalhos que usavam o vetor recebido para alimentar a rede neural, Tallini e Cull [17] projetaram uma rede com duas camadas ocultas que usava a síndrome como entrada e produzia a estimativa do padrão de erro. Os autores empregaram a rede na decodificação do código de Hamming (7,4) e código de Reed-Muller de 2 ā ordem (32,16). Entre o fim da década de 90 e início do século XXI, outras arquiteturas também

28 26 CAPÍTULO 1. INTRODUÇÃO foram propostas. El-Khamy et al. [18], por exemplo, desenvolveram uma rede neural com atraso de tempo, onde os vetores recebidos passavam por atrasos temporais de modo que a entrada da rede fosse uma sequência correspondente a uma janela de tempo fixo que se deslocava ao longo do comprimento do bloco. Redes neurais do tipo recorrente também foram propostas através dos trabalhos de Hämäläinen e Henriksson [19] e Abdelbaki et al. [20]. Em virtude do pouco progresso das arquiteturas e algoritmos de aprendizagem das NNs entre meados da década de 90 e início do século XXI, além das limitações/disponibilidade de hardware com razoável poder de processamento, o interesse no desenvolvimento de novos decodificadores também foi reduzido. De fato, esse interesse é retomado diante do advento do aprendizado profundo, incluindo a evolução da computação paralela e das GPUs (graphical processing units). Em um contexto, no qual, o aprendizado profundo já vinha sendo bem-sucedido em várias aplicações, Nachmani et al. [21] propuseram um decodificador baseado em NNs a fim de melhorar o desempenho do algoritmo Belief Propagation (BP) na decodificação de códigos BCH de comprimento curto. Na abordagem proposta, os autores converteram o algoritmo BP com l iterações em 2l camadas ocultas em uma arquitetura densa, onde cada camada oculta contém o mesmo número de neurônios que, por sua vez, representam as arestas do gráfico de Tanner. Nessa arquitetura, a entrada e a saída são respectivamente a LLR (log-likelihood ratio) da palavra-código e a palavra-código estimada. Embora o desempenho do decodificador reduza para códigos de comprimentos maiores, ainda assim supera a performance do algoritmo BP convencional para esses casos. Posteriormente, Nachmani et al. [22] revisitaram o problema do trabalho anterior [21], porém através de um decodificador baseado em RNN (recurrent neural network), onde, os pesos em cada iteração são unificados e as saídas das camadas de paridade alimentam as entradas nas camadas variáveis. Nesse caso, a quantidade de etapas é igual a das iterações. Essa nova arquitetura reduziu significativamente o número de parâmetros, mantendo desempenho comparável ao do decodificador anterior [21]. Um estudo ampliado e otimizado dos trabalhos [21, 22] foi desenvolvido em [23]. Uma análise sobre as redes feedforward profundas para decodificar códigos lineares aleatórios e estruturados de 16 bits foi desenvolvido por Gruber et al. [24]. Na arquitetura apresentada, as LLRs das palavras código ruidosas alimentam uma rede

29 1.3. TRABALHOS RELACIONADOS 27 com três camadas ocultas que, por sua vez, estimam k bits de informações. Os resultados obtidos demonstram que quando parte do conjunto das palavras-código é retida durante o treinamento, o decodificador neural para códigos aleatórios tem desempenho prejudicado. Por outro lado, para códigos estruturados (no caso, códigos polares), a rede é razoavelmente bem-sucedida para decodificar novas palavras-código, sugerindo assim que a rede aprende a estrutura do código em questão. Ainda no mesmo trabalho, os autores sugerem a existência de uma SNR ideal para o treinamento da rede, bem como argumentam que mais épocas de treinamento podem levar a um melhor desempenho. Uma extensão do trabalho de Gruber et al. [24] é realizada por Lyu et al. [25], no qual, são estudados os desempenhos de outras arquiteturas, mostrando que ao custo de maior complexidade, as redes convolucionais e recorrentes alcançam desempenhos superiores à arquitetura MLP (multilayer perceptron). Uma outra abordagem foi apresentada por Bennatan et al. [26], onde é proposta uma nova estrutura de decodificador que possui três etapas (pré-processamento, estimativa via rede neural e pós-processamento). Nessa estrutura, a rede é alimentada pela confiabilidade e síndromes das sequências recebidas e atua na estimativa do ruído; por fim, a etapa de pós-processamento estima a palavra-código transmitida. Uma grande vantagem dessa estrutura é que a rede neural pode ser projetada livremente, isto é, sem as restrições presentes em [21 23] que limitam o uso de outras arquiteturas. Algumas simplificações da rede neural original (especificamente, a MLP) proposta por Bennatan et al. [26] são apresentadas em [27, 28], objetivando a implementação em hardware. Recentemente, Lugosch e Gross [29] revisitaram a arquitetura proposta em [23], introduzindo uma função de perda baseada na relaxação da síndrome, onde são penalizadas as estimativas que não correspondam às palavras-código válidas. A combinação dessa função com a entropia cruzada binária melhora a FER para códigos BCH de comprimento curto. Um dos aspectos vantajosos dessa nova função de perda é a possibilidade do uso de aprendizado não-supervisionado. Em uma proposta que faz uso da técnica de Aprendizado Ativo (Active Deep), Be ery et al. [30] orientam seus estudos para a amostragem inteligente do conjunto de treinamento, acentuando que além da SNR (signal-to-noise ratio), outros parâmetros podem ser úteis para a obtenção de conhecimento adequado dos dados; observase que o uso do aprendizado ativo melhora o desempenho do decodificador WBP

30 28 CAPÍTULO 1. INTRODUÇÃO (Weighted Belief Propagation). A tabela 1.1 elenca resumidamente alguns dos principais trabalhos e suas respectivas características no contexto dos decodificadores baseados em NNs. De modo geral, verifica-se que os trabalhos, na sua maioria, seguem duas abordagens distintas segundo às entradas e saídas da rede, a saber: Decodificadores onde os vetores recebidos (ou suas LLRs) alimentam a entrada da rede e possuem como saída as palavras-código estimadas; Decodificadores que usam o conhecimento da síndrome na entrada da rede, estimando como saída o padrão de erro. Tabela 1.1: Alguns dos principais trabalhos que abordam os decodificadores baseados em NNs. Ref. Abordagem Canal Vetor recebido/llr Síndrome Sem BP Com BP BSC AWGN Código(s) [10] Hamming (7,4) Convolucional (1,2,3) [14] Hamming (7,4) [16] Reed-Muller (1,3) [17] Hamming (7,4) Reed-Muller (32,16) [18] Hamming (7,4) [19] Convolucional (1,2,9) Convolucional (1,3,9) [20] Hamming (7,4) [21] BCH (63,36), BCH (63,45) BCH (127,106) [23] BCH (63,36), BCH (63,45) BCH (127,64), BCH (127,99) [24] Códigos aleatórios e estruturados com n = 8, 16, 32 [26] BCH (63,45), BCH (127,64) [27, 28] BCH (63,45) BCH (63,36), BCH (63,45) [29] Polar (128,64), LDPC (16,8) LDPC (200,100) [30] BCH (63,36), BCH (63,45) BCH (127,64) 1.4 Contribuições Nesta dissertação, temos como foco, os decodificadores neurais que fazem uso do conhecimento da síndrome tanto para o canal BSC quanto para o canal AWGN. À luz

31 1.5. ORGANIZAÇÃO 29 dos decodificadores propostos em [17] e [26], nossas principais contribuições são: Redução da complexidade das arquiteturas neurais propostas em [27, 28], mantendo ou superando os desempenhos dessas redes; Proposta de um novo algoritmo de decodificação intitulado neural-max por meio do qual a rede prediz, uma por uma, as posições do padrão de erro; Extensão da abordagem apresentada por Tallini e Cull [17] para os códigos BCH com n 31, usando uma nova rede densa e o algoritmo neural-max para o canal BSC; Propostas de arquiteturas DNN e CNN para a estimativa do padrão de erro em uma estrutura de decodificação similar àquela apresentada por Bennatan et al. [26] em conjunto com o algoritmo neural-max para o canal AWGN. 1.5 Organização Essa dissertação está organizada do seguinte modo: No Capítulo 2, introduzimos resumidamente aspectos gerais sobre os ECCs para os códigos de bloco lineares; ademais, revisamos as principais características do aprendizado profundo (redes profundas, treinamento, função de perda, taxa de aprendizado, redes convolucionais, etc.). Por fim, discutimos os decodificadores neurais baseado no conhecimento da síndrome para os canais BSC e AWGN; No Capítulo 3, apresentamos nossas principais contribuições como as simplificações de DNNs para o código BCH(63,45), as novas redes (DNN e CNN) para os códigos BCH(63,36), BCH(63,45) e BCH(127,64) e a introdução do algoritmo/decodificador neural-max; No capítulo 4, apresentamos as configurações para o treinamento das redes de acordo com o canal de interesse, mostrando os resultados das simulações relacionadas às nossas contribuições, endossando os ganhos de codificação em relação ao estado da arte alcançados com as novas redes e decodificador propostos;

32 30 CAPÍTULO 1. INTRODUÇÃO Por fim, no Capítulo 5, elencamos as nossas considerações finais e algumas sugestões para trabalhos futuros.

33 Preliminares 2 Nesse capítulo, introduzimos importantes conceitos sobre os Códigos Corretores de Erros e Aprendizado Profundo que serão úteis para uma compreensão efetiva sobre os decodificadores baseados em NNs abordados nesta dissertação. 2.1 Códigos corretores de erros De início, consideremos um modelo de sistema de comunicação digital codificado ilustrado na figura 2.1. Nesse esquema, uma sequência de dígitos q-ária gerada por uma fonte é subdividida em blocos de k dígitos cada, denotados pelo vetor u = [u 0, u 1,, u k 1 ] que, por sua vez, alimentam o codificador; a ação do codificador resume-se, sob certas regras, em adicionar redundância ao vetor u, produzindo um vetor c = [c 0, c 1,, c n 1 ] denominado de palavra-código, onde n k. Para o conjunto (q k ) de todas as palavras-código atribuí-se o nome de código de bloco. Figura 2.1: Modelo de um sistema de comunicação digital codificado. Após a geração das palavras-código, o bloco modulador transforma o vetor codificado c em um vetor de sinal modulado x apropriado para transmissão usando canais

34 32 CAPÍTULO 2. PRELIMINARES analógicos (links de rádio de alta frequência, links de satélites, linhas telefônicas, etc.). Como os canais estão sujeitos a várias fontes de erros e (ruídos aleatórios, interferências e falhas), a saída do canal y pode ser diferente do vetor de entrada x. No lado do receptor, o bloco demodulador executa uma operação inversa e produz uma saída r = [r 0, r 1,, r n 1 ]. Em razão dos possíveis erros durante a transmissão, o bloco decodificador faz uso da redundância no vetor c para corrigir esses erros no vetor recebido y e assim obter uma estimativa û = [û 0, û 1,, û k 1 ]. De modo geral, o projeto de codificação/detecção/correção de erros deve lidar com três aspectos fundamentais: Criação de um código com propriedades de redundância desejadas; Estabelecer um algoritmo de decodificação para que a informação possa ser reproduzida, com determinada confiabilidade, na saída do decodificador; Tornar o sistema de codificação o mais eficiente possível, de modo que seja transmitida uma quantidade mínima de informações redundantes. Para efeitos de simplificação, os detalhamentos das seções seguintes estão baseados no esquema da figura 2.2, onde os blocos modulador, canal e demodulador estão combinados em um único bloco intitulado canal de codificação, para o qual, a entrada e saída são denotadas por c e r, nessa ordem [31]. Ademais, lidaremos apenas com códigos de bloco lineares binários (q = 2). Figura 2.2: Modelo simplificado de um sistema de comunicação digital codificado. 2.2 Definições e conceitos para códigos de bloco Para uma compreensão efetiva dos códigos de bloco, elencamos previamente algumas definições.

35 2.2. DEFINIÇÕES E CONCEITOS PARA CÓDIGOS DE BLOCO 33 Definições para códigos de bloco Definição 1.1: Um código de bloco de comprimento n e 2 k palavras-código é dito um código linear (n, k) se e somente se suas 2 k palavras-código formarem um subespaço k-dimensional do espaço vetorial de todas as n-tuplas sobre GF(2). Definição 1.2: O peso de Hamming (ou simplesmente peso) de c, denotado por w(c), é definido como o número de elementos não-nulos do vetor c. Definição 1.3: A distância de Hamming d(a, b), entre dois vetores a e b de comprimento n, é compreendida como o número de posições em que as sequências diferem. Nesse sentido, dado um código de bloco C, pode-se calcular d entre quaisquer duas palavras-código distintas. Definição 1.4: A distância mínima de Hamming d min de um código C corresponde a menor distância de Hamming entre duas palavras-código distintas, ou seja: d min = min {w(a + b) : a, b C, a b} (2.1) Caso o código C seja linear, a soma de duas palavras-código resulta em uma palavra-código também pertencente ao código C. Definição 1.5: A taxa do código R c é o número de bits de informação presentes em cada palavra-código dividido pelo comprimento do código, isto é: R c = k n (2.2) Definição 1.6: Um código de bloco com distância mínima d min garante a correção de todos padrões de erros de t = (d min 1) /2 ou menos erros, onde o parâmetro t é denominado de capacidade de correção de erros do código Descrição matricial Em virtude da linearidade do código, é possível selecionar k palavras-código linearmente independentes G 0, G 1, G 2,, G k 1 formando uma base de um espaço linear k-dimensional de modo que qualquer palavra-código possa ser gerada por uma com-

36 34 CAPÍTULO 2. PRELIMINARES binação linear das k palavras-código da base. Essas k palavras-código podem ser obtidas fazendo uso da matriz geradora denotada por G. Desse modo, para k e n quaisquer, temos: c = u 0 G 0 + u 1 G 1 + u 2 G u k 1 G k 1 = ug (2.3) Pode-se ainda incluir os dígitos de informação inalterados na palavra-código. Um código de bloco com essa característica é chamado de sistemático (vide figura 2.3). Nesse caso, a palavra-código é denotada por c = [c 0, c 1,, c n k 1, u 0, u 1,, u k 1 ] (2.4) e a matriz G possuirá a forma G k n = [P k n k I k ] (2.5) onde I é a matriz identidade de ordem k e P é a matriz de paridade e representa os dígitos utilizados para detecção e/ou correção de erro. Figura 2.3: Estrutura da palavra-código sistemática. Da teoria de espaços lineares, é conhecido ainda a existência de uma matriz H com dimensão (n k) n cujas n k são linhas linearmente independentes tal que: GH T = 0, ch T = 0 (2.6) Segue a partir da equação 2.6 que qualquer palavra-código c gerada por G é ortogonal às linhas de H; conclui-se assim que uma n-upla c é uma palavra-código de C se e somente se respeitar a equação 2.6, onde H é conhecida como matriz de verificação de paridade do código linear C, sendo denotada (na forma sistemática) por: H n k n = [ I n k P T ] (2.7)

37 2.3. SÍNDROME 35 De modo geral, a equação geradora/codificadora 2.3 e a equação de verificação de paridade 2.6 representam a base para a descrição operacional dos códigos de bloco lineares. Resumidamente, enquanto no transmissor a matriz G é usada na codificação, a matriz H é aplicada no receptor para o processo de decodificação. 2.3 Síndrome Consideremos uma palavra-código c transmitida por um canal ruidoso, cujo vetor recebido r seja expresso por r = c + e (2.8) onde e é denominado de padrão de erro ou vetor de erro. Conforme discutido na seção 2.1, a tarefa do decodificador será estimar û a partir de r. Comumente, inicia-se o algoritmo utilizado para essa etapa de decodificação computando o vetor denominado síndrome. Nesse contexto, a síndrome é formalmente definida por s = rh T (2.9) e possui as seguintes propriedades: i) Propriedade 1: o vetor síndrome depende unicamente do padrão de erro e não da palavra-código transmitida. s = (c + e) H T = ch T + eh T = eh T (2.10) ii) Propriedade 2: Todos os padrões de erro que diferem por uma palavra-código têm a mesma síndrome. De forma resumida, consideremos k dígitos de informação. Nesse caso, há 2 k palavras-código distintas denotadas por c i onde 0 i 2 k 1. Analogamente, para qualquer e, define-se 2 k vetores distintos e i como se segue: e i = e + c i (2.11)

38 36 CAPÍTULO 2. PRELIMINARES O conjunto de e i é chamado de coset do código C e possui 2 k elementos que diferem no máximo por uma palavra-código. Em outras palavras, um código linear C(n, k) tem 2 n k cosets possíveis. Nesse sentido, verifica-se facilmente que e i H T = eh T + c i H T = eh T é independente do índice i. Isto posto, conclui-se que cada coset é caracterizado por uma única síndrome. De fato, ambas as propriedades da síndrome podem ser analisadas a partir da equação Sob essa perspectiva e usando a forma sistemática da matriz H, podemos verificar que os (n k) elementos da síndrome são combinações lineares dos n elementos do padrão de erro e, isto é: s 0 s 1 s n k 1 = =. = e 0 + e n k p 00 + e n k+1 p e n k p k 1, 0 e 1 + e n k p 01 + e n k+1 p e n k p k 1, 1 e n k 1 + e n k p 0, n k 1 + e n k+1 p n k e n k p k 1, n k+1 O conjunto dessas (n k) equações evidenciam que a síndrome contém informação sobre os padrões de erros e, portanto, pode ser usado para detecção de erros Decodificação via síndrome Seja o vetor recebido c com 2 n valores possíveis, a ação do decodificador implica em particionar esse conjunto 2 n em 2 k subconjuntos disjuntos Ω 1,, Ω 2 k de tal forma que Ω i corresponda à c i para 1 i 2 k. Com efeito, para que a decodificação seja bem-sucedida, r deve estar no subconjunto que pertence a c i que realmente foi enviada. Os conjuntos 2 k constituem o arranjo padrão de um código de bloco linear, cujas etapas para sua construção podem ser consultadas em [31].

39 2.3. SÍNDROME 37 Para fins de exemplificação, consideremos a seguinte estrutura genérica de um arranjo padrão. c 1 = 0 c 2 c 3... c i... c 2 k e 2 c 2 + e 2 c 3 + e 2... c i + e 2... c 2 k + e e j c 2 + e j c 3 + e j... c i + e j... c 2 k + e j e 2 n k c 2 + e 2 n k c 3 + e 2 n k... c i + e 2 n k... c 2 k + e 2 n k As colunas de 2 k dessa matriz representam os subconjuntos disjuntos, enquanto as linhas 2 n k consistem nos cosets do código, sendo seus primeiros elementos e 2, e 3,, e 2 n k denominados de líderes de cosets. Na prática, para um certo canal de transmissão, a probabilidade de erro de decodificação é reduzida quando os padrões de erro mais prováveis são selecionados como líderes de cosets. No caso de um canal simétrico binário, quanto menor o peso de Hamming w, maior a probabilidade de ocorrência de erro. Por consequência, o arranjo padrão é construído tendo como líderes de cosets os vetores com os menores pesos de Hamming. De forma resumida, o processo de decodificação possui as seguintes etapas: Algoritmo de decodificação via síndrome i) De posse do vetor recebido r, computa-se a síndrome: s = rh T ; ii) Se s = 0, considera-se que r está livre de erro. Caso contrário, a partir do arranjo padrão, avalia-se o coset caracterizado por s, identificando o coset líder (padrão de erro com maior probabilidade de ocorrência) e denotando-o por e 0 ; iii) Estima-se ĉ = r + e 0 como a versão decodificada de r.

40 38 CAPÍTULO 2. PRELIMINARES 2.4 Códigos BCH Umas das classes mais importantes e poderosas de códigos de bloco lineares são os códigos BCH. Descobertos por Bose, Chaudhuri e Hocquenghem [32 34], são códigos cíclicos com uma ampla variedade de parâmetros; na prática, os códigos BCH binários primitivos são os mais comuns, sendo caracterizados pelos parâmetros inteiros e positivos m e t que respeitam as seguintes condições: Comprimento do bloco: n = 2 m 1; Quantidade de bits de mensagem: k n mt; Distância mínima: d min 2t + 1 Esses códigos, em específico, possuem capacidade de correção de t erros, ou seja, podem detectar e corrigir múltiplos erros, sendo assim considerados uma generalização dos códigos de Hamming. Além disso, possuem flexibilidade na escolha de parâmetros do código como comprimento e taxa de código. Essas características tornam os códigos BCH extremamente atrativos, especialmente, para cenários que demandam códigos de comprimento curto. 2.5 Aprendizado profundo Redes neurais profundas Em termos gerais, as Redes Neurais Profundas (Deep Neural Networks, DNN) consistem em aproximações de funções compostas por uma série de camadas, onde cada camada representa alguma transformação de ativações de entrada para saída com base em uma função de transferência paramétrica com um determinado conjunto de pesos aprendidos. Genericamente, uma rede profunda do tipo perceptron com L camadas representa um mapeamento f(r 0 ; θ) : R N 0 R N L de um vetor de entrada r 0 R N 0 para um vetor de saída r L R N L por meio de L etapas iterativas, tal que: r l = f l (r l 1 ; θ l ), l = 1,, L (2.12) Para o caso de uma arquitetura com camadas totalmente conectadas, a l-ésima

41 2.5. APRENDIZADO PROFUNDO 39 camada (vide figura 2.4) tem o mapeamento descrito pela seguinte forma: f l (r l 1 ; θ l ) = g (W l r l 1 + b l ) (2.13) onde: W l R N l N l 1 é a matriz de pesos da respectiva camada l; b l R N l denota o vetor de bias; g ( ) representa a função de ativação, em geral, aplicada individualmente a cada elemento de entrada da camada, isto é [g(z)] i = g(z) i ; θ l = {W l, b l } é o conjunto de parâmetros da camada l. Figura 2.4: Arquitetura DNN do tipo perceptron com camadas de entrada, ocultas e de saída. Com efeito, a principal característica da arquitetura ilustrada na figura 2.4 reside no fato de que cada neurônio recebe na entrada a contribuição de cada neurônio da camada anterior e alimenta sua saída para todos os neurônios da próxima camada. Vale mencionar que a função de ativação g(.) presente na equação 2.13, ao introduzir uma não-linearidade contribui significativamente para a capacidade de aprendizagem/mapeamento da rede. De fato, na ausência da não-linearidade, o empilhamento de camadas característico das redes profundas não resultaria em grande vantagem [35]. Algumas das funções das ativações mais populares [36] estão listadas na tabela 2.1.

42 40 CAPÍTULO 2. PRELIMINARES Tabela 2.1: Funções de ativação mais comuns. Função g(z) i Contradomínio Linear z i (, ) e Tanh z i e z i ( 1, 1) e z i+e z i 1 Sigmoid (0, 1) 1+e z i ReLU max (0, z i ) [0, ) No contexto do aprendizado de máquina, reconhece-se que o poder das NNs reside intimamente na sua configurabilidade. Normalmente, a rede é configurada por um determinado procedimento de treinamento que depende de um conjunto de dados de amostra, consistindo de entradas e, no caso de treinamento supervisionado, de saídas desejadas (conhecidas como rótulos). Desse modo, o processo de treinamento de uma rede neural é essencialmente realizado usando dados rotulados, isto é, um conjunto de pares de vetores entrada-saída ( r 0,j, r L,j) para j [1,, N], onde r L,j é o valor da saída desejada. Nesse sentido, o objetivo do treinamento incorre em minimizar a função de custo J(θ) = 1 N N L ( ) r L,j, r L,j j=1 (2.14) em relação ao conjunto de parâmetros θ em que L : R N L R N L R corresponde à função de perda. Na prática, o processo de aprendizagem de uma arquitetura neural consiste em alcançar bons conjuntos de parâmetros θ de forma a minimizar a equação 2.14 [37]. Um dos mais populares algoritmos para encontrar esses conjuntos é o gradiente descendente estocástico (stochastic gradient descent, SGD) combinado com o método de backpropagation, no qual, para um valor inicial aleatório θ = θ 0, a atualização iterativa dos parâmetros θ é denota por θ t+1 = θ t α Ĵ(θ t) (2.15) onde α é o parâmetro que define a taxa de aprendizado (learning rate), isto é, o tamanho do passo que será dado na direção apontada pelo gradiente, que por sua vez, é calculado através do algoritmo de backpropagation [38]. Na equação 2.15, Ĵ(θ) consiste na aproximação da função custo computada para exemplos aleatórios de treinamento (mini-batches) Γ t {1,, N} de tamanho fixo Γ t para cada iteração,

43 2.5. APRENDIZADO PROFUNDO 41 isto é: Ĵ(θ) = 1 Γ t j Γ t L ( r L,j, r L,j ) (2.16) Na prática, devido ao fator aleatório inerente, o SGD fornece uma aproximação grosseira do gradiente descendente, resultando em uma convergência não suave. Ademais, para conjuntos de dados grandes, o SGD é custoso computacionalmente em razão das constantes atualizações exigidas por este. Por esses motivos, outras variantes como RMSProp, AdaGrad, AdaDelta e Adam são mais utilizadas [35] Taxa de aprendizado Considerado um dos mais importantes hiperparâmetros para o treinamento das redes neurais profundas [39], a taxa de aprendizado α controla a magnitude do passo na direção do gradiente (vide equação 2.15). Embora, em alguns casos, as redes possam obter resultados razoáveis ao serem treinadas por um número fixo de épocas sem alterar o valor de α, na prática, essa não é a abordagem mais empregada e isso se deve ao fato de que não temos conhecimento de qual α é mais apropriada [35]. Conforme ilustra a figura 2.5, o uso de taxas de aprendizado elevadas causam atualizações que conduzem ao comportamento divergente do processo de minimização da função perda. Com taxas de aprendizado muito pequenas, por sua vez, o treinamento exigirá muitas atualizações para alcançar as regiões de valores mínimos da função de perda (vide figura 2.6). Figura 2.5: α muito grande. Na prática, é recomendável começar o treinamento com α grande para que a rede

44 42 CAPÍTULO 2. PRELIMINARES obtenha um bom conjunto θ inicial que posteriormente será otimizado conforme o treinamento avance com α sendo reduzido através de alguma programação específica, como é o caso do decaimento linear ou polinomial de α (vide figura 2.7). Todavia, ao usar as técnicas convencionais de redução monotônica de α, a minimização de J(θ) pode ficar retida em pontos de sela ou mínimos locais, onde α com valor muito pequeno pode ser insuficiente para escapar dessas regiões conforme ilustra a figura 2.8. Figura 2.6: α muito pequeno. Figura 2.7: α ideal. Outro aspecto a ser considerado é que tanto a rede quanto o otimizador podem ser altamente sensíveis ao valor inicial de α. Desse modo, diante de uma má escolha inicial de α, a minimização de J(θ) pode não evoluir. Uma das formas de contornar ambos problemas é através da taxa de aprendizado cíclica [40], no qual, em vez que diminuir monotonicamente α, estabelece-se que α

45 2.5. APRENDIZADO PROFUNDO 43 oscile entre dois limites (lr min e lr max ), aumentando e diminuindo lentamente após cada atualização de batch. A figura 2.9 mostra como a taxa de aprendizado cíclica funciona. Figura 2.8: Mínimo local e mínimo global. Figura 2.9: Taxa de aprendizado cíclica de perfil triangular Redes neurais convolucionais As CNNs são redes neurais que empregam a convolução em vez da multiplicação geral de matrizes em pelo menos uma de suas camadas [35]. O emprego da operação de convolução, que é linear, permite que as CNNs explorem informações em estruturas organizadas no tempo e no espaço. Dessa forma, essas redes são capazes de aprenderem representações invariantes à escala, translação, rotação e transformação. Em geral, as arquiteturas das CNNs são constituídas de três tipos de camadas: camada convolucional, camada de agrupamento (pooling) e camada densa (fully connected). Em detalhe, as camadas convolucionais possuem filtros (núcleos de convolução) para processar o sinal recebido, onde para cada filtro, um neurônio está conectado à apenas um subconjunto dos neurônios da camada anterior. Os filtros são os responsáveis pela formação dos mapas de características.

46 44 CAPÍTULO 2. PRELIMINARES Para compreendermos como esses núcleos de convolução atuam, suponhamos que a l-ésima camada de uma rede seja uma camada convolucional, para a qual, N k l e T k l denotam a quantidade e o tamanho dos filtros, enquanto N s e T s l correspondem à quantidade e ao tamanho das entradas da referida camada. De modo genérico, a operação de convolução na l-ésima camada é definida como se segue h k l = g ( W k l r k + b k l ) (2.17) onde: ( W k l r k) i = a= W k l (i a)r(a) (2.18) Nas equações acima: r R N s T s l é o conjunto de entradas; W R N k l T s l representa o conjunto dos filtros; b R N s denota o bias para cada saída. Tipicamente, as camadas convolucionais são 1D, 2D ou 3D e suas devidas aplicações dependem essencialmente do tipo de dado a ser processado. Para uma operação de convolução unidimensional, por exemplo, a equação 2.18 pode ser reescrita como y[i] = N c T k 1 c=1 m=0 W k c,l[i + m]r c,l [m] (2.19) em que N c corresponde à quantidade de canais. Nesse caso, i é a posição da sequência onde a convolução é realizada, m indica a posição dos termos da convolução e o subíndice c refere-se ao canal em que se aplica tal operação. A figura 2.10 ilustra como ocorre a convolução 1D para uma entrada com N c canais Normalização em lote A camada de normalização em lote (batch normalization, BN) atua acelerando o Aprendizado Profundo da rede a partir da redução interna da covariância, alterando assim a distribuição de saída de cada camada durante a etapa de treinamento [41].

47 2.5. APRENDIZADO PROFUNDO 45 Figura 2.10: Representação da convolução 1D com filtros de tamanho T para uma entrada com N c canais. Para entendermos a ação da camada BN, considere um único mini-lote dado por B = {x 1, x 2,, x d } e a saída da camada BN como y i. Nesse caso, sejam a média (µ B ) e a variância (σb 2 ) para B dadas por: µ B = 1 d d x i, σb 2 = 1 d i=1 d (x i µ B ) 2 (2.20) i=1 A normalização será obtida pela relação ˆx i = x i µ B σ 2 B + ɛ (2.21) e a saída y i alcançada através da seguinte expressão y i = γˆx i + β (2.22) onde γ e β devem ser aprendidos durante o treinamento da arquitetura. O termo ɛ é uma pequena quantidade usada para evitar a divisão por zero.

48 46 CAPÍTULO 2. PRELIMINARES 2.6 Decodificadores neurais baseados na síndrome Canal BSC De início, consideremos um sistema de comunicação cuja transmissão utiliza um código linear C com taxa de codificação k, onde uma mensagem original de k bits n denotada por u GF(2) k é codificada para uma palavra-código c de n bits, através da relação c = ug, c GF(2) n (2.23) onde G GF(2) n k é a matriz geradora. Para um canal de comunicação BSC (binary simmetric channel) com probabilidade de erro de transição ɛ conforme ilustra a figura 2.11, o algoritmo de decodificação atuará estimando ĉ a partir de r. Figura 2.11: Sistema de comunicação usando o canal BSC. Uma estratégia de decodificação que usa a síndrome no treinamento de uma rede neural para estimar os padrões de erro em uma transmissão sob o canal BSC foi originalmente apresentada por Tallini e Cull [17]. Ilustrado na figura 2.12, o esquema proposto em [17] pode ser resumido em três etapas: i) Para uma palavra ruidosa r computa-se a síndrome s = rh T ; ii) De posso do vetor síndrome, estima-se através de uma rede neural o padrão de erro mais provável (ê), ou seja, àquele com o peso mínimo; iii) Computa-se a estimativa ĉ da palavra-código enviada c: ĉ = r + ê. Nesse sentido, o objetivo em [17] resume-se à encontrar uma rede neural que explore a capacidade de correção de erros do código linear C. Conforme mencionado no capítulo anterior, usando esse decodificador, Tallini e Cull foram bem-sucedidos para lidar com códigos curtos como Hamming(7,4) e Reed-Muller de 2 ā ordem (32,16). Na

49 2.6. DECODIFICADORES NEURAIS BASEADOS NA SÍNDROME 47 seção de resultados, utilizamos a mesma estrutura de decodificação, porém, visando exclusivamente códigos BCH curtos. Figura 2.12: Decodificador baseado em síndrome proposto por Tallini e Cull [17] Canal AWGN Para uma transmissão usando o canal AWGN (additive white gaussian noise), o sistema de comunicação pode ser simplificadamente representado pela figura 2.13, onde usamos o esquema de modulação digital BPSK (binary phase shift keying), mapeando assim a palavra-código para o formato bipolar: x = 1 2c, x { 1, +1} n (2.24) Uma vez transmitida, o vetor recebido r é expresso por r = x + z, z N ( 0, σ 2) (2.25) onde σ 2 corresponde à variância e z é estatisticamente independente de x. Figura 2.13: Sistema de comunicação usando o canal AWGN. Conforme discutido anteriormente, os algoritmos de decodificação atuam estimando ĉ (ou diretamente û) a partir de r, visando alcançar uma função de mapeamento ideal que satisfaça o critério de máxima a posteriori (MAP). Considerando o sistema de comunicação da seção 2.6.2, o decodificador neural baseado na síndrome proposto por Bennatan et al. [26] está ilustrado na figura 2.14,

50 48 CAPÍTULO 2. PRELIMINARES onde r corresponde ao valor absoluto de r e r s e r b são denotados por: +1, se r 0 r s = sign(r) = 1, se r < 0, r b = bin(r s ) = 1 r s 2 (2.26) Figura 2.14: Decodificador baseado em síndrome proposta por Bennatan et al. [26]. A estrutura desse decodificador compreende três etapas, a saber: Pré-processamento: estágio no qual são computados r e r b H T onde H é a matriz de verificação de paridade do código C; (síndrome), Estimativa do ruído: onde a rede neural profunda (DNN ou RNN), estima ê a partir das entradas r e r b H T ; Pós-processamento: realiza-se o produto de Hadamard (r s ê), cujo sinal é admitido como a estimativa de ĉ. Enfatiza-se que diferentemente de boa parte das abordagens encontradas na literatura, a rede neural desse decodificador atua na estimativa do ruído do canal. De fato, a estrutura desse decodificador (figura 2.14) não resulta em perda de otimalidade no que se refere às métricas BER (bit error rate) ou MSE (mean squared error), de modo que se pode alcançar decodificação MAP. Outro aspecto a ser acentuado é que independente da arquitetura implementada para estimar o ruído, as métricas são invariantes à palavra-código transmitida. As demonstrações dessas conclusões podem ser consultadas em [26].

51 2.6. DECODIFICADORES NEURAIS BASEADOS NA SÍNDROME 49 Essa abordagem de decodificação, baseada na estimativa do ruído, é válida para a classe de canais BISO (binary-input symmetric-output) que engloba, os canais AWGN e BSC, por exemplo.

52

53 Contribuições 3 Nesse capítulo, elencamos as propostas desta dissertação. Inicialmente, apresentamos uma proposta de arquitetura simples do tipo densa para a estrutura de decodificação baseada em síndrome voltada ao canal BSC. Para o código BCH(63,45) transmitido via canal AWGN, são apresentadas duas arquiteturas densas com complexidade simplificada para implementação em hardware; além disso, propomos arquiteturas DNN e CNNs (com complexidades reduzidas e elevadas) para os códigos BCH(63,36), BCH(63,45) e BCH(127,64). Por fim, introduzimos o algoritmo neural-max. 3.1 Arquiteturas propostas Canal BSC Para o canal BSC e baseado na mesma estrutura de decodificação discutida na seção 2.6.1, propomos a arquitetura densa ilustrada na figura 3.1, constituída de cinco camadas (quatro ocultas e uma de saída), onde as quatro primeiras camadas possuem 8n neurônios cada, enquanto a última camada (saída) possui n neurônios, sendo n o comprimento da palavra-código do código em questão. Na figura 3.1, o símbolo representa a operação de concatenação. Conforme exige o decodificador neural para o canal BSC, essa rede é alimentada pela síndrome do vetor r e estima o padrão de erro ê. Em todas as camadas, usamos a função de ativação sigmóide para os neurônios e distribuição normal para a inicialização dos parâmetros da rede. De fato, em boa parte das atuais pesquisas no contexto do Aprendizado de Máquina, a função de ativação ReLU (rectified linear unit) é a mais utilizada [42]. Contudo, após testes com essa e outras funções (tanh, elu, hard sigmoid, etc.), nossos melhores

54 52 CAPÍTULO 3. CONTRIBUIÇÕES resultados foram alcançados utilizando a função sigmóide (vide o apêndice A). Figura 3.1: DNN-I: Rede densa usada no decodificador neural para o canal BSC Canal AWGN Estrutura do decodificador neural Para o canal AWGN, inicialmente, propomos uma versão modificada da estrutura de decodificação (vide seção 2.6.2) apresentada por Bennatan et al. [26]. Ilustrada na figura 3.2, as principais alterações são: Pré-processamento: A entrada da rede passa a ser o par (rh T, sig ( r )) em vez de (rh T, r ). A mudança de r para sig ( r ) foi realizada visando normalizar a entrada r, alterando o contradomínio de [0, [ para [0, 1 ]. O uso conjunto da entrada (rh T, sig ( r ) com as camadas de normalização aceleram a 2 etapa de treinamento sem prejudicar o desempenho da rede 1. Pós-processamento: Obtém-se a palavra-código estimada ĉ a partir da soma em módulo-2 entre r e ê; vale recordar que no esquema de decodificação em [26], ĉ é obtido a partir do sinal do produto de Hadamard entre ˆr s e ê. 1 A operação sig corresponde à função sigmóide.

55 3.1. ARQUITETURAS PROPOSTAS 53 Figura 3.2: Decodificador neural baseado em síndrome proposto Simplificações Uma vez definida a nova estrutura de decodificação, propomos duas redes densas com complexidades reduzidas em comparação àquelas usadas em [27, 28]. Nesse caso, compreende-se como complexidade a quantidade de parâmetros da rede. Em [27], Kavvousanos et al., sem comprometer o desempenho de decodificação para o código BCH(63,45), reduz a complexidade da DNN proposta em [26], obtendo os melhores resultados a partir de uma rede densa com parâmetros (uma redução de quase 60% em relação à DNN original). Nesse sentido, visando diminuir ainda mais a complexidade de uma rede DNN que retorne, no mínimo, o mesmo desempenho da rede apresentada em [27], propomos a rede da figura 3.3 que possui parâmetros e é constituída de cinco camadas densas (quatro ocultas e uma de saída) onde para as quatro primeiras usamos 8n neurônios. Figura 3.3: DNN-II: Arquitetura simplificada em relação à rede proposta em [27]. É válido observar ainda na figura 3.3 que as quatro primeiras camadas densas são todas acompanhadas de uma camada BN, responsável por acelerar substancialmente

56 54 CAPÍTULO 3. CONTRIBUIÇÕES o treinamento da rede. Assim como a rede proposta para o canal BSC, utilizamos a função de ativação sigmóide para todas as camadas assim como inicializamos os valores dos parâmetros da rede com uma distribuição normal. Uma outra arquitetura DNN, possuindo parâmetros, foi projetada por Kavvousanos e Paliouras [28] para a decodificação do código BCH(63,45) com enfoque na implementação em hardware. Objetivando uma rede menos complexa e que tenha desempenho equivalente (ou melhor) que essa DNN, propomos a arquitetura ilustrada na figura 3.4 que possui parâmetros e é composta por seis camadas densas (cinco ocultas e uma de saída), onde as cinco primeiras camadas possuem 4n + k neurônios. Da mesma forma que na rede da figura 3.3, aplicamos a função sigmóide para ativação dos neurônios nas camadas densas. Figura 3.4: DNN-III: Arquitetura simplificada em relação à rede proposta em [28] Novas redes Nessa seção, propomos novas redes avaliando o desempenho dessas na decodificação de três diferentes códigos, a saber: BCH(63,36), BCH(63,45) e BCH(127,64). Para os códigos mais curtos, i.e, BCH(63,36) e BCH(63,45) apresentamos três novas redes (uma DNN e duas CNNs-1D), enquanto que para o código BCH(127,64), propomos uma CNN-1D específica. A DNN proposta está ilustrada na figura 3.5 e possui oito camadas densas (sete camadas ocultas e uma de saída), com 8n neurônios cada, exceto a última camada que possui n neurônios. As arquiteturas CNNs-1D para os códigos mais curtos, por sua vez, estão esboçadas nas figuras 3.6 e 3.7, nas quais, os valores abaixo das camadas convolucionais indicam, respectivamente, a quantidade e o tamanho dos

57 3.2. DECODIFICADOR NEURAL-MAX 55 filtros utilizados nessas camadas. Para todas as camadas (convolucionais e densas), empregamos a função de ativação sigmóide, sendo que nas camadas convolucionais usamos a função glorot uniform para a inicialização dos pesos. Figura 3.5: DNN-IV: DNN para os códigos BCH(63,36) e BCH(63,45). Figura 3.6: CNN-I: CNN simplificada para os códigos BCH(63,36) e BCH(63,45). Em relação ao código BCH(127,64), a arquitetura proposta (vide figura 3.8) é constituída de seis camadas (cinco convolucionais e uma densa). 3.2 Decodificador neural-max Nos decodificadores descritos na seções e 2.6.2, presume-se que a NN seja capaz de estimar o vetor de erro por completo, ou seja, todas as possíveis posições dos erros. Entretanto, o sucesso dessa estimativa pode ser comprometido por padrões de erros que provocam inconsistências durante o processo de treinamento. Para compreendermos essas inconsistências, suponhamos, por exemplo, uma palavra-

58 56 CAPÍTULO 3. CONTRIBUIÇÕES Figura 3.7: BCH(63,45). CNN-II: CNN (com seis camadas convolucionais) para os códigos BCH(63,36) e Figura 3.8: CNN-III: CNN para o código BCH(127,64). código c C dada por: [ c = ] Nesse caso, é fácil verificar que dois possíveis padrões de erros tal que c = e 1 +e 2 são [ ] e 1 = [ ] e 2 = com síndromes s 1 = s 2, onde w(e 1 ) < w(e 2 ). Conforme discutido anteriormente, na etapa de treinamento a NN aprende a estimar o padrão de erro com base nos exemplos observados. Dessa forma, para uma síndrome s 1, a rede é treinada para estimar ê 1, enquanto que para a síndrome s 2, a rede deve predizer ê 2. De fato, a inconsistência ocorre pelo fato de que para essas duas entradas iguais (s 1 e s 2 ), exigimos que a

Universidade de Pernambuco Escola Politécnica de Pernambuco

Universidade de Pernambuco Escola Politécnica de Pernambuco Universidade de Pernambuco Escola Politécnica de Pernambuco TV Analógica e Digital Introdução Codificação de Canal Prof. Márcio Lima E-mail:marcio.lima@poli.br Introdução Visão Geral Introdução Motivação

Leia mais

COM29008 LISTA DE EXERCÍCIOS #

COM29008 LISTA DE EXERCÍCIOS # INSTITUTO FEDERAL DE SANTA CATARINA CAMPUS SÃO JOSÉ COORDENADORIA DE ÁREA DE TELECOMUNICAÇÕES ENGENHARIA DE TELECOMUNICAÇÕES COM29008 LISTA DE EXERCÍCIOS #1 2016.2 Exercícios 1. Verifique se os seguintes

Leia mais

Códigos de bloco. Luis Henrique Assumpção Lolis. 1 de novembro de Luis Henrique Assumpção Lolis Códigos de bloco 1

Códigos de bloco. Luis Henrique Assumpção Lolis. 1 de novembro de Luis Henrique Assumpção Lolis Códigos de bloco 1 Códigos de bloco Luis Henrique Assumpção Lolis 1 de novembro de 2013 Luis Henrique Assumpção Lolis Códigos de bloco 1 Conteúdo 1 Códigos de bloco lineares 2 Códigos sistemáticos 3 Síndrome 4 Distância

Leia mais

Códigos de blocos lineares. Outubro de 2017

Códigos de blocos lineares. Outubro de 2017 Códigos de blocos lineares Outubro de 2017 Vamos introduzir alguns conceitos sobre códigos de blocos lineares. Definições: Deve-se assumir que a informação saída da fonte de informação é da forma binária

Leia mais

Estudo sobre decodificação iterativa usando códigos de treliça

Estudo sobre decodificação iterativa usando códigos de treliça Revista de Engenharia e Pesquisa Aplicada, Volume 2, Número 1, 2016 Estudo sobre decodificação iterativa usando códigos de treliça Souza, I. M. M. Escola Politécnica de Pernambuco Universidade de Pernambuco

Leia mais

Acrescenta um bit 1 ou um bit 0 às mensagem para que o número total de bits 1 seja par

Acrescenta um bit 1 ou um bit 0 às mensagem para que o número total de bits 1 seja par Detecçã ção o de Erros Paridade Verificação de Paridade Esse tipo de detecção consiste em acrescentar um bit (de paridade) a cada conjunto de bits da mensagem (caractere) de modo a ter as seguintes características:

Leia mais

Aula 3- Codificação de Canal. October 18, 2017

Aula 3- Codificação de Canal. October 18, 2017 ELE-32 Introdução a Comunicações Aula 3- Codificação de Canal October 18, 2017 1 Introdução Em muitas situações, a mensagem a ser transmitida por um sistema de comunicações é uma sequência de bits. Entretanto,

Leia mais

III-1 Códigos detectores e correctores de erros

III-1 Códigos detectores e correctores de erros III-1 Códigos detectores e correctores de erros (13 Dezembro de 2010) ISEL-DEETC- 1 Sumário 1. Aspectos gerais sobre a comunicação digital 1. Causa de erros 2. Códigos detectores e correctores de erros

Leia mais

ALGORITMOS DE DECODIFICAÇÃO POR DECISÃO SUAVE APLICADOS A CÓDIGOS BCH

ALGORITMOS DE DECODIFICAÇÃO POR DECISÃO SUAVE APLICADOS A CÓDIGOS BCH 2014 Universidade Federal de Pernambuco Graduação em Ciências da Computação Centro de Informática 2014.1 ALGORITMOS DE DECODIFICAÇÃO POR DECISÃO SUAVE APLICADOS A CÓDIGOS BCH Proposta de Trabalho de Graduação

Leia mais

EET-61 Introdução a Teoria da Informação

EET-61 Introdução a Teoria da Informação EET-61 Introdução a Teoria da Informação Aula 3- Codificação de Canal October 24, 2018 1 Introdução Em muitas situações, a mensagem a ser transmitida por um sistema de comunicações é uma sequência de bits.

Leia mais

3 Redes Neurais Artificiais

3 Redes Neurais Artificiais 3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida

Leia mais

JAI 6 - Deep Learning Teoria e Prática

JAI 6 - Deep Learning Teoria e Prática JAI 6 - Deep Learning Teoria e Prática Esteban Clua e Cristina Nader Vasconcelos Universidade Federal Fluminense Fundamentos Computação baseada em modelos crisnv@ic.uff.br 2 Computação baseada em aprendizado

Leia mais

TRANSMISSÃO DE DADOS PROTEGIDOS POR CÓDIGOS CORRETORES DE ERRO

TRANSMISSÃO DE DADOS PROTEGIDOS POR CÓDIGOS CORRETORES DE ERRO TRANSMISSÃO DE DADOS PROTEGIDOS POR CÓDIGOS CORRETORES DE ERRO Aluno: Débora Almeida Oliveira Orientador: Weiler Alves Finamore 1.Introdução Este trabalho tem como objetivo demonstrar a utilização de códigos

Leia mais

Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado

Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado Rodrigo Pereira David Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

Leia mais

Códigos de Permutação para Compressão de Dados e Modulação 13. Codificador de fonte. Decodificador. Figura 1.1: Modelo de um sistema de comunicações.

Códigos de Permutação para Compressão de Dados e Modulação 13. Codificador de fonte. Decodificador. Figura 1.1: Modelo de um sistema de comunicações. 1 Introdução Neste trabalho, estamos interessados nos problemas da teoria de comunicações conhecidos como compressão de dados e modulação. Um modelo típico de um sistema de comunicações é mostrado na Fig.

Leia mais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais ricardo.kerschbaumer@ifc.edu.br http://professor.luzerna.ifc.edu.br/ricardo-kerschbaumer/ Introdução O Cérebro humano Mais fascinante processador

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Marcelo K. Albertini 24 de Julho de 2014 2/34 Conteúdo Perceptron Gradiente descendente Redes multicamadas Retropropagação de erros 3/34 Modelos conexionistas Humanos Tempo de

Leia mais

Fundamentos de Telecomunicações

Fundamentos de Telecomunicações Fundamentos de Telecomunicações LEEC_FT 32&33: Codificação de Canal Professor Victor Barroso vab@isr.ist.utl.pt Lição 32 Controlo dos Erros de Transmissão Codificação de canal abordagens básicas Detecção

Leia mais

TE111 Comunicação Digital. Quais os Benefícios da Codificação de Canal? Evelio M. G. Fernández. 15 de outubro de 2018

TE111 Comunicação Digital. Quais os Benefícios da Codificação de Canal? Evelio M. G. Fernández. 15 de outubro de 2018 TE111 Comunicação Digital Introdução à Codificação de Canal 15 de outubro de 2018 Quais os Benefícios da Codificação de Canal? 1 O uso de codificação de canal pode: aumentar a faixa de operação de um sistema

Leia mais

p TPP = (6.1) e a rajada de perda de pacote é medida pela Comprimento Médio da Rajada (CMR ) que é dada por

p TPP = (6.1) e a rajada de perda de pacote é medida pela Comprimento Médio da Rajada (CMR ) que é dada por 6 Perdas de Pacotes O problema de perda de pacotes em rajadas nas redes IP e redes móveis é um dos fatores mais importantes a serem considerados na análise de sistemas de reconhecimento de voz distribuídos.

Leia mais

III-1 Códigos detetores e corretores de erros

III-1 Códigos detetores e corretores de erros III-1 Códigos detetores e corretores de erros Comunicações ISEL-ADEETC-Comunicações 1 Sumário 1. Aspetos gerais sobre a comunicação digital Comportamento do canal Causas da existência de erros 2. Códigos

Leia mais

1 O esquema de Alamouti: Diversidade na transmissão

1 O esquema de Alamouti: Diversidade na transmissão 1 O esquema de Alamouti: Diversidade na transmissão 1.1 O Caso de uma antena receptora A Figura?? mostra a representação em banda básica do esquema de Alamouti com diversidade na transmissão. O esquema

Leia mais

III-1 Códigos detetores e corretores de erros

III-1 Códigos detetores e corretores de erros III-1 Códigos detetores e corretores de erros Comunicações 21 de novembro de 2017 ISEL-ADEETC-Comunicações 1 Sumário 1. Aspetos gerais sobre a comunicação digital Comportamento do canal Causas da existência

Leia mais

Universidade de Pernambuco Escola Politécnica de Pernambuco

Universidade de Pernambuco Escola Politécnica de Pernambuco Universidade de Pernambuco Escola Politécnica de Pernambuco TV Analógica e Digital Codificação de Fonte Prof. Márcio Lima E-mail:marcio.lima@poli.br 12.06.2014 Introdução A principal função de um sistema

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Redes Neurais Biológicas 2. Neurônio Artificial 3. Rede Neural Artificial 4. Keras 1 Redes Neurais Biológicas

Leia mais

ELE32 Introdução a Comunicações Codificação de Canal. ITA 2º. Semestre de 2017

ELE32 Introdução a Comunicações Codificação de Canal. ITA 2º. Semestre de 2017 ELE32 Introdução a Comunicações Codificação de Canal ITA 2º. Semestre de 2017 manish@ita.br Canal causa erros de transmissão X Y (1-q) 0 (1-p) 0 p p q 1 (1-p) 1 Como proteger informação contra erros de

Leia mais

Universidade Federal de Pernambuco. Centro de Informática. Graduação em Ciência da Computação

Universidade Federal de Pernambuco. Centro de Informática. Graduação em Ciência da Computação Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação ALGORITMOS DE DECODIFICAÇÃO POR DECISÃO SUAVE APLICADOS A CÓDIGOS BCH Lucas Minoru Ferreira Harada TRABALHO DE

Leia mais

Teoria da Informação

Teoria da Informação Charles Casimiro Cavalcante charles@gtel.ufc.br Grupo de Pesquisa em Telecomunicações Sem Fio GTEL Programa de Pós-Graduação em Engenharia de Teleinformática Universidade Federal do Ceará UFC http://www.gtel.ufc.br/

Leia mais

Compromissos da Modulação e da Codificação

Compromissos da Modulação e da Codificação Compromissos da Modulação e da Codificação Edmar José do Nascimento (Tópicos Avançados em Engenharia Elétrica I) http://www.univasf.edu.br/ edmar.nascimento Universidade Federal do Vale do São Francisco

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES DE FUNÇÃO DE BASE RADIAL - RBF Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 Funções de Base Global Funções de Base Global são usadas pelas redes BP. Estas funções são definidas como funções

Leia mais

Fundamentos de Telecomunicações

Fundamentos de Telecomunicações Fundamentos de Telecomunicações LERCI_FT 3: Codificação de Canal Professor Victor Barroso vab@isr.ist.utl.pt Codificação de Canal Aplica-se para aumentar a fiabilidade do sistema de comunicações digitais.

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 22 Redes Neurais Edirlei Soares de Lima Formas de Aprendizado Aprendizado Supervisionado Árvores de decisão. K-Nearest Neighbor (KNN). Support

Leia mais

Descodificação iterativa

Descodificação iterativa Sílvio A. Abrantes DEEC/FEUP 26 Descodificação iterativa 2 Descodificação de códigos LDPC por transferência de mensagens em grafos de Tanner Introdução Diagrama de blocos de um sistema genérico de codificação

Leia mais

Redes Neurais MLP: Exemplos e Características

Redes Neurais MLP: Exemplos e Características Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Redes Neurais MLP: Exemplos e Características DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1

Leia mais

III-1 Códigos detetores e corretores de erros

III-1 Códigos detetores e corretores de erros III-1 Códigos detetores e corretores de erros Comunicações ISEL-ADEETC-Comunicações 1 Sumário 1. Aspetos gerais sobre a comunicação digital Causa de erros 2. Códigos detetores e corretores de erros Códigos

Leia mais

Códigos Corretores de Erro Aplicados a Redes de Sensores sem Fio

Códigos Corretores de Erro Aplicados a Redes de Sensores sem Fio Revista de Engenharia e Pesquisa Aplicada, Volume 2, Número 1, 2016 Códigos Corretores de Erro Aplicados a Redes de Sensores sem Fio Aguiar, R. M. D. Escola Politécnica de Pernambuco Universidade de Pernambuco

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS REDE ADALINE e REGRA DELTA Prof. Dr. André A. P. Biscaro 2º Semestre de 2017 Aspectos históricos O ADALINE foi idealizado por Widrow & Hoff em 1960. Sua principal aplicação estava

Leia mais

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Principais tópicos Aprendizado profundo André C P L F de Carvalho Posdoutorando: Isvani Frias-Blanco ICMC-USP Introdução Redes profundas Aprendizado profundo Redes autodecodificadoras

Leia mais

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes. HP UFCG Analytics Abril-Maio 2012 Um curso sobre Reconhecimento de Padrões e Redes Neurais Por Herman Martins Gomes hmg@dsc.ufcg.edu.br Programa Visão Geral (2H) Reconhecimento Estatístico de Padrões (3H)

Leia mais

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado Carlos Roberto da Costa Ferreira Interpolação Modificada de LSF's Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pósgraduação em

Leia mais

Rede RBF (Radial Basis Function)

Rede RBF (Radial Basis Function) Rede RBF (Radial Basis Function) André Tavares da Silva andre.silva@udesc.br Roteiro Introdução à rede neural artificial RBF Teorema de Cover da separabilidade de padrões RBF x MLP RBF Função de ativação

Leia mais

Paradigmas de Aprendizagem

Paradigmas de Aprendizagem Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Paradigmas de Aprendizagem Redes Neurais Artificiais Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Amanda Cunha Silva. Análise de Desempenho de Códigos Turbo DISSERTAÇÃO DE MESTRADO. Programa de Pós graduação em Engenharia Elétrica

Amanda Cunha Silva. Análise de Desempenho de Códigos Turbo DISSERTAÇÃO DE MESTRADO. Programa de Pós graduação em Engenharia Elétrica Amanda Cunha Silva Análise de Desempenho de Códigos Turbo DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE ENGENHARIA ELÉTRICA Programa de Pós graduação em Engenharia Elétrica Rio de Janeiro Dezembro de 2006 Amanda

Leia mais

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function Formas de Aprendizado Existe

Leia mais

UFSM-CTISM. Comunicação de Dados Aula-17

UFSM-CTISM. Comunicação de Dados Aula-17 UFSM-CTISM Comunicação de Dados Aula-17 Professor: Andrei Piccinini Legg Santa Maria, 2012 Definição: Um código de Hamming adiciona um bloco de paridade a um bloco de dados, de forma a que, caso ocorram

Leia mais

Técnica de decodificação bidimensional usando algoritmo Belief Propagation

Técnica de decodificação bidimensional usando algoritmo Belief Propagation Técnica de decodificação bidimensional usando algoritmo Belief Propagation R F da Silva, M S M Lins, M L M G Alcoforado, V C da Rocha Jr Resumo Este artigo introduz uma técnica de decodificação bidimensional,

Leia mais

Corrigindo erros por meio de códigos lineares

Corrigindo erros por meio de códigos lineares Corrigindo erros por meio de códigos lineares Robson Ricardo de Araujo e Antonio Aparecido de Andrade Resumo Desde os trabalhos de Claude Shannon, em 1948, o avanço tecnológico na área das telecomunicações

Leia mais

Detecção e correcção de erros

Detecção e correcção de erros elecomunicações II Codificação - Detecção e correcção de erros o Quando existe um canal de comunicação bidireccional, o receptor poderá requerer a retransmissão da informação que continha erros. o Esta

Leia mais

XXIII Curso de Especialização em Teleinformática e Redes de Computadores

XXIII Curso de Especialização em Teleinformática e Redes de Computadores XXIII Curso de Especialização em Teleinformática e Redes de Computadores www.teleinfo.ct.utfpr.edu.br Linguagem C e MATLAB Simulação de sistemas de comunicação digital abr-mai/2013 Prof. Gustavo B. Borba

Leia mais

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square Multi-Layer Perceptrons (Back Propagation Radial Basis Functions (RBFs Competitive Learning Hopfield Formas de Aprendizado

Leia mais

Códigos de controle de erros: introdução

Códigos de controle de erros: introdução Códigos de controle de erros: introdução Luis Henrique Assumpção Lolis 11 de outubro de 2013 Luis Henrique Assumpção Lolis Códigos de controle de erros: introdução 1 Conteúdo 1 Introdução 2 Canais discretos

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais - Complementar) Prof. a Joseana Macêdo

Leia mais

Redes Neurais Convolucionais

Redes Neurais Convolucionais André Gustavo Hochuli Orientadores: Dr. Luiz E. S. Oliveira/Dr. Alceu Britto Programa de Pós-Graduação em Informática Departamento de Informática UFPR Neurônio Artificial Redes Neurais - Vetor de Caracteristícas

Leia mais

Tópicos sobre Redes Neurais

Tópicos sobre Redes Neurais Tópicos sobre Redes Neurais -Memórias Matriciais -Modelos Híbridos -Redes de Base Radial(RBF) -Redes Construtivas -Redes Recorrentes Prof João Alberto Fabro IF67D Sistemas Inteligentes 1 Dep de Informática

Leia mais

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square Back Propagation Formas de Aprendizado Existe dois métodos básicos de aplicação do algoritmo Back Propagation: Aprendizado

Leia mais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais Aprendizado de Máquina Introdução às Redes Neurais Artificiais Marcos Oliveira Prates (Agradecimento Marcelo Azevedo Costa) Departamento de Estatística Universidade Federal de Minas Gerais Inteligência

Leia mais

SUMÁRIO FUNDAMENTOS E VISÃO GERAL 19 CAPÍTULO 1 PROCESSOS ALEATÓRIOS 49

SUMÁRIO FUNDAMENTOS E VISÃO GERAL 19 CAPÍTULO 1 PROCESSOS ALEATÓRIOS 49 SUMÁRIO FUNDAMENTOS E VISÃO GERAL 19 1. O processo de comunicação 19 2. Principais recursos de comunicação 21 3. Fontes de informação 21 4. Redes de comunicação 27 5. Canais de comunicação 33 6. Processo

Leia mais

Redes Neurais Artificial. Prática. Inteligência Artificial

Redes Neurais Artificial. Prática. Inteligência Artificial Redes Neurais Artificial Prática Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução a MLP 2. Base de dados e Pré-Processamento 3. Prática MLP - Introdução Redes

Leia mais

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais - Introdução. Visão Computacional Redes Neurais Artificiais - Introdução Visão Computacional Inspiração 2 Inspiração 3 Inspiração Atividade seletivanas conexões Soma os impulsos e passa a diante 4 Inspiração As conexões entre os dendritos

Leia mais

CÓDIGOS CORRETORES DE ERROS

CÓDIGOS CORRETORES DE ERROS Informação sobre a Disciplina CÓDIGOS CORRETORES DE ERROS INTRODUÇÃO Evelio M. G. Fernández - 27 Quartas e Sextas feiras das 9:3 às 11:3 horas Professor: Evelio Martín García Fernández Gabinete 1, Tel:

Leia mais

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP) Universidade Federal do Paraná (UFPR) Departamento de Informática (DInf) Aprendizado de Máquinas Multi-Layer Perceptron (MLP) David Menotti, Ph.D. web.inf.ufpr.br/menotti Redes Neuronais Cérebro humano.

Leia mais

SEMINÁRIO DOS ARTIGOS:

SEMINÁRIO DOS ARTIGOS: SEMINÁRIO DOS ARTIGOS: Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning End-to-End Text Recognition with Convolutional Neural Networks Fernanda Maria Sirlene

Leia mais

Erros e Protocolos de Recuperação Códigos detectores e correctores de erros.

Erros e Protocolos de Recuperação Códigos detectores e correctores de erros. Erros e Protocolos de Recuperação Códigos detectores e correctores de erros. Instituto Superior de Engenharia de Lisboa Departamento de Engenharia, Electrónica, Telecomunicações e Computadores Redes de

Leia mais

Códigos Corretores de Erros e Cliques de Grafos

Códigos Corretores de Erros e Cliques de Grafos Códigos Corretores de Erros e Cliques de Grafos Natália Pedroza Jayme Szwarcfiter Paulo Eustáquio UFRJ/UERJ 2016 Natália Pedroza (UFRJ/UERJ) Códigos Corretores 2016 1 / 32 Apresentação Códigos corretores

Leia mais

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy Redes Neurais e Sistemas Fuzzy O ADALINE e o algoritmo LMS O ADALINE No contexto de classificação, o ADALINE [B. Widrow 1960] pode ser visto como um perceptron com algoritmo de treinamento baseado em minimização

Leia mais

Análise de um aproximador funcional utilizando as Redes Neurais artificiais MLP treinada com o algoritmo Backpropagation

Análise de um aproximador funcional utilizando as Redes Neurais artificiais MLP treinada com o algoritmo Backpropagation Análise de um aproximador funcional utilizando as Redes Neurais artificiais MLP treinada com o algoritmo Backpropagation Martinez, S. C. 1, Ferrara, L. F. P. 2, Mario, M. C. 2. 1 Aluna do Curso de Mestrado

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS PERCEPTRON MULTICAMADAS Prof. Dr. André A. P. Biscaro 1º Semestre de 2018 Arquitetura Redes Perceptron de Múltiplas Camadas (PMC), também conhecidas como redes MLP (Multiple Layer

Leia mais

Mensagem descodificada. Mensagem recebida. c + e

Mensagem descodificada. Mensagem recebida. c + e Suponhamos que, num determinado sistema de comunicação, necessitamos de um código com, no máximo, q k palavras. Poderemos então usar todas as palavras a a 2 a k F k q de comprimento k. Este código será

Leia mais

Códigos convolucionais

Códigos convolucionais Códigos convolucionais Luis Henrique Assumpção Lolis 29 de novembro de 2013 Luis Henrique Assumpção Lolis Códigos convolucionais 1 Conteúdo 1 Introdução e definição 2 Diagrama de árvores, de treliça e

Leia mais

1 Técnicas de Seleção de Antenas Transmissoras

1 Técnicas de Seleção de Antenas Transmissoras 1 Técnicas de Seleção de Antenas Transmissoras Como visto em aulas anteriores, para se atingir uma ordem de diversidade espacial maior é necessário o emprego de múltiplas antenas no transmissor e/ou no

Leia mais

6 Análise dos Atributos de Voz em Reconhecimento Distribuído com a Utilização do Codec de Voz ITU-T G.723.1

6 Análise dos Atributos de Voz em Reconhecimento Distribuído com a Utilização do Codec de Voz ITU-T G.723.1 6 Análise dos Atributos de Voz em Reconhecimento Distribuído com a Utilização do Codec de Voz ITU-T G.723.1 Neste capítulo serão examinados os sistemas de reconhecimento da Fig. 3.11, com exceção do reconhecedor

Leia mais

Sistemas de Telecomunicações 1

Sistemas de Telecomunicações 1 CODIFICAÇÃO PARA CONTROLO DE ERROS Paula Queluz Sistemas de Telecomunicações Introdução O ruído, a distorção e eventuais interferências, inerentes ao processo de transmissão do sinal, podem originar erros

Leia mais

Redes Neurais Convolucionais

Redes Neurais Convolucionais André Gustavo Hochuli Orientador: Prof. Dr. Luiz Eduardo Soares de Oliveira Programa de Pós-Graduação em Informática Departamento de Informática UFPR http://www.inf.ufpr.br/aghochuli/caffe/ Redes Neurais

Leia mais

TÉCNICAS DE CODIFICAÇÃO DE SINAIS

TÉCNICAS DE CODIFICAÇÃO DE SINAIS Informação sobre a Disciplina TÉCNICAS DE CODIFICAÇÃO DE SINAIS INTRODUÇÃO Evelio M. G. Fernández - 2010 Terças e Quintas feiras das 07:30 às 11:20 horas Professor: Evelio Martín García Fernández Gabinete

Leia mais

GABARITO DA OITAVA LISTA DE EXERCÍCIOS DE PTC TEORIA DA INFORMAÇÃO E CODIFICAÇÃO

GABARITO DA OITAVA LISTA DE EXERCÍCIOS DE PTC TEORIA DA INFORMAÇÃO E CODIFICAÇÃO GABARITO DA OITAVA LISTA DE EXERCÍCIOS DE PTC-3452 - TEORIA DA INFORMAÇÃO E CODIFICAÇÃO Questão Seja uma constelação 8-PSK. Determine as partições possíveis dessa constelação de modo a se gerar um sinal

Leia mais

Considerações de Desempenho

Considerações de Desempenho Back Propagation Considerações de Desempenho Dicas para o BP O uso da função de ativação simétrica geralmente acelera o treinamento TANH +1 logistic linear 0 tanh -1-4 +4 1 Dicas para o BP Os pesos devem

Leia mais

REDES NEURAIS ARTIFICIAIS

REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS O QUE É UMA REDE NEURAL NEURÔNIOS BIOLÓGICOS CÉREBRO HUMANO E CAPACIDADE DE GENERALIZAÇÃO. Modelo McCulloch e Pitts FUNÇÕES DE ATIVAÇÃO APRENDIZADO APRENDIZADO

Leia mais

Introdução aos Sistemas de Comunicações

Introdução aos Sistemas de Comunicações aos Sistemas de Comunicações Edmar José do Nascimento () http://www.univasf.edu.br/ edmar.nascimento Universidade Federal do Vale do São Francisco Colegiado de Engenharia Elétrica Roteiro 1 Sistemas de

Leia mais

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Redes Neurais: MLP DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Tópicos Redes diretas de múltiplas

Leia mais

Echo State Networks. Fabricio Breve João Bertini

Echo State Networks. Fabricio Breve João Bertini Echo State Networks Fabricio Breve João Bertini RNN Tarefas Filtragem e predição Classificação de Padrões Modelagem de Seqüências Estocásticas Memória Associativa Compressão de Dados RNN Aplicações Telecomunicações

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.6. Deep Learning 2.6.1. O Problema da Extração de Características

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.3. Perceptron Multicamadas - MLP 2.3.1. Introdução ao MLP 2.3.2. Treinamento

Leia mais

ELE32 Introdução a Comunicações Codificação de Canal Códigos cíclicos. ITA 2º. Semestre de 2017

ELE32 Introdução a Comunicações Codificação de Canal Códigos cíclicos. ITA 2º. Semestre de 2017 ELE32 Introdução a Comunicações Codificação de Canal Códigos cíclicos ITA 2º. Semestre de 2017 manish@ita.br Problema Não deve ter sido trivial encontrar um codificador de canal com boas propriedades Além

Leia mais

Back Propagation. Dicas para o BP

Back Propagation. Dicas para o BP Back Propagation Considerações de Desempenho Dicas para o BP O uso da função de ativação simétrica geralmente acelera o treinamento TANH +1 logistic linear 0 tanh -1-4 +4 11 Dicas para o BP Os pesos devem

Leia mais

IA - TensorFlow. Paulo Cotta

IA - TensorFlow. Paulo Cotta IA - TensorFlow Paulo Cotta Jabá Sou voluntário do GDG Trabalho na Stefanini como Engineer ML e DL Tenho à Startup Koffee More Gosto de repassar conhecimento Faço parte do Candangos do Cerrado IA Professor

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.3. Perceptron Multicamadas - MLP 2.3.1. Introdução ao MLP 2.3.2. Treinamento

Leia mais

Mini-projeto: Reconhecimento de Digitos com MLPs. Germano C. Vasconcelos Centro de Informática - UFPE

Mini-projeto: Reconhecimento de Digitos com MLPs. Germano C. Vasconcelos Centro de Informática - UFPE Mini-projeto: Reconhecimento de Digitos com MLPs Germano C. Vasconcelos Centro de Informática - UFPE 1 Link do Material http://neuralnetworksanddeeplearning.com/chap1.html 2 Objetivo: Treinar uma Rede

Leia mais

Códigos cíclicos - Parte 2

Códigos cíclicos - Parte 2 Códigos cíclicos - Parte 2 Luis Henrique Assumpção Lolis 22 de novembro de 203 Luis Henrique Assumpção Lolis Códigos cíclicos - Parte 2 Conteúdo Cálculo da síndrome e computação de erros 2 Decodificando

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Perceptrons de Múltiplas Camadas I Prof. João Marcos Meirelles da Silva www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola de Engenharia

Leia mais

Inteligência Artificial Redes Neurais

Inteligência Artificial Redes Neurais Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre

Leia mais

Rede Perceptron. Capítulo 3

Rede Perceptron. Capítulo 3 Rede Perceptron Capítulo 3 Rede Perceptron É a forma mais simples de configuração de uma RNA (idealizada por Rosenblatt, 1958) Constituída de apenas uma camada, tendo-se ainda somente um neurônio nesta

Leia mais

Códigos de bloco. Instituto Federal de Santa Catarina Curso superior de tecnologia em sistemas de telecomunicação Comunicações móveis 2

Códigos de bloco. Instituto Federal de Santa Catarina Curso superior de tecnologia em sistemas de telecomunicação Comunicações móveis 2 Instituto Federal de Santa Catarina Curso superior de tecnologia em sistemas de telecomunicação Comunicações móveis 2 Códigos de bloco Prof. Diego da Silva de Medeiros São José, maio de 2012 Codificação

Leia mais

Vanessa Juliana da Costa Maringá PR, Brasil

Vanessa Juliana da Costa Maringá PR, Brasil Decodificação para Códigos Lineares Vanessa Juliana da Costa Maringá PR, Brasil Abstract In this work we present a decoding algorithm for linear codes. We introduce basic properties of linear codes such

Leia mais

Processamento digital de imagens

Processamento digital de imagens Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 27 de maio de 2016 Reconhecimento de objetos Padrão: arranjo

Leia mais

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Introdução a Machine Learning: Teoria, Aplicações e IA na Arquitetura Intel Vitor Hugo Ferreira, DSc - UFF Flávio Mello, DSc UFRJ e Ai2Biz

Leia mais

IF-705 Automação Inteligente Perceptrons de Múltiplas Camadas

IF-705 Automação Inteligente Perceptrons de Múltiplas Camadas IF-705 Automação Inteligente Perceptrons de Múltiplas Camadas Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br

Leia mais

Capítulo 3. A camada de enlace de dados

Capítulo 3. A camada de enlace de dados slide 1 Capítulo 3 A camada de enlace de dados slide 2 Onde vive o protocolo de camada de enlace? slide 3 Questões de projeto da camada de enlace Serviços de rede da camada de enlace Quadros Controle de

Leia mais