Referência sobre arquitetura de redes neurais


(Bernardo Doré) #1

Olá pessoal,

quem pode recomendar, com base em experiência própria, uma boa referência para arquitetura de redes neurais? Pode ser livro, site, curso, desde que seja explicativo. Sem aleatoriedade do tipo “decidi usar uma LSTM para esse projeto” pois parece que o cara abriu uma gaveta e tirou uma NN de dentro.

Estou querendo saber o porquê das decisões e como tomar as decisões.

Obrigado!


(Christian S. Perone) #2

Oi @berdore, acho que a melhor referência para diferentes arquiteturas é o cs231n, mas ele é mais voltado para a parte de visão computacional. Não tem uma referência muito boa para diferentes arquiteturas hoje, e eu acho que isso se dá porque redes neurais são bem flexíveis e portanto podem assumir muitas variações. Tem o livro do Aaron Courville, Ian Goodfellow, e Yoshua Bengio chamado “Deep Learning” (que é gratuito), mas não cobre tantas arquiteturas. Acho que no fim o segredo é ir lendo sobre diversas arquiteturas, um plano bom é ter uma ordem com incremento de complexidade, como por exemplo: logistic regression -> single layer nn -> MLP -> RNN -> convolutional neural network (CNN) -> LSTMs, etc.
Eu fiz uma apresentação um tempo atrás com diversas arquiteturas (mas mais voltadas para visão computacional) se você tiver interesse.
O porquê das decisões geralmente depende muitos fatores da tarefa que você quer resolver, por exemplo: se aquele modelo se saiu bem para aquela tarefa no passado, o quê o modelo assume (todos assumem algo), se ele escala bem para teu volume de dados, etc. Para você começar a tomar decisões embasadas você vai ter que estudar e compreender bem os modelos. Acho que a melhor maneira é pegar problemas variados (Kaggle, ou algum dataset) e aplicar o que você vai aprendendo enquanto estuda teoria, assim se cria um bom mix entre teoria e prática e você vai ver que logo vai começar entender essa parte de modelagem.


(Bernardo Doré) #3

Valeu @christian.perone por lembrar do cs231n. Eu tinha feito a última versão do curso até o início de loss functions e achei bem didático, enfim, stanford né :wink:
Vou retomar e seguir, acho que vai ser legal.
O Deep Learning do Goodfellow eu comecei a ler e fiquei na parte introdutória, tava gostando mas acabei trocando por leituras mais prioritárias.
O caminho de soluções conhecidas para problemas conhecidos eu considerei porém acaba se aproximando muito de uma engenharia reversa, na minha opinião. Eu queria evitar fazer isso pois acho mais complicado. Acho que o caminho teórico do cs231n uma boa pedida. Sempre vai ter o contexto de um problema mas a parte inicial que fiz eu senti que o cara tava me ensinando a usar uma ferramenta e não me passando uma receita de bolo.
Valeu!