Tópicos Especiais em Estatística Comp.

Redes Neurais fully conected

Prof. Jodavid Ferreira

UFPE

Redes Neurais fully conected


  • Uma rede neural totalmente conectada, é um tipo de rede neural em que as camadas totalmente conectadas.

Essa estrutura lembra algo a vocês?

MLP - Multilayer Perceptron

Redes Neurais fully conected



  • Uma camada estar totalmente conectada é uma função de \(\mathbf{X} \in \mathbb{R}^{n \times d}\) que é a matriz de valores de entrada com \(n\) observações e \(d\) variáveis (features) para \(\mathbf{O} \in \mathbb{R}^{n \times q}\) que é a matriz de valores de saída com \(n\) observações e \(q\) dimensão da saída.


  • Cada dimensão de uma camada de saída depende de cada dimensão de uma camada entrada. Nesse tipo de arquitetura, uma camada está totalmente conectada a seguinte como mostrado na figura a seguir.

Redes Neurais fully conected



  • Um MLP ou Rede Neural fully conected de uma camada oculta com \(h\) neurônios na camada oculta pode ser representada por \(\mathbf{H} \in \mathbb{R}^{n \times h}\), em que \(\mathbf{H}\) também é conhecido como uma variável de camada oculta ou uma variável oculta.

  • Uma vez que as camadas ocultas e de saída estão totalmente conectadas, temos pesos de camada oculta \(\mathbf{W}^{(1)} \in \mathbb{R}^{d \times h}\) e viés \(\mathbf{b}^{(1)} \in \mathbb{R}^{1 \times h}\) e pesos da camada de saída \(\mathbf{W}^{(2)} \in \mathbb{R}^{h \times q}\) com viés \(\mathbf{b}^{(2)} \in \mathbb{R}^{1 \times q}\), sendo \(q\) a dimensão de saída, por exemplo, em um problema de classificação é a quantidade de classes, em um problema de regressão \(q = 1\).

Redes Neurais fully conected



  • Formalmente, calculamos as saídas \(\mathbf{O} \in \mathbb{R}^{n \times q}\) do MLP de uma camada oculta da seguinte maneira:
\[\begin{split}\begin{aligned} \mathbf{H} & = \sigma(\mathbf{X} \mathbf{W}^{(1)} + \mathbf{b}^{(1)}), \\ \mathbf{O} & = \mathbf{H}\mathbf{W}^{(2)} + \mathbf{b}^{(2)},\\ \end{aligned}\end{split}\]

em que \(\sigma(\cdot)\) é a função de ativação e \(\mathbf{X} \in \mathbb{R}^{n \times d}\) é matriz de valores de entrada com \(n\) observações e \(d\) variáveis (features).

  • Para construir MLPs mais gerais, podemos continuar empilhando tais camadas escondidas, por exemplo, \(\mathbf{H}^{(1)} = \sigma_1(\mathbf{X} \mathbf{W}^{(1)} + \mathbf{b}^{(1)})\) e \(\mathbf{H}^{(2)} = \sigma_2(\mathbf{H}^{(1)} \mathbf{W}^{(2)} + \mathbf{b}^{(2)})\), uma sobre a outra, rendendo modelos cada vez mais expressivos.

Redes Neurais fully conected



  • A diferença entre uma rede neural fully conected e uma MLP (Multilayer Perceptron) é apenas questão de nomenclatura, pois uma MLP também é uma rede neural fully conected.
  • Podemos ter em geral 3 tipos de saídas de uma rede neural fully conected:

    • Classificação Binária: utiliza-se a função sigmóide como função de ativação na última camada e a função de perda entropia cruzada.

    • Classificação Multiclasse: utiliza-se a função softmax como função de ativação na última camada e a função de perda entropia cruzada.

    • Regressão: utiliza-se a função identidade como função de ativação na última camada e a função de perda erro quadrático médio (MSE).

Redes Neurais fully conected



Redes Neurais fully conected


Vamos ter uma aula para falar sobre funções de erro, mas como foi mencionado anteriormente e vamos utilizar posteriormente em python, vamos entender um breve conceito sobre cada um deles:

  • Entropia Cruzada: é uma função de perda comum para problemas de classificação binária, que mede a diferença entre duas distribuições de probabilidade. Como os valores nesse caso são binários, essa distribuição de probabilidade é uma distribuição de Bernoulli.
  • Entropia Cruzada Categórica: é uma extensão da entropia cruzada que é usada para problemas de classificação multiclasse. Nesse caso é utilizado a distribuição de probabilidade multinomial.
  • Erro Quadrático Médio (MSE): é a média dos quadrados dos erros. O erro é a diferença entre o valor previsto e o valor real. Quanto menor o erro, melhor o modelo.

Redes Neurais fully conected







Vamos executar cada um deles no python

Referências para serem utilizadas



BRAGA, A. P.; CARVALHO, A.; LUDEMIR, T. Redes Neurais Artificiais: Teoria e Aplicações. .: [s.n.], 2000.

HOPFWELD, J. J. Neural networks and physical systems with emergent collective computational abilities. Proc. NatL Acad. Sci., v. 79, p. 2554–2558, 1982.

LUDWIG, O.; MONTGOMERY, E. Redes Neurais - Fundamentos e Aplicações com Programas em C. .: Ciência Moderna, 2007.

MINSKY, M.; PAPERT, S. Perceptrons: an introduction to computationational geometry. [S.l.]: MIT Press, 1969.

PINHEIRO, C. A. R. Inteligência Analítica: Mineração de Dados e Descoberta de Conhecimento. .: [s.n.], 2008.

RICH, E.; KNIGHT, K. Inteligência Artificial. .: [s.n.], 1993.

ROSENBLATT, F. Principles of Neurodynamics: Perceptrons and Theory of Brain Mechanisms. .: Washigton, DC, 1962.




OBRIGADO!


Slide produzido com quarto