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:
- Viés
- 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!
fonte
Respostas:
Matematicamente falando. Imagine que você é um modelo (não, não, esse tipo, figura 8)
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
fonte
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.
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.
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:
e isto:
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".
fonte
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.
fonte