Qual é a diferença entre “aprendizado profundo” e modelagem multinível / hierárquica?

31

"Aprendizado profundo" é apenas outro termo para modelagem multinível / hierárquica?

Estou muito mais familiarizado com o último que com o primeiro, mas, pelo que posso dizer, a principal diferença não está na definição deles, mas como eles são usados ​​e avaliados dentro do domínio do aplicativo.

Parece que o número de nós em um aplicativo típico de "aprendizado profundo" é maior e usa uma forma hierárquica genérica, enquanto os aplicativos de modelagem multinível geralmente usam relacionamentos hierárquicos que imitam o processo generativo que está sendo modelado. O uso de uma hierarquia genérica em um domínio estatístico aplicado (modelagem hierárquica) seria considerado um modelo "incorreto" dos fenômenos, enquanto a modelagem de uma hierarquia específica de domínio pode ser considerada uma subversão do objetivo de criar uma máquina genérica de aprendizado profundo.

Essas duas coisas são realmente a mesma maquinaria sob dois nomes diferentes, usados ​​de duas maneiras diferentes?

user4733
fonte

Respostas:

38

Semelhança

Fundamentalmente, os dois tipos de algoritmos foram desenvolvidos para responder a uma pergunta geral em aplicativos de aprendizado de máquina:

x1,x2,,xp

xp+1=x1x2,xp+2=x1x3,

Os algoritmos de modelagem multinível e Deep Learning respondem a essa pergunta introduzindo um modelo de interações muito mais inteligente. E deste ponto de vista eles são muito semelhantes.

Diferença

Agora, deixe-me tentar entender o que é a grande diferença conceitual entre eles. Para dar uma explicação, vamos ver as suposições que fazemos em cada um dos modelos:

1

2

A diferença fundamental vem da frase "a estrutura das interações não é conhecida" no Deep Learning. Podemos assumir alguns antecedentes sobre o tipo de interação, mas o algoritmo define todas as interações durante o procedimento de aprendizado. Por outro lado, temos que definir a estrutura de interações para modelagem multinível (aprendemos a variar apenas os parâmetros do modelo posteriormente).

Exemplos

x1,x2,x3{x1}{x2,x3} como camadas diferentes.

x1x2x1x3x2x3

No aprendizado profundo, por exemplo, em máquinas Restricted Boltzmann de várias camadas ( RBM ) com duas camadas ocultas e função de ativação linear, teremos todas as interações polinomiais possíveis com um grau menor ou igual a três.

Vantagens e desvantagens comuns

Modelagem multinível

(-) precisa definir a estrutura das interações

(+) os resultados geralmente são mais fáceis de interpretar

(+) pode aplicar métodos estatísticos (avaliar intervalos de confiança, verificar hipóteses)

Aprendizagem profunda

(-) requer uma enorme quantidade de dados para treinar (e também tempo para o treinamento)

(-) os resultados geralmente são impossíveis de interpretar (fornecidos como uma caixa preta)

(+) não é necessário conhecimento especializado

(+) uma vez bem treinado, geralmente supera a maioria dos outros métodos gerais (não específicos da aplicação)

Espero que ajude!

Dmitry Laptev
fonte
Por que uma rede neural profunda exige uma enorme quantidade de dados para treinar? Eu nunca ouvi falar disso antes.
Jase
1
As redes Neural @Jase geralmente têm muitos parâmetros; portanto, em muitos casos, se você usar um pequeno conjunto de dados, provavelmente irá se super-ajustar. Obviamente, tudo depende da tarefa, mas a maioria dos resultados mais impressionantes da NN atualmente usa conjuntos de dados extremamente grandes.
Dmitry Laptev
Concordei que os resultados impressionantes estão em enormes conjuntos de dados, mas não tenho certeza de que não possamos usar o abandono e outros truques para generalizar bem a partir de pequenos conjuntos de dados.
Jase
1
@Jase Claro, existem diferentes heurísticas que você pode usar. Mas, de acordo com minha experiência com o processamento de imagens, quase todos eles introduzem alguma regularização, o que é basicamente equivalente à introdução de algum viés anterior e, portanto, parcial. O que nem sempre é o que você deseja.
Dmitry Laptev
Presumivelmente, você não precisa definir a estrutura das interações se usar parâmetros não-paramétricos, por exemplo, um Dirichlet hierárquico anterior.
Astrid
2

Enquanto essa pergunta / resposta já existe há algum tempo, achei que poderia ser útil esclarecer alguns pontos da resposta. Primeiro, a frase levantada como uma grande distinção entre métodos hierárquicos e redes neurais profundas 'Esta rede é fixa'. está incorreto. Os métodos hierárquicos não são mais "fixos" do que as redes neurais alternativas. Veja, por exemplo, o artigo Deep Learning with Hierarchical Factor Convolutional Analysis, Chen et. al.. Eu acho que você também descobrirá que o requisito para definir interações também não é mais um ponto distintivo. Alguns pontos que não são listados como um plus com a modelagem hierárquica são, pela minha experiência, o problema significativamente reduzido de sobreajuste e a capacidade de lidar com conjuntos de treinamento muito grandes e muito pequenos. Um ponto importante é que, quando métodos hierárquicos bayesianos são usados, os intervalos de confiança e o teste de hipóteses geralmente não são métodos estatísticos que seriam aplicados.

Aengus
fonte