Considere o código python a seguir.Sobre a variável pred, é correto afirmar que:
Aseus gradientes foram preparados para a retropropagação;
Bseus valores, quando somados, resultam em 1.0;
Csua dimensão é 50;
Dseus valores serão os mesmos para qualquer execução do código;
Esua dimensão é 1.
Revelar gabarito e comentário▾
GabaritoB — seus valores, quando somados, resultam em 1.0;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Distribuição de Probabilidade em Python (softmax)
Gabarito: letra B. A variável pred é o resultado de uma função de ativação softmax, que transforma um vetor de valores reais em um vetor de probabilidades, onde cada valor está entre 0 e 1 e a soma de todos os valores é exatamente 1.0. Essa é a propriedade fundamental da softmax, amplamente utilizada em problemas de classificação em aprendizado de máquina.
A função softmax é uma generalização da função logística para múltiplas classes. Dado um vetor de entrada , a softmax calcula a probabilidade de cada classe como:
O denominador é a soma das exponenciais de todos os elementos do vetor, o que garante que a soma de todas as probabilidades de saída seja igual a 1. Isso é essencial para interpretar as saídas como uma distribuição de probabilidade sobre as classes possíveis. Por exemplo, em um problema de classificação de imagens com 10 classes (dígitos de 0 a 9), a softmax produz um vetor de 10 valores, cada um representando a probabilidade da imagem pertencer àquela classe, e a soma dessas probabilidades é 1.0.
A alternativa B está correta porque descreve exatamente essa propriedade da softmax. As demais alternativas apresentam características que não se aplicam a uma saída de softmax: ela não prepara gradientes para retropropagação (isso é feito pelo otimizador), sua dimensão não é fixa (depende do número de classes), seus valores não são determinísticos (dependem da entrada e dos pesos do modelo) e sua dimensão não é 1 (é um vetor).
A pegadinha desta questão está em reconhecer que pred é uma saída de softmax, e não um tensor qualquer. A banca explora a confusão entre as propriedades de um tensor comum e as propriedades específicas de uma distribuição de probabilidade. O candidato que não conhece a softmax pode marcar a alternativa A, pensando que qualquer tensor em um modelo de aprendizado de máquina tem gradientes preparados, ou a alternativa C, confundindo a dimensão com o número de classes.
Softmax: Propriedade fundamental (Soma dos valores = 1.0, Valores entre 0 e 1); Fórmula (e^zi / soma(e^zj)); Dimensão (= número de classes, Não é fixa); Dependência (Entrada do modelo, Pesos do modelo)
Alternativa A — ❌ Incorreta
A alternativa afirma que os gradientes de pred foram preparados para a retropropagação. Isso não é uma propriedade da variável em si, mas sim do processo de treinamento. A retropropagação calcula os gradientes da função de perda em relação aos pesos do modelo, e isso é feito pelo otimizador (como SGD ou Adam) durante o treinamento. A variável pred é apenas a saída da softmax; ela não tem gradientes "preparados" automaticamente. A confusão aqui é entre a saída de uma camada e o mecanismo de treinamento.
Alternativa B — ✅ Correta ⟵ GABARITO
A alternativa está correta porque a softmax garante que a soma de todos os elementos do vetor de saída seja igual a 1.0. Isso é uma propriedade matemática da função, que divide cada exponencial pela soma de todas as exponenciais. Essa propriedade é o que permite interpretar a saída como uma distribuição de probabilidade sobre as classes.
Alternativa C — ❌ Incorreta
A alternativa afirma que a dimensão de pred é 50. Isso não é necessariamente verdade, pois a dimensão da saída da softmax é igual ao número de classes do problema de classificação. Se o problema tem 10 classes, a dimensão é 10; se tem 50, a dimensão é 50. A dimensão não é uma propriedade fixa da softmax, mas sim do problema específico. A alternativa confunde a dimensão do vetor com o número de classes, que pode variar.
Alternativa D — ❌ Incorreta
A alternativa afirma que os valores de pred serão os mesmos para qualquer execução do código. Isso é falso, pois a saída da softmax depende da entrada do modelo, que pode variar. Se o modelo é treinado com pesos aleatórios ou se a entrada é diferente, os valores de pred serão diferentes. A alternativa confunde a saída de um modelo com uma constante, ignorando a dependência dos dados de entrada e dos parâmetros do modelo.
Alternativa E — ❌ Incorreta
A alternativa afirma que a dimensão de pred é 1. Isso é falso, pois a softmax produz um vetor de probabilidades, cuja dimensão é igual ao número de classes. Se houver apenas uma classe, a dimensão seria 1, mas isso é um caso específico e não a regra geral. A alternativa confunde a saída de uma softmax com um escalar, ignorando que ela produz uma distribuição sobre múltiplas classes.