Uma rede neural pode calcular

12

No espírito da famosa piada Tensorflow Fizz Buzz e do problema XOr , comecei a pensar, se é possível projetar uma rede neural que implemente a função y=x2 ?

Dada alguma representação de um número (por exemplo, como um vetor em forma binária, para que esse número 5seja representado como [1,0,1,0,0,0,0,...]), a rede neural deve aprender a retornar seu quadrado - 25 neste caso.

Se eu pudesse implementar y=x2 , provavelmente poderia implementar y=x3 e geralmente qualquer polinômio de x, e com a série Taylor eu poderia aproximar y=sin(x) , o que resolveria o problema do Fizz Buzz - uma rede neural que pode encontrar o restante da divisão.

Claramente, apenas a parte linear dos NNs não será capaz de executar esta tarefa; portanto, se pudéssemos fazer a multiplicação, isso aconteceria graças à função de ativação.

Você pode sugerir alguma idéia ou leitura sobre o assunto?

Boris Burkov
fonte

Respostas:

10

As redes neurais também são chamadas de aproximação de função universal, baseada no teorema da aproximação de função universal . Afirma que:

Na teoria matemática das redes neurais artificiais, o teorema da aproximação universal afirma que uma rede feed-forward com uma única camada oculta contendo um número finito de neurônios pode aproximar funções contínuas em subconjuntos compactos de Rn, sob suposições suaves sobre a função de ativação

Significando que uma RNA com uma função de ativação não linear pode mapear a função que relaciona a entrada com a saída. A função y=x2 pode ser facilmente aproximada usando a RNA de regressão.

Você pode encontrar uma excelente lição aqui com um exemplo de caderno.

Além disso, devido a essa capacidade, a ANN poderia mapear relacionamentos complexos, por exemplo, entre uma imagem e seus rótulos.

Shubham Panchal
fonte
2
Muito obrigado, é exatamente isso que eu estava pedindo!
Boris Burkov 22/03/19
4
Embora seja verdade, é uma péssima idéia aprender isso. Não vejo de onde surgiria qualquer poder de generalização. NN brilha quando há algo para generalizar. Como a CNN para visão que captura padrões, ou RNN que pode capturar tendências.
Jeffrey apoia Monica
14

f(x)=x2Rn

RnRnxf(x)=x2Rf(x)=x2xR

sin(x)x=0x10000

MachineLearner
fonte
3
Boa pegada! "conjunto compacto".
Esmailian 22/03/19
2
Muito obrigado, companheiro! Olhos abertos!
Boris Burkov 22/03/19