Embeddings

Um embedding é um espaço relativamente baixo em que é possível transformar vetores de alta dimensão. Com os embeddings, é mais fácil fazer o machine learning em entradas grandes, como vetores esparsos que representam palavras. O ideal é que um embedding capture algumas das semânticas da entrada colocando-as semanticamente semelhantes no espaço de embedding. Um embedding pode ser aprendizado e reutilizado em vários modelos.

Embeddings

  • Entrada: 1 milhão de filmes que 500 mil usuários escolheram assistir.
  • Tarefa: recomendar filmes para os usuários

Para solucionar esse problema, vamos adotar um método para determinar quais filmes são semelhantes entre si.

Uma lista de filmes ordenados em uma única linha da esquerda para a direita. Começando com a esquerda, 'Shrek', 'The Incredibles', 'The Triplets of Belleville', 'Harry Potter', 'Star Wars', 'Bleu',##9;' ' ' ' ' ' ' ' ' ' ' '

A mesma lista de filmes no slide anterior, mas organizada em duas dimensões. Por exemplo, 'Shrek' está à esquerda e acima de 'Os Incríveis

Semelhante ao diagrama anterior, mas com eixo e identificadores para cada quadrante. A organização dos filmes é a seguinte: no primeiro quadrante superior direito, são os blockbusters para adultos contendo 'Star Wars' 'The Dark Knight Rises' com os filmes 'Hero' e 'Cruching Tiger, Hidden Dragon' foram adicionados ao quadrante adulto. O segundo quadrante, inferior direito, é o Adult Arthouse, que contém os filmes 'Bleu' e 'Memento' com 'Waking Life' adicionado ao quadrante Adult Arthouse. O terceiro quadrante inferior esquerdo é Children Arthouse e contém o filme 'As Bicicletas de Belleville' e 'Wallace e Gromit' são adicionados ao quadrante Children Arthouse. O quarto e último quadrante no canto superior esquerdo são os blockbusters infantis que incluem 'Shrek', 'Os Incríveis' e 'Harry Potter' e o filme 'Escola de Rock' é adicionado ao quadrante Infantil.

A mesma organização do último slide. 'Shrek' e 'Bleu' são destacados como exemplos de coordenadas no plano de incorporação 2D.

  • Supõe que o interesse do usuário em filmes pode ser explicado de forma aproximada por d aspectos
  • Cada filme se torna um ponto d-dimensional em que o valor na dimensão d representa o quanto o filme se encaixa nesse aspecto
  • Embeddings podem ser aprendidos com dados
  • Nenhum processo de treinamento separado necessário. A camada de embedding é apenas uma camada escondida com uma unidade por dimensão
  • As informações supervisionadas (por exemplo, usuários assistem aos mesmos dois filmes) ajustam os embeddings aprendidos para a tarefa desejada
  • As unidades ocultas descobrem como organizar os itens no espaço d-dimensional de modo a otimizar melhor o objetivo final
  • Cada exemplo (uma linha nesta matriz) é um vetor esparso de recursos (filmes) que foram assistidos pelo usuário
  • Representação densa desse exemplo como: (0, 1, 0, 1, 0, 0, 0, 1)

Eles não são eficientes em termos de espaço e tempo.

Uma tabela em que cada cabeçalho de coluna é um filme, e cada linha representa um usuário e os filmes que ele assistiu.
  • Crie um dicionário que mapeie cada atributo para um número inteiro de 0, ..., # filmes - 1
  • Representa o vetor esparso de maneira eficiente como apenas os filmes que o usuário assistiu. Isso pode ser representado como: Com base na posição da coluna de filmes no vetor esparso exibido à direita, os filmes 'As Bicicletas de Belleville', 'Wallace e Gromit' e 'Memento' podem ser representados de maneira eficiente como (0,1, 999999)
Um vetor esparso representado como uma tabela, em que cada coluna representa um usuário e cada linha representa um usuário. A tabela contém os filmes dos diagramas anteriores e foi numerada de 1 a 999.999. Cada célula da tabela será verificada se um usuário tiver assistido a um filme.

Problema de regressão para prever preços de vendas domésticas:

Um diagrama de uma rede neural profunda usada para prever preços de vendas domésticas

Problema de regressão para prever preços de vendas domésticas:

Um diagrama de uma rede neural profunda usada para prever preços de vendas domésticas
  (a codificação vetorial esparsa destacada)

Problema de regressão para prever preços de vendas domésticas:

Um diagrama de uma rede neural profunda usada para prever preços de venda doméstica
 (camada de embedding tridimensional oculta destacada)

Problema de regressão para prever preços de vendas domésticas:

Um diagrama de uma rede neural profunda usada para prever preços de venda doméstica
 (recursos adicionais de entrada de latitude e longitude destacados)

Problema de regressão para prever preços de vendas domésticas:

Um diagrama de uma rede neural profunda usada para prever preços de vendas domésticas
  (atributos de entrada sendo alimentados em várias camadas ocultas em destaque)

Problema de regressão para prever preços de vendas domésticas:

Um diagrama de uma rede neural profunda usada para prever preços de venda caseira
  (saída da rede neural profunda destacada)

Classificação multiclasse para prever um dígito escrito à mão:

Diagrama de uma rede neural profunda usada para prever dígitos escritos à mão

Classificação multiclasse para prever um dígito escrito à mão:

Diagrama de uma rede neural profunda usada para prever dígitos escritos à mão
  (a codificação vetorial de entrada esparsa destacada)

Classificação multiclasse para prever um dígito escrito à mão:

Diagrama de uma rede neural profunda usada para prever dígitos escritos à mão
  (outros recursos destacados)

Classificação multiclasse para prever um dígito escrito à mão:

Diagrama de uma rede neural profunda usada para prever dígitos escritos à mão
  (incorporação tridimensional destacada)

Classificação multiclasse para prever um dígito escrito à mão:

Diagrama de uma rede neural profunda usada para prever dígitos escritos à mão
  (camadas ocultas destacadas)

Classificação multiclasse para prever um dígito escrito à mão:

Diagrama de uma rede neural profunda usada para prever dígitos manuscritos
  (camada de lógica destacada)

Classificação multiclasse para prever um dígito escrito à mão:

Diagrama de uma rede neural profunda usada para prever dígitos escritos à mão
  (camada de classe de destino destacada)

Filtragem colaborativa para prever filmes para recomendar:

Diagrama de uma rede neural profunda usada para prever quais filmes recomendar

Filtragem colaborativa para prever filmes para recomendar:

Diagrama de uma rede neural profunda usada para prever quais filmes recomendar
 (camada de classe de destino destacada)

Filtragem colaborativa para prever filmes para recomendar:

Diagrama de uma rede neural profunda usada para prever quais filmes recomendar
 (codificação de vetor esparsa destacada)

Filtragem colaborativa para prever filmes para recomendar:

Diagrama de uma rede neural profunda usada para prever quais filmes recomendar
 (incorporação tridimensional destacada)

Filtragem colaborativa para prever filmes para recomendar:

Diagrama de uma rede neural profunda usada para prever quais filmes recomendar
 (outros recursos destacados)

Filtragem colaborativa para prever filmes para recomendar:

Diagrama de uma rede neural profunda usada para prever quais filmes recomendar
 (camadas ocultas destacadas)

Filtragem colaborativa para prever filmes para recomendar:

Diagrama de uma rede neural profunda usada para prever quais filmes serão recomendados
 (camada de lógica destacada)

Rede profunda

  • Cada uma das unidades ocultas corresponde a uma dimensão (recurso atrasado)
  • Os pesos de borda entre um filme e uma camada escondida são valores de coordenadas
  • Um diagrama de árvore de uma rede neural profunda com nós na camada mais inferior conectada a três pontos na próxima camada superior

Visualização geométrica de uma única incorporação de filme

Um ponto em espaço tridimensional correspondente ao nó de camada inferior no desagrado de rede neural profunda.
  • Os embeddings de dimensões mais altas representam com mais precisão as relações entre os valores de entrada
  • Mas mais dimensões aumentam a chance de overfitting e dificultam o treinamento.
  • Regra de ouro empírica (um bom ponto de partida, mas deve ser ajustado usando os dados de validação):
  • $$ dimensions \approx \sqrt[4]{possible\;values} $$
  • Os embeddings mapeiam itens (por exemplo, filmes, texto, etc.) em vetores reais de baixa dimensão de maneira que itens semelhantes fiquem próximos uns dos outros
  • Embeddings também podem ser aplicadas a dados densos (por exemplo, áudio) para criar uma métrica de semelhança significativa
  • A incorporação conjunta de vários tipos de dados (por exemplo, texto, imagens, áudio etc.) define uma semelhança entre eles