Qual é o peso e o viés na aprendizagem profunda?

16

Estou começando a aprender Machine learning no site da Tensorflow. Eu desenvolvi uma compreensão muito rudimentar do fluxo que um programa de aprendizado profundo segue (esse método me faz aprender rápido, em vez de ler livros e grandes artigos).

Existem algumas coisas confusas que me deparei, duas delas são:

  1. Viés
  2. Peso

No tutorial do MNIST no site tensorflow, eles mencionaram que precisamos de viés e peso para encontrar a evidência da existência de um padrão específico em uma imagem. O que não entendo é onde e como são determinados os valores de Viés e Peso?

Temos que fornecer esses valores ou a biblioteca TensorFlow calcula esses valores automaticamente com base no conjunto de dados de treinamento?

Além disso, se você pudesse fornecer algumas sugestões sobre como acelerar meu ritmo no aprendizado profundo, isso seria ótimo!

Tutorial para iniciantes do Tensorflow

Umer Farooq
fonte
3
Como parâmetros de um modelo estatístico , eles são aprendidos ou estimados minimizando uma função de perda que depende dos seus dados. E é disso que se trata o aprendizado de máquina. Você fará muitas perguntas se seguir este método pedagógico. Sugiro fazer um MOOC como o do Coursera para que você possa aprender as coisas em uma ordem sensata.
Emre
Isso é muito básico, então você deve fazer um curso como o @Emre sugerido.
SmallChess

Respostas:

11

Matematicamente falando. Imagine que você é um modelo (não, não, esse tipo, figura 8)

Y=WX+nEugerEuuman

Então o que você entende? Tendencioso é essa pré-suposição em um modelo como você.

Quanto ao peso, logicamente falando, o peso é o seu gradiente (a em álgebra linear),

O que é gradiente? , é a inclinação da função Linear.

O que torna o gradiente linear muito acentuado (alto valor positivo)?

Isso ocorre porque pequenas alterações em X (entrada) causam grandes diferenças no eixo Y (saída). Então você (não é mais um modelo, mas um matemático brilhante (seu alter ego)) ou seu computador tenta encontrar esse gradiente, que você pode chamar de peso. A diferença é que você usa um livro de lápis e gráfico para encontrar isso, mas a caixa preta faz o Magic eletrônico com registros.

No processo de aprendizado de máquina, o computador ou você tenta desenhar muitas linhas retas ou funções lineares nos pontos de dados,

Por que você tenta desenhar muitas linhas retas?

Porque no seu livro de gráficos / na memória do computador, você está tentando ver a linha que se encaixa adequadamente.

Como eu ou a Computer conhecemos a linha que se encaixa adequadamente?

Na minha escola secundária, fui ensinado a desenhar uma linha entre os pontos de dados, verificando visualmente a linha que corta perfeitamente no meio de todos os pontos de dados. . Mas, como no computador, ele tenta o desvio padrão e a variação de cada linha em direção aos pontos de dados. A linha com o menor desvio (às vezes chamará de função de erro) é escolhida.

Legal! então e o que acontece

O gradiente dessa linha é calculado, digamos que o peso do problema de aprendizagem seja calculado

esse é o Aprendizado de Máquina em sua compreensão básica e um gráfico de plotagem de alunos do ensino médio em seu Gráfico

Declan
fonte
10

Concordo com os comentários da sua pergunta de que você deveria procurar um curso, talvez o Machine Learning on Coursera , de Andrew Ng , que é um curso introdutório gratuito e altamente considerado. Essa é uma pergunta básica sobre os fundamentos do aprendizado de máquina. Como tal, não estou cobrindo a matemática nesta resposta, você pode obtê-la de vários lugares, incluindo o curso.

onde e como são determinados os valores de viés e peso?

Pesos e vieses são os parâmetros aprendíveis do seu modelo. Assim como as redes neurais, elas aparecem com os mesmos nomes em modelos relacionados, como regressão linear. A maioria dos algoritmos de aprendizado de máquina inclui alguns parâmetros aprendíveis como este.

Os valores desses parâmetros antes do início do aprendizado são inicializados aleatoriamente (isso impede que todos converjam para um único valor). Então, quando apresentados com dados durante o treinamento, eles são ajustados para valores com saída correta.

Temos que fornecer esses valores ou a biblioteca TensorFlow calcula esses valores automaticamente com base no conjunto de dados de treinamento?

Você não precisa fornecer valores antes do treinamento, embora possa decidir coisas como quantos parâmetros devem existir (em redes neurais controladas pelo tamanho de cada camada). O TensorFlow calcula os valores automaticamente, durante o treinamento. Quando você tem um modelo já treinado e deseja reutilizá-lo, defina os valores diretamente, por exemplo, carregando-os do arquivo.

O código específico que lida com alterações de pesos e preconceitos do tutorial é este:

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

e isto:

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

A primeira linha define como os pesos e valores serão alterados. Você pode ler isso quase literalmente como "defina uma função de treinamento que use o otimizador de descida de gradiente para reduzir a entropia cruzada dos dados fornecidos".

yx

Neil Slater
fonte
8

Peso - Peso é a força da conexão. Se eu aumentar a entrada, quanta influência ela tem na saída.

Pesos próximos a zero significam que alterar esta entrada não altera a saída. Muitos algoritmos definirão automaticamente esses pesos para zero, a fim de simplificar a rede.

Viés - como significa quão longe nossas previsões estão dos valores reais. Geralmente, os algoritmos paramétricos têm um alto viés, tornando-os rápidos para aprender e mais fáceis de entender, mas geralmente menos flexíveis. Por sua vez, eles têm desempenho preditivo mais baixo em problemas complexos que não atendem às suposições simplificadoras do viés dos algoritmos.

Viés baixo : sugere mais suposições sobre a forma da função de destino.

Bia alta : sugere menos suposições sobre a forma da função de destino.

Abhishek Sharma
fonte
2
O OP estava perguntando sobre o parâmetro de viés em uma rede neural. Suas definições de viés estão corretas, mas não responda à pergunta.
Neil Slater