UNIVERSIDADE ESTADUAL PAULISTA (UNESP) “JÚLIO DE MESQUITA FILHO” CAMPUS SÃO JOÃO DA BOA VISTA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA LUCAS MARIM DA SILVA Redes neurais convolucionais para predição de probabilidade de erro de bit em sistemas de comunicações ópticas coerentes digitais limitados por modulação de fase não linear São João da Boa Vista/SP 2022 LUCAS MARIM DA SILVA Redes neurais convolucionais para predição de probabilidade de erro de bit em sistemas de comunicações ópticas coerentes digitais limitados por modulação de fase não linear Dissertação apresentada à Faculdade de Engenharia Elétrica da Universidade Esta- dual de São Paulo (Campus São João da Boa Vista) como parte dos requisitos para obtenção do t́ıtulo de Mestre em Engenharia Elétrica pelo Programa de Pós-graduação em Engenharia Elétrica. Área de concentração: Sistemas Eletrônicos Orientador: Prof. Dr. Ivan Aritz Aldaya Garde Coorientador: Prof. Dr. José Augusto de Oli- veira São João da Boa Vista/SP 2022 S586r Silva, Lucas Marim da Redes neurais convolucionais para predição de probabilidade de erro de bit em sistemas de comunicações ópticas coerentes digitais limitados por modulação de fase não linear / Lucas Marim da Silva. -- São João da Boa Vista, 2022 103 p. Dissertação (mestrado) - Universidade Estadual Paulista (Unesp), Faculdade de Engenharia, São João da Boa Vista Orientador: Ivan Aritz Aldaya Garde Coorientador: José Augusto de Oliveira 1. Comunicações ópticas. 2. Redes neurais (Computação). 3. Telecomunicações. I. Título. Sistema de geração automática de fichas catalográficas da Unesp. Biblioteca da Faculdade de Engenharia, São João da Boa Vista. Dados fornecidos pelo autor(a). Essa ficha não pode ser modificada. UNIVERSIDADE ESTADUAL PAULISTA Câmpus de São João da Boa Vista Redes neurais convolucionais para predição de probabilidade de erro de bit em sistemas de comunicações ópticas coerentes digitais limitados por modulação de fase não linear TÍTULO DA DISSERTAÇÃO: CERTIFICADO DE APROVAÇÃO AUTOR: LUCAS MARIM DA SILVA ORIENTADOR: IVAN ARITZ ALDAYA GARDE Aprovado como parte das exigências para obtenção do Título de Mestre em ENGENHARIA ELÉTRICA, área: Sistemas Eletrônicos pela Comissão Examinadora: Prof. Dr. IVAN ARITZ ALDAYA GARDE (Participaçao Presencial) Coordenadoria de Curso de Engenharia Eletronica e de Telecomunicacoes / Faculdade de Engenharia de Sao Joao da Boa Vista - UNESP Prof. Dr. RAFAEL ABRANTES PENCHEL (Participaçao Presencial) Coordenadoria de Curso de Engenharia Eletrônica e de Telecomunicações / Faculdade de Engenharia de São João da Boa Vista - UNESP Prof. Dr. LUIZ HENRIQUE BONANI DO NASCIMENTO (Participaçao Presencial) Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas / Universidade Federal do ABC São João da Boa Vista, 01 de junho de 2022 Faculdade de Engenharia - Câmpus de São João da Boa Vista - Profª Isette Corrêa Fontão, 505, 13876750, São João da Boa Vista - São Paulo http://www.sorocaba.unesp.br/#!/pos-graduacao/--engenharia-eletrica-local/CNPJ: 48031918004111. Maria Luiza Sarubi Barreto Diretora Técnica Acadêmica Dedico este trabalho ao meu avô, José Roberto Marim, que tão cedo nos deixou, mas que está eternizado em nossos corações. Agradecimentos À Deus, primeiramente, por ter me concedido o dom da vida e me dado forças para superar cada obstáculo, guiando-me em meio a passos incertos, protegendo-me dia após dia, dando-me forças nos momentos de dificuldade e me amando incondicionalmente. À meus pais, Silvia e Joel, que forneceram o meu sustento durante toda minha vida, me motivando fielmente ao longo de minha jornada acadêmica, acreditando na minha capacidade e me apoiando durante as horas de cansaço. À meus familiares, em especial meus irmãos Ana Carolina, Guilherme e Heloysa, que sempre foram grandes referências e fonte de inspiração, representando um porto seguro no qual sempre pude me firmar em momentos dif́ıceis. Aos meus orientadores, Prof. Dr. Ivan Aritz Aldaya Garde e Prof. Dr. José Augusto de Oliveira, que aceitaram o desafio de me acompanhar ao longo do desenvolvimento desta pesquisa de mestrado, provendo-me todo o apoio, suporte e confiança necessários para a elaboração deste trabalho. À todos que direta ou indiretamente fizeram parte da minha formação e me apoiaram ao longo de minha graduação e mestrado. ”Se, porém, algum de vós necessita de sabedoria, peça-a a Deus, que a todos dá liberalmente, e nada lhes impropera; e ser-lhe-á concedida.” (Tiago 1:5) Resumo SILVA, Lucas Marim da. Redes neurais convolucionais para predição de probabilidade de erro de bit em sistemas de comunicações ópticas coerentes digitais limitados por modulação de fase não linear. 2022. 103 f. Dissertação (Mestrado em Engenharia Elétrica) – Faculdade de Engenharia Elétrica, Universidade Estadual Paulista, São Paulo, 2022. Neste trabalho são desenvolvidas técnicas para estimar a probabilidade de erro de bit (BER) em sistemas de comunicações ópticas digitais coerentes utilizando redes neurais convolucionais (CNNs). A estimativa é performada por meio do processamento histogramas de constelações de sinais por um algoritmo de regressão, capaz de generalizar a estimativa para redes ópticas passivas (PONs) com diferentes comprimentos de enlace e valores de potência de transmissão. Os resultados revelam que, utilizando uma CNN capaz de processar histogramas compostos por 10.000 śımbolos e 64 bins, o erro entre o valor médio de BER estimado e esperado foi igual ou inferior a 10.87% para uma PON de 150 km considerando a faixa de valores de potência em que o sistema é limitado por modulação de fase não linear. O custo computacional necessário para realizar uma estimativa de BER utilizando a CNN descrita é de 195, 61× 106 operações de ponto flutuante. Palavras-chaves: Comunicações ópticas; Probabilidade de erro de bit; Rúıdo de fase não linear; Redes neurais convolucionais. Abstract Silva, Lucas Marim da. Convolutional neural networks for bit error ratio prediction in digital coherent optical communication systems limited by non-linear phase modulation. 2022. 103 p. Dissertation (Master of Science) – São Paulo State University (UNESP), Campus São João da Boa Vista, São João da Boa Vista, 2022. In this work, we developed techniques to estimate bit error ratio (BER) in digital coher- ent optical communications systems using convolutional neural networks (CNNs). The estimation is performed by processing histograms of constellations diagrams considering a regression algorithm capable of generalizing the estimation to different passive optical networks (PONs) configurations. Results reveal that a CNN trained to process histograms of 64 bins composed by 10,000 symbols presents an estimation error equal to or less than 10.87% considering a 150 km PON for launch optical power values over which the system is limited by non-linear phase modulation. The computational cost required to perform a BER estimation using the described CNN is 195.61× 106 floating point operations. Keywords: Optical communications; Bit error probability; Nonlinear phase noise; Convolu- tional neural networks. Lista de figuras Figura 1 – Sistema LR-PON coerente DP-16QAM simulado. S/P: Conversão serial- paralela (serial-to-parallel conversion). DAC: Conversor digital analógico (digital-to-analog converter). LD: Laser de diodo (laser diode). PBS: Divisor de feixes polarizados (polarizing beam splitter). DP-MZM: Mo- dulador Mach-Zenhder duplo em paralelo (dual parallel-Mach-Zenhder modulator). PBC: Combinador de feixes polarizados (polarizing beam combiner). EDFA: Amplificador de fibra dopada a érbio (erbium-doped fiber amplifier). VOA: Atenuador óptico variável (variable optical atte- nuator). SSMF: Fibra monomodo padrão (standard single mode fiber). Att: Atenuador (attenuator). LPF: Filtro passa baixas (low-pass filter). ADC: Conversor analógico digital (analog-to-digital converter). DSP: Processamento digital de sinal (digital signal processing). . . . . . . . 22 Figura 2 – Constelações recebidas (16-QAM) em sistema óptico passivo single channel de 100 km de comprimento para potências transmitidas de (a) 3 mW, (b) 8 mW e (c) 13 mW. Valores de amplitude em unidades arbitrárias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Figura 3 – Diagrama de constelação com vetor de erro expresso para sinal 16QAM e constelação sob efeito de rúıdo gaussiano aditivo. . . . . . . . . . . . 30 Figura 4 – Modelo de neurônio artificial perceptron. . . . . . . . . . . . . . . . . . 32 Figura 5 – Função loǵıstica (sigmoide) considerando diferentes valores de β. . . . . 33 Figura 6 – Função linear considerando diferentes valores de a. . . . . . . . . . . . 34 Figura 7 – Função RelU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Figura 8 – Exemplo de uma rede neural artificial feedforward com n entradas, m sáıdas e duas camadas escondidas. . . . . . . . . . . . . . . . . . . . . 37 Figura 9 – Representação computacional de uma imagem monocromática de di- mensão 14x15. A matriz na direita apresenta valores entre 0 e 255, que corresponde à intensidade de um pixel de 8 bits. . . . . . . . . . . . . . 45 Figura 10 – Exemplo de convolução de um kernel de dimensão 3x3 com um tensor de 6x6 e varredura de passo 1. O feature map resultante possui dimensão 4x4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Figura 11 – Exemplo de imagem com zero-padding de duas camadas. . . . . . . . . 47 Figura 12 – (a) Imagem demonstrativa capturada pelo autor. (b) Imagem obtida após a convolução da imagem original com o kernel representado pela Equação 32, responsável por destacar regiões de profundidade (embossing). 48 Figura 13 – (a) Imagem demonstrativa capturada pelo autor. (b) Imagem obtida após a convolução da imagem original com o kernel representado pela Equação 33, responsável por detectar bordas. . . . . . . . . . . . . . . 48 Figura 14 – Estrutura geral de uma rede neural convolucional . . . . . . . . . . . . 50 Figura 15 – Desemprenho de alguns modelos de CNNs de acordo com o modelo de desempenho top-1 baseado no dataset de validação ImageNet . . . . . 51 Figura 16 – Representação no plano cartesiano de um conjunto de dados com 2 parâmetros e seus respectivos autovetores e⃗1 e e⃗2. . . . . . . . . . . . . 52 Figura 17 – (a) Representação de conjunto de dados com descritos pelos parâmetros x, z e z . (b) Representação do bloco de dados conjuntamente à curva de tendência das amostras. . . . . . . . . . . . . . . . . . . . . . . . . . 54 Figura 18 – Representação gráfica do intervalo e variância das amostras nas direções x, y e z dos bloco de dados (a) original, (b) após centralização, (c) padronização e (d) e normalização. . . . . . . . . . . . . . . . . . . . . 55 Figura 19 – Representação do conjunto de dados de exemplo nas bases (a) original (tridimensional) (b) e de dimensão reduzida (bidimensional). . . . . . . 56 Figura 20 – Histogramas da constelação recebida (16-QAM) com 16284 śımbolos em um sistema óptico passivo single channel de 80 km de comprimento para potência transmitida de 9 dBm com dimensão lateral de (a) 32, (b) 36, (c) 40, (d) 44, (e) 48, (f) 52, (g) 56, (h) 60 e (i) 64 pixels. Valores de amplitude em unidades arbitrárias. . . . . . . . . . . . . . . . . . . 62 Figura 21 – Histogramas com resolução 64×64 da constelação recebida (16-QAM) em um sistema óptico passivo single channel de 80 km de comprimento para potência transmitida de 9 dBm considerando (a) 1000, (b) 2000, (c) 3000, (d) 4000, (e) 5000, (f) 6000, (g) 7000, (h) 8000, (i) 9000 e (j) 10000 śımbolos. Valores de amplitude em unidades arbitrárias. . . . . . 63 Figura 22 – BER obtida por meio de contagem de erros e estimada por EVM em função da potência de transmissão para um enlace óptico passivo de 150 km. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Figura 23 – Histogramas das constelações recebidas em um sistema óptico passivo de um único canal de 150 km de comprimento para potência transmitida de (a) 2, (b) 8 e (c) 12 dBm e regiões de decisão para detecção por máxima verossimilhança. Valores de amplitude em unidades arbitrárias. 65 Figura 24 – Erro quadrático médio (MSE) para dados de treino e teste em função da época de treinamento de uma CNN MobileNetV2 considerando o algoritmo de treino gradiente descendente de lote. . . . . . . . . . . . . 67 Figura 25 – BER obtida por meio de regressão de CNN em função da BER obtida por meio de contagem de erros. Dados são referentes ao processamento de histogramas formados por 10.000 śımbolos e 56 bins em um conjunto de teste após o processo de treinamento da CNN. . . . . . . . . . . . . 68 Figura 26 – Erro quadrático médio para diferentes valores de resolução e quantidades de śımbolo referentes aos conjuntos de (a) validação cruzada e (b) treino. 70 Figura 27 – Histogramas de regressão de estimativa de BER preditos por CNN treinada com histogramas de 10000 śımbolos e 64 bins para sistema óptico passivo de 150 km e valores de potência de transmissão de (a) 0, (b) 1, (b) 2, (b) 3, (b) 4, (b) 5, (b) 6, (b) 7, (b) 8, (b) 9, (b) 10, (b) 11, (b) 12 e (b) 13 dBm. Regiões 4 sigma destacadas em verde. . . . . . . . 74 Figura 28 – Taxa de erro de bit obtida por meio de contagem de erros, predita por EVM e por CNN (histogramas de 10.000 śımbolos de 64 bins) em função da potência de transmissão para enlace óptico passivo de 150 km. . . . 76 Figura 29 – Taxa de erro de bit obtida por meio de contagem de erros, predita por EVM e por CNN (histogramas de 1.000 śımbolos de 40 bins) em função da potência de transmissão para enlace óptico passivo de 150 km. . . . 76 Figura 30 – Histogramas de regressão de estimativa de BER preditos por CNN treinada com histogramas de 1.000 śımbolos com 40 bins para sistema óptico passivo de 150 km e valores de potência de transmissão de (a) 0, (b) 1, (b) 2, (b) 3, (b) 4, (b) 5, (b) 6, (b) 7, (b) 8, (b) 9, (b) 10, (b) 11, (b) 12 e (b) 13 dBm. Regiões 4 sigma destacadas em verde. . . . . . . . 77 Figura 31 – BER obtida por meio de regressão de CNN em função da BER obtida por meio de contagem de erros. Dados referentes às redes treinadas considerando histogramas gerados por (a) 10.000 śımbolos - 64 bins e (b) 1.000 śımbolos - 40 bins. . . . . . . . . . . . . . . . . . . . . . . . . 79 Lista de tabelas Tabela 1 – Autovetores, autovalores e participação percentual das diferentes com- ponentes na variância total dos dados de exemplo . . . . . . . . . . . . 56 Tabela 2 – Versores da nova base (bidimensional) . . . . . . . . . . . . . . . . . . 56 Tabela 3 – Autovetores do bloco de dados de validação cruzada que relaciona BER predita por CNN aos valores rotulados para dataset de histogramas gerados por 10.000 śımbolos e 56 bins. . . . . . . . . . . . . . . . . . . 68 Tabela 4 – Autovalores do bloco de dados de validação cruzada que relaciona BER predita por CNN aos valores rotulados para dataset de histogramas gerados por 10.000 śımbolos e 56 bins. . . . . . . . . . . . . . . . . . . 69 Tabela 5 – Valor médio de MSE de treino considerando o resultado de 10 treina- mentos para cada um dos 90 datasets em escala logatirmica (log10) . . 70 Tabela 6 – Valor médio de MSE de validação cruzada considerando o resultado de 10 treinamentos para cada um dos 90 datasets em escala logatirmica (log10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Tabela 7 – Variância de MSE de treino considerando o resultado de 10 treinamentos para cada um dos 90 datasets . . . . . . . . . . . . . . . . . . . . . . . 71 Tabela 8 – Variância de MSE de validação cruzada considerando o resultado de 10 treinamentos para cada um dos 90 datasets . . . . . . . . . . . . . . . 72 Tabela 9 – Comparação entre valores de BER estimados por contagem de erros e valores médios obtidos por CNN (10.000 śımbolos - 64 bins) . . . . . . 75 Tabela 10 – Comparação entre valores de BER estimados por contagem de erros e valores médios obtidos por CNN (1.000 śımbolos - 40 bins) . . . . . . . 78 Tabela 11 – Autovetores do bloco de dados de validação cruzada que relaciona BER predita por CNN aos valores rotulados para dataset de histogramas gerados por 10.000 śımbolos - 64 bins e 1.000 śımbolos - 40 bins. . . . . 79 Tabela 12 – Autovalores do bloco de dados de validação cruzada que relaciona BER predita por CNN aos valores rotulados para dataset de histogramas gerados por 10.000 śımbolos - 64 bins e 1.000 śımbolos - 40 bins. . . . . 80 Tabela 13 – Estrutura original de uma CNN MobileNetV2 . . . . . . . . . . . . . . 88 Tabela 14 – Estrutura da CNN MobileNetV2 utilizada para estimar valores de BER 96 Lista de abreviaturas e siglas AI - Artificial intelligence ANN - Artificial neural network ASE - Amplified spontaneous emission BER - Bit error rate CNN - Convolutional neural network DBP - Digital back propagation DCF - Dispersion-compensating fiber EDFA - Erbium doped fiber amplifiers FWM - Four-wave mixing GVD - Group-velocity dispersion IVSTF - Inverse Volterra Series Transfer Function LOP - Launch optical power LR-PON - Long reach passive optical network MLP - Multilayer perceptron OOK - On-off keying PC - Principal component PCA - Principal component analysis PMD - Polarization mode dispersion PON - Passive optical network QAM - Quadrature amplitude modulation SBS - Stimulated Brillouin scattering SER - Symbol error rate SNR - Signal-to-noise ratio SPM - Self-phase modulation SRS - Stimulated Raman scattering SSMF - Standard single mode fiber XPM - Cross-phase modulation WDM - Wavelength-division Multiplex Sumário 1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.1 Evolução das comunicações ópticas . . . . . . . . . . . . . . . . . . . 17 1.2 Descrição do problema e contribuição do trabalho . . . . . . . . . . . 19 1.3 Organização do documento . . . . . . . . . . . . . . . . . . . . . . . . 19 2 Sistemas de comunicações ópticas . . . . . . . . . . . . . . . . . 21 2.1 Sistemas de comunicações ópticas digitais coerentes . . . . . . . . . . 21 2.2 Impedimentos em sistemas de comunicações ópticas . . . . . . . . . . 23 2.2.1 Impedimentos lineares . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.2 Impedimentos não lineares . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Estimativa de probabilidade de erro de śımbolo por meio da magnitude do vetor de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3 Redes neurais artificiais . . . . . . . . . . . . . . . . . . . . . . . 31 3.1 Neurônios artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.1 Função sigmoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.2 Função linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.3 Função ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Arquiteturas de redes neurais . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.1 Redes neurais perceptron multicamadas . . . . . . . . . . . . . . . 36 3.2.2 Redes neurais convolucionais . . . . . . . . . . . . . . . . . . . . . 43 3.3 Analise de componentes principais . . . . . . . . . . . . . . . . . . . . 52 4 Arranjo de simulação . . . . . . . . . . . . . . . . . . . . . . . . 58 4.1 Especificações técnicas do sistema de comunicação óptica considerado 58 4.2 Especificações da arquitetura de rede convolucional, parâmetros de rotulação e treinamento . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.3 Especificações do bloco de dados e métricas de treinamento . . . . . . 60 5 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.1 Análise da probabilidade de erro de bit estimada por EVM para dife- rentes cenários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 16 5.2 Análise da probabilidade de erro de bit estimada por meio de redes neurais convolucionais . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.3 Análise do desempenho das redes neurais convolucionais para diferentes cenários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.4 Comparativo entre desempenho do EVM e CNNs para predição de BER 73 5.5 Análise de complexidade . . . . . . . . . . . . . . . . . . . . . . . . . 80 6 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Referências1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Anexo A – Extrutura CNNs . . . . . . . . . . . . . . . . . . . . 88 1 De acordo com a Associação Brasileira de Normas Técnicas. NBR 6023. 17 1 Introdução 1.1 Evolução das comunicações ópticas A constante evolução dos sistemas de comunicações ópticas, que se deu ińıcio no começo da década de 1980, tem sido motivada pelo constante aumento na demanda por capacidade em sistemas de telecomunicações (AGRAWAL, 2016). O último grande salto de geração foi viabilizado por processadores digitais de sinais (DSP - Digital signal processors) de alto desempenho, que permitiram a utilização de formatos avançados de modulação, capazes de codificar informação em amplitude, fase e polarização, provendo grande aumento na eficiência espectral e possibilitando um incremento sem precedentes na capacidade de sistemas de comunicações ópticas modernos (KIKUCHI, 2015). Historicamente, o desenvolvimento de tecnologias capazes de transmitir informação por fibras ópticas é algo relativamente recente. Os estudos preliminares que viabilizaram a implementação desta tecnologia na área das telecomunicações tiveram ińıcio na década de 1960 com a invenção e demonstração do laser para tais finalidades e desenvolvimento de fibras de baixa atenuação, que mais tarde viriam a ser utilizados em grande parte dos sistemas de comunicações ópticas modernos (AGRAWAL, 2012). A evolução de estudos relacionados a materiais e processos utilizados na fabricação de dispositivos e fibras ópticas permitiu o desenvolvimento dos primeiros sistemas de comunicação por fibra óptica, que surgiram por volta de 1975 e tornaram-se comerciais em 1980 (SANFERRARE, 1987). Embora os sistemas de primeira geração operassem com taxas de 45 Mb/s e spans de até 10 km, a capacidade de enlaces ópticos foi aumentando significativamente com o passar dos anos (KOGELNIK, 2000), sendo impulsionada por fatores como o desenvolvimento de lasers capazes de operar em comprimentos de onda nos quais a fibra possui menores perdas (1,3 µm na segunda geração e 1,5 µm nas gerações posteriores) e a utilização de fibras monomodo, responsáveis por uma diminuição significativa na dispersão do canal (AGRAWAL, 2012). Um dos saltos tecnológicos mais significativos em sistemas de comunicações ópticas ocorreu no ińıcio da quarta geração com a utilização de multiplexação por divisão de comprimento de onda (WDM – Wavelength-Division Multiplexing), técnica que possibilitou a implementação de sistemas com taxas superiores a 1 Tb/s. A WDM tornou-se viável após o desenvolvimento dos primeiros amplificadores a fibra dopada com érbio (EDFA – 18 Erbium Doped Fiber Amplifier), no final da década de 1980, que permitiram a amplificação simultânea de múltiplos canais no domı́nio óptico, operando na faixa de 1530 – 1570 nm e dispensando a necessidade de conversão optoeletrônica e amplificação de múltiplos canais no domı́nio elétrico em nós intermediários da rede (BECKER; OLSSON; SIMPSON, 1999). Embora a capacidade de sistemas de comunicações ópticas tenha crescido ao longo dos anos, a utilização de múltiplos canais causou o aumento da potência total transmitida em enlaces ópticos. Desta forma, o estudo de efeitos não lineares sobre a capacidade de sistemas de ondas luminosas despertou grande interesse nos últimos anos (MITRA; STARK, 2001; MECOZZI; ESSIAMBRE, 2012). Tais estudos extendem o conceito de capacidade de canal, proposto por Shannon no contexto da teoria da informação (SHANNON, 1948), e demonstram que as não linearidades reduzem a eficiência espectral do sistema quando altas potências são transmitidas pela fibra (ESSIAMBRE et al., 2010; MECOZZI; ESSIAMBRE, 2012). Tem-se que, independentemente do comprimento do enlace, existe uma potência de transmissão ótima que determina, dados os parâmetros do sistema, o ponto ao qual o canal passa a ser limitado por efeitos não lineares (MECOZZI; ESSIAMBRE, 2012). Desta forma, a compensação desses efeitos pode resultar no deslocamento da potência de transmissão ótima, resultando no aumento das taxas de bit e/ou do comprimento máximo do enlace. Além da compensação de adversidades, o monitoramento da qualidade do sinal por meio de algoritmos de baixa latência em sistemas ópticos modernos tem papel fundamental na identificação de falhas, viabilizando uma gestão preventiva mais eficiente que permita a configuração da rede antes da ocorrência de falhas e, consequentemente, interrupção total da comunicação. Dentre as principais métricas de qualidade em sistemas de comunicações ópticas coerentes digitais a serem monitoradas, podemos mencionar a razão erro de bit (BER - bit error rate), que pode ser estimada por meio da técnica de magnitude de vetor de erro (EVM - error vector magnitude), aplicável a sistemas limitados por rúıdo gaussiano (FATADIN, 2016; MEHRA; SADAWARTI; SINGH, 2017). Em contrapartida, efeitos não lineares geram distorções na constelação de sinais que dificultam a modelagem da função densidade de probabilidade dos diferentes śımbolos, impossibilitando assim a aplicação do EVM para estimar a BER do sistema. Com base neste contexto, o presente trabalho apresenta um método de estimativa de BER que faz uso de algoritmos de redes neurais artificiais (ANN – Artificial neural network), 19 especificamente redes neurais convolucionais (CNN - Convolutional neural network). As estimativas são realizadas por meio do processamento de diagramas de constelação de sinais para sistemas de comunicações ópticas digitais coerentes limitados ou não por efeitos não lineares. 1.2 Descrição do problema e contribuição do trabalho Nos últimos anos, diversos autores vêm desenvolvendo estudos buscando compen- sar diferentes tipos de adversidades por meio da utilização de algoritmos baseados em inteligência artificial. Atualmente, existem trabalhos publicados na literatura que buscam compensar efeitos como rúıdo de fase (TORRES et al., 2016), dispersão por modo de polarização (PMD – Polarization mode dispersion) (WU et al., 2009) e não linearidades (JARAJREH et al., 2014; ERIKSSON; BÜLOW; LEVEN, 2017; SILVA et al., 2021). Analogamente, a análise da qualidade de transmissão por meio de algoritmos de aprendizado de máquina (ML - Machine learning) tem apresentado bons resultados para a predição de diferentes figuras de mérito, tais como relação sinal rúıdo (SNR - Signal-to- noise ratio) e BER, porém dependem da utilização de blocos massivos de dados referentes à diversos parâmetros da rede, tais como a quantidade de enlaces e seus comprimentos, volume de tráfego e tipo de modulação (SAMADI et al., 2017; BARLETTA et al., 2017; ROTTONDI et al., 2018). Diferentemente das aplicações conhecidas na literatura, o presente trabalho im- plementa algoritmos de CNNs capazes de predizer a BER unicamente por meio do processamento de constelações de sinais. Estes algoritmos são capazes de generalizar esta estimativa para redes ópticas passivas (PON - Passive optical networks), independente- mente de seu comprimento ou potência de transmissão, estando elas limitadas ou não por não linearidades. 1.3 Organização do documento A continuação do presente trabalho é dividido como se segue: O Caṕıtulo 2 apresenta uma descrição teórica do funcionamento de sistemas de comunicações ópticas digitais coerentes, dos principais impedimentos f́ısicos que atuam 20 sobre este tipo de sistema e do EVM, tido como técnica convencional para estimar a BER em sistemas limitados por rúıdo gaussiano. O Caṕıtulo 3 introduz uma descrição geral sobre redes neurais artificiais e redes neurais convolucionais, abordando assuntos relacionados à estrutura dos algoritmos, forma de funcionamento, procedimentos de treino, teste e validação cruzada. O Caṕıtulo 4 descreve as especificações técnicas dos diferentes sistemas de comu- nicações ópticas considerados neste trabalho, bem como o detalhamento das informações topológicas das CNNs implementadas. O Caṕıtulo 5 apresenta os resultados obtidos utilizando CNNs, comparando os desempenhos do EVM e destes algoritmos na estimativa de BER para os mais diferen- tes cenários, bem como a variação de desempenho considerando o processamento de histogramas de constelações com diferentes quantidades de śımbolos e bins. Por fim, o Caṕıtulo 6 destaca as principais conclusões obtidas ao longo do desenvolvimento da presente pesquisa. 21 2 Sistemas de comunicações ópticas 2.1 Sistemas de comunicações ópticas digitais coerentes Embora ainda existam sistemas de comunicações ópticas baseados em detecção direta empregando modulação On-Off keying (OOK), os sistemas ópticos digitais coerentes passaram a se popularizar a partir dos anos 2010, principalmente por possibilitarem a utilização de modulações com maior eficiência espectral (AGRAWAL, 2012). Sistemas de comunicações ópticas digitais coerentes modernos operam com demo- dulação intradina, que permite separar as componentes em fase e quadratura do sinal transmitido após a conversão ao domı́nio elétrico. Inicialmente, estes sistemas foram desen- volvidos para enlaces de longa distância, mas passaram a ser progressivamente utilizados em enlaces menores, como PONs (Passive optical network) (LAVERY et al., 2010). Como exemplo, a Figura 1 apresenta um diagrama de blocos do sistema adotado no presente trabalho, que constitui uma rede óptica passiva coerente de longa distância (Long reach passive optical network, LR-PON) operando em dupla polarização. É posśıvel notar no diagrama de blocos (Figura 1) que a informação a ser transmitida é direcionada a conversores serial-paralelo, responsáveis por ordenar sequencialmente os bits. Os conversores são então conectados a mapeadores 16-QAM (Quadrature amplitude modulation), cuja finalidade é mapear os bits nas constelações desejadas (uma para cada polarização), seguidos por filros de Nyquist com fator de roll-off de 10% e por conversores digitais-analógicos, que geram os sinais modulantes das componentes em fase e quadratura. A modulação óptica se dá por meio de moduladores Mach-Zenhder duplo-paralelos (Mach- Zenhder modulator, MZM), conectados à um laser de diodo (LD1) que, por meio de um divisor de feixes polarizados, geram sinais ópticos com polarizações ortogonais. Ainda no transmissor, combinam-se os sinais modulados e utiliza-se um amplificador EDFA para ajustar a potência do sinal transmitido. Na Figura 1, o canal óptico é composto por um trecho de fibra monomodo padrão (Standard single mode fiber, SSMF). Por fim, ao se analisar o receptor do sistema, nota-se que os sinais ópticos com polarização ortogonal são divididos e combinados com dois sinais derivados de um laser de diodo local (LD2), que opera próximo à frequência nominal da portadora. Este procedimento é realizado por meio de redes h́ıbridas de 90º, de modo que nas sáıdas o oscilador local é defasado em 0º, 90º, 180º e 270º. 22 F ig u ra 1 – S is te m a L R -P O N co er en te D P -1 6Q A M si m u la d o. S /P : C on ve rs ão se ri al -p ar al el a (s er ia l- to -p ar al le l co n ve rs io n ). D A C : C on ve rs or d ig it al an al óg ic o (d ig it al -t o- an al og co n ve rt er ). L D : L as er d e d io d o (l as er di od e ). P B S : D iv is or d e fe ix es p ol ar iz ad os (p ol ar iz in g be am sp li tt er ). D P -M Z M : M o d u la d or M ac h -Z en h d er d u p lo em p ar al el o (d u a l pa ra ll el -M a ch -Z en h d er m od u la to r ). P B C : C om b in ad or d e fe ix es p ol ar iz ad os (p o la ri zi n g be a m co m bi n er ). E D F A : A m p li fi ca d or d e fi b ra d op ad a a ér b io (e rb iu m -d o pe d fi be r a m p li fi er ). V O A : A te n u ad or óp ti co va ri áv el (v a ri a bl e o p ti ca l a tt en u a to r ). S S M F : F ib ra m on om o d o p ad rã o (s ta n d a rd si n gl e m od e fi be r ). A tt : A te n u ad or (a tt en u a to r ). L P F : F il tr o p as sa b ai x as (l o w -p a ss fi lt er ). A D C : C on ve rs or an al óg ic o d ig it al (a n a lo g- to -d ig it a l co n ve rt er ). D S P : P ro ce ss am en to d ig it al d e si n al (d ig it al si gn al pr oc es si n g ). 23 Posteriormente, as sáıdas de cada polarização passam por pares de fotodetectores balanceados limitados em banda, sendo esta limitação representada por filtros passa baixas (Low-pass filter, LPF) com frequência de corte igual a 75% da banda do sinal recebido. Após a fotodetecção, os sinais são diferencialmente amplificados, possibilitando a separação das componentes em fase e quadratura. Posteriormente à digitalização do sinal mediante conversores analógico digitais (Analog-to-digital converter, ADC), as componentes em fase e quadratura são submetidas ao bloco de processamento digital de sinal (Digital signal processing, DSP). Este bloco é dividido em subsistemas responsáveis pela compensação de adversidades, sendo elas a dispersão cromática, rotação por estado de polarização e compensação de rúıdo de fase linear. 2.2 Impedimentos em sistemas de comunicações ópticas De modo geral, sistemas de comunicações são suscet́ıveis a adversidades que degra- dam a qualidade do sinal transmitido, aumentando a probabilidade de ocorrência de erros na detecção da informação no receptor. Em particular, canais ópticos são afetados por diversos tipos de impedimentos, que por sua vez estão relacionados a efeitos lineares e não lineares (AGRAWAL, 2012). As subseções a seguir apresentarão uma breve descrição dos principais impedimentos lineares e não lineares que afetam um sistema de comunicação óptica implementado com fibra SSMF. 2.2.1 Impedimentos lineares Os principais efeitos lineares que afetam sistemas de comunicações ópticas estão relacionados a atenuação, dispersão e rúıdo (AGRAWAL, 2012). Considerando um enlace implementado com fibras monomodo, podemos observar as seguintes adversidades: • Dispersão cromática: também conhecida como dispersão de velocidade de grupo (GVD - Group-velocity dispersion), este efeito está relacionado com a velocidade de grupo associada ao modo de propagação fundamental da fibra, que varia em função da frequência. Desta forma, as diferentes componentes espectrais do sinal 24 se propagam com velocidades diferentes, ocasionando um alargamento de pulso e consequentemente interferência intersimbólica (AGRAWAL, 2012). Este efeito pode ser compensado por meio da utilização de fibras compensadoras de dispersão (DCF - Dispersion-compensating fiber) ou por meio de processamento digital de sinais. O sistema implementado no presente trabalho faz uso de compensação de GVD por meio de DSP. • Dispersão do modo de polarização: A PMD é um efeito que está relacionado aos pequenos desvios da perfeita simetria ciĺındrica, que levam à birrefringência 1. Consi- derando birrefringência constante, a elipsidade do núcleo quebra a degenerescência das duas polarizações do modo fundamental da fibra, ocasionando velocidades de grupo distintas para cada polarização, resultando também em interferência inter- simbólica. Devido à natureza estocástica da PMD, modelos anaĺıticos que descrevem este efeito são bastante complexos (AGRAWAL, 2012). Técnicas de DSP conseguem compensar a contribuição linear deste efeito. • Atenuação: A atenuação em fibras ópticas está relacionada com os processos de absorção e espalhamento de luz no material. O mecanismo fundamental de perda em fibras modernas que operam no comprimento de onda de 1550 nm é conhecido como espalhamento Rayleigh, e ocorre devido à existência de flutuações microscópicas de densidade em uma escala menor que o comprimento de onda do sinal óptico (λ) (AGRAWAL, 2012). Este fenômeno é um efeito elástico, uma vez que os fótons mantém sua frequência original após o processo de espalhamento (AGRAWAL, 2000). A atenuação também pode ocorrer em outros dispositivos passivos da rede de distribuição, normalmente devido à perdas de inserção e derivação. A compensação de atenuação se dá por meio da utilização de amplificadores, que podem atuar de forma localizada ou distribúıda. • Rúıdo de fase: O rúıdo de fase é particularmente cŕıtico em sistemas coerentes (TORRES et al., 2016), e está relacionado com a ocorrência de emissão espontânea nos lasers do transmissor e receptor, que causam variações de fase no campo gerado. O rúıdo de fase é um processo estocástico não ergódico, que gera uma rotação da constelação, e está diretamente relacionado com a largura de linha dos lasers. Deste 1 Condição em que um mesmo meio (fibra) apresenta dois ı́ndices de refração diferentes. Em fibra ópticas, a birrefringência está associada ao desvio da perfeita simetria ciĺındrica, uma vez que os ı́ndices nas direções dos semieixos maior e menor são diferentes (AGRAWAL, 2012) 25 modo, quanto menor é este parâmetro, maior o tempo de coerência da fase (BRITO et al., 2015). O sistema implementado no presente trabalho faz uso de compensação de rúıdo de fase por meio de DSP. • Rúıdo aditivo: Em sistemas de comunicações ópticas, o rúıdo aditivo pode ocorrer no domı́nio óptico ou elétrico. No domı́nio óptico, a principal fonte de rúıdo é denominada emissão espontânea amplificada (ASE - amplified spontaneous emission) e está relacionada com a ocorrência de emissões espontâneas nos amplificadores, gerando fótons com amplitude e fase aleatórias que podem ser amplificados conjuntamente ao sinal (BECKER; OLSSON; SIMPSON, 1999). Devido a ausência de amplificadores na rede de distribúıção, o rúıdo ASE pode ser desconsiderado em sistemas ópticos passivos. No domı́nio elétrico, o rúıdo ocorre durante a fotodetecção, podendo ser classificado como térmico, causado pelo movimento aleatório dos elétrons, e shot, relacionado à natureza discreta da corrente elétrica (elétrons são quantizados). A densidade espectral de potência do rúıdo shot é diretamente proporcional à corrente gerada no fotodetector (AGRAWAL, 2012). Sendo assim, esse tipo de rúıdo é significativo em sistemas ópticos digitais coerentes, uma vez que o receptor mistura o sinal à um oscilador local com um ńıvel de potência consideravelmente alto. 2.2.2 Impedimentos não lineares Em sistemas de comunicações ópticas, as não linearidades dominantes são geradas pelas fibras, impactando diretamente na capacidade destes sistemas. Estes efeitos estão diretamente relacionados com a polarização do meio dielétrico (śılica) devido a propagação de campos eletromagnéticos intensos (AGRAWAL, 2012). Os principais impedimentos não lineares são: • Espalhamento estimulado de luz: diferentemente do espalhamento Rayleigh (explicado na Subseção 2.2.1), espalhamentos estimulados de luz são fenômenos inelásticos. No caso de Stokes, a frequência da luz espalhada é menor que a do sinal que a originou. Neste tipo de efeito, um fóton é aniquilado gerando um novo fóton e um fônon, ambos com energia menor à do fóton que os originou (AGRAWAL, 2000). Em fibras ópticas existem dois tipos de espalhamento estimulado de luz, denominados espalhamento estimulado de Brillouin (SBS - stimulated Brillouin scattering) e 26 espalhamento estimulado de Raman (SRS - stimulated Raman scattering), e ocorrem somente quando a potência do sinal é superior a seus respectivos limiares. O limiar de Brillouin é consideravelmente menor que o de Raman, porém, os efeitos de ambos são despreźıveis para os sistemas simulados no presente trabalho, uma vez que a modulação utilizada possui portadora suprimida (AGRAWAL, 2012; AGRAWAL, 2000). • Efeito Kerr: este efeito está relacionado com a modulação de fase não linear em sistemas de comunicações ópticas (AGRAWAL, 2000), e é o impedimento não linear mais considerável nos sistemas apresentados neste trabalho. Desta forma, este fenômeno será descrito com maiores detalhes na Subseção 2.2.2. Modulação de fase não linear devido a efeito Kerr Os sistemas de comunicações ópticas digitais coerentes sofrem modulação de fase não linear devido ao efeito Kerr (em particular o efeito Kerr óptico) (AGRAWAL, 2012). Esta modulação está relacionada ao comportamento não linear do ı́ndice de refração do material, que varia linearmente de acordo com a intensidade do sinal óptico aplicado (AGRAWAL, 2000). Para descrever esta variação, podem-se modelar os ı́ndices de refração do núcleo (n′ 1) e da casca (n′ 2) da fibra de acordo com a seguinte equação: n′ j = nj + In̄2, j = 1, 2 (1) sendo I a intensidade óptica localizada e n̄2 o coeficiente de ı́ndice não linear, que é da ordem de 2, 6×10−20 m2/W para śılica fundida e pode variar de acordo com a dopagem do núcleo da fibra. Embora n̄2 ≪ n1, n2’, a modulação não linear de fase torna-se significativa para enlaces ópticos longos e/ou altos valores de potência de transmissão (AGRAWAL, 2000). O efeito Kerr causa três fenômenos distintos: automodulação de fase (SPM - Self- phase modulation), modulação de fase cruzada (XPM - Cross-phase modulation) e mistura de quatro ondas (FWM - Four wave mixing). De modo geral, modulação de fase cruzada e mistura de quatro ondas são efeitos que ocorrem exclusivamente quando se faz uso de 27 (a) (b) (c) Figura 2 – Constelações recebidas (16-QAM) em sistema óptico passivo single channel de 100 km de comprimento para potências transmitidas de (a) 3 mW, (b) 8 mW e (c) 13 mW. Valores de amplitude em unidades arbitrárias. múltiplos canais, como é o caso de sistemas WDM, enquanto que a automodulação de fase ocorre em qualquer tipo de sistema de comunicação óptica. Automodulação de fase não linear Devido à existência de n̄2, a constante de fase do sinal óptico sofre alterações que geram uma fase não linear. Considerando um enlace com baixa dispersão e comprimento L, a fase não linear gerada pode ser descrita de acordo com a equação abaixo: ΦNL = ∫ L 0 k0 ( P (z) Aeff ) n̄2 dz = ∫ L 0 ( 2π λ n̄2 Aeff ) Pdz = ∫ L 0 γP (z)dz = γPinLeff (2) sendo P (Z) a potência óptica ao longo da fibra, Aeff a área modal efetiva, γ é o parâmetro não linear, Pin a potência óptica instantânea na entrada da fibra e Leff o comprimento efetivo da fibra. Devido à variação de Pin com relação ao tempo, ΦNL também apresenta dependência temporal. Desta forma, a alteração da fase não linear em função de Pin gera uma modulação autoinduzida, denominada automodulação de fase (AGRAWAL, 2000). Um fato importante a se destacar é que caso a constelação transmitida possua śımbolos com diferentes valores de energia, ΦNL não será uniforme, uma vez que śımbolos com energia mais elevada possuem maiores valores de amplitude e sofrem maiores rotações. Além disso, a distorção da constelação gerada pela automodulação de fase tende a ser mais significativa para potências de transmissão (LOP - Launch optical power) mais elevadas. 28 Como exemplo, a Figura 2 mostra as constelações recuperadas por meio de detecção intradina em um sistema de comunicação óptica digital coerente de um único canal e uma polarização, com baixa dispersão e comprimento de enlace de 100 km considerando diferentes valores de LOP. Nota-se que o efeito Kerr é pouco significativo quando a potência transmitida é de 3 mW, e que neste caso o sistema é limitado por rúıdo gaussiano. Considerando uma potência de transmissão de 8 mW, a automodulação de fase passa a ser percept́ıvel, e tende a distorcer significativamente śımbolos com maiores amplitudes.Para 13 mW de transmissão, a constelação é bastante distorcida, ocasionando um aumento significativo nas taxas de erro de śımbolo (SER - Symbol error rate). Para este caso, faz-se necessária a utilização de algoritmos de equalização e/ou de detecção com regiões de decisão otimizadas, uma vez que os śımbolos são dispostos de maneira não uniforme. Modulação de fase cruzada Analogamente ao que acontece na automodulação de fase, a relação linear entre ı́ndice de refração da fibra e intensidade de sinal óptico pode ocasionar outro efeito não-linear, conhecido como modulação de fase cruzada (AGRAWAL, 2012). Este tipo de fenômeno ocorre quando múltiplos canais trafegam em uma mesma fibra utilizando a técnica WDM. Sabe-se que, assim como descrito anteriormente, um canal individual gera variações de ı́ndice de refração na fibra que induzem a uma modulação de fase não linear (SPM). Quando mais de um canal óptico trafega neste enlace, estas variações de ı́ndice de refração ao longo do tempo afetam simultaneamente a todos, uma vez que o mesmo meio f́ısico (fibra óptica) é compartilhado. O deslocamento de fase para o j-ésimo canal é descrito pela seguinte equação: Φj NL = γLeff ( Pj + 2 ∑ m̸=j Pm ) (3) em que o somatório abrange os valores de potência de todos os canais do sistema. O fator 2 indica que o XPM é duas vezes mais eficaz que o SPM e tem origem na forma da suscetibilidade não linear (AGRAWAL, 2000). 29 Mistura de quatro ondas A terceira forma com a qual o efeito Kerr óptico se apresenta em sistemas de comunicações ópticas é conhecida como mistura de quatro ondas (FWM). Este fenômeno se origina quando três sinais ópticos com frequências portadoras ω1, ω2 e ω3 trafegam por um mesmo meio, gerando campo em frequências ω4 = ω1 ± ω2 ± ω3 (AGRAWAL, 2012). Embora a maioria das das componentes espectrais geradas não prosperem, uma vez que dependem do casamento de fase, algumas podem ter efeitos degradantes em sistemas WDM, especificamente quando as interferências são geradas em freqências próximas às de canais operantes, ocasionando crosstalk (AGRAWAL, 2000). 2.3 Estimativa de probabilidade de erro de śımbolo por meio da magnitude do vetor de erro De modo geral, o EVM é uma técnica que permite estimar a BER em sistemas de comunicações limitados por rúıdo branco gaussiano aditivo (AWGN - Additive white Gaussian noise), podendo ser aplicado em configurações que fazem uso dos mais diversos tipos de modulação (SHAFIK; RAHMAN; ISLAM, 2006). Em formatos de modulação avançados, como é o caso do QAM M-ário, a informação é codificada em um sinal com amplitude e fase, podendo ser representada no plano complexo na forma de uma constelação de sinais. O EVM é definido como sendo a ráız quadrada do erro quadrático médio (RMS - Root mean square) de uma coleção de śımbolos, sendo o erro representado pela distância euclidiana entre śımbolos amostrados e os respectivos śımbolos detectados (idealmente iguais aos transmitidos). A Figura 3 mostra o vetor de erro para um śımbolo de uma constelação 16 QAM, apresentando o desvio do vetor de sinal recebido (Er,i) com relação ao transmitido (Et,i) por meio do vetor de erro (Eerr,i) (SCHMOGROW et al., 2011; FATADIN, 2016). Considerando uma coleção formada por N śımbolos recebidos e potência média de transmissão dada por Pa, representa-se o EVM de acordo com a seguinte expressão: EVMrms = √ 1 N ∑N i=1 |Er,i − Et,i|2 Pa . (4) 30 Q I x 𝐸𝑒𝑟𝑟,𝑖 2 = |𝐸𝑟,𝑖 − 𝐸𝑡,𝑖|² x 𝐸𝑒𝑟𝑟,𝑖 𝐸𝑟,𝑖 𝐸𝑡,𝑖 Figura 3 – Diagrama de constelação com vetor de erro expresso para sinal 16QAM e constelação sob efeito de rúıdo gaussiano aditivo. O EVM se relaciona diretamente com a SNR do sinal de acordo com a seguinte expressão: SNR ≈ 1 EVM2 = Es N0 (5) sendo Es a energia do śımbolo e N0/2 a densidade espectral de potência do rúıdo gaussiano. Em sistemas limitados por rúıdo, sabe-se que a BER é um efeito diretamente relacionado ao AWGN, que por sua vez pode ser representado em função do EVM (LATHI, 1998). Considerando constelações QAM M-árias, a expressão que relaciona a BER ao EVM é a seguinte (FATADIN, 2016; SCHMOGROW et al., 2011): BER = (1−M−1/2) 1 2 log2M erfc [√ 3/2 (M − 1)EVM2 rms ] (6) em que M representa a quantidade de śımbolos na constelação e erfc é a função de erro complementar. 31 3 Redes neurais artificiais Neste trabalho foram aplicados algoritmos baseados em CNNs para estimar a BER em sistemas de comunicações ópticas digitais coerentes por meio do processamento de imagens de constelações de sinais. Esses tipos de algoritmos fazem parte de uma classe espećıfica de ANNs, e serão descritos com maiores detalhes neste caṕıtulo. ANNs, normalmente abreviadas ”redes neurais”, são algoritmos computacionais que se inspiram no funcionamento do sistema nervoso central de seres vivos, sendo capazes de adquirir e manter o conhecimento e torná-lo dispońıvel para uso. Sabe-se que o cérebro é um sistema altamente complexo, não linear e paralelo, que possui alta capacidade de organização de seus constituintes (denominados neurônios) para realizar atividades diversas, como reconhecimento de padrões, controle motor e percepção (HAYKIN, 2007). Desta forma, redes neurais fazem uso da interligação de células computacionais simples, denominadas ”neurônios artificiais”, para realizar uma tarefa ou função de interesse. Em uma de suas descrições mais generalistas, este tipo de sistema é descrito como um processador paralelamente distribúıdo que possui uma propensão ao armazenamento de conhecimento experimental. Este conhecimento deve ser adquirido externamente por meio do processo de aprendizagem, que é responsável por criar conexões neurais, normalmente denominados como pesos sinápticos, que armazenam o conhecimento (ALEKSANDER; MORTON, 1990). Na maioria dos casos, as ANNs são algoritmos de aprendizado de máquina que se baseiam no paradigma de aprendizagem supervisionado. Na seção a seguir, será apresentada uma breve descrição do modelo de funcionamento de neurônios artificiais. 3.1 Neurônios artificiais De forma geral, neurônios artificiais são unidades simples não lineares de pro- cessamento. O diagrama da Figura 4 apresenta um modelo de um neurônio artificial conhecido como Perceptron, responsável por compor a estrutura dos mais diferentes tipos de arquiteturas de redes neurais. Estas unidades processadoras recebem sinais de entrada, representados pelo conjunto {x1, x2, x3, ..., xn}, e os ponderam por meio dos elos de conexão, definidos como conjunto 32 Figura 4 – Modelo de neurônio artificial perceptron. de pesos sinápticos {ω1, ω2, ω3, ..., ωn}. É válido ressaltar que estes pesos podem assumir valores tanto positivos como negativos. Após multiplicar cada uma das entradas xi pelo seu respectivo peso ωi, estes sinais são agregados e produzem uma combinação linear das entradas, comumente denotada por potencial de ativação (u). Ressalta-se que u também considera a soma ou subtração de um valor constante θ, denominado na literatura como bias (ALPAYDIN, 2009). Por fim, o neurônio artificial aplica uma função de ativação a u com a finalidade de combinar as entradas ponderadas, tipicamente de forma não linear. Partindo do procedimento previamente descrito, pode-se descrever um neurônio artificial por meio do seguinte par de equações (ALPAYDIN, 2009): u = n∑ i=1 ωi · xi − θ (7) e y = g(u) (8) A função de ativação, apresentada na Figura 4 como g(u), descreve a sáıda de um neurônio em função de u e pode variar de acordo com a posição em que ele se encontra dentro da estrutura da ANN ou com o tipo de tarefa a ser executada (SHARMA; SHARMA, 2017). Embora existam e sejam aplicadas diversas funções para esta finalidade, serão subsequentemente apresentadas e descritas as funções mais relevantes para a implementação do trabalho proposto. 33 10 5 0 5 10 u 0.0 0.2 0.4 0.6 0.8 1.0 g( u) = 0.5 = 1 = 2 = 5 Figura 5 – Função loǵıstica (sigmoide) considerando diferentes valores de β. 3.1.1 Função sigmoide A função sigmoide, muitas vezes apresentada na literatura como função loǵıstica, é um dos tipos de função de ativação mais utilizados na construção de ANNs (HAYKIN, 2007). Trata-se de uma função estritamente crescente que assume valores de sáıda no intervalo de [0, 1] e é descrita pela seguinte equação: g(u) = 1 1 + e−β·u , (9) na qual β é o parâmetro de inclinação e se relaciona com a inclinação da função e seu ponto de inflexão. A função sigmoide é representada na Figura 5 considerando diferentes valores de β. Tem-se que ao adotar valores altos para β, a inclinação no ponto de inflexão (0, g(0)) tende a ser cada vez maior, de modo que, conforme β → ∞, g(u) tende à função degrau unitário, também conhecida como função de Heaviside (ALPAYDIN, 2009). Uma caracteŕıstica importante da função sigmoide é o fato de que ela é diferenciável, sendo este um fator extremamente desejável na teoria de redes neurais, assim como será tratado posteriormente na Subseção 3.2.1. 34 10 5 0 5 10 u 40 20 0 20 40 g( u) a = 0.5 a = 1 a = 2 a = 5 Figura 6 – Função linear considerando diferentes valores de a. 3.1.2 Função linear A função de ativação linear é descrita por uma reta, sendo a sáıda diretamente proporcional ao parâmetro de entrada (u) (SHARMA; SHARMA, 2017). Além de ser diferenciável, o gradiente da função é diferente de zero, constante e independente de u para u ∈ R. Pode-se descrever uma função de ativação linear pela seguinte equação: g(u) = au, (10) em que a é a inclinação da reta. A função linear é representada na Figura 6 considerando diferentes valores de a. Ela é normalmente utilizada para casos em que a sáıda de um neurônio artificial não é limitada a intervalos espećıficos, como camadas de sáıdas em ANNs de regressão (abordadas na Subseção 3.2.1). Quando é unicamente utilizada, inviabiliza a detecção de padrões complexos nos dados. 3.1.3 Função ReLU A função de unidade linear retificada (rectified linear unit), denotada ReLU, tem sido amplamente utilizada por apresentar bom desempenho em diversas aplicações envolvendo ANNs, incluindo arquiteturas espećıficas para processamento de imagem (XU et al., 2015). 35 10 5 0 5 10 u 0 2 4 6 8 10 g( u) Figura 7 – Função RelU. Ela é definida pelo valor máximo entre 0 e a entrada em questão, podendo ser descrita pela seguinte equação: g(u) = ReLU(u) = max(0, u) = 0 se u ≤ 0 u se u > 0. (11) Embora possa ser aplicada para outros casos, este tipo de função de ativação tem se mostrado particularmente relevante principalmente para CNNs, pois é capaz de suprimir valores negativos (irrepresentáveis na forma de pixels). Embora não seja diferenciável, esta função de ativação pode afetar positivamente o processo de aprendizagem, uma vez que ela não sofre saturação para valores altos de u, ao contrário do que ocorre em funções como a sigmoide (XU et al., 2015). A função ReLU pode ser observada na Figura 6. 3.2 Arquiteturas de redes neurais Define-se por arquitetura a forma com a qual os neurônios artificiais estão conectados na rede, estando este fator intimamente ligado ao algoritmo de treinamento (HAYKIN, 2007). Em particular para este trabalho, mostram-se importantes duas arquiteturas de rede: redes neurais perceptron multicamadas e CNNs. Essas arquiteturas serão descritas nas seções subsequentes. 36 3.2.1 Redes neurais perceptron multicamadas Este tipo de arquitetura de rede neural artificial, normalmente conhecida como redes feedforward (alimentadas adiante) ou perceptron multicamadas (MLP - Multilayer Perceptron), é caracterizada pela existência de um fluxo unidirecional (com exceção da etapa de treinamento) da informação na rede, que ocorre da entrada para a sáıda. A organização de neurônios artificiais nesta arquitetura de rede se dá por três tipos distintos de camadas (SILVA; SPATTI, 2010), denominadas: • Camada de entrada: Se projeta nas camadas ocultas, mas não vice-versa. Recebe as informações de entrada do sistema, normalmente de forma normalizada. A quantidade de neurônios de entrada depende da quantidade de parâmetros a serem considerados no problema (ALPAYDIN, 2009); • Camadas intermediárias (escondidas ou ocultas): Sua função é intervir de forma útil entre a camada de entrada e a sáıda. Agregam conexões sinápticas à rede que podem melhorar a habilidade de extrair estat́ısticas de ordem elevada da tarefa a ser realizada (CHURCHLAND; SEJNOWSKI, 1994). São responsáveis por grande parte do processamento interno da rede. • Camada de sáıda: Além de realizar parte do processamento interno, a camada de sáıda também é responsável por constituir a resposta global da rede de acordo com a tarefa a ser realizada (ALPAYDIN, 2009). Constitui a última camada de neurônios, e é indispensável para redes neurais de modo geral. A Figura 8 apresenta uma rede neural perceptron multicamada com duas camadas escondidas considerando n entradas e m sáıdas. É válido destacar que o modelo representa uma rede totalmente conectada, também conhecida como rede densa, pois neste caso os nós de uma determinada camada se conectam a todos os nós da camada adjacente no sentido de propagação da informação. Caso haja ausência de determinadas conexões sinápticas, a rede pode então ser classificada como rede parcialmente conectada (ALPAYDIN, 2009). Descrição matemática de camadas do tipo feedforward Para descrever o funcionamento de uma ANN feedforward, podemos assumir uma rede com a topologia apresentada na Figura 8. Nesta arquitetura, cada neurônio artificial 37 1ª Camada escondida 2ª Camada escondida Camada de entrada Camada de saída x1 xn x2 1 2 3 n1 1 2 3 n2 1 2 m y1 y2 ym 1 2 n Figura 8 – Exemplo de uma rede neural artificial feedforward com n entradas, m sáıdas e duas camadas escondidas. que compõe as camadas escondidas ou de sáıda é alimentado pelas sáıdas dos neurônios da camada anterior, seguindo o procedimento descrito previamente. Como exemplo, a equação abaixo apresenta as sáıdas de cada neurônio considerando uma camada escondida de comprimento j: a1 = g (ω01x0 + ω11x1 + ω21x2 + ...+ ωn1xn) a2 = g (ω02x0 + ω12x1 + ω22x2 + ...+ ωn2xn) a3 = g (ω03x0 + ω13x1 + ω23x2 + ...+ ωn3xn) ... aj = g (ω0jx0 + ω1jx1 + ω2jx2 + ...+ ωnjxn) , (12) sendo x0 = 1, ω0 = θ e g(·) a função de ativação adotada para os neurônios artificiais desta determinada camada. As entradas e sáıdas de cada uma das camadas que compõe uma ANN podem ser representadas e processadas na forma vetorial com a finalidade de facilitar a implementação computacional deste tipo de algoritmo, assim como possibilitar a utilização de uma nomenclatura mais compacta (ALPAYDIN, 2009; HAYKIN, 2007). Para isso, é preciso inicialmente descrever as entradas e sáıdas de cada camada como vetores colunas, de modo que o vetor sáıda seja resultante de uma operação entre o vetor de entrada e uma matriz composta por pesos sinápticos. 38 Considerando uma camada com n entradas e m neurônios artificiais, é posśıvel descrever os vetores de entrada (X) e sáıda (Y ), bem como a matriz de pesos (Ω) de acordo com: X =  x0 x1 x2 ... xn  Ω =  ω01 ω02 ω03 ... ω0m ω11 ω12 ω13 ... ω1m ω21 ω22 ω23 ... ω2m ... ... ... ... ωn1 ωn2 ωn3 ... ωnm  Y =  y1 y2 y3 ... ym  (13) Na Equação 13, cada coluna da matriz Ω representa os pesos sinápticos de um único neurônio para cada uma das n entradas, ao passo que cada linha corresponde aos pesos de cada neurônio para uma entrada espećıfica. Sendo assim, a expressão que relaciona os vetores de entrada e sáıda com a matriz Ω é descrita por: Y = g(U) = g(ΩTX) (14) em que U , denominado vetor potencial de ativação, é dado por: U = ΩTX. (15) Considerando o fluxo natural de uma rede perceptron multicamadas, as operações das camadas posteriores repetem este mesmo procedimento, assumindo que a entrada da i-ésima camada seja tal que Xi = Yi−1. A propagação da informação pela rede partindo da camada de entrada até a sáıda é denominada forward propagation (ALPAYDIN, 2009). Técnicas de treinamento para redes neurais artificiais feedforward Assim como já mencionado, ANNs são algoritmos de ML que geralmente se baseiam no paradigma de aprendizagem supervisionada, portanto necessitam de uma etapa de 39 treinamento para gerar e armazenar conhecimento experimental por meio da otimização de pesos sinápticos (SILVA; SPATTI, 2010). Este procedimento é realizado por meio da minimização de uma função de custo médio J(Ω) idealmente cont́ınua e diferenciável, capaz de mapear os pesos Ω e associá-los de alguma forma à sáıda esperada (HAYKIN, 2007). O treinamento de ANNs perceptrons multicamadas faz uso do algoritmo de back- propagation, normalmente aplicado sucessivamente em duas etapas espećıficas (HAYKIN, 2007; ALPAYDIN, 2009). A primeira delas é denominada forward propagation (apresentada na Seção 3.2.1), e consiste na inserção das amostras de um bloco de teste (training set) na rede e na propagação da informação até a sáıda. Durante esta etapa, obtém-se as respostas da ANN mantendo-se inalterados os pesos e bias. Posteriormente, as sáıdas são comparadas aos valores esperados, uma vez que o training set é composto por dados previamente rotulados. Por meio desta comparação, será calculada a função de custo médio (J(Ω)) que será utilizada para ajustar os pesos de todos os neurônios artificiais que compõem a rede. Esse ajuste ocorrerá retroativamente, de modo que, ao se otimizar a última camada, computar-se-á a sáıda de menor custo para a camada anterior, que também passará pelo processo de otimização e assim sucessivamente até que se chegue na primeira camada da rede (HAYKIN, 2007). Este ajuste é realizado durante a segunda etapa, denominada backward propagation, ou simplesmente retropropagação (SILVA; SPATTI, 2010). A minimização da função de custo médio em algoritmos de ANN durante o backward propagation pode ser implementada utilizando o algoritmo de Gradiente Descendente (Gradient Descent), que consiste em um processo iterativo que busca a minimização de uma função por meio do ajuste de seus parâmetros. Estes ajustes são necessariamente aplicados na direção de descida mais ingrime, que é sempre oposta ao vetor gradiente e aponta diretamente para um mı́nimo da função (HAYKIN, 2007). A relação iterativa entre o gradiente de J e atualização da matriz de pesos é expressa por: ∆Ω = −η · ∇J, (16) sendo η um valor constante denominado taxa de aprendizagem capaz de indicar o quão rápido o processo de otimização estará se deslocando rumo ao ponto mı́nimo de J (WI- DROW; HOFF, 1960). 40 Considerando a expressão para cada peso individual que compõe a matriz Ω, o gradiente descendente representado de forma iterativa é representado pela sequinte equação: (ωij) t+1 = (ωij) t − η · ∂J ∂(ωij)t . (17) Para que a otimização seja convergente, é necessário que J seja convexa, uma vez que essa condição garante a existência de um único ponto mı́nimo, denominado mı́nimo global. Caso essa condição não seja satisfeita, o algoritmo de otimização pode convergir para um ponto de mı́nimo local, resultando em uma configuração sub-ótima. Além disso, a função de custo pode considerar uma única amostra ou um conjunto reduzido, tendo como finalidade a redução do custo computacional durante o treinamento, porém, a diminuição da complexidade neste processo é alcançada em detrimento de uma maior variabilidade de custo ao longo das épocas de treinamento, uma vez que o ponto de custo mı́nimo amostral pode divergir do mı́nimo global (WIDROW; HOFF, 1960). Na literatura, descreve-se J de acordo com a seguinte equação: J(Ω) = 1 k k∑ j=1 Cost, (18) em que Cost é o custo individual de cada uma das k amostras que compõem um bloco de treinamento (training set) e Ω é a matriz de pesos sinápticos da camada em questão. A função de custo, por sua vez, pode variar de acordo com a ANN implementada. Dentre as posśıveis funções de custo (Cost), duas opções são amplamente utilizadas em ANNs: o erro quadrático médio (Mean Squared Error - MSE) e a entropia cruzada (Cross-Entropy - CE), sendo a primeira aplicável principalmente em problemas de regressão e a segunda para problemas de classificação (ALPAYDIN, 2009). Em particular, as redes neurais descritas no presente trabalho adotam o MSE como função de custo. Desta forma, o custo médio de uma ANN considerando uma camada de sáıda com m neurônios pode ser descrita da seguinte maneira: J(Ω) = 1 2k k∑ j=1 m∑ i=1 [di(j)− yi(j)] 2 . (19) 41 em que di é a sáıda desejada e yi a sáıda real obtida no i-ésimo neurônio para a j-ésima amostra do training set. O fator 2 no denominador é por padrão considerado com a finalidade de simplificação, uma vez que ele será anulado após a diferenciação da função. Definidas as expressões para as funções de custo (Cost) e custo médio (J) ao final da forward propagation, o ajuste dos pesos sinápticos pode ser realizado camada a camada durante o backward propagation, que se inicia na camada de sáıda e segue na direção contra propagante até a primeira camada escondida da ANN. O ajuste tem o objetivo de minimizar o erro obtido entre as sáıdas produzidas (y) e desejadas (d) (SILVA; SPATTI, 2010). Aplicando-se então a definição de gradiente conjuntamente à regra da cadeia, é posśıvel definir ∇J na camada de sáıda de acordo com a Equação 20. ∇J = ∂J ∂Ωout = ∂J ∂Yi · ∂Yi ∂Ui · ∂Ui ∂Ωout , (20) em que Ωout é a matriz de pesos sinápticos, Yi o vetor de sáıda e Ui o vetor potencial de ativação, todos relacionados à camada de sáıda. Partindo das Equações 7, 14 e 19 e assumindo que a entrada da camada de sáıda é igual a sáıda da última camada escondida (Xi = Yi−1), é posśıvel obter as seguintes relações: ∂J ∂Yi = −(Di − Yi) (21) ∂Yi ∂Ui = g′(Ui) (22) ∂Ui ∂Ωout = Y(i−1), (23) em que Di é o vetor de sáıdas esperadas. Assim, ao substituir as Equações 21, 22 e 22 na expressão 20, obtém-se ∇J da seguinte forma: ∇J = ∂J ∂Ωout = −(Di − Yi) · g′(Uj) · Y(i−1) = −δj · Y(i−1), (24) sendo δj, definido como gradiente local, calculado da seguinte forma: 42 δj = (Di − Yi) · g′(Uj). (25) Partindo do desenvolvimento matemático descrito, é posśıvel obter o ajuste da matriz de pesos sinápticos por meio do algoritmo de gradiente descendente, apresentado na Equação 16. Assim, podemos definir ∆Ωout de acordo com a seguinte equação: ∆Ωout = −η ∂J ∂Ωout = η · δj · Y(i−1). (26) Considerando a Equação 26, é posśıvel otimizar sucessivamente os pesos sinápticos da camada de sáıda do algoritmo por meio da comparação entre as sáıdas da ANN e os valores esperados, uma vez que o bloco de treinamento é previamente conhecido. É necessário então otimizar os pesos das camadas anteriores por meio da retropropagação do erro, que é realizada mediante a ponderação do mesmo pelos pesos ajustados. Desta forma, a resposta desejada para neurônios das camadas anteriores é determinada pelos neurônios da camada imediatamente à frente, a qual foi devidamente otimizada no passo anterior (HAYKIN, 2007; SILVA; SPATTI, 2010). O processo de otimização dos pesos sinápticos das camadas escondidas é semelhante ao descrito para a camada de sáıda, levando em conta a mesma expressão para ∇J apresentada na Equação 20, porém utilizando matriz Ω e vetores yi e ui relacionados à i-ésima camada a ser otimizada. Por intermédio das definições anteriores, têm-se para estes casos as seguintes relações: ∂J ∂Yi = m∑ k=1 ∂J ∂U(i+1) · ∂U(i+1) ∂Yi = m∑ k=1 ∂J ∂U(i+1) · ∂ (∑m k=1Ω(i+1) · Yi ) ∂Yi = m∑ k=1 ∂J ∂U(i+1) ·Ω(i+1) (27) ∂Yi ∂Ui = g′(Ui) (28) ∂ui ∂Ω = Y(i−1), (29) em que m representa a quantidade de neurônios da camada à frente, cujo ı́ndice é representado como (i+1). Analogamente ao que foi previamente descrito, é posśıvel definir genericamente o ajuste de pesos sinápticos para a i-ésima camada escondida de acordo com a Equação 30. 43 ∆Ω = η · δ(i)j · Y(i−1), (30) sendo δ (i) j = ( m∑ k=1 δ (i+1) k · Ωi+1 ) · g′(Uj). (31) O procedimento descrito é implementado no backward até que se otimize a primeira camada escondida. Cada iteração do processo de backpropagation, composto pelas etapas de propagação e contrapropagação, é responsável pelo ajuste gradual dos pesos de modo que, conforme as iterações são realizadas, as matrizes Ω referêntes a cada camada tendem a se aproximar de seus valores ótimos (ALPAYDIN, 2009). 3.2.2 Redes neurais convolucionais CNNs compõem uma classe de modelos baseada em aprendizado profundo (deep learning - DL) cuja principal finalidade é o processamento de dados com padrão em grade (grid pattern), tais como imagens e áudio (por meio de histogramas) (YAMASHITA et al., 2018). Este tipo de modelo se inspira na organização do cortex visual de animais (FUKUSHIMA; MIYAKE, 1982) e busca identificar caracteŕısticas espaciais de forma automática e adaptativa. CNNs são formadas por uma construção matemática composta por três tipos de estruturas: camadas convolucionais, pooling e rede densamente conectada, sendo a terceira uma rede neural perceptron, já detalhada nas seções anteriores (YAMASHITA et al., 2018). As camadas convolucionais e de pooling têm um papel fundamental na extração de caracteŕısticas das estruturas de dados (também conhecidas como feature maps), ao passo que a rede densamente conectada se encarrega de mapear as caracteŕısticas destacadas (ou não) para então gerar uma sáıda, seja ela de classificação ou regressão (O’SHEA; NASH, 2015). Tratando-se especificamente de processamento de imagem, uma das principais limitações enfrentadas por ANNs puramente densas (MLPs) é o aumento considerável na complexidade computacional requerida no processamento, uma vez que estas redes possuem 44 uma grande quantidade de conexões sinápticas. Além disso, a técnica de achatamento (ou flattening), que consiste no redimensionamento da imagem para um vetor unidimensional e permite sua inserção na rede, afeta diretamente a capacidade de generalização da ANN, tornando-a senśıvel à rotações e translações de imagem (O’SHEA; NASH, 2015). CNNs, todavia, mostram-se extremamente capazes de generalizar sua atuação mediante rotações ou translações de padrões, uma vez que, assim como destacado anteriormente, usam estruturas para reconhecer e destacar caracteŕısticas antes do processo de flattening, utilizando inclusive uma quantidade relativamente pequena de pesos sinápticos por camada convolucional (se comparado às redes densas) (YAMASHITA et al., 2018). As seções subsequentes apresentarão uma breve descrição relacionada as camadas convolucionais e de pooling. Camadas convolucionais As camadas convolucionais compõem uma parte fundamental na arquitetura de CNNs: a extração de caracteŕısticas, gerando assim os chamados feature maps. Esta tarefa é realizada por meio da convolução da entrada com filtros, denominados kernels, representado por matrizes quadradas de valores reais. Cada elemento de um kernel também é denominado peso, e deve ser um parâmetro otimizável no processo de treinamento (YAMASHITA et al., 2018). Antes de descrever o processo de convolução, é necessário compreender a forma com a qual imagens são representadas computacionalmente. De modo geral, imagens digitais consistem em uma ou mais matrizes bidimensionais sobrepostas, em que cada elemento se denomina pixel, termo proveniente da expressão ”picture element”, ou elemento de figura (FISHER, 1997). Embora existam diferentes padrões para representação de cores, um dos mais utilizados é o RGB, cuja sigla é a descrição das cores vermelho, verde e azul (Red, Green and Blue). Normalmente, os valores em cada escala de cor (1 escala para figuras monocromáticas ou 3 para figuras coloridas em RGB) são representados por um byte, ou 8 bits, podendo então assumir valores entre 0 e 255. Nesta escala representa-se a intensidade de luz de um determinado pixel, sendo 0 a ausência de luz e 255 a intensidade máxima (STOKES, 1996). A Figura 9 apresenta uma imagem em escala monocromática de resolução 14x15 e sua respectiva representação na forma matricial. 45 127 127 0 0 0 0 127 127 127 0 0 0 0 127 127 127 0 255 255 255 255 0 127 0 255 255 255 255 0 127 0 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 127 0 255 255 255 255 255 255 255 255 255 255 255 0 127 127 127 0 255 255 255 255 255 255 255 255 255 0 127 127 127 127 127 0 255 255 255 255 255 255 255 0 127 127 127 127 127 127 127 0 255 255 255 255 255 0 127 127 127 127 127 127 127 127 127 0 255 255 255 0 127 127 127 127 127 127 127 127 127 127 127 0 255 0 127 127 127 127 127 127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 Figura 9 – Representação computacional de uma imagem monocromática de dimensão 14x15. A matriz na direita apresenta valores entre 0 e 255, que corresponde à intensidade de um pixel de 8 bits. Em CNNs, definem-se tensores como sendo matrizes numéricas (normalmente imagens) que são inseridas na entrada de uma camada convolucional. Durante a convolução, um ou mais kernels executam uma varredura sobre o tensor com um passo pré-determinado. Em cada um desses passos, os pesos que compões cada kernel são multiplicados pelos elementos do tensor e posteriormente somados, gerando assim combinações lineares de uma determinada região da matriz de entrada. Trata-se portanto de uma convolução em duas dimensões, sendo cada kernel a representação espacial da função de resposta ao impulso de um filtro, responsável por destacar alguma determinada caracteŕıstica na imagem. Essas combinações, que são análogas ao potencial de ativação em camadas densas de redes neurais perceptron, são então aplicadas a uma função de ativação que deve limitar a faixa de valores da sáıda (O’SHEA; NASH, 2015; KOUSHIK, 2016), compondo assim um determinado feature map. É necessário lembrar que pixels não podem ser representados por números negativos, portanto, uma das funções de ativação mais utilizadas para processamento de imagens é a ReLU (descrita na Seção 3.1.3), que possui comportamento linear para valores positivos e sáıda nula para negativos (XU et al., 2015). O processo de convolução aqui descrito pode ser analisado com maiores detalhes na Figura 10. Um dos principais problemas relacionados a operação de convolução, descrita acima, é o fato de que ela não possibilita que pesos no centro de cada kernel se sobreponham 46 1 2 1 0 2 3 2 0 0 1 0 2 1 0 2 1 0 2 0 1 0 2 1 3 0 2 1 0 2 1 1 2 3 4 3 2 1 0 1 0 1 0 1 0 1 1 2 1 0 2 3 2 0 0 1 0 2 1 0 2 1 0 2 0 1 0 2 1 3 0 2 1 0 2 1 1 2 3 4 3 2 1 0 1 0 1 0 1 0 1 1 2 1 0 2 3 2 0 0 1 0 2 1 0 2 1 0 2 0 1 0 2 1 3 0 2 1 0 2 1 1 2 3 4 3 2 1 0 1 0 1 0 1 0 1 5 3 6 Kernel Tensor Feature Map Figura 10 – Exemplo de convolução de um kernel de dimensão 3x3 com um tensor de 6x6 e varredura de passo 1. O feature map resultante possui dimensão 4x4. aos pixels das extremidades. Sendo assim, caso hajam caracteŕısticas relevantes próximas às bordas de um tensor que devam ser destacadas em um determinado feature map, elas podem acabar sendo pouco consideradas (WU, 2017). Uma das técnicas mais utilizadas para resolver este problema é denominada padding, que consiste na inserção de linhas e colunas ao redor da imagem, que podem garantir que todos os pixels sejam considerados igualmente durante as operações. Normalmente as bordas adicionadas no padding possuem conteúdo nulo (denominando-se assim zero-padding), e podem conter mais de uma camada, dependendo das dimensões do kernel (WU, 2017; YAMASHITA et al., 2018). Como exemplo, a Figura 11 apresenta uma imagem antes e após a aplicação de um zero-padding de duas camadas. O processo de convolução tem como principal objetivo destacar determinados tipos de caracteŕısticas que sejam importantes para realizar a tarefa desejada, seja ela uma regressão ou classificação. O resultado obtido ao realizar tal procedimento está diretamente relacionado com os pesos de que compõem o kernel em questão. Podem ser realisadas tarefas como detecção de borda e/ou determinados formatos geométricos, destaque de relevo (embossing), suavização de detalhes, etc. (JUNG; SHIN; KWON, 2018) As matrizes 3× 3 a seguir, representadas pelas Equações 32 e 33, representam exemplos de kernels de destaque de relevo e detecção de borda, respectivamente. 47 127 127 0 0 0 0 127 127 127 0 0 0 0 127 127 127 0 255 255 255 255 0 127 0 255 255 255 255 0 127 0 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 127 0 255 255 255 255 255 255 255 255 255 255 255 0 127 127 127 0 255 255 255 255 255 255 255 255 255 0 127 127 127 127 127 0 255 255 255 255 255 255 255 0 127 127 127 127 127 127 127 0 255 255 255 255 255 0 127 127 127 127 127 127 127 127 127 0 255 255 255 0 127 127 127 127 127 127 127 127 127 127 127 0 255 0 127 127 127 127 127 127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 0 0 0 0 127 127 127 0 0 0 0 127 127 0 0 0 0 127 0 255 255 255 255 0 127 0 255 255 255 255 0 127 0 0 0 0 0 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 127 0 255 255 255 255 255 255 255 255 255 255 255 0 127 0 0 0 0 127 127 0 255 255 255 255 255 255 255 255 255 0 127 127 0 0 0 0 127 127 127 0 255 255 255 255 255 255 255 0 127 127 127 0 0 0 0 127 127 127 127 0 255 255 255 255 255 0 127 127 127 127 0 0 0 0 127 127 127 127 127 0 255 255 255 0 127 127 127 127 127 0 0 0 0 127 127 127 127 127 127 0 255 0 127 127 127 127 127 127 0 0 0 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Imagem original Imagem com zero-padding 2 Figura 11 – Exemplo de imagem com zero-padding de duas camadas.  −9 −1 0 −1 1 1 0 1 9  (32)  −1 −1 −1 −1 8 −1 −1 −1 −1  (33) A Figura 12 apresenta uma imagem genérica capturada pelo autor e o resultado obtido ao convolúı-la com o kernel apresentado na Equação 32, cuja principal finalidade é destacar relevos na imagem. Já a Figura 13 mostra novamente a mesma imagem originalmente capturada pelo autor e o resultado obtido por meio da convolução da figura com o kernel representado pela Equação 33, cuja principal tarefa é a detecção de bordas. 48 (a) (b) Figura 12 – (a) Imagem demonstrativa capturada pelo autor. (b) Imagem obtida após a convolução da imagem original com o kernel representado pela Equação 32, responsável por destacar regiões de profundidade (embossing). (a) (b) Figura 13 – (a) Imagem demonstrativa capturada pelo autor. (b) Imagem obtida após a convolução da imagem original com o kernel representado pela Equação 33, responsável por detectar bordas. 49 É válido lembrar que, embora os kernels possam ser utilizados para destacar determinadas caracteŕısticas objetivamente percept́ıveis à observação, os pesos que compões os kernels em camadas convolucionais são determinados por meio de um processo de otimização puramente estat́ıstico, cujo objetivo fundamental se resume à redução de uma determinada função de custo atribúıda a um conjunto de dados de treinamento. Sendo assim, as caracteŕısticas destacadas em camadas convolucionais podem de alguma forma ser contraintuitivas caso observadas de forma isolada (caracteŕısticas subjetivas), porém destacam elementos que foram estatisticamente relevantes para realizar a tarefa desejada (O’SHEA; NASH, 2015). Camadas de pooling Além das camadas convolucionais, CNNs também são compostas pelas chamadas camadas de pooling, cuja principal tarefa é a redução de dimensão de feature maps, gerando consequentemente uma redução na quantidade de parâmetros de ativação dentro da rede (O’SHEA; NASH, 2015). O processamento realizado por essas camadas se assemelha em parte ao das camadas convolucionais, pois nela são considerados filtros que varrem a imagem com um passo pré-determinado (stride). Todavia, a operação realizada é sumariamente diferente, pois ao invés de se convoluir a entrada da camada a um filtro, o pooling basicamente realiza uma operação com os próprios pixels da imagem, como por exemplo o cálculo da média (average pooling) ou a seleção do elemento de maior valor (max pooling) (WU, 2017). Desta forma, a sáıda de uma camada de pooling é uma representação da entrada, porém com dimensão reduzida. A configuração mais utilizada na prática é o max pooling com filtro de dimensão 2 × 2 e stride (passo de varredura) 2, porém o average pooling também se mostra bastante relevante para algumas arquiteturas espećıficas de CNNs (YAMASHITA et al., 2018). Estrutura geral e diferentes arquiteturas de CNNs Assim como já descrito, CNNs são compostas por três tipos de estruturas: as camadas convolucionais, camadas de pooling e rede densamente conectada (rede neural 50 Entrada Saída Rede densaExtração de características Convolucional Convolucional Pooling Figura 14 – Estrutura geral de uma rede neural convolucional artificial multilayer perceptron). Quando utilizada para processamento de imagem, este tipo de rede normalmente recebe três matrizes (um tensor) de entrada, sendo cada uma a representação de um canal de cor (R, G e B) (WU, 2017). A primeira etapa da rede consiste na extração de caracteŕısticas, que se dá por meio das camadas convolucionais. Com a finalidade de diminuir a quantidade de parâmetros otimizáveis (e consequentemente o custo computacional), os processos de redução de dimensionalidade dos feature maps são realizados por meio da utilização de camadas de pooling, que normalmente fazem uso da técnica de max pooling. Após obter uma grande quantidade de caracteŕısticas mapeadas, os feature maps são rearranjados na forma de vetores unidimensionais no processo conhecido como flattening, e então inseridos em uma rede perceptron, que deverá processá-los para então gerar uma ou mais sáıdas desejadas, de acordo com o tipo de tarefa a ser realizada (O’SHEA; NASH, 2015). Esta arquitetura de rede é mostrada na Figura 14. De forma análoga às ANN perceptrons, o treinamento de CNNs é performado pela otimização dos pesos sinápticos das diversas camadas que compões a rede, sejam elas densas ou convolucionais. Sendo assim, podem-se utilizar os mesmos procedimentos de otimização descritos na Subseção 3.2.1, adotando-se inclusive o gradiente descendente para otimizar a função de custo, que novamente deve ser escolhida de acordo com a tarefa a ser realizada. Durante o treinamento da CNNs, o algoritmo de back propagation é novamente aplicado propagando-se os dados do conjunto de treinamento até a sáıda, computando a função de custo e retropropagando o erro para que se possa otimizar os pesos sinápticos que compõem a rede. Embora camadas convolucionais sejam estruturalmente diferentes das 51 camadas densas, elas são ainda assim compostas fundamentalmente por pesos sinápticos, que podem ser otimizados com a finalidade de se reduzir a função de custo. O estudo e desenvolvimento de diferentes arquiteturas de CNNs tem sido responsável por gerar modelos cada vez mais sofisticados e eficientes, que baseiam-se em métricas comparativas para validar seu funcionamento frente a outros modelos. Uma das métricas mais utilizadas para análise de desempenho de CNNs é a classificação de imagens partindo de datasets pré definidos, que contam com centenas de milhares de imagens, como é o caso do ImageNet. Em particular, o dataset ImageNet é constrúıdo baseado em uma estrutura hierárquica que contém na ordem de 50 milhões de imagens rotuladas e divididas em categorias relacionadas. Partindo do dataset, duas métricas de avaliação de desempenho são comumente utilizadas: a top-5, que considera acerto caso o rótulo correto esteja entre as 5 opções mais prováveis apontadas pela rede, e a top-1, que considera somente classificações categoricamente corretas (DENG et al., 2009). Figura 15 – Desemprenho de alguns modelos de CNNs de acordo com o modelo de desem- penho top-1 baseado no dataset de validação ImageNet A Figura 15 apresenta o desempenho de algumas arquiteturas de CNNs no teste de classificação top-1 baseados no dataset ImageNet. Na imagem, o eixo horizontal representa a quantidade de parâmetros otimizáveis de cada arquitetura, que está diretamente relacionada ao custo computacional das diferentes CNNs para classificar as imagens. Dentre as opções apresentadas, a MobileNetV2 se apresenta como sendo um bom modelo a ser adotado devido ao tradeoff entre complexidade e desempenho. 52 3.3 Analise de componentes principais Assim como discutido, as camadas de pooling e de convolução auxiliam na ex- tração de padrões em conjuntos de dados de alta dimensionalidade, tais como imagens. Entretanto, em certas aplicações é ainda necessário utilizar mecanismos para redução de dimensionalidade. Neste contexto, a análise de componentes principais (PCA - principal component analysis) tem sido amplamente utilizada para esta finalidade, sendo tratada na literatura como uma ferramenta pertencente ao grupo de algoritmos de aprendizagem auto-organizada. Trata-se de um mecanismo não supervisionado que busca identificar padrões significativos em um determinado bloco de dados (HAYKIN, 2007). Considerando um dataset composto por dados de diferentes caracteŕısticas, o PCA mostra-se eficaz na tarefa de identificar parâmetros responsáveis pela maior variância do sistema, ou seja, as caracteŕısticas que são particularmente mais impactantes na sensibilidade dos dados de sáıda. Essas caracteŕısticas são descritas como combinações lineares dos parâmetros iniciais do bloco de dados (HAYKIN, 2007). A redução de dimensionalidade por meio do PCA considera, dentro do contexto da álgebra linear, os conceitos de autovalores e autovetores. Tem-se que a direção que concentra a maior variância de um sistema de dimensão n coincide com a de um dos n autovetores do sistema (ALPAYDIN, 2009), assim como exemplificado pelo gráfico da Figura 16. Figura 16 – Representação no plano cartesiano de um conjunto de dados com 2 parâmetros e seus respectivos autovetores e⃗1 e e⃗2. Partindo da representação gráfica da Figura 16, nota-se que a direção responsável pela maior variância dos dados coincide com a do autovetor e⃗1, e que portanto o sistema, 53 que inicialmente apresenta 2 caracteŕısticas (bidimensional), pode ser representado por uma curva unidimensional, ou seja, uma reta. O percentual da variância total nas direções de e⃗1 e e⃗2 pode ser calculada por meio da determinação dos respectivos autovalores, conforme a Equação 34. %PCi = λi∑ λj × 100 (34) sendo PCi a componente principal (PC - principal component) na direção do i-ésimo autovetor e λi o seu respectivo autovalor (ALPAYDIN, 2009). Embora não seja obrigatória, a aplicação do PCA para redução de dimensionalidade normalmente é subsequente à normalização dos dados. Para se obter os autovalores e autovetores de um determinado bloco de dados, é inicialmente necessário calcular a matriz de covariância, cujos elementos representam a relação de variabilidade entre os diferentes parâmetros do sistema (HAYKIN, 2007). Como exemplo, podemos considerar um dataset em que cada amostra possui informação de três parâmetros, representados por a, b e c. Neste caso, a matriz de covariância pode ser representada pela Equação 35: Σ =  var(a) cov(a, b) cov(a, c) cov(b, a) var(b) cov(b, c) cov(c, a) cov(c, b) var(c)  (35) em que var(a) é a variância do a-ésimo parâmetro e cov(a, b) a covariância amostral entre os parâmetros a e b, que para um bloco de n amostras é representada pela Equação 36. cov(x, y) = Σ(xi − x̄)(yi − ȳ) (n− 1) (36) Considerando uma matriz covariância Σ, sabe-se que a expressão que a relaciona aos autovalores λ e autovetores e⃗ é descrita pela Equação 36. A · e⃗ = λ · e⃗ (37) Desta forma, podem-se obter λ e e⃗ por meio das respectivas equações: 54 x 24681012y 0 2 4 6 8 10 12 14 z 2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 x 24681012y 0 2 4 6 8 10 12 14 z 2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 (a) (b) Figura 17 – (a) Representação de conjunto de dados com descritos pelos parâmetros x, z e z . (b) Representação do bloco de dados conjuntamente à curva de tendência das amostras. det(Σ− λI) = 0 (38) e (Σ− λI) · e⃗ = 0⃗ (39) sendo I a matriz identidade. Após a obtenção dos autovalores e autovetores de um conjunto de dados, o PCA possibilita a análise das componentes que possuem maior representatividade na variância total dos parâmetros. A aplicação de critérios para selecionar o número de componentes a serem consideradas seguida de uma transformação de base resulta na redução de dimensionalidade do problema (ALPAYDIN, 2009). Como exemplo, podemos considerar um conjunto de dados de 10.000 amostras com parâmetros x, y e z que seguem a tendência de uma curva parabólica, assim como apresentado na Figura 17. Por se tratar de uma cônica, a representação gráfica da parábola está necessariamente contida em um plano (bidimensional), que por sua vez é representado por uma base ortonormal cujos versores apontam na mesma direção dos dois autovetores mais representativos. Para este exemplo, aplicaremos o PCA após a normalização dos dados, assim como mostrado na Figura 18. Os dados originais são centralizados e padronizados de acordo com as seguintes equações: 55 x′ = x− µx σx (40) y′ = y − µy σy (41) z′ = z − µz σz (42) sendo µ e σ os valores médios e desvios de cada uma das respectivas componentes. A padronização é seguida da normalização, que se encarrega que limitar os valores em cada uma das componentes no intervalo de [0, 1]. Após calcular e analisar os autovalores e autovetores, apresentados na Tabelas 1, é posśıvel notar que a variância nas direções de e⃗1 e e⃗2 somadas correspondem a 99,63 % da variância total dos dados. Sendo assim, o PCA evidencia a possibilidade de redução da dimensionalidade do conjunto para uma base bidimensional. x y z Componente 0 5 10 15 Va lo r Original x y z Componente 7.5 5.0 2.5 0.0 2.5 5.0 7.5 Va lo r Centralizado (a) (b) x y z Componente 2 1 0 1 2 3 Va lo r Padronizado x y z Componente 0.0 0.2 0.4 0.6 0.8 1.0 Va lo r Normalizado (c) (d) Figura 18 – Representação gráfica do intervalo e variância das amostras nas direções x, y e z dos bloco de dados (a) original, (b) após centralização, (c) padronização e (d) e normalização. 56 Tabela 1 – Autovetores, autovalores e participação percentual das diferentes componentes na variância total dos dados de exemplo Autovetores Autovalores % na variância e⃗1 (-1.00000, -0.00037, 0.00272 ) 0.047281 25.10 e⃗2 (-0.00233, 0.63899, -0.76921 ) 0.140407 74.53 e⃗3 (0.00145, 0.76921, 0.63898 ) 0.000689 0.37 Tabela 2 – Versores da nova base (bidimensional) Versores das componentes principais −→ PC1 (-0.002332, 0.638990, -0.769211) −→ PC2 (-0.999996, -0.000371, 0.002723 ) x 24681012y 0 2 4 6 8 10 12 14 z 2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 2 0 2 4 6 8 10 PC1 12 10 8 6 4 2 PC 2 (a) (b) Figura 19 – Representação do conjunto de dados de exemplo nas bases (a) original (tridi- mensional) (b) e de dimensão reduzida (bidimensional). Neste exemplo, os versores −→ PC1 e −→ PC2 que compõem a nova base são então calculados e apresentados na Tabela 2. A Figura 19 apresenta uma comparação entre as representações dos dados de exemplo na base inicial (tridimensional) e na base nova (bidimensional). Neste caso a variância total do conjunto é similar em ambos os casos, uma vez que a componente desconsiderada (na direção de e⃗3) representa apenas 0,37 % da variância total. O presente exemplo demonstra que o PCA não somente possibilita a redução de dimensionalidade, mas também fornece ferramentas para análise de dispersão de dados. 57 Particularmente para este trabalho, estas ferramentas foram utilizadas para analisar a dispersão das estimativas de BER performadas por CNNs em direções associadas ao erro de predição. 58 4 Arranjo de simulação 4.1 Especificações técnicas do sistema de comunicação óptica considerado Para este trabalho, consideram-se inicialmente sistemas de comunicações ópticas coerentes digitais semelhantes ao mostrado no esquemático da Figura 1, com enlaces de diferentes comprimentos. Sendo assim, os sistemas representam redes de distribuição LR- PON de dupla polarização com mecanismos de compensação de rúıdo de fase e dispersão cromática por meio de DSP. As principais especificações técnicas dos sistemas considerados encontram-se descritas abaixo: • Comprimento: Enlaces single span de 80, 90, 100, 110, 120, 130, 140 e 150 km; • Taxa de transmissão: 50 Gbps por polarização, totalizando uma taxa de 100 Gbps no canal; • Largura de linha dos lasers: 100 kHz; • Formato de modulação: 16 QAM mapeado utilizando codificação de Gray; • Potência de transmissão (Launch optical power, LOP): De 0 a 13 dBm (passo de 1 dB) para cada um dos diferentes comprimentos de enlace; Os sistemas foram implementados computacionalmente no software VPI Trans- mission Maker e simulados considerando um total de 16284 śımbolos (65136 bits) para cada valor de potência especificado. Os śımbolos recebidos foram classificados por meio de detecção por máxima verossimilhança e os valores de BER estimados por meio de contagem de erros. 4.2 Especificações da arquitetura de rede convolucional, parâmetros de rotulação e treina- mento Com a finalidade de realizar a predição da BER em sistemas de comunicações ópticas com as especificações previamente apresentadas, propôs-se utilizar redes neurais convolucionais baseadas na arquitetura MobileNetV2 para regressão, considerando como entrada e sáıda histogramas de constelações de sinais detectadas no receptor e a estimativa da BER, respectivamente. A arquitetura de CNN conhecida como MobileNetV2 trata-se de um modelo composto por um total de 3.538.984 parâmetros otimizáveis. Esta arquitetura é majorita- 59 riamente composta por camadas convolucionais, contando apenas com uma camada de average pooling seguida de uma camada densa na sáıda. Ao longo de sua estrutura, são dispostas consecutivamente camadas convolucionais com kernels de dimensão 1×1 e 3×3, que somadas são responsáveis por 75,67% dos parâmetros otimizáveis da rede (HOWARD et al., 2017). Esta arquitetura de rede foi inicialmente proposta em 2017, apresentando desempenho de 0,713 e 0,901 nos testes top-1 e top-5 de classificação utilizando o dataset ImageNet, respectivamente. A performance obtida é similar à das redes VGG-16 e VGG-19, que possuem mais de 138 milhões de parâmetros otimizáveis (SIMONYAN; ZISSERMAN, 2014). Sendo assim, os principais motivos da escolha da MobileNetV2 foram o seu custo computacional reduzido, se comparado às principais arquiteturas de CNNs, e seu desempe- nho satisfatório em métricas formais comparativas para este tipo de algoritmo. Embora originalmente esta rede esteja associada a uma camada de entrada de dimensão 224×224×3, realizou-se uma redução no tamanho do tensor inicial para 128×128×3, uma vez que os histogramas de constelações processados teriam número de bins consideravelmente menores que as dimensões de entrada originais da rede (224). Esta redução por si só gerou uma diminuição na quantidade total de parâmetros da rede, que passou de 3.538.984 para um total de 2.259.265 pesos. Os modelos de CNNs foram implementados em linguagem python por meio das bibliotecas Keras e Tensorflow, amplamente utilizadas para a implementação de modelos dos mais diferentes tipos de redes neurais artificiais. A estrutura geral das redes Mobile- NetV2 original e modificada (de acordo com as caracteŕısticas apresentadas) podem ser analisadas nas tabelas em anexo, que apresentam cada uma das camadas que compõem a rede, bem como a dimensão de sáıda e quantidade de parâmetros que por camada. A análise de complexidade dos modelos será abordada após a discussão de resultados, na seção 5.5. Esta análise apresentará o custo computacional (quantidade operações de ponto flutuante) necessário para realizar uma estimativa de BER por meio do processamento de um histograma de constelação. 60 4.3 Especificações do bloco de d